:root{--ink:#172033;--muted:#70809a;--line:#e8edf4;--bg:#f5f7fb;--panel:#fff;--primary:#0f766e;--primary2:#14b8a6;--orange:#f97316;--blue:#2563eb;--purple:#7c3aed;--red:#e44f59;--shadow:0 12px 32px rgba(31,47,78,.07);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:linear-gradient(180deg,#f8fafc 0,#f3f6fa 100%)}button,select,input{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:#0c2e34;color:#fff;padding:26px 18px;display:flex;flex-direction:column;z-index:10;box-shadow:12px 0 35px rgba(10,40,47,.08)}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#2dd4bf,#0f766e);display:grid;place-items:center;font-size:24px;font-weight:800;box-shadow:0 8px 20px rgba(20,184,166,.28)}.brand strong,.brand span{display:block}.brand strong{font-size:20px}.brand span{font-size:14px;color:#99b8bc;margin-top:4px}.sidebar nav{display:grid;gap:8px;margin-top:28px}.nav-item{appearance:none;border:0;background:transparent;color:#9bb9bd;padding:12px 14px;border-radius:10px;text-align:left;cursor:pointer;font-weight:650;transition:.2s}.nav-item span{display:inline-grid;width:24px}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(45,212,191,.14)}.nav-item.active{box-shadow:inset 3px 0 #2dd4bf}.sidebar-note{margin-top:auto;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:12px;padding:13px;display:flex;gap:10px;align-items:center}.sidebar-note strong,.sidebar-note small{display:block}.sidebar-note strong{font-size:14px}.sidebar-note small{color:#86a9ae;font-size:12px;margin-top:4px}.pulse{width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 0 5px rgba(52,211,153,.12)}main{margin-left:226px;padding:30px 34px 60px;max-width:1800px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--primary);font-weight:800;margin:0 0 7px}.topbar h1{font-size:28px;margin:0}.subtitle{color:var(--muted);font-size:15px;margin:8px 0 0}.top-actions{display:flex;gap:10px;align-items:end}.filter{background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 12px;display:grid;gap:3px;min-width:132px}.filter span{font-size:11px;color:#8996aa}.filter select{border:0;color:#334155;font-size:14px;font-weight:650;outline:none;background:transparent}.export-btn,.outline-btn{border:0;border-radius:10px;padding:12px 17px;cursor:pointer;font-weight:700}.export-btn{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 8px 20px rgba(15,118,110,.18)}.outline-btn{color:var(--primary);background:#fff;border:1px solid #b9dad6}.data-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#eef9f7;border:1px solid #c9eee8;color:#45636a;border-radius:10px;font-size:14px;margin-bottom:24px}.data-banner>span{width:20px;height:20px;border-radius:50%;background:#c5eee8;color:#0f766e;display:grid;place-items:center;font-weight:800}.data-banner p{margin:0;flex:1}.data-banner button{border:0;background:transparent;color:#759298;cursor:pointer}.dashboard-section{display:none}.dashboard-section.active{display:block}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px}.section-heading h2{font-size:21px;margin:0}.section-heading p{color:var(--muted);font-size:14px;margin:5px 0 0}.date-range{font-size:13px;color:#8290a5;background:#fff;border:1px solid var(--line);border-radius:20px;padding:7px 12px}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:14px}.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:-20px;top:-23px;width:82px;height:82px;border-radius:50%;background:var(--accent-soft)}.kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-label{font-size:13px;color:var(--muted);font-weight:650}.kpi-icon{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:800;z-index:1}.kpi-value{font-size:29px;font-weight:800;margin-top:12px;letter-spacing:-.03em}.kpi-sub{font-size:12px;color:#8996aa;margin-top:7px}.kpi-sub strong{color:var(--accent)}.grid{display:grid;gap:14px;margin-bottom:14px}.two-thirds{grid-template-columns:1.9fr 1fr}.equal{grid-template-columns:1fr 1fr}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:14px}.panel h3{font-size:16px;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;font-size:11px;color:#718096}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.chart-wrap{height:270px}.chart-wrap.large{height:390px}.chart-wrap svg{width:100%;height:100%;overflow:visible}.gridline{stroke:#edf1f6;stroke-width:1}.axis-label{font-size:12px;fill:#8a96a8}.chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-area{opacity:.12}.chart-dot{stroke:#fff;stroke-width:2}.ai-tag{color:#0f766e;background:#e8f8f5;border-radius:20px;font-size:11px;font-weight:800;padding:5px 8px}.insight{padding:13px 0;border-bottom:1px solid #edf0f5;display:flex;gap:10px}.insight:last-child{border-bottom:0}.insight-index{width:25px;height:25px;flex:0 0 25px;border-radius:8px;background:#ecf8f6;color:#0f766e;display:grid;place-items:center;font-size:12px;font-weight:800}.insight strong{font-size:13px;display:block}.insight p{font-size:12px;color:#75849a;line-height:1.55;margin:4px 0 0}.donut-layout{display:flex;align-items:center;gap:30px;padding:4px 12px}.donut{width:162px;height:162px;border-radius:50%;display:grid;place-items:center;position:relative;flex:0 0 162px}.donut:after{content:"";position:absolute;inset:30px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #edf1f5}.donut>div{z-index:1;text-align:center}.donut strong,.donut span{display:block}.donut strong{font-size:27px}.donut span{font-size:11px;color:#7b899d}.donut-list{flex:1;display:grid;gap:9px}.donut-item{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:12px}.dot{width:7px;height:7px;border-radius:50%}.donut-item span{color:#6f7e93}.center-status{display:grid;gap:14px}.center-row{display:grid;grid-template-columns:150px 1fr 50px;gap:12px;align-items:center}.center-row strong{font-size:13px}.center-row small{display:block;color:#8794a7;font-size:11px;margin-top:3px}.progress{height:8px;background:#edf2f6;border-radius:5px;overflow:hidden}.progress i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--primary),var(--primary2))}.status-pill{font-size:11px;border-radius:20px;padding:5px 7px;text-align:center}.status-active{background:#e7f8f4;color:#0f766e}.status-waiting{background:#f3f5f8;color:#8390a2}.funnel-panel{padding:22px}.funnel-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.mini-stat{padding:13px;background:#f8fafc;border-radius:10px;border:1px solid #edf1f5}.mini-stat span,.mini-stat strong{display:block}.mini-stat span{font-size:11px;color:#8390a2}.mini-stat strong{font-size:22px;margin-top:6px}.funnel{display:grid;gap:8px;max-width:1040px;margin:0 auto}.funnel-step{height:60px;margin:auto;border-radius:8px;display:grid;grid-template-columns:1fr auto;align-items:center;color:#fff;padding:0 22px;box-shadow:0 6px 15px rgba(31,54,74,.12);min-width:260px}.funnel-step strong{font-size:14px}.funnel-step span{font-size:21px;font-weight:800}.funnel-rate{text-align:center;color:#8693a5;font-size:11px;margin:-3px 0}.funnel-footnote{margin-top:18px;color:#8a96a8;font-size:11px;text-align:center}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{padding:10px;background:#f7f9fc;color:#69778c;text-align:left;border-bottom:1px solid #e9edf3;white-space:nowrap}.data-table td{padding:11px 10px;border-bottom:1px solid #eef1f5;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.rate-chip{border-radius:16px;padding:4px 7px;background:#eef8f6;color:#0f766e;font-weight:750}.risk-list{display:grid;gap:12px}.risk-item{display:grid;grid-template-columns:29px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #edf0f4;border-radius:10px}.risk-rank{width:29px;height:29px;border-radius:9px;background:#fff1e8;color:#f97316;display:grid;place-items:center;font-weight:800}.risk-item strong{font-size:13px}.risk-item p{font-size:11px;color:#7d899a;margin:4px 0 0}.risk-score{font-size:12px;color:#e65d22;font-weight:800}.metric-switch{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.metric-switch button{border:1px solid #e3e8ef;background:#fff;color:#78869a;border-radius:18px;padding:5px 9px;font-size:11px;cursor:pointer}.metric-switch button.active{background:#0f766e;border-color:#0f766e;color:#fff}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-head{font-size:11px;color:#8995a6;text-align:center}.cal-cell{aspect-ratio:1.45;border-radius:8px;background:#f3f6f9;padding:7px;font-size:11px;color:#768499;position:relative}.cal-cell.active{color:#fff;background:var(--cal)}.cal-cell strong{position:absolute;right:7px;bottom:6px;font-size:13px}.pace-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pace-card{padding:16px;border:1px solid #edf1f5;border-radius:11px;background:#f9fbfc}.pace-card span,.pace-card strong,.pace-card small{display:block}.pace-card span{font-size:11px;color:#8491a4}.pace-card strong{font-size:25px;margin:6px 0}.pace-card small{font-size:11px;color:#6d7c91}.center-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.center-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.center-card-head{display:flex;justify-content:space-between}.center-card h3{font-size:15px}.center-card .big{font-size:29px;font-weight:800;margin:15px 0 3px}.center-card p{font-size:11px;color:#8390a2}.stage-dots{display:flex;gap:5px;margin-top:15px}.stage-dots i{width:100%;height:5px;border-radius:5px;background:#e9edf2}.stage-dots i.on{background:#14b8a6}.matrix-cell{font-weight:700;text-align:center}.matrix-hot{background:#e4f7f3;color:#0f766e}.matrix-zero{color:#aab3c0}.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.table-toolbar input{border:1px solid #dfe5ec;border-radius:9px;padding:9px 12px;width:260px;outline:none}.table-toolbar span{font-size:12px;color:#8290a5}.source-note{margin-top:14px}.source-note ul{font-size:12px;color:#718095;line-height:1.8;padding-left:18px}.source-note h3{margin-bottom:6px}@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.two-thirds{grid-template-columns:1fr}.center-cards{grid-template-columns:1fr 1fr}}
@media print{body{min-width:0;background:#fff}.sidebar,.top-actions,.data-banner{display:none!important}main{margin:0;padding:15px}.dashboard-section{display:block!important;page-break-after:always}.panel,.kpi-card{box-shadow:none}.topbar{margin-bottom:25px}}

/* 2026-09-23 单页运营总览调整 */
.compact-funnel-panel{min-height:342px}
.funnel-tag{color:#667f7c;background:#edf4f3;border:1px solid #dce9e7;border-radius:20px;font-size:11px;font-weight:800;padding:5px 9px}
.compact-funnel{display:grid;gap:5px;padding:1px 2px 0}
.compact-funnel-row{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:31px}
.compact-rate{font-size:10px;color:#7b8797;text-align:right;padding-right:7px;font-variant-numeric:tabular-nums}
.compact-rate.start{color:#9aa5b2}
.compact-funnel-step{height:31px;margin:auto;clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%);display:flex;align-items:center;justify-content:space-between;padding:0 11%;color:#fff;text-shadow:0 1px 1px rgba(37,50,60,.12)}
.compact-funnel-step strong{font-size:11px;white-space:nowrap}
.compact-funnel-step b{font-size:14px}
.compact-funnel-note{text-align:center;color:#8a96a6;font-size:10px;margin-top:7px}
.detail-heading{margin-top:24px}
.detail-panel{margin-bottom:14px}
.dashboard-section{display:block}
@media print{.dashboard-section{page-break-after:auto}}

/* 参考图样式：横向统计卡与梯形漏斗 */
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi-card.stat-card{--tone:#3478ff;--tone-soft:#eef5ff;min-height:98px;padding:0;border-left:4px solid var(--tone);display:grid;grid-template-columns:1fr 58px;overflow:hidden;border-radius:12px;box-shadow:0 5px 14px rgba(40,55,80,.08)}
.stat-card:after{display:none}
.stat-card-main{padding:15px 12px 12px 15px;min-width:0}
.stat-card-label{display:flex;align-items:center;gap:6px;color:#768296;font-size:12px;white-space:nowrap}
.stat-mini-icon{color:var(--tone);font-size:12px;font-weight:800}
.stat-help{width:13px;height:13px;border:1px solid #cbd3de;color:#a7b0bd;border-radius:50%;font-size:9px;display:inline-grid;place-items:center}
.stat-card .kpi-value{font-size:25px;margin-top:9px;color:#20242b;line-height:1;font-weight:800}
.stat-card-icon{background:var(--tone-soft);color:var(--tone);font-size:17px;font-weight:800;display:grid;place-items:center;border-left:1px solid rgba(0,0,0,.025)}
.tone-blue{--tone:#3478ff!important;--tone-soft:#eef5ff!important}.tone-cyan{--tone:#2f8cff!important;--tone-soft:#edf6ff!important}.tone-indigo{--tone:#6473ff!important;--tone-soft:#f0f2ff!important}.tone-green{--tone:#19bf68!important;--tone-soft:#edfbf3!important}.tone-violet{--tone:#8458ff!important;--tone-soft:#f4f0ff!important}.tone-purple{--tone:#9860ff!important;--tone-soft:#f5f0ff!important}
.compact-funnel-panel{min-height:435px}
.compact-funnel{display:flex;flex-direction:column;gap:0;padding:2px 5px 0}
.compact-funnel-group{width:100%}
.compact-funnel-group .compact-rate{height:22px;display:flex;align-items:center;justify-content:center;padding:0;color:#768296;font-size:11px;text-align:center}
.compact-funnel-step{height:44px;margin:auto;clip-path:polygon(0 0,100% 0,95% 100%,5% 100%);padding:0 4%;display:flex;align-items:center;justify-content:space-between;color:#713016;text-shadow:none}
.compact-funnel-step strong{font-size:13px;font-weight:700}.compact-funnel-step b{font-size:14px;font-weight:800}
.compact-funnel-note{font-size:11px;margin-top:8px}
@media(max-width:1350px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}

/* 统计卡使用线性图标，不再使用汉字图标 */
.stat-label-icon{width:15px;height:15px;color:var(--tone);flex:0 0 auto}
.stat-side-icon{width:23px;height:23px;color:var(--tone)}
.stat-card-icon{font-size:0}

/* 2026-09-23 可读性增强：主标题与副标题保持不变，其余信息字号统一放大 */
body{font-size:16px}
.eyebrow{font-size:14px}
.brand strong{font-size:20px}.brand span{font-size:15px}
.nav-item{font-size:17px}
.sidebar-note strong{font-size:15px}.sidebar-note small{font-size:13px}
.filter span{font-size:13px}.filter select{font-size:15px}
.export-btn,.outline-btn{font-size:15px}
.data-banner{font-size:15px}
.section-heading h2{font-size:24px}.section-heading p{font-size:15px}.date-range{font-size:14px}
.stat-card-label{font-size:15px}.stat-help{font-size:11px}.stat-card .kpi-value{font-size:29px}
.stat-label-icon{width:17px;height:17px}.stat-side-icon{width:26px;height:26px}
.panel h3{font-size:19px}.panel-head p{font-size:15px}
.legend{font-size:14px;gap:13px}.legend i{width:9px;height:9px}
.axis-label{font-size:13px}
.funnel-tag{font-size:14px}.compact-funnel-group .compact-rate{font-size:14px}.compact-funnel-step strong{font-size:16px}.compact-funnel-step b{font-size:17px}.compact-funnel-note{font-size:13px}
.donut strong{font-size:29px}.donut span{font-size:13px}.donut-item{font-size:15px}
.center-row strong{font-size:16px}.center-row small{font-size:14px}.status-pill{font-size:13px}
.table-toolbar input{font-size:15px}.table-toolbar span{font-size:14px}.data-table{font-size:15px}.data-table th,.data-table td{padding-top:13px;padding-bottom:13px}

/* 趋势图与招募漏斗等宽 */
.overview-primary-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

.refresh-btn{border:1px solid #b9ded8;background:#eefaf7;color:#0f766e;border-radius:9px;padding:10px 14px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s ease}.refresh-btn:hover{background:#dff5f0;border-color:#8ccfc4}.refresh-btn:disabled{opacity:.65;cursor:wait}.top-actions{flex-wrap:wrap}
