/* Unified drill-down affordances */
.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.kpi-grid{grid-template-columns:1fr}}
.funnel-step{border:0;cursor:pointer;transition:filter .18s,transform .18s}
.funnel-step:hover{filter:brightness(1.08);transform:translateY(-2px)}
.matrix-point,.clickable-point,.clickable-year{cursor:pointer}
.matrix-point:hover circle{stroke:#102f39;stroke-width:2}
.clickable-point:hover{r:8px}
.clickable-year:hover{font-weight:800;fill:#176b87}
button.mini-stat{cursor:pointer;text-align:left;color:var(--ink);transition:.18s}
button.mini-stat:hover{transform:translateY(-2px);border-color:#8db9bd;box-shadow:var(--shadow)}
.clickable-row{cursor:pointer}
.clickable-row:hover{background:#eaf4f3}
.rec-card.clickable,.focus-item.clickable{cursor:pointer;transition:.18s}
.rec-card.clickable:hover,.focus-item.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.interactive-hint{font-size:9px;color:var(--teal);font-weight:700;white-space:nowrap}
.focus-item.clickable{width:100%;border:0;border-bottom:1px solid #edf1f1;background:transparent;text-align:left;color:var(--ink)}
.focus-item.clickable:last-child{border-bottom:0}
.donut:hover{filter:brightness(.98);box-shadow:0 0 0 5px rgba(23,107,135,.08)}
.donut-legend button:hover,.bar-row:hover{background:#f2f7f6;border-radius:6px}
.donut-legend button{grid-template-columns:12px minmax(0,1fr) 48px 50px;gap:3px}
.donut-legend button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.donut-legend button>strong,.donut-legend button>em{text-align:right;white-space:nowrap}
.grid.three .donut-wrap{grid-template-columns:125px minmax(0,1fr);gap:10px}
.grid.three .donut{width:120px;height:120px}
.grid.three .donut:after{inset:23px}
#categoryChart .donut-wrap{grid-template-columns:100px minmax(0,1fr);gap:10px;width:100%;height:auto;min-height:235px;overflow:hidden}
#categoryChart .donut{width:100px;height:100px}
#categoryChart .donut:after{inset:20px}
#categoryChart .donut-legend{gap:6px}
#categoryChart .donut-legend{min-width:0;width:100%}
#categoryChart .donut-legend button{grid-template-columns:10px minmax(0,1fr) max-content 46px;gap:5px;align-items:start;width:100%;min-width:0}
#categoryChart .donut-legend button>span{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35;word-break:break-all}
#categoryChart .donut-legend button>strong,#categoryChart .donut-legend button>em{padding-top:1px;width:auto;max-width:none;overflow:visible}
body{overflow-x:hidden}
.category-compare{display:grid;gap:0;padding-top:2px}.category-legend{display:flex;align-items:center;gap:16px;padding:0 4px 10px;color:var(--muted);font-size:9px;border-bottom:1px solid #edf1f1}.category-legend span{display:flex;align-items:center;gap:5px}.category-legend i{width:9px;height:9px;border-radius:3px}.category-legend i.bid{background:var(--teal)}.category-legend i.win{background:var(--gold)}.category-legend em{margin-left:auto;font-style:normal}.category-compare-row{display:grid;grid-template-columns:28px minmax(90px,130px) 1fr;gap:10px;align-items:center;border:0;border-bottom:1px solid #edf1f1;background:transparent;padding:10px 3px;text-align:left;cursor:pointer}.category-compare-row:last-child{border-bottom:0}.category-compare-row:hover{background:#f7faf9}.category-rank{font-family:Georgia,serif;color:#90a2a6;font-size:11px}.category-name strong,.category-name em{display:block}.category-name strong{font-size:11px;line-height:1.35}.category-name em{margin-top:4px;color:var(--teal);font-size:9px;font-style:normal}.category-bars{display:grid;gap:6px}.category-bars>span{display:grid;grid-template-columns:28px 1fr 112px;gap:7px;align-items:center}.category-bars b{font-size:9px;color:var(--muted)}.category-bars i{height:7px;background:#edf1f1;border-radius:8px;overflow:hidden}.category-bars u{display:block;height:100%;border-radius:8px;text-decoration:none}.category-bars u.bid{background:linear-gradient(90deg,var(--teal),var(--teal-2))}.category-bars u.win{background:var(--gold)}.category-bars em{font-size:9px;color:var(--ink);font-style:normal;text-align:right;white-space:nowrap}
@media(max-width:620px){.category-compare-row{grid-template-columns:24px 90px 1fr}.category-bars>span{grid-template-columns:25px 1fr}.category-bars em{grid-column:2;text-align:left}.category-legend em{display:none}}

/* Annual contract target progress */
.contract-target-card{margin:13px 0}
.target-progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.target-progress-grid.single{grid-template-columns:1fr}
.target-year-card{display:grid;grid-template-columns:70px minmax(130px,.8fr) minmax(150px,1fr);grid-template-rows:auto auto;align-items:center;gap:7px 16px;border:1px solid #dce8e7;border-radius:11px;background:linear-gradient(135deg,#f8fbfa,#fff);padding:14px 16px;color:var(--ink);text-align:left;cursor:pointer;transition:.18s}
.target-year-card:hover{transform:translateY(-2px);border-color:#82b8b5;box-shadow:var(--shadow)}
.target-year{grid-row:1/3;font-family:Georgia,serif;font-size:18px;color:var(--teal);font-weight:700}
.target-values{display:flex;align-items:baseline;gap:8px}
.target-values strong{font-family:Georgia,serif;font-size:25px}
.target-values small{font-family:inherit;font-size:10px;margin-left:4px;color:var(--muted)}
.target-values em,.target-gap em{font-style:normal;font-size:9px;color:var(--muted)}
.target-gap{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.target-gap b{font-size:13px;color:#c4732b}
.target-bar{grid-column:2/4;height:7px;border-radius:8px;background:#e8efee;overflow:hidden}
.target-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--teal),var(--teal-2))}
.target-rate{grid-column:2/4;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}
.target-rate b{color:var(--teal)}
@media(max-width:1180px){.target-progress-grid{grid-template-columns:1fr}}
@media(max-width:520px){.target-year-card{grid-template-columns:58px 1fr}.target-gap{grid-column:2}.target-bar,.target-rate{grid-column:1/3}}

/* Department and owner annual trend analysis */
.trend-control-card{margin:13px 0}.trend-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding-top:4px}.trend-controls>label:not(.compare-switch){min-width:220px;color:var(--muted);font-size:10px}.trend-controls select{display:block;width:100%;margin-top:5px}.compare-switch{display:flex;align-items:center;gap:8px;min-height:34px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#f7faf9;color:var(--ink);font-size:11px;cursor:pointer}.compare-switch input{width:15px;height:15px;accent-color:var(--teal)}.compare-switch:has(input:checked){border-color:#8fc9c3;background:#e9f5f3;color:var(--teal)}.compare-switch:has(input:disabled){opacity:.5;cursor:not-allowed}.trend-line-space{overflow-x:auto;min-height:320px}.trend-line-chart{min-width:620px}.trend-legend{height:auto;min-height:25px;flex-wrap:wrap;justify-content:flex-start;row-gap:7px}.trend-legend i{background:var(--legend-color)}.trend-legend i.legend-dashed{width:14px;height:3px;border-radius:0;background:repeating-linear-gradient(90deg,var(--legend-color) 0 6px,transparent 6px 9px)!important}.trend-point{cursor:pointer}.trend-card-head{align-items:flex-start}.trend-factors{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.trend-factors label{color:var(--muted);font-size:9px}.trend-factors select{display:block;margin-top:3px;min-width:90px;padding:6px 24px 6px 7px}.heatmap-space{min-height:285px}.heatmap-scroll{overflow:auto;max-height:440px;padding:1px 2px 8px}.heatmap-grid{display:grid;gap:5px;align-items:stretch;min-width:470px}.heatmap-corner,.heatmap-year{position:sticky;top:0;z-index:3;background:#f1f5f4;color:#53676e;font-size:10px;font-weight:700;padding:9px;border-radius:6px}.heatmap-corner{left:0;z-index:4}.heatmap-year{text-align:center}.heatmap-row-label{position:sticky;left:0;z-index:2;display:flex;align-items:center;min-height:42px;padding:8px 9px;border-radius:6px;background:#f7faf9;color:var(--ink);font-size:10px;line-height:1.35;word-break:break-all}.heatmap-cell{min-height:42px;border:0;border-radius:6px;padding:6px;text-align:center;cursor:pointer;transition:transform .15s,box-shadow .15s}.heatmap-cell:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(23,107,135,.16)}.heatmap-cell strong,.heatmap-cell small{display:block}.heatmap-cell strong{font-family:Georgia,serif;font-size:13px}.heatmap-cell small{margin-top:2px;font-size:8px;opacity:.78}.heatmap-scale{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;padding-top:8px}.heatmap-scale i{width:95px;height:7px;border-radius:8px;background:linear-gradient(90deg,rgba(23,107,135,.08),rgba(23,107,135,.87))}.heatmap-scale em{margin-left:auto;font-style:normal}.trend-view .empty-state{min-height:240px}
@media(max-width:1180px){.trend-chart-grid{grid-template-columns:1fr}.trend-controls>label:not(.compare-switch){min-width:190px}}
@media(max-width:820px){.sidebar nav{grid-template-columns:repeat(4,minmax(112px,1fr));overflow-x:auto}.trend-control-card .card-head,.trend-card-head{align-items:flex-start;flex-direction:column}.trend-factors{justify-content:flex-start}.trend-controls{align-items:stretch}.trend-controls>label:not(.compare-switch){min-width:min(100%,260px)}.compare-switch{align-self:flex-end}.trend-line-chart{min-width:570px}}
@media(max-width:520px){.trend-controls{display:grid;grid-template-columns:1fr}.trend-controls>label:not(.compare-switch){min-width:0}.compare-switch{align-self:auto;justify-content:center}.heatmap-scale em{display:none}}
.trend-line-chart{width:100%;min-width:0}
@media(max-width:820px){.trend-line-chart{min-width:570px}}

/* Department registry and lifecycle */
.department-profile{margin-top:14px;border-top:1px solid #e7eeee;padding-top:13px}.profile-summary,.profile-warning{display:flex;align-items:flex-start;gap:11px}.profile-summary strong,.profile-warning strong{font-size:12px}.profile-summary p,.profile-warning p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.profile-badge{flex:0 0 auto;display:inline-block;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:800}.profile-badge.active{background:#e6f3ed;color:#2f7d59}.profile-badge.ended{background:#fdebea;color:#a9453e}.profile-badge.unknown{background:#fff3dd;color:#976314}.profile-warning{border-radius:9px;background:#fff8e8;padding:11px}.department-profile dl{display:grid;grid-template-columns:95px 1fr;gap:8px;margin:10px 0 0;padding-top:9px;border-top:1px dashed #dfe8e7;font-size:10px}.department-profile dt{color:var(--teal);font-weight:800}.department-profile dd{margin:0;color:var(--muted);line-height:1.55}.profile-alert{color:var(--danger)}.trend-status-note{margin:2px 0 6px;padding:6px 8px;border-radius:6px;background:#f2f5f5;color:#6c7f83;font-size:9px;line-height:1.45}.trend-point-warning{filter:drop-shadow(0 0 2px rgba(201,86,77,.35))}.heatmap-na{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f0f2f2!important;color:#99a6a9!important;cursor:not-allowed}.heatmap-violation{outline:2px solid rgba(201,86,77,.7);outline-offset:-2px}.heatmap-violation strong{color:inherit}#qualityStats{grid-template-columns:repeat(5,1fr)}
@media(max-width:1180px){#qualityStats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){#qualityStats{grid-template-columns:repeat(2,1fr)}.department-profile dl{grid-template-columns:1fr;gap:3px}}
@media(max-width:520px){#qualityStats{grid-template-columns:1fr}}

/* Searchable select controls */
.native-search-select{display:none!important}.search-select{position:relative;width:100%;min-width:0}.filter-bar .search-select{margin-top:4px}.card-head>.search-select{width:190px;flex:0 0 auto}.search-select-trigger{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:7px 9px;text-align:left;font-size:11px;cursor:pointer}.search-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-trigger i{width:7px;height:7px;flex:0 0 auto;border-right:1.5px solid #6f8186;border-bottom:1.5px solid #6f8186;transform:rotate(45deg) translateY(-2px);transition:.15s}.search-select.open .search-select-trigger{border-color:#75b9b2;box-shadow:0 0 0 3px rgba(38,166,154,.1)}.search-select.open .search-select-trigger i{transform:rotate(225deg) translate(-2px,-1px)}.search-select-panel{position:absolute;top:calc(100% + 5px);left:0;z-index:120;width:max(100%,250px);padding:8px;border:1px solid #d5e1e0;border-radius:10px;background:#fff;box-shadow:0 14px 35px rgba(17,48,57,.18)}.search-select-input{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px 9px;color:var(--ink);background:#f8faf9;font-size:11px;outline:none}.search-select-input:focus{border-color:#72b7b0;box-shadow:0 0 0 2px rgba(38,166,154,.1)}.search-select-options{max-height:260px;overflow:auto;margin-top:7px}.search-select-option{display:block;width:100%;border:0;border-radius:6px;background:transparent;color:var(--ink);padding:8px 9px;text-align:left;font-size:11px;line-height:1.35;cursor:pointer}.search-select-option:hover,.search-select-option.selected{background:#eaf5f3;color:var(--teal)}.search-select-option.selected{font-weight:700}.search-select-option:disabled{color:#9aa8aa;cursor:not-allowed}.search-select-group{padding:8px 9px 4px;color:#829397;font-size:9px;font-weight:800;letter-spacing:.08em}.search-select-empty{padding:15px 9px;text-align:center;color:#98a7aa;font-size:10px}.trend-controls .search-select{margin-top:5px}.trend-factors .search-select{margin-top:3px;min-width:100px}.trend-factors .search-select-trigger{min-height:31px;padding:6px 7px;font-size:10px}.static-kpi{cursor:default}.static-kpi:hover{transform:none}
.kpi-card .reconcile-note{display:block;margin-top:8px;padding-right:54px;color:#56717a;font-size:10px;font-weight:600;line-height:1.45}
@media(max-width:820px){.card-head>.search-select{width:min(100%,240px)}.search-select-panel{width:max(100%,220px)}}

/* Leadership overview regional map */
.overview-map-card{margin:13px 0}.overview-map-head{align-items:flex-start}.overview-map-head .card-note{display:block;margin-top:5px;line-height:1.45}.overview-map-controls{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:14px 0 10px}.overview-map-controls>label{color:var(--muted);font-size:10px}.overview-map-controls .search-select{display:block;margin-top:4px}.overview-map-space{min-height:500px}.china-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:stretch}.china-map-canvas{min-width:0;border:1px solid #dbe7e6;border-radius:12px;overflow:hidden;background:#f7fbfb}.china-map-svg{display:block;width:100%;height:auto;min-height:470px}.china-map-water{fill:#f5faf9}.china-map-grid line{stroke:#dbe9e8;stroke-dasharray:3 5}.china-map-grid text{font-size:10px;fill:#91a5a7}.china-map-outline{fill:#ebf4f1;stroke:#9ebfba;stroke-width:2}.china-map-coast{fill:none;stroke:#9ebfba;stroke-width:1.5;stroke-dasharray:5 5}.china-map-island{fill:#ebf4f1;stroke:#9ebfba;stroke-width:1.2}.china-map-point{cursor:pointer;outline:none}.china-map-point circle{fill:rgba(23,107,135,var(--map-alpha));stroke:#176b87;stroke-width:2;transition:.16s}.china-map-point text{pointer-events:none;font-family:Georgia,"Microsoft YaHei",serif;font-size:11px;font-weight:700;fill:#123f4d}.china-map-point .china-map-label{font-family:"Microsoft YaHei",sans-serif;font-size:10px;font-weight:600;fill:#385963}.china-map-point:hover circle,.china-map-point:focus circle{stroke:#e8a23a;stroke-width:4;filter:drop-shadow(0 3px 5px rgba(16,76,88,.25))}.china-map-point:focus{outline:none}.china-map-side{border:1px solid #e0eae9;border-radius:11px;background:linear-gradient(160deg,#f7fbfa,#fff);padding:14px;display:flex;flex-direction:column;gap:13px}.china-map-key strong,.china-map-key span{display:block}.china-map-key strong{font-size:11px;line-height:1.45}.china-map-key span,.china-map-summary{font-size:9px;line-height:1.6;color:var(--muted);margin-top:4px}.china-map-key i{display:block;width:100%;height:9px;margin:10px 0 3px;border-radius:9px;background:linear-gradient(90deg,rgba(23,107,135,.2),rgba(23,107,135,.9))}.china-map-key small{font-size:9px;color:#82969a}.china-map-key small:last-child{float:right}.china-map-summary{padding:10px 0;border-top:1px solid #e6eeee;border-bottom:1px solid #e6eeee}.china-map-summary b{color:var(--ink);font-family:Georgia,serif}.china-map-unlocated{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.china-map-unlocated>span{width:100%;font-size:9px;color:var(--muted)}.china-map-unlocated button{border:1px solid #dbe7e6;border-radius:14px;background:#fff;color:var(--teal);padding:4px 7px;font-size:9px;cursor:pointer}.china-map-unlocated button:hover{background:#eaf5f3}
@media(max-width:980px){.overview-map-controls{grid-template-columns:repeat(2,minmax(160px,1fr))}.china-map-layout{grid-template-columns:1fr}.china-map-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.china-map-unlocated{grid-column:1/-1}}
@media(max-width:520px){.overview-map-controls{grid-template-columns:1fr}.overview-map-space{min-height:390px}.china-map-svg{min-width:610px;min-height:390px}.china-map-canvas{overflow:auto}.china-map-side{grid-template-columns:1fr}.china-map-unlocated{grid-column:auto}}

/* Standard provincial boundary map */
.china-map-region{stroke:#b8ceca;stroke-width:.8;vector-effect:non-scaling-stroke;transition:filter .16s,stroke-width .16s;outline:none}.china-map-region.has-data{cursor:pointer}.china-map-region.has-data:hover,.china-map-region.has-data:focus{stroke:#e8a23a;stroke-width:2.4;filter:drop-shadow(0 2px 3px rgba(16,76,88,.2))}.china-map-inset rect{fill:#fbfdfc;stroke:#b8ceca;stroke-width:1}.china-map-inset text{font-family:"Microsoft YaHei",sans-serif;font-size:10px;fill:#71888c}.china-map-south-sea{fill:#edf4f2;stroke:#b8ceca;stroke-width:.45}
.china-map-labels{pointer-events:none}.china-map-province-label,.china-map-external-label text{font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:10px;font-weight:800;fill:#274850;paint-order:stroke;stroke:rgba(255,255,255,.96);stroke-width:3px;stroke-linejoin:round}.china-map-external-label line{stroke:#486b73;stroke-width:1.1;vector-effect:non-scaling-stroke}.china-map-external-label rect{fill:rgba(255,255,255,.9);stroke:#c9d9d7;stroke-width:.7}.china-map-external-label marker path,#province-label-arrow path{fill:#486b73}.china-map-labels text{dominant-baseline:alphabetic}

/* Province results list in the map sidebar */
.china-map-side{min-height:0}.china-map-province-list{min-height:0;flex:1;overflow:auto;margin:0 -7px;padding:0 7px;border-top:1px solid #e6eeee}.china-map-list-head{display:flex;justify-content:space-between;align-items:center;padding:9px 1px 6px;font-size:10px;font-weight:800;color:var(--ink);position:sticky;top:0;background:#f9fcfb;z-index:1}.china-map-list-head em{font-size:8px;font-style:normal;font-weight:500;color:var(--muted)}.china-map-province-row{width:100%;display:grid;grid-template-columns:40px minmax(25px,1fr) 48px;gap:6px;align-items:center;border:0;border-bottom:1px solid #edf2f1;background:transparent;padding:5px 1px;text-align:left;color:var(--ink);font-size:9px}.china-map-province-row span{white-space:nowrap}.china-map-province-row i{height:4px;border-radius:5px;background:#e7efee;overflow:hidden}.china-map-province-row i b{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#8fc3be,#176b87)}.china-map-province-row strong{font-family:Georgia,"Microsoft YaHei",serif;font-size:10px;text-align:right}.china-map-province-row small{margin-left:2px;font-family:"Microsoft YaHei",sans-serif;font-size:8px;color:var(--muted);font-weight:400}.china-map-province-row.has-data{cursor:pointer}.china-map-province-row.has-data:hover{background:#eaf5f3;color:var(--teal)}.china-map-province-row.is-zero{color:#a5b1b2;cursor:default}.china-map-province-row:disabled{opacity:1}
@media(max-width:980px){.china-map-province-list{max-height:350px}.china-map-side{display:block}.china-map-key,.china-map-summary{margin-bottom:10px}}

.china-map-layout{align-items:start}.china-map-side{min-height:0}.china-map-province-list{flex:none;overflow:visible;max-height:none}.china-map-pagination{display:grid;grid-template-columns:30px 1fr 30px;gap:7px;align-items:center;padding:9px 0 2px}.china-map-pagination button{height:26px;border:1px solid #d4e1df;border-radius:6px;background:#fff;color:var(--teal);font-size:14px;cursor:pointer}.china-map-pagination button:hover:not(:disabled){background:#eaf5f3}.china-map-pagination button:disabled{color:#b1bdbf;background:#f5f7f7;cursor:default}.china-map-pagination span{text-align:center;color:var(--muted);font-size:9px}.china-map-pagination span b{color:var(--ink);font-family:Georgia,serif;font-size:11px}
@media(max-width:980px){.china-map-province-list{max-height:none}}

/* Four-page information architecture */
.workspace-tabs{display:flex;gap:6px;margin:13px 0;padding:5px;border:1px solid #dbe6e5;border-radius:12px;background:#eaf0ef;width:max-content;max-width:100%;overflow:auto}.workspace-tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:9px 18px;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.workspace-tabs button.active{background:#fff;color:var(--teal);box-shadow:0 3px 10px rgba(25,58,67,.1)}.workspace-panel{display:none}.workspace-panel.active{display:block}.trend-workspace-head{align-items:flex-start}.trend-workspace-head>div:first-child{min-width:0}.performance-rank-grid .rank-chart{max-height:620px;overflow:auto}.methodology{margin-top:13px}
@media(max-width:820px){.workspace-tabs{width:100%}.workspace-tabs button{flex:1;padding:9px 12px}.trend-workspace-head{flex-direction:column}.trend-workspace-head .segmented{align-self:flex-start}.performance-rank-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(4,minmax(112px,1fr))}}
@media(max-width:520px){.workspace-tabs button{font-size:10px}.sidebar nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr)}}

/* Department business analysis */
.business-analysis-control{margin:13px 0}.business-analysis-controls{display:grid;grid-template-columns:180px minmax(260px,1fr);gap:12px;max-width:720px}.business-analysis-controls>label{color:var(--muted);font-size:10px}.business-analysis-controls .search-select{margin-top:5px}.business-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:13px 0}.business-kpi{position:relative;min-height:132px;border:1px solid #dce8e7;border-radius:12px;background:linear-gradient(145deg,#fff,#f7faf9);padding:15px;text-align:left;color:var(--ink);cursor:pointer;transition:.18s}.business-kpi:hover{transform:translateY(-2px);border-color:#80bdb7;box-shadow:var(--shadow)}.business-kpi>span,.business-kpi>strong,.business-kpi>em,.business-kpi>b{display:block}.business-kpi>span{color:var(--muted);font-size:10px}.business-kpi>strong{margin-top:12px;font-family:Georgia,"Microsoft YaHei",serif;font-size:21px}.business-kpi>em{margin-top:6px;color:#61777d;font-size:9px;font-style:normal}.business-kpi>b{position:absolute;right:13px;bottom:12px;color:var(--teal);font-size:9px}.business-review-grid{grid-template-columns:minmax(390px,.85fr) minmax(500px,1.15fr)}.business-score-label{border-radius:18px;padding:5px 9px;font-size:9px;font-weight:800}.business-score-label.good{background:#e4f3ea;color:#2e7957}.business-score-label.steady{background:#e5f2f4;color:#176b87}.business-score-label.watch{background:#fff1dd;color:#a96b18}.business-score-label.risk{background:#fde8e6;color:#aa443e}.business-score-main{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:0 6px;padding:3px 0 15px;border-bottom:1px solid #e7eeee}.business-score-main strong{font-family:Georgia,serif;font-size:54px;line-height:1;color:var(--teal)}.business-score-main>span{padding-bottom:6px;color:var(--muted);font-size:11px}.business-score-main p{grid-column:1/3;margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.business-benchmark{display:grid;gap:11px;margin-top:15px}.business-benchmark-row{display:grid;grid-template-columns:72px minmax(90px,1fr) 62px 74px;gap:8px;align-items:center;font-size:9px}.business-benchmark-row>span{font-weight:700}.business-benchmark-row>div{display:grid;gap:3px}.business-benchmark-row i,.business-benchmark-row u{display:block;height:5px;border-radius:6px;text-decoration:none}.business-benchmark-row i{background:linear-gradient(90deg,var(--teal),var(--teal-2))}.business-benchmark-row u{background:#cbd8da}.business-benchmark-row strong{text-align:right}.business-benchmark-row em{color:var(--muted);font-style:normal;text-align:right}.business-legend{display:flex;gap:15px;margin-top:14px;color:var(--muted);font-size:8px}.business-legend span{display:flex;align-items:center;gap:5px}.business-legend i,.business-legend u{width:14px;height:4px;border-radius:5px}.business-legend i{background:var(--teal)}.business-legend u{background:#cbd8da}.business-advice-list{display:grid}.business-advice{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start;border:0;border-bottom:1px solid #e7eeee;background:transparent;padding:13px 4px;text-align:left;color:var(--ink);cursor:pointer}.business-advice:last-child{border-bottom:0}.business-advice:hover{background:#f7faf9}.business-advice>span{font-family:Georgia,serif;color:#91a4a7}.business-advice>div{border-left:3px solid #7d969c;padding-left:10px}.business-advice.good>div{border-color:#3e8e5b}.business-advice.watch>div{border-color:#e8a23a}.business-advice.risk>div{border-color:#c9564d}.business-advice.info>div{border-color:#287896}.business-advice strong,.business-advice p,.business-advice em{display:block}.business-advice strong{font-size:11px}.business-advice p{margin:5px 0;color:#567078;font-size:9px;line-height:1.45}.business-advice em{color:var(--muted);font-size:9px;font-style:normal;line-height:1.45}.business-advice>b{align-self:center;color:var(--teal);font-size:9px;white-space:nowrap}.business-na{margin:13px 0;border:1px solid #e0e7e6;border-radius:9px;background:#f3f6f5;padding:11px;color:var(--muted);font-size:10px}
@media(max-width:1400px){.business-kpi-grid{grid-template-columns:repeat(3,1fr)}.business-review-grid{grid-template-columns:1fr}}
@media(max-width:820px){.business-analysis-controls{grid-template-columns:1fr}.business-kpi-grid{grid-template-columns:repeat(2,1fr)}.business-analysis-control .card-head{align-items:flex-start}.business-benchmark-row{grid-template-columns:65px minmax(70px,1fr) 58px}.business-benchmark-row em{grid-column:2/4;text-align:left}.business-advice{grid-template-columns:26px minmax(0,1fr)}.business-advice>b{grid-column:2}}
@media(max-width:440px){.business-kpi-grid{grid-template-columns:1fr}.business-kpi{min-height:118px}.business-score-main strong{font-size:46px}}

/* Company business analysis and separate workbook intake */
.top-actions{flex-wrap:wrap}.action-link{display:inline-flex;align-items:center;text-decoration:none}.company-upload-btn,.company-inline-upload{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.company-analysis-head{margin:13px 0}.company-analysis-head .card-head{align-items:flex-end}.company-head-actions{display:flex;gap:9px;align-items:flex-end}.company-head-actions>label:first-child{min-width:150px;color:var(--muted);font-size:10px}.company-head-actions select{display:block;width:100%;margin-top:5px}.company-upload-status{margin-top:11px;border-top:1px solid #e6eeee;padding-top:10px;color:var(--muted);font-size:10px;line-height:1.55}.company-upload-status.success{color:#2f7d59}.company-upload-status.error{color:var(--danger)}
.deep-analysis-btn{border:0;border-radius:11px;background:linear-gradient(135deg,#0d6e8a,#249f91);color:#fff;padding:11px 17px;min-height:40px;font:700 11px/1.2 inherit;cursor:pointer;box-shadow:0 7px 18px rgba(13,110,138,.18);white-space:nowrap}.deep-analysis-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(13,110,138,.24)}.deep-analysis-btn:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.company-deep-analysis{margin:13px 0;border-color:#b9ddda;background:linear-gradient(135deg,#fff 0%,#f7fbfb 100%)}.deep-analysis-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:13px}.deep-analysis-head h2{margin:3px 0}.deep-analysis-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:700;white-space:nowrap}.deep-analysis-status.offline{background:#edf2f3;color:#60767d}.deep-analysis-status.ready,.deep-analysis-status.running{background:#e8f5f3;color:#16766d}.deep-analysis-status.success{background:#e7f4eb;color:#2f7d59}.deep-analysis-status.error{background:#fff0ef;color:#bd4b45}.deep-analysis-setup{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.deep-analysis-setup>div{border:1px solid #ddeaea;border-radius:11px;padding:12px;background:#fff}.deep-analysis-setup b,.deep-analysis-setup span{display:block}.deep-analysis-setup span{margin-top:5px;color:var(--muted);line-height:1.55;font-size:10px}.deep-analysis-consent{border:1px solid #cfe2e1;border-radius:12px;padding:15px;background:#fff}.deep-analysis-consent p{color:var(--muted);line-height:1.65}.deep-analysis-consent label{display:flex;gap:9px;align-items:flex-start;font-size:11px;font-weight:700}.deep-analysis-consent input{margin-top:2px;accent-color:#148b80}.deep-analysis-actions{display:flex;gap:9px;align-items:center;margin-top:14px;flex-wrap:wrap}.deep-analysis-loading{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.deep-analysis-loading span{width:32px;height:32px;border:3px solid #dcebea;border-top-color:#148b80;border-radius:50%;animation:deep-spin .8s linear infinite}.deep-analysis-result{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;border:1px solid #dce9e8;border-radius:12px;background:#fff;padding:18px;color:#17333b;font:400 12px/1.85 inherit;max-height:680px;overflow:auto}.deep-analysis-disclaimer{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.company-deep-analysis code{background:#eaf3f3;border-radius:5px;padding:2px 5px;color:#126b73}@keyframes deep-spin{to{transform:rotate(360deg)}}
.company-section-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:19px 2px 10px}.company-section-title h2{margin:2px 0 0;font-size:20px}.company-section-title>span{color:var(--muted);font-size:9px}.company-marketing-kpis,.company-financial-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.company-financial-kpis{grid-template-columns:repeat(4,1fr)}.company-marketing-kpis button,.company-financial-kpis button{position:relative;min-height:130px;border:1px solid #dce8e7;border-radius:12px;background:linear-gradient(145deg,#fff,#f7faf9);padding:15px;text-align:left;color:var(--ink);cursor:pointer;transition:.18s}.company-marketing-kpis button:hover,.company-financial-kpis button:hover{transform:translateY(-2px);border-color:#80bdb7;box-shadow:var(--shadow)}.company-marketing-kpis span,.company-marketing-kpis strong,.company-marketing-kpis em,.company-marketing-kpis b,.company-financial-kpis span,.company-financial-kpis strong,.company-financial-kpis em,.company-financial-kpis b{display:block}.company-marketing-kpis span,.company-financial-kpis span{color:var(--muted);font-size:10px}.company-marketing-kpis strong,.company-financial-kpis strong{margin-top:12px;font-family:Georgia,"Microsoft YaHei",serif;font-size:22px}.company-marketing-kpis em,.company-financial-kpis em{margin-top:6px;color:#61777d;font-size:9px;font-style:normal;line-height:1.45}.company-marketing-kpis b,.company-financial-kpis b{position:absolute;right:13px;bottom:11px;color:var(--teal);font-size:9px}
.company-data-gap{margin:13px 0;display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(220px,.8fr) auto;gap:20px;align-items:center;border-left:4px solid var(--gold)}.company-data-gap h2{margin:3px 0 8px}.company-data-gap p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}.data-gap-list{display:flex;flex-wrap:wrap;gap:7px}.data-gap-list span{border-radius:16px;background:#f3f6f5;padding:6px 9px;color:#5c7379;font-size:9px}.data-gap-actions{display:flex;gap:8px;align-items:center}.company-preview-grid,.company-health-grid,.company-opportunity-grid{margin:13px 0}.company-profile-card{margin:13px 0}.company-profile-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 0}.company-profile-card dl div{border-top:1px solid #e7eeee;padding-top:9px}.company-profile-card dt{color:var(--muted);font-size:9px}.company-profile-card dd{margin:5px 0 0;font-size:11px;font-weight:700;line-height:1.45}
.company-ratio-list{display:grid;gap:0}.company-ratio-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e7eeee;padding:13px 2px}.company-ratio-list>div:last-child{border-bottom:0}.company-ratio-list span,.company-ratio-list small{display:block}.company-ratio-list span{font-size:11px;font-weight:700}.company-ratio-list small{margin-top:4px;color:var(--muted);font-size:9px;font-weight:400}.company-ratio-list strong{font-family:Georgia,serif;font-size:18px;color:var(--teal)}.company-opportunity-list,.company-foundation{display:grid;gap:10px}.company-opportunity-list>div{border-left:3px solid var(--teal);padding:6px 10px}.company-opportunity-list strong{font-size:11px}.company-opportunity-list p,.company-foundation p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.company-foundation>span{display:flex;justify-content:space-between;border-bottom:1px solid #e8eeee;padding:8px 2px;font-size:10px}.company-foundation>span b{color:var(--teal)}
.company-policy-card,.company-actions-card{margin:13px 0}.policy-disclaimer{margin:0 0 13px;border-radius:8px;background:#fff7e5;padding:10px 12px;color:#7f612d;font-size:9px;line-height:1.55}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.policy-item{display:flex;flex-direction:column;min-height:245px;border:1px solid #dfe8e7;border-top:4px solid #7b9297;border-radius:10px;padding:13px;background:#fff}.policy-item.active,.policy-item.service{border-top-color:#2f8a68}.policy-item.closed{border-top-color:#c9564d}.policy-item.historical,.policy-item.direction{border-top-color:#d79a32}.policy-item>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.policy-status{border-radius:15px;background:#eef3f2;padding:4px 7px;color:#50666c;font-size:8px;font-weight:800}.policy-item.active .policy-status,.policy-item.service .policy-status{background:#e7f3ed;color:#2f7958}.policy-item.closed .policy-status{background:#fde9e7;color:#a8443e}.policy-item.historical .policy-status,.policy-item.direction .policy-status{background:#fff2dc;color:#9c671c}.policy-item small{color:var(--muted);font-size:8px;text-align:right}.policy-item h3{margin:11px 0 5px;font-size:12px;line-height:1.45}.policy-item p{margin:5px 0;color:#567078;font-size:9px;line-height:1.5}.policy-item footer{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #e8eeee;color:var(--muted);font-size:8px}.policy-item footer a{color:var(--teal);text-decoration:none;font-weight:700}.policy-source-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.policy-source-actions a:hover{text-decoration:underline}.detail-source-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.detail-source-link{display:inline-flex;align-items:center;border-radius:7px;background:#e4f4f2;padding:6px 9px;color:#08776f!important;text-decoration:none;font-weight:800;white-space:nowrap}.detail-source-link.secondary{background:#eef2f3;color:#536d74!important}.detail-source-link:hover{text-decoration:underline}
.company-fit-list{display:grid;gap:8px}.company-fit-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 9px;border-bottom:1px solid #e7eeee;padding:8px 0}.company-fit-list strong{font-size:11px}.company-fit-list p{grid-column:1/3;margin:0;color:var(--muted);font-size:9px;line-height:1.5}.fit-level{border-radius:14px;padding:4px 7px;font-size:8px;font-weight:700}.fit-level.matched{background:#e6f3ed;color:#2f7d59}.fit-level.gap{background:#fff2dc;color:#976314}.company-resource-list,.overseas-summary{display:grid;gap:8px;margin-top:12px}.company-resource-list>div,.overseas-summary>div{border-radius:8px;background:#f7faf9;padding:10px}.company-resource-list span,.company-resource-list strong,.company-resource-list em,.overseas-summary span,.overseas-summary strong,.overseas-summary p,.overseas-summary em{display:block}.company-resource-list span,.overseas-summary span{color:var(--teal);font-size:8px;font-weight:800}.company-resource-list strong,.overseas-summary strong{margin-top:4px;font-size:11px}.company-resource-list em,.overseas-summary p,.overseas-summary em{margin:4px 0 0;color:var(--muted);font-size:9px;font-style:normal;line-height:1.45}.overseas-summary em{color:#9a5c45}
.company-action-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.company-action-columns>section{border-radius:10px;background:#f7faf9;padding:10px}.company-action-columns h3{margin:1px 2px 7px;color:var(--teal);font-size:12px}.company-action{display:block;width:100%;border:0;border-bottom:1px solid #e1e9e8;background:transparent;padding:11px 3px;text-align:left;color:var(--ink);cursor:pointer}.company-action:last-child{border-bottom:0}.company-action:hover{background:#edf6f4}.company-action span{display:inline-block;border-radius:12px;background:#e7f0ef;padding:3px 6px;color:#587177;font-size:8px}.company-action strong,.company-action p,.company-action em,.company-action b{display:block}.company-action strong{margin-top:7px;font-size:11px;line-height:1.45}.company-action p,.company-action em{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.company-action em{color:#46666e;font-style:normal}.company-action b{margin-top:7px;color:var(--teal);font-size:8px}
@media(max-width:1350px){.company-marketing-kpis{grid-template-columns:repeat(3,1fr)}.company-financial-kpis{grid-template-columns:repeat(2,1fr)}.policy-grid{grid-template-columns:repeat(2,1fr)}.company-profile-card dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.company-analysis-head .card-head{align-items:flex-start;flex-direction:column}.company-head-actions{width:100%;flex-wrap:wrap}.company-data-gap{grid-template-columns:1fr}.company-action-columns{grid-template-columns:1fr}.data-gap-actions{justify-content:flex-start}.deep-analysis-setup{grid-template-columns:1fr}.deep-analysis-head{flex-direction:column}.company-head-actions .deep-analysis-btn{flex:1}.deep-analysis-result{max-height:none}}
@media(max-width:620px){.company-marketing-kpis,.company-financial-kpis,.policy-grid,.company-profile-card dl{grid-template-columns:1fr}.company-section-title{align-items:flex-start;flex-direction:column}.company-marketing-kpis button,.company-financial-kpis button{min-height:115px}.company-head-actions>label:first-child{min-width:100%;width:100%}.policy-item{min-height:0}}

/* Mobile zoom controls for dense operating-analysis cards. */
.card-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.card-zoom-controls{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:none;
  border:1px solid #d8e5e4;
  border-radius:10px;
  background:#f7faf9;
  padding:3px;
}
.card-zoom-controls button{
  min-width:34px;
  min-height:34px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:var(--teal);
  font:700 11px/1 inherit;
  cursor:pointer;
}
.card-zoom-controls button[data-zoom-action="fit"]{min-width:46px}
.card-zoom-controls button:hover,.card-zoom-controls button:focus-visible{background:#e4f3f1;outline:none}
.card-zoom-controls [data-zoom-value]{
  min-width:42px;
  padding:0 5px;
  color:var(--muted);
  font-size:9px;
  font-variant-numeric:tabular-nums;
  text-align:center;
}
.card-zoom-viewport{
  width:100%;
  max-width:100%;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  scrollbar-width:thin;
  scrollbar-color:#a8bfbd transparent;
}
.card-zoom-viewport::-webkit-scrollbar{width:7px;height:7px}
.card-zoom-viewport::-webkit-scrollbar-thumb{background:#a8bfbd;border-radius:999px}
.card-zoom-content{width:100%;transform-origin:top left}

@media(max-width:820px){
  .zoom-card>.card-head{align-items:flex-start;flex-direction:column}
  .zoom-card>.card-head .card-head-actions{width:100%;justify-content:space-between}
  .zoom-card>.card-head .card-head-actions>select{flex:1;min-width:145px}
  .card-zoom-viewport{max-height:min(72vh,680px)}
  .table-zoom-content{width:720px}
  .map-zoom-content{width:640px}
}

@media(min-width:821px){
  .card-zoom-controls{display:none}
}
