/* Central presentation layer. Business states, product images and print output keep their meaning. */
.erp-theme-choice{display:grid;gap:6px;padding:8px 14px 14px;color:var(--erp-ink,#261e35)}
.erp-theme-choice label{font-size:12px;font-weight:650;margin:0}
.erp-theme-choice select{width:100%;min-height:40px;border:1px solid var(--erp-border,#e2dde9);border-radius:7px;background:var(--erp-surface,#fff);color:inherit;padding:6px 9px;font-size:14px}
.erp-theme-choice small{font-size:11px;color:var(--erp-muted,#746b80)}
.erp-theme-choice button{justify-self:start;background:none;color:inherit;border:0;text-decoration:underline;font-size:12px;padding:5px 0;min-height:32px;cursor:pointer}
.erp-theme-choice button[hidden]{display:none}
@media(pointer:coarse){.erp-theme-choice select,.erp-theme-choice button{min-height:44px;font-size:16px}}
@media print{.erp-theme-choice{display:none!important}:root{color-scheme:light}}

@media screen {
  :root[data-erp-theme=light]{color-scheme:light}
  :root[data-erp-theme=dark]{
    color-scheme:dark;
    --erp-bg:#17131f;--erp-surface:#231d2e;--erp-raised:#2d2539;--erp-input:#211a2c;
    --erp-ink:#f0eaf7;--erp-muted:#b8aec5;--erp-border:#4a3d59;
    --erp-hover:#382d48;--erp-selected:#48243c;--erp-link:#d2b6ff;
    --erp-success:#a1e8bf;--erp-success-bg:#173b2c;--erp-success-border:#357c57;
    --erp-danger:#ffb0bc;--erp-danger-bg:#48232f;--erp-danger-border:#b94b66;
    --erp-warning:#f4d28d;--erp-warning-bg:#3c3020;--erp-warning-border:#856936;
    --erp-info:#b6d9ff;--erp-info-bg:#223346;--erp-info-border:#466b91;
    --bs-body-color:var(--erp-ink);--bs-body-bg:var(--erp-bg);--bs-border-color:var(--erp-border);
    --promo-ink:var(--erp-ink);--promo-muted:var(--erp-muted);--promo-border:var(--erp-border);
  }
  :root[data-erp-theme=dark] body.erp-admin{background:var(--erp-bg)!important;color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin .purchase-page{--p-ink:var(--erp-ink);--p-muted:var(--erp-muted);--p-border:var(--erp-border);--p-blue:var(--erp-link)}
  :root[data-erp-theme=dark] .erp-admin :is(.rv-page,.uc-picker,.app-drawer,.settings-menu-link,.partner-functions a,.partner-suppliers a,.home-link,.home-metric){color:var(--erp-ink)}
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) a:not(.btn):not(.app-nav-item):not(.erp-header-brand):not(.home-link):not(.home-metric):not(.settings-menu-link):not(.partner-functions a):not(.partner-suppliers a){color:var(--erp-link)}

  /* Shared surfaces: opaque cards/dialogs, including dynamically rendered workflow panels. */
  :root[data-erp-theme=dark] .erp-admin :is(.card,.modal-content,.dropdown-menu,.list-group-item,.accordion-item,.app-drawer,.settings-navigation,.automation-section,.partner-operation,.partner-functions details,.partner-suppliers a,.home-metric,.home-link,.home-system,.promo-filter,.promo-list,.promo-dialog,.rv-upload,.rv-help,.rv-history,.rv-work,.rv-history-item,.rv-modal>section,.mfg-toolbar,.mfg-card,.mfg-actions,.product-card,.order-details-drawer,.mobile-pick-actions,.picking-complete-box,.purchase-metric,.purchase-preview,.purchase-inline-help>div,.purchase-inline-help>summary,.purchase-faq section,.uc-picker){background-color:var(--erp-surface);color:var(--erp-ink);border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.card-header:not([class*=bg-]),.modal-header,.modal-footer,.accordion-button,.input-group-text,.promo-product-options,.rv-tools,.rv-stats span,.rv-notice,.mfg-parameters,.stat-box,.inventory-warehouse,.mobile-card-toolbar,.label-preview-wrap,.storage-mode,.purchase-empty,.purchase-pill,.purchase-supplier-heading,.purchase-list-heading,.purchase-po-line:nth-child(even),.purchase-stock-row:nth-child(odd),.purchase-import-row:nth-child(even),.partner-advanced>summary,.uc-disabled>summary){background-color:var(--erp-raised);color:var(--erp-ink);border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.card-footer,.app-drawer-footer,.app-nav-divider,.promo-list-tools,.promo-pagination,.promo-date button,.promo-calendar,.rv-doc-head,.rv-tools,.rv-table td,.rv-table th,.mfg-order-details,.product-extra-info,.inventory-stock-row,.parameter-custom-row,.automation-body,.partner-functions details[open] summary,.storage-activation,.uc-panel,.uc-row,.uc-badge){border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.bg-light,.bg-white){background-color:var(--erp-raised)!important;color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin :is(.text-dark,.text-body){color:var(--erp-ink)!important}
  :root[data-erp-theme=dark] .erp-admin :is(.text-muted,.text-secondary,.form-text){color:var(--erp-muted)!important}
  :root[data-erp-theme=dark] .erp-admin .border{border-color:var(--erp-border)!important}

  /* Inputs retain native calendars, select arrows and scanner focus handling. */
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=image]),select,textarea){background-color:var(--erp-input)!important;color:var(--erp-ink)!important;border-color:var(--erp-border)}
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) :is(input,textarea)::placeholder{color:var(--erp-muted);opacity:.8}
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) :is(input,select,textarea):disabled{background-color:var(--erp-raised)!important;color:var(--erp-muted)!important}
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) :is(input,select,textarea):focus{outline-color:var(--erp-link);border-color:var(--erp-link)}
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) :is(input[type=checkbox],input[type=radio]){accent-color:var(--brand-primary)}
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) .form-check-input{background-color:var(--erp-input);border-color:var(--erp-muted)}
  :root[data-erp-theme=dark] :is(.erp-admin,.erp-login) .form-check-input:checked{background-color:var(--brand-primary);border-color:var(--brand-primary)}
  :root[data-erp-theme=dark] .erp-admin .form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ded5ed' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
  :root[data-erp-theme=dark] .erp-admin :is(.promo-date button,.promo-calendar){background:var(--erp-input);color:var(--erp-muted)}
  :root[data-erp-theme=dark] .erp-admin .btn-close{filter:invert(1) grayscale(1)}
  :root[data-erp-theme=dark] #mfg-confirm{background:var(--erp-surface);color:var(--erp-ink);border-color:var(--erp-border)}
  :root[data-erp-theme=dark] #duPanel :is(input,select){border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin .dropdown-item{color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin .dropdown-item:hover{background:var(--erp-hover)}
  :root[data-erp-theme=dark] .erp-admin .accordion-button::after{filter:brightness(0) invert(1)}
  :root[data-erp-theme=dark] .erp-admin .ps-hint{color:var(--erp-muted)}
  :root[data-erp-theme=dark] .erp-admin .rv-history-switch{background:var(--erp-raised)}
  :root[data-erp-theme=dark] .erp-admin .rv-history-switch button{color:var(--erp-muted)}
  :root[data-erp-theme=dark] .erp-admin .rv-history-switch button[aria-pressed=true]{background:var(--erp-selected);color:var(--erp-ink);border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin .rv-category-row:nth-child(even){background:var(--erp-raised)}
  :root[data-erp-theme=dark] .erp-admin :is(.rv-base-status,#rv-fx-info){color:var(--erp-muted)}
  :root[data-erp-theme=dark] .erp-admin .rv-list-state.is-closed{background:var(--erp-raised);color:var(--erp-muted)}
  :root[data-erp-theme=dark] .erp-admin .rv-list-state.is-open{background:var(--erp-success-bg);color:var(--erp-success)}
  :root[data-erp-theme=dark] .erp-admin .rv-received{color:var(--erp-success)}
  :root[data-erp-theme=dark] .erp-admin :is(#rv-leave-error,#rv-delete-error,#rv-category-error,#rv-receipt-error,#rv-receipt-resolve-error){color:var(--erp-danger)}
  :root[data-erp-theme=dark] .erp-admin :is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark,.btn-light,.btn-link){color:var(--erp-link);border-color:var(--erp-border);background-color:transparent}
  :root[data-erp-theme=dark] .erp-admin :is(.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark,.btn-light):hover{background-color:var(--erp-hover);color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin .btn-outline-success{color:var(--erp-success);border-color:var(--erp-success-border)}
  :root[data-erp-theme=dark] .erp-admin .btn-outline-danger{color:var(--erp-danger);border-color:var(--erp-danger-border)}
  :root[data-erp-theme=dark] .erp-admin .btn-outline-warning{color:var(--erp-warning);border-color:var(--erp-warning-border)}
  :root[data-erp-theme=dark] .erp-admin .btn-outline-info{color:var(--erp-info);border-color:var(--erp-info-border)}
  :root[data-erp-theme=dark] .erp-admin .btn-primary{background-color:var(--brand-primary);border-color:var(--brand-primary);color:#fff}

  /* Muted labels must not inherit the original dark blue/purple text on dark surfaces. */
  :root[data-erp-theme=dark] .erp-admin :is(.summary-subvalue,.product-sku,.stat-label,.product-extra-info summary,.extra-info-row,.extra-info-row span,.mobile-summary-label,.mobile-swipe-hint,.inventory-extra,.promo-sku,.promo-cost,.promo-price-detail,.promo-base-status,#promo-selected-count,.mfg-heading small,.mfg-order,.mfg-order-details dt,.mfg-parameters dt,.rv-heading p,.rv-kicker,.rv-page small,.rv-doc-head span:not(.rv-kicker),.rv-cost-cell small,.rv-empty,.uc-notice,.uc-clear,.storage-facts dt,.automation-section>summary span,.partner-eyebrow,.purchase-faq p,.purchase-item-details>summary){color:var(--erp-muted)}
  :root[data-erp-theme=dark] .erp-admin :is(.next-shelf-value,.promo-date-changed,.settings-menu-group>summary,.settings-submenu>summary,.settings-menu-heading){color:var(--erp-link)}
  :root[data-erp-theme=dark] .erp-admin #promo-dirty{color:var(--erp-warning)}
  :root[data-erp-theme=dark] .erp-admin .uc-picker .uc-redirect{color:var(--erp-muted);opacity:.65}
  :root[data-erp-theme=dark] .erp-admin .uc-badge{color:var(--erp-muted)}

  /* Dense lists: preserve alternating rows, selected state and status annotations. */
  :root[data-erp-theme=dark] .erp-admin .table{color:var(--erp-ink);--bs-table-bg:transparent;--bs-table-striped-bg:var(--erp-raised);--bs-table-striped-color:var(--erp-ink);--bs-table-hover-bg:var(--erp-hover);--bs-table-hover-color:var(--erp-ink);--bs-table-active-bg:var(--erp-selected);--bs-table-active-color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin table :is(th,td){color:var(--erp-ink);border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin table th{background:var(--erp-raised)!important;color:var(--erp-muted)!important}
  :root[data-erp-theme=dark] .erp-admin :is(.promo-table,.rv-table,.storage-table) tbody tr:nth-child(even){background:var(--erp-raised)}
  :root[data-erp-theme=dark] .erp-admin :is(.promo-table,.rv-table) tbody tr:hover{background:var(--erp-hover)}
  :root[data-erp-theme=dark] .erp-admin :is(.promo-table,.rv-table) tbody tr.is-selected{background:var(--erp-selected)}
  :root[data-erp-theme=dark] .erp-admin :is(.purchase-preview:nth-child(even),.uc-row:nth-child(even)){background:var(--erp-raised)}
  :root[data-erp-theme=dark] .erp-admin :is(.purchase-preview:hover,.purchase-po-line[open],.uc-row[aria-selected=true]){background:var(--erp-hover)}
  :root[data-erp-theme=dark] .erp-admin .ws-report-table .ws-report-shade>tr>*{background-color:var(--erp-raised)}
  :root[data-erp-theme=dark] #duPanel .du-table tbody tr:nth-child(even){background:var(--erp-raised)}
  :root[data-erp-theme=dark] #duPanel .du-table tbody tr:has(input:checked){background:var(--erp-selected)}
  :root[data-erp-theme=dark] #duPanel :is(.du-stats span,.du-transform-step,#duXmlResults pre){background:var(--erp-raised);color:var(--erp-ink);border-color:var(--erp-border)}
  :root[data-erp-theme=dark] #duPanel :is(.du-sub){color:var(--erp-muted)}
  :root[data-erp-theme=dark] #duPanel :is(.du-rules,.du-table-wrap,.du-table th,.du-table td){border-color:var(--erp-border)}
  :root[data-erp-theme=dark] #decorandUploadSchedule tr{background-color:var(--erp-surface);border-color:var(--erp-border)}

  /* Navigation uses a readable lighter purple for text; filled brand areas retain their original colors. */
  :root[data-erp-theme=dark] .erp-admin :is(.app-nav-item,.settings-menu-link,.partner-functions a){color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin :is(.app-nav-item:hover,.settings-menu-link:hover,.settings-submenu>summary:hover,.partner-functions a:hover,.uc-picker button:hover:not(:disabled)){background:var(--erp-hover);color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin :is(.app-nav-item.is-active,.settings-menu-link.active,.rv-history-item.active,.purchase-module-nav a[aria-current=page]){background:var(--erp-selected);color:var(--erp-link);border-color:var(--brand-primary)}
  :root[data-erp-theme=dark] .erp-admin .partner-suppliers a.active{background:var(--brand-secondary);color:var(--brand-on-secondary)}
  :root[data-erp-theme=dark] .erp-admin .partner-functions a.active{background:var(--brand-primary);color:#fff}
  :root[data-erp-theme=dark] .erp-admin .nav-link{color:var(--erp-link)}
  :root[data-erp-theme=dark] .erp-admin .nav-tabs{border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin .nav-tabs .nav-link.active{background:var(--erp-surface);border-color:var(--erp-border);color:var(--erp-ink)}
  :root[data-erp-theme=dark] .erp-admin .page-link{background:var(--erp-input);color:var(--erp-link);border-color:var(--erp-border)}

  /* Success / warning / error retain distinct hues and readable text. */
  :root[data-erp-theme=dark] .erp-admin :is(.alert-success,.rv-tag.good,.storage-mode-database,.complete-note,.purchase-load-status){background:var(--erp-success-bg);color:var(--erp-success);border-color:var(--erp-success-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.alert-warning,.rv-warning,.rv-stats .attention,.mfg-comment,.success-panel.picking-parked,.purchase-load-status.is-error,.purchase-import-row.is-error,#promo-warnings:not(:empty)){background:var(--erp-warning-bg);color:var(--erp-warning);border-color:var(--erp-warning-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.alert-danger,.rv-tag.bad){background:var(--erp-danger-bg);color:var(--erp-danger);border-color:var(--erp-danger-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.alert-info,.alert-primary){background:var(--erp-info-bg);color:var(--erp-info);border-color:var(--erp-info-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.alert-secondary,.rv-tag){background:var(--erp-raised);color:var(--erp-muted);border-color:var(--erp-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.text-danger,.promo-status.is-error,.promo-price-warning,.promo-negative-margin,.promo-bulk-message.is-error,#promo-confirm-status,#mfg-result,.rv-status.error,.home-job-error,.home-job-blocked){color:var(--erp-danger)!important}
  :root[data-erp-theme=dark] .erp-admin :is(.text-success,.rv-status.success,.home-job-success){color:var(--erp-success)!important}
  :root[data-erp-theme=dark] .erp-admin :is(.text-warning,.purchase-incoming,.home-job-running,.ws-report-missing,.promo-row-message){color:var(--erp-warning)!important}
  :root[data-erp-theme=dark] #duPanel .du-warning{color:var(--erp-warning)}
  :root[data-erp-theme=dark] .erp-admin :is(.text-info,.text-primary){color:var(--erp-info)!important}
  :root[data-erp-theme=dark] .erp-admin .promo-page input:is(.promo-below-cost,[aria-invalid=true]){background-color:var(--erp-danger-bg)!important;border-color:var(--erp-danger-border);color:var(--erp-danger)!important}
  :root[data-erp-theme=dark] .erp-admin .product-card.card-complete{background:var(--erp-success-bg);border-color:var(--erp-success-border)}
  :root[data-erp-theme=dark] .erp-admin .product-card.card-missing{background:var(--erp-danger-bg);border-color:var(--erp-danger-border)}
  :root[data-erp-theme=dark] .erp-admin .product-card.card-current{border-color:var(--erp-link)}
  :root[data-erp-theme=dark] .erp-admin .success-panel:not(.picking-parked){background:#198754;color:#fff}
  :root[data-erp-theme=dark] .erp-admin :is(.inventory-shelf,.shelf-badge){border:1px solid var(--erp-border)}

  /* Login participates in the same preference. Label/image pixels are never inverted. */
  :root[data-erp-theme=dark] body.erp-login{color:var(--erp-ink);background:radial-gradient(ellipse at 10% 5%,#ffffff0c,transparent 45%),var(--erp-bg)}
  :root[data-erp-theme=dark] .erp-login .login-card{background:var(--erp-surface)}
  :root[data-erp-theme=dark] .erp-login :is(.login-intro,.login-kicker,.login-footnote){color:var(--erp-muted)}
  :root[data-erp-theme=dark] .erp-login .login-card h1 span{color:var(--erp-link)}
  :root[data-erp-theme=dark] .erp-login .alert-danger{background:var(--erp-danger-bg);color:var(--erp-danger);border-color:var(--erp-danger-border)}
  :root[data-erp-theme=dark] .erp-admin :is(.label-preview,.shelf-label-preview){color:#111;background:#fff;color-scheme:light}
}
