@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--clr-primary: #4f46e5;--clr-primary-dark: #3730a3;--clr-primary-light: #818cf8;--clr-accent: #10b981;--clr-accent-dark: #059669;--clr-warning: #f59e0b;--clr-danger: #ef4444;--clr-bg: #0f172a;--clr-surface: #1e293b;--clr-surface-2: #273449;--clr-border: #334155;--clr-text: #e2e8f0;--clr-text-muted: #94a3b8;--clr-text-faint: #64748b;--font-base: "Inter", system-ui, -apple-system, sans-serif;--font-size-base: 16px;--line-height: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .45);--transition: .2s ease;--transition-slow: .35s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);scroll-behavior:smooth}body{font-family:var(--font-base);background-color:var(--clr-bg);color:var(--clr-text);line-height:var(--line-height);min-height:100vh;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{text-decoration:none;color:inherit}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit}#root,.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}.page{min-height:60vh}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.navbar{position:sticky;top:0;z-index:100;background:#0f172aeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--clr-border);padding:0 var(--space-6);height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.navbar-brand a{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:700;color:var(--clr-text)}.brand-icon{font-size:1.5rem}.brand-name{letter-spacing:-.02em}.brand-plus{color:var(--clr-primary-light)}.navbar-links{display:flex;align-items:center;gap:var(--space-1)}.navbar-links li a{display:block;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--clr-text-muted);transition:color var(--transition),background var(--transition)}.navbar-links li a:hover,.navbar-links li a.active{color:var(--clr-text);background:var(--clr-surface)}.navbar-links li a.active{color:var(--clr-primary-light)}.navbar-actions{display:flex;align-items:center;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;border:2px solid transparent;transition:all var(--transition);white-space:nowrap;cursor:pointer}.btn-primary{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary)}.btn-primary:hover{background:var(--clr-primary-dark);border-color:var(--clr-primary-dark);transform:translateY(-1px);box-shadow:0 4px 15px #4f46e566}.btn-outline{background:transparent;color:var(--clr-primary-light);border-color:var(--clr-border)}.btn-outline:hover{border-color:var(--clr-primary-light);background:#4f46e514}.btn-white{background:#fff;color:var(--clr-primary);border-color:#fff}.btn-white:hover{background:#e0e7ff;border-color:#e0e7ff;transform:translateY(-1px)}.btn-danger{background:var(--clr-danger);color:#fff;border-color:var(--clr-danger)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-sm{padding:.4rem .85rem;font-size:.8rem;border-radius:var(--radius-sm)}.btn-lg{padding:.8rem 1.75rem;font-size:1rem}.hero{padding:var(--space-20) var(--space-6) var(--space-16);max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-12)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:#4f46e526;border:1px solid rgba(129,140,248,.3);color:var(--clr-primary-light);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-5)}.hero-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:var(--clr-text);margin-bottom:var(--space-5)}.text-gradient{background:linear-gradient(135deg,var(--clr-primary-light),var(--clr-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.1rem;color:var(--clr-text-muted);max-width:520px;margin-bottom:var(--space-8)}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.hero-stats{display:flex;flex-direction:column;gap:var(--space-4);min-width:180px}.hero-stat{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);text-align:center}.hero-stat h3{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--clr-primary-light),var(--clr-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat p{font-size:.8rem;color:var(--clr-text-muted);margin-top:var(--space-1)}.page-hero{background:linear-gradient(135deg,var(--clr-surface) 0%,var(--clr-bg) 100%);border-bottom:1px solid var(--clr-border);padding:var(--space-16) var(--space-6);text-align:center}.page-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.02em;margin-bottom:var(--space-3)}.page-hero p{color:var(--clr-text-muted);font-size:1rem;max-width:520px;margin:0 auto}.page-hero--sm{padding:var(--space-10) var(--space-6)}.section{padding:var(--space-16) var(--space-6);max-width:1200px;margin:0 auto}.section--grey{background:var(--clr-surface);border-top:1px solid var(--clr-border);border-bottom:1px solid var(--clr-border);max-width:100%;padding:var(--space-16) var(--space-6)}.section--grey>*{max-width:1200px;margin-left:auto;margin-right:auto}.section-header{text-align:center;margin-bottom:var(--space-10)}.section-header h2{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;letter-spacing:-.02em;margin-bottom:var(--space-3)}.section-header p{color:var(--clr-text-muted);font-size:1rem}.section-cta{text-align:center;margin-top:var(--space-10)}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6)}.step-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-8);position:relative;transition:transform var(--transition),box-shadow var(--transition)}.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--clr-primary)}.step-number{display:block;font-size:2.5rem;font-weight:800;color:#4f46e540;line-height:1;margin-bottom:var(--space-3)}.step-icon{font-size:2rem;margin-bottom:var(--space-4)}.step-card h3{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-2)}.step-card p{color:var(--clr-text-muted);font-size:.9rem}.ideas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.idea-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;gap:var(--space-4);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.idea-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--clr-primary)}.idea-card--compact{padding:var(--space-4)}.idea-card-icon{font-size:2.5rem;flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#4f46e51a;border-radius:var(--radius-md)}.idea-card-body{flex:1;min-width:0}.idea-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.idea-badge--interior{background:#4f46e52e;color:#a5b4fc}.idea-badge--exterior{background:#10b9812e;color:#6ee7b7}.idea-badge--energy{background:#f59e0b2e;color:#fcd34d}.idea-badge--technology{background:#06b6d42e;color:#67e8f9}.idea-badge--investment{background:#ef44442e;color:#fca5a5}.idea-badge--structural{background:#a855f72e;color:#d8b4fe}.idea-card-title{font-size:1rem;font-weight:700;margin-bottom:var(--space-2);color:var(--clr-text)}.idea-card-desc{font-size:.875rem;color:var(--clr-text-muted);margin-bottom:var(--space-4);line-height:1.5}.idea-card-meta{display:flex;gap:var(--space-4);margin-bottom:var(--space-3)}.meta-item{display:flex;flex-direction:column}.meta-label{font-size:.7rem;color:var(--clr-text-faint);font-weight:600;text-transform:uppercase}.meta-value{font-size:.875rem;font-weight:600;color:var(--clr-text)}.meta-value--green{color:var(--clr-accent)}.idea-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{padding:2px 10px;background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-full);font-size:.72rem;color:var(--clr-text-muted)}.cta-banner{background:linear-gradient(135deg,var(--clr-primary) 0%,var(--clr-primary-dark) 100%);padding:var(--space-16) var(--space-6);text-align:center}.cta-content h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:var(--space-3)}.cta-content p{color:#fffc;margin-bottom:var(--space-6);font-size:1rem}.browse-controls{display:flex;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.search-input{padding:.6rem 1rem;border-radius:var(--radius-md);border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text);font-size:.9rem;width:260px;transition:border-color var(--transition),box-shadow var(--transition)}.search-input:focus{outline:none;border-color:var(--clr-primary);box-shadow:0 0 0 3px #4f46e533}.search-input::placeholder{color:var(--clr-text-faint)}.category-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pill{padding:.4rem 1rem;border-radius:var(--radius-full);border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-muted);font-size:.85rem;font-weight:500;transition:all var(--transition)}.pill:hover{border-color:var(--clr-primary-light);color:var(--clr-text)}.pill--active{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.results-count{font-size:.875rem;color:var(--clr-text-muted);margin-bottom:var(--space-5)}.empty-state{text-align:center;padding:var(--space-16);color:var(--clr-text-faint)}.empty-state span{font-size:3rem;display:block;margin-bottom:var(--space-4)}.form-page{max-width:680px;margin:0 auto;padding:var(--space-10) var(--space-6)}.form-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:var(--space-10)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--space-2);color:var(--clr-text-muted)}.form-control{width:100%;padding:.65rem 1rem;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-md);color:var(--clr-text);font-size:.9rem;transition:border-color var(--transition),box-shadow var(--transition)}.form-control:focus{outline:none;border-color:var(--clr-primary);box-shadow:0 0 0 3px #4f46e533}.form-control::placeholder{color:var(--clr-text-faint)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.form-hint{font-size:.78rem;color:var(--clr-text-faint);margin-top:var(--space-1)}.form-actions{margin-top:var(--space-6);display:flex;gap:var(--space-4);flex-wrap:wrap}.form-actions .btn{flex:1;justify-content:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.stat-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-6)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.stat-card-label{font-size:.8rem;color:var(--clr-text-muted);font-weight:600;text-transform:uppercase}.stat-card-icon{font-size:1.5rem}.stat-card-value{font-size:2rem;font-weight:800;color:var(--clr-text);line-height:1}.stat-card-sub{font-size:.78rem;color:var(--clr-text-faint);margin-top:var(--space-1)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--clr-border)}table{width:100%;border-collapse:collapse;font-size:.875rem}thead{background:var(--clr-surface-2)}thead th{padding:var(--space-4) var(--space-5);text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-muted);border-bottom:1px solid var(--clr-border)}tbody tr{border-bottom:1px solid var(--clr-border);transition:background var(--transition)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--clr-surface-2)}tbody td{padding:var(--space-4) var(--space-5);color:var(--clr-text);vertical-align:middle}.admin-wrapper{display:flex;min-height:100vh}.admin-sidebar{width:240px;flex-shrink:0;background:var(--clr-surface);border-right:1px solid var(--clr-border);display:flex;flex-direction:column;padding:var(--space-6) 0}.admin-sidebar-brand{padding:0 var(--space-6) var(--space-6);border-bottom:1px solid var(--clr-border);font-size:1.1rem;font-weight:700}.admin-nav{padding:var(--space-4) 0;flex:1}.admin-nav a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);font-size:.9rem;font-weight:500;color:var(--clr-text-muted);transition:all var(--transition)}.admin-nav a:hover,.admin-nav a.active{color:var(--clr-text);background:#4f46e51a}.admin-nav a.active{color:var(--clr-primary-light);border-left:3px solid var(--clr-primary)}.admin-main{flex:1;overflow:auto}.admin-header{padding:var(--space-5) var(--space-8);border-bottom:1px solid var(--clr-border);display:flex;align-items:center;justify-content:space-between;background:var(--clr-bg)}.admin-header h2{font-size:1.25rem;font-weight:700}.admin-content{padding:var(--space-8)}.login-page{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:var(--space-8) var(--space-6)}.login-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:var(--space-10);width:100%;max-width:420px}.login-card h2{font-size:1.5rem;font-weight:800;margin-bottom:var(--space-2)}.login-card p{color:var(--clr-text-muted);font-size:.9rem;margin-bottom:var(--space-8)}.reco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}.reco-item{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;gap:var(--space-4);align-items:flex-start;transition:transform var(--transition)}.reco-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.reco-rank{width:36px;height:36px;background:var(--clr-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:800;flex-shrink:0}.dashboard-page{padding:var(--space-10) var(--space-6);max-width:1100px;margin:0 auto}.dashboard-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-8)}.dashboard-header h1{font-size:1.75rem;font-weight:800}.dashboard-header p{color:var(--clr-text-muted);font-size:.9rem}.dashboard-section{margin-top:var(--space-10)}.dashboard-section h2{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--clr-border)}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;margin-bottom:var(--space-4)}.alert-success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.alert-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alert-info{background:#4f46e526;border:1px solid rgba(79,70,229,.3);color:#a5b4fc}.footer{background:var(--clr-surface);border-top:1px solid var(--clr-border);padding:var(--space-12) var(--space-6) var(--space-6);color:var(--clr-text-faint);font-size:.875rem}.footer a{color:var(--clr-text-muted);transition:color var(--transition)}.footer a:hover{color:var(--clr-primary-light)}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-10);padding-bottom:var(--space-8);border-bottom:1px solid var(--clr-border)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-3)}.footer-brand .brand-icon{font-size:1.5rem}.footer-brand .brand-name{font-size:1.1rem;font-weight:700;color:var(--clr-text)}.footer-brand .brand-plus{color:var(--clr-primary-light)}.footer-brand p{color:var(--clr-text-muted);font-size:.85rem;line-height:1.6;max-width:280px}.footer-links h4,.footer-contact h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-muted);margin-bottom:var(--space-4)}.footer-links ul{display:flex;flex-direction:column;gap:var(--space-2)}.footer-links ul li a{color:var(--clr-text-faint);font-size:.875rem}.footer-links ul li a:hover{color:var(--clr-primary-light)}.footer-contact{display:flex;flex-direction:column}.footer-contact p{color:var(--clr-text-faint);font-size:.875rem;margin-bottom:var(--space-2)}.footer-bottom{max-width:1200px;margin:var(--space-5) auto 0;text-align:center;color:var(--clr-text-faint);font-size:.8rem}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:var(--space-6)}}.text-center{text-align:center}.text-muted{color:var(--clr-text-muted)}.text-primary{color:var(--clr-primary-light)}.text-accent{color:var(--clr-accent)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-4{gap:var(--space-4)}.w-full{width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--clr-bg)}::-webkit-scrollbar-thumb{background:var(--clr-border);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--clr-text-faint)}@media(max-width:768px){.hero{grid-template-columns:1fr;padding:var(--space-12) var(--space-5) var(--space-10)}.hero-stats{flex-direction:row;min-width:unset}.hero-stat{flex:1}.navbar-links{display:none}.form-row{grid-template-columns:1fr}.admin-sidebar{display:none}.ideas-grid{grid-template-columns:1fr}}
