/* 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-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; }
html.pm-theme-measuring *,html.pm-theme-measuring *::before,html.pm-theme-measuring *::after { transition:none !important; }

/* 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)}
