/* 配色与明暗模式独立；财务文字和红/绿状态语义沿用原规则。 */
:root {
  --palette-primary:#137c90; --palette-hover:#106577; --palette-active:#0e5a6b; --palette-accent:#126d80;
  --palette-soft:#e4f1f4; --palette-wash:#cce9ec66; --palette-focus:#137c9033;
  --chart-1:#278caa; --chart-2:#7995c7; --chart-3:#67a98f; --chart-4:#bd974c; --chart-5:#ad7890; --chart-6:#879eaa; --chart-7:#ba6772;
}
:root[data-palette=forest] { --palette-primary:#2d7457; --palette-hover:#235b43; --palette-active:#1d4d38; --palette-accent:#266648; --palette-soft:#e4f0e8; --palette-wash:#c8e2cb66; --palette-focus:#2d745733; --chart-1:#37876a; --chart-2:#89a455; --chart-3:#598ead; --chart-4:#bc9854; --chart-5:#967b9b; --chart-6:#82a497; }
:root[data-palette=indigo] { --palette-primary:#4f5aa1; --palette-hover:#414b87; --palette-active:#374070; --palette-accent:#475393; --palette-soft:#e9ebf7; --palette-wash:#d6def166; --palette-focus:#4f5aa133; --chart-1:#6574b4; --chart-2:#8e9cc9; --chart-3:#69a89d; --chart-4:#bd9b60; --chart-5:#b0809a; --chart-6:#7e9db2; }
:root[data-palette=graphite] { --palette-primary:#806324; --palette-hover:#69511d; --palette-active:#574318; --palette-accent:#765b21; --palette-soft:#f3eddd; --palette-wash:#e9ddbc66; --palette-focus:#80632433; --chart-1:#967738; --chart-2:#5d7487; --chart-3:#7b9a87; --chart-4:#b4a174; --chart-5:#a0828c; --chart-6:#909ca5; }
:root[data-palette=rose] { --palette-primary:#9b536f; --palette-hover:#81445c; --palette-active:#6d394d; --palette-accent:#8f4d66; --palette-soft:#f5e7ec; --palette-wash:#edcedc66; --palette-focus:#9b536f33; --chart-1:#b47792; --chart-2:#8e91b2; --chart-3:#79a398; --chart-4:#b69b79; --chart-5:#bd9fab; --chart-6:#879ca9; }
:root[data-palette=ice] { --palette-primary:#726095; --palette-hover:#5f507d; --palette-active:#504369; --palette-accent:#685688; --palette-soft:#efeaf6; --palette-wash:#e0d8ef66; --palette-focus:#72609533; --chart-1:#9180ae; --chart-2:#84a5ba; --chart-3:#6fa99f; --chart-4:#b5a078; --chart-5:#b88da9; --chart-6:#96a6b7; }
html[data-bs-theme=dark] { --palette-primary:#18788a; --palette-hover:#126576; --palette-active:#0e5261; --palette-accent:#9adce6; --palette-soft:#263f4b; --palette-wash:#23495266; --palette-focus:#9adce640; --chart-1:#7bc6dc; --chart-2:#a6b8dd; --chart-3:#9bcbb3; --chart-4:#dcc08a; --chart-5:#d7a8bd; --chart-6:#abc2cf; --chart-7:#e1a0aa; }
html[data-bs-theme=dark][data-palette=forest] { --palette-primary:#337b5f; --palette-hover:#28634c; --palette-active:#20513e; --palette-accent:#abe1c1; --palette-soft:#263f35; --palette-wash:#294b3c66; --palette-focus:#abe1c140; --chart-1:#91c9ad; --chart-2:#c0ce9b; --chart-3:#91bed1; --chart-4:#d8bd8c; --chart-5:#c4aecb; --chart-6:#aecbc0; }
html[data-bs-theme=dark][data-palette=indigo] { --palette-primary:#616cb1; --palette-hover:#4d5794; --palette-active:#3d467e; --palette-accent:#bdc8ff; --palette-soft:#303b55; --palette-wash:#353e6766; --palette-focus:#bdc8ff40; --chart-1:#b4bff0; --chart-2:#c5cee9; --chart-3:#9bd4c6; --chart-4:#ddc493; --chart-5:#d5b0c5; --chart-6:#a8c9dd; }
html[data-bs-theme=dark][data-palette=graphite] { --palette-primary:#8a6c31; --palette-hover:#715827; --palette-active:#5c4720; --palette-accent:#e9cc8c; --palette-soft:#3e3a31; --palette-wash:#51463766; --palette-focus:#e9cc8c40; --chart-1:#d7bb83; --chart-2:#a5bdcf; --chart-3:#b2ceb9; --chart-4:#d5c9ad; --chart-5:#d1b5bc; --chart-6:#b9c5ce; }
html[data-bs-theme=dark][data-palette=rose] { --palette-primary:#a45c77; --palette-hover:#894c63; --palette-active:#723f53; --palette-accent:#f3bdd1; --palette-soft:#49343f; --palette-wash:#5a394c66; --palette-focus:#f3bdd140; --chart-1:#e0afc5; --chart-2:#c0c1df; --chart-3:#b1d6ca; --chart-4:#d9c6a8; --chart-5:#e0c8d1; --chart-6:#b2cbd8; }
html[data-bs-theme=dark][data-palette=ice] { --palette-primary:#77649b; --palette-hover:#625281; --palette-active:#50436b; --palette-accent:#d9ccf6; --palette-soft:#3c374e; --palette-wash:#4b405e66; --palette-focus:#d9ccf640; --chart-1:#c5b7df; --chart-2:#b4d0e1; --chart-3:#a6d6cc; --chart-4:#d8c8a6; --chart-5:#debcd3; --chart-6:#becbdc; }
html[data-palette] .app-glass { --primary:var(--palette-primary); --accent:var(--palette-accent); background:radial-gradient(ellipse at 5% 12%,var(--palette-wash),transparent 48%),var(--canvas); }
html[data-palette] .app-glass a:not(.btn) { color:var(--palette-accent); }
html[data-palette] .app-glass .sidebar nav a { color:var(--ink); }
html[data-palette] .app-glass .sidebar nav a:is(:hover,[aria-current=page]) { color:var(--palette-accent); background:var(--palette-soft); }
html[data-palette] .app-glass .sidebar nav a[aria-current=page] { box-shadow:inset 3px 0 var(--palette-primary); }
html[data-palette] .app-glass .brand-mark { color:var(--palette-accent); background:var(--palette-soft); }
html[data-palette] .app-glass .btn-primary { --bs-btn-bg:var(--palette-primary); --bs-btn-border-color:var(--palette-primary); --bs-btn-hover-bg:var(--palette-hover); --bs-btn-hover-border-color:var(--palette-hover); --bs-btn-active-bg:var(--palette-active); --bs-btn-active-border-color:var(--palette-active); --bs-btn-focus-shadow-rgb:80,115,140; }
html[data-palette] .app-glass .btn-outline-primary { --bs-btn-color:var(--palette-accent); --bs-btn-border-color:var(--control-border); --bs-btn-bg:transparent; --bs-btn-hover-bg:var(--palette-soft); --bs-btn-hover-color:var(--palette-accent); --bs-btn-hover-border-color:var(--palette-accent); --bs-btn-active-bg:var(--palette-soft); --bs-btn-active-color:var(--palette-accent); }
html[data-palette] .app-glass .form-control:focus,html[data-palette] .app-glass .form-select:focus { border-color:var(--palette-accent); box-shadow:0 0 0 3px var(--palette-focus); }
html[data-palette] .app-glass .kpi-attention { background:var(--palette-soft); border-color:var(--border); }
html[data-palette] .app-glass .kpi-attention .kpi-value { color:var(--palette-accent); }
html[data-palette] .app-glass .legend-received { background:var(--palette-primary); }
html[data-palette] .login-shell { background:radial-gradient(ellipse at 16% 28%,var(--palette-wash),transparent 55%),var(--canvas); }
html[data-palette] .login-story-brand>span { color:var(--palette-accent); background:var(--palette-soft); }
html[data-palette] .login-book-word { color:var(--palette-accent); background:var(--surface); border-color:var(--border); }
html[data-palette] .login-submit:not([data-state=success]):not([data-state=error]) .login-submit-surface { background:var(--palette-primary); }
.workspace-tools .palette-select { width:115px; }
.app-glass .status-opened { color:#415f86; background:#e8eef8; }
html[data-bs-theme=dark] .app-glass .status-opened { color:#c5dcff; background:#314665; }
@media(max-width:1150px) { .app-glass .topbar { height:auto; min-height:68px; flex-wrap:wrap; gap:12px; padding-top:12px; padding-bottom:12px; } }
@media(max-width:767px) { .workspace-tools { flex-wrap:wrap; } .workspace-tools .command-trigger { flex-basis:100%; } .workspace-tools .theme-select { flex:1; min-width:130px; } }
@media print { html[data-palette] .app-glass { background:white; --palette-accent:#17324d; --palette-soft:white; } }
