*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0b1220;--surface: #131c2e;--surface-2: #1a2540;--border: #1f2a44;--text: #e6ecf5;--text-muted: #8a9bb8;--accent: #1e40af;--accent-light: #60a5fa;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--info: #06b6d4;--radius: 8px}html,body{max-width:100vw;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--surface);position:relative}.logo h1{font-size:1.5rem;font-weight:700}.accent{color:var(--accent-light)}.tagline{font-size:.75rem;color:var(--text-muted);display:block}nav{display:flex;gap:.75rem;align-items:center}.user-chip{font-size:.85rem;color:var(--text-muted);padding:.5rem .75rem;background:var(--surface-2);border-radius:var(--radius)}.logout-btn{padding:.5rem 1rem;border:1px solid var(--danger);border-radius:var(--radius);background:transparent;color:var(--danger);cursor:pointer;font-size:.875rem}.logout-btn:hover{background:#ef44441a}.hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:1px}.layout{flex:1;display:grid;grid-template-columns:220px 1fr;gap:0}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:1rem .5rem}.sidebar ul{list-style:none}.sidebar li{margin:.25rem 0}.sidebar button{width:100%;text-align:left;padding:.6rem .85rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:.9rem;display:flex;align-items:center;justify-content:space-between}.sidebar button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.sidebar button.active{background:var(--accent);color:#fff}.sidebar button:disabled{cursor:not-allowed;opacity:.5}.badge-soon{font-size:.65rem;text-transform:uppercase;background:var(--surface-2);color:var(--text-muted);padding:.1rem .4rem;border-radius:3px;letter-spacing:.05em}main{padding:2rem;max-width:960px;width:100%;margin:0 auto}footer{padding:1rem 2rem;text-align:center;color:var(--text-muted);font-size:.75rem;border-top:1px solid var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.card h2{font-size:1.1rem;margin-bottom:.75rem;color:var(--accent-light)}.card p{color:var(--text-muted);font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.4rem;font-weight:700;margin-top:.25rem}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-muted{color:var(--text-muted)}.features-list{list-style:none;padding:0}.features-list li{padding:.4rem 0;border-bottom:1px solid var(--border);color:var(--text);font-size:.9rem}.features-list li:before{content:"✓ ";color:var(--success);margin-right:.5rem}.features-list li:last-child{border-bottom:none}.features-list li.text-muted:before{content:"—  ";color:var(--text-muted)}.banner{border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.banner p{flex:1;font-size:.9rem;min-width:200px}.banner button{padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.banner button:disabled{opacity:.6;cursor:not-allowed}.banner-warning{background:#f59e0b1a;border:1px solid var(--warning)}.banner-warning p{color:var(--warning)}.banner-warning button{background:var(--warning);color:var(--bg)}.banner-info{background:#06b6d41a;border:1px solid var(--info)}.banner-info p{color:var(--info)}input,textarea,select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-family:inherit;font-size:.9rem}input:focus,textarea:focus{outline:none;border-color:var(--accent-light)}.form-group{margin-bottom:.75rem}.form-group label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.25rem}button.primary{padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:600}button.primary:hover:not(:disabled){background:#1d3b9c}button.primary:disabled{opacity:.5;cursor:not-allowed}button.full-width{width:100%;margin-top:.5rem}.error{color:var(--danger);font-size:.85rem;margin:.75rem 0}.success{color:var(--success);font-size:.85rem;margin:.75rem 0}.loading{color:var(--text-muted);text-align:center;padding:3rem 1rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(circle at 30% 20%,rgba(30,64,175,.15),transparent 50%),var(--bg)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2rem;font-weight:800}.auth-header p{color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.auth-title{font-size:1.1rem;margin-bottom:1rem;color:var(--accent-light)}.auth-switch{text-align:center;margin-top:1.25rem;font-size:.85rem;color:var(--text-muted)}.auth-switch a{color:var(--accent-light);text-decoration:none}.auth-switch a:hover{text-decoration:underline}@media(max-width:768px){header{padding:.75rem 1rem}main{padding:1rem}.card{padding:1rem}.layout{grid-template-columns:1fr}.sidebar{display:none}.hamburger{display:flex}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;padding:1rem;z-index:100;gap:.5rem;box-shadow:0 4px 12px #0006}nav.open{display:flex}.user-chip,.logout-btn{width:100%;text-align:center}input,textarea,select{font-size:16px}.auth-card{padding:1.5rem}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1.1rem}}
