/* 团队日报工作台 —— 样式
   版式：浅色画布(L0) + 侧边栏/卡片高一级灰阶(L1) + 单一深蓝强调色(只给按钮、导航、链接、焦点)
   等级用语义色：好=绿、正常=蓝灰、中=橙、差=红、极差=深红
   字体：Manrope(数字/英文) + Noto Sans SC(中文)；字重只用 400/500/600
   间距：8 点网格，组件内部 4 点 */
:root{
  /* 简洁大气：浅色画布 + 白色卡片 + 单一深蓝主色；等级用柔和的语义色 */
  --canvas:#f5f6f8; --surface:#ffffff; --surface-2:#f9fafb; --sunken:#eef0f3;
  --ink:#1c2230; --ink-2:#3f4757; --muted:#6b7280; --faint:#9aa1ad;
  --border:rgba(28,34,48,.09); --border-strong:rgba(28,34,48,.16);
  --accent:#2952a3; --accent-hover:#22478f; --accent-ink:#ffffff; --accent-soft:#edf2fb;
  --good:#1f7a4d; --good-bg:#e6f4ec; --great:#14613b;
  --ok:#3b6b94;   --ok-bg:#e8f0f7;
  --mid:#a15c07;  --mid-bg:#fbf0de;
  --bad:#c0392b;  --bad-bg:#fbe8e5;
  --xbad:#8f1d14; --xbad-ink:#ffffff;
  --shadow:0 1px 2px rgba(28,34,48,.04),0 2px 12px rgba(28,34,48,.04);
  --r-lg:14px; --r-md:8px; --r-sm:6px;
  --font:"Manrope","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --t-meta:.75rem; --t-sec:.875rem; --t-body:1rem; --t-h3:1rem; --t-h2:1.125rem; --t-h1:1.75rem; --t-num:2rem;
  --side-w:240px;
}
@media (prefers-color-scheme: dark){:root{
  --canvas:#111418; --surface:#181c22; --surface-2:#1c2128; --sunken:#14181d;
  --ink:#e6e9ee; --ink-2:#c5cad3; --muted:#9aa1ad; --faint:#737b88;
  --border:rgba(230,233,238,.09); --border-strong:rgba(230,233,238,.16);
  --accent:#8fb0ec; --accent-hover:#a5c0f0; --accent-ink:#0f1726; --accent-soft:#1f2a3d;
  --good:#6fcb98; --good-bg:#1b3125; --great:#3fae73;
  --ok:#8db8d9;   --ok-bg:#1d2a35;
  --mid:#eeb062;  --mid-bg:#352819;
  --bad:#ef8c80;  --bad-bg:#3a201d;
  --xbad:#c2392d; --xbad-ink:#ffffff;
  --shadow:inset 0 1px 0 rgba(255,255,255,.04);
  color-scheme:dark}}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:var(--t-body);line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3{margin:0;font-weight:600;line-height:1.2}
.muted{color:var(--muted)}
.small{font-size:var(--t-meta);line-height:1.4}

/* ---------- 登录 ---------- */
.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:40px 32px;display:flex;flex-direction:column;gap:24px}
.login-card h1{font-size:var(--t-h1)}
.login-card form,.login-fields{display:flex;flex-direction:column;gap:16px}
.login-mark{width:40px;height:40px;border-radius:10px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:18px;font-weight:600}

/* ---------- 框架 ---------- */
.shell{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh;width:100%}
.side{background:var(--surface-2);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:24px;padding:24px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px}
.brand .login-mark{width:32px;height:32px;font-size:15px;border-radius:8px}
.brand b{font-size:var(--t-body);font-weight:600;line-height:1.2;display:block}
.brand small{display:block;font-size:var(--t-meta);color:var(--muted);line-height:1.4}
.nav{display:flex;flex-direction:column;gap:4px}
.nav-label{font-size:var(--t-meta);color:var(--faint);padding:0 12px 4px}
.nav a{display:flex;align-items:center;min-height:40px;padding:0 12px;border-radius:var(--r-md);color:var(--ink-2);text-decoration:none;font-size:var(--t-sec);font-weight:500}
.nav a:hover{background:var(--sunken);color:var(--ink)}
.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.me-box{margin-top:auto;border-top:1px solid var(--border);padding:16px 8px 0;display:flex;flex-direction:column;gap:12px}
.me{display:flex;align-items:center;gap:12px;min-width:0}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--sunken);color:var(--ink-2);display:grid;place-items:center;font-weight:600;font-size:var(--t-sec);flex:none}
.me-name{font-weight:500;font-size:var(--t-sec);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-meta{font-size:var(--t-meta);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
.role-badge{color:var(--ink-2);font-weight:500;margin-right:4px}
.role-badge::after{content:"·";margin-left:4px;color:var(--faint)}
.me-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.me-actions button{height:36px;font-size:var(--t-meta)}

/* 手机顶栏（窄屏才出现） */
.mtop{display:none}
.scrim{display:none}

.main{min-width:0;width:100%;max-width:1280px;margin-inline:auto;padding:32px 32px 64px;display:flex;flex-direction:column;gap:24px}
.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.page-head h1{font-size:var(--t-h1);letter-spacing:-.01em}
.page-head p{margin:4px 0 0;color:var(--muted);font-size:var(--t-sec)}
.tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.view{display:flex;flex-direction:column;gap:24px}

@media (max-width:767.98px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .mtop{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:20;background:var(--surface-2);border-bottom:1px solid var(--border);padding:8px 16px}
  .mtop .brand{padding:0}
  .side{position:fixed;inset:0 auto 0 0;width:min(280px,85vw);z-index:40;transform:translateX(-100%);transition:transform .2s ease;box-shadow:none}
  .side.open{transform:none;box-shadow:0 0 0 100vmax rgba(10,15,12,.35)}
  .scrim.open{display:block;position:fixed;inset:0;z-index:30}
  .main{padding:24px 16px 48px}
  .page-head{align-items:stretch}
  .tools{width:100%}
  .tools label{flex:1 1 140px}
}
@media (prefers-reduced-motion:reduce){.side{transition:none}}

/* ---------- 卡片（L1） ---------- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);min-width:0}
.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:16px 24px;border-bottom:1px solid var(--border)}
.card-head h2{font-size:var(--t-h3)}
.card-head .sub{font-size:var(--t-meta);color:var(--muted);font-weight:400;margin-left:8px}
.card-body{padding:24px}
.card-foot{padding:12px 24px;border-top:1px solid var(--border);font-size:var(--t-meta);color:var(--muted);line-height:1.4}
@media (max-width:767.98px){.card-head{padding:16px}.card-body{padding:16px}.card-foot{padding:12px 16px}}

/* ---------- 概览：漏斗 + 状态 ---------- */
.overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
@media (max-width:1023.98px){.overview{grid-template-columns:minmax(0,1fr)}}
.fn{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:0;padding:24px}
.fn-stage{display:flex;flex-direction:column;gap:8px;min-width:0}
.fn-k{font-size:var(--t-sec);color:var(--muted);font-weight:500}
.fn-v{font-size:var(--t-num);font-weight:500;line-height:1.1;letter-spacing:-.01em}
.fn-sub{font-size:var(--t-meta);color:var(--muted);line-height:1.4}
.fn-bar{height:8px;border-radius:4px;background:var(--sunken);overflow:hidden;margin-top:auto}
.fn-bar i{display:block;height:100%;min-width:3px;background:var(--ink-2);border-radius:4px}
.fn-stage.last .fn-bar i{background:var(--accent)}
.fn-step{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 16px;color:var(--muted);font-size:var(--t-meta);text-align:center;line-height:1.4}
.fn-step .arrow{width:40px;height:1px;background:var(--border-strong);position:relative;margin:4px 0}
.fn-step .arrow::after{content:"";position:absolute;right:-1px;top:-3px;border:4px solid transparent;border-left:6px solid var(--border-strong);border-right:0}
.fn-step b{font-size:var(--t-body);font-weight:600;color:var(--ink)}
@media (max-width:767.98px){
  .fn{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}
  .fn-step{flex-direction:row;justify-content:flex-start;padding:0;gap:8px}
  .fn-step .arrow{display:none}
}
.status{display:flex;flex-direction:column}
.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border);min-height:64px}
.status-row:last-child{border-bottom:0}
.status-row .k{font-size:var(--t-sec);color:var(--muted)}
.status-row .k small{display:block;font-size:var(--t-meta);color:var(--faint);line-height:1.4}
.status-row .v{font-size:1.25rem;font-weight:500;text-align:right;white-space:nowrap}
.status-row .v small{font-size:var(--t-sec);color:var(--muted);font-weight:400}
.status-row.alert .v{color:var(--bad)}
.progress{height:6px;border-radius:3px;background:var(--sunken);overflow:hidden;margin-top:8px;width:120px;margin-left:auto}
.progress i{display:block;height:100%;background:var(--accent);border-radius:3px}

/* 兼容旧的指标卡 */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:16px}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:16px 24px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi .k{font-size:var(--t-sec);color:var(--muted)}
.kpi .v{font-size:1.5rem;font-weight:500;line-height:1.2}
.kpi .v small{font-size:var(--t-sec);color:var(--faint);margin-left:4px;font-weight:400}
.kpi .s{font-size:var(--t-meta);color:var(--muted);line-height:1.4}
.kpi.alert .v{color:var(--bad)}

/* ---------- 表单 ---------- */
label{display:flex;flex-direction:column;gap:4px;font-size:var(--t-sec);font-weight:500;color:var(--ink-2);min-width:0}
.req{color:var(--bad)}
input,select,textarea{font:inherit;font-size:var(--t-sec);color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:0 12px;width:100%;height:40px;font-weight:400}
textarea{height:auto;min-height:72px;padding:8px 12px;resize:vertical;line-height:1.55}
input:hover,select:hover,textarea:hover{border-color:var(--faint)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
input:disabled{background:var(--surface-2);color:var(--ink);opacity:1;border-color:var(--border)}
input::placeholder,textarea::placeholder{color:var(--faint)}
.tools label{width:auto;font-size:var(--t-meta);color:var(--muted);font-weight:500}
.tools input,.tools select{min-width:152px}
button{font:inherit;font-size:var(--t-sec);font-weight:500;border-radius:var(--r-md);padding:0 16px;height:40px;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);white-space:nowrap}
button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
button.ghost{background:var(--surface);color:var(--ink-2);border-color:var(--border-strong)}
button.ghost:hover{border-color:var(--ink-2);color:var(--ink);background:var(--surface)}
button.danger{background:var(--surface);color:var(--bad);border-color:var(--border-strong)}
button.danger:hover{border-color:var(--bad);background:var(--surface)}
button.sm{height:32px;padding:0 12px;font-size:var(--t-sec)}
button:disabled{opacity:.5;cursor:not-allowed}
@media (pointer:coarse){input,select,button,button.sm,.seg{min-height:44px}.seg button{min-height:36px}}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.msg{font-size:var(--t-sec);color:var(--good)}
.msg.err{color:var(--bad)}

/* 分段切换 */
.seg{display:inline-flex;background:var(--sunken);border-radius:var(--r-md);padding:4px;gap:4px;height:40px}
.seg button{height:32px;border:0;background:transparent;color:var(--muted);padding:0 16px;border-radius:var(--r-sm)}
.seg button:hover{background:transparent;color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(20,30,25,.06)}

/* 填写页 */
.fill-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
@media (max-width:1023.98px){.fill-grid{grid-template-columns:minmax(0,1fr)}}
.form-sec{display:flex;flex-direction:column;gap:16px}
.form-sec + .form-sec{border-top:1px solid var(--border);padding-top:24px;margin-top:24px}
.sec-title{font-size:var(--t-sec);font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:8px}
.sec-title span{font-weight:400;color:var(--muted);font-size:var(--t-meta)}
.f3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:767.98px){.f3,.f2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.big input{height:48px;font-size:1.25rem;font-weight:500}
.rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}
.rate-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 16px;display:flex;flex-direction:column;gap:4px}
.rate-box .k{font-size:var(--t-sec);color:var(--muted)}
.rate-box .v{font-size:1.25rem;font-weight:500;line-height:1.2}
.rate-box .f{font-size:var(--t-meta);color:var(--muted);line-height:1.4}
.rate-box.bad{border-color:color-mix(in srgb,var(--bad) 35%,transparent)}
.side-stats{display:flex;flex-direction:column;padding-top:8px;padding-bottom:8px}
.stat-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--border);font-size:var(--t-sec)}
.stat-row:last-child{border-bottom:0}
.stat-row b{font-size:var(--t-body);font-weight:500}
.notice{font-size:var(--t-meta);color:var(--mid);line-height:1.4}

/* ---------- 表格 ---------- */
.tbl-wrap{overflow-x:auto}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--t-sec)}
thead th{position:sticky;top:0;background:var(--surface-2);text-align:right;font-weight:500;font-size:var(--t-meta);color:var(--muted);padding:12px;border-bottom:1px solid var(--border);white-space:nowrap;line-height:1.4}
td{padding:12px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;line-height:1.4;color:var(--ink)}
th.l,td.l{text-align:left}
th:first-child,td:first-child{padding-left:24px}
th:last-child,td:last-child{padding-right:24px}
tbody tr:hover td{background:var(--surface-2)}
tbody tr:last-child td{border-bottom:0}
th.rate{color:var(--muted)}
td.rate{color:var(--ink)}
tbody tr.click{cursor:pointer}
tbody tr.sel td{background:var(--accent-soft)!important}
tbody tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
tbody tr.missing td{color:var(--faint)}
tfoot td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--border-strong);border-bottom:0}
.cost-in{width:96px;height:32px;padding:0 8px;text-align:right}
.empty{color:var(--muted);text-align:center!important;padding:48px 16px!important;white-space:normal;font-size:var(--t-sec)}
.who{display:flex;align-items:baseline;gap:8px}
.who strong{font-weight:500}
.who .role{font-size:var(--t-meta);color:var(--muted)}
.dot{display:none}
/* 状态：小圆点 + 文字，不用药丸 */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-sec);white-space:nowrap;color:var(--ink-2)}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--faint)}
.chip.ok::before{background:var(--good)}
.chip.miss{color:var(--bad)}
.chip.miss::before{background:var(--bad)}
.chip.grp::before{background:var(--accent)}
.chip.warn::before{background:var(--mid)}
.chip.off{color:var(--muted)}
/* 表格内横条 */
.barc{position:relative;min-width:112px}
.barc .bar{position:absolute;left:12px;right:12px;bottom:4px;height:3px;border-radius:2px;background:var(--sunken)}
.barc .bar i{display:block;height:100%;border-radius:2px;background:var(--ink-2);width:var(--w);opacity:.6}

/* ---------- 等级 ---------- */
.lv{display:inline-block;font-size:var(--t-meta);line-height:20px;padding:0 6px;border-radius:4px;font-weight:500;margin-left:4px;vertical-align:1px}
.lv-good{background:var(--good-bg);color:var(--good)}
.lv-ok{background:var(--ok-bg);color:var(--ok)}
.lv-mid{background:var(--mid-bg);color:var(--mid)}
.lv-bad{background:var(--bad-bg);color:var(--bad)}
.lv-xbad{background:var(--xbad);color:var(--xbad-ink)}
td.rate.c-xbad{color:var(--bad);font-weight:600}
td.rate.c-bad{color:var(--bad)}
.lv-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1023.98px){.lv-row{grid-template-columns:minmax(0,1fr)}}
.lv-row .kpi{gap:8px}
.lvns{display:flex;gap:8px}
.lvn{flex:1;display:flex;flex-direction:column;gap:0;padding:8px 12px;border-radius:var(--r-md);font-size:var(--t-meta);font-weight:500;line-height:1.4;min-width:0}
.lvn b{font-size:1.25rem;font-weight:500;line-height:1.2}
.lvn b small{font-size:var(--t-meta);font-weight:400}
.lvn.lv-xbad{color:var(--xbad-ink)}

/* 员工对比 */
.dist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1023.98px){.dist-grid{grid-template-columns:minmax(0,1fr)}}
.stack{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--sunken);gap:2px}
.stack i{display:block;height:100%}
.stack .s-good{background:var(--good)} .stack .s-ok{background:var(--ok)} .stack .s-mid{background:var(--mid)} .stack .s-bad{background:var(--bad)} .stack .s-xbad{background:var(--xbad)}
.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:16px}
.legend > div{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:4px}
.legend b{font-size:1.25rem;font-weight:500;line-height:1.2}
.legend .names{font-size:var(--t-meta);color:var(--muted);white-space:normal;line-height:1.4}
.legend .lv{align-self:flex-start;margin:0}
.rank{display:inline-block;min-width:24px;font-weight:500;color:var(--muted)}
.rank.r1,.rank.r2,.rank.r3{color:var(--ink);font-weight:600}
.daybar{display:flex;align-items:center;gap:8px;min-width:208px}
.daybar .stack{flex:1;height:6px;min-width:88px}
.daybar small{color:var(--muted);font-size:var(--t-meta);white-space:nowrap}

/* 复选列表 */
.checks-box{border:0;padding:0;margin:0;min-width:0}
.checks-box legend{font-size:var(--t-sec);font-weight:500;color:var(--ink-2);padding:0;margin-bottom:8px}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{flex-direction:row;align-items:center;gap:8px;color:var(--ink);font-weight:400;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:0 12px;min-height:40px;cursor:pointer}
.checks label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.checks input{width:auto;height:auto;accent-color:var(--accent)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(184px,1fr));gap:16px;align-items:end}

/* ---------- 弹窗（L3，不用毛玻璃） ---------- */
dialog{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);padding:0;width:min(480px,calc(100vw - 32px));box-shadow:0 8px 32px rgba(10,15,12,.07)}
dialog::backdrop{background:rgba(10,15,12,.4)}
dialog form{display:flex;flex-direction:column;gap:16px;padding:24px}
dialog h2{font-size:var(--t-h2)}
.switch{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--ink)!important;font-weight:400!important;min-height:40px}
.switch input{width:auto;height:auto;accent-color:var(--accent)}
strong,b{font-weight:600}
.me-actions button{background:var(--surface);color:var(--ink-2);border-color:var(--border-strong)}
.me-actions button:hover{background:var(--surface);color:var(--ink);border-color:var(--ink-2)}
@media (min-width:768px){.shell{background:linear-gradient(to right,var(--surface-2) calc(var(--side-w) - 1px),var(--border) calc(var(--side-w) - 1px),var(--border) var(--side-w),var(--canvas) var(--side-w))}}
@media (max-width:767.98px){.fn-v{font-size:1.5rem}.fn-stage{gap:4px}}
.overview > .card{display:flex;flex-direction:column}
.overview .fn{flex:1}
.legend{display:flex;flex-direction:column;gap:0;margin-top:16px}
.legend > div{display:grid;grid-template-columns:48px 64px minmax(0,1fr);align-items:center;gap:8px;border:0;border-top:1px solid var(--border);border-radius:0;padding:12px 0}
.legend > div:first-child{border-top:0}
.lv-great{background:var(--great);color:#fff}
.stack .s-great{background:var(--great)}
.lvn.lv-great{color:#fff}

.dist-grid .card-head h2{flex-wrap:wrap;row-gap:4px}
.dist-grid .card-head .sub{flex-basis:100%;margin-left:14px;white-space:normal;line-height:1.4}
.rates{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* 大气：更从容的留白 */
.main{padding:40px 40px 72px;gap:32px}
.view{gap:32px}
.page-head h1{font-size:var(--t-h1);letter-spacing:-.015em}
.card-head{padding:20px 24px}
.fn{padding:32px 24px}
.fn-bar i{background:var(--ink-2)}
.fn-stage.last .fn-bar i{background:var(--accent)}
.lv-great{background:var(--great);color:#fff}
.stack .s-great{background:var(--great)}
.lvn.lv-great{color:#fff}
@media (max-width:767.98px){.main{padding:24px 16px 48px;gap:24px}.view{gap:24px}}
.lvn.zero{opacity:.38}
.dist-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1023.98px){.dist-grid.two{grid-template-columns:minmax(0,1fr)}}
.finding{margin:0;padding:16px 24px 0;font-size:var(--t-sec);color:var(--ink-2)}
.finding:empty{display:none}
.inline-sel select{min-width:140px}

/* 加主号排名 */
.mine-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.mine-card > div{padding:20px 24px;border-left:1px solid var(--border)}
.mine-card > div:first-child{border-left:0}
.mine-card .k{font-size:var(--t-sec);color:var(--muted)}
.mine-card .v{font-size:1.5rem;font-weight:500;line-height:1.3}
.mine-card .v small{font-size:var(--t-sec);color:var(--muted);font-weight:400}
@media (max-width:767.98px){.mine-card{grid-template-columns:minmax(0,1fr)}.mine-card > div{border-left:0;border-top:1px solid var(--border)}.mine-card > div:first-child{border-top:0}}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.podium:empty{display:none}
@media (max-width:767.98px){.podium{grid-template-columns:minmax(0,1fr)}}
.pod{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px 24px;display:flex;flex-direction:column;gap:4px;border-top:3px solid var(--border-strong)}
.pod.p1{border-top-color:#d4a72c}
.pod.p2{border-top-color:#9aa4b1}
.pod.p3{border-top-color:#b8743f}
.pod.is-me{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}
.pod-rank{font-size:var(--t-sec);color:var(--muted);font-weight:500}
.pod.p1 .pod-rank{color:#a07a12}
.pod-name{font-size:var(--t-body);font-weight:600}
.pod-num{font-size:var(--t-num);font-weight:500;line-height:1.2}
.pod-num small{font-size:var(--t-sec);color:var(--muted);font-weight:400}
.pod-sub{font-size:var(--t-meta);color:var(--muted);line-height:1.4}
.you{display:inline-block;font-size:var(--t-meta);line-height:18px;padding:0 6px;border-radius:4px;background:var(--accent);color:var(--accent-ink);margin-left:6px;font-weight:500;vertical-align:1px}
.rank.r1{color:#a07a12}.rank.r2{color:#6b7480}.rank.r3{color:#9a5a2a}

/* 语言切换 */
.lang-btn{min-width:44px;font-weight:600;letter-spacing:.02em}
.login-card{position:relative}
.login-lang{position:absolute;top:14px;right:14px;height:30px;padding:0 10px;font-size:13px}
.mtop .lang-btn{margin-left:auto;margin-right:8px}
