/* Bestatter-Call design system. Loaded after legacy layouts; never controls permissions.
   Colour tokens are centralized here. Module layouts remain in their existing files.
   A few scoped !important colours intentionally supersede historical inline/late overrides. */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --ui-bg: #f4f6f8; --ui-surface: #ffffff; --ui-raised: #eaf0f5;
  --ui-text: #182534; --ui-muted: #4b5d70;
  --ui-border: #b4c0cb; --ui-control-border: #687c90;
  --ui-primary: #245da8; --ui-primary-hover: #194c8d; --ui-on-primary: #ffffff;
  --ui-link: #205696; --ui-focus: #195fba; --ui-hover: #e2edf8; --ui-selected: #d7e7f8;
  --ui-success-bg: #e8f4ed; --ui-success-text: #205739; --ui-success-border: #5e8d71;
  --ui-warning-bg: #fff3da; --ui-warning-text: #754b0d; --ui-warning-border: #a5772a;
  --ui-danger-bg: #fbecee; --ui-danger-text: #8f2938; --ui-danger-border: #ba6470;
  --ui-info-bg: #e7f0fc; --ui-info-text: #214e82; --ui-info-border: #5c82aa;
  --ui-rose-bg: #f8eaf3; --ui-rose-text: #723453; --ui-rose-border: #a66b8d;
  --ui-neutral-bg: #eaf0f5; --ui-neutral-text: #46576a; --ui-neutral-border: #76889b;
  --ui-shadow: 0 4px 18px rgb(24 37 52 / 7%);
  --ui-overlay: rgb(14 23 34 / 64%);
  --ui-radius: 9px;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ui-bg: #1b222c; --ui-surface: #242e3a; --ui-raised: #2d3947;
  --ui-text: #f2f5f9; --ui-muted: #bbc8d7;
  --ui-border: #556779; --ui-control-border: #91a3b5;
  --ui-primary: #285fa7; --ui-primary-hover: #306bb7; --ui-on-primary: #ffffff;
  --ui-link: #acceff; --ui-focus: #a1c7ff; --ui-hover: #33465a; --ui-selected: #344e6b;
  --ui-success-bg: #223e33; --ui-success-text: #b1e1c5; --ui-success-border: #75ad8e;
  --ui-warning-bg: #46391f; --ui-warning-text: #f5d799; --ui-warning-border: #b59351;
  --ui-danger-bg: #492d34; --ui-danger-text: #ffc4cb; --ui-danger-border: #c98792;
  --ui-info-bg: #293e58; --ui-info-text: #bfdbff; --ui-info-border: #819fc1;
  --ui-rose-bg: #443043; --ui-rose-text: #efd0e4; --ui-rose-border: #b48da6;
  --ui-neutral-bg: #2d3947; --ui-neutral-text: #c2cedc; --ui-neutral-border: #8193a5;
  --ui-shadow: 0 4px 18px rgb(0 0 0 / 15%);
}
/* Adapter for existing components: one palette, no second theme implementation. */
:root[data-theme], :root {
  --bg: var(--ui-bg); --surface: var(--ui-surface); --panel: var(--ui-surface);
  --surface-soft: var(--ui-raised); --soft: var(--ui-raised); --row: var(--ui-surface);
  --text: var(--ui-text); --ink: var(--ui-text); --muted: var(--ui-muted);
  --line: var(--ui-border); --accent: var(--ui-link); --accent-strong: var(--ui-link);
  --accent-warm: var(--ui-warning-text); --accent-cool: var(--ui-success-text);
  --call-accent: var(--ui-link); --fahrdienst-accent: var(--ui-success-text);
  --primary: var(--ui-primary); --primary-dark: var(--ui-primary-hover);
  --danger: var(--ui-danger-text); --brand: var(--ui-link); --kicker: var(--ui-warning-text);
  --field-bg: var(--ui-surface); --field-bg-strong: var(--ui-raised);
  --field-text: var(--ui-text); --field-muted: var(--ui-muted); --field-border: var(--ui-control-border);
  --field-muted-bg: var(--ui-raised); --tab-bg: var(--ui-raised); --header-bg: var(--ui-surface);
  --header: var(--ui-raised); --header-ink: var(--ui-text); --table-head: var(--ui-raised);
  --metric-bg: var(--ui-surface); --metric-shadow: transparent; --shift-bg: var(--ui-surface);
  --warning-bg: var(--ui-warning-bg); --weekend-bg: var(--ui-warning-bg); --weekend: var(--ui-warning-bg);
  --holiday-bg: var(--ui-info-bg); --holiday: var(--ui-info-bg);
  --ok-bg: var(--ui-success-bg); --check-bg: var(--ui-warning-bg); --open-bg: var(--ui-danger-bg);
  --open: var(--ui-danger-bg); --locked: var(--ui-neutral-text); --focus: var(--ui-focus);
  --status-ok-ink: var(--ui-success-text); --status-check-ink: var(--ui-warning-text); --status-open-ink: var(--ui-danger-text);
  --success-soft: var(--ui-success-bg); --danger-soft: var(--ui-danger-bg); --danger-soft-bg: var(--ui-danger-bg);
  --dot-border: var(--ui-control-border); --shadow: var(--ui-shadow); --radius: var(--ui-radius); --grid: transparent;
  --light-ink: var(--ui-text); --light-text: var(--ui-text); --light-muted: var(--ui-muted);
  --light-panel: var(--ui-surface); --light-line: var(--ui-border); --light-line-soft: var(--ui-border);
}
html {scroll-behavior: auto; scrollbar-color: var(--ui-control-border) var(--ui-raised);}
:root [hidden] {display: none !important;}
:root[data-theme] body {background: var(--ui-bg); color: var(--ui-text); font-family: "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.5;}
:root[data-theme] body::before {background: none; mix-blend-mode: normal;}
:root[data-theme] :is(h1,h2,h3,h4) {color: var(--ui-text); line-height: 1.25; text-wrap: pretty;}
:root[data-theme] :is(p,li,dd) {overflow-wrap: anywhere;}
:root[data-theme] :is(small,.eyebrow,.subline,.muted,.reset-help) {color: var(--ui-muted);}
:root[data-theme] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--ui-focus) !important; outline-offset: 3px;
}
:root[data-theme] :is(a,button,input,select,textarea,summary) {scroll-margin-block: 100px 24px;}
:root[data-theme] :is(button,.button,.button-link,.top-action-button) {min-height: 44px; box-shadow: none; font-weight: 600;}
:root[data-theme] :is(input,select,textarea) {color: var(--ui-text); border-color: var(--ui-control-border); accent-color: var(--ui-primary);}
:root[data-theme] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="hidden"]),select,textarea) {
  background-color: var(--ui-surface); min-width: 0; min-height: 44px; font-size: 1rem;
}
:root[data-theme] :is(input,textarea)::placeholder {color: var(--ui-muted); opacity: 1;}
:root[data-theme] select option {background: var(--ui-surface); color: var(--ui-text);}
:root[data-theme] textarea {max-width: 100%; line-height: 1.5;}
:root[data-theme] input:is([type="checkbox"],[type="radio"]) {min-width: 18px; min-height: 18px; width: 18px; height: 18px; flex-shrink: 0;}
:root[data-theme] :is(button,input,select,textarea):disabled {opacity: 1; cursor: not-allowed; color: var(--ui-neutral-text); background-color: var(--ui-neutral-bg); border-color: var(--ui-control-border);}
:root[data-theme] :is(button,.button,[role="button"])[aria-busy="true"] {cursor: progress;}
:root[data-theme] :is(input,textarea,select)[aria-invalid="true"] {border: 2px solid var(--ui-danger-border);}
:root[data-theme] :is(.button,button.primary,.primary,.login-form button[type="submit"]) {
  background: var(--ui-primary); color: var(--ui-on-primary); border-color: var(--ui-primary); text-shadow: none;
}
:root[data-theme] :is(.button,button.primary,.primary):hover {background: var(--ui-primary-hover); color: var(--ui-on-primary);}
:root[data-theme] :is(.button-secondary,.top-link,.button-link,.reset-theme,.dialog-close,.admin-modal-close,.theme-select) {
  color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-control-border); box-shadow: none;
}
:root[data-theme] :is(.button-secondary,.top-link,.button-link,.reset-theme):hover {color: var(--ui-text); background: var(--ui-hover);}
:root[data-theme] :is(.legal-card,.imprint-card,.dialog-card,.login-card-page,.admin-card,.profile-card,.call-duty-panel,
  .employee-directory-panel,.dashboard-panel,.dashboard-stat,.dashboard-quick-card,.dashboard-shortcut,
  .testphase-card,.testphase-page-card,.testphase-transfer-card,.dialer-panel,.dialer-info-panel,
  .dialer-standalone-card,.dialer-call-card,.dialer-case-card,.dialer-bestatter-preview,.bestatter-modal-card,
  .bestatter-portal-card,.bestatter-portal-house-picker,.bestatter-portal-login,.account-card,.announcement-card,
  .cookie-consent-dialog,.email-reminder-card,.email-inbox-card,.email-inbox-detail,.email-message,.email-preview) {
  color: var(--ui-text) !important; background: var(--ui-surface) !important;
  border-color: var(--ui-border) !important; box-shadow: var(--ui-shadow) !important; text-shadow: none;
}
:root[data-theme] :is(.legal-card,.imprint-card,.dialog-card,.call-duty-panel,.employee-directory-panel)::before {background: none;}
:root[data-theme] :is(.dashboard-topbar,.app-header,.board-header,.bestatter-portal-header,.site-header) {
  color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-border); box-shadow: var(--ui-shadow);
}
:root[data-theme] :is(.dashboard-main,.portal-page-content,.dashboard-userbar,.bestatter-portal-actions,.admin-form-row) {min-width: 0;}
:root[data-theme] :is(.dashboard-topbar h1,.legal-card h2,.bestatter-portal-header h1,.dialer-panel-head strong,.brand,.dashboard-brand strong) {color: var(--ui-text);}
:root[data-theme] :is(.dashboard-topbar p,.dashboard-userbar,.dashboard-brand small,.dashboard-sidebar-footer,.dashboard-sidebar-footer a,
  .admin-form label,.admin-panel-heading > p,.bestatter-portal-meta,.bestatter-portal-header > div > span) {color: var(--ui-muted);}
:root[data-theme] :is(.admin-form label,.login-form label) {font-size: 14px; line-height: 1.5;}
:root[data-theme] :is(.admin-form small,.bestatter-portal-meta,.admin-setting-state) {font-size: 14px;}
:root[data-theme] .dashboard-sidebar {color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-border) !important; box-shadow: none !important;}
:root[data-theme] .dashboard-nav .dashboard-nav-item {
  color: var(--ui-text) !important; background: var(--ui-surface) !important; border: 1px solid var(--ui-border) !important;
  box-shadow: none !important; transform: none !important; min-height: 46px;
}
:root[data-theme] .dashboard-nav .dashboard-nav-item :is(strong,span,small) {color: inherit !important;}
:root[data-theme] .dashboard-nav .dashboard-nav-item > span {background: var(--ui-raised) !important; border-color: var(--ui-border) !important;}
:root[data-theme] .dashboard-nav .dashboard-nav-item strong {white-space: normal; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere;}
:root[data-theme] .dashboard-nav .dashboard-nav-item:hover {background: var(--ui-hover) !important;}
:root[data-theme] .dashboard-nav .dashboard-nav-item.is-active {background: var(--ui-selected) !important; border-left: 4px solid var(--ui-focus) !important; font-weight: 700;}
:root[data-theme] :is(.dashboard-stat,.dashboard-stat-blue,.dashboard-stat-green,.dashboard-stat-orange) :is(strong,span,small) {color: var(--ui-text) !important;}
:root[data-theme] :is(.dashboard-stat,.dashboard-quick-card):hover {background: var(--ui-hover) !important;}
:root[data-theme] :is(.dashboard-nav-badge,.dashboard-stat-icon) {color: var(--ui-info-text); background: var(--ui-info-bg); border-color: var(--ui-info-border);}
:root[data-theme] :is(.bestatter-portal-data > div,.bestatter-portal-form-section,.dialer-bestatter-data-grid > div,
  .dialer-call-compact-info > div,.dialer-call-status,.dialer-call-number,.dialer-call-totenschein,.dialer-call-transporter,
  .dialer-call-location,.dialer-call-person,.dialer-call-subject,.dialer-call-package,.dialer-call-bestatter,
  .dialer-on-call-bestatter-picker,.dialer-bestatter-readiness,.dialer-bestatter-readiness-grid > div,
  .dialer-bestatter-readiness-note,.dialer-bestatter-option,.dialer-bestatter-options,.dialer-bestatter-options-head,
  .dialer-call-edit-panel,.dialer-drive-sms-panel,.dialer-info-post,.dialer-on-call-contact,
  .dialer-on-call-compact-transporter,.switch-line,.account-meta,.announcement-read-list > div) {
  background: var(--ui-raised) !important; color: var(--ui-text) !important; border-color: var(--ui-border) !important; box-shadow: none;
}
:root[data-theme] :is(.bestatter-portal-data,.bestatter-portal-form-section,.dialer-bestatter-data-grid,.dialer-call-compact-info,
  .dialer-on-call-summary,.dialer-call-status,.dialer-call-number,.dialer-call-totenschein,.dialer-call-transporter,
  .dialer-call-bestatter,.dialer-bestatter-preview,.dialer-bestatter-readiness,.dialer-bestatter-option,.dialer-on-call-contact,
  .dialer-on-call-status,.dialer-on-call-compact) :is(strong,b,dd) {color: var(--ui-text) !important;}
:root[data-theme] :is(.bestatter-portal-data,.bestatter-portal-form-section,.dialer-call-compact-info,.dialer-call-card,
  .dialer-bestatter-preview,.dialer-bestatter-readiness,.dialer-on-call-card,.dialer-on-call-compact,.dialer-bestatter-options) :is(small,dt) {color: var(--ui-muted); font-size: 14px;}
:root[data-theme] .bestatter-portal-form-section > span {color: var(--ui-text); font-size: 14px;}
:root[data-theme] .bestatter-portal-data dd {font-size: 16px; line-height: 1.5;}
:root[data-theme] :is(.dialer-bestatter-option:hover,.dialer-bestatter-option.is-active,.dialer-bestatter-option:focus-visible) {background: var(--ui-hover) !important;}
:root[data-theme] .dialer-call-card {border-width: 1px 1px 1px 4px; outline: none;}
:root[data-theme] .dialer-call-card:nth-child(even) {border-left-color: var(--ui-info-border) !important;}
:root[data-theme] .dialer-call-card:nth-child(odd) {border-left-color: var(--ui-control-border) !important;}
:root[data-theme] :is(.dialer-case-expand-button,.dialer-on-call-search-clear,.dialer-on-call-search-feedback) {background: var(--ui-info-bg); color: var(--ui-info-text); border-color: var(--ui-info-border);}
:root[data-theme] :is(.dialer-bestatter-picker-error,.dialer-email-error,.dialer-email-update-error,.announcement-error) {color: var(--ui-danger-text); font-size: 14px;}
/* Status semantics remain unchanged: colours supplement the existing visible labels. */
:root[data-theme] :is(.flash.success,.dialer-status-fertig,.dialer-totenschein-ja,.dialer-transporter-erreicht,.dialer-email-sent,
  .dialer-info-status-fertig,.testphase-status-done,.testphase-status-select-done,.admin-setting-state.is-enabled,
  .dialer-on-call-card.is-ready,.dialer-on-call-compact.is-ready) {
  color: var(--ui-success-text) !important; background: var(--ui-success-bg) !important; border-color: var(--ui-success-border) !important;
}
:root[data-theme] :is(.flash.error,.flash.danger,.dialer-status-bestatter_nicht_erreicht,.dialer-totenschein-nein,.dialer-email-failed,
  .dialer-email-error,.dialer-email-not_sent,.dialer-on-call-card.is-unavailable,.dialer-on-call-compact.is-unavailable) {
  color: var(--ui-danger-text) !important; background: var(--ui-danger-bg) !important; border-color: var(--ui-danger-border) !important;
}
:root[data-theme] :is(.flash.warning,.dialer-status-in_klaerung,.dialer-transporter-nicht_erreicht,.dialer-transporter-warten_auf_ok,
  .dialer-email-external,.dialer-case-important-info,.dialer-bestatter-preview-help,.dialer-on-call-card,.dialer-on-call-compact) {
  color: var(--ui-warning-text); background: var(--ui-warning-bg); border-color: var(--ui-warning-border); box-shadow: none;
}
:root[data-theme] :is(.dialer-status-offen,.dialer-totenschein-unbekannt,.dialer-totenschein-krankenhaus,.dialer-transporter-in_ueberfuehrung,
  .dialer-info-status-offen,.testphase-status-open,.testphase-status-moving,.testphase-status-select-moving,.flash.info) {
  color: var(--ui-info-text) !important; background: var(--ui-info-bg) !important; border-color: var(--ui-info-border) !important;
}
:root[data-theme] :is(.dialer-transporter-keine_ueberfuehrung,.dialer-transporter-keine,.dialer-transporter-unbekannt) {
  color: var(--ui-neutral-text) !important; background: var(--ui-neutral-bg) !important; border-color: var(--ui-neutral-border) !important;
}
:root[data-theme] .dialer-availability-switch span {color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-control-border); min-height: 44px;}
:root[data-theme] .dialer-availability-switch input[value="bereit"]:checked + span {color: var(--ui-success-text); background: var(--ui-success-bg); border-color: var(--ui-success-border); box-shadow: inset 0 -3px var(--ui-success-border);}
:root[data-theme] .dialer-availability-switch input[value="eingeschraenkt"]:checked + span {color: var(--ui-warning-text); background: var(--ui-warning-bg); border-color: var(--ui-warning-border); box-shadow: inset 0 -3px var(--ui-warning-border);}
:root[data-theme] .dialer-availability-switch input[value="nicht_bereit"]:checked + span {color: var(--ui-danger-text); background: var(--ui-danger-bg); border-color: var(--ui-danger-border); box-shadow: inset 0 -3px var(--ui-danger-border);}
:root[data-theme] .dialer-availability-switch input:focus-visible + span {outline: 3px solid var(--ui-focus); outline-offset: 3px;}
:root[data-theme] :is(.dialer-case-important-info-grid > div,.dialer-case-important-info-grid > a,.dialer-case-important-info-empty) {color: var(--ui-warning-text); background: var(--ui-warning-bg); border-color: var(--ui-warning-border);}
:root[data-theme] .dialer-case-important-info :is(small,strong,p,em) {color: var(--ui-warning-text);}
:root[data-theme] :is(.bestatter-portal-nav a,.dialer-nav .top-link) {color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-control-border); min-height: 44px;}
:root[data-theme] :is(.bestatter-portal-nav a.is-active,.dialer-nav .top-link.is-active) {color: var(--ui-text); background: var(--ui-selected); border-bottom: 3px solid var(--ui-focus);}
:root[data-theme] :is(.legal-card,.imprint-card,.portal-password-reset,.bestatter-portal-data) a:not(.button), :root[data-theme] a[href^="tel:"] {color: var(--ui-link); text-decoration: underline; text-underline-offset: 3px;}
/* Dialogs and late-loaded overlays share the same opaque surface in both modes. */
:root[data-theme] :is(dialog,.admin-create-modal,.announcement-modal,.announcement-modal-card,.bestatter-modal,.bestatter-modal-panel,.email-reminder-dialog) {
  background: var(--ui-surface); color: var(--ui-text); border-color: var(--ui-border); max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow-y: auto;
}
:root[data-theme] :is(dialog)::backdrop {background: var(--ui-overlay);}
:root[data-theme] :is(.admin-modal-backdrop,.announcement-backdrop,.bestatter-modal-backdrop,.cookie-consent-overlay) {background: var(--ui-overlay);}
:root[data-theme] .cookie-consent-dialog :is(h2,h3,p,span,label,small,.cookie-consent-eyebrow) {color: var(--ui-text);}
:root[data-theme] .cookie-consent-dialog a {color: var(--ui-link);}
:root[data-theme] .cookie-consent-dialog :is(button,.cookie-consent-category) {color: var(--ui-text); background: var(--ui-raised); border-color: var(--ui-control-border);}
:root[data-theme] .cookie-consent-dialog button[data-consent-accept] {color: var(--ui-on-primary); background: var(--ui-primary);}
:root[data-theme] .cookie-consent-reopen {color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-control-border);}
/* A labelled native select exposes all three modes to keyboard and assistive technology. */
:root[data-theme] .theme-control {display: inline-flex; flex-direction: column; gap: 3px; flex-shrink: 0; margin: 0; text-align: left; color: var(--ui-muted);}
:root[data-theme] .theme-control-label {font-size: 12px; line-height: 1.25; font-weight: 600; color: var(--ui-muted);}
:root[data-theme] .theme-control .theme-select {width: auto; max-width: 100%; min-width: 130px; min-height: 44px; padding: 8px 30px 8px 10px; font-size: 14px; border: 1px solid var(--ui-control-border); border-radius: 7px; cursor: pointer;}
:root[data-theme] .theme-control-fallback {position: relative; width: max-content; max-width: calc(100% - 32px); margin: 12px 16px 12px auto; z-index: 10;}
:root[data-theme] .dashboard-brand span, :root[data-theme] .brand-mark, :root[data-theme] .brand span {color: var(--ui-link);}
:root[data-theme] .dashboard-quick-action {color: var(--ui-info-text) !important; background: var(--ui-info-bg) !important; border-color: var(--ui-info-border) !important; box-shadow: none; min-height: 44px; white-space: normal;}
:root[data-theme] .dashboard-quick-action:hover {background: var(--ui-hover) !important; color: var(--ui-text) !important;}
:root[data-theme] :is(.delete-form button,.button-danger,.dialer-case-delete-button,.dashboard-delete-button) {color: var(--ui-danger-text) !important; background: var(--ui-danger-bg) !important; border: 1px solid var(--ui-danger-border) !important;}
:root[data-theme] .button.button-secondary {color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-control-border);}
:root[data-theme] :is(.dashboard-stat-card,.dashboard-duty-card,.dashboard-side-card,.announcement-dialog,.dashboard-notification-menu) {color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-border); box-shadow: var(--ui-shadow);}
:root[data-theme] .dashboard-stat-card :is(strong,span,small), :root[data-theme] .dashboard-card-head h2 {color: var(--ui-text);}
:root[data-theme] .dashboard-stat-card {border-top: 3px solid var(--ui-info-border);}
:root[data-theme] .dashboard-stat-card.has-items {border-top-color: var(--ui-warning-border); background: var(--ui-warning-bg);}
:root[data-theme] .announcement-dialog :is(h2,p,.announcement-message) {color: var(--ui-text);}
:root[data-theme] .dashboard-user > span {color: var(--ui-info-text); background: var(--ui-info-bg); border: 1px solid var(--ui-info-border);}
:root[data-theme] :is(.dashboard-notification-button > span,.dashboard-notification-menu em) {color: var(--ui-danger-text); background: var(--ui-danger-bg); border: 1px solid var(--ui-danger-border); font-size: 12px;}
:root[data-theme] :is(.presence-list li,.presence-list .is-loading,[data-presence-list] li) {color: var(--ui-text); background: var(--ui-raised); border-color: var(--ui-border);}
:root[data-theme] .email-inbox-error {color: var(--ui-danger-text); background: var(--ui-danger-bg); border-color: var(--ui-danger-border);}
:root[data-theme] .account-import .legal-card {overflow-x: auto; max-width: 100%;}
:root[data-theme] .users-dashboard-main {grid-template-columns: minmax(0,1fr);}
:root[data-theme] .account-import {width: 100%; max-width: 100%; min-width: 0;}
:root[data-theme] .dashboard-presence-list li.is-loading {color: var(--ui-muted); background: var(--ui-raised);}
:root[data-theme] .dialer-drive-sms-toggle {color: var(--ui-info-text); background: var(--ui-info-bg); border-color: var(--ui-info-border);}
:root[data-theme] :is(.bestatter-house-badge.is-group,.bestatter-lock-state.is-active,.bestatter-lock-button.is-unlock) {color: var(--ui-success-text); background: var(--ui-success-bg); border-color: var(--ui-success-border); font-size: 14px;}
:root[data-theme] :is(.bestatter-lock-state.is-blocked,.bestatter-lock-button.is-lock) {color: var(--ui-danger-text); background: var(--ui-danger-bg); border-color: var(--ui-danger-border); font-size: 14px;}
:root[data-theme] .button:not(.button-secondary):not(.button-danger) :is(small,span,strong) {color: inherit;}
:root[data-theme] .button.dialer-save-only-button {color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-control-border) !important;}
:root[data-theme] .button.dialer-save-only-button:hover {background: var(--ui-hover) !important;}
:root[data-theme] .button.dialer-save-only-button :is(small,span,strong) {color: inherit;}
:root[data-theme] .password-toggle, :root[data-theme] .password-toggle:is(:hover,:focus,:focus-visible) {color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-control-border);}
:root[data-theme] .messages-panel-head a, :root[data-theme] .messages-card .messages-kicker {color: var(--ui-link);}
:root[data-theme] .drive-orders-summary-strip strong, :root[data-theme] .testphase-case-section-head strong {color: var(--ui-text);}
:root[data-theme] .bestatter-access-state {color: var(--ui-success-text); background: var(--ui-success-bg); border-color: var(--ui-success-border); font-size: 14px;}
:root[data-theme] .bestatter-access-account-card.is-inactive .bestatter-access-state {color: var(--ui-neutral-text); background: var(--ui-neutral-bg); border-color: var(--ui-neutral-border);}
:root[data-theme] .dialer-on-call-card-body {align-items: start; color: var(--ui-text); background: var(--ui-surface); border-radius: 0 0 var(--ui-radius) var(--ui-radius);}
:root[data-theme] .dialer-on-call-actions .button.button-secondary {color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-control-border);}
:root[data-theme] .cookie-settings-fab {position: relative; inset: auto; display: block; width: max-content; max-width: calc(100% - 32px); margin: 20px auto; color: var(--ui-text); background: var(--ui-surface); border: 1px solid var(--ui-control-border); border-radius: 7px; box-shadow: none; font-size: 14px; font-weight: 600;}
:root[data-theme] .cookie-settings-fab:hover {color: var(--ui-text); background: var(--ui-hover); transform: none;}
:root[data-theme] .bestatter-portal-data dd {font-weight: 600;}
:root[data-theme] .bestatter-portal-card :is(input,textarea,select) {font-weight: 500;}
/* Responsive fixes respect layout visibility; no display rule may reveal hidden fields. */
:root[data-theme] :is(.dashboard-userbar,.bestatter-portal-actions,.bestatter-portal-nav,.site-nav) {flex-wrap: wrap; gap: 10px;}
:root[data-theme] :is(.admin-table-wrap,.table-scroll,.email-table-wrap) {max-width: 100%; overflow: auto;}
:root[data-theme] table {font-variant-numeric: tabular-nums;}
:root[data-theme] :is(.admin-table,.account-table) :is(th,td) {font-size: 14px; border-color: var(--ui-border);}
@media (max-width: 800px) {
  :root[data-theme] :is(.dashboard-topbar,.bestatter-portal-header) {align-items: flex-start; flex-wrap: wrap; gap: 16px;}
  :root[data-theme] :is(.dashboard-topbar > div,.bestatter-portal-header > div,.dashboard-userbar) {max-width: 100%;}
  :root[data-theme] :is(.admin-form-row,.permission-grid,.profile-grid,.bestatter-portal-grid) {grid-template-columns: minmax(0,1fr);}
  :root[data-theme] .dashboard-main {padding: 16px;}
  :root[data-theme] :is(.admin-card,.bestatter-portal-card,.legal-card) {min-width: 0; padding: 20px;}
  :root[data-theme] :is(.dialer-call-actions,.dialer-on-call-compact) {min-width: 0;}
}
@media (max-width: 480px) {
  :root[data-theme] .dashboard-main {padding: 12px;}
  :root[data-theme] :is(.admin-card,.bestatter-portal-card,.legal-card) {padding: 16px;}
  :root[data-theme] :is(.bestatter-portal-actions,.dashboard-userbar) {width: 100%;}
  :root[data-theme] :is(.dialer-case-stats,.dialer-case-stats-with-new) {grid-template-columns: minmax(0,1fr);}
  :root[data-theme] .cookie-consent-body {grid-template-columns: minmax(0,1fr);}
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important;}
}
@media print {
  :root[data-theme], :root {--ui-success-bg:#fff;--ui-success-text:#000;--ui-success-border:#555;--ui-warning-bg:#fff;--ui-warning-text:#000;--ui-warning-border:#555;--ui-danger-bg:#fff;--ui-danger-text:#000;--ui-danger-border:#555;--ui-info-bg:#fff;--ui-info-text:#000;--ui-info-border:#555;--ui-neutral-bg:#fff;--ui-neutral-text:#000;--ui-neutral-border:#555;--ui-rose-bg:#fff;--ui-rose-text:#000;--ui-rose-border:#555;}
  :root[data-theme], :root {color-scheme: light; --ui-bg: #fff; --ui-surface: #fff; --ui-raised: #fff; --ui-text: #000; --ui-muted: #333; --ui-border: #777; --ui-control-border: #555; --ui-link: #000; --ui-hover: #fff; --ui-selected: #fff; --ui-shadow: none;}
  :root[data-theme] .theme-control, :root[data-theme] .theme-control-fallback, :root[data-theme] .cookie-consent-overlay, :root[data-theme] .cookie-consent-reopen, :root[data-theme] .cookie-settings-fab {display: none !important;}
  :root[data-theme] body {background: #fff !important; color: #000 !important;}
  :root[data-theme] :is(.legal-card,.bestatter-portal-card,.dialer-call-card,.dashboard-panel) {background: #fff !important; color: #000 !important; box-shadow: none !important;}
}
