@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500&family=Sora:wght@300;400;500;600;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#07080a;--bg-card:#0c0e14;--surface:#ffffff05;--border:#ffffff0f;--border-hover:#00d2aa33;--text:#ddd9d4;--text-dim:#ffffff8c;--text-faint:#ffffff59;--accent:#00d2aa;--accent-soft:#00d2aa14;--red:#ef4444;--red-soft:#ef44441a;--green:#34d399;--green-soft:#34d3991a;--amber:#fbbf24;--violet:#8b5cf6;--mono:"JetBrains Mono", monospace;--sans:"Sora", system-ui, sans-serif}html{font-size:15px}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}body:after{content:"";z-index:9999;pointer-events:none;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.dashboard{max-width:1280px;margin:0 auto;padding:24px 32px}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 0;display:flex}.header-title{letter-spacing:-.02em;font-size:1.1rem;font-weight:600}.header-title span{color:var(--accent)}.header-user{font-family:var(--mono);color:var(--text-dim);align-items:center;gap:12px;font-size:.7rem;display:flex}.header-dot{background:var(--green);border-radius:50%;width:6px;height:6px}.grid-4{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,#0000,#00d2aa26,#0000);height:1px;position:absolute;top:0;left:0;right:0}.card-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px;font-size:.6rem}.card-value{letter-spacing:-.02em;margin-bottom:4px;font-size:1.8rem;font-weight:700;line-height:1}.card-sub{font-family:var(--mono);color:var(--text-dim);font-size:.65rem}.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--amber)}.section-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:.6rem}.section-label:before{content:"// ";color:var(--text-faint)}.section-title{color:var(--text);margin-bottom:16px;font-size:1.2rem;font-weight:500}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:.8rem}th{text-align:left;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:10px 16px;font-size:.58rem;font-weight:400}td{color:var(--text-dim);border-bottom:1px solid #ffffff06;padding:10px 16px}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff04}.badge{font-family:var(--mono);border-radius:100px;padding:2px 8px;font-size:.6rem;font-weight:400;display:inline-block}.badge-green{background:var(--green-soft);color:var(--green);border:1px solid #34d39926}.badge-red{background:var(--red-soft);color:var(--red);border:1px solid #ef444426}.badge-amber{color:var(--amber);background:#fbbf241a;border:1px solid #fbbf2426}.badge-accent{background:var(--accent-soft);color:var(--accent);border:1px solid #00d2aa26}.signal-bar{align-items:center;gap:8px;margin-bottom:8px;display:flex}.signal-name{font-family:var(--mono);color:var(--text-dim);width:80px;font-size:.65rem}.signal-track{background:#ffffff0d;border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.signal-fill{border-radius:3px;height:100%;transition:width .6s;position:absolute;top:0}.signal-val{font-family:var(--mono);text-align:right;width:40px;font-size:.6rem}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:380px;padding:48px 40px}.login-title{margin-bottom:8px;font-size:1.4rem;font-weight:600}.login-sub{color:var(--text-dim);margin-bottom:28px;font-size:.82rem}.login-btn{background:var(--accent);color:#000;font-family:var(--sans);cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.login-btn:hover{opacity:.85}.login-note{font-family:var(--mono);color:var(--text-faint);margin-top:20px;font-size:.65rem}.chart-panel{min-height:200px}.chart-panel .card-label{margin-bottom:12px}@media (max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.dashboard{padding:16px}}@media (max-width:600px){.grid-4{grid-template-columns:1fr}.header{flex-direction:column;gap:8px}}
