:root{--midnight: #0b111c;--indigo: #33139f;--deep-violet: #693af4;--purple-rain: #853eff;--electric-blue: #34b4ff;--magenta: #d200b5;--aqua: #2eefec;--coral: #ff4759;--ink: #0f172a;--slate: #475569;--slate-light: #94a3b8;--line: #e5e7eb;--bg: #fafafb;--bg-card: #ffffff;--won: #34b4ff;--open: #853eff;--lost: #ff4759;--selling-ai: #0e6f6e;--using-ai: #d200b5;--non-ai: #94a3b8;--green: #0e6f6e;--red: #9f1230}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}main{min-height:100vh;display:flex;flex-direction:column}.hero{position:relative;background:radial-gradient(ellipse at 18% 5%,rgba(105,58,244,.55) 0%,transparent 60%),radial-gradient(ellipse at 88% 95%,rgba(52,180,255,.42) 0%,transparent 55%),linear-gradient(135deg,#0b111c,#1a0b5c,#33139f);color:#fff;padding:24px 24px 22px}.hero-inner{max-width:1400px;margin:0 auto}.badge{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;margin-bottom:14px;opacity:.85}h1{font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(24px,3.4vw,36px);letter-spacing:-.025em;margin:0 0 4px;background:linear-gradient(90deg,#853eff,#34b4ff);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{font-size:13px;color:#ffffffb8;margin:0;max-width:640px}.last-ingested{font-size:11px;color:#ffffff8c;margin:6px 0 0;font-variant-numeric:tabular-nums;letter-spacing:.02em}.user-chip{position:absolute;top:24px;right:24px;display:flex;align-items:center;gap:14px;padding:8px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:13px;color:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.user-chip .user-name{font-weight:500}.user-chip .logout{color:#ffffffb3;text-decoration:none;font-size:12px}.user-chip .logout:hover{color:#fff;text-decoration:underline}.dashboard{max-width:1400px;margin:24px auto;padding:0 24px;width:100%}.filters{display:flex;gap:8px;flex-wrap:wrap;padding:14px;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.filters select,.filters input{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);background:#fff;border-radius:6px;min-width:130px}.filters input[type=date]{min-width:140px}.filters input[hidden]{display:none}.filters select:focus,.filters input:focus{outline:2px solid var(--electric-blue);border-color:transparent}.filters button[data-action=clear]{font:inherit;font-size:13px;padding:7px 14px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;color:var(--slate)}.filters button[data-action=clear]:hover{background:var(--bg)}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.kpi-label{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:.08em;font-weight:500}.kpi-value{font-family:Space Grotesk,Inter,sans-serif;font-size:22px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.tabs{display:flex;gap:4px;margin-bottom:14px;padding:4px;flex-wrap:wrap}.tab{font:inherit;font-size:13px;font-weight:500;padding:8px 16px;background:transparent;border:0;border-radius:8px;color:var(--slate);cursor:pointer;transition:background .12s,color .12s}.tab:hover:not(:disabled){color:var(--ink);background:#0b111c0d}.tab.active{color:#fff;background:var(--midnight);font-weight:500}.tab.disabled,.tab:disabled{opacity:.4;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:6px;font-size:11px;font-weight:600;background:#f1f5f9;color:#334155}.chip.aqua{background:#d6fbfa;color:#0e6f6e}.chip.coral{background:#ffe2e5;color:#9f1230}.chip.magenta{background:#fbe4f4;color:#86006f}.chip.indigo{background:#e6e0ff;color:#33139f}.chip.blue{background:#dceeff;color:#0e5daa}.tab-content{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:18px}.tab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}h2{font-family:Space Grotesk,Inter,sans-serif;font-size:18px;letter-spacing:-.01em;margin:0;color:var(--ink)}.row-count{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:var(--slate);margin-left:8px}.btn-secondary{font:inherit;font-size:13px;padding:7px 14px;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer}.btn-secondary:hover{background:var(--bg);border-color:var(--slate-light)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:10px 12px;font-weight:500;color:var(--slate);border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.data-table th.num{text-align:right}.data-table td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums}.data-table td.num{text-align:right}.data-table tr:hover td{background:var(--bg)}.data-table.sortable th[data-sort-key]{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table.sortable th[data-sort-key]:hover{color:var(--ink)}.data-table.sortable th.sorted-asc:after{content:" ↑";color:var(--purple-rain)}.data-table.sortable th.sorted-desc:after{content:" ↓";color:var(--purple-rain)}.data-table .drill{color:var(--purple-rain);text-decoration:none;font-weight:500}.data-table .drill:hover{text-decoration:underline}.table-footnote{font-size:12px;color:var(--slate);margin:12px 0 0}.loading,.placeholder,.error{padding:40px;text-align:center;color:var(--slate)}.error{color:var(--red)}.chart-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;margin-top:18px}.chart-wrap{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-height:280px}.chart-wrap canvas{max-height:320px}
