/* Portal palette. Map existing tokens so custom components keep their markup. */
:root,
:root[data-theme="light"] {
  color-scheme: light;
  --app-bg:#F3F1ED; --app-surface:#FFF; --app-surface-soft:#F5F3EE; --app-surface-raised:#FFF;
  --app-text:#2B2A26; --app-muted:#716D63; --app-border:#E7E2D8;
  --app-accent:#92672E; --app-accent-soft:#F2E7D3; --app-focus:#B9822E; --on-accent:#FFF;
  --app-success:#256D43; --app-success-soft:#E6F4EC;
  --app-info:#285C93; --app-info-soft:#E9F0F9;
  --app-warning:#895B16; --app-warning-soft:#FBF3DF;
  --app-danger:#A43030; --app-danger-soft:#FBEAE7;
  --surface-0:var(--app-bg); --surface-1:var(--app-surface-soft); --surface-2:var(--app-surface);
  --text-primary:var(--app-text); --text-secondary:#625F56; --text-muted:var(--app-muted);
  --border:var(--app-border); --border-strong:#CFC8BB;
  --accent:var(--app-accent); --accent-fill:var(--app-accent); --accent-fill-h:#7E5725;
  --bg-accent:var(--app-accent-soft); --text-accent:#80591F; --border-accent:#C5A66D;
  --success:var(--app-success); --success-fill:var(--app-success); --on-success:#FFF; --success-bg:var(--app-success-soft);
  --warning-bg:var(--app-warning-soft); --warning-text:var(--app-warning); --warning-border:#BA822A;
  --danger-bg:var(--app-danger-soft); --danger-text:var(--app-danger); --danger-fill:#A43030; --on-danger:#FFF;
  --shadow-sm:0 1px 2px rgb(43 42 38 / 3%); --shadow-md:0 8px 28px rgb(43 42 38 / 12%);
  --sidebar-bg:#FFF; --sidebar-text:#414B40; --sidebar-muted:#747E6D; --sidebar-border:#E4E8DC;
  --sidebar-active:#F2E7D3; --sidebar-active-text:#825E2B;
}
@media screen {
  :root[data-theme="dark"] {
    color-scheme:dark;
    --app-bg:#191F1D; --app-surface:#242C28; --app-surface-soft:#2D3631; --app-surface-raised:#353F39;
    --app-text:#E7EAE4; --app-muted:#B7C0B3; --app-border:#455047;
    --app-accent:#E1C28D; --app-accent-soft:#3D3528; --app-focus:#E1C28D; --on-accent:#342D20;
    --app-success:#9BDBB2; --app-success-soft:#223A2C;
    --app-info:#A5C9F2; --app-info-soft:#233446;
    --app-warning:#EED09A; --app-warning-soft:#443722;
    --app-danger:#F2AAA4; --app-danger-soft:#472A2C;
    --text-secondary:#C3CBC0; --border-strong:#657164;
    --accent-fill-h:#EDD5AE; --text-accent:#E1C28D; --border-accent:#9B855F;
    --success-fill:#9BDBB2; --on-success:#163723;
    --warning-border:#B68B48; --danger-fill:#B74743;
    --shadow-sm:0 1px 2px rgb(0 0 0 / 8%); --shadow-md:0 8px 28px rgb(0 0 0 / 28%);
    --sidebar-bg:#252D2B; --sidebar-text:#E5E9E2; --sidebar-muted:#A3AFA0; --sidebar-border:#3D4840;
    --sidebar-active:#DEC28D; --sidebar-active-text:#342D20;
  }
}
/* Existing primary buttons use white text; a pale dark-theme accent needs dark text. */
html[data-theme] .btn:not(.btn-ghost):not(.btn-ok),
html[data-theme] .btn:not(.btn-ghost):not(.btn-ok):hover,
html[data-theme] :is(.pu-ava,.lang-opt.on .lang-code,.count-pill,.badge,.docchat-fab,.dc-input button) {
  color:var(--on-accent);
}
html[data-theme] .pnav-badge {background:#F5B83D;color:#3B2A06;}
html[data-theme] .pnav.on .pnav-badge {background:#F2A900;}
html[data-theme] .pnav-badge.red {background:var(--danger-fill);color:var(--on-danger);}
html[data-theme] .pnav-badge.warn {background:var(--warning-bg);color:var(--warning-text);}
html[data-theme] .dtab-badge {background:var(--warning-bg);color:var(--warning-text);}
html[data-theme] .card {box-shadow:none;}
html[data-theme] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:2px solid var(--app-focus);outline-offset:3px;
}
html[data-theme] .auth-theme {position:fixed;right:20px;top:20px;width:44px;height:44px;z-index:5;}
[data-theme="light"] .theme-light-icon,[data-theme="dark"] .theme-dark-icon {display:none;}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
@media print {
  :root[data-theme] {color-scheme:light;--text-primary:#2B2A26;--text-secondary:#625F56;--text-muted:#716D63;--surface-0:#FFF;--surface-1:#F5F3EE;--surface-2:#FFF;--border:#E7E2D8;--accent-fill:#92672E;--text-accent:#80591F;--bg-accent:#F2E7D3;--on-accent:#FFF;}
}
