.overview-page { padding-bottom: 8px; }
.business-summary-section { margin-bottom: 14px; }
.business-summary-heading { margin: 0 1px 9px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.business-summary-heading .section-label { margin: 0 0 2px; }
.business-summary-heading h2 { margin: 0; font-size: 16px; }
.business-summary-warnings { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.business-summary-card { width: 100%; min-height: 126px; align-items: stretch; border: 0; font: inherit; text-align: left; cursor: pointer; transition: border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast); }
.business-summary-card:hover { border-color: var(--color-primary); transform: translateY(-1px); }
.business-summary-card:focus-visible { outline: 3px solid var(--color-primary-soft); outline-offset: 2px; }
.business-summary-card-head { display: flex; align-items: center; gap: 7px; }
.business-summary-label { color: var(--color-text-secondary); font-size: var(--font-sm); font-weight: 700; }
.business-summary-value-area { min-height: 42px; display: flex; align-items: center; gap: 7px; }
#appShell .business-summary-grid .business-summary-card .business-summary-value { color: var(--acceptance-ink,var(--color-text)); font-size: 26px; font-weight: 800; line-height: 1.15; font-variant-numeric: tabular-nums; }
#appShell .business-summary-grid .business-summary-card .business-summary-status-copy { display: -webkit-box; overflow: hidden; color: var(--color-text-secondary); font-size: var(--font-sm); font-weight: 650; line-height: 1.45; letter-spacing: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.business-summary-unpublished { flex: 0 0 auto; padding: 2px 6px; border-radius: 999px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 700; white-space: nowrap; }
.business-summary-card.error,.business-summary-card.blocked { border-color: color-mix(in srgb,var(--color-danger) 28%,var(--color-border)); }
.business-summary-card.partial,.business-summary-card.stale { border-color: color-mix(in srgb,var(--color-warning) 30%,var(--color-border)); }
.business-summary-fallback { min-height: 92px; display: flex; align-items: flex-start; gap: 12px; }
.business-summary-fallback div { min-width: 0; }
.business-summary-fallback strong { display: block; font-size: var(--font-md); }
.business-summary-fallback p { margin: 5px 0 0; color: var(--color-text-secondary); font-size: var(--font-sm); }
.employee-preview-notice { margin-bottom: 12px; padding: 11px 14px; display: flex; align-items: center; gap: 10px; border: 1px solid #b9ccfa; border-radius: var(--radius-sm); background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-sm); }
.employee-preview-notice strong { white-space: nowrap; }
.employee-preview-notice span { color: #4b6292; line-height: 1.45; }
.employee-preview-home { margin-bottom: 14px; }
.employee-preview-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.employee-preview-actions button { display: grid; gap: 5px; padding: 14px; text-align: left; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: inherit; cursor: pointer; }
.employee-preview-actions button:hover { border-color: var(--color-primary); background: var(--color-primary-soft); }
.employee-preview-actions b { font-size: var(--font-md); }
.employee-preview-actions small { color: var(--muted); line-height: 1.45; }
@media (max-width: 640px) { .employee-preview-actions { grid-template-columns: 1fr; } }
.employee-preview-empty { min-height: 235px; display: grid; align-content: center; justify-items: center; padding: 28px; border: 1px dashed var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-subtle); text-align: center; }
.employee-preview-empty strong { font-size: 13px; }
.employee-preview-empty p { max-width: 430px; margin: 7px 0 0; color: var(--color-text-secondary); font-size: var(--font-sm); line-height: var(--line-body); }
body.employee-preview .overview-hero { background: linear-gradient(125deg,#1c3157,#285da8); }
.overview-hero { margin-bottom: 16px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-radius: var(--radius-lg); background: linear-gradient(125deg, #17233b, #243c67); color: #fff; overflow: hidden; position: relative; }
.overview-hero::after { content: ""; position: absolute; width: 260px; height: 260px; right: -90px; top: -115px; border: 45px solid rgba(255,255,255,.055); border-radius: 50%; }
.overview-hero > div { position: relative; z-index: 1; }
.overview-hero .section-label { color: #91abdf; }
.overview-hero h2 { margin: 0; font-family: inherit; font-size: 20px; }
.overview-hero p:last-child { max-width: 700px; margin: 7px 0 0; color: #b9c6dc; font-size: 11px; line-height: 1.55; }
.overview-hero-badge { flex: 0 0 auto; padding: 8px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; background: rgba(255,255,255,.08); color: #d8e4f8; font-size: var(--font-xs); }
.dashboard-filterbar { margin-bottom: 12px; padding: 10px 12px; display: grid; grid-template-columns: minmax(180px,1fr) repeat(3,minmax(145px,auto)) auto; align-items: end; gap: 9px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(255,255,255,.84); box-shadow: 0 4px 14px rgba(23,32,51,.035); }
.dashboard-filter-copy strong,.dashboard-filter-copy span { display: block; }
.dashboard-filter-copy strong { font-size: var(--font-md); }
.dashboard-filter-copy span { margin-top: 3px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.dashboard-filterbar label { display: grid; gap: 4px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.dashboard-filterbar select { min-height: 36px; padding: 0 30px 0 9px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: #fff; color: var(--color-text); }
.overview-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.overview-metric { min-height: 112px; padding: 16px 17px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-card); }
.overview-metric header { display: flex; align-items: center; justify-content: space-between; color: var(--color-text-secondary); font-size: var(--font-sm); font-weight: 700; }
.metric-mark { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-xs); font-weight: 850; }
.metric-value-line { margin: 12px 0 5px; display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.overview-metric strong { display: block; font: 760 28px/1 Inter,system-ui,sans-serif; font-variant-numeric: tabular-nums; }
.overview-metric small { color: #8490a4; font-size: var(--font-xs); }
.overview-metric time { display: block; margin-top: 7px; color: #9aa4b4; font-size: var(--font-xs); font-variant-numeric: tabular-nums; }
.metric-delta { padding: 4px 6px; border-radius: 999px; background: #f1f4f8; color: #778398; font-size: var(--font-xs); font-weight: 750; white-space: nowrap; }
.metric-delta.up { background: var(--color-success-soft); color: var(--color-success); }
.metric-delta.down { background: var(--color-danger-soft); color: var(--color-danger); }
.metric-delta.warning { background: var(--color-warning-soft); color: var(--color-warning); }
.overview-main-grid { margin-top: 12px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.7fr); gap: 12px; }
.overview-card { min-width: 0; padding: 18px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-card); }
.overview-card-head { margin-bottom: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.overview-card-head h3 { margin: 0; font-size: 14px; }
.overview-card-head p { margin: 4px 0 0; color: var(--color-text-secondary); font-size: var(--font-sm); }
.overview-card-head span { padding: 5px 7px; border-radius: 7px; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-xs); white-space: nowrap; }
.coverage-chart { display: grid; gap: 11px; }
.coverage-row { display: grid; grid-template-columns: minmax(120px,1fr) minmax(160px,2fr) 40px; align-items: center; gap: 12px; }
.coverage-row strong,.coverage-row span { display: block; }
.coverage-row strong { overflow: hidden; font-size: var(--font-md); text-overflow: ellipsis; white-space: nowrap; }
.coverage-row span { margin-top: 3px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.coverage-row b { text-align: right; font-size: var(--font-sm); font-variant-numeric: tabular-nums; }
.coverage-button { width: 100%; padding: 7px 8px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: inherit; text-align: left; cursor: pointer; transition: background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast); }
.coverage-button:hover { border-color: #cdd9ed; background: #f7faff; transform: translateX(2px); }
.coverage-button.active { border-color: #b9ccfa; background: var(--color-primary-soft); }
.coverage-button:disabled { cursor: default; opacity: .8; }
.coverage-track { height: 7px; overflow: hidden; border-radius: 999px; background: #edf1f6; }
.coverage-track i { width: var(--value); height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #3b82f6, #2563eb); }
.overview-selection { margin-top: 14px; padding: 12px; display: grid; grid-template-columns: minmax(160px,.8fr) minmax(220px,1.2fr) auto; align-items: center; gap: 12px; border: 1px solid #dce6f7; border-radius: 10px; background: #f8fbff; }
.overview-selection > div > span,.overview-selection > div > strong,.overview-selection > div > small { display: block; }
.overview-selection > div > span { color: var(--color-primary); font-size: var(--font-xs); font-weight: 750; }
.overview-selection > div > strong { margin-top: 3px; font-size: var(--font-md); }
.overview-selection > div > small { margin-top: 3px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.selection-people { display: flex; gap: 6px; overflow-x: auto; }
.selection-people button { min-width: 92px; padding: 6px 8px; border: 1px solid var(--color-border); border-radius: 8px; background: #fff; text-align: left; cursor: pointer; }
.selection-people span,.selection-people small { display: block; }
.selection-people span { font-size: var(--font-xs); font-weight: 700; }
.selection-people small { margin-top: 2px; overflow: hidden; color: #8893a5; font-size: var(--font-xs); text-overflow: ellipsis; white-space: nowrap; }
.risk-legend { margin: -4px 0 10px; display: flex; gap: 6px; }
.risk-legend span { padding: 3px 7px; border-radius: 999px; font-size: var(--font-xs); }
.risk-legend .critical { color: var(--color-danger); background: var(--color-danger-soft); }
.risk-legend .warning { color: var(--color-warning); background: var(--color-warning-soft); }
.risk-legend .info { color: #64748b; background: #eef2f7; }
.trend-strip { margin-top: 16px; min-height: 82px; padding: 12px 14px; display: grid; grid-template-columns: minmax(150px,.6fr) minmax(220px,1fr); align-items: center; gap: 18px; border-top: 1px solid var(--color-border); background: linear-gradient(180deg,rgba(248,250,252,0),#fafcff); }
.trend-copy span,.trend-copy strong,.trend-copy small { display: block; }
.trend-copy span { color: var(--color-text-secondary); font-size: var(--font-xs); }
.trend-copy strong { margin-top: 4px; color: var(--color-text); font-size: 14px; }
.trend-copy small { margin-top: 3px; color: #8a95a7; font-size: var(--font-xs); }
.trend-bars { height: 55px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; gap: 12px; }
.trend-bars > div { height: 100%; display: grid; grid-template-rows: 1fr auto; align-items: end; gap: 4px; }
.trend-bars i { width: 100%; height: var(--trend); min-height: 5px; display: block; border-radius: 5px 5px 2px 2px; background: #c8d5ea; }
.trend-bars .current i { background: linear-gradient(180deg,#60a5fa,#2563eb); }
.trend-bars span { color: var(--color-text-secondary); font-size: var(--font-xs); text-align: center; }
.trend-empty { min-height: 58px; display: grid; place-items: center; color: var(--color-text-secondary); font-size: var(--font-xs); }
.overview-bottom-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
@media (max-width: 1180px) { .dashboard-filterbar { grid-template-columns: repeat(3,minmax(0,1fr)) auto; } .dashboard-filter-copy { grid-column: 1 / -1; } }
@media (max-width: 760px) { .dashboard-filterbar { grid-template-columns: 1fr 1fr; } .dashboard-filter-copy { grid-column: 1 / -1; } .dashboard-filterbar label:first-of-type { grid-column: 1 / -1; } .trend-strip,.overview-selection { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .dashboard-filterbar { grid-template-columns: 1fr; } .dashboard-filterbar label:first-of-type,.dashboard-filter-copy { grid-column: auto; } }

/* P0 角色化工作台：首页只呈现服务端确认角色对应的工作上下文。 */
.overview-page.workbench-active > :not(#roleWorkbench) { display: none !important; }
.role-workbench { display: grid; gap: 14px; }
.workbench-preview-banner { position: sticky; top: 8px; z-index: 8; padding: 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid color-mix(in srgb,var(--color-warning) 50%,var(--color-border)); border-radius: var(--radius-md); background: color-mix(in srgb,var(--color-warning-soft) 88%,var(--color-surface)); box-shadow: var(--shadow-card); color: var(--color-text); }
.workbench-preview-banner[hidden] { display: none; }
.workbench-preview-banner div { display: flex; align-items: baseline; gap: 10px; }
.workbench-preview-banner strong { color: var(--color-warning); font-size: var(--font-sm); }
.workbench-preview-banner span { color: var(--color-text-secondary); font-size: var(--font-xs); }
.workbench-hero { min-height: 142px; padding: 24px 26px; display: flex; align-items: center; justify-content: space-between; gap: 28px; position: relative; overflow: hidden; border-radius: var(--radius-lg); background: linear-gradient(125deg,#17233b,#274773 70%,#315b91); color: #fff; box-shadow: 0 18px 40px rgba(17,30,54,.14); }
.workbench-hero::before,.workbench-hero::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.workbench-hero::before { width: 260px; height: 260px; right: -78px; top: -155px; }
.workbench-hero::after { width: 190px; height: 190px; right: 32px; bottom: -142px; }
.workbench-hero > * { position: relative; z-index: 1; }
.workbench-hero .section-label { margin: 0 0 5px; color: #9dbbea; }
.workbench-hero h2 { margin: 0; font-size: clamp(20px,2.2vw,28px); letter-spacing: -.02em; }
.workbench-hero p:last-child { margin: 8px 0 0; color: #c6d4e9; font-size: var(--font-sm); }
.workbench-context { min-width: 270px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.07); backdrop-filter: blur(10px); }
.workbench-context span { min-width: 0; padding: 13px 15px; display: grid; gap: 4px; }
.workbench-context span + span { border-left: 1px solid rgba(255,255,255,.13); }
.workbench-context small { color: #9fb1ca; font-size: var(--font-xs); }
.workbench-context b { overflow: hidden; color: #f5f8fd; font-size: var(--font-sm); text-overflow: ellipsis; white-space: nowrap; }
.workbench-kpis { display: grid; grid-template-columns: repeat(auto-fit,minmax(175px,1fr)); gap: 12px; }
.workbench-kpi { min-height: 118px; padding: 16px 17px; display: grid; align-content: space-between; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-card); }
.workbench-kpi.is-interactive { width: 100%; appearance: none; color: inherit; font: inherit; text-align: left; cursor: pointer; transition: transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease; }
.workbench-kpi.is-interactive:hover { transform: translateY(-2px); border-color: color-mix(in srgb,var(--color-primary) 42%,var(--color-border)); box-shadow: 0 12px 28px rgba(24,54,104,.14); }
.workbench-kpi.is-interactive:focus-visible { outline: 3px solid color-mix(in srgb,var(--color-primary) 30%,transparent); outline-offset: 2px; }
.workbench-kpi > div { display: flex; align-items: center; justify-content: space-between; color: var(--color-text-secondary); font-size: var(--font-sm); font-weight: 700; }
.workbench-kpi-action { display: inline-flex; align-items: center; gap: 7px; }
.workbench-kpi-action b { color: var(--color-primary); font-size: 11px; font-weight: 700; white-space: nowrap; }
.workbench-kpi i { width: 8px; height: 8px; border-radius: 50%; background: #94a3b8; box-shadow: 0 0 0 4px rgba(148,163,184,.12); }
.workbench-kpi.blue i { background: var(--color-primary); box-shadow: 0 0 0 4px var(--color-primary-soft); }
.workbench-kpi.green i { background: var(--color-success); box-shadow: 0 0 0 4px var(--color-success-soft); }
.workbench-kpi.warning i { background: var(--color-warning); box-shadow: 0 0 0 4px var(--color-warning-soft); }
.workbench-kpi.danger i { background: var(--color-danger); box-shadow: 0 0 0 4px var(--color-danger-soft); }
.workbench-kpi strong { margin-top: 11px; color: var(--color-text); font: 780 26px/1.1 Inter,system-ui,sans-serif; font-variant-numeric: tabular-nums; }
.workbench-kpi p { margin: 7px 0 0; color: var(--color-text-secondary); font-size: var(--font-xs); }
.workbench-primary-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(275px,.7fr); gap: 14px; }
.workbench-actions-card,.workbench-summary-card,.workbench-insight-card,.workbench-people-card { min-width: 0; }
.workbench-actions-card { position: relative; overflow: visible; }
.workbench-actions-title-tools { display: flex; align-items: center; gap: 8px; }
.executive-talent-search { position: relative; display: flex; align-items: center; }
.executive-talent-search[hidden] { display: none; }
.executive-talent-search input { width: 238px; height: 30px; padding: 0 62px 0 10px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface); color: var(--color-text); font-size: 11px; outline: none; }
.executive-talent-search input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent); }
.executive-talent-search > button { height: 24px; padding: 0 9px; position: absolute; right: 3px; border: 0; border-radius: 6px; background: var(--color-primary-soft); color: var(--color-primary); font-size: 11px; font-weight: 800; cursor: pointer; }
.executive-talent-search-results { width: min(560px,calc(100vw - 48px)); max-height: 390px; padding: 6px; position: absolute; z-index: 24; top: 36px; right: 0; overflow-y: auto; border: 1px solid var(--color-border); border-radius: 11px; background: var(--color-surface); box-shadow: 0 18px 46px rgba(20,36,68,.2); }
.executive-talent-search-results[hidden] { display: none; }
.executive-talent-search-result { padding: 8px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto auto; align-items: center; gap: 9px; border-radius: 8px; }
.executive-talent-search-result + .executive-talent-search-result { border-top: 1px solid var(--color-border); border-radius: 0; }
.executive-talent-search-result:hover { background: var(--color-surface-subtle); }
.executive-talent-search-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--color-primary-soft); color: var(--color-primary); font-size: 11px; font-weight: 850; }
.executive-talent-search-result > div { min-width: 0; }
.executive-talent-search-result strong,.executive-talent-search-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.executive-talent-search-result strong { color: var(--color-text); font-size: var(--font-sm); }
.executive-talent-search-result small { margin-top: 2px; color: var(--color-text-secondary); font-size: 11px; }
.executive-talent-search-state { padding: 3px 6px; border-radius: 999px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: 11px; white-space: nowrap; }
.executive-talent-search-state.ready { background: var(--color-success-soft); color: var(--color-success); }
.executive-talent-search-state.warning { background: var(--color-danger-soft); color: var(--color-danger); }
.executive-talent-search-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.executive-talent-search-empty { min-height: 82px; display: grid; align-content: center; justify-items: center; gap: 4px; text-align: center; }
.executive-talent-search-empty strong { font-size: var(--font-sm); }
.executive-talent-search-empty span { color: var(--color-text-secondary); font-size: 11px; }
.workbench-actions { display: grid; }
.workbench-action { padding: 13px 0; display: grid; grid-template-columns: 31px minmax(0,1fr) auto; align-items: center; gap: 11px; border-bottom: 1px solid var(--color-border); }
.workbench-action:last-child { border-bottom: 0; padding-bottom: 0; }
.workbench-action-index { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 800; }
.workbench-action.critical .workbench-action-index { background: var(--color-danger-soft); color: var(--color-danger); }
.workbench-action.warning .workbench-action-index { background: var(--color-warning-soft); color: var(--color-warning); }
.workbench-action-copy { min-width: 0; }
.workbench-action-copy > div { display: flex; align-items: center; gap: 8px; }
.workbench-action-copy strong { overflow: hidden; font-size: var(--font-md); text-overflow: ellipsis; white-space: nowrap; }
.workbench-action-copy div span { padding: 2px 6px; border-radius: 999px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--font-xs); }
.workbench-action-copy p { margin: 4px 0; color: var(--color-text-secondary); font-size: var(--font-sm); line-height: 1.45; }
.workbench-action-copy small { color: #8a95a7; font-size: var(--font-xs); }
.executive-decision-dialog { width: min(780px,100vw); }
.executive-decision-dialog-body { display: grid; align-content: start; gap: 14px; }
.executive-decision-overview { display: grid; grid-template-columns: minmax(150px,.42fr) minmax(0,1fr); gap: 10px; }
.executive-decision-overview > div { padding: 14px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface-subtle); }
.executive-decision-overview > div:first-child { display: grid; gap: 4px; }
.executive-decision-overview span,.executive-decision-overview small { color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-decision-overview strong { font-size: 28px; font-variant-numeric: tabular-nums; }
.executive-decision-category-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 8px; }
.executive-decision-category-summary span { padding: 10px; display: grid; align-content: center; gap: 5px; border-radius: 9px; background: var(--color-surface); }
.executive-decision-category-summary b { color: var(--color-text); font-size: var(--font-sm); }
.executive-decision-category-summary .talent { border-left: 3px solid var(--color-primary); }
.executive-decision-category-summary .recruitment { border-left: 3px solid var(--color-danger); }
.executive-decision-category-summary .performance { border-left: 3px solid var(--color-warning); }
.executive-decision-incomplete { padding: 11px 13px; display: grid; gap: 3px; border: 1px solid var(--color-warning); border-radius: 10px; background: var(--color-warning-soft); }
.executive-decision-incomplete strong { color: #76551a; font-size: var(--font-sm); }
.executive-decision-incomplete span { color: #7f6738; font-size: var(--font-xs); line-height: 1.55; }
.executive-decision-list { display: grid; gap: 9px; }
.executive-decision-item { padding: 14px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: start; gap: 12px; border: 1px solid var(--color-border); border-left: 3px solid #94a3b8; border-radius: 12px; background: var(--color-surface); }
.executive-decision-item.critical { border-left-color: var(--color-danger); }
.executive-decision-item.warning { border-left-color: var(--color-warning); }
.executive-decision-number { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 800; }
.executive-decision-item.critical .executive-decision-number { background: var(--color-danger-soft); color: var(--color-danger); }
.executive-decision-item.warning .executive-decision-number { background: var(--color-warning-soft); color: #8a5b00; }
.executive-decision-copy { min-width: 0; }
.executive-decision-copy header,.executive-decision-copy footer { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.executive-decision-category,.executive-decision-priority { padding: 2px 7px; border-radius: 999px; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-xs); font-weight: 750; }
.executive-decision-priority { background: var(--color-surface-subtle); color: var(--color-text-secondary); }
.executive-decision-copy h3 { margin: 8px 0 4px; font-size: var(--font-md); line-height: 1.35; }
.executive-decision-copy > p { margin: 0; color: var(--color-text-secondary); font-size: var(--font-sm); line-height: 1.55; }
.executive-decision-question { margin-top: 9px; padding: 9px 10px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; border-radius: 9px; background: color-mix(in srgb,var(--color-primary) 7%,var(--color-surface)); font-size: var(--font-sm); line-height: 1.5; }
.executive-decision-question b { color: var(--color-primary); white-space: nowrap; }
.executive-decision-copy footer { margin-top: 9px; color: #7f8a9b; font-size: var(--font-xs); }
.executive-decision-copy details { margin-top: 8px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-decision-copy summary { color: var(--color-primary); cursor: pointer; }
.executive-decision-copy details p { margin: 6px 0 0; line-height: 1.55; }
.executive-decision-boundary { margin: 0; padding: 11px 12px; border-radius: 9px; background: var(--color-warning-soft); color: #76551a; font-size: var(--font-xs); line-height: 1.55; }
.executive-decision-empty { min-height: 150px; display: grid; align-content: center; justify-items: center; gap: 5px; color: var(--color-text-secondary); text-align: center; }
.executive-decision-empty p { margin: 0; font-size: var(--font-sm); }
.workbench-summary { height: calc(100% - 32px); display: grid; align-content: space-between; }
.workbench-summary-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.workbench-summary-list div { padding: 11px; display: grid; gap: 4px; border-radius: 10px; background: var(--color-surface-subtle); }
.workbench-summary-list span { color: var(--color-text-secondary); font-size: var(--font-xs); }
.workbench-summary-list strong { font-size: var(--font-lg); font-variant-numeric: tabular-nums; }
.workbench-summary > p { margin: 12px 0 0; color: var(--color-text-secondary); font-size: var(--font-xs); line-height: 1.5; }
.workbench-insight { padding: 17px; border: 1px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border)); border-radius: var(--radius-md); background: linear-gradient(135deg,color-mix(in srgb,var(--color-primary-soft) 58%,var(--color-surface)),var(--color-surface)); }
.workbench-insight header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.workbench-insight header small { color: var(--color-primary); font-size: var(--font-xs); font-weight: 800; }
.workbench-insight h3 { margin: 4px 0 0; font-size: var(--font-lg); }
.confidence { padding: 4px 8px; border-radius: 999px; color: var(--color-text-secondary); background: var(--color-surface-subtle); font-size: var(--font-xs); white-space: nowrap; }
.confidence.high { color: var(--color-success); background: var(--color-success-soft); }
.confidence.medium { color: var(--color-warning); background: var(--color-warning-soft); }
.workbench-insight-steps { margin-top: 15px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--color-border); border-radius: 11px; background: var(--color-border); }
.workbench-insight-steps > div { padding: 13px; display: flex; align-items: flex-start; gap: 9px; background: var(--color-surface); }
.workbench-insight-steps span { color: var(--color-primary); font-size: var(--font-xs); font-weight: 850; }
.workbench-insight-steps p { margin: 0; color: var(--color-text-secondary); font-size: var(--font-sm); line-height: 1.5; }
.workbench-insight-steps b { margin-bottom: 3px; display: block; color: var(--color-text); }
.workbench-insight footer { margin-top: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.workbench-evidence-toggle { margin-left: auto; padding: 0; border: 0; background: transparent; color: var(--color-primary); font: inherit; cursor: pointer; }
.workbench-evidence { margin: 11px 0 0; padding: 10px 12px; border-left: 3px solid var(--color-primary); background: var(--color-surface); color: var(--color-text-secondary); font-size: var(--font-sm); line-height: 1.55; }
.workbench-people-table { width: 100%; min-width: 780px; border-collapse: collapse; }
.workbench-people-table th { padding: 9px 10px; border-bottom: 1px solid var(--color-border); color: var(--color-text-secondary); font-size: var(--font-xs); text-align: left; }
.workbench-people-table td { padding: 11px 10px; border-bottom: 1px solid var(--color-border); color: var(--color-text-secondary); font-size: var(--font-sm); vertical-align: middle; }
.workbench-people-table tr:last-child td { border-bottom: 0; }
.workbench-people-table td > strong,.workbench-people-table td > small { display: block; }
.workbench-people-table td > strong { color: var(--color-text); }
.workbench-people-table td > small { margin-top: 3px; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workbench-person-button { padding: 0; display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; color: var(--color-text); cursor: pointer; }
.workbench-person-button span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: var(--color-primary-soft); color: var(--color-primary); font-size: var(--font-xs); font-weight: 850; }
.workbench-person-button b { font-size: var(--font-sm); }
.workbench-state { padding: 3px 7px; border-radius: 999px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--font-xs); }
.workbench-state.warning { background: var(--color-warning-soft); color: var(--color-warning); }
.workbench-state.critical { background: var(--color-danger-soft); color: var(--color-danger); }
.workbench-empty { min-height: 112px; display: grid; align-content: center; justify-items: center; text-align: center; }
.workbench-empty strong { font-size: var(--font-md); }
.workbench-empty p { margin: 6px 0 10px; color: var(--color-text-secondary); font-size: var(--font-sm); }
.workbench-preview-dialog { width: min(620px,calc(100vw - 30px)); }
.workbench-preview-form { display: grid; gap: 14px; }
.workbench-preview-form label { display: grid; gap: 6px; color: var(--color-text-secondary); font-size: var(--font-sm); font-weight: 700; }
.workbench-preview-form select { min-height: 42px; padding: 0 36px 0 11px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text); }
.workbench-quick-profile { width: min(560px,calc(100vw - 20px)); height: 100dvh; padding: 0; display: grid; grid-template-rows: auto 1fr auto; position: fixed; z-index: 30; inset: 0 0 0 auto; border-left: 1px solid var(--color-border); background: var(--color-surface); box-shadow: -20px 0 50px rgba(17,30,54,.18); }
.workbench-quick-profile[hidden] { display: none; }
.workbench-quick-profile header,.workbench-quick-profile footer { padding: 17px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--color-border); }
.workbench-quick-profile footer { border-top: 1px solid var(--color-border); border-bottom: 0; }
.workbench-quick-person { min-width: 0; display: flex; align-items: center; gap: 11px; }
.workbench-quick-person > span { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: var(--color-primary-soft); color: var(--color-primary); font-weight: 850; }
.workbench-quick-person small { color: var(--color-primary); font-size: var(--font-xs); font-weight: 800; }
.workbench-quick-person h2 { margin: 2px 0; font-size: var(--font-lg); }
.workbench-quick-person p { max-width: 250px; margin: 0; overflow: hidden; color: var(--color-text-secondary); font-size: var(--font-xs); text-overflow: ellipsis; white-space: nowrap; }
.workbench-quick-profile-body { padding: 18px; overflow-y: auto; }
.workbench-quick-profile-body section { padding: 15px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-subtle); }
.workbench-quick-profile-body section + section { margin-top: 12px; }
.workbench-quick-profile-body h3 { margin: 0 0 10px; font-size: var(--font-md); }
.workbench-quick-profile-body dl { margin: 0; display: grid; gap: 9px; }
.workbench-quick-profile-body dl div { display: flex; justify-content: space-between; gap: 12px; }
.workbench-quick-profile-body dt { color: var(--color-text-secondary); font-size: var(--font-sm); }
.workbench-quick-profile-body dd { margin: 0; color: var(--color-text); font-size: var(--font-sm); font-weight: 750; }
.workbench-quick-profile-body section p,.workbench-quick-disclaimer { color: var(--color-text-secondary); font-size: var(--font-sm); line-height: 1.55; }
.workbench-quick-disclaimer { margin: 14px 1px 0; }
.executive-profile-score { background: linear-gradient(180deg,color-mix(in srgb,var(--color-primary-soft) 55%,var(--color-surface)),var(--color-surface)) !important; }
.executive-profile-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.executive-profile-section-head small { color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-profile-section-head h3 { margin-top: 3px; }
.executive-profile-radar { display: grid; grid-template-columns: minmax(210px,.9fr) minmax(150px,.7fr); align-items: center; gap: 12px; }
.executive-profile-radar .reference-radar { width: 100%; max-width: 265px; margin: 0 auto; }
.executive-profile-radar .reference-radar polygon,.executive-profile-radar .reference-radar line { fill: none; stroke: var(--color-border); stroke-width: 1; }
.executive-profile-radar .reference-radar .radar-data-area { fill: color-mix(in srgb,var(--color-primary) 24%,transparent); stroke: var(--color-primary); stroke-width: 2.4; }
.executive-profile-radar .reference-radar .radar-data-dot { fill: var(--color-primary); stroke: var(--color-surface); stroke-width: 1.5; }
.executive-profile-radar .reference-radar text { fill: var(--color-text-secondary); font-size: var(--font-xs); text-anchor: middle; }
.executive-profile-score-summary { display: grid; gap: 8px; }
.executive-profile-score-summary span { padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--color-border); border-radius: 9px; background: var(--color-surface); color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-profile-score-summary strong { color: var(--color-text); font-size: var(--font-md); font-variant-numeric: tabular-nums; }
.executive-profile-score-summary .up,.executive-profile-comparison .up { color: var(--color-success); }
.executive-profile-score-summary .down,.executive-profile-comparison .down { color: var(--color-danger); }
.executive-profile-comparison { overflow-x: auto; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface); }
.executive-profile-comparison > div { min-width: 470px; padding: 8px 10px; display: grid; grid-template-columns: 56px repeat(5,minmax(58px,1fr)); align-items: center; gap: 6px; border-bottom: 1px solid var(--color-border); font-size: var(--font-xs); text-align: right; }
.executive-profile-comparison > div:last-child { border-bottom: 0; }
.executive-profile-comparison-head { background: var(--color-surface-subtle); color: var(--color-text-secondary); font-weight: 750; }
.executive-profile-comparison > div > :first-child { text-align: left; }
.executive-profile-comparison b { color: var(--color-primary); font-variant-numeric: tabular-nums; }
.executive-profile-comparison em { font-style: normal; font-weight: 750; font-variant-numeric: tabular-nums; }
.executive-profile-score-meta { margin: 10px 0 0 !important; padding-top: 9px; border-top: 1px dashed var(--color-border); font-size: var(--font-xs) !important; }
body[data-presentation="true"] .workbench-preview-banner { display: flex !important; }
body.workbench-preview-mode .primary-nav .nav-item:not([data-route="overview"]) { pointer-events: none; opacity: .38; }
body.workbench-preview-mode #exportDashboardButton { display: none !important; }

@media (max-width: 900px) {
  .workbench-hero { align-items: flex-start; flex-direction: column; }
  .workbench-context { width: 100%; }
  .workbench-primary-grid { grid-template-columns: 1fr; }
  .workbench-insight-steps { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .workbench-preview-banner,.workbench-preview-banner div { align-items: flex-start; flex-direction: column; }
  .workbench-hero { padding: 20px; }
  .workbench-context { min-width: 0; grid-template-columns: 1fr; }
  .workbench-context span + span { border-top: 1px solid rgba(255,255,255,.13); border-left: 0; }
  .workbench-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workbench-action { grid-template-columns: 28px minmax(0,1fr); }
  .workbench-action > button { grid-column: 2; justify-self: start; }
  .executive-decision-overview { grid-template-columns: 1fr; }
  .executive-decision-category-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .executive-decision-item { grid-template-columns: 32px minmax(0,1fr); }
  .executive-decision-item > .button { grid-column: 2; justify-self: start; }
  .executive-decision-question { grid-template-columns: 1fr; }
  .workbench-summary-list { grid-template-columns: 1fr 1fr; }
  .workbench-quick-profile { width: 100vw; }
  .executive-profile-radar { grid-template-columns: 1fr; }
}
@media (max-width: 390px) { .workbench-kpis,.workbench-summary-list { grid-template-columns: 1fr; } }

/* CEO 总分总：首屏聚合关键变化，二级模块再承载过程明细。 */
body.executive-workbench-mode[data-route="overview"] .topbar { display: none; }
body.executive-workbench-mode[data-route="overview"] #overview { padding-top: 20px; }
.role-workbench.executive-mode { gap: 10px; }
.role-workbench.executive-mode .workbench-hero { display: none; }
.role-workbench.executive-mode .workbench-kpis { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.role-workbench.executive-mode .workbench-kpi { min-height: 94px; padding: 12px 13px; }
.role-workbench.executive-mode .workbench-kpi strong { margin-top: 7px; font-size: 22px; }
.role-workbench.executive-mode .workbench-primary-grid { grid-template-columns: minmax(0,1.6fr) minmax(300px,.85fr); gap: 10px; }
.role-workbench.executive-mode .reference-card { padding: 15px; }
.executive-four-dimension-card[hidden] { display: none; }
.executive-four-dimension-card .reference-title small { color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 500; }
.executive-score-mode { padding: 2px; display: inline-flex; gap: 2px; border: 1px solid var(--color-border); border-radius: 9px; background: var(--color-surface-subtle); }
.executive-score-mode button { min-height: 26px; padding: 4px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--color-text-secondary); font-size: 11px; font-weight: 700; cursor: pointer; }
.executive-score-mode button[aria-pressed="true"] { background: var(--color-primary); color: #fff; box-shadow: 0 2px 6px color-mix(in srgb,var(--color-primary) 28%,transparent); }
.executive-score-mode button:focus-visible { outline: 2px solid color-mix(in srgb,var(--color-primary) 45%,transparent); outline-offset: 1px; }
.executive-score-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.executive-score-person { min-width: 0; padding: 12px; border: 1px solid var(--color-border); border-radius: 11px; background: var(--color-surface-subtle); }
.executive-score-person[hidden] { display: none; }
.executive-score-person.watched { border-color: color-mix(in srgb,var(--color-primary) 48%,var(--color-border)); box-shadow: inset 3px 0 0 var(--color-primary); }
.executive-score-person.warning { box-shadow: inset 3px 0 0 var(--color-danger); }
.executive-score-person.watched.warning { box-shadow: inset 3px 0 0 var(--color-danger),inset 6px 0 0 var(--color-primary); }
.executive-score-person.attention-ai_low:not(.watched) { box-shadow: inset 3px 0 0 var(--color-warning); }
.executive-score-person.attention-insufficient:not(.watched) { box-shadow: inset 3px 0 0 var(--color-border-strong,var(--color-border)); }
.executive-score-person header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.executive-score-person header > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.executive-score-meta-row { min-height: 22px; margin: 7px 0 9px; display: flex; align-items: center; gap: 8px; }
.executive-score-role { min-width: 0; margin: 0; overflow: hidden; color: var(--color-text-secondary); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.executive-score-attention { min-width: 0; margin-left: auto; display: flex; align-items: center; gap: 7px; }
.executive-score-attention .reference-tag { flex: 0 0 auto; }
.executive-score-attention small { min-width: 0; overflow: hidden; color: var(--color-text-secondary); font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.executive-score-attention.warning small { color: var(--color-danger); }
.executive-score-attention.ai_low small { color: var(--color-warning-text,#875a00); }
.executive-score-visual { display: grid; grid-template-columns: minmax(190px,1fr) minmax(96px,.42fr); align-items: center; gap: 8px; }
.executive-score-radar-wrap { min-width: 0; }
.executive-score-visual .reference-radar { display: block; width: 100%; max-width: 230px; margin: 0 auto; overflow: visible; }
.executive-score-visual .reference-radar polygon,.executive-score-visual .reference-radar line { fill: none; stroke: var(--color-border); stroke-width: 1; }
.executive-score-visual .reference-radar .radar-data-area { fill: color-mix(in srgb,var(--color-primary) 24%,transparent); stroke: var(--color-primary); stroke-width: 2.4; }
.executive-score-visual .reference-radar .radar-data-dot { fill: var(--color-primary); stroke: var(--color-surface); stroke-width: 1.5; }
#appShell .executive-score-visual .reference-radar .radar-series-manual .radar-data-area { fill: color-mix(in srgb,var(--color-success) 16%,transparent); stroke: var(--color-success); stroke-width: 2.6; stroke-dasharray: none; }
#appShell .executive-score-visual .reference-radar .radar-series-manual .radar-data-dot { fill: var(--color-success); stroke: var(--color-surface); }
#appShell .executive-score-visual .reference-radar .radar-series-ai .radar-data-area { fill: color-mix(in srgb,var(--color-primary) 10%,transparent); stroke: var(--color-primary); stroke-width: 2.2; stroke-dasharray: 6 4; }
#appShell .executive-score-visual .reference-radar .radar-series-ai .radar-data-dot { fill: var(--color-primary); stroke: var(--color-surface); }
.executive-score-visual .reference-radar text { fill: var(--color-text-secondary); font-size: var(--font-xs); text-anchor: middle; }
.executive-score-chart-legend { margin-top: 2px; display: flex; flex-wrap: wrap; justify-content: center; gap: 7px 12px; color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 700; }
.executive-score-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.executive-score-chart-legend i { width: 20px; height: 0; border-top: 2.5px solid; }
.executive-score-chart-legend .executive-score-legend-manual i { border-color: var(--color-success); }
.executive-score-chart-legend .executive-score-legend-ai i { border-color: var(--color-primary); border-top-style: dashed; }
.executive-score-summary { display: grid; gap: 7px; min-width: 0; }
.executive-score-summary > span { display: grid; gap: 2px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-score-summary > span strong { color: var(--color-primary); font-size: var(--font-xl); font-variant-numeric: tabular-nums; }
.executive-score-summary .executive-score-source { grid-template-columns: auto 1fr; align-items: baseline; column-gap: 6px; }
.executive-score-summary .executive-score-source strong { font-size: 20px; }
.executive-score-summary .executive-score-source small { grid-column: 1 / -1; }
.executive-score-summary .executive-score-source-manual strong,.executive-score-summary .executive-score-source-manual small { color: var(--color-success); }
.executive-score-summary .executive-score-source-ai strong,.executive-score-summary .executive-score-source-ai small { color: var(--color-primary); }
.executive-score-source-placeholder { display: none; color: var(--color-text-secondary); font-size: 11px; font-weight: 700; line-height: 1.45; }
.executive-score-summary small { color: #8994a7; font-size: 11px; line-height: 1.45; }
.executive-score-summary .executive-score-missing { color: var(--color-warning-text, #875a00); }
.executive-score-difference { min-height: 18px; margin: 7px 0 0; color: var(--color-text); font-size: 11px; font-weight: 700; line-height: 1.45; }
.executive-four-dimension-card[data-score-mode="manual"] .radar-series-ai,.executive-four-dimension-card[data-score-mode="manual"] .executive-score-source-ai { display: none; }
.executive-four-dimension-card[data-score-mode="ai"] .radar-series-manual,.executive-four-dimension-card[data-score-mode="ai"] .executive-score-source-manual { display: none; }
.executive-four-dimension-card[data-score-mode="manual"] .executive-score-legend-ai,.executive-four-dimension-card[data-score-mode="ai"] .executive-score-legend-manual { display: none; }
.executive-four-dimension-card[data-score-mode="manual"] .executive-score-source-placeholder.executive-score-source-manual,.executive-four-dimension-card[data-score-mode="ai"] .executive-score-source-placeholder.executive-score-source-ai { display: block; }
.executive-score-person footer { margin-top: 10px; padding-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--color-border); }
.executive-score-person footer > span { overflow: hidden; color: #8994a7; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.executive-auto-score { color: var(--color-primary); font-weight: 800; }
.executive-manual-score { color: var(--color-success); font-weight: 800; }
.executive-score-pagination { margin-top: 11px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; color: var(--color-text-secondary); font-size: 11px; }
.executive-score-pagination button { width: 30px; height: 30px; border: 1px solid var(--color-border); border-radius: 9px; background: var(--color-surface); color: var(--color-text); cursor: pointer; }
.executive-score-pagination button:disabled { opacity: .38; cursor: default; }
.executive-score-roster-note { margin-top: 10px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface-subtle); }
.executive-score-roster-note > div { min-width: 0; display: grid; gap: 3px; }
.executive-score-roster-note strong { color: var(--color-text); font-size: 11px; }
.executive-score-roster-note span,.executive-score-roster-note small { color: var(--color-text-secondary); font-size: var(--font-xs); line-height: 1.45; }
.talent-focus-filters { margin-bottom: 8px; padding-bottom: 8px; display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--color-border); }
.talent-focus-filters button { min-height: 28px; padding: 4px 10px; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-surface); color: var(--color-text-secondary); font-size: 11px; font-weight: 750; cursor: pointer; }
.talent-focus-filters button[aria-pressed="true"] { border-color: color-mix(in srgb,var(--color-primary) 55%,var(--color-border)); background: var(--color-primary-soft); color: var(--color-primary); }
.executive-signal-list { display: grid; }
.executive-signal { padding: 12px 0; display: grid; grid-template-columns: 112px minmax(0,1fr) 104px; align-items: center; gap: 13px; border-bottom: 1px solid var(--color-border); }
.executive-signal:last-child { border-bottom: 0; }
.executive-signal[hidden] { display: none; }
.workbench-drilldown-focus { animation: workbench-drilldown-pulse 1.1s ease; scroll-margin-top: 18px; }
@keyframes workbench-drilldown-pulse { 0%,100% { box-shadow: var(--shadow-card); } 40% { box-shadow: 0 0 0 4px color-mix(in srgb,var(--color-primary) 24%,transparent),var(--shadow-card); } }
.executive-signal > div { min-width: 0; }
.executive-signal > div strong,.executive-signal > div small { display: block; }
.executive-signal > div strong { font-size: var(--font-sm); }
.executive-signal-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.executive-signal-heading > strong { margin-right: 2px; }
.signal-status { padding: 2px 6px; border-radius: 999px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 750; white-space: nowrap; }
.signal-status.improved { background: var(--color-success-soft); color: var(--color-success); }
.signal-status.declined { background: var(--color-danger-soft); color: var(--color-danger); }
.signal-status.key { background: var(--color-warning-soft); color: var(--color-warning); }
.signal-status.watched { background: var(--color-primary-soft); color: var(--color-primary); }
.signal-status.attention.red { background: var(--color-danger-soft); color: var(--color-danger); }
.signal-status.attention.amber { background: var(--color-warning-soft); color: var(--color-warning-text,#875a00); }
.signal-status.attention.gray { border: 1px solid var(--color-border); background: var(--color-surface-subtle); color: var(--color-text-secondary); }
.signal-attention-reason { max-width: 340px; overflow: hidden; color: var(--color-text-secondary); font-size: 11px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.executive-signal p { margin: 5px 0 7px; color: var(--color-text-secondary); font-size: var(--font-xs); line-height: 1.5; }
.executive-signal small { color: #8994a7; font-size: 11px; }
.executive-signal-metrics { display: flex; flex-wrap: wrap; align-items: stretch; gap: 6px; }
.executive-signal-metrics > span { min-width: 96px; padding: 6px 8px; display: grid; gap: 2px; border-radius: 8px; background: var(--color-surface-subtle); }
.executive-signal-metrics > span b { color: var(--color-text); font-size: 13px; font-variant-numeric: tabular-nums; }
.executive-signal-metrics > span small { font-size: var(--font-xs); }
.executive-signal-metrics .signal-delta.improved b { color: var(--color-success); }
.executive-signal-metrics .signal-delta.declined b,.executive-signal-metrics > span.warning b { color: var(--color-danger); }
.executive-signal-metrics > span.ready b { color: var(--color-primary); }
.executive-signal-actions { display: grid; gap: 6px; }
.executive-signal-actions .button { width: 100%; justify-content: center; }
.executive-signal.improved { border-left: 3px solid var(--color-success); padding-left: 8px; }
.executive-signal.declined,.executive-signal.warning { border-left: 3px solid var(--color-danger); padding-left: 8px; }
.executive-signal-pagination { min-height: 34px; margin-top: 8px; padding-top: 8px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--color-border); color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-signal-pagination button { width: 30px; height: 28px; padding: 0; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface); color: var(--color-text); font-size: var(--font-lg); cursor: pointer; }
.executive-signal-pagination button:hover:not(:disabled) { border-color: var(--color-primary); color: var(--color-primary); }
.executive-signal-pagination button:disabled { cursor: default; opacity: .38; }
.executive-signal-pagination b { color: var(--color-text); font-variant-numeric: tabular-nums; }
.talent-methodology-note { margin-top: 10px; padding: 10px 12px; display: grid; grid-template-columns: auto repeat(3,minmax(0,1fr)); align-items: start; gap: 8px 12px; border: 1px solid color-mix(in srgb,var(--color-warning) 32%,var(--color-border)); border-radius: 10px; background: color-mix(in srgb,var(--color-warning-soft) 55%,var(--color-surface)); }
.talent-methodology-note strong { color: var(--color-warning); font-size: var(--font-xs); white-space: nowrap; }
.talent-methodology-note span { color: var(--color-text-secondary); font-size: var(--font-xs); line-height: 1.5; }
.talent-methodology-note span b { color: var(--color-text); }
.executive-module-summary { display: grid; gap: 8px; }
.executive-module-summary button { padding: 10px 11px; display: grid; gap: 3px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface-subtle); color: inherit; text-align: left; cursor: pointer; }
.executive-module-summary button:hover { border-color: var(--color-primary); }
.executive-module-summary span,.executive-module-summary small { color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-module-summary strong { font-size: var(--font-md); }
.executive-brief-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.executive-brief-head strong,.executive-brief-head small { display: block; }
.executive-brief-head small { margin-top: 3px; color: var(--color-text-secondary); font-size: var(--font-xs); }
.executive-key-job-list { margin-top: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.executive-key-job-list button { padding: 10px; display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; border: 1px solid var(--color-border); border-radius: 9px; background: var(--color-surface); color: inherit; text-align: left; cursor: pointer; }
.executive-key-job-list button b { align-self: center; overflow: hidden; font-size: var(--font-sm); text-overflow: ellipsis; white-space: nowrap; }
.executive-key-job-list button small,.executive-key-job-list button i { grid-column: 1 / -1; color: var(--color-text-secondary); font-size: var(--font-xs); font-style: normal; }
.executive-score-disclaimer { margin: 12px 0 0; padding: 9px 11px; border-radius: 8px; background: var(--color-warning-soft); color: #76551a; font-size: var(--font-xs); line-height: 1.5; }
@media (max-width: 1200px) { .role-workbench.executive-mode .workbench-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); } .executive-score-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .role-workbench.executive-mode .workbench-primary-grid { grid-template-columns: 1fr; } .workbench-actions-card .reference-title { align-items: flex-start; flex-direction: column; } .workbench-actions-title-tools { width: 100%; justify-content: space-between; } .executive-talent-search { flex: 1; } .executive-talent-search input { width: 100%; } .executive-talent-search-results { right: auto; left: 0; } .executive-signal { grid-template-columns: 105px 1fr; } .executive-signal-actions { grid-column: 2; display: flex; justify-content: flex-start; } .executive-signal-actions .button { width: auto; } .talent-methodology-note { grid-template-columns: 1fr 1fr; } .talent-methodology-note strong { grid-column: 1 / -1; } }
@media (max-width: 620px) { .executive-talent-search-result { grid-template-columns: 32px minmax(0,1fr) auto; } .executive-talent-search-state { display: none; } .executive-talent-search-actions { grid-column: 2 / -1; justify-content: flex-start; } .executive-four-dimension-card .reference-title { align-items: flex-start; flex-direction: column; } .executive-score-grid { grid-template-columns: 1fr; } .executive-score-visual { grid-template-columns: 1fr; } .executive-score-summary { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; } .executive-score-person footer { align-items: flex-start; flex-direction: column; } .executive-score-person footer > span { text-align: left; white-space: normal; } .executive-signal { grid-template-columns: 1fr; } .executive-signal-actions { grid-column: 1; } .executive-signal-pagination { justify-content: center; } .talent-methodology-note { grid-template-columns: 1fr; } }

/* All role workspaces follow the CEO card order and information density. */
.role-workbench.ceo-standard-mode { gap: 10px; }
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero {
  min-height: 0;
  padding: 14px 16px;
  display: none;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  color: var(--color-text);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-card);
}
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero::before,
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero::after { display: none; }
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero__copy,
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero__context { position: relative; z-index: 1; }
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero__copy { gap: 4px; }
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero .eyebrow { color: var(--color-primary); }
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero h2 { max-width: none; font-size: clamp(18px,2vw,23px); line-height: 1.2; }
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero p { max-width: 760px; color: var(--color-text-secondary); }
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-context-item {
  min-width: 142px;
  padding: 9px 11px;
  color: var(--color-text);
  background: var(--color-surface-subtle);
  border: 1px solid var(--color-border);
}
.role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-context-item span { color: var(--color-text-secondary); }
.role-workbench.ceo-standard-mode .workbench-hero { display: none; }
.role-workbench.ceo-standard-mode .workbench-kpis { gap: 10px; }
.role-workbench.ceo-standard-mode[data-kpi-count="6"] .workbench-kpis { grid-template-columns: repeat(6,minmax(0,1fr)); }
.role-workbench.ceo-standard-mode[data-kpi-count="5"] .workbench-kpis { grid-template-columns: repeat(5,minmax(0,1fr)); }
.role-workbench.ceo-standard-mode[data-kpi-count="4"] .workbench-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); }
.role-workbench.ceo-standard-mode .workbench-primary-grid { grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: 10px; }
.role-workbench.ceo-standard-mode .reference-card { min-width: 0; }

@media (max-width: 1200px) {
  .role-workbench.ceo-standard-mode[data-kpi-count="6"] .workbench-kpis,
  .role-workbench.ceo-standard-mode[data-kpi-count="5"] .workbench-kpis { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero { grid-template-columns: 1fr; }
  .role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero__context { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .role-workbench.ceo-standard-mode .workbench-primary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .role-workbench.ceo-standard-mode[data-kpi-count] .workbench-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero { padding: 13px; }
  .role-workbench.ceo-standard-mode:not(.executive-mode) .workbench-hero__context { grid-template-columns: 1fr; }
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card .table-shell { overflow: visible; border: 0; background: transparent; }
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card table,
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card tbody,
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card tr,
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card td { display: block; width: 100%; }
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card thead { display: none; }
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card tbody { display: grid; gap: 10px; }
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card tr { padding: 12px; background: var(--color-surface-subtle); border: 1px solid var(--color-border); border-radius: 12px; }
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card td { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 10px; align-items: start; padding: 7px 0; border: 0; }
  .role-workbench.ceo-standard-mode:not(.management-talent-mode) .workbench-people-card td::before { content: attr(data-label); color: var(--color-text-secondary); font-size: var(--font-xs); font-weight: 700; }
}
