/* SRD OS Wasstraat | Existing component families | v1
   Keep templates' sizes, grids, click behavior and state logic untouched.
   THEME BOX provides ALL paint. This file is one permanent shared mould.
   Specific roles used by newly built components remain data-srd-ui.
   Never copy this into individual room CSS. */

/* Base workspace / page surfaces. Excludes customer portal skins. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .srd-frontdoor-card:not(.srd-frontdoor-card--login),
  .cr-live-panel,.tr-panel,.pe-panel,.k01-panel,.as-panel,
  .wa-card,.wf-card,.ap-card,.cc-panel,.mc-panel,.fc-panel,
  .srd-meterkast-panel,.srd-patchkast-panel,.srd-ms-panel,
  .srd-access-user,.srd-user-card,.srd-preferences-panel,
  .srd-k03-editor-card,.srd-k03-profile-card,.srd-k06-machine-card,
  .srd-k06-ohc-card,.srd-k06-customer-card,.srd-k06-new-card
):not([data-srd-ui]):not(.srd-dossier-summary article) {
  background:var(--srd-ui-panel-bg)!important;
  color:var(--srd-ui-panel-ink)!important;
  border-color:var(--srd-ui-border)!important;
}
/* The palette resolves the text/surface pair, never the page's parent color. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .tr-panel,.pe-panel,.k01-panel,.as-panel,.wa-card,.wf-card,.ap-card,
  .srd-k03-editor-card,.srd-k03-profile-card,.srd-k06-machine-card
) :is(h1,h2,h3,h4):not([data-srd-text]) {
  color:var(--srd-ui-panel-ink)!important;
}
/* Status/banner mal: geometry unchanged, one selected THEMA box paints it. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .srd-access-pulse article,.srd-settings-intro,.srd-tenant-head,
  .srd-dossier-summary article,.srd-workshop-group>summary,.ohc-sales-hero
) {
  background:var(--wash-status-surface)!important;
  color:var(--wash-status-text)!important;
}
/* Legacy data tables, independently readable in every theme. No global table rule. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .tr-table,.srd-k03-table,.srd-k06-table,.srd-ing-table,
  .pe-table,.k01-table,.as-table,.cc-table,.v4-table,
  .uw-table,.uq-table,.srd-k16-table,.ohc-sales-table,
  .mc-storage-table,.rw-table
):not([data-srd-ui]){
  background:var(--srd-ui-panel-bg)!important;
  color:var(--srd-ui-panel-ink)!important;
  border-color:var(--srd-ui-border)!important;
}
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .tr-table,.srd-k03-table,.srd-k06-table,.srd-ing-table,
  .pe-table,.k01-table,.as-table,.cc-table,.v4-table,
  .uw-table,.uq-table,.srd-k16-table,.ohc-sales-table,.rw-table
):not([data-srd-ui]) :is(th,td) {
  color:var(--srd-ui-panel-ink)!important;
  border-color:var(--srd-ui-border)!important;
}
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .tr-table,.srd-k03-table,.srd-k06-table,.srd-ing-table,
  .pe-table,.k01-table,.as-table,.cc-table,.v4-table,
  .uw-table,.uq-table,.srd-k16-table,.ohc-sales-table,.rw-table
):not([data-srd-ui]) th {
  background:var(--wash-head)!important;
  color:var(--wash-text)!important;
}
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .tr-table,.srd-k03-table,.srd-k06-table,.srd-ing-table,
  .pe-table,.k01-table,.as-table,.cc-table,.v4-table,
  .uw-table,.uq-table,.srd-k16-table,.ohc-sales-table,.rw-table
):not([data-srd-ui]) td small {
  color:var(--wash-muted)!important;
}
/* Data control field palette: never recolor checkboxes, progress/states, LEDs. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .tr-form,.tr-product-form,.srd-k06-form,.srd-dossier-form,
  .pe-form,.srd-tenant-form,.ar-connect,.srd-ing-form,
  .srd-frontdoor-form,.ur-form,.wa-actions-form
) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  background:var(--srd-ui-input-bg)!important;
  color:var(--srd-ui-input-ink)!important;
  border-color:var(--srd-ui-border)!important;
}
/* Popup family: surface only; sizing/position stays with legacy dialog.
   New code uses the complete data-srd-ui="popup-1" or "popup-2" contract. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .srd-k03-modal,.srd-k03-kvk-card,.srd-k03-summary-card,
  .srd-k06-machine-field,.srd-k06-ohc-card
):not([data-srd-ui]){
  background:var(--srd-ui-popup-1-bg)!important;
  color:var(--srd-ui-popup-1-ink)!important;
  border-color:var(--srd-ui-border)!important;
}
/* Labels and supporting content have their own text type, not copied hex. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .srd-dossier-cell span,.srd-dossier-cell small,.ar-meta,
  .ar-fact span,.ar-fact-sub,.srd-k06-card-label
) {
  color:var(--wash-field-muted)!important;
}
/* Semantic state colors must retain meaning; never blanket-overwrite badges. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .srd-dossier-led--GREEN,.ar-state[data-state="PAID"],.ar-state[data-state="CONNECTED"]
) {color:var(--wash-positive)!important}
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .srd-dossier-led--RED,.ar-state[data-state="REJECTED"],.ar-state[data-state="PAYMENT_FAILED"]
) {color:var(--wash-danger)!important}
html[data-srd-theme-box] body.srd-frontdoor-body :is(
  .srd-dossier-led--ORANGE,.srd-dossier-led--YELLOW
) {color:var(--wash-warning)!important}

/* Contract replacements for the removed ad-hoc hotfixes. */
html[data-srd-theme-box] body.srd-frontdoor-body :is(.tr-product-form,.tr-product-editor) :is(h2,h3,strong) {color:var(--srd-ui-panel-ink)!important}
html[data-srd-theme-box] body.srd-frontdoor-body .ohc-selection-heading {color:var(--srd-ui-page-ink)!important}

/* SRD OS lobby health indicators: one semantic status rail, no inline hex.
   H01 prepared is neutral information, not an operational fault. */
html[data-srd-theme-box] .reception .detail-state[data-health-status="ok"]{
  color:var(--wash-positive)!important;
}
html[data-srd-theme-box] .reception .detail-state[data-health-status="warning"]{
  color:var(--wash-warning)!important;
}
html[data-srd-theme-box] .reception .detail-state[data-health-status="prepared"],
html[data-srd-theme-box] .reception .detail-state[data-health-status="unknown"]{
  color:var(--wash-muted)!important;
}
