[hidden]{display:none!important}
:root{color-scheme:light;
  --canvas:#f3f6fa;--surface:#fff;--surface-2:#f6f8fb;--surface-3:#edf2f7;--surface-hover:#f5fbfd;
  --ink:#0b1628;--ink-2:#47586b;--muted:#64748b;--line:#dce4ee;--line-strong:#c7d9e8;
  --accent:#19b6c9;--accent-deep:#08798a;--accent-soft:#e8f7f9;--accent-line:#d7edf1;--accent-on:#052d36;
  --glow:#31d7e8;--glow-2:#3478f6;
  --dash-accent:#3e8079;--dash-deep:#266b66;
  --danger:#c43d4e;--danger-soft:#fff0f2;--danger-line:#f1c8ce;--danger-ink:#a63847;
  --warning:#c47a17;--warning-soft:#fff8eb;--warning-line:#f1d8aa;--warning-ink:#7a571c;
  --success:#18845c;--success-soft:#eaf8f1;--success-line:#b8e6dd;--success-ink:#117356;
  --sidebar-bg:radial-gradient(circle at 30% 8%,rgba(49,215,232,.14),transparent 24%),linear-gradient(165deg,#102846 0%,#071524 58%,#050d17 100%);
  --sidebar-ink:#eaf2fb;--sidebar-ink-strong:#fff;--sidebar-muted:#9fb1c7;--sidebar-hover:rgba(255,255,255,.09);--sidebar-line:rgba(255,255,255,.12);--sidebar-active:linear-gradient(90deg,rgba(49,215,232,.16),rgba(52,120,246,.08));
  --hero-bg:linear-gradient(120deg,#081827,#12385d);--hero-accent:#60e2ec;--hero-deco:rgba(83,225,234,.19);--hero-deco-soft:rgba(83,225,234,.025);--hero-glow:rgba(49,215,232,.22);--hero-bg-solid:#071b2f;--hero-ink:#eafaff;--hero-muted:#a8c8d9;--hero-line:rgba(61,154,203,.25);
  --btn-primary-bg:linear-gradient(115deg,#0d1c31 0%,#123c68 64%,#106f80 100%);--btn-primary-hover:linear-gradient(115deg,#122640,#155080 62%,#0b8996);--btn-primary-ink:#fff;
  --toast-bg:#0b1628;--toast-ink:#fff;
  --topbar-bg:rgba(243,246,250,.82);--topbar-line:rgba(203,218,233,.65);
  --body-bg:linear-gradient(rgba(15,44,78,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(15,44,78,.024) 1px,transparent 1px),radial-gradient(circle at 92% 8%,rgba(49,215,232,.09),transparent 24%),var(--canvas);
  --focus-ring:0 0 0 3px rgba(25,182,201,.12);--focus-ring-strong:0 0 0 4px rgba(25,182,201,.13);--focus-outline:#31d7e8;--ripple:rgba(116,235,244,.42);--signal:#57e5bd;
  --num-fill:linear-gradient(180deg,#1b2a3a,#2d5a55);--num-font:inherit;--title-font:inherit;
  --electric:#31d7e8;--blue:#3478f6;--cyan:#19b6c9;--cyan-dark:#087f91;--navy:#10233e;
  --radius:18px;--shadow:0 18px 48px rgba(24,49,83,.09);--shadow-lift:0 22px 52px rgba(24,65,103,.13);
  font-family:"Segoe UI","Microsoft YaHei UI","PingFang SC",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted{color:var(--muted);line-height:1.7}.eyebrow{margin:0 0 .45rem;color:var(--cyan-dark);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:1rem;background:var(--accent);color:var(--accent-on);font-size:1.5rem;font-weight:900;box-shadow:0 12px 36px rgba(25,182,201,.26)}.brand-mark.small{width:2.5rem;height:2.5rem;border-radius:.75rem;font-size:1.1rem;box-shadow:none}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(20rem,34rem) minmax(20rem,1fr);background:var(--navy)}.login-panel{background:var(--surface);padding:clamp(2rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.login-panel h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin:.9rem 0}.login-panel form{display:grid;gap:1.1rem;margin-top:2rem}.login-panel label{display:grid;gap:.5rem;font-weight:650}.login-panel input{width:100%;border:1px solid var(--line);border-radius:.8rem;padding:.9rem 1rem;outline:none}.login-panel input:focus{border-color:var(--accent);box-shadow:var(--focus-ring-strong)}.primary{border:0;border-radius:.8rem;background:var(--btn-primary-bg);color:var(--btn-primary-ink);padding:.95rem 1.2rem;font-weight:700}.primary:hover{background:#172b49}.login-help{border:0;background:transparent;color:var(--accent-deep);padding:.15rem;text-align:center;font-weight:650}.login-help:hover{text-decoration:underline}.filing-link{margin-top:1rem;color:var(--muted);font-size:.78rem;text-align:center;text-decoration:none}.filing-link:hover{text-decoration:underline}.form-error{min-height:1.5rem;color:var(--danger);margin:0}.login-context{padding:clamp(2rem,8vw,8rem);display:flex;flex-direction:column;justify-content:flex-end;gap:1.5rem;color:var(--sidebar-ink)}.context-line{display:flex;align-items:center;gap:1rem;font-size:clamp(1.2rem,2vw,2rem);font-weight:650;border-top:1px solid rgba(255,255,255,.16);padding-top:1.2rem}.context-line span{font-size:.75rem;color:#65d7e3;letter-spacing:.15em}
.workspace{min-height:100vh;display:grid;grid-template-columns:16.5rem 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:var(--sidebar-ink);padding:1.4rem;display:flex;flex-direction:column}.brand{display:flex;gap:.8rem;align-items:center;padding:.3rem}.brand div{display:grid}.brand small{color:var(--sidebar-muted);margin-top:.12rem}.sidebar nav{display:grid;gap:.35rem;margin-top:3rem}.nav-item{display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;color:var(--sidebar-muted);padding:.9rem 1rem;border-radius:.8rem;text-align:left}.nav-item kbd{font:inherit;font-size:.7rem;opacity:.55}.nav-item:hover,.nav-item.active{background:var(--sidebar-hover);color:var(--sidebar-ink-strong)}.nav-item.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--sidebar-line);padding-top:1rem;display:grid;gap:.7rem;color:var(--sidebar-muted);font-size:.82rem}.sidebar-filing{margin:0;color:var(--sidebar-muted);text-align:left}.text-button{padding:0;border:0;background:transparent;color:var(--sidebar-ink);text-align:left}.main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:2rem clamp(1.2rem,4vw,3.5rem) 1rem}.topbar h1{font-size:clamp(1.65rem,3vw,2.45rem);margin:0}.user-chip{display:flex;gap:.65rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem}.user-chip div{display:grid}.user-chip small{color:var(--muted)}.presence{width:.58rem;height:.58rem;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(24,132,92,.12)}.content{padding:1.2rem clamp(1.2rem,4vw,3.5rem) 3rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;min-height:9.5rem;display:flex;flex-direction:column;justify-content:space-between}.metric strong{font-size:2.35rem;line-height:1}.metric small{color:var(--muted)}.metric.alert{border-color:var(--danger-line);background:linear-gradient(150deg,var(--surface),var(--danger-soft))}.metric.warning{border-color:var(--warning-line);background:linear-gradient(150deg,var(--surface),var(--warning-soft))}.section-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-top:1rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel h2{font-size:1.05rem;margin:0}.status-list{display:grid;gap:.2rem}.status-row{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line)}.status-row:last-child{border:0}.status-row span{color:var(--muted)}.badge{display:inline-flex;border-radius:999px;padding:.28rem .55rem;font-size:.75rem;font-weight:700;background:var(--accent-soft);color:var(--accent-deep)}.loading{padding:4rem;text-align:center;color:var(--muted)}.toast{position:fixed;right:1.2rem;bottom:1.2rem;transform:translateY(140%);transition:.25s;background:var(--toast-bg);color:var(--toast-ink);padding:.85rem 1rem;border-radius:.8rem;box-shadow:0 14px 40px rgba(0,0,0,.2)}.toast.show{transform:translateY(0)}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-context{display:none}.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:.9rem}.brand{margin-bottom:.8rem}.sidebar nav{margin:0;display:flex;overflow:auto}.nav-item{min-width:max-content}.sidebar-foot{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.user-chip{max-width:11rem}.user-chip strong,.user-chip small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:520px){.login-panel{padding:2rem 1.2rem}.metric-grid{grid-template-columns:1fr 1fr}.metric{min-height:8rem;padding:1rem}.metric strong{font-size:1.9rem}.topbar{padding-top:1.3rem}.user-chip{border:0;background:transparent;padding:.4rem}.user-chip .presence{display:none}}

.toolbar{display:flex;gap:.7rem;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap}.toolbar-group{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.field,.toolbar input,.toolbar select{border:1px solid var(--line);background:var(--surface);border-radius:.72rem;padding:.7rem .82rem;min-height:2.75rem;outline:none}.toolbar input:focus,.toolbar select:focus,.field:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:.72rem;padding:.7rem .9rem;font-weight:650}.secondary:hover{border-color:var(--line-strong)}.danger-button{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger);border-radius:.65rem;padding:.52rem .72rem;font-weight:650}.table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:.9rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:.78rem;color:var(--muted);font-weight:700;letter-spacing:.04em;background:var(--surface-2)}td{font-size:.9rem}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-hover)}.cell-main{display:grid;gap:.2rem}.cell-main small{color:var(--muted)}.empty{padding:4rem 1rem;text-align:center;color:var(--muted)}.badge.good{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.badge.neutral{background:var(--surface-3);color:var(--muted)}.link-button{border:0;background:transparent;color:var(--accent-deep);padding:.25rem 0;font-weight:700}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;margin-top:1rem;color:var(--muted);font-size:.85rem}.panel.spaced{margin-top:1rem}.field.full{width:100%;margin-top:.5rem}.field.tall{min-height:10rem}
dialog{border:0;padding:0;background:transparent;width:min(94vw,42rem);max-height:90vh}dialog::backdrop{background:rgba(4,13,27,.58);backdrop-filter:blur(4px)}.modal-card{background:var(--surface);border-radius:1.25rem;box-shadow:0 28px 80px rgba(0,0,0,.28);overflow:hidden}.modal-card>header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.35rem;border-bottom:1px solid var(--line)}.modal-card h2{margin:0;font-size:1.15rem}.modal-card #modal-body{padding:1.35rem;overflow:auto;max-height:calc(90vh - 4.5rem)}.icon-button{border:0;background:var(--surface-2);border-radius:50%;width:2rem;height:2rem;font-size:1.3rem;line-height:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .wide{grid-column:1/-1}.form-grid label{display:grid;gap:.45rem;color:var(--ink-2);font-size:.88rem;font-weight:650}.form-grid textarea{min-height:8rem;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.25rem}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.detail-item{background:var(--surface-2);border-radius:.8rem;padding:.85rem}.detail-item small{display:block;color:var(--muted);margin-bottom:.25rem}.timeline{display:grid;margin-top:1rem}.timeline-item{border-left:2px solid var(--line);padding:0 0 1rem 1rem;margin-left:.35rem}.timeline-item::before{content:"";display:block;width:.65rem;height:.65rem;border-radius:50%;background:var(--accent);margin-left:-1.38rem;margin-bottom:-.65rem}.timeline-item p{white-space:pre-wrap;line-height:1.65;margin:.35rem 0}.ai-fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:5;border:0;border-radius:999px;background:var(--accent);color:var(--accent-on);font-weight:900;padding:.8rem 1rem;box-shadow:0 15px 45px rgba(8,127,145,.34)}.ai-fab span{font-weight:700;margin-left:.45rem}.ai-answer{white-space:pre-wrap;line-height:1.75;background:var(--hero-bg-solid);color:var(--hero-ink);padding:1rem;border-radius:.9rem;margin-top:1rem;max-height:22rem;overflow:auto}.split-card{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.subtle{font-size:.82rem;color:var(--muted)}
@media(max-width:700px){.form-grid,.detail-grid,.split-card{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.toolbar-group{width:100%}.toolbar input,.toolbar select{flex:1;min-width:8rem}.ai-fab span{display:none}.ai-fab{width:3.2rem;height:3.2rem;padding:0}.content{padding-bottom:5rem}}

/* 总部与门店人事运营驾驶舱 */
.dashboard-shell{position:relative;isolation:isolate;overflow:hidden;margin:-.2rem;border-radius:1.4rem;padding:1.15rem;color:#eaf3ff;background:radial-gradient(circle at 82% 5%,rgba(112,91,255,.26),transparent 27%),radial-gradient(circle at 12% 18%,rgba(0,209,232,.13),transparent 24%),linear-gradient(145deg,#071629 0%,#0d1b3b 48%,#211a46 100%);box-shadow:0 24px 70px rgba(12,28,61,.24)}
.dashboard-shell::before,.dashboard-shell::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none}.dashboard-shell::before{opacity:.32;background-image:radial-gradient(circle,rgba(100,229,255,.72) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(191,107,255,.55) 0 1px,transparent 1.4px);background-position:0 0,17px 19px;background-size:41px 41px,53px 53px;mask-image:linear-gradient(120deg,#000,transparent 73%);animation:particle-drift 26s linear infinite}.dashboard-shell::after{inset:auto -10rem -12rem auto;width:34rem;height:34rem;border:1px solid rgba(97,216,255,.09);border-radius:50%;box-shadow:0 0 0 4rem rgba(97,216,255,.018),0 0 0 8rem rgba(158,111,255,.015)}
@keyframes particle-drift{to{background-position:82px 41px,-89px 72px}}
.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.35rem .35rem 1.15rem}.dashboard-hero p{margin:0 0 .25rem;color:#49e2ed;font-size:.72rem;font-weight:800;letter-spacing:.18em}.dashboard-hero h2{margin:0;font-size:clamp(1.55rem,3vw,2.3rem);letter-spacing:-.04em}.dashboard-hero span{display:block;margin-top:.4rem;color:#92a8c6;font-size:.78rem}.dashboard-hero label{display:grid;gap:.35rem;color:#91a8c8;font-size:.72rem}.dashboard-hero select{min-width:11rem;border:1px solid rgba(145,186,230,.22);border-radius:.7rem;background:#0c1d39;color:#e8f4ff;padding:.62rem .75rem;outline:none}
.insight-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.72rem}.insight-card{position:relative;min-height:8.7rem;border:1px solid rgba(149,184,226,.12);border-radius:1rem;background:linear-gradient(155deg,rgba(24,48,84,.95),rgba(13,28,56,.88));color:#eaf4ff;padding:1rem;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 15px 36px rgba(0,0,0,.12)}.insight-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent,rgba(255,255,255,.055),transparent);transform:translateX(-110%);transition:transform .5s}.insight-card:hover::after{transform:translateX(110%)}.insight-card>span{display:block;color:#9bb0cd;font-size:.76rem}.insight-card strong{display:block;margin:.62rem 0 .45rem;font-size:2.15rem;line-height:1;letter-spacing:-.05em}.insight-card small{color:#8198b8}.insight-card i{position:absolute;left:1rem;right:1rem;bottom:0;height:2px;background:linear-gradient(90deg,#48d9e8,transparent)}.insight-card.violet i{background:linear-gradient(90deg,#b462ff,transparent)}.insight-card.rose i{background:linear-gradient(90deg,#ff709a,transparent)}.insight-card.amber i{background:linear-gradient(90deg,#ffb23e,transparent)}.insight-card.green i{background:linear-gradient(90deg,#53e6ad,transparent)}.insight-card.blue i{background:linear-gradient(90deg,#578cff,transparent)}
.dashboard-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:.75rem;margin-top:.75rem}.dashboard-panel{min-width:0;border:1px solid rgba(149,184,226,.12);border-radius:1rem;background:linear-gradient(150deg,rgba(21,42,76,.92),rgba(24,28,66,.86));padding:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 40px rgba(0,0,0,.11)}.dashboard-panel.wide{grid-row:span 2}.dashboard-panel.full{grid-column:1/-1}.dashboard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.dashboard-panel-head small{color:#50d5e4;font-size:.66rem;font-weight:800;letter-spacing:.14em}.dashboard-panel-head h3{margin:.16rem 0 0;font-size:1rem}.dashboard-panel-head>span{color:#7e94b4;font-size:.72rem}.chart-link{border:0;background:transparent;color:#71dfea;padding:.2rem;font-size:.76rem;font-weight:700}.chart-legend{display:flex;gap:.8rem;color:#9fb1ca;font-size:.73rem}.chart-legend span::before{content:"";display:inline-block;width:.45rem;height:.45rem;border-radius:50%;margin-right:.35rem;background:#48d9e8}.chart-legend .exit::before{background:#e95ed5}
.trend-chart{display:grid;grid-template-columns:repeat(6,1fr);gap:.65rem;height:15.6rem;padding:1rem .3rem .1rem;border-bottom:1px solid rgba(145,177,217,.15);background:repeating-linear-gradient(to bottom,rgba(145,177,217,.08) 0 1px,transparent 1px 25%)}.trend-column{display:grid;grid-template-rows:1fr auto;align-items:end;gap:.55rem;min-width:0}.trend-bars{display:flex;align-items:flex-end;justify-content:center;gap:.24rem;height:100%}.trend-bars i{display:block;width:min(1.15rem,36%);height:var(--height);min-height:3px;border-radius:.25rem .25rem 0 0;background:linear-gradient(#5af2f1,#27a9db);box-shadow:0 0 18px rgba(55,215,236,.15);transform-origin:bottom;animation:chart-grow .55s ease-out both}.trend-bars i.exit{background:linear-gradient(#fa68e0,#9a4dff);animation-delay:.08s}.trend-column small{text-align:center;color:#8299b8}.trend-column:hover .trend-bars i{filter:brightness(1.2)}@keyframes chart-grow{from{transform:scaleY(0)}}
.expiry-list{display:grid;gap:.52rem}.expiry-list>div{display:grid;grid-template-columns:4.4rem 1fr 2rem;align-items:center;gap:.55rem;color:#9fb1ca;font-size:.72rem}.expiry-list i{height:.42rem;overflow:hidden;border-radius:999px;background:rgba(120,151,192,.15)}.expiry-list b{display:block;width:var(--width);height:100%;border-radius:inherit;background:linear-gradient(90deg,#7358ff,#ee58cf,#ff9a5a);animation:bar-grow .6s ease-out both}.expiry-list strong{text-align:right;color:#edf6ff}@keyframes bar-grow{from{width:0}}
.insurance-visual{display:grid;grid-template-columns:8rem 1fr;align-items:center}.insurance-visual .dashboard-panel-head{grid-column:1/-1}.coverage-ring{display:grid;place-content:center;width:7rem;height:7rem;margin:auto;border-radius:50%;text-align:center;background:radial-gradient(circle,#142545 56%,transparent 58%),conic-gradient(#4be2d0 var(--coverage),rgba(116,147,191,.15) 0);box-shadow:0 0 35px rgba(75,226,208,.1)}.coverage-ring strong{font-size:1.45rem}.coverage-ring span{color:#89a1bf;font-size:.62rem}.insurance-numbers{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.insurance-numbers span{border:1px solid rgba(149,184,226,.1);border-radius:.65rem;background:rgba(7,22,43,.3);padding:.55rem;color:#8299b9;font-size:.65rem}.insurance-numbers b{display:block;color:#edf7ff;font-size:1rem;margin-bottom:.12rem}
.rank-chart{display:grid;gap:.48rem}.rank-row{display:grid;grid-template-columns:minmax(5rem,8rem) 1fr 2.4rem;align-items:center;gap:.65rem;font-size:.72rem}.rank-row>span{overflow:hidden;color:#a9bad0;text-overflow:ellipsis;white-space:nowrap}.rank-row>div{height:.5rem;border-radius:999px;background:rgba(128,159,199,.13);overflow:hidden}.rank-row i{display:block;width:var(--bar);height:100%;border-radius:inherit;background:linear-gradient(90deg,#35cde1,#735cff,#e85dcc);animation:bar-grow .65s ease-out both}.rank-row b{text-align:right;color:#edf5ff}.store-overview{margin-top:.75rem}.dashboard-shell .table-actions{display:none}.dashboard-shell .table-wrap{border-color:rgba(149,184,226,.12);background:rgba(6,18,39,.32);box-shadow:none}.dashboard-shell table{min-width:960px}.dashboard-shell th{color:#8399b8;background:rgba(13,30,57,.8);border-color:rgba(149,184,226,.1)}.dashboard-shell td{color:#c8d6e9;border-color:rgba(149,184,226,.08)}.dashboard-shell tbody tr:hover{background:rgba(53,205,225,.06)}.dashboard-shell td small{color:#738aa9}.dashboard-shell .link-button{color:#62dce8}
@media(max-width:1300px){.insight-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-panel.wide{grid-row:auto}.dashboard-panel.full{grid-column:auto}.dashboard-hero{align-items:flex-start}.insight-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dashboard-shell{padding:.75rem}.dashboard-hero{display:grid}.dashboard-hero select{width:100%}.insight-card{min-height:7.6rem}.insight-card strong{font-size:1.75rem}.insurance-visual{grid-template-columns:1fr}.insurance-numbers{margin-top:.8rem}.trend-chart{height:12rem;gap:.25rem}}
@media(prefers-reduced-motion:reduce){.dashboard-shell::before,.trend-bars i,.expiry-list b,.rank-row i{animation:none!important}}

/* V0.6 · technology skin and interaction feedback */
:root{--electric:#31d7e8;--blue:#3478f6;--shadow:0 18px 48px rgba(24,49,83,.09)}
body{background:var(--body-bg);background-size:30px 30px,30px 30px,auto,auto}
.network-progress{position:fixed;z-index:1000;left:0;top:0;width:100%;height:3px;pointer-events:none;opacity:0;overflow:hidden;background:var(--accent-soft);transition:opacity .18s}
.network-progress::after{content:"";display:block;width:38%;height:100%;transform:translateX(-110%);background:linear-gradient(90deg,transparent,var(--electric),var(--blue),transparent);box-shadow:0 0 18px var(--electric)}
.network-progress.active{opacity:1}.network-progress.active::after{animation:network-scan 1s ease-in-out infinite}@keyframes network-scan{to{transform:translateX(310%)}}
.sidebar,.login-context{isolation:isolate;background:var(--sidebar-bg);overflow:hidden}.login-context{position:relative}
.sidebar::before,.login-context::before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(72,208,224,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(72,208,224,.055) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}
.sidebar::after{content:"";position:absolute;z-index:-1;width:15rem;height:15rem;border:1px solid rgba(49,215,232,.14);border-radius:50%;left:-8rem;bottom:2rem;box-shadow:0 0 70px rgba(49,215,232,.08)}
.brand-mark{background:linear-gradient(145deg,#6cf2ef,#26bbdb 58%,#2682ff);color:var(--accent-on);border:1px solid rgba(255,255,255,.42);box-shadow:0 14px 40px rgba(38,190,220,.3),inset 0 1px 0 rgba(255,255,255,.72)}
.nav-item{position:relative;overflow:hidden;transition:color .2s,background .2s,transform .2s}.nav-item::before{content:"";width:.38rem;height:.38rem;border-radius:50%;background:var(--sidebar-muted);box-shadow:0 0 0 0 transparent;transition:.2s}.nav-item span{margin-right:auto;margin-left:.65rem}.nav-item:hover{transform:translateX(3px)}.nav-item.active::before{background:var(--electric);box-shadow:0 0 12px var(--electric)}.nav-item.active{background:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--electric),0 8px 24px rgba(0,0,0,.1)}
.topbar{position:sticky;z-index:4;top:0;background:var(--topbar-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--topbar-line)}
.user-chip{box-shadow:var(--shadow);transition:.2s}.presence{animation:presence-pulse 2.2s ease-out infinite}@keyframes presence-pulse{50%{box-shadow:0 0 0 8px rgba(24,132,92,0)}}
button{position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,opacity .2s}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px) scale(.985)}button:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.56}
.click-ripple{position:absolute;z-index:20;width:.5rem;height:.5rem;border-radius:50%;background:var(--ripple);pointer-events:none;transform:translate(-50%,-50%) scale(0);animation:click-ripple .48s ease-out forwards}@keyframes click-ripple{to{opacity:0;transform:translate(-50%,-50%) scale(18)}}
.primary{background:var(--btn-primary-bg);box-shadow:0 10px 24px rgba(9,47,83,.18),inset 0 1px 0 rgba(255,255,255,.13)}.primary:hover{background:var(--btn-primary-hover);box-shadow:0 14px 30px rgba(9,72,110,.24)}
.secondary{box-shadow:var(--shadow)}.secondary:hover{border-color:var(--accent);box-shadow:0 9px 22px var(--accent-soft)}
button.is-loading{padding-right:2.55rem;pointer-events:none}button.is-loading::after{content:"";position:absolute;right:.85rem;top:50%;width:.9rem;height:.9rem;margin-top:-.45rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-spin .65s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}
.button-icon{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;margin-right:.35rem;border-radius:.38rem;background:rgba(255,255,255,.12);font-size:1rem}
.metric,.panel,.table-wrap{box-shadow:var(--shadow)}.metric{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.metric::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,var(--electric),var(--blue),transparent);opacity:.7}.metric:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-lift)}.metric strong{letter-spacing:-.045em}.panel{border-color:var(--line-strong)}.panel-head h2{letter-spacing:-.01em}.panel-kicker{margin:0 0 .25rem;color:var(--accent-deep);font-size:.65rem;font-weight:800;letter-spacing:.17em}.priority-panel{border-color:var(--accent-line);box-shadow:var(--shadow)}
.flow-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.45rem 1.6rem;border:1px solid var(--hero-line);border-radius:var(--radius);color:var(--hero-ink);background:radial-gradient(circle at 85% 10%,var(--hero-glow),transparent 28%),var(--hero-bg)}.flow-hero::after{content:"";position:absolute;right:10%;top:-65%;width:15rem;height:15rem;border:1px solid var(--hero-deco);border-radius:50%;box-shadow:0 0 0 2.5rem var(--hero-deco-soft),0 0 0 5rem var(--hero-deco-soft)}.flow-hero h2{margin:.1rem 0 .35rem;font-size:clamp(1.45rem,2.3vw,2rem)}.flow-hero p{margin:.25rem 0;color:var(--hero-muted)}.flow-hero .eyebrow{color:var(--hero-accent)}.live-chip{position:relative;z-index:1;display:flex;align-items:center;gap:.55rem;white-space:nowrap;border:1px solid var(--hero-line);border-radius:999px;background:rgba(4,19,31,.4);padding:.55rem .8rem;font-size:.78rem}.live-chip i,.automation-note i{width:.45rem;height:.45rem;border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal);animation:signal 1.7s ease-in-out infinite}@keyframes signal{50%{opacity:.45;transform:scale(.72)}}
.process-flow{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 1rem;padding:.35rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.process-step{position:relative;display:grid;gap:.25rem;min-height:7.2rem;padding:1rem 1.05rem;border-right:1px solid var(--line)}.process-step:last-child{border:0}.process-step:not(:last-child)::after{content:"›";position:absolute;right:-.38rem;top:50%;z-index:1;display:grid;place-items:center;width:.75rem;height:1.5rem;margin-top:-.75rem;background:var(--surface);color:var(--muted)}.process-step>span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.12em}.process-step>strong{font-size:.9rem}.process-step>small{color:var(--muted);line-height:1.4}.process-step.done>span{color:var(--accent-deep)}.process-step.done::before{content:"";position:absolute;left:0;bottom:0;width:68%;height:2px;background:linear-gradient(90deg,var(--electric),transparent)}
.onboarding-toolbar{padding:.85rem 0}.onboarding-toolbar label{font-size:.82rem;font-weight:700;color:var(--ink-2)}.section-grid:has(.table-wrap){grid-template-columns:1fr}.section-grid>*{min-width:0}.row-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:16rem}.mini-action{border:1px solid var(--line);border-radius:.55rem;background:var(--surface);color:var(--ink-2);padding:.42rem .56rem;font-size:.75rem;font-weight:700}.mini-action.positive{border-color:var(--success-line);background:var(--success-soft);color:var(--success-ink)}.mini-action.danger{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger-ink)}.automation-note{display:inline-flex;align-items:center;gap:.45rem;color:var(--success-ink);font-size:.79rem;font-weight:700;white-space:nowrap}.decision-person,.decision-warning,.upload-guide{display:grid;gap:.3rem;border-radius:.85rem;padding:1rem}.decision-person{background:linear-gradient(120deg,var(--accent-soft),var(--surface-2));border:1px solid var(--accent-line)}.decision-person span{font-weight:800}.decision-person small{color:var(--muted)}.decision-warning{background:var(--warning-soft);border:1px solid var(--warning-line);color:var(--warning-ink);line-height:1.6}.upload-guide{background:var(--surface-2);border:1px dashed var(--line-strong)}.upload-guide span{color:var(--accent-deep);font-weight:700}.upload-guide small{color:var(--muted);line-height:1.6}
.compact-metrics{margin:1rem 0}.compact-metrics .metric{min-height:7.4rem}.issue-chips{display:flex;flex-wrap:wrap;gap:.3rem;max-width:24rem}.issue-chips span{display:inline-flex;border-radius:999px;background:var(--warning-soft);border:1px solid var(--warning-line);color:var(--warning-ink);padding:.24rem .48rem;font-size:.72rem;font-weight:700}.table-wrap td.row-actions{display:table-cell;min-width:17rem}.table-wrap td.row-actions button{margin:.12rem}
.badge{border:1px solid var(--line)}tbody tr{transition:background .16s,box-shadow .16s}tbody tr:hover{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--accent-line)}
.loading::before{content:"";display:inline-block;width:.85rem;height:.85rem;margin-right:.55rem;border:2px solid var(--line-strong);border-right-color:var(--accent);border-radius:50%;vertical-align:-.12rem;animation:button-spin .7s linear infinite}
dialog[open] .modal-card{animation:modal-in .18s ease-out}@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.toast{display:flex;align-items:center;gap:.7rem;min-width:15rem;border:1px solid rgba(255,255,255,.14);overflow:hidden}.toast::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--electric);transform-origin:left;animation:toast-time 3.2s linear forwards}.toast.error{background:#561a24}.toast.error::after{background:#ff8c98}.toast-icon{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:rgba(255,255,255,.12);font-weight:900}@keyframes toast-time{to{transform:scaleX(0)}}
.login-context{justify-content:center}.login-context h2{max-width:12ch;margin:.35rem 0 .8rem;font-size:clamp(2.4rem,5vw,5.3rem);line-height:.96;letter-spacing:-.05em}.login-context>div p:not(.context-kicker){max-width:34rem;color:var(--sidebar-muted);line-height:1.75}.context-kicker{color:#58dae4!important;font-size:.72rem;font-weight:800;letter-spacing:.2em}.login-signal{position:absolute;right:9%;top:12%;width:9rem;height:9rem;border:1px solid rgba(82,221,232,.25);border-radius:50%;display:grid;place-items:center}.login-signal::before,.login-signal::after{content:"";position:absolute;border:1px solid rgba(82,221,232,.12);border-radius:50%;inset:-1.6rem}.login-signal::after{inset:1.2rem}.login-signal span{color:#62dce5;font-size:.65rem;font-weight:900;letter-spacing:.16em}.login-signal i{position:absolute;width:.4rem;height:.4rem;border-radius:50%;background:var(--electric);box-shadow:0 0 12px var(--electric)}.login-signal i:nth-child(1){left:1rem;top:2rem}.login-signal i:nth-child(2){right:.6rem;top:4.5rem}.login-signal i:nth-child(3){left:3.4rem;bottom:.35rem}
@media(max-width:1100px){.process-flow{grid-template-columns:repeat(3,1fr)}.process-step:nth-child(3){border-right:0}.process-step{border-bottom:1px solid var(--line)}.process-step:nth-child(4),.process-step:nth-child(5){border-bottom:0}.section-grid:has(.table-wrap){grid-template-columns:1fr}}
@media(max-width:700px){.process-flow{grid-template-columns:1fr}.process-step{min-height:auto;border-right:0}.process-step:nth-child(4){border-bottom:1px solid var(--line)}.process-step:not(:last-child)::after{display:none}.flow-hero{align-items:flex-start;flex-direction:column}.row-actions{min-width:12rem}.onboarding-toolbar .primary,.onboarding-toolbar .secondary{flex:1}.login-signal{display:none}}

/* V0.7 · weekly roster obligation and personal notification inbox */
.topbar-actions{display:flex;align-items:center;gap:.7rem}.notification-button{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink-2);box-shadow:var(--shadow);font-size:1.35rem}.notification-button>span{transform:rotate(-18deg)}.notification-button b{position:absolute;right:-.2rem;top:-.22rem;display:grid;place-items:center;min-width:1.2rem;height:1.2rem;padding:0 .22rem;border:2px solid var(--canvas);border-radius:999px;background:var(--danger);color:#fff;font-size:.62rem;line-height:1}
.weekly-task-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.2rem 1.35rem;border:1px solid var(--accent-line);border-radius:var(--radius);background:linear-gradient(118deg,var(--accent-soft),var(--surface));box-shadow:var(--shadow)}.weekly-task-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--electric),var(--blue))}.weekly-task-card h2{margin:.12rem 0 .35rem;font-size:1.18rem}.weekly-task-card p{margin:.2rem 0;color:var(--muted)}.weekly-task-card.overdue{border-color:var(--danger-line);background:var(--danger-soft)}.weekly-task-card.overdue::before{background:var(--danger)}.weekly-task-card.completed{border-color:var(--success-line);background:var(--success-soft)}.weekly-task-card.completed::before{background:var(--success)}.weekly-task-card.hq{background:var(--surface-2)}.weekly-task-action{display:flex;align-items:center;gap:.7rem;white-space:nowrap}
.notification-list{display:grid;gap:.7rem}.notification-item{display:grid;gap:.48rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.notification-item.unread{border-color:var(--accent-line);box-shadow:inset 3px 0 0 var(--electric);background:linear-gradient(110deg,var(--accent-soft),var(--surface))}.notification-item.read{opacity:.72}.notification-item>div{display:flex;justify-content:space-between;align-items:center}.notification-item small,.notification-item p{color:var(--muted)}.notification-item p{margin:0;line-height:1.55}.notification-item .link-button{justify-self:start}
@media(max-width:700px){.weekly-task-card{align-items:flex-start;flex-direction:column}.weekly-task-action{width:100%;justify-content:space-between}.topbar-actions{gap:.35rem}.notification-button{width:2.5rem;height:2.5rem}.weekly-task-action .primary{flex:1}}

/* V0.9 · controlled list import and export */
.sidebar nav{overflow-y:auto}
.table-block{display:grid;gap:.5rem}.table-actions{display:flex;justify-content:flex-end}.secondary.compact{padding:.48rem .7rem;font-size:.78rem}
.exchange-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.exchange-card{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.exchange-card h2{margin:.15rem 0 .4rem;font-size:1.15rem}.exchange-card p{margin:.2rem 0;color:var(--muted);line-height:1.55}.exchange-card label{display:grid;gap:.4rem;font-size:.82rem;font-weight:700;color:var(--ink-2)}.field-tags{display:flex;gap:.4rem;flex-wrap:wrap}.field-tags span{padding:.32rem .55rem;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:.75rem}.field-tags span.required{background:var(--accent-soft);color:var(--accent-deep)}.exchange-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:auto}.exchange-actions button{flex:1;white-space:nowrap}
.preview-summary{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-radius:.75rem}.preview-summary.ready{background:var(--success-soft);color:var(--success-ink)}.preview-summary.has-errors{background:var(--danger-soft);color:var(--danger-ink)}.issue-list{display:grid;gap:.4rem;max-height:14rem;overflow:auto;margin-top:.7rem}.issue-list>div{display:grid;grid-template-columns:10rem 1fr;gap:.7rem;padding:.55rem .7rem;border:1px solid var(--danger-line);border-radius:.65rem;background:var(--danger-soft);font-size:.8rem}.issue-list span{color:var(--danger-ink)}.issue-download{margin-top:.7rem}.preview-table{overflow:auto;max-height:17rem;margin-top:.7rem;border:1px solid var(--line);border-radius:.75rem}.preview-table table{min-width:620px}.preview-table th,.preview-table td{padding:.6rem .7rem;font-size:.78rem}
@media(max-width:850px){.exchange-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar nav{overflow-x:auto;overflow-y:hidden}.issue-list>div{grid-template-columns:1fr}.exchange-actions button{flex-basis:100%}}
.insight-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.technician-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.technician-grid section{min-width:0;padding:.9rem;border:1px solid rgba(149,184,226,.1);border-radius:.8rem;background:rgba(5,17,38,.2)}.technician-grid h4{margin:0 0 .8rem;color:#a9bad0;font-size:.78rem}.technician-grid .empty{min-height:5rem;background:rgba(6,18,39,.28);color:#7e94b4}
@media(max-width:1300px){.insight-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.insight-grid{grid-template-columns:repeat(2,1fr)}.technician-grid{grid-template-columns:1fr}}

/* 运营看板以可读性和可操作性为主，取消霓虹粒子和高亮渐变。 */
.dashboard-shell{color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);box-shadow:none}.dashboard-shell::before,.dashboard-shell::after{display:none}.dashboard-hero{padding:.65rem .5rem 1rem}.dashboard-hero p,.dashboard-panel-head small{color:var(--dash-deep)}.dashboard-hero h2{color:var(--ink)}.dashboard-hero span,.dashboard-panel-head>span{color:var(--muted)}.dashboard-hero label{color:var(--ink-2)}.dashboard-hero select{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}
.insight-card{min-height:7.8rem;border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:0 5px 16px rgba(29,54,79,.05)}.insight-card::after{display:none}.insight-card>span,.insight-card small{color:var(--muted)}.insight-card strong{color:var(--ink)}.insight-card i,.insight-card.violet i,.insight-card.rose i,.insight-card.amber i,.insight-card.green i,.insight-card.blue i{height:3px;background:var(--dash-accent)}
.dashboard-panel{border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:0 5px 18px rgba(29,54,79,.05)}.chart-link,.dashboard-shell .link-button{color:var(--dash-deep)}.chart-legend{color:var(--muted)}.chart-legend span::before{background:var(--dash-accent)}.chart-legend .exit::before{background:var(--danger-line)}.trend-bars i.hire{background:var(--dash-accent)}.trend-bars i.exit{background:var(--danger-line)}.expiry-list span,.rank-row>span,.technician-grid h4{color:var(--muted)}.expiry-list i,.rank-row>div{background:var(--surface-3)}.expiry-list b,.rank-row i{background:var(--dash-accent)}.rank-row b{color:var(--ink)}.coverage-ring{background:radial-gradient(circle,var(--surface) 56%,transparent 58%),conic-gradient(var(--dash-accent) var(--coverage),var(--surface-3) 0);box-shadow:none}.coverage-ring span{color:var(--muted)}.insurance-numbers span{border-color:var(--line);background:var(--surface-2);color:var(--muted)}.insurance-numbers b{color:var(--ink)}.technician-grid section{border-color:var(--line);background:var(--surface-2)}.technician-grid .empty{background:var(--surface-2);color:var(--muted)}.dashboard-shell .table-wrap{border-color:var(--line);background:var(--surface)}.dashboard-shell th{color:var(--ink-2);background:var(--surface-2);border-color:var(--line)}.dashboard-shell td{color:var(--ink);border-color:var(--line)}.dashboard-shell tbody tr:hover{background:var(--surface-hover)}.dashboard-shell td small{color:var(--muted)}

.people-search-panel{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(32rem,2fr);gap:1.25rem;align-items:end;margin-bottom:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.people-search-panel h2{margin:.15rem 0 .35rem}.people-search-panel p{margin:.2rem 0;color:var(--muted);line-height:1.55}.people-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(8rem,1fr));gap:.65rem}.people-filter-grid label{display:grid;gap:.35rem;color:var(--ink-2);font-size:.76rem;font-weight:700}.people-filter-grid input,.people-filter-grid select{min-width:0;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);padding:.62rem .7rem;color:var(--ink)}.people-search-wide{grid-column:span 2}.people-filter-actions{display:flex;align-items:end;gap:.5rem}.people-result-head,.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.6rem 0;color:var(--muted)}.pagination{justify-content:center}.notice-store-select{min-height:8rem}.notice-quick-actions{display:flex;gap:.5rem}.number-alert{color:var(--danger);font-weight:800}
.profile-sections{display:grid;gap:1.25rem}.profile-sections section{border:1px solid var(--line);border-radius:1rem;padding:1rem}.profile-sections h3{margin:.2rem 0 1rem}.profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.profile-detail-grid>div{display:grid;gap:.25rem;padding:.75rem;background:var(--surface-2);border-radius:.7rem}.profile-detail-grid>div.wide{grid-column:1/-1}.profile-detail-grid small{color:var(--muted)}.profile-detail-grid strong{overflow-wrap:anywhere}.profile-security-note{margin:0;padding:.8rem 1rem;border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--warning-ink);border-radius:.4rem}
@media(max-width:1100px){.people-search-panel{grid-template-columns:1fr}.people-filter-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.people-filter-grid{grid-template-columns:1fr}.people-search-wide{grid-column:auto}.people-filter-actions>*{flex:1}.profile-detail-grid{grid-template-columns:1fr}.profile-detail-grid>div.wide{grid-column:auto}.profile-section-head{display:grid}}
/* ============ V0.10 · 总览数字版(纯token) ============ */
.stat-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:1.1rem;padding:1.5rem .2rem 1.35rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-cell{padding:0 1.35rem;border-left:1px solid var(--line)}
.stat-cell:first-child{border-left:0;padding-left:.4rem}
.stat-cell span{display:block;font-size:.68rem;font-weight:700;letter-spacing:.24em;color:var(--dash-deep);margin-bottom:.5rem}
.stat-cell b{display:block;font-family:var(--num-font);font-size:clamp(2.2rem,3.6vw,3.3rem);line-height:1;font-weight:700;font-variant-numeric:tabular-nums;background:var(--num-fill);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.01em}
.stat-cell b i{font-style:normal;font-size:.45em;font-weight:600;margin-left:.1em;opacity:.85}
.stat-cell small{display:block;margin-top:.5rem;font-size:.72rem;color:var(--muted)}
.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:.9rem}
.topic-panel{border:1px solid var(--line);border-radius:1.1rem;background:var(--surface);padding:1.15rem 1.25rem;box-shadow:var(--shadow);margin-top:.9rem}
.topic-grid .topic-panel{margin-top:0}
.topic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.topic-head small{display:block;color:var(--dash-deep);font-size:.64rem;font-weight:800;letter-spacing:.2em}
.topic-head h3{margin:.2rem 0 0;font-size:1.02rem;color:var(--ink);font-family:var(--title-font)}
.topic-side{color:var(--muted);font-size:.74rem;white-space:nowrap}
.num-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem 1rem}
.num-item{display:grid;gap:.3rem;align-content:start}
.num-item small{font-size:.7rem;color:var(--muted);letter-spacing:.04em}
.num-item b{font-family:var(--num-font);font-size:1.55rem;line-height:1.05;font-weight:700;font-variant-numeric:tabular-nums;background:var(--num-fill);-webkit-background-clip:text;background-clip:text;color:transparent}
.num-item em{font-style:normal;font-size:.68rem;letter-spacing:.06em}
.num-item em.pos{color:var(--success-ink)}.num-item em.neg{color:var(--danger-ink)}.num-item em.sub{color:var(--muted)}
.month-rows{display:grid;gap:0;margin-top:.95rem;border-top:1px solid var(--line);padding-top:.6rem}
.month-row{display:grid;grid-template-columns:4.2rem 1fr 1fr auto;align-items:baseline;gap:.6rem;padding:.42rem .15rem;border-bottom:1px solid var(--line);font-size:.8rem;font-variant-numeric:tabular-nums;transition:background-color .15s}
.month-row:last-child{border-bottom:0}
.month-row:hover{background:var(--surface-hover)}
.month-row span{color:var(--muted)}
.month-row i{font-style:normal;text-align:right;color:var(--ink-2)}
.month-row i.pos{color:var(--success-ink)}.month-row i.neg{color:var(--danger-ink)}
.month-row b{text-align:right;color:var(--ink);font-weight:650}
.title-rows{display:grid;gap:0}
.title-row{display:grid;grid-template-columns:1fr auto 3.2rem;align-items:baseline;gap:.7rem;padding:.55rem .15rem;border-bottom:1px solid var(--line);font-size:.82rem;transition:background-color .15s}
.title-row:last-child{border-bottom:0}
.title-row:hover{background:var(--surface-hover)}
.title-row span{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.title-row b{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.95rem}
.title-row i{font-style:normal;text-align:right;color:var(--muted);font-size:.74rem}
.rank-list{display:grid;grid-template-columns:1fr 1fr;gap:0 2.6rem}
.rank-item{display:grid;grid-template-columns:2.1rem 1fr auto;align-items:baseline;gap:.75rem;padding:.6rem .35rem;border-bottom:1px solid var(--line);cursor:pointer;transition:background-color .16s}
.rank-item:hover{background:var(--surface-hover)}
.rank-item i{font-style:normal;font-family:var(--num-font);font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}
.rank-item:nth-child(-n+3) i{color:var(--dash-accent);font-weight:700}
.rank-item span{font-size:.84rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-item b{font-family:var(--num-font);font-size:1.12rem;font-weight:700;font-variant-numeric:tabular-nums;background:var(--num-fill);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:1200px){.stat-strip{grid-template-columns:repeat(3,1fr);gap:1.2rem 0}.stat-cell:nth-child(4){border-left:0;padding-left:.4rem}.stat-cell:nth-child(-n+3){border-bottom:1px solid var(--line);padding-bottom:1.1rem}}
@media(max-width:900px){.topic-grid{grid-template-columns:1fr}}
@media(max-width:560px){.stat-strip{grid-template-columns:1fr 1fr}.stat-cell{border-left:0;padding:0 .4rem}.rank-list{grid-template-columns:1fr}.num-grid{grid-template-columns:1fr 1fr}}

/* ============ V0.10 · 主题切换器 ============ */
.theme-picker{display:flex;align-items:center;gap:.55rem}
.theme-picker small{margin-left:auto;color:var(--sidebar-muted);font-size:.72rem;letter-spacing:.08em}
.theme-dot{width:1.35rem;height:1.35rem;border-radius:50%;border:2px solid transparent;padding:0;box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 2px 6px rgba(0,0,0,.25);transition:transform .18s,box-shadow .18s,border-color .18s}
.theme-dot:hover{transform:translateY(-2px) scale(1.08)}
.theme-dot.active{border-color:var(--sidebar-ink-strong);box-shadow:0 0 0 2px var(--sidebar-hover),inset 0 1px 1px rgba(255,255,255,.5)}
.theme-dot[data-theme-set=tech]{background:linear-gradient(145deg,#31d7e8,#3478f6)}
.theme-dot[data-theme-set=macaron]{background:linear-gradient(145deg,#f9c49a,#f27ba0)}
.theme-dot[data-theme-set=noir]{background:linear-gradient(145deg,#3a3520,#d4af37)}

/* ============ V0.10 · 主题:马卡龙 · Macaron(纯token) ============ */
[data-theme=macaron]{color-scheme:light;--signal:#57c9a8;
  --canvas:#faf3ee;--surface:#fff;--surface-2:#faf5f1;--surface-3:#f5ece7;--surface-hover:#fdf4f0;
  --ink:#4a3b3b;--ink-2:#7d6868;--muted:#a68d8d;--line:#f0dfd6;--line-strong:#f2b8c8;
  --accent:#f27ba0;--accent-deep:#e05c87;--accent-soft:#fdeef3;--accent-line:#f2c4d0;--accent-on:#fff;
  --glow:#f9a8c0;--glow-2:#cbb8e3;
  --dash-accent:#e05c87;--dash-deep:#c14a71;
  --danger:#ee7d8a;--danger-soft:#fdeef0;--danger-line:#f6ccd3;--danger-ink:#d95f70;
  --warning:#e8a04f;--warning-soft:#fdf3e2;--warning-line:#f4dfc0;--warning-ink:#b97a2e;
  --success:#5fbf8f;--success-soft:#eaf6ef;--success-line:#c9e8d5;--success-ink:#3d9670;
  --sidebar-bg:radial-gradient(circle at 30% 8%,rgba(242,123,160,.12),transparent 26%),linear-gradient(165deg,#4a3b3b 0%,#403234 58%,#382b2e 100%);
  --sidebar-ink:#f3e9e9;--sidebar-ink-strong:#fff;--sidebar-muted:#bfa8a8;--sidebar-hover:rgba(255,255,255,.08);--sidebar-line:rgba(255,255,255,.1);--sidebar-active:linear-gradient(90deg,rgba(242,123,160,.28),rgba(203,184,227,.18));
  --hero-bg:linear-gradient(120deg,#43363a,#2e2427);--hero-bg-solid:#3a2e31;--hero-ink:#fdeef3;--hero-muted:#cbb3b3;--hero-line:rgba(242,123,160,.28);--hero-accent:#f5a8c0;--hero-deco:rgba(245,168,192,.22);--hero-deco-soft:rgba(245,168,192,.03);--hero-glow:rgba(242,123,160,.16);
  --btn-primary-bg:linear-gradient(180deg,#fb9dbb,#f27ba0 55%,#e05c87);--btn-primary-hover:linear-gradient(180deg,#fcaec7,#f587a8 55%,#ea6c95);--btn-primary-ink:#fff;
  --toast-bg:#403234;--toast-ink:#fdeef3;
  --topbar-bg:rgba(250,243,238,.86);--topbar-line:rgba(240,223,214,.85);
  --body-bg:radial-gradient(circle at 94% 4%,rgba(242,123,160,.07),transparent 26%),radial-gradient(circle at 4% 96%,rgba(168,222,214,.09),transparent 30%),radial-gradient(circle at 50% 50%,rgba(203,184,227,.05),transparent 40%),var(--canvas);
  --focus-ring:0 0 0 3px rgba(242,123,160,.16);--focus-ring-strong:0 0 0 4px rgba(242,123,160,.15);--focus-outline:#f27ba0;--ripple:rgba(249,168,192,.5);
  --num-fill:linear-gradient(180deg,#c14a71,#f27ba0);
  --electric:#f9a8c0;--blue:#cbb8e3;--cyan:#f27ba0;--cyan-dark:#e05c87;--navy:#403234;
  --radius:20px;--shadow:0 12px 32px rgba(196,150,140,.14);--shadow-lift:0 18px 44px rgba(196,150,140,.22);
}
[data-theme=macaron] .sidebar::before{background-image:linear-gradient(rgba(245,198,207,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(245,198,207,.05) 1px,transparent 1px)}
[data-theme=macaron] .sidebar::after{border-color:rgba(245,198,207,.14);box-shadow:0 0 70px rgba(245,198,207,.07)}
[data-theme=macaron] .brand-mark{background:linear-gradient(150deg,#fbd0dd,#f27ba0 58%,#e05c87);box-shadow:0 14px 36px rgba(242,123,160,.42)}
[data-theme=macaron] .context-kicker{color:#f2a0be!important}
[data-theme=macaron] .context-line span{color:#f5a8c0}
[data-theme=macaron] .login-signal,[data-theme=macaron] .login-signal::before,[data-theme=macaron] .login-signal::after{border-color:rgba(245,168,192,.28)}
[data-theme=macaron] .login-signal span{color:#f5a8c0}
[data-theme=macaron] .login-signal i{background:#f27ba0;box-shadow:0 0 12px #f27ba0}
[data-theme=macaron] .primary{box-shadow:0 10px 28px rgba(242,123,160,.38),inset 0 1px 0 rgba(255,255,255,.55)}
[data-theme=macaron] ::selection{background:rgba(242,123,160,.25)}
[data-theme=macaron] *{scrollbar-color:#eccfcf transparent}
[data-theme=macaron] *::-webkit-scrollbar-thumb{background:#eccfcf}

/* ============ V0.10 · 主题:黑金·克制版 · Noir(纯token) ============ */
[data-theme=noir]{color-scheme:dark;--signal:#b8a04a;
  --canvas:#0b0a0e;--surface:#151318;--surface-2:#1b191f;--surface-3:#232028;--surface-hover:rgba(212,175,55,.05);
  --ink:#e6dcc2;--ink-2:#b0a68f;--muted:#8a8070;--line:rgba(190,178,152,.13);--line-strong:rgba(212,175,55,.34);
  --accent:#d4af37;--accent-deep:#d4af37;--accent-soft:rgba(212,175,55,.1);--accent-line:rgba(212,175,55,.28);--accent-on:#1a1408;
  --glow:#d4af37;--glow-2:#9c7c1e;
  --dash-accent:#d4af37;--dash-deep:#b8963e;
  --danger:#dd8474;--danger-soft:rgba(221,132,116,.12);--danger-line:rgba(221,132,116,.32);--danger-ink:#e0948a;
  --warning:#d4a037;--warning-soft:rgba(212,160,55,.12);--warning-line:rgba(212,160,55,.32);--warning-ink:#d9b45c;
  --success:#9db874;--success-soft:rgba(157,184,116,.12);--success-line:rgba(157,184,116,.3);--success-ink:#b3c48a;
  --sidebar-bg:radial-gradient(circle at 30% 8%,rgba(212,175,55,.07),transparent 24%),linear-gradient(165deg,#151318 0%,#0e0d11 58%,#0a090c 100%);
  --sidebar-ink:#d8d0bd;--sidebar-ink-strong:#f5e6b8;--sidebar-muted:#948975;--sidebar-hover:rgba(255,255,255,.06);--sidebar-line:rgba(230,220,196,.1);--sidebar-active:linear-gradient(90deg,rgba(212,175,55,.18),rgba(212,175,55,.05));
  --hero-bg:linear-gradient(120deg,#141118,#0a090d);--hero-bg-solid:#12101a;--hero-ink:#e6dcc2;--hero-muted:#9c9280;--hero-line:rgba(212,175,55,.2);--hero-accent:#d4af37;--hero-deco:rgba(212,175,55,.18);--hero-deco-soft:rgba(212,175,55,.025);--hero-glow:rgba(212,175,55,.08);
  --btn-primary-bg:linear-gradient(180deg,#f0e2b6,#d9bd6e);--btn-primary-hover:linear-gradient(180deg,#f5e8c4,#e2c878);--btn-primary-ink:#1a1408;
  --toast-bg:#1c1913;--toast-ink:#f0e6c8;
  --topbar-bg:rgba(11,10,14,.85);--topbar-line:rgba(212,175,55,.14);
  --body-bg:radial-gradient(circle at 88% 0%,rgba(212,175,55,.05),transparent 30%),radial-gradient(circle at 0% 100%,rgba(212,175,55,.04),transparent 32%),var(--canvas);
  --focus-ring:0 0 0 3px rgba(212,175,55,.18);--focus-ring-strong:0 0 0 4px rgba(212,175,55,.16);--focus-outline:#d4af37;--ripple:rgba(212,175,55,.35);
  --num-fill:linear-gradient(180deg,#f0dfa8,#c9a445);
  --title-font:Georgia,"Palatino Linotype","Noto Serif SC","STSong",serif;--num-font:Georgia,"Palatino Linotype","Noto Serif SC","STSong",serif;
  --electric:#d4af37;--blue:#9c7c1e;--cyan:#d4af37;--cyan-dark:#b8963e;--navy:#0e0d11;
  --radius:16px;--shadow:0 14px 40px rgba(0,0,0,.55);--shadow-lift:0 22px 60px rgba(0,0,0,.65);
}
[data-theme=noir] h1,[data-theme=noir] h2,[data-theme=noir] h3,[data-theme=noir] .dashboard-hero h2,[data-theme=noir] .modal-card h2,[data-theme=noir] .flow-hero h2{font-family:var(--title-font)}
[data-theme=noir] .brand-mark{background:linear-gradient(150deg,#f0dfa8,#d4af37 55%,#9c7c1e);color:#14100a;border-color:rgba(240,223,168,.4);box-shadow:0 14px 40px rgba(212,175,55,.25)}
[data-theme=noir] .nav-item{color:var(--sidebar-muted)}
[data-theme=noir] .nav-item.active{color:var(--sidebar-ink-strong);box-shadow:inset 3px 0 0 #d4af37}
[data-theme=noir] .nav-item.active::before{background:#d4af37;box-shadow:0 0 12px #d4af37}
[data-theme=noir] .sidebar::before{background-image:linear-gradient(rgba(212,175,55,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.04) 1px,transparent 1px)}
[data-theme=noir] .sidebar::after{border-color:rgba(212,175,55,.12);box-shadow:0 0 70px rgba(212,175,55,.06)}
[data-theme=noir] .metric::before{background:linear-gradient(90deg,#d4af37,#9c7c1e,transparent);opacity:.5}
[data-theme=noir] .dashboard-shell{background:var(--surface);border-color:rgba(212,175,55,.16);box-shadow:0 20px 60px rgba(0,0,0,.5)}
[data-theme=noir] .dashboard-shell::before{display:block;opacity:.35;background-image:radial-gradient(circle,rgba(212,175,55,.35) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(240,223,168,.25) 0 1px,transparent 1.4px);mask-image:linear-gradient(120deg,#000,transparent 73%)}
[data-theme=noir] .dashboard-shell::after{display:none}
[data-theme=noir] .process-step:not(:last-child)::after{color:var(--muted)}
[data-theme=noir] .flow-hero{background:radial-gradient(circle at 85% 10%,rgba(212,175,55,.1),transparent 28%),var(--hero-bg)}
[data-theme=noir] .context-kicker{color:#d4af37!important}
[data-theme=noir] .context-line span{color:#d4af37}
[data-theme=noir] .login-signal,[data-theme=noir] .login-signal::before,[data-theme=noir] .login-signal::after{border-color:rgba(212,175,55,.25)}
[data-theme=noir] .login-signal span{color:#d4af37}
[data-theme=noir] .login-signal i{background:#d4af37;box-shadow:0 0 12px #d4af37}
[data-theme=noir] .toast{border:1px solid rgba(212,175,55,.35)}
[data-theme=noir] dialog::backdrop{background:rgba(4,3,6,.72)}
[data-theme=noir] .modal-card{border:1px solid rgba(212,175,55,.25);box-shadow:0 30px 90px rgba(0,0,0,.7)}
[data-theme=noir] .primary{box-shadow:0 10px 28px rgba(212,175,55,.25),inset 0 1px 0 rgba(255,248,214,.8)}
[data-theme=noir] ::selection{background:rgba(212,175,55,.35);color:#fff8dc}
[data-theme=noir] *{scrollbar-color:rgba(212,175,55,.35) transparent}
[data-theme=noir] *::-webkit-scrollbar-thumb{background:rgba(212,175,55,.35)}
[data-theme=noir] .toast::after{background:#d4af37}
[data-theme=noir] .toast.error{background:#2a151a}

/* 表格折叠/展开(2026-11-09): 含表格面板的收起交互, 状态记忆于localStorage */
.collapse-toggle{flex:none;font-size:.75rem}
.collapse-toggle::before{content:'▾';display:inline-block;margin-right:.28rem;transition:transform .18s ease}
article.panel.collapsed .collapse-toggle::before{transform:rotate(-90deg)}
article.panel.collapsed .table-wrap,article.panel.collapsed .table-block{display:none}
article.panel.collapsed .panel-head{margin-bottom:0}
article.panel .panel-head{flex-wrap:wrap;gap:.5rem}
