/* Visual contract reused from gilbert/gaoq_ai 6538649, erp-web/workspace:
   console-shell.tsx + workbench.css + reports/reports.css. Presentation only. */
:root{color-scheme:light;--wb-ink:#0f172a;--wb-secondary:#475569;--wb-muted:#64748b;--wb-line:#e2e8f0;--wb-accent:#0369a1;--wb-soft:#e0f2fe;--bg:#f8fafc;--panel:#fff;--edge:#e2e8f0;--ink:#0f172a;--muted:#64748b;--blue:#0369a1;--cyan:#0369a1;--red:#c83d4f;--lime:#2563eb;--purple:#7c6ab2}
body{background:var(--bg);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums}.shell{background:var(--bg)}button,input,select,textarea{font-size:13px;border-radius:8px;border-color:var(--wb-line);color:var(--wb-ink);background:#fff}button{min-height:34px;padding:6px 12px;box-shadow:none}button:hover{border-color:#8aa9be;background:#f1f5f9}button.primary,.primary{background:#0f172a;border-color:#0f172a;color:white}input,select,textarea{padding:7px 11px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7eb6db;outline-offset:2px}a{color:var(--wb-accent)}
.topbar{height:56px;min-height:56px;margin:0;padding:0 24px;gap:14px;border-bottom:1px solid var(--wb-line);background:#fff;box-shadow:none}.brand{gap:12px}.brand-icon{width:76px;height:auto}.brand small{font-size:11px;color:var(--wb-muted)}.masthead{font-size:16px;font-weight:600;letter-spacing:.02em}.clock{font-size:12px;color:var(--wb-muted)}.button-link{border-radius:8px;padding:6px 12px;font-size:12px}.nav{min-height:50px;padding:6px 24px;gap:4px;border-bottom:1px solid var(--wb-line);background:#fff}.nav button{min-height:38px;padding:6px 12px;border:0;border-radius:7px;font-size:13px;color:var(--wb-secondary);background:transparent}.nav button.active{background:var(--wb-soft);color:var(--wb-accent);box-shadow:none}.nav button.utility{border:1px solid var(--wb-line);min-height:34px;font-size:12px}.workspace,.workspace.full-width{width:100%;max-width:none;margin:0;padding:22px 24px 36px}.toolbar{margin-bottom:16px;gap:14px;align-items:center}.toolbar h1,.titleline h1{font-size:24px;line-height:1.5;letter-spacing:-.02em}.breadcrumb{font-size:12px;color:var(--wb-muted)}.filters{gap:8px}.periods,.segmented{background:#f1f5f9;border-color:var(--wb-line);border-radius:8px;padding:3px;gap:2px}.periods button,.segmented button{min-height:30px;font-size:12px;padding:4px 10px}.periods button.active,.segmented button.active{background:white;color:var(--wb-ink);box-shadow:0 1px 3px #0f172a0d}.kpis,.dashboard-kpis{gap:12px;margin-bottom:16px}.kpi{border:1px solid var(--wb-line);border-radius:8px;box-shadow:none;min-height:142px;padding:16px 18px;background:white}.kpi-label,.kpi h4{font-size:13px;font-weight:600;color:#27272a;line-height:1.6}.kpi-head{min-height:34px}.kpi-value{font-size:clamp(24px,2.1vw,34px);letter-spacing:-.03em;line-height:1.4;margin:12px 0 8px;font-weight:650}.kpi-value em{font-size:11px;color:var(--wb-muted);font-weight:400}.kpi-comparisons{font-size:10px;gap:4px}.kpi-inspect{font-size:11px;color:var(--wb-accent);padding-top:4px}.kpi-secondary{font-size:11px;color:var(--wb-muted);padding-top:9px}.kpi:before,.kpi:after{box-shadow:none}.panel{background:white;border:1px solid var(--wb-line);border-radius:8px;box-shadow:none;padding:18px;margin-bottom:16px}.panel h2{font-size:16px;color:var(--wb-ink);font-weight:600}.panel-head{gap:12px;margin-bottom:14px}.dashboard-grid{gap:16px}.tabs,.okr-tabs,.hr-tabs{gap:7px;margin-bottom:16px}.tabs button,.okr-tabs button,.hr-tabs button{min-height:36px;padding:6px 12px;border-radius:7px;font-size:13px}.tabs button.active,.okr-tabs button.active,.hr-tabs button.active{background:var(--wb-soft);border-color:#bfd9e9;color:var(--wb-accent)}
table{font-size:13px}th,td{padding:12px 16px;border-color:var(--wb-line)}th{font-size:12px;font-weight:500;color:var(--wb-muted);background:#f8fafc}.table-wrap,.data-table-wrap{border-color:var(--wb-line);border-radius:8px}.modal{border-radius:10px;border:1px solid #d8e2ec;box-shadow:0 18px 70px #0f172a24;background:white}.modal-head,.modal-foot{padding:16px 20px}.modal-body{padding:18px 20px}.modal-head h2{font-size:16px}.notice{font-size:12px;line-height:1.7;padding:10px 14px;border-radius:7px;background:#f2f8fc;border-color:#cfe1ea;color:#27272a}.caption{font-size:11px;color:var(--wb-muted)}.empty,.full-empty{border-radius:8px}.business-rail button{font-size:11px;min-width:38px;min-height:38px;border-radius:7px}.business-rail button.active{background:var(--wb-soft);color:var(--wb-accent)}
.hr-costs-app,.hr-costs-app>main,.operating-report,.operating-report-app,.operating-expenses,.hr-department-report,.bi-pt-overview{width:100%;max-width:none;margin-inline:0}.hr-costs-app main,.operating-report main,.operating-expenses main,.hr-department-report main{max-width:none;padding:0}.operating-report .panel,.hr-costs-app .panel{padding:18px}.operating-report table td,.hr-costs-app table td{padding:11px 16px}.operating-report table th:first-child{width:37%}.analytics-metrics article,.supplier-reports-hub .analytics-metrics article{border-radius:8px;padding:16px;box-shadow:none}.analytics-filters{margin:16px 0;gap:12px}.analytics-metrics{gap:12px}.analytics-metrics strong{font-size:30px}.analytics-actions{margin-bottom:12px}.bi-pt-overview .ant-btn{box-shadow:none}.bi-pt-overview .ant-tabs-tab{font-size:13px}.bi-pt-overview .ant-card{border-radius:8px}.crm-overview-section-title{font-size:15px;margin:12px 0}.crm-overview .kpi{min-height:142px}.organization-tree,.role-workspace{border-radius:8px}.role-workspace h2{font-size:18px}.assistant-launcher{font-size:12px;padding:9px 13px}.ui-source-details{margin-top:14px;color:var(--wb-muted);font-size:11px}.ui-source-details>summary{cursor:pointer;padding:5px 0}.ui-source-details>.caption{display:flex;gap:14px;flex-wrap:wrap;padding-top:8px}
@media(min-width:1800px){.workspace{padding:24px 32px}.kpi{min-height:150px}}@media(max-width:1100px){.nav{padding-inline:16px;overflow:auto}.workspace{padding:18px 16px}.topbar{padding-inline:16px}.masthead{font-size:14px}.kpi-value{font-size:28px}}@media(max-width:820px){.topbar{min-height:52px;height:52px;display:flex;justify-content:space-between;gap:12px}.brand small,.masthead{display:none}.clock{display:flex;align-items:center;font-size:11px}.nav{padding:6px 12px;min-height:52px;flex-wrap:nowrap;overflow-x:auto}.nav button{min-height:40px;white-space:nowrap}.nav .spacer{min-width:0}.workspace{padding:16px 12px}.toolbar{align-items:flex-start;flex-wrap:wrap}.filters{flex-wrap:wrap;width:100%}.toolbar h1{font-size:22px}.kpi{min-height:135px;padding:14px}.panel{padding:14px}.modal-head,.modal-body,.modal-foot{padding:14px 16px}button,input,select{min-height:44px}.periods button,.segmented button{min-height:34px}.business-rail{display:none}.hr-costs-app,.operating-report,.operating-expenses{padding:0!important}.kpi-value{font-size:28px}.kpi-head{min-height:30px}th,td{padding:10px 12px}.analytics-filters{gap:10px}.analytics-metrics strong{font-size:26px}}@media(max-width:520px){.clock #clock{display:none}.workspace{padding:14px 12px}.kpis,.dashboard-kpis{gap:10px}.kpi-value{font-size:25px}.filters{gap:6px}.periods button{padding:5px 9px}.topbar .button-link{margin-left:0!important}.panel h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Actual embedded HR and supplier component roots. */
.bi-hr-department,.hr-operating,.hr-expenses,.bi-pt-source{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;color:var(--wb-ink);max-width:none;width:100%;margin-inline:0}.hr-operating,.hr-expenses{padding:18px;border-color:var(--wb-line);border-radius:8px}.hr-operating h2,.hr-expenses h2,.bi-hr-department .py-heading h2{font-size:20px;letter-spacing:-.02em;color:var(--wb-ink)}.hr-operating-heading{margin-bottom:16px}.hr-operating-heading p{color:var(--wb-muted);font-size:12px}.operating-controls{margin-block:12px}.operating-tabs button{min-height:36px;border-radius:7px;padding:6px 12px}.operating-tabs button.is-active{background:var(--wb-soft);color:var(--wb-accent);border-color:#bfd9e9}.operating-money{font-size:20px}.bi-hr-department .py-metric,.bi-hr-department .py-panel,.expense-source{border-radius:8px;border-color:var(--wb-line)}.bi-hr-department .py-metric{padding:16px}.bi-hr-department .py-metrics{gap:12px}.bi-hr-department .py-content{padding:0}.bi-hr-department button.primary{background:#0f172a;border-color:#0f172a}.bi-pt-source .ant-tabs-tab{min-height:38px;padding:7px 12px;border-radius:7px;border-color:var(--wb-line);font-size:13px}.bi-pt-source .ant-tabs-tab-active{background:var(--wb-soft);border-color:#bfd9e9}.bi-pt-source .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--wb-accent)!important}.bi-pt-source .analytics-filters{border-radius:8px;border-color:var(--wb-line);gap:12px;padding:14px 16px;margin-bottom:16px}.bi-pt-source .analytics-kpi-card{border-radius:8px;border-color:var(--wb-line);padding:16px 18px 12px;min-height:142px}.bi-pt-source .supplier-pulse article,.bi-pt-source .supplier-report-section,.bi-pt-source .supplier-chart,.bi-pt-source .ant-card{border-radius:8px;border-color:var(--wb-line)}
@media(max-width:820px){.hr-operating,.hr-expenses{padding:14px}.bi-hr-department button,.hr-operating button,.hr-expenses button,.bi-pt-source .ant-btn,.bi-pt-source .ant-tabs-tab{min-height:44px}}@media(max-width:520px){.bi-hr-department input,.bi-hr-department select,.hr-operating input,.hr-operating select,.hr-expenses select{font-size:16px}}

/* Center the content canvas; keep card padding and vertical rhythm unchanged. */
.workspace,.workspace.full-width{width:calc(100% - 112px);max-width:1680px;margin-inline:auto;padding-inline:24px}.department-report-page main{width:calc(100% - 112px);max-width:1680px;margin-inline:auto;padding-inline:24px}.business-rail button{color:#27272a}.business-rail button.active{color:#27272a;background:#eff6ff}
@media(min-width:1800px){.workspace,.workspace.full-width{padding-inline:24px}}@media(max-width:1100px){.workspace,.workspace.full-width,.department-report-page main{width:calc(100% - 48px);padding-inline:16px}}@media(max-width:820px){.workspace,.workspace.full-width,.department-report-page main{width:100%;padding-inline:16px}}@media(max-width:520px){.workspace,.workspace.full-width,.department-report-page main{padding-inline:12px}}.screen-mode .workspace{width:100%;max-width:none;margin:0}

/* Approved minimal refinement: dark type, existing lines, semantic red/green deltas. */
:root{--wb-ink:#18181b;--wb-accent:#27272a;--ink:#18181b;--blue:#27272a;--cyan:#27272a}.nav button.active,.button-link,.signing-workbench-link,.business-rail button,.business-rail button.active{color:#27272a}.nav button.active{background:#f1f5f9}.toolbar button,.toolbar a{color:#27272a}.kpi-value{color:#18181b}.kpi-label,.kpi h4{color:#3f3f46}.kpi-mom.down,.analytics-comparison-badge.is-decrease{color:#16876e!important}.kpi-mom.up,.analytics-comparison-badge.is-increase{color:#e44f5b!important}.kpi-mom.muted{color:#7b8782!important}.bi-pt-source .ant-tabs-tab-active .ant-tabs-tab-btn{color:#27272a!important}.bi-pt-source .ant-tag-blue{color:#3f3f46;background:#f4f4f5;border-color:#e4e4e7}.department-report-page dialog::backdrop{background:rgba(255,255,255,.78)}
/* All BI business cards use the approved CRM accent, rather than per-module colors. */
.dashboard-kpis,.dashboard-kpis-mcn,.dashboard-kpis-incubation,.dashboard-kpis-external,.dashboard-kpis-creator,.dashboard-kpis-overview,.crm-overview-grid{--module-accent:#ad6c10!important;--module-accent-soft:#f8f1e7!important}.dashboard-kpis .kpi:before,.bi-pt-source .analytics-kpi-card:before,.bi-pt-source .supplier-pulse article:before{background:#ad6c10}.dashboard-kpis .kpi-mom,.analytics-comparison-badge{background:#f8f1e7}.dashboard-kpis .kpi-inspect,.crm-overview-source summary,.bi-pt-source .analytics-kpi-card>footer>a,.bi-pt-source .analytics-kpi-card>footer>.ant-btn{color:#ad6c10}.bi-pt-source .analytics-kpi-card{border-top-color:#ad6c10}.business-tactic-progress-track i,.tactic-progress-track i,.business-strategy-track i,.okr-progress-track i{background:#ad6c10}.business-tactic-progress strong,.tactic-progress-summary strong{color:#27272a}
