/* The shared palette is inherited by every module, dialog and embedded page. */
:root {
    color-scheme: light;
    --home-bg:#f2f3f0; --home-surface:#fff; --home-sidebar:#f7f8f5;
    --home-text:#232a27; --home-muted:#66736b; --home-border:#e3e7e2;
    --home-soft:#f5f7f4; --home-accent:#3e7656; --home-action:#3e7656;
    --home-on-action:#fff;
    --workspace-sky:#2f6d84; --workspace-teal:#2a7770; --workspace-green:#327850;
    --workspace-violet:#756396; --workspace-amber:#8d631e; --workspace-rose:#b04457;
    --workspace-emerald:var(--workspace-green);
}
html.dark {
    color-scheme: dark;
    --home-bg:#121212; --home-surface:#1b1b1b; --home-sidebar:#171717;
    --home-text:#eeeeee; --home-muted:#b0b0b0; --home-border:#383838;
    --home-soft:#262626; --home-accent:#91c7a3;
    --workspace-sky:#8ac9ef; --workspace-teal:#8cd5ca; --workspace-green:#94d3a7;
    --workspace-violet:#c5b4ed; --workspace-amber:#eac77e; --workspace-rose:#efa3b1;
}
:root {
    --bs-body-bg:var(--home-bg); --bs-body-color:var(--home-text);
    --bs-border-color:var(--home-border); --bs-secondary-color:var(--home-muted);
    --bs-tertiary-bg:var(--home-soft); --bs-emphasis-color:var(--home-text);
}
@media screen {
    html.dark body { background:var(--home-bg); color:var(--home-text); }
    html.dark body:is(.workspace-ui,.standalone-ui) { scrollbar-color:#666 var(--home-bg); }
    /* Older utility pages and overlays mounted outside the module container. */
    html.dark :is(.bg-white,.bg-gray-50,.bg-gray-100,.bg-slate-50,.bg-slate-100,.bg-light,
        .card,.card-header,.card-footer,.panel,.form-panel,.workspace-card,.modal-content,.modal-header,.modal-footer,.dropdown-menu,
        .list-group-item,.popover,.offcanvas,.swal2-popup) {
        background-color:var(--home-surface)!important; color:var(--home-text); border-color:var(--home-border);
    }
    html.dark :is(.text-dark,.text-black,.text-gray-900,.text-gray-800,.text-slate-900,.text-slate-800) { color:var(--home-text)!important; }
    html.dark :is(.text-muted,.text-secondary,.text-gray-500,.text-gray-600,.text-slate-500,.text-slate-600) { color:var(--home-muted)!important; }
    html.dark :is(.border-gray-200,.border-gray-300,.border-slate-200,.border-slate-300) { border-color:var(--home-border)!important; }
    html.dark :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]),select,textarea) {
        background-color:var(--home-soft); color:var(--home-text); border-color:var(--home-border);
    }
    html.dark ::placeholder { color:var(--home-muted); opacity:1; }
    html.dark :is(select,option,optgroup) { color-scheme:dark; }
    html.dark :is(.table,table) {
        --bs-table-bg:var(--home-surface); --bs-table-color:var(--home-text);
        --bs-table-border-color:var(--home-border); --bs-table-striped-bg:var(--home-soft);
        --bs-table-striped-color:var(--home-text); --bs-table-hover-bg:var(--home-soft); --bs-table-hover-color:var(--home-text);
    }
    html.dark :is(.bid-drawer,.bid-notes-header,.bid-notes-composer,.bid-note-bubble,.bid-mention-menu,
        .fig-gallery,.fig-controls button,.fig-dialog button,.fig-preview>span,.so-assignee) {
        background:var(--home-surface)!important; color:var(--home-text)!important; border-color:var(--home-border)!important;
    }
    html.dark :is(.bid-notes-messages,.bid-assignment-drawer,.fig-preview,.fig-thumbs button,.so-progress-rail a .so-stage-icon) {
        background:var(--home-soft)!important; color:var(--home-muted); border-color:var(--home-border)!important;
    }
    html.dark :is(.bid-note-bubble.is-own,.so-progress-rail a.completed) {
        background:color-mix(in srgb,var(--workspace-green) 10%,var(--home-surface))!important; color:var(--home-text)!important;
    }
    html.dark :is(.cv-primary,.ops-primary,.sv-primary,.btn.primary,.ng-toolbar-primary,.lr-dash-primary,.btn-vault) { background:var(--home-action)!important; border-color:var(--home-action)!important; color:var(--home-on-action)!important; }
    html.dark :is(.bg-red-50,.bg-rose-50,.bg-green-50,.bg-emerald-50,.bg-amber-50,.bg-yellow-50,.bg-blue-50,.bg-sky-50,
        .alert-success,.alert-danger,.alert-warning,.alert-info) { background-color:var(--home-soft)!important; border-color:var(--home-border)!important; }
    html.dark :is(.bg-red-50,.bg-rose-50,.alert-danger) { color:var(--workspace-rose)!important; }
    html.dark :is(.bg-green-50,.bg-emerald-50,.alert-success) { color:var(--workspace-green)!important; }
    html.dark :is(.bg-amber-50,.bg-yellow-50,.alert-warning) { color:var(--workspace-amber)!important; }
    html.dark :is(.bg-blue-50,.bg-sky-50,.alert-info) { color:var(--workspace-sky)!important; }
    html.dark .so-progress-rail a.declined { background:var(--home-soft); color:var(--workspace-amber); border-color:var(--home-border)!important; }
    /* Native standalone dashboards still follow the chosen appearance. */
    html.dark .standalone-ui :is(.helpdesk-dashboard,.helpdesk-card,.helpdesk-panel) { background:var(--home-surface); color:var(--home-text); border-color:var(--home-border); }
    html.dark body.standalone-ui { background:var(--home-bg); color:var(--home-text); }
    html.dark .statistics-workspace { --ink:var(--home-text); --muted:var(--home-muted); }
    html.dark .statistics-workspace :is(.metric-card,.chart-panel,.chart-placeholder,.dashboard-empty) { background:var(--home-surface); color:var(--home-text); border-color:var(--home-border); }
    html.dark .statistics-workspace :is(.status-pill,.period-tag,.chart-heading select) { background:var(--home-soft); color:var(--home-muted); border-color:var(--home-border); }
    html.dark .statistics-workspace :is(.dashboard-date,.metric-value,.chart-heading h2) { color:var(--home-text); }
    /* Authentication, account recovery and verification share the saved choice. */
    html.dark body.modern-login {
        --text:var(--home-text); --muted:var(--home-muted); --input-border:var(--home-border);
        --danger:var(--workspace-rose); --warning:var(--workspace-amber); --accent:var(--home-accent);
        background:var(--home-bg); color:var(--home-text);
    }
    html.dark .modern-login :is(.auth-shell,.card,.input,.input:focus,.btn-secondary,.btn-secondary:hover,.geo-action,.geo-action:hover,.toggle-password:hover) {
        background:var(--home-surface)!important; color:var(--home-text); border-color:var(--home-border);
    }
    html.dark .modern-login :is(h1,h2,h3,label,.brand-name,.brand-subtitle,.subtitle) { color:var(--home-text); }
    html.dark .modern-login :is(.status-alert,.info-alert,.warning-alert,.error-alert) { background:var(--home-soft); border-color:var(--home-border); color:var(--home-text); }
    html.dark .modern-login .btn:not(.btn-secondary) { background:var(--home-action); color:#fff; }
    html.dark .modern-login :is(.workspace-panel__card,.workspace-panel .security-sticky-note,.workspace-panel__spark) { background:var(--home-soft)!important; color:var(--home-text)!important; border-color:var(--home-border); }
    /* Public app pages must not flash white when opened from a dark workspace. */
    html.dark .public-legal-shell { background:var(--home-bg); color:var(--home-text); }
    html.dark .public-legal-shell :is(.public-legal-panel,.public-legal-head,.legal-document-end,.legal-toc a:hover) { background:var(--home-surface); color:var(--home-text); border-color:var(--home-border); }
    html.dark .public-legal-shell :is(h1,h2,h3,p,li,.legal-toc a,.public-legal-brand small) { color:var(--home-text); }
    html.dark .public-legal-shell a { color:var(--home-accent); }
    html.dark .lr-dashboard :is(.lr-dash-empty>span,.lr-dash-create-icon,.lr-dash-retention,.lr-dash-host-avatar,.lr-dash-room-open:hover) { background:var(--home-soft); color:var(--home-text); border-color:var(--home-border); }
    html.dark .lr-dashboard .lr-dash-retention p { color:var(--home-muted); }
    html.dark :is(.call-social-toolbar,.call-reaction-picker,.call-participant-tile,.call-invite-panel,.call-reaction-feed>div) { background:var(--home-surface); color:var(--home-text); border-color:var(--home-border); }
    html.dark :is(.sp-shell,.sp-folder-icon,.sp-folder-icon:before) { background:var(--home-bg); }
    html.dark :is(.sp-modal,.sp-preview-image,.sp-preview-canvas,.sp-text-preview,.sp-pdf-pages) { background:var(--home-surface); color:var(--home-text); }
    html.dark .ticket-flow-page :is(.stage,.chart-shell,.chart-wrap,.device-alert,.ticket-alert) { background:var(--home-surface); color:var(--home-text); border-color:var(--home-border); }
    html.dark .ticket-flow-page :is(h1,h2,h3,p) { color:var(--home-text); }
    html.dark .ticket-flow-page svg text { fill:var(--home-text); }
}
@media print {
    :root,html.dark { color-scheme:light; --home-bg:#fff; --home-surface:#fff; --home-soft:#f5f5f5; --home-text:#111; --home-muted:#555; --home-border:#ccc; --home-accent:#326346; }
}
