/* Duke ERP appearance. Loaded after styles.css.
   Keep business documents faithful to their exported/printed colors. Existing
   views contain inline colors and lazily inserted styles; the compatibility
   rules below affect presentation only and never rewrite the DOM. */

:root {
    --text-primary: var(--text);
    --card: var(--bg-card);
    --card-bg: var(--bg-card);
    --bg-secondary: #F3F4F6;
    --bg-light: var(--bg-secondary);
    --bg-input: var(--bg-card);
    --error: var(--danger);
    --warning-bg: #FEF3C7;
    --theme-focus: #C96820;
}

.erp-theme-control {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}
.erp-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: 50%;
    background-color: var(--bg-card);
    color: var(--text);
    font: inherit;
    cursor: pointer;
}
.erp-theme-toggle:hover { background-color: var(--bg-secondary); }
.erp-theme-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    line-height: 1;
}
.erp-theme-control--login {
    display: flex;
    justify-content: center;
    margin: 18px 0 0;
}
.erp-theme-toggle:focus-visible {
    outline: 3px solid var(--theme-focus);
    outline-offset: 3px;
}
.calendar-completed-mark { display: none; }
@media screen and (max-width: 768px) {
    .erp-theme-toggle {
        width: 40px;
        height: 40px;
    }
}

@media screen {
    html[data-theme="dark"] {
        color-scheme: dark;
        --bg: #121820;
        --bg-card: #1C2430;
        --bg-sidebar: #0E141C;
        --bg-secondary: #253140;
        --bg-input: #17202B;
        --text: #EDF2F7;
        --text-secondary: #B3C0CF;
        --text-light: #A0AFC1;
        --border: #405168;
        --shadow: 0 2px 8px rgba(0, 0, 0, .22);
        --shadow-lg: 0 14px 36px rgba(0, 0, 0, .38);
        --theme-focus: #F5A623;
        --warning-bg: #3D301B;
        --state-warning-text: #FCD58A;
        --state-success-bg: #173A30;
        --state-success-text: #91E2B6;
        --state-danger-bg: #45262C;
        --state-danger-text: #FFB0B9;
        --state-info-bg: #20384F;
        --state-info-text: #AED5FF;
        --state-purple-bg: #352A4B;
        --state-purple-text: #D9BEFF;
        --state-orange-bg: #422D20;
        --state-orange-text: #FFC694;
        /* Calendar completion must not fade the text or expose a light card.
           Variables also restore the correct appearance after dragging and
           avoid compounded fading in adjacent-month calendar cells. */
        --calendar-completed-bg: var(--bg-input);
        --calendar-completed-opacity: 1;
        --calendar-outside-month-opacity: 1;
        --calendar-event-label: var(--text-secondary);
        /* Notes retain their chosen color without a bright pastel surface. */
        --note-default-bg: #1C2430;
        --note-default-border: #718399;
        --note-default-text: #EDF2F7;
        --note-sun-bg: #39321F;
        --note-sun-border: #A58B47;
        --note-sun-text: #F7E5AA;
        --note-blush-bg: #3E292D;
        --note-blush-border: #B27C85;
        --note-blush-text: #FFD4DA;
        --note-sage-bg: #213A30;
        --note-sage-border: #6B9D83;
        --note-sage-text: #C6EDD6;
        --note-sky-bg: #213446;
        --note-sky-border: #7099C0;
        --note-sky-text: #CCE5FF;
        --note-lavender-bg: #342B45;
        --note-lavender-border: #9B85BA;
        --note-lavender-text: #E9D9FF;
        --note-slate-bg: #2B3543;
        --note-slate-border: #8495AC;
        --note-slate-text: #DBE5F2;
    }
    html[data-theme="dark"] .calendar-completed-mark { display: inline; }

    /* Browser-native controls, shell, and dynamic menus. */
    html[data-theme="dark"] :is(
        input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]), textarea, select
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--bg-input) !important;
        color: var(--text) !important;
        border-color: var(--border);
    }

    html[data-theme="dark"] :is(input, textarea)::placeholder { color: var(--text-light); opacity: 1; }
    html[data-theme="dark"] :is(input, select, textarea):focus { border-color: var(--primary); }
    html[data-theme="dark"] :is(button, a, input, select, textarea):focus-visible { outline-color: var(--theme-focus); }
    html[data-theme="dark"] :is(input[type="checkbox"], input[type="radio"], input[type="range"]) { accent-color: var(--primary); }
    html[data-theme="dark"] :is(.bottom-nav, .inv-progress-card, .pp-task:not(.done), .co-tile, .co-search, #addr-autocomplete-dropdown) {
        background-color: var(--bg-card);
        color: var(--text);
        border-color: var(--border);
    }
    html[data-theme="dark"] :is(.co-tile-icon) { background-color: var(--state-orange-bg); border-color: var(--border); }
    html[data-theme="dark"] .co-group-label { color: var(--state-info-text); }
    html[data-theme="dark"] .pp-task.done { background-color: var(--state-success-bg); border-color: #40725A; }
    html[data-theme="dark"] .pp-check { background-color: var(--bg-input); border-color: var(--text-light); }
    html[data-theme="dark"] .pp-task.done .pp-check { background-color: #10B981; border-color: #10B981; color: #10251E; }
    html[data-theme="dark"] :is(.pp-task.done .pp-title, .pp-task.done .pp-desc) { color: var(--text-secondary); }
    html[data-theme="dark"] :is(.pp-meta, .inv-progress-row.done .ipr-status) { color: var(--state-success-text); }
    html[data-theme="dark"] .inv-progress-row.err .ipr-status { color: var(--state-danger-text); }
    html[data-theme="dark"] .btn-primary { color: #211208; }
    html[data-theme="dark"] .btn-secondary:hover { background-color: var(--bg-secondary); }
    html[data-theme="dark"] #duke-ai-panel { background-color: var(--bg-card); color: var(--text); }
    html[data-theme="dark"] .duke-ai-report-table th { background-color: var(--bg-secondary); }
    html[data-theme="dark"] .duke-ai-report-table :is(th, td) { border-color: var(--border); }
    html[data-theme="dark"] .login-card img[src$="/duke-logo-dark.png"] { content: url("/assets/duke-logo-light.png"); }

    /* These particular decorative gradients are UI surfaces, never photos. */
    html[data-theme="dark"] :is(.calendar-datetime-card, .notes-manage-labels-btn) {
        background-image: none;
        background-color: var(--bg-secondary);
        border-color: var(--border);
        color: var(--text);
    }
    html[data-theme="dark"] .notes-page {
        --notes-gray-strong: #CFD8E4;
        --notes-gray-medium: #B3C0CF;
    }
    html[data-theme="dark"] :is(.note-card-title, .note-card-body) { color: var(--text); }
    html[data-theme="dark"] :is(.note-client-chip, .note-lead-suggestion, .note-checklist-add-icon, .note-attachment-card.is-pdf, .note-attachment-pdf-caption) {
        background-color: var(--bg-card);
        border-color: var(--border);
        color: var(--text);
    }
    html[data-theme="dark"] .notes-draft-meta { border-top-color: var(--border); }
    html[data-theme="dark"] :is(.note-card-actions, .note-card-color-menu) { border-top-color: var(--border); }
    html[data-theme="dark"] .note-card-checklist-item span.completed {
        color: var(--text-secondary);
        opacity: 1;
    }
    html[data-theme="dark"] .note-card-linked-lead { opacity: 1; }
    html[data-theme="dark"] :is(.note-card-linked-chip.more, .note-checklist-add-btn, .note-attachment-pdf-open, .note-pill-btn.active) {
        color: var(--state-orange-text);
    }
    html[data-theme="dark"] :is(.note-card-attachment-pdf, .note-attachment-card.is-pdf .note-attachment-pdf-icon) {
        background-color: var(--state-danger-bg);
        color: var(--state-danger-text);
    }
    html[data-theme="dark"] .note-attachment-card.is-pdf .note-attachment-pdf-caption {
        background-color: var(--bg-card);
        border-color: var(--border);
        color: var(--text);
    }
    html[data-theme="dark"] .note-dropzone {
        background-image: none;
        background-color: var(--bg-input);
        border-color: var(--border);
    }
    html[data-theme="dark"] :is(.note-dropzone:hover, .note-dropzone.drag-active) {
        background-color: var(--bg-secondary);
        border-color: var(--primary);
    }

    /* Neutral inline backgrounds from existing dashboards, profiles, invoice
       tables, modals, and upload trays. Match a complete color value, so #fff
       never swallows a semantic #fff3e0. Longhand retains avatar background images.
       RGB variants cover browser serialization after hover/drag handlers. */
    html[data-theme="dark"] :is(
        [style*="background:#fff;" i], [style*="background: #fff;" i], [style$="background:#fff" i], [style$="background: #fff" i],
        [style*="background:#ffffff;" i], [style*="background: #ffffff;" i], [style$="background:#ffffff" i], [style$="background: #ffffff" i],
        [style*="background:white;" i], [style*="background: white;" i], [style$="background:white" i], [style$="background: white" i],
        [style*="background:rgb(255, 255, 255);" i], [style*="background: rgb(255, 255, 255);" i], [style$="background:rgb(255, 255, 255)" i], [style$="background: rgb(255, 255, 255)" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--bg-card) !important;
    }

    html[data-theme="dark"] :is(
        [style*="background:#fafafa;" i], [style*="background: #fafafa;" i], [style$="background:#fafafa" i], [style$="background: #fafafa" i],
        [style*="background:#f9fafb;" i], [style*="background: #f9fafb;" i], [style$="background:#f9fafb" i], [style$="background: #f9fafb" i],
        [style*="background:#f9f9f9;" i], [style*="background: #f9f9f9;" i], [style$="background:#f9f9f9" i], [style$="background: #f9f9f9" i],
        [style*="background:#f8f9fa;" i], [style*="background: #f8f9fa;" i], [style$="background:#f8f9fa" i], [style$="background: #f8f9fa" i],
        [style*="background:#f8fafc;" i], [style*="background: #f8fafc;" i], [style$="background:#f8fafc" i], [style$="background: #f8fafc" i],
        [style*="background:#f8f8f8;" i], [style*="background: #f8f8f8;" i], [style$="background:#f8f8f8" i], [style$="background: #f8f8f8" i],
        [style*="background:#f7f7f7;" i], [style*="background: #f7f7f7;" i], [style$="background:#f7f7f7" i], [style$="background: #f7f7f7" i],
        [style*="background:#f5f5f5;" i], [style*="background: #f5f5f5;" i], [style$="background:#f5f5f5" i], [style$="background: #f5f5f5" i],
        [style*="background:#f4f4f4;" i], [style*="background: #f4f4f4;" i], [style$="background:#f4f4f4" i], [style$="background: #f4f4f4" i],
        [style*="background:#f3f4f6;" i], [style*="background: #f3f4f6;" i], [style$="background:#f3f4f6" i], [style$="background: #f3f4f6" i],
        [style*="background:#f1f5f9;" i], [style*="background: #f1f5f9;" i], [style$="background:#f1f5f9" i], [style$="background: #f1f5f9" i],
        [style*="background:#f0f0f0;" i], [style*="background: #f0f0f0;" i], [style$="background:#f0f0f0" i], [style$="background: #f0f0f0" i],
        [style*="background:#eee;" i], [style*="background: #eee;" i], [style$="background:#eee" i], [style$="background: #eee" i],
        [style*="background:#eeeeee;" i], [style*="background: #eeeeee;" i], [style$="background:#eeeeee" i], [style$="background: #eeeeee" i],
        [style*="background:#e5e7eb;" i], [style*="background: #e5e7eb;" i], [style$="background:#e5e7eb" i], [style$="background: #e5e7eb" i],
        [style*="background:#ddd;" i], [style*="background: #ddd;" i], [style$="background:#ddd" i], [style$="background: #ddd" i],
        [style*="background:#dddddd;" i], [style*="background: #dddddd;" i], [style$="background:#dddddd" i], [style$="background: #dddddd" i],
        [style*="background:#ccc;" i], [style*="background: #ccc;" i], [style$="background:#ccc" i], [style$="background: #ccc" i],
        [style*="background:#fbfaf8;" i], [style*="background: #fbfaf8;" i], [style$="background:#fbfaf8" i], [style$="background: #fbfaf8" i],
        [style*="background:#f4f1ec;" i], [style*="background: #f4f1ec;" i], [style$="background:#f4f1ec" i], [style$="background: #f4f1ec" i],
        [style*="background:rgb(249, 250, 251);" i], [style*="background: rgb(249, 250, 251);" i], [style$="background:rgb(249, 250, 251)" i], [style$="background: rgb(249, 250, 251)" i],
        [style*="background:rgb(248, 249, 250);" i], [style*="background: rgb(248, 249, 250);" i], [style$="background:rgb(248, 249, 250)" i], [style$="background: rgb(248, 249, 250)" i],
        [style*="background:rgb(243, 244, 246);" i], [style*="background: rgb(243, 244, 246);" i], [style$="background:rgb(243, 244, 246)" i], [style$="background: rgb(243, 244, 246)" i],
        [style*="background:rgb(229, 231, 235);" i], [style*="background: rgb(229, 231, 235);" i], [style$="background:rgb(229, 231, 235)" i], [style$="background: rgb(229, 231, 235)" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--bg-secondary) !important;
    }

    html[data-theme="dark"] :is(
        [style*="background-color:#fff;" i], [style*="background-color: #fff;" i], [style*="background-color: rgb(255, 255, 255);" i], [style*="background:#e5e7eb url(" i], [style*="background:#f1f5f9 url(" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--bg-card) !important;
    }


    /* Text selectors require a declaration boundary: they cannot accidentally
       match border-color or background-color. White text on colored actions
       retains its existing style. */
    html[data-theme="dark"] :is(
        [style^="color:#000;" i], [style="color:#000" i], [style*=";color:#000;" i], [style$=";color:#000" i], [style*="; color:#000;" i], [style$="; color:#000" i], [style^="color: #000;" i], [style="color: #000" i], [style*=";color: #000;" i], [style$=";color: #000" i], [style*="; color: #000;" i], [style$="; color: #000" i],
        [style^="color:#000000;" i], [style="color:#000000" i], [style*=";color:#000000;" i], [style$=";color:#000000" i], [style*="; color:#000000;" i], [style$="; color:#000000" i], [style^="color: #000000;" i], [style="color: #000000" i], [style*=";color: #000000;" i], [style$=";color: #000000" i], [style*="; color: #000000;" i], [style$="; color: #000000" i],
        [style^="color:black;" i], [style="color:black" i], [style*=";color:black;" i], [style$=";color:black" i], [style*="; color:black;" i], [style$="; color:black" i], [style^="color: black;" i], [style="color: black" i], [style*=";color: black;" i], [style$=";color: black" i], [style*="; color: black;" i], [style$="; color: black" i],
        [style^="color:#111;" i], [style="color:#111" i], [style*=";color:#111;" i], [style$=";color:#111" i], [style*="; color:#111;" i], [style$="; color:#111" i], [style^="color: #111;" i], [style="color: #111" i], [style*=";color: #111;" i], [style$=";color: #111" i], [style*="; color: #111;" i], [style$="; color: #111" i],
        [style^="color:#111111;" i], [style="color:#111111" i], [style*=";color:#111111;" i], [style$=";color:#111111" i], [style*="; color:#111111;" i], [style$="; color:#111111" i], [style^="color: #111111;" i], [style="color: #111111" i], [style*=";color: #111111;" i], [style$=";color: #111111" i], [style*="; color: #111111;" i], [style$="; color: #111111" i],
        [style^="color:#111827;" i], [style="color:#111827" i], [style*=";color:#111827;" i], [style$=";color:#111827" i], [style*="; color:#111827;" i], [style$="; color:#111827" i], [style^="color: #111827;" i], [style="color: #111827" i], [style*=";color: #111827;" i], [style$=";color: #111827" i], [style*="; color: #111827;" i], [style$="; color: #111827" i],
        [style^="color:#1a1a1a;" i], [style="color:#1a1a1a" i], [style*=";color:#1a1a1a;" i], [style$=";color:#1a1a1a" i], [style*="; color:#1a1a1a;" i], [style$="; color:#1a1a1a" i], [style^="color: #1a1a1a;" i], [style="color: #1a1a1a" i], [style*=";color: #1a1a1a;" i], [style$=";color: #1a1a1a" i], [style*="; color: #1a1a1a;" i], [style$="; color: #1a1a1a" i],
        [style^="color:#1e293b;" i], [style="color:#1e293b" i], [style*=";color:#1e293b;" i], [style$=";color:#1e293b" i], [style*="; color:#1e293b;" i], [style$="; color:#1e293b" i], [style^="color: #1e293b;" i], [style="color: #1e293b" i], [style*=";color: #1e293b;" i], [style$=";color: #1e293b" i], [style*="; color: #1e293b;" i], [style$="; color: #1e293b" i],
        [style^="color:#0f172a;" i], [style="color:#0f172a" i], [style*=";color:#0f172a;" i], [style$=";color:#0f172a" i], [style*="; color:#0f172a;" i], [style$="; color:#0f172a" i], [style^="color: #0f172a;" i], [style="color: #0f172a" i], [style*=";color: #0f172a;" i], [style$=";color: #0f172a" i], [style*="; color: #0f172a;" i], [style$="; color: #0f172a" i],
        [style^="color:#222;" i], [style="color:#222" i], [style*=";color:#222;" i], [style$=";color:#222" i], [style*="; color:#222;" i], [style$="; color:#222" i], [style^="color: #222;" i], [style="color: #222" i], [style*=";color: #222;" i], [style$=";color: #222" i], [style*="; color: #222;" i], [style$="; color: #222" i],
        [style^="color:#222222;" i], [style="color:#222222" i], [style*=";color:#222222;" i], [style$=";color:#222222" i], [style*="; color:#222222;" i], [style$="; color:#222222" i], [style^="color: #222222;" i], [style="color: #222222" i], [style*=";color: #222222;" i], [style$=";color: #222222" i], [style*="; color: #222222;" i], [style$="; color: #222222" i],
        [style^="color:#333;" i], [style="color:#333" i], [style*=";color:#333;" i], [style$=";color:#333" i], [style*="; color:#333;" i], [style$="; color:#333" i], [style^="color: #333;" i], [style="color: #333" i], [style*=";color: #333;" i], [style$=";color: #333" i], [style*="; color: #333;" i], [style$="; color: #333" i],
        [style^="color:#333333;" i], [style="color:#333333" i], [style*=";color:#333333;" i], [style$=";color:#333333" i], [style*="; color:#333333;" i], [style$="; color:#333333" i], [style^="color: #333333;" i], [style="color: #333333" i], [style*=";color: #333333;" i], [style$=";color: #333333" i], [style*="; color: #333333;" i], [style$="; color: #333333" i],
        [style^="color:#374151;" i], [style="color:#374151" i], [style*=";color:#374151;" i], [style$=";color:#374151" i], [style*="; color:#374151;" i], [style$="; color:#374151" i], [style^="color: #374151;" i], [style="color: #374151" i], [style*=";color: #374151;" i], [style$=";color: #374151" i], [style*="; color: #374151;" i], [style$="; color: #374151" i],
        [style^="color:#334155;" i], [style="color:#334155" i], [style*=";color:#334155;" i], [style$=";color:#334155" i], [style*="; color:#334155;" i], [style$="; color:#334155" i], [style^="color: #334155;" i], [style="color: #334155" i], [style*=";color: #334155;" i], [style$=";color: #334155" i], [style*="; color: #334155;" i], [style$="; color: #334155" i],
        [style^="color:#444;" i], [style="color:#444" i], [style*=";color:#444;" i], [style$=";color:#444" i], [style*="; color:#444;" i], [style$="; color:#444" i], [style^="color: #444;" i], [style="color: #444" i], [style*=";color: #444;" i], [style$=";color: #444" i], [style*="; color: #444;" i], [style$="; color: #444" i],
        [style^="color:#444444;" i], [style="color:#444444" i], [style*=";color:#444444;" i], [style$=";color:#444444" i], [style*="; color:#444444;" i], [style$="; color:#444444" i], [style^="color: #444444;" i], [style="color: #444444" i], [style*=";color: #444444;" i], [style$=";color: #444444" i], [style*="; color: #444444;" i], [style$="; color: #444444" i],
        [style^="color:#1f2937;" i], [style="color:#1f2937" i], [style*=";color:#1f2937;" i], [style$=";color:#1f2937" i], [style*="; color:#1f2937;" i], [style$="; color:#1f2937" i], [style^="color: #1f2937;" i], [style="color: #1f2937" i], [style*=";color: #1f2937;" i], [style$=";color: #1f2937" i], [style*="; color: #1f2937;" i], [style$="; color: #1f2937" i],
        [style^="color:#1f2d55;" i], [style="color:#1f2d55" i], [style*=";color:#1f2d55;" i], [style$=";color:#1f2d55" i], [style*="; color:#1f2d55;" i], [style$="; color:#1f2d55" i], [style^="color: #1f2d55;" i], [style="color: #1f2d55" i], [style*=";color: #1f2d55;" i], [style$=";color: #1f2d55" i], [style*="; color: #1f2d55;" i], [style$="; color: #1f2d55" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--text) !important;
    }

    html[data-theme="dark"] :is(
        [style^="color:#4b5563;" i], [style="color:#4b5563" i], [style*=";color:#4b5563;" i], [style$=";color:#4b5563" i], [style*="; color:#4b5563;" i], [style$="; color:#4b5563" i], [style^="color: #4b5563;" i], [style="color: #4b5563" i], [style*=";color: #4b5563;" i], [style$=";color: #4b5563" i], [style*="; color: #4b5563;" i], [style$="; color: #4b5563" i],
        [style^="color:#475569;" i], [style="color:#475569" i], [style*=";color:#475569;" i], [style$=";color:#475569" i], [style*="; color:#475569;" i], [style$="; color:#475569" i], [style^="color: #475569;" i], [style="color: #475569" i], [style*=";color: #475569;" i], [style$=";color: #475569" i], [style*="; color: #475569;" i], [style$="; color: #475569" i],
        [style^="color:#555;" i], [style="color:#555" i], [style*=";color:#555;" i], [style$=";color:#555" i], [style*="; color:#555;" i], [style$="; color:#555" i], [style^="color: #555;" i], [style="color: #555" i], [style*=";color: #555;" i], [style$=";color: #555" i], [style*="; color: #555;" i], [style$="; color: #555" i],
        [style^="color:#555555;" i], [style="color:#555555" i], [style*=";color:#555555;" i], [style$=";color:#555555" i], [style*="; color:#555555;" i], [style$="; color:#555555" i], [style^="color: #555555;" i], [style="color: #555555" i], [style*=";color: #555555;" i], [style$=";color: #555555" i], [style*="; color: #555555;" i], [style$="; color: #555555" i],
        [style^="color:#666;" i], [style="color:#666" i], [style*=";color:#666;" i], [style$=";color:#666" i], [style*="; color:#666;" i], [style$="; color:#666" i], [style^="color: #666;" i], [style="color: #666" i], [style*=";color: #666;" i], [style$=";color: #666" i], [style*="; color: #666;" i], [style$="; color: #666" i],
        [style^="color:#666666;" i], [style="color:#666666" i], [style*=";color:#666666;" i], [style$=";color:#666666" i], [style*="; color:#666666;" i], [style$="; color:#666666" i], [style^="color: #666666;" i], [style="color: #666666" i], [style*=";color: #666666;" i], [style$=";color: #666666" i], [style*="; color: #666666;" i], [style$="; color: #666666" i],
        [style^="color:#64748b;" i], [style="color:#64748b" i], [style*=";color:#64748b;" i], [style$=";color:#64748b" i], [style*="; color:#64748b;" i], [style$="; color:#64748b" i], [style^="color: #64748b;" i], [style="color: #64748b" i], [style*=";color: #64748b;" i], [style$=";color: #64748b" i], [style*="; color: #64748b;" i], [style$="; color: #64748b" i],
        [style^="color:#6b7280;" i], [style="color:#6b7280" i], [style*=";color:#6b7280;" i], [style$=";color:#6b7280" i], [style*="; color:#6b7280;" i], [style$="; color:#6b7280" i], [style^="color: #6b7280;" i], [style="color: #6b7280" i], [style*=";color: #6b7280;" i], [style$=";color: #6b7280" i], [style*="; color: #6b7280;" i], [style$="; color: #6b7280" i],
        [style^="color:#777;" i], [style="color:#777" i], [style*=";color:#777;" i], [style$=";color:#777" i], [style*="; color:#777;" i], [style$="; color:#777" i], [style^="color: #777;" i], [style="color: #777" i], [style*=";color: #777;" i], [style$=";color: #777" i], [style*="; color: #777;" i], [style$="; color: #777" i],
        [style^="color:#777777;" i], [style="color:#777777" i], [style*=";color:#777777;" i], [style$=";color:#777777" i], [style*="; color:#777777;" i], [style$="; color:#777777" i], [style^="color: #777777;" i], [style="color: #777777" i], [style*=";color: #777777;" i], [style$=";color: #777777" i], [style*="; color: #777777;" i], [style$="; color: #777777" i],
        [style^="color:#888;" i], [style="color:#888" i], [style*=";color:#888;" i], [style$=";color:#888" i], [style*="; color:#888;" i], [style$="; color:#888" i], [style^="color: #888;" i], [style="color: #888" i], [style*=";color: #888;" i], [style$=";color: #888" i], [style*="; color: #888;" i], [style$="; color: #888" i],
        [style^="color:#888888;" i], [style="color:#888888" i], [style*=";color:#888888;" i], [style$=";color:#888888" i], [style*="; color:#888888;" i], [style$="; color:#888888" i], [style^="color: #888888;" i], [style="color: #888888" i], [style*=";color: #888888;" i], [style$=";color: #888888" i], [style*="; color: #888888;" i], [style$="; color: #888888" i],
        [style^="color:#999;" i], [style="color:#999" i], [style*=";color:#999;" i], [style$=";color:#999" i], [style*="; color:#999;" i], [style$="; color:#999" i], [style^="color: #999;" i], [style="color: #999" i], [style*=";color: #999;" i], [style$=";color: #999" i], [style*="; color: #999;" i], [style$="; color: #999" i],
        [style^="color:#999999;" i], [style="color:#999999" i], [style*=";color:#999999;" i], [style$=";color:#999999" i], [style*="; color:#999999;" i], [style$="; color:#999999" i], [style^="color: #999999;" i], [style="color: #999999" i], [style*=";color: #999999;" i], [style$=";color: #999999" i], [style*="; color: #999999;" i], [style$="; color: #999999" i],
        [style^="color:#9ca3af;" i], [style="color:#9ca3af" i], [style*=";color:#9ca3af;" i], [style$=";color:#9ca3af" i], [style*="; color:#9ca3af;" i], [style$="; color:#9ca3af" i], [style^="color: #9ca3af;" i], [style="color: #9ca3af" i], [style*=";color: #9ca3af;" i], [style$=";color: #9ca3af" i], [style*="; color: #9ca3af;" i], [style$="; color: #9ca3af" i],
        [style^="color:#94a3b8;" i], [style="color:#94a3b8" i], [style*=";color:#94a3b8;" i], [style$=";color:#94a3b8" i], [style*="; color:#94a3b8;" i], [style$="; color:#94a3b8" i], [style^="color: #94a3b8;" i], [style="color: #94a3b8" i], [style*=";color: #94a3b8;" i], [style$=";color: #94a3b8" i], [style*="; color: #94a3b8;" i], [style$="; color: #94a3b8" i],
        [style^="color:#aaa;" i], [style="color:#aaa" i], [style*=";color:#aaa;" i], [style$=";color:#aaa" i], [style*="; color:#aaa;" i], [style$="; color:#aaa" i], [style^="color: #aaa;" i], [style="color: #aaa" i], [style*=";color: #aaa;" i], [style$=";color: #aaa" i], [style*="; color: #aaa;" i], [style$="; color: #aaa" i],
        [style^="color:#aaaaaa;" i], [style="color:#aaaaaa" i], [style*=";color:#aaaaaa;" i], [style$=";color:#aaaaaa" i], [style*="; color:#aaaaaa;" i], [style$="; color:#aaaaaa" i], [style^="color: #aaaaaa;" i], [style="color: #aaaaaa" i], [style*=";color: #aaaaaa;" i], [style$=";color: #aaaaaa" i], [style*="; color: #aaaaaa;" i], [style$="; color: #aaaaaa" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--text-secondary) !important;
    }


    /* Preserve status meaning with paired dark tints and readable foregrounds. */
    html[data-theme="dark"] :is(
        .badge-yellow,
        [style*="background:#fef3c7;" i], [style*="background: #fef3c7;" i], [style$="background:#fef3c7" i], [style$="background: #fef3c7" i],
        [style*="background:#fef3cd;" i], [style*="background: #fef3cd;" i], [style$="background:#fef3cd" i], [style$="background: #fef3cd" i],
        [style*="background:#fff8e1;" i], [style*="background: #fff8e1;" i], [style$="background:#fff8e1" i], [style$="background: #fff8e1" i],
        [style*="background:#fffbeb;" i], [style*="background: #fffbeb;" i], [style$="background:#fffbeb" i], [style$="background: #fffbeb" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--warning-bg) !important;
        color: var(--state-warning-text) !important;
    }
    html[data-theme="dark"] :is(
        [style^="color:#92400e;" i], [style="color:#92400e" i], [style*=";color:#92400e;" i], [style$=";color:#92400e" i], [style*="; color:#92400e;" i], [style$="; color:#92400e" i], [style^="color: #92400e;" i], [style="color: #92400e" i], [style*=";color: #92400e;" i], [style$=";color: #92400e" i], [style*="; color: #92400e;" i], [style$="; color: #92400e" i],
        [style^="color:#b45309;" i], [style="color:#b45309" i], [style*=";color:#b45309;" i], [style$=";color:#b45309" i], [style*="; color:#b45309;" i], [style$="; color:#b45309" i], [style^="color: #b45309;" i], [style="color: #b45309" i], [style*=";color: #b45309;" i], [style$=";color: #b45309" i], [style*="; color: #b45309;" i], [style$="; color: #b45309" i],
        [style^="color:#a16207;" i], [style="color:#a16207" i], [style*=";color:#a16207;" i], [style$=";color:#a16207" i], [style*="; color:#a16207;" i], [style$="; color:#a16207" i], [style^="color: #a16207;" i], [style="color: #a16207" i], [style*=";color: #a16207;" i], [style$=";color: #a16207" i], [style*="; color: #a16207;" i], [style$="; color: #a16207" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--state-warning-text) !important;
    }
    html[data-theme="dark"] :is(
        .badge-green,
        [style*="background:#dcfce7;" i], [style*="background: #dcfce7;" i], [style$="background:#dcfce7" i], [style$="background: #dcfce7" i],
        [style*="background:#f0fdf4;" i], [style*="background: #f0fdf4;" i], [style$="background:#f0fdf4" i], [style$="background: #f0fdf4" i],
        [style*="background:#e8f5e9;" i], [style*="background: #e8f5e9;" i], [style$="background:#e8f5e9" i], [style$="background: #e8f5e9" i],
        [style*="background:#eafaf1;" i], [style*="background: #eafaf1;" i], [style$="background:#eafaf1" i], [style$="background: #eafaf1" i],
        [style*="background:#d1fae5;" i], [style*="background: #d1fae5;" i], [style$="background:#d1fae5" i], [style$="background: #d1fae5" i],
        [style*="background:#bbf7d0;" i], [style*="background: #bbf7d0;" i], [style$="background:#bbf7d0" i], [style$="background: #bbf7d0" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--state-success-bg) !important;
        color: var(--state-success-text) !important;
    }
    html[data-theme="dark"] :is(
        [style^="color:#166534;" i], [style="color:#166534" i], [style*=";color:#166534;" i], [style$=";color:#166534" i], [style*="; color:#166534;" i], [style$="; color:#166534" i], [style^="color: #166534;" i], [style="color: #166534" i], [style*=";color: #166534;" i], [style$=";color: #166534" i], [style*="; color: #166534;" i], [style$="; color: #166534" i],
        [style^="color:#065f46;" i], [style="color:#065f46" i], [style*=";color:#065f46;" i], [style$=";color:#065f46" i], [style*="; color:#065f46;" i], [style$="; color:#065f46" i], [style^="color: #065f46;" i], [style="color: #065f46" i], [style*=";color: #065f46;" i], [style$=";color: #065f46" i], [style*="; color: #065f46;" i], [style$="; color: #065f46" i],
        [style^="color:#047857;" i], [style="color:#047857" i], [style*=";color:#047857;" i], [style$=";color:#047857" i], [style*="; color:#047857;" i], [style$="; color:#047857" i], [style^="color: #047857;" i], [style="color: #047857" i], [style*=";color: #047857;" i], [style$=";color: #047857" i], [style*="; color: #047857;" i], [style$="; color: #047857" i],
        [style^="color:#15803d;" i], [style="color:#15803d" i], [style*=";color:#15803d;" i], [style$=";color:#15803d" i], [style*="; color:#15803d;" i], [style$="; color:#15803d" i], [style^="color: #15803d;" i], [style="color: #15803d" i], [style*=";color: #15803d;" i], [style$=";color: #15803d" i], [style*="; color: #15803d;" i], [style$="; color: #15803d" i],
        [style^="color:#059669;" i], [style="color:#059669" i], [style*=";color:#059669;" i], [style$=";color:#059669" i], [style*="; color:#059669;" i], [style$="; color:#059669" i], [style^="color: #059669;" i], [style="color: #059669" i], [style*=";color: #059669;" i], [style$=";color: #059669" i], [style*="; color: #059669;" i], [style$="; color: #059669" i],
        [style^="color:#2e7d32;" i], [style="color:#2e7d32" i], [style*=";color:#2e7d32;" i], [style$=";color:#2e7d32" i], [style*="; color:#2e7d32;" i], [style$="; color:#2e7d32" i], [style^="color: #2e7d32;" i], [style="color: #2e7d32" i], [style*=";color: #2e7d32;" i], [style$=";color: #2e7d32" i], [style*="; color: #2e7d32;" i], [style$="; color: #2e7d32" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--state-success-text) !important;
    }
    html[data-theme="dark"] :is(
        .badge-red,
        [style*="background:#fee2e2;" i], [style*="background: #fee2e2;" i], [style$="background:#fee2e2" i], [style$="background: #fee2e2" i],
        [style*="background:#fef2f2;" i], [style*="background: #fef2f2;" i], [style$="background:#fef2f2" i], [style$="background: #fef2f2" i],
        [style*="background:#fff1f2;" i], [style*="background: #fff1f2;" i], [style$="background:#fff1f2" i], [style$="background: #fff1f2" i],
        [style*="background:#ffebee;" i], [style*="background: #ffebee;" i], [style$="background:#ffebee" i], [style$="background: #ffebee" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--state-danger-bg) !important;
        color: var(--state-danger-text) !important;
    }
    html[data-theme="dark"] :is(
        [style^="color:#991b1b;" i], [style="color:#991b1b" i], [style*=";color:#991b1b;" i], [style$=";color:#991b1b" i], [style*="; color:#991b1b;" i], [style$="; color:#991b1b" i], [style^="color: #991b1b;" i], [style="color: #991b1b" i], [style*=";color: #991b1b;" i], [style$=";color: #991b1b" i], [style*="; color: #991b1b;" i], [style$="; color: #991b1b" i],
        [style^="color:#b91c1c;" i], [style="color:#b91c1c" i], [style*=";color:#b91c1c;" i], [style$=";color:#b91c1c" i], [style*="; color:#b91c1c;" i], [style$="; color:#b91c1c" i], [style^="color: #b91c1c;" i], [style="color: #b91c1c" i], [style*=";color: #b91c1c;" i], [style$=";color: #b91c1c" i], [style*="; color: #b91c1c;" i], [style$="; color: #b91c1c" i],
        [style^="color:#7f1d1d;" i], [style="color:#7f1d1d" i], [style*=";color:#7f1d1d;" i], [style$=";color:#7f1d1d" i], [style*="; color:#7f1d1d;" i], [style$="; color:#7f1d1d" i], [style^="color: #7f1d1d;" i], [style="color: #7f1d1d" i], [style*=";color: #7f1d1d;" i], [style$=";color: #7f1d1d" i], [style*="; color: #7f1d1d;" i], [style$="; color: #7f1d1d" i],
        [style^="color:#dc2626;" i], [style="color:#dc2626" i], [style*=";color:#dc2626;" i], [style$=";color:#dc2626" i], [style*="; color:#dc2626;" i], [style$="; color:#dc2626" i], [style^="color: #dc2626;" i], [style="color: #dc2626" i], [style*=";color: #dc2626;" i], [style$=";color: #dc2626" i], [style*="; color: #dc2626;" i], [style$="; color: #dc2626" i],
        [style^="color:#c00;" i], [style="color:#c00" i], [style*=";color:#c00;" i], [style$=";color:#c00" i], [style*="; color:#c00;" i], [style$="; color:#c00" i], [style^="color: #c00;" i], [style="color: #c00" i], [style*=";color: #c00;" i], [style$=";color: #c00" i], [style*="; color: #c00;" i], [style$="; color: #c00" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--state-danger-text) !important;
    }
    html[data-theme="dark"] :is(
        .badge-blue,
        [style*="background:#dbeafe;" i], [style*="background: #dbeafe;" i], [style$="background:#dbeafe" i], [style$="background: #dbeafe" i],
        [style*="background:#eff6ff;" i], [style*="background: #eff6ff;" i], [style$="background:#eff6ff" i], [style$="background: #eff6ff" i],
        [style*="background:#f0f9ff;" i], [style*="background: #f0f9ff;" i], [style$="background:#f0f9ff" i], [style$="background: #f0f9ff" i],
        [style*="background:#edf1fb;" i], [style*="background: #edf1fb;" i], [style$="background:#edf1fb" i], [style$="background: #edf1fb" i],
        [style*="background:#e8f4fd;" i], [style*="background: #e8f4fd;" i], [style$="background:#e8f4fd" i], [style$="background: #e8f4fd" i],
        [style*="background:#e8f0fe;" i], [style*="background: #e8f0fe;" i], [style$="background:#e8f0fe" i], [style$="background: #e8f0fe" i], [style*="background:rgb(232, 244, 253);" i], [style*="background: rgb(232, 244, 253);" i], [style$="background:rgb(232, 244, 253)" i], [style$="background: rgb(232, 244, 253)" i], [style*="background:rgb(232, 240, 254);" i], [style*="background: rgb(232, 240, 254);" i], [style$="background:rgb(232, 240, 254)" i], [style$="background: rgb(232, 240, 254)" i], [style*="background:rgb(248, 250, 255);" i], [style*="background: rgb(248, 250, 255);" i], [style$="background:rgb(248, 250, 255)" i], [style$="background: rgb(248, 250, 255)" i],
        [style*="background:#f8faff;" i], [style*="background: #f8faff;" i], [style$="background:#f8faff" i], [style$="background: #f8faff" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--state-info-bg) !important;
        color: var(--state-info-text) !important;
    }
    html[data-theme="dark"] :is(
        [style^="color:#1e40af;" i], [style="color:#1e40af" i], [style*=";color:#1e40af;" i], [style$=";color:#1e40af" i], [style*="; color:#1e40af;" i], [style$="; color:#1e40af" i], [style^="color: #1e40af;" i], [style="color: #1e40af" i], [style*=";color: #1e40af;" i], [style$=";color: #1e40af" i], [style*="; color: #1e40af;" i], [style$="; color: #1e40af" i],
        [style^="color:#1d4ed8;" i], [style="color:#1d4ed8" i], [style*=";color:#1d4ed8;" i], [style$=";color:#1d4ed8" i], [style*="; color:#1d4ed8;" i], [style$="; color:#1d4ed8" i], [style^="color: #1d4ed8;" i], [style="color: #1d4ed8" i], [style*=";color: #1d4ed8;" i], [style$=";color: #1d4ed8" i], [style*="; color: #1d4ed8;" i], [style$="; color: #1d4ed8" i],
        [style^="color:#2563eb;" i], [style="color:#2563eb" i], [style*=";color:#2563eb;" i], [style$=";color:#2563eb" i], [style*="; color:#2563eb;" i], [style$="; color:#2563eb" i], [style^="color: #2563eb;" i], [style="color: #2563eb" i], [style*=";color: #2563eb;" i], [style$=";color: #2563eb" i], [style*="; color: #2563eb;" i], [style$="; color: #2563eb" i],
        [style^="color:#1a56db;" i], [style="color:#1a56db" i], [style*=";color:#1a56db;" i], [style$=";color:#1a56db" i], [style*="; color:#1a56db;" i], [style$="; color:#1a56db" i], [style^="color: #1a56db;" i], [style="color: #1a56db" i], [style*=";color: #1a56db;" i], [style$=";color: #1a56db" i], [style*="; color: #1a56db;" i], [style$="; color: #1a56db" i],
        [style^="color:#1976d2;" i], [style="color:#1976d2" i], [style*=";color:#1976d2;" i], [style$=";color:#1976d2" i], [style*="; color:#1976d2;" i], [style$="; color:#1976d2" i], [style^="color: #1976d2;" i], [style="color: #1976d2" i], [style*=";color: #1976d2;" i], [style$=";color: #1976d2" i], [style*="; color: #1976d2;" i], [style$="; color: #1976d2" i],
        [style^="color:#3b4e86;" i], [style="color:#3b4e86" i], [style*=";color:#3b4e86;" i], [style$=";color:#3b4e86" i], [style*="; color:#3b4e86;" i], [style$="; color:#3b4e86" i], [style^="color: #3b4e86;" i], [style="color: #3b4e86" i], [style*=";color: #3b4e86;" i], [style$=";color: #3b4e86" i], [style*="; color: #3b4e86;" i], [style$="; color: #3b4e86" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--state-info-text) !important;
    }
    html[data-theme="dark"] :is(
        .badge-orange,
        [style*="background:#fdf0e6;" i], [style*="background: #fdf0e6;" i], [style$="background:#fdf0e6" i], [style$="background: #fdf0e6" i],
        [style*="background:#fff3e0;" i], [style*="background: #fff3e0;" i], [style$="background:#fff3e0" i], [style$="background: #fff3e0" i],
        [style*="background:#fff7ed;" i], [style*="background: #fff7ed;" i], [style$="background:#fff7ed" i], [style$="background: #fff7ed" i],
        [style*="background:#fff8f0;" i], [style*="background: #fff8f0;" i], [style$="background:#fff8f0" i], [style$="background: #fff8f0" i],
        [style*="background:#fed7aa;" i], [style*="background: #fed7aa;" i], [style$="background:#fed7aa" i], [style$="background: #fed7aa" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--state-orange-bg) !important;
        color: var(--state-orange-text) !important;
    }
    html[data-theme="dark"] :is(
        [style^="color:#c05f17;" i], [style="color:#c05f17" i], [style*=";color:#c05f17;" i], [style$=";color:#c05f17" i], [style*="; color:#c05f17;" i], [style$="; color:#c05f17" i], [style^="color: #c05f17;" i], [style="color: #c05f17" i], [style*=";color: #c05f17;" i], [style$=";color: #c05f17" i], [style*="; color: #c05f17;" i], [style$="; color: #c05f17" i],
        [style^="color:#9a3412;" i], [style="color:#9a3412" i], [style*=";color:#9a3412;" i], [style$=";color:#9a3412" i], [style*="; color:#9a3412;" i], [style$="; color:#9a3412" i], [style^="color: #9a3412;" i], [style="color: #9a3412" i], [style*=";color: #9a3412;" i], [style$=";color: #9a3412" i], [style*="; color: #9a3412;" i], [style$="; color: #9a3412" i],
        [style^="color:#c2410c;" i], [style="color:#c2410c" i], [style*=";color:#c2410c;" i], [style$=";color:#c2410c" i], [style*="; color:#c2410c;" i], [style$="; color:#c2410c" i], [style^="color: #c2410c;" i], [style="color: #c2410c" i], [style*=";color: #c2410c;" i], [style$=";color: #c2410c" i], [style*="; color: #c2410c;" i], [style$="; color: #c2410c" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--state-orange-text) !important;
    }
    html[data-theme="dark"] :is(
        .badge-purple,
        [style*="background:#ede9fe;" i], [style*="background: #ede9fe;" i], [style$="background:#ede9fe" i], [style$="background: #ede9fe" i],
        [style*="background:#f3e8ff;" i], [style*="background: #f3e8ff;" i], [style$="background:#f3e8ff" i], [style$="background: #f3e8ff" i],
        [style*="background:#f5f3ff;" i], [style*="background: #f5f3ff;" i], [style$="background:#f5f3ff" i], [style$="background: #f5f3ff" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--state-purple-bg) !important;
        color: var(--state-purple-text) !important;
    }
    html[data-theme="dark"] :is(
        [style^="color:#6d28d9;" i], [style="color:#6d28d9" i], [style*=";color:#6d28d9;" i], [style$=";color:#6d28d9" i], [style*="; color:#6d28d9;" i], [style$="; color:#6d28d9" i], [style^="color: #6d28d9;" i], [style="color: #6d28d9" i], [style*=";color: #6d28d9;" i], [style$=";color: #6d28d9" i], [style*="; color: #6d28d9;" i], [style$="; color: #6d28d9" i],
        [style^="color:#5b21b6;" i], [style="color:#5b21b6" i], [style*=";color:#5b21b6;" i], [style$=";color:#5b21b6" i], [style*="; color:#5b21b6;" i], [style$="; color:#5b21b6" i], [style^="color: #5b21b6;" i], [style="color: #5b21b6" i], [style*=";color: #5b21b6;" i], [style$=";color: #5b21b6" i], [style*="; color: #5b21b6;" i], [style$="; color: #5b21b6" i],
        [style^="color:#7c3aed;" i], [style="color:#7c3aed" i], [style*=";color:#7c3aed;" i], [style$=";color:#7c3aed" i], [style*="; color:#7c3aed;" i], [style$="; color:#7c3aed" i], [style^="color: #7c3aed;" i], [style="color: #7c3aed" i], [style*=";color: #7c3aed;" i], [style$=";color: #7c3aed" i], [style*="; color: #7c3aed;" i], [style$="; color: #7c3aed" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        color: var(--state-purple-text) !important;
    }

    html[data-theme="dark"] :is(
        [style*="1px solid #e5e7eb" i], [style*="1px solid #d1d5db" i], [style*="1px solid #ddd" i], [style*="1px solid #eee" i], [style*="1px solid #ccc" i], [style*="1px solid #e2e8f0" i]
    ):not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        border-color: var(--border) !important;
    }


    /* PDF/email/customer paper is an explicit light island. Tokenized controls
       or tables embedded in it must also use the light palette. No image filters,
       descendant color blanket, or canvas drawing changes are applied. */
    html[data-theme="dark"] :is(#proposal-printable, #proposal-price-page, #proposal-financing-page, #proposal-tc-page, .proposal-extra-page, [data-proposal-extra-page], #email-preview-overlay, #print-preview-overlay, [data-erp-paper]) {
        color-scheme: light;
        --card: #FFFFFF;
        --card-bg: #FFFFFF;
        --text-primary: #1A1A1A;
        --bg-light: #F3F4F6;
        --bg: #FAFAFA;
        --bg-card: #FFFFFF;
        --bg-secondary: #F3F4F6;
        --bg-input: #FFFFFF;
        --text: #1A1A1A;
        --text-secondary: #6B7280;
        --text-light: #9CA3AF;
        --border: #E5E7EB;
        --warning-bg: #FEF3C7;
    }
    html[data-theme="dark"] :is(#proposal-printable, #proposal-price-page, #proposal-financing-page, #proposal-tc-page, .proposal-extra-page, [data-proposal-extra-page], [data-erp-paper]) {
        background-color: #FFFFFF !important;
        color: #1A1A1A;
    }
    html[data-theme="dark"] #counter-sig-pad { color-scheme: light; background-color: #FFFFFF !important; }
}

@media screen and (max-width: 768px) {
    html[data-theme="dark"] table:not(.no-mobile-cards) tr:not(:where(
        #proposal-printable,
        #proposal-printable *,
        #proposal-price-page,
        #proposal-price-page *,
        #proposal-financing-page,
        #proposal-financing-page *,
        #proposal-tc-page,
        #proposal-tc-page *,
        .proposal-extra-page,
        .proposal-extra-page *,
        [data-proposal-extra-page],
        [data-proposal-extra-page] *,
        #email-preview-overlay,
        #email-preview-overlay *,
        #print-preview-overlay,
        #print-preview-overlay *,
        [data-erp-paper],
        [data-erp-paper] *,
        canvas,
        img,
        svg,
        svg *,
        iframe,
        embed,
        object
    )) {
        background-color: var(--bg-card);
        border-color: var(--border);
    }
    html[data-theme="dark"] .bottom-nav__item:active { background-color: var(--bg-secondary); }
}

/* styles.css contains an older unscoped dark palette; explicitly reset it for
   printing, including the inline color-scheme applied by the theme controller. */
@media print {
    :root {
        color-scheme: light !important;
        --bg: #FFFFFF;
        --bg-card: #FFFFFF;
        --bg-secondary: #F3F4F6;
        --bg-input: #FFFFFF;
        --text: #1A1A1A;
        --text-secondary: #6B7280;
        --text-light: #9CA3AF;
        --border: #E5E7EB;
        --warning-bg: #FEF3C7;
    }
    body { background: #FFFFFF !important; color: #1A1A1A; }
    .erp-theme-control { display: none !important; }
}
