:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--surface:#fff;--border:#dde1e6;--text:#1b1f24;--muted:#5b6470;--accent:#2557c9;--accent-text:#fff;--accent-hover:#1d48ad;--ring:#2557c966;--invoice:#3a6fd8;--credits:#1f9d74;--track:#e8ebef;--limit:#cdd3db;--forecast:#9db6ea;--ok-bg:#e3f4ec;--ok-text:#12603f;--alarm-bg:#fde5e3;--alarm-text:#a2231a;--over:#c8392e;--err-bg:#fff4e5;--err-border:#e6a23c;--err-text:#6b4100;--grid:#e3e6ea;--radius:12px;--maxw:1040px;--gutter:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--shadow:0 1px 2px #1018280a;--shadow-lg:0 1px 2px #1018280a, 0 8px 24px #1018280f;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1216;--surface:#171b21;--border:#2b323b;--text:#e6e9ed;--muted:#9aa4b1;--accent:#6f9cff;--accent-text:#0b1020;--accent-hover:#8db2ff;--ring:#6f9cff73;--invoice:#6f9cff;--credits:#43c79a;--track:#232931;--limit:#3a434f;--forecast:#3f5684;--ok-bg:#12352a;--ok-text:#7fe0b9;--alarm-bg:#45191a;--alarm-text:#ffaaa3;--over:#ff7a6e;--err-bg:#3a2a0f;--err-border:#b8822c;--err-text:#ffd89a;--grid:#262c34;--shadow:none;--shadow-lg:0 8px 24px #00000059}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}h1,h2{margin:0;line-height:1.2}code{font-family:var(--mono);overflow-wrap:anywhere;font-size:.875em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}:focus{outline:none}:focus-visible{outline-offset:2px;box-shadow:0 0 0 3px var(--ring);outline:2px solid #0000}.btn{border:1px solid var(--border);background:var(--surface);min-height:2.25rem;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.35rem .85rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-block{width:100%;min-height:2.75rem;font-size:.9375rem;display:flex}select{appearance:none;border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:2.25rem;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:.35rem 2.25rem .35rem .75rem;font-size:.875rem;line-height:1.4}select:hover:not(:disabled){border-color:var(--accent)}select:disabled{opacity:.6;cursor:default}.select-wrap{min-width:0;max-width:100%;display:inline-flex;position:relative}.select-wrap select{width:100%}.select-wrap:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:6px;height:6px;position:absolute;top:50%;right:.85rem;transform:translateY(-70%)rotate(45deg)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;padding:1rem;display:flex}.brand{white-space:nowrap;letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.125rem;font-weight:650;display:inline-flex}.brand-icon{object-fit:cover;width:24px;height:24px;box-shadow:0 0 0 1px var(--border);border-radius:50%;flex:none}.signin{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;align-items:center;padding:2.25rem 2rem 1.75rem;display:flex}.signin-icon{object-fit:cover;width:56px;height:56px;box-shadow:0 0 0 1px var(--border), 0 0 0 4px var(--bg);border-radius:50%}.signin-title{margin-top:var(--space-4);letter-spacing:-.015em;font-size:1.375rem;font-weight:650}.signin-sub{margin:var(--space-1) 0 1.75rem;color:var(--muted);font-size:.9375rem}.signin-hint{margin:var(--space-3) 0 0;color:var(--muted);font-size:.8125rem}.signin-error{margin:var(--space-4) 0;text-align:left;width:100%}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:3.5rem;padding:var(--space-2) max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter)));border-bottom:1px solid var(--border);background:var(--surface);display:flex}.topbar .brand{font-size:1.0625rem}.who{align-items:center;gap:var(--space-3);min-width:0;display:flex}.who form{margin:0}.email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;overflow:hidden}.content{max-width:var(--maxw);padding:var(--space-5) var(--gutter) 3rem;gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.account-bar{align-items:center;gap:var(--space-2);display:flex}.account-bar label{color:var(--muted);flex:none;font-size:.875rem;font-weight:600}.account-bar .select-wrap{flex:0 auto;min-width:0;max-width:min(100%,22.5rem)}.billing{gap:var(--space-4);flex-direction:column;display:flex}.billing[aria-busy=true] .tiles,.billing[aria-busy=true] .card{opacity:.6;transition:opacity .15s}.asof{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--muted);flex-wrap:wrap;font-size:.8125rem;display:flex}.tiles{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.cols{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;display:grid}.tile,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-4) 1.25rem;min-width:0}.tile-title{color:var(--muted);font-size:.8125rem;font-weight:600}.tile-value{margin:var(--space-1) 0 var(--space-2);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.75rem;font-weight:650;line-height:1.15}.tile-sub{font-variant-numeric:tabular-nums;margin:.125rem 0;font-size:.875rem}.tile-meta{margin:var(--space-2) 0 0;color:var(--muted);font-size:.75rem}.card h2{margin-bottom:var(--space-3);font-size:.9375rem;font-weight:650}.section-error{border:1px solid var(--err-border);background:var(--err-bg);color:var(--err-text);border-left-width:4px;border-radius:6px;margin:.5rem 0;padding:.6rem .75rem;font-size:.875rem}.section-error p{margin:0 0 .5rem}.budgets,.credits,.badges{margin:0;padding:0;list-style:none}.budgets{gap:var(--space-5);flex-direction:column;display:flex}.budget-head,.credit-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.budget-name,.credit-desc{overflow-wrap:anywhere;font-weight:600}.budget-pct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.budget-bar{width:100%;height:16px;margin:var(--space-2) 0;display:block}.bb-track{fill:var(--track)}.bb-limit{fill:var(--limit)}.bb-forecast{fill:var(--forecast)}.bb-actual{fill:var(--invoice)}.bb-actual.bb-over{fill:var(--over)}.bb-forecast.bb-over{fill:var(--alarm-bg);stroke:var(--over);stroke-width:1px;vector-effect:non-scaling-stroke}.bb-limit-mark{stroke:var(--text);stroke-width:2px}.budget-nums{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.budget-nums dt{color:var(--muted);font-size:.75rem}.budget-nums dd{font-variant-numeric:tabular-nums;margin:0;font-size:.9375rem;font-weight:500}.badges{margin-top:var(--space-3);flex-wrap:wrap;gap:.4rem;display:flex}.badge{border-radius:999px;align-items:center;gap:.4rem;padding:.125rem .55rem;font-size:.75rem;display:inline-flex}.badge-state{letter-spacing:.03em;font-weight:700}.badge-ok{background:var(--ok-bg);color:var(--ok-text)}.badge-alarm{background:var(--alarm-bg);color:var(--alarm-text)}.chart{margin:0}.chart-box{width:100%;min-width:0;overflow:hidden}.chart-svg{max-width:100%;height:auto;display:block}.chart-grid{stroke:var(--grid);stroke-width:1px;shape-rendering:crispedges}.chart-axis{stroke:var(--limit);stroke-width:1px;shape-rendering:crispedges}.chart-tick,.chart-label,.chart-empty{fill:var(--muted);font-family:var(--font);font-variant-numeric:tabular-nums;font-size:12px}.chart-label{fill:var(--text)}.chart-label-year{fill:var(--muted);font-size:11px}.chart-empty{font-size:11px}.bar-invoice{fill:var(--invoice)}.bar-credits{fill:var(--credits);stroke:var(--surface);stroke-width:1.5px}.legend{gap:var(--space-4);margin-top:var(--space-2);color:var(--muted);flex-wrap:wrap;font-size:.8125rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:inline-flex}.swatch{border-radius:2px;width:.75rem;height:.75rem;display:inline-block}.swatch-invoice{background:var(--invoice)}.swatch-credits{background:var(--credits)}.months-table{width:100%;margin-top:var(--space-4);border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.875rem}.months-table th,.months-table td{padding:.45rem var(--space-2);border-top:1px solid var(--border);text-align:right;white-space:nowrap}.months-table th:first-child,.months-table td:first-child{padding-left:0}.months-table th:last-child,.months-table td:last-child{padding-right:0}.months-table thead th:not(:first-child){width:9rem}.months-table th[scope=row]{text-align:left;font-weight:500}.months-table thead th:first-child{text-align:left}.months-table thead th{color:var(--muted);border-top:0;font-size:.75rem;font-weight:600}.credits{flex-direction:column;display:flex}.credit{border-top:1px solid var(--border);padding:.6rem 0}.credit:first-child{border-top:0;padding-top:0}.credit:last-child{padding-bottom:0}.credit-head,.credit-meta{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.credit-desc{font-size:.9375rem;font-weight:500}.credit-amount{font-variant-numeric:tabular-nums;flex:none;font-size:.9375rem;font-weight:500}.credit-amount .muted{font-size:.8125rem;font-weight:400}.credit-meta{color:var(--muted);align-items:center;margin-top:.125rem;font-size:.8125rem}.status{letter-spacing:.04em;border-radius:4px;padding:.0625rem .4rem;font-size:.6875rem;font-weight:700}.status-on{background:var(--ok-bg);color:var(--ok-text)}.status-off{background:var(--track);color:var(--muted)}@media (max-width:600px){:root{--gutter:1rem}.content{padding-top:var(--space-4)}.tile,.card{padding:var(--space-4)}.tile-value{font-size:1.5rem}.email{max-width:40vw}.signin{padding:2rem 1.25rem 1.5rem}.months-table thead th:not(:first-child){width:auto}}
