@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/704b853f32d191d5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/656feb427634a431-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/991629005c80bdf1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46e154b2fcbd6033-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/37786be940ec402b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_b4c22e{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_b4c22e{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--canvas:#f5f7fb;--surface:#ffffff;--surface-subtle:#f8fafc;--surface-selected:#eff6ff;--text:#172033;--text-muted:#667085;--text-disabled:#98a2b3;--border:#dce3ee;--border-strong:#b8c4d6;--focus:#1570ef;--primary:#175cd3;--primary-strong:#1849a9;--primary-text:#ffffff;--positive:#067647;--positive-surface:#ecfdf3;--positive-border:#abefc6;--warning:#b54708;--warning-surface:#fffaeb;--warning-border:#fedf89;--danger:#b42318;--danger-surface:#fef3f2;--danger-border:#fecdca;--info:#026aa2;--info-surface:#f0f9ff;--info-border:#b9e6fe;--shadow:0 1px 2px rgba(16,24,40,0.05),0 1px 3px rgba(16,24,40,0.08);--shadow-lg:0 4px 6px -2px rgba(16,24,40,0.05),0 12px 16px -4px rgba(16,24,40,0.1);--font-sans:var(--font-inter),Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-plex-mono),"IBM Plex Mono",ui-monospace,SFMono-Regular,Consolas,monospace;--radius-control:4px;--radius-card:6px;--radius-dialog:8px;--radius-round:9999px;color-scheme:light}.dark-tokens,:root[data-theme=dark]{--canvas:#0b0f17;--surface:#131a26;--surface-subtle:#0f1520;--surface-selected:#16233a;--text:#e6ebf2;--text-muted:#94a3b8;--text-disabled:#5b6b80;--border:#1e293b;--border-strong:#334155;--focus:#3b82f6;--primary:#3b7ff0;--primary-strong:#5b96ff;--primary-text:#ffffff;--positive:#4ade80;--positive-surface:#0e2a1c;--positive-border:#14532d;--warning:#fbbf24;--warning-surface:#2a1f08;--warning-border:#854d0e;--danger:#f87171;--danger-surface:#2a1210;--danger-border:#7f1d1d;--info:#38bdf8;--info-surface:#06243a;--info-border:#075985;--shadow:0 1px 2px rgba(0,0,0,0.4),0 1px 3px rgba(0,0,0,0.5);--shadow-lg:0 4px 6px -2px rgba(0,0,0,0.4),0 12px 20px -4px rgba(0,0,0,0.55);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#0b0f17;--surface:#131a26;--surface-subtle:#0f1520;--surface-selected:#16233a;--text:#e6ebf2;--text-muted:#94a3b8;--text-disabled:#5b6b80;--border:#1e293b;--border-strong:#334155;--focus:#3b82f6;--primary:#3b7ff0;--primary-strong:#5b96ff;--primary-text:#ffffff;--positive:#4ade80;--positive-surface:#0e2a1c;--positive-border:#14532d;--warning:#fbbf24;--warning-surface:#2a1f08;--warning-border:#854d0e;--danger:#f87171;--danger-surface:#2a1210;--danger-border:#7f1d1d;--info:#38bdf8;--info-surface:#06243a;--info-border:#075985;--shadow:0 1px 2px rgba(0,0,0,0.4),0 1px 3px rgba(0,0,0,0.5);--shadow-lg:0 4px 6px -2px rgba(0,0,0,0.4),0 12px 20px -4px rgba(0,0,0,0.55);color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.topbar{border-bottom:1px solid var(--border);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar-inner{justify-content:space-between;height:60px;gap:16px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-mark{width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,var(--primary),var(--primary-strong));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-mono);font-size:13px;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:10px}main.container{flex:1 1;padding-top:28px;padding-bottom:56px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0}.page-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-top{grid-template-columns:1fr 2fr}.vendor-grid{grid-template-columns:repeat(2,1fr);margin-top:16px}@media (max-width:900px){.grid-top,.vendor-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-dialog);box-shadow:var(--shadow);padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.tile-value{font-family:var(--font-mono);font-size:40px;font-weight:600;letter-spacing:-.02em;line-height:1.05}.tile-value .cur{color:var(--text-muted);font-size:24px;margin-right:2px}.tile-meta{display:flex;gap:18px;margin-top:16px;flex-wrap:wrap}.tile-meta .metric{display:flex;flex-direction:column}.tile-meta .metric .k{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.tile-meta .metric .v{font-family:var(--font-mono);font-size:16px;font-weight:600;margin-top:2px}.vendor-card .vendor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vendor-name{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}.vendor-logo{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}.vendor-cost,.vendor-logo{font-family:var(--font-mono)}.vendor-cost{font-size:20px;font-weight:600}.vendor-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:13px;margin:2px 0 14px}.usage-list{display:flex;flex-direction:column;gap:12px}.usage-row .usage-top{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;margin-bottom:5px}.usage-row .usage-top .label{color:var(--text)}.usage-row .usage-top .figure{font-family:var(--font-mono);color:var(--text-muted)}.bar{height:7px;border-radius:var(--radius-round);background:var(--surface-subtle);border:1px solid var(--border);overflow:hidden}.bar>span{display:block;height:100%;border-radius:var(--radius-round);background:var(--primary)}.bar.is-warning>span{background:var(--warning)}.bar.is-danger>span{background:var(--danger)}.usage-unmetered{font-size:12.5px;color:var(--text-muted);display:flex;justify-content:space-between}.usage-unmetered .figure{font-family:var(--font-mono)}.vendor-foot{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius-round);border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-muted);white-space:nowrap}.badge.tone-info{color:var(--info);background:var(--info-surface);border-color:var(--info-border)}.badge.tone-positive{color:var(--positive);background:var(--positive-surface);border-color:var(--positive-border)}.badge.tone-warning{color:var(--warning);background:var(--warning-surface);border-color:var(--warning-border)}.badge.tone-danger{color:var(--danger);background:var(--danger-surface);border-color:var(--danger-border)}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--surface-subtle)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn-primary:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.btn-sm{height:30px;padding:0 11px;font-size:12.5px}.btn-ghost{border-color:transparent;background:transparent}.btn:focus-visible,.field input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.alerts{display:flex;flex-direction:column;gap:10px}.alert{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-card);border:1px solid var(--border);background:var(--surface-subtle)}.alert.sev-warning{border-color:var(--warning-border);background:var(--warning-surface)}.alert.sev-danger{border-color:var(--danger-border);background:var(--danger-surface)}.alert .alert-icon{flex:0 0 auto;width:22px;height:22px;border-radius:var(--radius-round);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}.alert.sev-warning .alert-icon{color:var(--warning)}.alert.sev-danger .alert-icon{color:var(--danger)}.alert .alert-title{font-size:13px;font-weight:600}.alert .alert-detail{font-size:12.5px;color:var(--text-muted);margin-top:1px}.empty{color:var(--text-muted);font-size:13px;padding:16px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-card)}.chart{width:100%;height:auto;display:block}.chart-legend{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.chart-legend .item{display:flex;align-items:center;gap:6px}.chart-legend .swatch{width:10px;height:10px;border-radius:3px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-dialog);box-shadow:var(--shadow-lg);padding:28px}.auth-card h1{font-size:19px;margin:14px 0 4px;letter-spacing:-.01em}.auth-card p.sub{color:var(--text-muted);font-size:13px;margin:0 0 20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12.5px;font-weight:500;color:var(--text)}.field .hint{font-size:11.5px;color:var(--text-muted)}.field input{height:38px;padding:0 12px;border-radius:var(--radius-control);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-family:inherit;font-size:14px}.auth-error{font-size:12.5px;color:var(--danger);background:var(--danger-surface);border:1px solid var(--danger-border);border-radius:var(--radius-card);padding:9px 12px;margin-bottom:14px}.auth-note{font-size:11.5px;margin-top:16px;line-height:1.5}.auth-note,.footer{color:var(--text-muted)}.footer{border-top:1px solid var(--border);font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:12px;padding:18px 0;flex-wrap:wrap}