@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap);:root{--font-display:"Space Grotesk",sans-serif;--font-sans:"Hanken Grotesk",sans-serif;--font-mono:"JetBrains Mono",monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--sidebar-w:252px;--pad-page:40px;--pad-card:24px;--gap:20px;--fs-body:14px;--bg:#06090f;--bg-deep:#04060b;--canvas-glow-1:#4d8dff1a;--canvas-glow-2:#22d3ee12;--panel:linear-gradient(168deg,#101a2e,#0b1120);--panel-solid:#0e1626;--panel-inset:#0a0f1c;--panel-hover:#121d33;--border:#78a0ff21;--border-strong:#78a0ff42;--hairline:#78a0ff1a;--text:#e9eefa;--text-dim:#8b98b8;--text-faint:#56627e;--accent:#4d8dff;--accent-2:#22d3ee;--accent-soft:#4d8dff24;--accent-glow:#4d8dff66;--accent-ink:#fff;--green:#34d399;--green-soft:#34d39921;--amber:#fbbf24;--amber-soft:#fbbf2424;--red:#fb7185;--red-soft:#fb718521;--violet:#a78bfa;--violet-soft:#a78bfa24;--shadow-panel:0 1px 0 #ffffff0a inset,0 18px 40px -24px #000c;--shadow-pop:0 24px 60px -20px #000000d9;--glow-on:1}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:#78a0ff42;background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#56627e;background:var(--text-faint);background-clip:padding-box}::selection{background:#4d8dff24;background:var(--accent-soft);color:#e9eefa;color:var(--text)}.sidebar{background:linear-gradient(180deg,#080d18,#05080f);border-right:1px solid #78a0ff21;border-right:1px solid var(--border);bottom:0;display:flex;flex-direction:column;left:0;min-width:252px;min-width:var(--sidebar-w);position:fixed;top:0;width:252px;width:var(--sidebar-w);z-index:50}.brand{align-items:center;display:flex;gap:11px;padding:22px 20px 20px}.brand-mark{background:linear-gradient(150deg,#4d8dff,#22d3ee);background:linear-gradient(150deg,var(--accent),var(--accent-2));border-radius:9px;box-shadow:0 0 0 1px #78a0ff42,0 8px 22px -8px #4d8dff66;box-shadow:0 0 0 1px var(--border-strong),0 8px 22px -8px var(--accent-glow);color:#fff;color:var(--accent-ink);display:grid;flex-shrink:0;height:34px;place-items:center;width:34px}.brand-mark svg{height:19px;width:19px}.brand-name{color:#e9eefa;color:var(--text);font-family:Space Grotesk,sans-serif;font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.2px}.brand-sub{color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:9.5px;letter-spacing:2.5px;margin-top:1px;text-transform:uppercase}.nav{flex:1 1;overflow-y:auto;padding:6px 12px}.nav-group-label{color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.8px;padding:16px 10px 7px;text-transform:uppercase}.nav-item{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--r-sm);color:#8b98b8;color:var(--text-dim);cursor:pointer;display:flex;font-size:13.5px;font-weight:500;gap:11px;margin-bottom:1px;padding:9px 11px;position:relative;text-decoration:none;transition:background .15s,color .15s}.nav-item svg{flex-shrink:0;height:17px;opacity:.85;width:17px}.nav-item:hover{background:#121d33;background:var(--panel-hover);color:#e9eefa;color:var(--text)}.nav-item.active{background:#4d8dff24;background:var(--accent-soft);border-color:#78a0ff21;border-color:var(--border);color:#e9eefa;color:var(--text)}.nav-item.active:before{background:#4d8dff;background:var(--accent);border-radius:0 3px 3px 0;box-shadow:0 0 12px #4d8dff66;box-shadow:0 0 12px var(--accent-glow);content:"";height:18px;left:-12px;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-item.active svg{color:#4d8dff;color:var(--accent);opacity:1}.nav-badge{background:#4d8dff;background:var(--accent);border-radius:99px;color:#fff;color:var(--accent-ink);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10.5px;font-weight:600;margin-left:auto;min-width:18px;padding:1px 7px;text-align:center}.side-foot{border-top:1px solid #78a0ff21;border-top:1px solid var(--border);padding:12px}.user-row{align-items:center;display:flex;gap:10px;padding:6px 8px 12px}.user-name{color:#e9eefa;color:var(--text);font-size:13px;font-weight:600}.user-mail,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-mail{color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px}.signout{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--r-sm);color:#8b98b8;color:var(--text-dim);cursor:pointer;display:flex;font-family:Hanken Grotesk,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:500;gap:10px;padding:9px 10px;transition:background .15s,color .15s;width:100%}.signout svg{height:16px;width:16px}.signout:hover{background:#121d33;background:var(--panel-hover);color:#e9eefa;color:var(--text)}.topbar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,#06090f 82%,#0000);background:color-mix(in srgb,var(--bg) 82%,#0000);border-bottom:1px solid #78a0ff21;border-bottom:1px solid var(--border);display:flex;gap:16px;height:64px;padding:0 40px;padding:0 var(--pad-page);position:sticky;top:0;z-index:30}.crumb{color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.crumb b{color:#8b98b8;color:var(--text-dim);font-weight:500}.topbar-spacer{flex:1 1}.searchbox{align-items:center;background:#0a0f1c;background:var(--panel-inset);border:1px solid #78a0ff21;border:1px solid var(--border);border-radius:8px;border-radius:var(--r-sm);color:#56627e;color:var(--text-faint);cursor:text;display:flex;font-size:13px;gap:9px;padding:8px 12px;width:250px}.searchbox svg{height:15px;width:15px}.searchbox kbd{background:#121d33;background:var(--panel-hover);border:1px solid #78a0ff21;border:1px solid var(--border);border-radius:5px;color:#8b98b8;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10px;margin-left:auto;padding:1px 6px}.icon-btn{background:#0a0f1c;background:var(--panel-inset);border:1px solid #78a0ff21;border:1px solid var(--border);border-radius:8px;border-radius:var(--r-sm);color:#8b98b8;color:var(--text-dim);cursor:pointer;display:grid;height:38px;place-items:center;position:relative;transition:background .15s,color .15s,border-color .15s;width:38px}.icon-btn svg{height:17px;width:17px}.icon-btn:hover{background:#121d33;background:var(--panel-hover);border-color:#78a0ff42;border-color:var(--border-strong);color:#e9eefa;color:var(--text)}.icon-btn .dot{background:#4d8dff;background:var(--accent);border-radius:99px;box-shadow:0 0 0 2px #06090f;box-shadow:0 0 0 2px var(--bg);height:7px;position:absolute;right:9px;top:9px;width:7px}.topbar-clock{font-feature-settings:"tnum";color:#8b98b8;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12.5px;font-variant-numeric:tabular-nums;letter-spacing:.5px}.topbar-clock .z{color:#56627e;color:var(--text-faint)}.panel{background:linear-gradient(168deg,#101a2e,#0b1120);background:var(--panel);border:1px solid #78a0ff21;border:1px solid var(--border);border-radius:16px;border-radius:var(--r-lg);box-shadow:inset 0 1px 0 #ffffff0a,0 18px 40px -24px #000c;box-shadow:var(--shadow-panel);position:relative}.panel.pad{padding:24px;padding:var(--pad-card)}.panel:after{background:linear-gradient(90deg,#0000,#78a0ff42 30%,#78a0ff42 70%,#0000);background:linear-gradient(90deg,#0000,var(--border-strong) 30%,var(--border-strong) 70%,#0000);border-radius:16px 16px 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0;content:"";height:1px;inset:0 0 auto 0;opacity:.6;pointer-events:none;position:absolute}.panel-h{gap:12px;justify-content:space-between;margin-bottom:18px}.panel-h,.panel-title{align-items:center;display:flex}.panel-title{color:#e9eefa;color:var(--text);font-family:Space Grotesk,sans-serif;font-family:var(--font-display);font-size:15px;font-weight:600;gap:9px;letter-spacing:-.1px;white-space:nowrap}.panel-title svg{color:#8b98b8;color:var(--text-dim);height:16px;width:16px}.panel-meta{color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.5px}.grid{grid-gap:20px;grid-gap:var(--gap);display:grid;gap:20px;gap:var(--gap)}.eyebrow{color:#56627e;color:var(--text-faint);font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.eyebrow,.mono{font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.btn{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--r-sm);color:#e9eefa;color:var(--text);cursor:pointer;display:inline-flex;font-family:Hanken Grotesk,sans-serif;font-family:var(--font-sans);font-size:13.5px;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;transition:all .15s;white-space:nowrap}.btn svg{height:16px;width:16px}.btn-primary{background:#4d8dff;background:var(--accent);box-shadow:0 8px 24px -10px #4d8dff66;box-shadow:0 8px 24px -10px var(--accent-glow);color:#fff;color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-ghost{background:#0a0f1c;background:var(--panel-inset);border-color:#78a0ff21;border-color:var(--border);color:#e9eefa;color:var(--text)}.btn-ghost:hover{background:#121d33;background:var(--panel-hover);border-color:#78a0ff42;border-color:var(--border-strong)}.btn-danger{background:#fb718521;background:var(--red-soft);border-color:color-mix(in srgb,#fb7185 30%,#0000);border-color:color-mix(in srgb,var(--red) 30%,#0000);color:#fb7185;color:var(--red)}.btn-danger:hover{background:color-mix(in srgb,#fb7185 18%,#0000);background:color-mix(in srgb,var(--red) 18%,#0000)}.btn-sm{font-size:12.5px;padding:6px 12px}.btn:disabled{cursor:not-allowed;opacity:.45;transform:none}.badge{align-items:center;border:1px solid #0000;border-radius:99px;display:inline-flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10.5px;font-weight:600;gap:5px;letter-spacing:.3px;padding:3px 9px;text-transform:uppercase}.badge svg{height:11px;width:11px}.badge.green{background:#34d39921;background:var(--green-soft);border-color:color-mix(in srgb,#34d399 26%,#0000);border-color:color-mix(in srgb,var(--green) 26%,#0000);color:#34d399;color:var(--green)}.badge.amber{background:#fbbf2424;background:var(--amber-soft);border-color:color-mix(in srgb,#fbbf24 28%,#0000);border-color:color-mix(in srgb,var(--amber) 28%,#0000);color:#fbbf24;color:var(--amber)}.badge.red{background:#fb718521;background:var(--red-soft);border-color:color-mix(in srgb,#fb7185 28%,#0000);border-color:color-mix(in srgb,var(--red) 28%,#0000);color:#fb7185;color:var(--red)}.badge.violet{background:#a78bfa24;background:var(--violet-soft);border-color:color-mix(in srgb,#a78bfa 28%,#0000);border-color:color-mix(in srgb,var(--violet) 28%,#0000);color:#a78bfa;color:var(--violet)}.badge.blue{background:#4d8dff24;background:var(--accent-soft);border-color:color-mix(in srgb,#4d8dff 28%,#0000);border-color:color-mix(in srgb,var(--accent) 28%,#0000);color:#4d8dff;color:var(--accent)}.badge.neutral{background:#121d33;background:var(--panel-hover);border-color:#78a0ff21;border-color:var(--border);color:#8b98b8;color:var(--text-dim)}.avatar{border-radius:9px;box-shadow:inset 0 0 0 1px #ffffff1a;color:#fff;display:grid;flex-shrink:0;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:12px;font-weight:600;height:34px;place-items:center;width:34px}.avatar.sm{border-radius:8px;font-size:11px;height:28px;width:28px}.avatar.lg{border-radius:12px;font-size:15px;height:46px;width:46px}.tbl{border-collapse:collapse;width:100%}.tbl th{border-bottom:1px solid #78a0ff21;border-bottom:1px solid var(--border);color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:1px;padding:0 16px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.tbl td.r,.tbl th.r{text-align:right}.tbl td{border-bottom:1px solid #78a0ff1a;border-bottom:1px solid var(--hairline);color:#8b98b8;color:var(--text-dim);font-size:13px;padding:13px 16px;vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover td{background:color-mix(in srgb,#121d33 60%,#0000);background:color-mix(in srgb,var(--panel-hover) 60%,#0000)}.tbl .strong{font-weight:600}.tbl .num,.tbl .strong{color:#e9eefa;color:var(--text)}.tbl .num{font-feature-settings:"tnum";font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.tbl .muted{color:#56627e;color:var(--text-faint)}.cellname{align-items:center;display:flex;gap:11px}.cellname .strong{white-space:nowrap}.totals-row td{background:#0a0f1c;background:var(--panel-inset);border-bottom:none;border-top:1px solid #78a0ff21;border-top:1px solid var(--border);color:#e9eefa;color:var(--text);font-weight:700}.field{display:flex;flex-direction:column;gap:6px}.field-label{color:#8b98b8;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.input,.select,.textarea{background:#0a0f1c;background:var(--panel-inset);border:1px solid #78a0ff21;border:1px solid var(--border);border-radius:8px;border-radius:var(--r-sm);color:#e9eefa;color:var(--text);font-family:Hanken Grotesk,sans-serif;font-family:var(--font-sans);font-size:13.5px;outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.input::placeholder,.textarea::placeholder{color:#56627e;color:var(--text-faint)}.input:focus,.select:focus,.textarea:focus{border-color:#4d8dff;border-color:var(--accent);box-shadow:0 0 0 3px #4d8dff24;box-shadow:0 0 0 3px var(--accent-soft)}.input.mono{font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%238b98b8%27 stroke-width=%272.5%27><path d=%27M6 9l6 6 6-6%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}input[type=date],input[type=number],input[type=time]{color-scheme:dark}.kpi-row{grid-gap:20px;grid-gap:var(--gap);display:grid;gap:20px;gap:var(--gap);grid-template-columns:repeat(4,1fr)}@media (max-width:1080px){.kpi-row{grid-template-columns:repeat(2,1fr)}}.kpi{display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:20px 22px}.kpi-top{align-items:center;display:flex;justify-content:space-between}.kpi-ic{background:#4d8dff24;background:var(--accent-soft);border-radius:10px;color:#4d8dff;color:var(--accent);display:grid;height:34px;place-items:center;width:34px}.kpi-ic svg{height:17px;width:17px}.kpi-ic.green{background:#34d39921;background:var(--green-soft);color:#34d399;color:var(--green)}.kpi-ic.amber{background:#fbbf2424;background:var(--amber-soft);color:#fbbf24;color:var(--amber)}.kpi-ic.violet{background:#a78bfa24;background:var(--violet-soft);color:#a78bfa;color:var(--violet)}.kpi-label{color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase}.kpi-val{color:#e9eefa;color:var(--text);font-family:Space Grotesk,sans-serif;font-family:var(--font-display);font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.05}.kpi-val .cur{font-size:18px;margin-right:1px}.kpi-val .cur,.kpi-val .unit{color:#8b98b8;color:var(--text-dim)}.kpi-val .unit{font-size:15px;font-weight:500;margin-left:3px}.kpi-delta{align-items:center;display:flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:11px;gap:5px}.kpi-delta.up{color:#34d399;color:var(--green)}.kpi-delta.down{color:#fb7185;color:var(--red)}.kpi-delta.flat{color:#56627e;color:var(--text-faint)}.kpi-spark{margin-top:6px}.divider{align-items:center;display:flex;gap:14px;margin:26px 0 16px}.divider:after,.divider:before{background:#78a0ff21;background:var(--border);content:"";flex:1 1;height:1px}.divider span{color:#56627e;color:var(--text-faint);font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.callout{align-items:flex-start;background:#4d8dff24;background:var(--accent-soft);border:1px solid #78a0ff21;border:1px solid var(--border);border-radius:12px;border-radius:var(--r-md);color:#8b98b8;color:var(--text-dim);display:flex;font-size:13px;gap:10px;padding:12px 15px}.callout svg{color:#4d8dff;color:var(--accent);flex-shrink:0;height:16px;margin-top:1px;width:16px}.callout.warn{background:#fbbf2424;background:var(--amber-soft);border-color:color-mix(in srgb,#fbbf24 24%,#0000);border-color:color-mix(in srgb,var(--amber) 24%,#0000)}.callout.warn svg{color:#fbbf24;color:var(--amber)}.callout.green{background:#34d39921;background:var(--green-soft);border-color:color-mix(in srgb,#34d399 24%,#0000);border-color:color-mix(in srgb,var(--green) 24%,#0000)}.callout.green svg{color:#34d399;color:var(--green)}.callout b{color:#e9eefa;color:var(--text);font-weight:600}.empty{color:#56627e;color:var(--text-faint);font-size:13.5px;padding:48px 24px;text-align:center}.tag-dot{display:inline-block;width:7px}.progress,.tag-dot{border-radius:99px;height:7px}.progress{background:#0a0f1c;background:var(--panel-inset);overflow:hidden}.progress>i{background:linear-gradient(90deg,#4d8dff,#22d3ee);background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:99px;display:block;height:100%}.page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:26px}.page-title{color:#e9eefa;color:var(--text);font-family:Space Grotesk,sans-serif;font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.4px}.page-sub{color:#8b98b8;color:var(--text-dim);font-size:13.5px;margin-top:5px}.page-sub .mono{color:#e9eefa;color:var(--text);font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}@media (prefers-reduced-motion:no-preference){.page-anim>*{animation:rise .42s cubic-bezier(.2,.7,.3,1) both}.page-anim>:nth-child(2){animation-delay:.04s}.page-anim>:nth-child(3){animation-delay:.08s}.page-anim>:nth-child(4){animation-delay:.12s}@keyframes rise{0%{transform:translateY(9px)}to{transform:none}}}
/*# sourceMappingURL=main.5a1aff9b.css.map*/