/* Appearance tokens shared by pages, forms and overlays. */
html[data-pm-theme="dark"],html[data-pm-theme="dark"] .layout-container {
    --pm-app-bg:#171b23; --pm-app-surface:#212733; --pm-app-surface-muted:#2a3241;
    --pm-app-input-bg:#2a3241; --pm-app-surface-selected:#293b54; --pm-app-text:#e4e9f2; --pm-app-text-muted:#a7b3c5;
    --pm-app-border:#3b4658; --pm-app-border-strong:#596c87;
    --pm-app-primary:#2c4e7f; --pm-app-primary-hover:#375f98;
    --pm-app-accent:#8eb6f3; --pm-app-accent-hover:#b8d2fb; --pm-app-accent-soft:#293e5b;
    --pm-app-danger:#eea5a3; --pm-app-danger-soft:#432a2b;
    --pm-app-warning:#e6bd7e; --pm-app-warning-soft:#443a26;
    --pm-app-shadow:0 8px 24px #0002; --pm-hover-shadow:0 12px 28px #0003;
    --pm-workspace-bg:var(--pm-app-bg); --workspace-bg:var(--pm-app-bg);
    background:var(--pm-app-bg); color:var(--pm-app-text);
}
html[data-pm-theme="dark"] :is(body,#app) { background:var(--pm-app-bg); color:var(--pm-app-text); }
html[data-pm-theme="dark"] .pm-dark-surface { background-color:var(--pm-dark-fill,#242c39) !important; }
html[data-pm-theme="dark"] .pm-dark-text { color:var(--pm-dark-ink,#e4e9f2) !important; }
html[data-pm-theme="dark"] .pm-dark-border { border-color:var(--pm-app-border) !important; }
html[data-pm-theme="dark"] .pm-dark-gradient { background-image:none !important; }
/* Theme adaptation never suspends transitions or forces a document layout. */

/* Header belongs to the workspace rather than a separate card. */
html[data-pm-theme="dark"] .layout-container .glass-topbar {
    background:var(--pm-app-bg) !important; color:var(--pm-app-text); box-shadow:none !important;
}
html[data-pm-theme="dark"] :is(.topbar-page-title,.topbar-page-detail) { color:var(--pm-app-text) !important; }
html[data-pm-theme="dark"] .glass-topbar :is(.icon-btn,.mobile-burger) { color:#b8cae6 !important; }

/* One rounded surface per sheet. Interior layout wrappers stay transparent. */
html[data-pm-theme="dark"] :is(.sheet-panel,.modal-panel,.modal-content,.dialog-panel,.checkout-review,.staff-editor,.user-dropdown,.search-panel) {
    background:var(--pm-app-surface) !important; color:var(--pm-app-text); border-color:var(--pm-app-border) !important;
}
html[data-pm-theme="dark"] .sheet-panel :is(.sheet-handle-bar,.sheet-header,.sheet-content,.sheet-footer,.sheet-actions,.actions-footer,.customer-sheet-actions,.mapper-sheet-footer,.delete-sheet-actions,.sheet-hero,.customer-sheet-intro) {
    background:transparent !important; border-color:var(--pm-app-border) !important; box-shadow:none !important;
}
html[data-pm-theme="dark"] .sheet-panel .sheet-content > :is(div,section,form),
html[data-pm-theme="dark"] .sheet-panel .sheet-content > form > :is(.pm-form,.sheet-wrapper),
html[data-pm-theme="dark"] .sheet-panel .sheet-content :is(.filter-sheet,.worker-sheet-wrapper,.partia-sheet-wrapper,.edit-sheet-content,.config-wrapper,.mapper-sheet,.action-sheet) {
    background:transparent !important; box-shadow:none !important;
}
html[data-pm-theme="dark"] .sheet-panel .sheet-handle { background:var(--pm-app-border-strong) !important; }
html[data-pm-theme="dark"] :is(.sheet-panel,.modal-panel,.modal-content,.dialog-panel) :is(.sheet-title,h2,h3) { color:var(--pm-app-text); }

/* Text fields; preserve native checkbox/radio/color/file controls and print artwork. */
html[data-pm-theme="dark"] :where(.layout-container,.auth-container,.sheet-panel) :is(input,select,textarea):where(:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]):not([type=hidden])) {
    color-scheme:dark; background-color:#2a3342 !important; color:#e4eaf4 !important; border-color:#455875 !important;
}
html[data-pm-theme="dark"] :is(input,textarea)::placeholder { color:#92a7c3 !important; }
html[data-pm-theme="dark"] .layout-container :is(.search-input,.global-search-input,.picker-search input,.search-box input) {
    background:transparent !important; border-color:transparent !important; box-shadow:none !important;
}
html[data-pm-theme="dark"] .pm-form .date-input-wrapper input { background:transparent !important; border:0 !important; }
html[data-pm-theme="dark"] input:is([type=checkbox],[type=radio]) { accent-color:var(--pm-app-accent); }

/* Every interactive state uses the same palette, including legacy form buttons. */
html[data-pm-theme="dark"] [data-pm-control-tone] {
    --pm-control-ink:var(--pm-app-text); --pm-control-hover:#303c50;
    color:var(--pm-control-ink) !important;
}
html[data-pm-theme="dark"] [data-pm-control-tone="primary"] {
    --pm-control-ink:#fff; --pm-control-hover:var(--pm-app-primary-hover);
    background-color:var(--pm-app-primary) !important; border-color:var(--pm-app-primary) !important; background-image:none !important;
}
html[data-pm-theme="dark"] [data-pm-control-tone="danger"] {
    --pm-control-ink:var(--pm-app-danger); --pm-control-hover:#57343d;
    background-color:var(--pm-app-danger-soft) !important; border-color:#79505b !important; background-image:none !important;
}
html[data-pm-theme="dark"] [data-pm-control-tone="selected"] {
    --pm-control-ink:#c6dcff; --pm-control-hover:#354f73;
    background-color:var(--pm-app-surface-selected) !important; border-color:var(--pm-app-border-strong) !important; background-image:none !important;
}
html[data-pm-theme="dark"] [data-pm-control-tone] :is(.pm-dark-text,.material-symbols-rounded,.material-icons) { color:inherit !important; }
html[data-pm-theme="dark"] [data-pm-control-tone]:is(:hover,:active,:focus-visible):not(:disabled):not([aria-disabled="true"]) {
    background-color:var(--pm-control-hover) !important; color:var(--pm-control-ink) !important; border-color:var(--pm-app-border-strong) !important; background-image:none !important;
}
html[data-pm-theme="dark"] [data-pm-control-tone]:focus-visible { outline:2px solid var(--pm-app-accent) !important; outline-offset:3px; }
html[data-pm-theme="dark"] [data-pm-control-tone]:disabled { cursor:not-allowed; }
html[data-pm-theme="dark"] :is(.global-search-item,.search-result-item,.search-result,.table-row,.product-picker-row,.integration-card):hover {
    background-color:#303c50 !important; color:var(--pm-app-text) !important;
}
html[data-pm-theme="dark"] .pm-readonly-action { opacity:.58 !important; }
html[data-pm-theme="dark"] .picker-add-file,html[data-pm-theme="dark"] .picker-add-file>span { color:#fff !important; }

/* The light promotional illustration is intentionally absent in dark appearance. */
html[data-pm-theme="dark"] .automation-empty-visual { display:none !important; }
html[data-pm-theme="dark"] .automation-empty-banner { background:var(--pm-app-surface) !important; grid-template-columns:1fr; min-height:0; padding:32px; }
html[data-pm-theme="dark"] .automation-empty-banner::before,html[data-pm-theme="dark"] .automation-empty-banner::after { display:none !important; }

html[data-pm-theme="dark"] .weather-content { background:linear-gradient(90deg,#192334e8,#293d5b80); color:#eef5e8; }
html[data-pm-theme="dark"] .weather-credit { color:#c5d2e6; }
html[data-pm-theme="dark"] .weather-hours { background:#22334bce; }
html[data-pm-theme="dark"] .weather-address-hint { background:#273951ea; color:#dbe6f5; }
html[data-pm-theme="dark"] :is(.material-symbols-rounded,.material-icons) { color:inherit; }
html[data-pm-theme="dark"] .home-stat-chart rect { fill:#65758e !important; }
html[data-pm-theme="dark"] .home-stat-chart rect:last-child { fill:#8eb6f3 !important; }
html[data-pm-theme="dark"] .home-stat-chart rect:is(:hover,:focus) { fill:#c1d7f8 !important; }
html[data-pm-theme="dark"] .home-stat-card { border-right-color:var(--pm-app-border) !important; }
html[data-pm-theme="dark"] .quick-action-bottom { border-top-color:#415775 !important; }
html[data-pm-theme="dark"] .nav-item.active::before { background:var(--pm-app-accent) !important; }
@media print {
    html[data-pm-theme="dark"] { color-scheme:light; }
    html[data-pm-theme="dark"] .pm-dark-text { color:initial !important; }
    html[data-pm-theme="dark"] .pm-dark-surface { background-color:initial !important; }
}

/* Basket groups use one quiet border; colored dots remain material identifiers. */
html[data-pm-theme="dark"] .baskets-page { --baskets-border:var(--pm-app-border); --baskets-purple:var(--pm-app-accent); --baskets-purple-strong:var(--pm-app-accent); --baskets-purple-soft:var(--pm-app-accent-soft); }
html[data-pm-theme="dark"] :is(.cart-section-card,.unassigned-section-card,.basket-tile,.add-basket-tile,.empty-basket-state,.generated-code-card,.code-print-panel,.code-print-option) {
    border-color:var(--pm-app-border) !important; background-color:var(--pm-app-surface) !important; background-image:none !important; box-shadow:none !important;
}
html[data-pm-theme="dark"] :is(.basket-tile,.add-basket-tile,.generated-code-card,.code-print-option):is(:hover,:focus-visible) { border-color:var(--pm-app-border-strong) !important; background-color:#303c50 !important; box-shadow:none !important; }
html[data-pm-theme="dark"] .basket-tile.is-selected { border-color:var(--pm-app-accent) !important; background-color:var(--pm-app-surface-selected) !important; }
html[data-pm-theme="dark"] .basket-color-dot { box-shadow:0 0 0 2px var(--pm-app-surface),0 0 0 3px var(--pm-app-border) !important; }
html[data-pm-theme="dark"] .global-search-panel { background:var(--pm-app-surface) !important; border-color:var(--pm-app-border) !important; box-shadow:0 24px 64px #0005 !important; }
html[data-pm-theme="dark"] #globalSearchInput { background:transparent !important; border:0 !important; box-shadow:none !important; }
html[data-pm-theme="dark"] :is(.omnibar-result,.omnibar-batch):is(:hover,:focus-visible) { background:#303c50 !important; color:var(--pm-app-text) !important; border-color:var(--pm-app-border-strong) !important; }
html[data-pm-theme="dark"] :is(.omnibar-result,.omnibar-batch):is(:hover,:focus-visible) :is(strong,small,.material-symbols-rounded) { color:inherit !important; }

html[data-pm-theme="dark"] .home-stat-tooltip{--stat-tip-bg:#34465f;background:var(--stat-tip-bg)!important}html[data-pm-theme="dark"] .home-stat-tooltip::after{background:var(--stat-tip-bg)!important}
/* Legacy gradient titles must stay readable after surface colors are adapted. */
html[data-pm-theme=dark] .legal-container .main-title{background:none!important;-webkit-text-fill-color:var(--pm-app-text);color:var(--pm-app-text)}

/* Deterministic states for shared controls, including legacy hover-only colors. */
html[data-pm-theme="dark"] [data-pm-control-tone="secondary"],
html[data-pm-theme="dark"] [data-pm-control-tone="card"] {
    background-color:var(--pm-app-surface) !important; background-image:none !important; border-color:var(--pm-app-border) !important;
}
html[data-pm-theme="dark"] [data-pm-control-tone="plain"] { background-color:transparent !important; }
html[data-pm-theme="dark"] :is(.mailbox-row:hover,.nav-item:hover,.shop-link:hover) {
    background:var(--pm-app-surface-muted) !important; color:var(--pm-app-text) !important;
}
html[data-pm-theme="dark"] :is(.company-mode-card,.print-template-choices>button) {
    background:var(--pm-app-surface) !important; color:var(--pm-app-text) !important; border-color:var(--pm-app-border) !important;
}
html[data-pm-theme="dark"] :is(.company-mode-card,.print-template-choices>button):is(:hover,:focus-visible) {
    background:var(--pm-app-surface-muted) !important; border-color:var(--pm-app-accent) !important;
}
html[data-pm-theme="dark"] :is(.company-mode-card,.print-template-choices>button):is(.selected,.active,[aria-selected="true"]) {
    background:var(--pm-app-surface-selected) !important; border-color:var(--pm-app-accent) !important;
}
/* Search fields own their surface; the inner input always remains transparent. */
html[data-pm-theme="dark"] :is(.layout-container,.sheet-panel,.documents-drawer) :is(.pm-search-field,.product-search-field,.invoice-search,.mailbox-search,.customer-search,.pm-cloud-search,.picker-search,.integration-search,.toolbar-search-control,.search-box,.pm-search,.documents-search,.document-search,.drawer-search) {
    background:var(--pm-app-surface-muted) !important; border-color:var(--pm-app-border) !important;
}
html[data-pm-theme="dark"] :is(.layout-container,.sheet-panel,.documents-drawer) :is(.pm-search-field,.product-search-field,.invoice-search,.mailbox-search,.customer-search,.pm-cloud-search,.picker-search,.integration-search,.toolbar-search-control,.search-box,.pm-search,.documents-search,.document-search,.drawer-search) input {
    background:transparent !important; border:0 !important; box-shadow:none !important; outline:0;
}
html[data-pm-theme="dark"] .config-wrapper .btn-action.secondary {
    background:var(--pm-app-surface-muted) !important; color:var(--pm-app-text) !important; border:1px solid var(--pm-app-border) !important;
}
html[data-pm-theme="dark"] .config-wrapper .btn-action.secondary:hover { background:#354259 !important; }
html[data-pm-theme="dark"] .config-wrapper .btn-action.pm-delete-button {
    background:var(--pm-app-danger-soft) !important; color:var(--pm-app-danger) !important; border-color:transparent !important;
}
html[data-pm-theme="dark"] .config-wrapper .btn-action.pm-delete-button:hover { background:#57343d !important; }
/* Logos are brand artwork, with their intentional white backing in both appearances. */
.integration-logo-shell,.paused-logo { background:#fff !important; border-color:#e2e8f0 !important; }
html[data-pm-theme="dark"] .pm-orbit-logo { filter:brightness(0) invert(.78) !important; opacity:1; }
html[data-pm-theme="dark"] .integrations-page :is(.catalog-footer button,.paused-row button) {
    background:var(--pm-app-primary) !important; color:#f3f7ff !important; border-color:#5276a7 !important; background-image:none !important;
}
html[data-pm-theme="dark"] .integrations-page :is(.catalog-footer button,.paused-row button):hover:not(:disabled) {
    background:var(--pm-app-primary-hover) !important; color:#fff !important;
}

/* Shared shells own the field surface, including the Designer library. */
html[data-pm-theme=dark] :is(.designer-search,.search-wrapper,.input-wrapper):has(>input){background:var(--pm-app-input-bg)!important;border-color:var(--pm-app-border)!important}
html[data-pm-theme=dark] :is(.designer-search,.search-wrapper,.input-wrapper)>input{background:transparent!important;box-shadow:none!important;border:0!important}
html[data-pm-theme=dark] .glass-sidebar .sub-link:not(.active):not(:hover):not(:focus-visible){background:transparent!important}
html[data-pm-theme=dark] .designer-template{background:var(--pm-app-surface)!important}
html[data-pm-theme=dark] .designer-template-open:hover{background:transparent!important}

html[data-pm-theme=dark] .list-item{background:var(--pm-app-surface)!important;border-color:var(--pm-app-border)!important}
html[data-pm-theme=dark] .list-item:hover{background:var(--pm-app-surface-muted)!important}
html[data-pm-theme=dark] .list-item.selected{background:var(--pm-app-surface-selected)!important;border-color:var(--pm-app-accent)!important}
/* Common controls have a dark first paint before any legacy adaptation runs. */
html[data-pm-theme=dark] :is(.action-btn.secondary,.btn-secondary){background:var(--pm-app-surface)!important;color:var(--pm-app-text)!important;border-color:var(--pm-app-border)!important}
html[data-pm-theme=dark] :is(.action-btn.secondary,.btn-secondary):hover{background:var(--pm-app-surface-muted)!important}
html[data-pm-theme=dark] :is(.action-btn.primary,.btn-primary){background:var(--pm-app-primary)!important;color:#fff!important;border-color:var(--pm-app-primary)!important}
html[data-pm-theme=dark] :is(.action-btn.primary,.btn-primary):hover{background:var(--pm-app-primary-hover)!important}

html[data-pm-theme=dark] .details-page-wrapper .products-table tbody tr:hover>td{background-color:transparent!important}

html[data-pm-theme="dark"] :is(.connect-legal-reader,.connect-legal-acceptance){--pm-legal-link:var(--pm-app-accent,#8eb6f3)}
