:root{color-scheme:light;--bg:#f6f7f9;--panel:#ffffff;--panel-muted:#f0f3f6;--input-bg:#ffffff;--text:#17202a;--muted:#687385;--line:#dce2e8;--strong-line:#b8c3cf;--accent:#146c63;--accent-strong:#0d514b;--danger:#b42318;--danger-bg:#fff0ed;--danger-line:#f1b8b2;--ok:#16794c;--warn:#9a6700;--ok-bg:#e8f7ef;--warn-bg:#fff7df;--secret-bg:#eaf7f5;--secret-text:#0d514b;--secret-line:#b6ded7;--focus-ring:rgba(20,108,99,0.12);--shadow:0 18px 45px rgba(32,42,54,0.08)}[data-theme=dark]{color-scheme:dark;--bg:#0f1318;--panel:#171d24;--panel-muted:#202832;--input-bg:#111820;--text:#edf2f7;--muted:#9aa6b5;--line:#2a3440;--strong-line:#465363;--accent:#42b8a8;--accent-strong:#68cdbf;--danger:#ff8d83;--danger-bg:#351b1d;--danger-line:#743233;--ok:#60d394;--warn:#f5c65b;--ok-bg:#143324;--warn-bg:#332a13;--secret-bg:#102b28;--secret-text:#96e4d8;--secret-line:#2f695f;--focus-ring:rgba(66,184,168,0.2);--shadow:0 18px 45px rgba(0,0,0,0.22)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{border:1px solid var(--strong-line);background:var(--panel);color:var(--text);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--input-bg);color:var(--text);padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:650}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}th{color:var(--muted);font-size:12px;font-weight:700}td{font-size:13px}code{border:1px solid var(--line);border-radius:6px;background:var(--panel-muted);padding:2px 6px}.admin-shell{min-height:100vh;padding:28px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 auto 22px;max-width:1420px}.admin-title h1{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0;font-size:24px;line-height:1.2}.dashboard-user-name{color:var(--muted);font-size:14px;font-weight:750}.admin-title p{margin:6px 0 0;color:var(--muted);font-size:13px}.header-actions{display:flex;gap:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:18px;margin:0 auto;min-width:0;max-width:1420px}.dashboard-grid-collapsed{grid-template-columns:minmax(118px,148px) minmax(0,1fr)}.stack{display:grid;gap:18px;min-width:0}.setup-sidebar{align-self:start}.setup-rail-header{align-items:stretch;flex-direction:column}.setup-rail-header h2{text-align:center}.usage-layout{display:grid;gap:18px;margin:0 auto;min-width:0;max-width:1420px}.panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:15px 16px}.panel-header h2{margin:0;font-size:15px;line-height:1.2}.panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.panel-note{color:var(--muted);font-size:12px;font-weight:700;text-align:right}.panel-body{padding:16px}.collapsed-panel{color:var(--muted);font-size:13px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.metric{border:1px solid var(--line);border-radius:8px;padding:12px}.metric span{display:block;color:var(--muted);font-size:11px;font-weight:700}.metric strong{display:block;margin-top:7px;font-size:22px;line-height:1}.metric-value-highlight{color:var(--accent-strong)}.usage-chart{display:grid;gap:8px}.usage-day{display:grid;grid-template-columns:96px minmax(118px,150px) minmax(140px,1fr) 92px 108px;align-items:center;gap:12px;min-height:42px;min-width:0;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel-muted) 42%,transparent);padding:8px 10px}.usage-bar-wrap{overflow:hidden;height:12px;border-radius:999px;background:var(--panel-muted)}.usage-bar{width:var(--usage-bar-width);height:100%;min-height:0;border-radius:inherit;background:var(--accent)}.usage-day-date,.usage-day-meta,.usage-day-share,.usage-day-stats{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-day-date,.usage-day-stats{display:grid;gap:2px}.usage-day-date strong,.usage-day-stats strong{font-size:13px;line-height:1.1;font-weight:750}.usage-day-date span,.usage-day-meta,.usage-day-share,.usage-day-stats span{color:var(--muted);font-size:11px;font-weight:650}.usage-day-meta,.usage-day-share{text-align:right}.usage-overview{display:grid;gap:14px}.usage-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px}.usage-overview-item{min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px}.usage-overview-item small,.usage-overview-item span{display:block;overflow:hidden;color:var(--muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.usage-overview-item strong{display:block;margin-top:6px;overflow:hidden;font-size:20px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.usage-overview-item small{margin-top:5px}.usage-mini-chart{display:grid;gap:7px}.usage-mini-day{display:grid;grid-template-columns:44px minmax(80px,1fr) 80px;align-items:center;gap:10px;min-width:0}.usage-mini-day span,.usage-mini-day strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-mini-day span{color:var(--muted);font-size:11px;font-weight:700}.usage-mini-day strong{font-size:12px;text-align:right}.usage-mini-bar-wrap{overflow:hidden;height:9px;border-radius:999px;background:var(--panel-muted)}.usage-mini-bar{width:var(--usage-bar-width);height:100%;border-radius:inherit;background:var(--accent)}.api-key-daily-bars{display:grid;grid-template-columns:repeat(14,minmax(5px,1fr));align-items:end;gap:3px;width:168px;height:34px}.api-key-daily-bar{display:block;height:var(--api-key-bar-height);min-height:2px;border-radius:2px;background:var(--accent)}.api-key-daily-bar.is-empty{background:var(--strong-line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.form-grid .wide{grid-column:1/-1}.checkbox-line{display:flex;align-items:center;gap:9px;min-height:38px;color:var(--text);font-size:13px}.checkbox-line input{width:16px;height:16px}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.primary-button{border-color:var(--accent);background:var(--accent);color:#fff}.ghost-link-button,.link-button,.primary-link-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--strong-line);border-radius:6px;color:var(--text);font-weight:700;text-decoration:none}.primary-link-button{min-height:38px;border-color:var(--accent);background:var(--accent);color:#fff;padding:8px 12px}.ghost-link-button{min-height:38px;background:var(--panel);padding:8px 12px}.link-button{min-height:30px;padding:5px 9px;font-size:12px}.primary-button:hover,.primary-link-button:hover{background:var(--accent-strong)}.danger-button,.ghost-button,.primary-button{min-height:38px;border-radius:6px;padding:8px 12px;font-weight:700}.danger-button{border-color:var(--danger-line);background:var(--danger-bg);color:var(--danger)}.status{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:750}.status-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.status.healthy{background:var(--ok-bg);color:var(--ok)}.status.degraded,.status.unknown{background:var(--warn-bg);color:var(--warn)}.status.disabled,.status.unhealthy{background:var(--danger-bg);color:var(--danger)}.usage-badge{display:inline-flex;align-items:center;margin-left:6px;border:1px solid var(--strong-line);border-radius:999px;padding:1px 6px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.leaderboard-rank{color:var(--accent-strong);font-weight:800;white-space:nowrap}.current-user-row{background:color-mix(in srgb,var(--accent) 8%,transparent)}.line-chart-panel{display:grid;gap:10px}.line-chart{display:block;width:100%;height:280px;min-height:220px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--panel-muted) 42%,transparent)}.line-chart-grid{stroke:var(--line);stroke-width:1}.line-chart-y-label{fill:var(--muted);font-size:12px;font-weight:700;text-anchor:end}.line-chart-area{fill:color-mix(in srgb,var(--accent) 14%,transparent)}.line-chart-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.line-chart-dot{fill:var(--panel);stroke:var(--accent);stroke-width:3}.line-chart-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;color:var(--muted);font-size:11px;font-weight:700}.line-chart-labels span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-chart-labels span:nth-child(2){text-align:center}.line-chart-labels span:nth-child(3){text-align:right}.token-breakdown-cell{min-width:120px}.token-breakdown-values{overflow:hidden;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.key-cell{display:grid;gap:3px;min-width:150px}.key-cell span,.key-cell strong{display:block;overflow:hidden;max-width:220px;text-overflow:ellipsis;white-space:nowrap}.key-cell span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:650}.client-cell{min-width:120px}.client-cell span{display:block}.client-cell span,.ip-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ip-cell{min-width:110px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:650}.table-wrap{overflow-x:auto}.actions{display:flex;flex-wrap:wrap;gap:8px}.upstream-drag-row{transition:background .12s ease,opacity .12s ease}.upstream-drag-row.is-dragging{opacity:.56}.upstream-drag-row.is-drag-over-before td{box-shadow:inset 0 2px 0 var(--accent)}.upstream-drag-row.is-drag-over-after td{box-shadow:inset 0 -2px 0 var(--accent)}.upstream-drag-handle{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);padding:5px 8px;touch-action:none;-webkit-user-select:none;user-select:none}.upstream-drag-row.is-draggable .upstream-drag-handle{cursor:grab}.upstream-drag-row.is-dragging .upstream-drag-handle{cursor:grabbing}.drag-grip{width:14px;height:18px;opacity:.8;background-image:radial-gradient(currentColor 1px,transparent 1.5px);background-size:6px 6px}.drag-index{min-width:10px;color:var(--text);font-size:12px;font-weight:750;line-height:1}.upstream-name-cell{min-width:220px}.upstream-name-line{display:flex;align-items:center;gap:9px;min-width:0}.upstream-name-cell>.muted,.upstream-name-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upstream-name-cell>.muted{max-width:260px}.upstream-config-cell{min-width:180px}.upstream-config-cell>div{overflow:hidden;max-width:220px;text-overflow:ellipsis;white-space:nowrap}.upstream-traffic-cell{min-width:184px}.traffic-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upstream-actions-column{min-width:204px}.upstream-actions{flex-wrap:nowrap}.small-button{min-height:30px;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700}.theme-button{white-space:nowrap}.muted{color:var(--muted)}.error-box,.secret-box{border-radius:8px;margin-bottom:14px;padding:12px;font-size:13px}.error-box{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger)}.secret-box{background:var(--secret-bg);color:var(--secret-text)}.secret-box,.secret-value{border:1px solid var(--secret-line)}.secret-value{display:block;margin-top:8px;overflow-wrap:anywhere;border-radius:6px;background:var(--input-bg);padding:9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.empty-state{border:1px dashed var(--strong-line);border-radius:8px;color:var(--muted);padding:18px;text-align:center}.login-panel{margin:12vh auto 0;max-width:430px}@media (max-width:1120px){.dashboard-grid,.summary-grid,.usage-overview-grid{grid-template-columns:1fr}.usage-day{grid-template-columns:90px minmax(100px,128px) minmax(120px,1fr)}.usage-day-meta,.usage-day-share{display:none}.admin-header{flex-direction:column}}@media (max-width:700px){.admin-shell{padding:16px}.form-grid{grid-template-columns:1fr}.header-actions{width:100%;flex-wrap:wrap}.header-actions .ghost-link-button,.header-actions button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 5px)}.panel-header{align-items:flex-start;flex-direction:column}.panel-note{text-align:left}.usage-day{grid-template-columns:88px 1fr;gap:8px 10px}.usage-bar-wrap{grid-column:1/-1}.usage-mini-day{grid-template-columns:44px minmax(70px,1fr) 70px}}