:root{--primary-hue:154;--primary-sat:48%;--primary-light:18%;--primary:hsl(var(--primary-hue), var(--primary-sat), var(--primary-light));--primary-hover:hsl(var(--primary-hue), var(--primary-sat), 25%);--primary-light-rgba:#183d2e14;--accent-hue:38;--accent-sat:90%;--accent-light:52%;--accent:hsl(var(--accent-hue), var(--accent-sat), var(--accent-light));--accent-hover:hsl(var(--accent-hue), var(--accent-sat), 45%);--accent-light-rgba:#f59e0b1a;--text-dark:#121814;--text-muted:#5c6962;--bg-light:#f7f9f8;--bg-card:#fff;--border-light:#183d2e1f;--border-focus:hsl(var(--primary-hue), var(--primary-sat), 45%);--shadow-sm:0 2px 4px #00000005;--shadow-md:0 8px 24px #183d2e0f;--shadow-lg:0 16px 40px #183d2e1f;--font-sans:"Inter", sans-serif;--font-heading:"Outfit", sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-normal:.3s cubic-bezier(.16, 1, .3, 1);--transition-slow:.5s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--bg-light:#0d120f;--bg-card:#151c18;--text-dark:#f0f4f2;--text-muted:#8ea196;--border-light:#f0f4f21a;--primary-light:45%;--primary:hsl(var(--primary-hue), var(--primary-sat), var(--primary-light));--primary-hover:hsl(var(--primary-hue), var(--primary-sat), 55%);--primary-light-rgba:#f0f4f20f;--shadow-md:0 8px 30px #0000004d;--shadow-lg:0 16px 50px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-light);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-light)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.25}h1{letter-spacing:-.03em;font-size:3rem}h2{letter-spacing:-.02em;font-size:2.25rem}h3{font-size:1.5rem}p{color:var(--text-muted);font-size:1rem}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-grow:1;padding-bottom:4rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.btn{font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px #183d2e33}.btn-accent{background-color:var(--accent);color:#121814}.btn-accent:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b4d}.btn-secondary{border-color:var(--border-light);color:var(--text-dark);background-color:#0000}.btn-secondary:hover{background-color:var(--primary-light-rgba);border-color:var(--primary)}.btn-text{color:var(--primary);background-color:#0000;padding:8px 12px}.btn-text:hover{color:var(--primary-hover);background-color:var(--primary-light-rgba)}.btn:active{transform:translateY(0)}.form-group{margin-bottom:20px}.form-label{font-family:var(--font-heading);color:var(--text-dark);margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.form-input,.form-textarea,.form-select{border-radius:var(--radius-sm);border:1px solid var(--border-light);background-color:var(--bg-card);width:100%;color:var(--text-dark);font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:12px 16px;font-size:1rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #183d2e26}.form-textarea{resize:vertical;min-height:120px}.card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal);padding:24px}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.glass{-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #fff3}[data-theme=dark] .glass{background:#151c18b3;border:1px solid #ffffff0d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 15px 5px #f59e0b33}}.animate-fade{animation:fadeIn var(--transition-normal) forwards}.animate-slide{animation:slideUp var(--transition-normal) forwards}.animate-scale{animation:scaleIn var(--transition-normal) forwards}.glow-pulse{animation:2s ease-in-out infinite pulseGlow}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-sale{background-color:var(--accent-light-rgba);color:#c27803}.badge-rent{background-color:var(--primary-light-rgba);color:var(--primary)}.badge-pending{color:#ef4444;background-color:#ef44441a}.badge-approved{color:#10b981;background-color:#10b9811a}@media (width<=768px){h1{font-size:2.25rem}h2{font-size:1.75rem}.btn{padding:10px 18px;font-size:.9rem}}.project-detail-grid{grid-template-columns:1fr;align-items:start;gap:32px;display:grid}.browse-layout{grid-template-columns:1fr;align-items:start;gap:30px;display:grid}@media (width>=992px){.project-detail-grid{grid-template-columns:minmax(0,1fr) 360px}.browse-layout{grid-template-columns:300px 1fr}}.brand-logo-container{width:36px!important;height:36px!important}.brand-text{font-size:1.15rem!important}.nav-actions{align-items:center;display:flex;gap:8px!important}.nav-action-btn{padding:6px!important}.nav-signin-btn{padding:6px 12px!important;font-size:.8rem!important}@media (width>=768px){.brand-logo-container{width:50px!important;height:50px!important}.brand-text{font-size:1.75rem!important}.nav-actions{gap:16px!important}.nav-action-btn{padding:8px!important}.nav-signin-btn{padding:8px 20px!important;font-size:.85rem!important}}
