:root{
  font:15px/1.55 Inter,"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;
  color:#182940;background:#f4f7fb;color-scheme:light;
  --ink:#182940;--muted:#52637a;--line:#dce4ee;--soft:#f3f6fa;--blue:#2056bb;--active:#eaf1ff;
}
*{box-sizing:border-box}
body{margin:0}
a{color:var(--blue);text-decoration:none}
button,input,select{font:inherit}
button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:5px 12px;border:1px solid #cbd6e4;border-radius:7px;background:white;color:#304763;cursor:pointer;white-space:nowrap}
button:hover{color:var(--blue);background:#f3f7ff;border-color:#98b3e0}
button.primary{color:white;background:var(--blue);border-color:var(--blue);font-weight:650}
button.primary:hover{background:#1748a2}
button:disabled{opacity:.55;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #5485da;outline-offset:2px}
h1,h2,h3,p{margin:0}h1{font-size:clamp(25px,2.25vw,33px);letter-spacing:-.045em;line-height:1.25}
h2{font-size:18px;letter-spacing:-.025em}h3{font-size:16px}
.icon{width:18px;height:18px;flex:none;vertical-align:middle}
.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:28px;overflow-y:auto;padding:24px 14px 16px;background:#fff;border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;min-width:0}
.sidebar .brand{padding:2px 7px 21px;border-bottom:1px solid var(--line)}
.brand-symbol,.brand-symbol img{display:block;flex:none;width:38px;height:38px}
.brand b,.brand small,.operator b,.operator small{display:block}
.brand b{font-size:17px;font-weight:750;letter-spacing:-.035em;white-space:nowrap}
.brand small,.operator small{font-size:12px;color:var(--muted)}
.side-nav{display:grid;gap:5px}
.side-nav a{display:flex;align-items:center;gap:12px;min-height:42px;padding:8px 13px;border-radius:8px;color:#495970;font-weight:550}
.side-nav a:hover{background:var(--soft);color:var(--blue)}
.side-nav a[aria-current]{background:var(--active);color:#194cae;font-weight:700;box-shadow:inset 3px 0 #2964cd}
.session{display:flex;align-items:center;gap:10px;margin-top:auto;padding:18px 5px 2px;border-top:1px solid var(--line)}
.avatar{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:50%;background:#e8edf8;color:#3f5d91;font-size:15px;font-weight:700}
.operator{min-width:0;flex:1}.operator b{font-size:14px;overflow-wrap:anywhere}
.signout,.mobile-menu{padding:7px}.signout{border-color:transparent;background:transparent}
.mobile-menu{display:none}
.main{min-width:0}
.topbar{display:flex;align-items:center;gap:13px;min-height:57px;padding:0 clamp(20px,3vw,46px);border-bottom:1px solid var(--line);background:#fff;font-size:13px;color:var(--muted)}
.topbar b{color:#364963;font-weight:650}.crumb-sep{color:#9aa8bb}
.workspace{max-width:1650px;margin:0 auto;padding:clamp(20px,2.4vw,36px) clamp(16px,3vw,46px) 40px}
.page-head,.panel-head,.model-toolbar,.form-actions,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-head,.panel-head,.model-toolbar{justify-content:space-between}
.page-head{margin-bottom:23px}.actions{gap:7px}
.view-tabs{display:flex;align-items:center;gap:23px;margin-bottom:21px;border-bottom:1px solid #d3ddea;overflow-x:auto}
.view-tabs a{display:block;flex:none;padding:7px 2px 11px;border-bottom:2px solid transparent;color:var(--muted);font-size:14px;font-weight:600}
.view-tabs a:hover,.view-tabs a[aria-current]{color:var(--blue)}.view-tabs a[aria-current]{border-bottom-color:var(--blue)}
.panel,.metric{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 2px 5px #20345207}
.panel-head{padding:16px 20px;border-bottom:1px solid var(--line)}
.text-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600}.text-link .icon{width:15px}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-bottom:20px}
.metric{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:19px 21px;color:var(--ink);min-height:119px}
.metric:hover,.service-row:hover{border-color:#a7bddf;background:#fbfcff}
.metric-icon,.service-glyph{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#edf2fd;color:#395cba}
.metric.green .metric-icon,.tone-image{background:#e7f5ef;color:#197353}
.metric.amber .metric-icon,.tone-parse{background:#fff2df;color:#925608}
.metric-label{color:#455871;font-weight:600}.metric strong{grid-row:2;grid-column:1/3;font-size:clamp(25px,2.1vw,32px);letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.metric-arrow{grid-column:3;grid-row:2;color:#687e9b}.metric-arrow .icon{width:16px}
.overview-panels{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(450px,1.5fr);gap:18px}
.overview-panels>.panel:only-child{grid-column:1/-1}
.service-list{padding:3px 17px}
.service-row{display:flex;gap:11px;align-items:center;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--ink)}
.service-row:last-child{border-bottom:0}.service-row b{flex:1;font-size:14px}.service-row>span:not(.service-glyph){color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.service-row>.icon{width:14px;color:#7385a1}
.list-search{display:flex;align-items:center;gap:7px;padding:5px 10px;min-height:34px;width:min(265px,100%);border:1px solid #cbd7e5;border-radius:7px;color:#61758f}
.list-search:focus-within{border-color:#5280ce;box-shadow:0 0 0 2px #dbe8ff}
.list-search input{min-width:0;width:100%;border:0;font-size:13px;background:transparent;color:var(--ink);outline:none}
.list-search .icon{width:15px}.filter-result{padding:10px 18px;color:var(--muted);font-size:13px}
.wrap{min-width:0;overflow:auto;overscroll-behavior-x:contain}
table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}
th,td{padding:12px 15px;border-bottom:1px solid #e5ebf2;overflow-wrap:anywhere;vertical-align:middle}
th{background:#f7f9fc;color:#50617a;font-size:12px;font-weight:650;white-space:nowrap}
td:first-child{font-weight:560}tbody tr:nth-child(even){background:#f9fbfe}tbody tr:hover{background:#f1f6ff}tbody tr:last-child td{border-bottom:0}
td button{font-size:13px;padding:4px 9px;min-height:30px}td .actions{gap:5px}
.cell-secondary{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.token-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.token-available{color:#14694a}
.record-id{font:12px/1.5 "IBM Plex Mono",Consolas,monospace;color:#4b607d}
.empty-cell{padding:36px 19px;text-align:center;color:var(--muted);font-size:14px;font-weight:400}
.list-panel{overflow:hidden}.list-panel table{min-width:560px}
.tag{display:inline-flex;align-items:center;gap:6px;border-radius:6px;padding:2px 8px;font-size:12px;white-space:nowrap;background:#eef1f5;color:#48576a}
.tag:before{content:"";height:6px;width:6px;border-radius:50%;background:currentColor}
.tag.green{color:#14694a;background:#e5f5ec}.tag.amber{color:#83530c;background:#fff2d9}.tag.blue{color:#2859ae;background:#e9f0ff}
.model-switch{gap:7px;padding:3px 6px;background:transparent;border-color:transparent;color:var(--muted);font-size:13px}
.model-switch:hover{background:#edf2f8;border-color:#cedaea;color:var(--ink)}
.model-switch[aria-disabled="true"]{opacity:.55;cursor:wait}
.switch-track{position:relative;width:30px;height:18px;flex:none;border-radius:12px;background:#728197}
.switch-track::after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff}
.model-switch[aria-checked="true"]{color:#14694a}
.model-switch[aria-checked="true"] .switch-track{background:#19815b}
.model-switch[aria-checked="true"] .switch-track::after{transform:translateX(12px)}
.model-toolbar{padding:13px 17px;border-bottom:1px solid var(--line)}
.model-categories{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:3px;background:var(--soft);border-radius:8px}
.model-categories a{display:inline-flex;gap:6px;align-items:center;padding:5px 10px;color:#485a71;font-size:13px;font-weight:600;border-radius:6px}
.model-categories a[aria-current]{background:#fff;color:var(--blue);box-shadow:0 1px 5px #334b7821}
.model-count{font-size:12px;font-variant-numeric:tabular-nums}
.usage-summary,.usage-pages{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:13px 16px}
.usage-summary b{color:var(--blue);font-variant-numeric:tabular-nums}.usage-pages{justify-content:flex-end}.usage-summary~p{margin:0 16px 10px}
td details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:34rem}td details summary{cursor:pointer;color:var(--blue)}
.muted,small{color:var(--muted)}.danger,.error{color:#ad3038}.error:empty{display:none}
.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 30% 10%,#eaf1ff 0,transparent 55%),#f5f8fc}
.login{width:min(420px,100%);padding:30px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 12px 38px #1c375311}
.login .brand{padding-bottom:19px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.login h1{font-size:26px;margin-bottom:21px}.login .primary{min-height:42px;margin-top:4px;justify-content:space-between;padding:0 15px}
dialog{width:min(560px,calc(100% - 28px));max-height:88vh;padding:0;margin:auto;overflow:auto;overscroll-behavior:contain;color:var(--ink);border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 70px #152e4d38}
dialog::backdrop{background:#162a435b}
dialog>header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 21px;border-bottom:1px solid var(--line);background:#fff}
dialog>header button{font-size:13px}#form{padding:19px 21px}
.form{display:grid;gap:14px}.form label{display:grid;gap:5px;color:#384d67;font-size:14px;font-weight:550}
.form input:not([type=checkbox]),.form select{width:100%;padding:8px 10px;min-height:38px;border:1px solid #bfcddd;border-radius:7px;color:var(--ink);font-weight:400;background:#fff}
.form input[readonly],.form select:disabled{background:#f3f6fa;color:var(--muted)}
.form .check{display:flex;gap:8px;align-items:center;font-weight:400}.form input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;margin:0}
.form fieldset{min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;padding:10px 13px}.form fieldset legend{padding:0 4px;color:#3d5575;font-weight:650}.form fieldset .checks+label{margin-top:12px}
.form-actions{position:sticky;bottom:-19px;justify-content:flex-end;background:#fff;padding:12px 0 2px;border-top:1px solid var(--line)}
.account-edit-actions{display:flex;align-items:center;gap:20px}
#manual-plan-panel{padding:12px;border:1px solid var(--line);border-radius:8px}
#manual-plan-panel:not([hidden]){display:grid;gap:8px}
#manual-plan-panel button{justify-self:start}
#manual-plan-panel p{margin:0}
#notice:empty{display:none}#notice:not(:empty){position:fixed;z-index:10;bottom:20px;left:50%;transform:translateX(-50%);background:#203953;color:#fff;padding:10px 18px;border-radius:9px;box-shadow:0 4px 18px #193b5426}
@media(max-width:1100px){.shell{grid-template-columns:200px minmax(0,1fr)}.overview-panels{grid-template-columns:1fr}.workspace{padding:22px}}
@media(max-width:800px){
 .shell{display:block}.sidebar{position:relative;top:auto;height:auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:11px 16px;overflow:visible;border:0;border-bottom:1px solid var(--line)}
 .sidebar .brand{padding:0;border:0}.brand-symbol,.brand-symbol img{width:32px;height:32px}.brand b{font-size:15px}.brand small{font-size:11px}
 .mobile-menu{display:flex}.side-nav,.session{display:none}.sidebar.open .side-nav,.sidebar.open .session{display:grid;grid-column:1/-1}
 .sidebar.open .side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar.open .session{display:flex;margin:0;padding:9px 3px 0}
 .topbar{min-height:38px;padding:0 16px;font-size:12px}.workspace{padding:19px 12px 30px}.page-head{margin-bottom:15px}
 .metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}.metric{min-height:98px;padding:12px;gap:8px}.metric strong{font-size:23px}.metric-icon{width:29px;height:29px}
 .panel-head{padding:12px 14px}.list-search{width:min(205px,100%)}.view-tabs{gap:15px}
 .model-toolbar{padding:11px}.overview-panels table{min-width:360px}.form-actions{bottom:-16px}#notice:not(:empty){max-width:93vw}
}

/* 共享视觉：环境光只落在背景，表单和数据保持易读。 */
:root{
 --ink:#202c40;--muted:#5b6d85;--line:#d3deeb;--soft:#eef3f9;--blue:#2868d8;--active:#e7f0ff;
 --surface:#fff;--surface-border:#dce5ef;
 --surface-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 34px rgba(55,83,118,.09);
 --ambient:radial-gradient(70rem 45rem at -8% 6%,rgba(255,210,157,.28),transparent 55%),radial-gradient(70rem 44rem at 108% 9%,rgba(160,207,255,.30),transparent 58%),#f7f9fc;
 --glass-nav:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.55));--glass-toolbar:rgba(255,255,255,.86);--glass-highlight:rgba(255,255,255,.92);
 color:var(--ink);background:#f7f9fc;
}
body{background:var(--ambient);background-attachment:fixed}
h1{font-size:clamp(23px,2vw,28px);letter-spacing:-.025em}
button{border-radius:10px}
button.primary{background:var(--blue);border-color:var(--blue)}
button.primary:hover{background:#1f59c0;border-color:#1f59c0}
.sidebar{background:#f9fbfe;border-color:#d3deeb}
.topbar{background:#fff;border-color:var(--line)}
.side-nav a{border-radius:10px}
.side-nav a[aria-current]{background:var(--active);color:#1d50ad;box-shadow:inset 3px 0 var(--blue)}
.panel,.metric,.login{background:var(--surface);border:1px solid var(--surface-border);border-radius:18px;box-shadow:var(--surface-shadow)}
.metric:hover{background:#fff}
.list-search,.model-categories,.model-categories a,.form input:not([type=checkbox]),.form select{border-radius:10px}
.list-search{background:rgba(255,255,255,.85)}
.model-toolbar,.panel-head{border-color:var(--line)}
th{background:rgba(240,245,251,.88)}
tbody tr:nth-child(even){background:rgba(246,249,253,.66)}
tbody tr:hover{background:rgba(232,241,255,.72)}
.login-screen{background:transparent}
.login{background:#fff;border-radius:20px}
dialog{background:#fcfdff;border-color:var(--surface-border);border-radius:20px;box-shadow:0 20px 70px rgba(32,54,84,.24)}
dialog>header,.form-actions{background:#fcfdff}
.form input:not([type=checkbox]),.form select{background:#fff}
.form input:disabled,.form input[readonly],.form select:disabled{background:#f0f4f8;color:#5b6d85;opacity:1}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
 .sidebar{background:var(--glass-nav);-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%)}
 .topbar{background:var(--glass-toolbar);-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%)}
 .metric{background:var(--glass-highlight);-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%)}
}
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more){
 .sidebar,.topbar,.panel,.metric,.metric:hover,.login{background:#fff;border-color:#aab9cb;-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
