:root{--blue:#1677e8;--electric:#22b8f0;--blue2:#dceeff;--ink:#18334f;--muted:#718398;--line:#d8e2ec;--bg:#f4f8fc;--card:#fff;--green:#1f9d86;--red:#ef5b5b;--orange:#f2a34a;--purple:#7c6cf2;--shadow:0 8px 24px rgba(18,66,112,.075)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Microsoft JhengHei","Noto Sans TC",sans-serif;color:var(--ink);background:var(--bg)}button,select{font:inherit}.hidden{display:none!important}.app{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:248px;background:linear-gradient(180deg,#073d72,#062e57);color:#fff;padding:20px 14px;overflow:auto;transition:.25s}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px 22px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#56b8ff,#0b70d1);font-weight:800;box-shadow:0 6px 14px #001c3870}.brand b,.brand small{display:block}.brand b{font-size:18px}.brand small{opacity:.72;margin-top:3px}.nav-group{margin:3px 0}.nav-head,.nav-child{width:100%;border:0;color:inherit;background:none;text-align:left;border-radius:9px;cursor:pointer}.nav-head{display:flex;align-items:center;gap:10px;padding:11px 12px;font-weight:700}.nav-head svg,.nav-child svg{width:18px}.nav-head span{flex:1}.nav-head .chev{width:14px;transition:.2s}.nav-group.open .chev{transform:rotate(180deg)}.nav-children{display:none;padding:0 5px 7px 28px}.nav-group.open .nav-children{display:block}.nav-child{padding:8px 10px;font-size:14px;opacity:.8}.nav-child:hover,.nav-child.active{background:#ffffff18;opacity:1}.source-note{margin:24px 8px 4px;padding:12px;display:flex;gap:9px;border:1px solid #ffffff22;border-radius:10px;font-size:12px;color:#dcecff}.source-note svg{width:18px}.source-note b{font-size:13px}.main{margin-left:248px;width:calc(100% - 248px);min-width:0}.topbar{position:sticky;z-index:10;top:0;height:60px;padding:0 24px;display:flex;align-items:center;background:#ffffffee;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.icon-btn{display:none;border:0;background:none;padding:8px}.crumb{font-size:13px;color:var(--muted);flex:1}.top-actions{display:flex;gap:8px}.soft-btn,.primary-btn{border-radius:9px;padding:8px 12px;display:flex;align-items:center;gap:7px;cursor:pointer}.soft-btn{border:1px solid var(--line);background:#fff;color:var(--ink)}.primary-btn{border:0;background:var(--blue);color:#fff}.soft-btn svg,.primary-btn svg{width:16px}.hero{padding:25px 28px 14px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.hero p{margin:0}.hero #eyebrow{color:var(--blue);font-size:13px;font-weight:700}.hero h1{font-size:27px;margin:5px 0 7px}.hero #pageSubtitle{font-size:14px;color:var(--muted)}.active-chip{display:flex;align-items:center;gap:7px;border-radius:30px;background:#e7f2ff;color:#075da9;padding:7px 8px 7px 12px;font-size:13px}.active-chip svg{width:15px}.active-chip button{border:0;background:#fff;color:#075da9;width:22px;height:22px;border-radius:50%;cursor:pointer}.filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;padding:0 28px 17px}.filters label{background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 10px}.filters label>span{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}.filters select{width:100%;border:0;background:#fff;color:var(--ink);outline:none;font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 28px 14px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:15px;display:flex;gap:12px;box-shadow:var(--shadow);min-width:0}.kpi-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--blue2);color:var(--blue);flex:none}.kpi-icon svg{width:20px}.kpi small{color:var(--muted)}.kpi strong{font-size:25px;display:block;margin:3px 0}.kpi .unit{font-size:13px;margin-left:3px}.delta{font-size:11px;font-weight:700}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.delta.flat{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:14px;padding:0 28px 28px}.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:0;min-height:320px;overflow:hidden}.panel.wide{grid-column:span 2}.panel-head{height:57px;padding:13px 15px;display:flex;align-items:center;border-bottom:1px solid #edf2f7}.panel-title{min-width:0;flex:1}.panel-title b{font-size:14px}.panel-title small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.panel-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;margin-right:9px;background:var(--blue2);color:var(--blue)}.panel-icon svg{width:17px}.panel-body{height:262px;padding:10px}.chart{width:100%;height:100%;cursor:pointer}.table-wrap{overflow:auto;height:100%;padding:0 4px}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{position:sticky;top:0;background:#f7faff;color:#53667b;text-align:right;padding:8px 7px;cursor:pointer;white-space:nowrap}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table td{padding:8px 7px;border-top:1px solid #edf1f5;text-align:right;white-space:nowrap}.signal{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.signal.high{background:var(--red)}.signal.mid{background:var(--orange)}.signal.low{background:var(--green)}.insights{padding:12px;height:100%;overflow:auto}.insight{display:flex;gap:10px;padding:10px;border-radius:10px;background:#f6f9fd;margin-bottom:8px}.insight svg{width:18px;color:var(--blue);flex:none}.insight b{font-size:13px}.insight p{font-size:12px;color:var(--muted);margin:4px 0 0;line-height:1.5}footer{display:flex;justify-content:space-between;padding:0 28px 28px;color:#8190a0;font-size:11px}.loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#f4f8fc;color:var(--ink)}.loading span{font-size:12px;color:var(--muted)}.loader{width:38px;height:38px;border:4px solid #dcecff;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scrim{display:none}
@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.wide{grid-column:span 2}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:min(82vw,290px)}.sidebar.open{transform:none}.scrim.show{display:block;position:fixed;z-index:15;inset:0;background:#061d3588}.main{margin:0;width:100%}.icon-btn{display:block}.topbar{padding:0 12px}.crumb{display:none}.soft-btn span,.primary-btn span{display:none}.soft-btn,.primary-btn{padding:8px}.hero{padding:18px 15px 12px;display:block}.hero h1{font-size:22px}.active-chip{margin-top:12px;width:max-content}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 15px 13px;gap:8px}.filters label{min-width:0}.filters select{font-size:12px;text-overflow:ellipsis}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 15px 12px;gap:8px}.kpi{padding:11px;gap:8px}.kpi-icon{width:32px;height:32px}.kpi strong{font-size:20px}.dashboard-grid{display:block;padding:0 15px 20px}.panel{margin-bottom:11px;min-height:310px}.panel-body{height:252px}.data-table{font-size:11px}.data-table th,.data-table td{padding:8px 6px}footer{display:block;padding:0 15px 25px}footer span{display:block;margin-top:4px}}

/* Stable semantic accents: match the original dashboard's KPI color rhythm. */
.kpi:nth-child(4n+1) .kpi-icon{background:#eaf3ff;color:#1677e8}
.kpi:nth-child(4n+2) .kpi-icon{background:#e2f7ff;color:#169dcc}
.kpi:nth-child(4n+3) .kpi-icon{background:#eef3f7;color:#66809a}
.kpi:nth-child(4n+4) .kpi-icon{background:#e7f0ff;color:#3f7edb}

/* Glacier current theme: white canvas, blue energy and silver structure. */
body{background:radial-gradient(circle at 82% 0,rgba(34,184,240,.07),transparent 28%),var(--bg)}
.sidebar{background:linear-gradient(180deg,#062746 0%,#09385f 54%,#062b4d 100%);border-right:1px solid rgba(143,201,243,.22);box-shadow:8px 0 30px rgba(4,42,77,.12)}
.sidebar::after{content:"";position:fixed;left:247px;top:0;width:1px;height:100vh;background:linear-gradient(180deg,transparent,rgba(34,184,240,.75),transparent);pointer-events:none}
.brand-mark{background:linear-gradient(135deg,#65d5ff,#1677e8);box-shadow:0 7px 20px rgba(34,184,240,.28)}
.topbar{border-bottom-color:#dce6f0;box-shadow:0 1px 0 rgba(255,255,255,.9)}
.primary-btn{background:linear-gradient(110deg,#1677e8,#22aee8);box-shadow:0 6px 16px rgba(22,119,232,.2)}
.primary-btn:hover{box-shadow:0 0 0 3px rgba(34,184,240,.13),0 8px 20px rgba(22,119,232,.24)}
.panel,.kpi,.filters label{border-color:#dce6f0}
.panel{box-shadow:0 9px 26px rgba(18,66,112,.07)}
.panel-head{background:linear-gradient(90deg,#fff,#fbfdff)}
.panel-icon{background:#eaf5ff;color:#1677e8;border:1px solid #d8ebfb}
.active-chip{background:#e8f6ff;color:#086da8;box-shadow:0 0 0 1px rgba(34,184,240,.24),0 0 16px rgba(34,184,240,.12)}
.nav-child.active{background:linear-gradient(90deg,rgba(34,184,240,.2),rgba(22,119,232,.12));box-shadow:inset 2px 0 #65d5ff}
.table-link:hover{background:#e9f5ff;color:#086daf}
.table-link:focus-visible,.soft-btn:focus-visible,.primary-btn:focus-visible{outline:2px solid #22b8f0;outline-offset:2px}
@media(max-width:760px){.sidebar::after{display:none}}
@media(max-width:390px){.filters{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi small{font-size:10px}.kpi strong{font-size:18px}.kpi-icon{display:none}}

/* Reference-complete dashboard components */
.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi{padding:12px;gap:9px}.kpi-icon{width:34px;height:34px}.kpi strong{font-size:22px}.panel{min-height:340px}.panel-body{height:282px}
.split-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(135px,.65fr);gap:10px;height:100%}.split-body>div:first-child{min-width:0}.mini-stack{display:grid;gap:8px;align-content:center}.panel-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:7px}.panel-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stat{min-width:0;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #e3edf6;border-radius:10px;background:#f9fcff}.mini-stat>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#eaf5ff;color:var(--blue);flex:none}.mini-stat svg{width:15px}.mini-stat small,.mini-stat b,.mini-stat em{display:block}.mini-stat small{font-size:10px;color:var(--muted)}.mini-stat b{font-size:17px;margin-top:2px}.mini-stat em{font-size:9px;color:var(--blue);font-style:normal;margin-top:2px}.short-chart{height:178px}.dual-chart{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:188px}.dual-chart>div{min-width:0}.dual-chart b{display:block;font-size:11px;color:#53667b;padding:2px 6px}.bar-cell{position:relative;min-width:90px;height:20px;background:#eef4fa;border-radius:5px;overflow:hidden}.bar-cell i{position:absolute;inset:0 auto 0 0;background:#8fc9f3}.bar-cell span{position:relative;z-index:1;line-height:20px;font-weight:700}.strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:100%}.strategy{border:1px solid #dce7f2;border-radius:11px;background:#f9fcff;text-align:left;padding:10px;color:var(--ink)}.strategy>span{color:var(--blue)}.strategy svg{width:17px}.strategy b,.strategy small,.strategy p{display:block}.strategy b{font-size:12px}.strategy small{font-size:10px;color:var(--blue);margin-top:3px}.strategy p{font-size:10px;color:var(--muted);line-height:1.45;margin:6px 0 0}.lifecycle{height:100%;display:flex;align-items:center;justify-content:center;gap:12px}.lifecycle>div{display:grid;place-items:center;grid-template-columns:1fr 1fr;gap:3px;min-width:78px}.lifecycle>div span{grid-column:1/3;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eaf5ff;color:var(--blue)}.lifecycle svg{width:23px}.lifecycle b{background:var(--blue);color:#fff;border-radius:50%;width:20px;height:20px;text-align:center;font-size:12px;line-height:20px}.lifecycle small{font-weight:700}.lifecycle>i{color:var(--blue);font-size:20px}.action-list>b{display:block;color:var(--blue);margin:4px 4px 8px}.action-list>div{display:flex;gap:9px;align-items:flex-start;padding:8px;border-radius:9px;background:#f7faff;margin-bottom:6px}.action-list span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;flex:none}.action-list p{font-size:11px;line-height:1.45;margin:1px 0}.timeline{padding:7px 10px}.timeline>div{display:flex;gap:12px;min-height:50px;position:relative}.timeline>div:not(:last-child):before{content:"";position:absolute;left:12px;top:25px;bottom:0;border-left:2px solid #b7d9f5}.timeline b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;z-index:1}.timeline span{font-size:11px}.timeline strong{display:block;color:var(--blue);font-size:12px;margin-bottom:3px}
.profile-card{display:flex;gap:15px;padding:20px 12px}.avatar{width:88px;height:110px;border-radius:14px;background:linear-gradient(145deg,#dceeff,#8fc9f3);display:grid;place-items:center;color:#0b5cab;flex:none}.avatar svg{width:52px;height:52px}.profile-card b,.profile-card strong{display:block}.profile-card p{font-size:12px;color:var(--muted);margin:8px 0}.profile-card strong{color:var(--blue);font-size:12px;margin-top:14px}
@media(max-width:1400px){.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi small{font-size:10px}.delta{font-size:9px}}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{min-height:350px}.panel-body{height:292px}.split-body{grid-template-columns:1fr}.split-body>div:first-child{height:178px}.mini-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stat{padding:6px}.mini-stat>span{display:none}.mini-stat b{font-size:14px}.dual-chart{grid-template-columns:1fr;height:auto}.dual-chart>div{height:185px}.strategy-grid{grid-template-columns:1fr}.lifecycle{justify-content:flex-start;overflow:auto;gap:8px}.lifecycle>i{font-size:15px}.lifecycle>div{min-width:68px}.source-table{min-width:650px}}

/* Layout integrity: content-aware cards, aligned numerals and responsive charts. */
.kpi-grid{align-items:stretch}
.kpi{align-items:flex-start;min-height:118px}
.kpi>div{display:flex;flex:1;min-width:0;height:100%;flex-direction:column}
.kpi small{display:block;min-height:30px;line-height:1.35}
.kpi strong,.mini-stat b,.data-table td{font-variant-numeric:tabular-nums}
.kpi strong{line-height:1.08;white-space:nowrap}
.kpi .delta{display:block;margin-top:auto;min-height:26px;line-height:1.35}
.panel{display:flex;min-height:340px;overflow:hidden;flex-direction:column}
.panel-head{height:auto;min-height:57px;flex:none}
.panel-title b,.panel-title small{overflow-wrap:anywhere}
.panel-body{height:auto;min-height:282px;flex:1}
.panel-body>.chart{height:282px;min-height:282px}
.panel-body>.table-wrap{height:auto;max-height:360px;min-height:282px}
.table-wrap{height:auto;max-width:100%;overflow:auto;overscroll-behavior:contain}
.data-table{font-variant-numeric:tabular-nums}
.data-table th,.data-table td{height:34px;line-height:1.3;vertical-align:middle}
.data-table th{z-index:1}
.data-table th[data-col]::after{content:' ↕';display:inline;color:#8aa0b7;font-size:10px;white-space:nowrap}
.table-link{display:inline-flex;max-width:100%;align-items:center;border:0;border-radius:6px;background:transparent;color:var(--blue);padding:3px 5px;text-align:left;white-space:nowrap;cursor:pointer}
.split-body{height:auto;min-height:282px;align-items:stretch}
.split-body>div:first-child{min-height:262px}
.split-body>div:first-child>.chart{height:262px}
.panel-kpis{align-items:stretch}
.mini-stat>div{min-width:0}
.mini-stat small,.mini-stat em{line-height:1.3;overflow-wrap:anywhere}
.mini-stat b{line-height:1.15;white-space:nowrap}
.short-chart{height:188px;min-height:188px}
.dual-chart{height:auto;min-height:198px;align-items:stretch}
.dual-chart>div{min-height:198px}
.dual-chart .chart{height:178px;min-height:178px}
.strategy-grid{height:auto;min-height:282px;align-items:stretch}
.strategy{min-height:128px}
.lifecycle{height:auto;min-height:282px}
.insights{height:auto;min-height:282px;max-height:420px}
.action-list,.timeline,.profile-card{min-height:282px}
@media(max-width:1550px) and (min-width:1051px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi small{font-size:12px}.delta{font-size:11px}}
@media(max-width:1200px){.dashboard-grid{align-items:start}.panel{height:auto}.panel.wide{grid-column:span 2}}
@media(max-width:760px){
  .hero{align-items:flex-start}.active-chip{max-width:100%}
  .filters select{font-size:13px;line-height:1.4}
  .kpi{min-height:112px}.kpi small{min-height:28px}.kpi .delta{min-height:25px}
  .panel{height:auto;min-height:0;overflow:hidden}
  .panel-head{min-height:60px;align-items:flex-start}
  .panel-body{height:auto;min-height:0;padding:10px 9px 12px}
  .panel-body>.chart{height:300px;min-height:300px}
  .panel-body>.table-wrap{height:auto;min-height:0;max-height:420px}
  .split-body{height:auto;min-height:0;grid-template-columns:1fr}
  .split-body>div:first-child{height:220px;min-height:220px}
  .split-body>div:first-child>.chart{height:220px;min-height:220px}
  .mini-stack{grid-template-columns:repeat(3,minmax(0,1fr));align-content:stretch}
  .dual-chart{height:auto;min-height:0;grid-template-columns:1fr}
  .dual-chart>div{height:218px;min-height:218px}
  .dual-chart .chart{height:195px;min-height:195px}
  .strategy-grid{height:auto;min-height:0;grid-template-columns:1fr}
  .strategy{min-height:0}
  .lifecycle{height:auto;min-height:220px;padding:10px 2px}
  .insights{height:auto;min-height:0;max-height:none}
  .action-list,.timeline,.profile-card{min-height:0}
  .data-table th,.data-table td{height:36px}
}

/* Readable stepped recruitment funnel. */
.funnel-layout{display:grid;gap:9px;min-height:342px;align-content:start}
.funnel-modern{display:grid;gap:5px;height:236px;padding:2px;align-content:center}
.funnel-stage{position:relative;width:calc(100% - var(--stage-inset)*2);height:36px;margin-inline:var(--stage-inset);display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:8px;border:0;border-radius:8px;background:var(--stage-color);color:#fff;padding:0 10px;box-shadow:0 3px 8px rgba(17,77,128,.13);cursor:pointer;transition:transform .16s ease,filter .16s ease}
.funnel-stage:hover{filter:brightness(1.04);transform:translateY(-1px)}
.funnel-stage:focus-visible{outline:2px solid var(--electric);outline-offset:2px}
.funnel-stage span{overflow:hidden;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.funnel-stage strong{font-size:14px;font-variant-numeric:tabular-nums;text-align:right}
.funnel-stage em{border-radius:999px;background:rgba(255,255,255,.18);font-size:9px;font-style:normal;font-weight:700;line-height:20px;text-align:center}
.funnel-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.funnel-kpis .mini-stat{display:block;padding:8px;text-align:center}
.funnel-kpis .mini-stat>span{display:none}
.funnel-kpis .mini-stat small,.funnel-kpis .mini-stat em{min-height:0}
.funnel-kpis .mini-stat b{font-size:15px}
@media(max-width:760px){.funnel-layout{min-height:326px}.funnel-modern{height:220px;gap:4px}.funnel-stage{height:32px;grid-template-columns:minmax(0,1fr) auto 42px;padding:0 8px}.funnel-stage strong{font-size:13px}.funnel-kpis .mini-stat>span{display:none}}
@media(max-width:420px){
  .filters{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:1fr}
  .kpi-icon{display:grid}
  .kpi small{font-size:12px}
  .kpi strong{font-size:21px}
  .mini-stack,.panel-kpis.three{grid-template-columns:1fr}
  .mini-stat>span{display:grid}
}

/* Risk semantics, scroll-safe market table and administration workspace. */
.signal-wrap{display:inline-flex;min-width:76px;align-items:center;justify-content:flex-start;gap:7px;line-height:1.25;text-align:left;vertical-align:middle}
.signal{width:9px;height:9px;margin:0;flex:0 0 9px;box-shadow:0 0 0 3px rgba(113,131,152,.09)}
.signal.high{background:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.12)}
.signal.midhigh{background:#f08c46;box-shadow:0 0 0 3px rgba(240,140,70,.13)}
.signal.mid{background:#e6b43c;box-shadow:0 0 0 3px rgba(230,180,60,.14)}
.signal.low{background:#23a58c;box-shadow:0 0 0 3px rgba(35,165,140,.12)}
.data-table td .signal-wrap{justify-content:flex-start}
.market-table{min-width:850px}
.market-table td{min-width:80px}
.market-table td:first-child{min-width:128px}
.numeric-cell{font-variant-numeric:tabular-nums;font-weight:700;text-align:right!important}
.trend-mark{display:inline-flex;min-width:64px;align-items:center;gap:5px;font-weight:700}
.trend-mark svg{width:14px;height:14px}
.trend-mark.up{color:#16856f}.trend-mark.down{color:#d64a4f}.trend-mark.flat{color:#718398}
.panel-body{overflow:hidden;scrollbar-gutter:auto}
.panel-body>.table-wrap{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.market-table th:first-child,.market-table td:first-child,.source-table th:first-child,.source-table td:first-child{position:sticky;left:0;background:#fff;z-index:2;box-shadow:7px 0 10px -11px #28455f}
.market-table th:first-child,.source-table th:first-child{z-index:4;background:#f7faff}
.table-wrap::-webkit-scrollbar,.panel-body::-webkit-scrollbar{width:8px;height:8px}
.table-wrap::-webkit-scrollbar-thumb,.panel-body::-webkit-scrollbar-thumb{background:#a9bfd2;border-radius:9px;border:2px solid transparent;background-clip:padding-box}
.table-wrap::-webkit-scrollbar-track,.panel-body::-webkit-scrollbar-track{background:#eff5fa}
.admin-table{min-width:620px}
.admin-note{display:grid;gap:10px;min-height:282px;padding:4px}
.admin-note label{font-size:12px;font-weight:700;color:var(--blue)}
.admin-note textarea{width:100%;min-height:168px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;color:var(--ink);outline:none}
.admin-note textarea:focus{border-color:var(--electric);box-shadow:0 0 0 3px rgba(34,184,240,.12)}
.admin-note>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-note small{color:var(--muted);line-height:1.4}
.admin-gates{display:grid;gap:14px;padding:12px;min-height:282px;align-content:center}
.admin-gates>div{display:grid;grid-template-columns:70px 52px 1fr;align-items:center;gap:10px;font-size:12px}
.admin-gates b{font-variant-numeric:tabular-nums;color:var(--blue)}
.admin-gates i{height:9px;overflow:hidden;border-radius:8px;background:#edf4fa}
.admin-gates em{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--blue),var(--electric))}
@media(max-width:760px){
  .signal-wrap{min-width:70px}
  .panel-body:has(>#riskHeatmap),.panel-body:has(>#trend),.panel-body:has(>#retention),.panel-body:has(>#experienceTrend),.panel-body:has(>#riskTrend){overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-gutter:stable}
  #riskHeatmap{min-width:660px}
  #trend,#retention,#experienceTrend,#riskTrend{min-width:560px}
  .market-table{min-width:820px}
  .admin-gates>div{grid-template-columns:62px 45px 1fr}
}
