/* Zentrale Designwerte. Komponenten verwenden dieselben Werte in allen Ansichten.
   Diese Datei wird ausschlieÃŸlich fÃ¼r die Bildschirmdarstellung geladen. */
html[data-app-theme] {
  --app-font: var(--app-theme-font, "Segoe UI", system-ui, sans-serif);
  --app-accent: #a71f36;
  --app-accent-hover: #8d172b;
  --app-accent-soft: #f8e9ed;
  --app-accent-text: #961b32;
  --app-primary: linear-gradient(180deg, #ef3157 0%, #cf093b 18%, #b90432 70%, #a5052f 100%);
  --app-primary-shadow: 0 6px 14px #ab14333b, inset 0 1px 0 #ff8ca6, inset 0 -2px 3px #78072466;
  --app-radius: 14px;
  --app-control-radius: 10px;
  --app-control-height: 40px;
  --app-motion: 160ms;
  --app-nav: linear-gradient(165deg, #24344a, #162234 70%);
  --app-nav-ink: #eef3fa;
  --app-nav-muted: #bbc7d7;
  --app-summary: linear-gradient(145deg, #263951, #192638 75%);
  --app-focus: #ad3850;
  --app-waves-opacity: .2;
  --app-edge-light: #ffffff;
}
html[data-app-font="classic"] { --app-font: Arial, Helvetica, sans-serif; }
html[data-app-font="clear"] { --app-font: Verdana, Geneva, sans-serif; }

/* BrÃ¼cken fÃ¼r vorhandene Module; keine eigenen Farbpaletten pro Seite. */
html[data-app-theme], html[data-app-theme] :is(.app-pro,.embedded-module) {
  --ui-canvas: transparent; --ui-surface: var(--app-surface); --ui-surface-subtle: var(--app-subtle);
  --ui-surface-emphasis: var(--app-hover); --ui-border: var(--app-line); --ui-border-strong: var(--app-muted);
  --ui-text: var(--app-text); --ui-text-muted: var(--app-muted); --ui-primary: var(--app-accent);
  --ui-primary-hover: var(--app-accent-hover); --ui-shadow: var(--app-shadow); --ui-shadow-raised: var(--app-shadow);
  --uph-brand: var(--app-accent); --uph-ink: var(--app-text); --uph-muted: var(--app-muted);
  --uph-canvas: var(--app-bg); --uph-line: var(--app-line);
  --uph-color-primary: var(--app-accent); --uph-color-primary-strong: var(--app-accent-hover);
  --uph-color-text: var(--app-text); --uph-color-muted: var(--app-muted);
  --uph-color-line: var(--app-line); --uph-color-surface: var(--app-surface); --uph-color-canvas: var(--app-bg);
  --udl-text: var(--app-text); --udl-muted: var(--app-muted); --udl-bg: var(--app-bg);
  --udl-text-muted: var(--app-muted); --udl-gray-025: var(--app-subtle); --udl-gray-050: var(--app-subtle);
  --udl-gray-200: var(--app-line); --udl-gray-400: var(--app-muted); --udl-gray-600: var(--app-muted); --udl-gray-900: var(--app-text);
  --udl-red-050: var(--app-accent-soft); --udl-red-600: var(--app-accent); --udl-red-700: var(--app-accent-hover);
  --udl-surface: var(--app-surface); --udl-border: var(--app-line); --udl-hover: var(--app-hover);
  --udl-active: var(--app-accent); --udl-focus: var(--app-focus); --udl-font: var(--app-font);
  --ink: var(--app-text); --muted: var(--app-muted); --line: var(--app-line); --soft: var(--app-subtle);
  --bg: var(--app-bg); --panel: var(--app-surface-solid); --text: var(--app-text); --surface:var(--app-surface-solid);
  --primary:var(--app-accent); --border:var(--app-line); --shadow:var(--app-shadow);
  --s5-red:var(--app-accent-text); --s5-red-dark:var(--app-accent-hover); --s5-ink:var(--app-text);
  --s5-muted:var(--app-muted); --s5-line:var(--app-line); --s5-bg:var(--app-bg); --s5-shadow:var(--app-shadow);
  --bill-bg:var(--app-bg); --bill-card:var(--app-surface-solid); --bill-line:var(--app-line); --bill-text:var(--app-text); --bill-muted:var(--app-muted); --bill-blue:var(--app-accent);
  --md-bg:var(--app-bg); --md-card:var(--app-surface-solid); --md-ink:var(--app-text); --md-muted:var(--app-muted); --md-line:var(--app-line); --md-blue:var(--app-accent);
  --ce-bg:var(--app-bg); --ce-card:var(--app-surface-solid); --ce-ink:var(--app-text); --ce-muted:var(--app-muted); --ce-line:var(--app-line); --ce-red:var(--app-accent);
}
html[data-app-theme] body {
  min-height: 100vh;
  background: var(--app-backdrop) fixed !important;
  background-color: var(--app-bg) !important;
  color: var(--app-text) !important;
  font-family: var(--app-font) !important;
  -webkit-font-smoothing: antialiased;
}
html[data-app-theme][data-app-font] :is(body,div,section,article,form,fieldset,nav,header,footer,figure,figcaption,ol,ul,li,dl,output,h1,h2,h3,h4,h5,h6,p,span,strong,b,small,a,label,legend,summary,dt,dd,th,td,button,input,select,textarea) {
  font-family: var(--app-font) !important;
}
html[data-app-theme] :is(h1,h2,h3,h4) { color: inherit; letter-spacing: -.025em; }
html[data-app-theme] :is(.app-pro,.main,.content-pro,.ov2-main,.ov2-layout,.prereg-shell,.embedded-module) { background: transparent !important; color: var(--app-text); }
html[data-app-theme] :is(.panel,.card,.udl-card,.login-card,.prereg-panel,.ov2-summary,.ov2-step,.ov2-device-sources,.ov2-device-card,.ov2-repair-card,.ov2-device-empty,.ov2-service-options,.ov2-parts,.ov2-customer-selected,.customer-card,.repair-card,.settings-section,.ce-panel,.md-card,.s5-panel,.billing-panel,.report-panel,.repair-progress,.appearance-settings) {
  color: var(--app-text) !important;
  background: var(--app-raised) !important;
  border-color: var(--app-line) !important;
  border-radius: var(--app-radius) !important;
  box-shadow: var(--app-shadow) !important;
}
html[data-app-theme="glass"] :is(.panel,.prereg-panel,.ov2-summary,.ov2-step,.login-card) {
  background: var(--app-surface) !important;
  backdrop-filter: var(--app-glass);
}
html[data-app-theme] :is(.application-header,.ov2-header,.prereg-brand,.order-head,.ov2-actions,.prereg-flow-actions,.modal-header,.modal-footer) {
  background: var(--app-surface-solid) !important; color: var(--app-text) !important; border-color: var(--app-line) !important;
}
html[data-app-theme] :is(.application-header,.ov2-header,.prereg-brand) { box-shadow: 0 2px 12px #1824380a !important; }
html[data-app-theme] .application-header :is(h1,.top-title p,.header-user-name,.header-user-role,.header-clock,.top-search,.header-search,.header-search kbd,.header-user-dropdown,.notification-panel) { color: var(--app-text) !important; }
html[data-app-theme] .application-header :is(.top-search,.header-search,.header-clock,.header-user-dropdown,.notification-panel,.user-chip) { background: var(--app-surface-solid) !important; border-color: var(--app-line) !important; }
html[data-app-theme] .settings-hero :is(h2,p,small,b,.settings-impact-note,.settings-summary span) { color: var(--app-text) !important; }
/* Aktionsleisten richten sich nach der Kartenbreite, auch in schmalen Desktopspalten. */
html[data-app-theme] .app-pro .content-pro .settings-modern .settings-save-bar {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--app-subtle) !important;
  color: var(--app-text) !important;
  border-color: var(--app-line) !important;
}
html[data-app-theme] .app-pro .content-pro .settings-modern .settings-save-bar > div {
  flex: 1 1 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}
html[data-app-theme] .app-pro .content-pro .settings-modern .settings-save-bar b {
  color: var(--app-text) !important;
  font-size: 13px;
  line-height: 1.4;
}
html[data-app-theme] .app-pro .content-pro .settings-modern .settings-save-bar small {
  color: var(--app-muted) !important;
  font-size: 12px;
  line-height: 1.5;
}
html[data-app-theme] .app-pro .content-pro .settings-modern .settings-save-bar > .btn {
  flex: 1 1 12rem;
  min-width: 0;
  width: auto;
  max-width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  justify-content: center;
}
html[data-app-theme] :is(.side-fixed,.sidebar) { background: var(--app-nav) !important; color: var(--app-nav-ink) !important; }
html[data-app-theme] :is(.side-fixed,.sidebar) :is(a,button,summary) { color: var(--app-nav-ink) !important; }
html[data-app-theme] :is(.side-fixed,.sidebar) :is(small,.muted,.side-section-label) { color: var(--app-nav-muted) !important; }
html[data-app-theme] :is(.side-fixed,.sidebar) a.active { background: var(--app-primary) !important; box-shadow: var(--app-primary-shadow); border-radius: var(--app-control-radius); }

/* Eingaben und SchaltflÃ¤chen. Kleine Symbolaktionen behalten ihre MaÃŸe. */
html[data-app-theme] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]) {
  background: var(--app-input) !important; color: var(--app-text) !important;
  border-color: var(--app-line) !important; border-radius: var(--app-control-radius) !important;
  box-shadow: var(--app-input-shadow) !important; min-height: var(--app-control-height); font-size: 14px;
}
html[data-app-theme] :is(input,textarea)::placeholder { color: var(--app-muted) !important; opacity: 1; }
html[data-app-theme] :is(input,select,textarea):disabled { opacity: .65; cursor: not-allowed; }
html[data-app-theme] :is(input,select,textarea)[aria-invalid="true"] { border-color: #dc4562 !important; }
html[data-app-theme] :is(input,select,textarea,button,a,summary):focus-visible { outline: 2px solid var(--app-focus) !important; outline-offset: 3px; }
html[data-app-theme] :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--app-accent); }
html[data-app-theme] :is(.btn,.udl-btn,.prereg-button,.prereg-body button,.appearance-footer button,.application-header button) {
  border: 1px solid var(--app-line); border-radius: var(--app-control-radius) !important;
  border-color: var(--app-line) !important;
  background: var(--app-raised) !important; color: var(--app-text) !important;
  box-shadow: var(--app-control-shadow) !important;
  font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none;
  transition: background var(--app-motion), border-color var(--app-motion), box-shadow var(--app-motion);
}
html[data-app-theme] :is(.btn,.udl-btn,.prereg-button,.prereg-body button):not(.icon-btn):not(.moon) { min-height: var(--app-control-height); }
html[data-app-theme] :is(.btn,.udl-btn,.prereg-button,.prereg-body button):hover:not(:disabled) { border-color: var(--app-muted) !important; background: var(--app-hover) !important; }
html[data-app-theme] :is(.btn.primary,.btn.btn-primary,.udl-btn--primary,.prereg-primary,.submit,.login-card button[type="submit"]) {
  background: var(--app-primary) !important; color: #fff !important;
  border-color: #a71f36 !important; box-shadow: var(--app-primary-shadow) !important;
}
html[data-app-theme] :is(.btn.primary,.btn.btn-primary,.udl-btn--primary,.prereg-primary,.submit):hover:not(:disabled) { background: linear-gradient(140deg,#b3233c,#8e172c) !important; color: #fff !important; }
html[data-app-theme] :is(button,.btn,.udl-btn):disabled { opacity: .48; box-shadow: none !important; cursor: not-allowed; }
html[data-app-theme] :is(.btn.danger,.udl-btn--danger) { color: var(--app-accent-text) !important; background: var(--app-accent-soft) !important; }
html[data-app-theme] :is(.udl-label,legend,.field label,.prereg-grid label,.settings-field label,.customer-form label) { color: var(--app-text) !important; }
html[data-app-theme] :is(.muted,.notice,.eyebrow,.prereg-muted,.prereg-eyebrow,.prereg-start-note,.prereg-access-state,.legal-hint,.ov2-draft-status,.ov2-add-device-row small,.appearance-scope,.appearance-heading p,.appearance-choice-description,.appearance-footer p,.intro,.contact) { color: var(--app-muted) !important; }
html[data-app-theme] :is(.required,.ov2-required-marker,[data-required-marker]) { color: var(--app-accent-text) !important; }

/* Arbeitsbereiche, Tabellen und Auswahllisten. */
html[data-app-theme] :is(table,.table,.enterprise-table) { color: var(--app-text); }
html[data-app-theme] :is(th,thead,.ov2-repair-table-head,.settings-summary article,.prereg-phone-summary,.detail,.ov2-source-choices,.legal-scroll,.ov2-extra-fields,.prereg-notice,.prereg-error,.status-summary) {
  background: var(--app-subtle) !important; color: var(--app-text) !important; border-color: var(--app-line) !important;
}
html[data-app-theme] :is(td,.table td,.enterprise-table td,.embedded-module td) { background: transparent !important; border-color: var(--app-line) !important; color: var(--app-text); }
html[data-app-theme] :is(tbody tr:nth-child(even),.ov2-multi-card,.ov2-repair-card .ov2-multi-card) { background: var(--app-surface-solid) !important; color: var(--app-text) !important; border-color: var(--app-line) !important; }
html[data-app-theme] tbody tr:hover { background: var(--app-hover) !important; }
html[data-app-theme] :is(.ov2-source-choices button,.ov2-step-menu button,.ov2-catalog-filter-options button,.ov2-multi-card>button,.ov2-condition-nav button,.ov2-device-tab) {
  color: var(--app-text) !important; border-color: var(--app-line) !important; background: var(--app-surface-solid) !important; border-radius: var(--app-control-radius) !important;
}
html[data-app-theme] :is(.ov2-source-choices,.ov2-step-menu,.ov2-catalog-filter-options,.prereg-tabs) button:is([aria-pressed="true"],[aria-current="step"]),
html[data-app-theme] :is(.ov2-multi-card.is-active,.ov2-device-tab.is-active) {
  background: var(--app-accent-soft) !important; color: var(--app-accent-text) !important; border-color: var(--app-accent-text) !important;
}
html[data-app-theme] :is(.ov2-source-choices button,.ov2-step-menu button,.ov2-condition-nav button) :is(strong,b,small) { color: inherit !important; }
html[data-app-theme] :is(.ov2-selected-device,.ov2-repair-card,.ov2-parts,.ov2-summary-device,.ov2-device-sources) :is(p,small,span.udl-label) { color: var(--app-muted) !important; }
html[data-app-theme] :is(.ov2-total,.dashboard-welcome,.dashboard-hero,.welcome-panel) { background: var(--app-summary) !important; color: #fff !important; border-color: #40516b !important; }
html[data-app-theme] :is(.ov2-total,.dashboard-welcome,.dashboard-hero,.welcome-panel) :is(h1,h2,p,small,span,strong) { color: #f1f5fc !important; }
html[data-app-theme] :is(dialog,.modal-content,.modal-dialog,.udl-modal__panel,.ov2-catalog-dialog,.ov2-customer-dialog,.ov2-media-dialog) {
  color: var(--app-text) !important; background: var(--app-surface-solid) !important; border-color: var(--app-line) !important; border-radius: var(--app-radius) !important; box-shadow: 0 24px 80px #00000045 !important;
}
html[data-app-theme] dialog::backdrop { background: #0e192c99; backdrop-filter: blur(5px); }
html[data-app-theme] :is(.ov2-signature,canvas[data-signature],.signature-pad canvas) { background: #fff !important; color-scheme: light; border-color: var(--app-line) !important; }
html[data-app-theme] .ov2-actions { border-top: 1px solid var(--app-line) !important; box-shadow: 0 -5px 24px #172b480a; }

/* Bestehende Fachansichten: gemeinsame OberflÃ¤chen auch ohne .panel-Klasse. */
html[data-app-theme] .app-pro .content-pro .dashboard-modern {
  --dash-ink:var(--app-text); --dash-muted:var(--app-muted); --dash-line:var(--app-line); --dash-surface:var(--app-surface-solid);
}
html[data-app-theme] :is(.dashboard-metric-card,.dashboard-panel,.dashboard-workshop-summary,.dashboard-quick-actions a,.workshop-card,.workshop-filters,.repair-toolbar,.repair-detail-info-card,.repair-detail-header,.payments-section,.status-tile,.customer-summary-card,.calendar-panel,.calendar-day,.prereg-known-customer) {
  background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; border-radius:var(--app-radius) !important; box-shadow:var(--app-shadow) !important;
}
html[data-app-theme] .app-pro :is(.repair-hero,.workshop-toolbar,.payments-toolbar) { background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] :is(.dashboard-quick-actions a[href*="new_order_v2"],.status-tile.active) { background:var(--app-primary) !important; color:#fff !important; }
html[data-app-theme] :is(.dashboard-quick-actions a[href*="new_order_v2"],.status-tile.active) :is(small,span,b) { color:#fff !important; }
html[data-app-theme] :is(.dashboard-metric-card,.dashboard-quick-actions a:not([href*="new_order_v2"]),.workshop-card,.repair-detail-info-card,.payments-section,.prereg-known-customer) :is(h2,h3,h4,b,strong) { color:var(--app-text) !important; }
html[data-app-theme] :is(.dashboard-metric-card,.dashboard-quick-actions a:not([href*="new_order_v2"]),.workshop-card,.workshop-filters,.repair-hero,.payments-toolbar,.prereg-known-customer,.ov2-header,.ov2-step>header) :is(p,small) { color:var(--app-muted) !important; }
html[data-app-theme] :is(.ov2-step-menu,.ov2-step-menu ol,.ov2-step-menu>summary,.ov2-condition-nav,.ov2-condition-options,.ov2-repair-menu,.ov2-selected-device-meta,.prereg-model,.prereg-customer-choices button) { background:var(--app-surface-solid) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] :is(.ov2-progress,.ov2-next>p,.prereg-brand small,.prereg-flow,.ov2-brand p,.ov2-summary-details>summary) { color:var(--app-muted) !important; }
html[data-app-theme] .dashboard-welcome .online { background:#d7f2e3 !important; color:#125b3a !important; }
html[data-app-theme] .dashboard-welcome .online :is(span,b,small) { color:#125b3a !important; }
html[data-app-theme] .application-header kbd { background:var(--app-subtle) !important; color:var(--app-muted) !important; border-color:var(--app-line) !important; }
html[data-app-theme] :is(.ov2-selected-device,.ov2-manager-head) { background:transparent !important; color:var(--app-text) !important; }
html[data-app-theme] :is(.ov2-selected-device strong,.ov2-manager-head h3,.ov2-multi-card strong,.ov2-multi-card>button,.ov2-multi-card>button strong,.ov2-extra-fields>summary,.ov2-incident-details>summary) { color:var(--app-text) !important; }
html[data-app-theme] :is(.ov2-selected-device,.ov2-summary-device,.ov2-multi-card) :is(small,p) { color:var(--app-muted) !important; }
html[data-app-theme] .ov2-summary :is(dt,dd,summary) { color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] .ov2-summary :is(h3,p) { color:var(--app-muted) !important; }
html[data-app-theme] .ov2-total { border-radius:var(--app-radius); padding:18px; }
html[data-app-theme] :is(.payments-workspace,.calendar-workspace,.workshop-modern) { background:transparent !important; color:var(--app-text) !important; }
html[data-app-theme] :is(.customers-list-toolbar,.customers-search-panel,.appointments-toolbar,.sprint9-filter,.sprint9-create,.payments-summary>div,.appointments-summary>div,.calendar-summary>div,.workshop-summary-card,.workshop-column-head,.workshop-column,.customer-profile-card,.customer-editor,.customer-edit-section,.customer-detail-section) {
  background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; border-radius:var(--app-radius) !important; box-shadow:var(--app-shadow) !important;
}
html[data-app-theme] :is(.workshop-column-head,.sprint9-create>summary,.calendar-form-note,.payments-count,.customers-result-count,.appointments-count) { background:var(--app-subtle) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] :is(.customers-list-toolbar,.customers-search-panel,.appointments-toolbar,.payments-toolbar,.payments-summary,.appointments-summary,.calendar-summary,.workshop-summary,.workshop-column-head) :is(h1,h2,h3,b,strong,label) { color:var(--app-text) !important; }
html[data-app-theme] :is(.customers-list-toolbar,.customers-search-panel,.appointments-toolbar,.payments-summary,.appointments-summary,.calendar-summary,.workshop-summary,.payments-filter-copy,.payments-section-head,.customers-results-summary,.payments-filters,.workshop-card) :is(p,small,label,span:not(.badge)) { color:var(--app-muted) !important; }
html[data-app-theme] :is(.customers-name-cell b,.customers-contact-cell b,.customers-contact-cell strong,.customers-order-cell span,.payment-order-cell b) { color:var(--app-text) !important; }
html[data-app-theme] :is(.customers-table-modern,.payments-table-modern) :is(small,.notice) { color:var(--app-muted) !important; }
html[data-app-theme] .payment-remaining { background:var(--app-accent-soft) !important; color:var(--app-accent-text) !important; }
html[data-app-theme="dark"] :is(.customers-number-cell,.payment-order-cell) a:not(.btn) { color:#a6caff !important; }
html[data-app-theme="dark"] .content-pro :is(h1,h2,h3,h4,legend,dt,dd) { color:var(--app-text) !important; }
html[data-app-theme="dark"] .ov2-body :is(summary,.ov2-summary-device h3,.ov2-selected-device strong,.ov2-manager-head h3,.ov2-multi-card strong) { color:var(--app-text) !important; }
html[data-app-theme] :is(.customers-name-cell>a,.customers-contact-cell>span,.customers-order-cell>b) { color:var(--app-text) !important; }
html[data-app-theme] .customers-name-meta small { background:var(--app-subtle) !important; color:var(--app-muted) !important; }
html[data-app-theme] .payment-remaining>b { background:var(--app-accent-soft) !important; color:var(--app-accent-text) !important; }
html[data-app-theme] .v5-live-dot { background:#d7f2e3 !important; color:#125b3a !important; }
html[data-app-theme] .workflow-note { color:var(--app-muted) !important; }
html[data-app-theme] :is(.ov2-multi-manager,.ov2-selected-repairs,.ov2-legal-reader,.udl-toast) { background:var(--app-surface-solid) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] :is(.ov2-legal-reader h4,.ov2-legal-check,.ov2-selected-device-visual) { color:var(--app-text) !important; }
html[data-app-theme] .ov2-legal-scroll { background:var(--app-subtle) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] :is(.ov2-legal-notice,.ov2-legal-hint,.ov2-multi-card>button span,.ov2-selected-device span) { color:var(--app-muted) !important; }
html[data-app-theme] :is(.s5-tabs,.s5-center-tabs,.s5-kpis article,.report-kpis article,.report-filter,.billing-summary,.s5-form,.s5-toolbar,.system-readonly-note,.device-search-console-fallbacks) {
  background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; box-shadow:var(--app-shadow) !important; border-radius:var(--app-radius) !important;
}
html[data-app-theme] :is(.s5-kpis,.report-kpis) :is(b,strong) { color:var(--app-text) !important; }
html[data-app-theme] :is(.s5-kpis,.report-kpis) :is(span,small) { color:var(--app-muted) !important; }
html[data-app-theme] :is(.s5-button,.billing-button,.report-button,.report-export a,.s5-tabs a,.s5-center-tabs a) {
  background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important;
  border-radius:var(--app-control-radius) !important; box-shadow:var(--app-control-shadow) !important; min-height:var(--app-control-height); font-weight:600;
}
html[data-app-theme] :is(.s5-button:not(.secondary):not(.danger),.billing-button:not(.secondary):not(.danger),.report-button.primary) { background:var(--app-primary) !important; color:#fff !important; border-color:var(--app-accent) !important; }
html[data-app-theme] :is(.s5-tabs a.active,.s5-center-tabs a.active) { background:var(--app-accent-soft) !important; color:var(--app-accent-text) !important; }
html[data-app-theme] :is(.s5-alert.info,.ov2-history-device dl>div) { background:var(--app-subtle) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] :is(.s5-note,.s5-feed,.report-empty) { color:var(--app-muted) !important; }
html[data-app-theme] :is(.ov2-condition-item,.ov2-condition-detail,.ov2-media-card,.ov2-media-grid figure,.ov2-model-card,.ov2-offer-cards,.ov2-condition-list,.ov2-condition-choices,.ov2-agreement-control,.ov2-media-toolbar) {
  background:var(--app-surface-solid) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; border-radius:var(--app-control-radius) !important;
}
html[data-app-theme] :is(.ov2-condition-item,.ov2-condition-detail,.ov2-media-card,.ov2-model-card,.ov2-offer-cards) :is(h3,strong,.ov2-condition-label,.ov2-condition-toggle) { color:var(--app-text) !important; }
html[data-app-theme] :is(.ov2-condition-item,.ov2-condition-detail,.ov2-media-card,.ov2-model-card) :is(p,small) { color:var(--app-muted) !important; }
html[data-app-theme] :is(.ov2-media-card,.ov2-agreement-channels) button[aria-pressed="true"],html[data-app-theme] .ov2-condition-toggle[aria-expanded="true"] { background:var(--app-accent-soft) !important; color:var(--app-accent-text) !important; border-color:var(--app-accent-text) !important; }
html[data-app-theme] .ov2-help-text { background:var(--app-surface-solid) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; box-shadow:var(--app-shadow); }
html[data-app-theme] :is(.ov2-condition-grid,.ov2-condition-choices label,.ov2-agreement-channels button,.ov2-help-button) { background:var(--app-surface-solid) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] .ov2-condition-choices label:has(input:checked) { background:var(--app-accent-soft) !important; color:var(--app-accent-text) !important; border-color:var(--app-accent-text) !important; }
html[data-app-theme] .ov2-agreement-control label { color:var(--app-accent-text) !important; }
html[data-app-theme] .ov2-condition-toggle:hover { background:var(--app-hover) !important; }
html[data-app-theme] .s5-panel>p { color:var(--app-muted) !important; }
html[data-app-theme] :is(.s5-kpis,.report-kpis) article.warning { border-top-color:#cd973c !important; }
html[data-app-theme] .s5-kpis article.danger { border-top-color:#df5670 !important; }
html[data-app-theme] .report-kpis article.accent { border-top-color:var(--app-accent-text) !important; }

/* Licht, Material und Tiefe entsprechend den drei EntwÃ¼rfen. */
html[data-app-theme] body { isolation:isolate; }
.app-design-atmosphere { position:fixed; inset:0; z-index:-1; pointer-events:none; background:url('../img/appearance-waves.svg') center top / cover no-repeat; opacity:var(--app-waves-opacity); }
html[data-app-theme] :is(.application-header,.ov2-header,.prereg-brand) {
  background:var(--app-raised) !important;
  border-bottom:1px solid var(--app-line);
  box-shadow:0 6px 22px #05172a12,inset 0 1px 0 var(--app-edge-light) !important;
}
html[data-app-theme="glass"] :is(.application-header,.ov2-header,.prereg-brand,.ov2-actions,.ov2-device-sources,.ov2-device-card,.ov2-repair-card,.ov2-workspace-customer) { background:var(--app-raised) !important; backdrop-filter:blur(18px) saturate(120%); }
html[data-app-theme] :is(.header-search,.top-search) { background:var(--app-input) !important; box-shadow:var(--app-input-shadow) !important; border:1px solid var(--app-line); border-radius:var(--app-control-radius); }
html[data-app-theme] :is(.header-search,.top-search) input { background:transparent !important; box-shadow:none !important; border-color:transparent !important; }
html[data-app-theme] input[type=search] { padding-left:36px !important; background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%237e95ae" stroke-width="1.8"%3E%3Ccircle cx="10.5" cy="10.5" r="6.5"/%3E%3Cpath d="m16 16 5 5"/%3E%3C/svg%3E') 11px center/17px 17px no-repeat,var(--app-input) !important; }
html[data-app-theme] :is(.header-search,.top-search) input[type=search] { background:transparent !important; padding-left:12px !important; }
html[data-app-theme] :is(input,select,textarea):focus-visible { outline-width:2px !important; outline-offset:2px; }
html[data-app-theme="dark"] :is(.ov2-required-warning,.prereg-error,.prereg-notice) { background:#322132 !important; color:#ffb4c5 !important; border:1px solid #825167 !important; }
html[data-app-theme="dark"] .ov2-required-warning :is(strong,p,span) { color:#ffb4c5 !important; }
html[data-app-theme] :is(.side-fixed,.sidebar) { box-shadow:inset -1px 0 0 #b7d5f41a,6px 0 28px #03132718; }
html[data-app-theme] :is(.side-fixed,.sidebar) a.active { background:linear-gradient(140deg,#314a67,#1b3049) !important; border:1px solid #6e8dad45; box-shadow:inset 4px 0 #ed174b,inset 0 1px 0 #b7d5f42b,0 4px 10px #00101b24 !important; }
html[data-app-theme] .app-pro>.side-fixed .sidebar-navigation-modern a.sidebar-navigation-item.active { background:linear-gradient(140deg,#314a67,#1b3049) !important; border-color:#6e8dad45 !important; box-shadow:inset 4px 0 #ed174b,inset 0 1px 0 #b7d5f42b,0 4px 10px #00101b24 !important; }
html[data-app-theme] :is(.dashboard-panel,.dashboard-metric-card,.dashboard-quick-actions a,.appearance-settings) { border-top-color:var(--app-edge-light) !important; }
html[data-app-theme] :is(.dashboard-quick-actions a,.btn,.udl-btn,.prereg-button,.prereg-body button):active:not(:disabled) { box-shadow:var(--app-input-shadow) !important; }
html[data-app-theme] .application-header .header-clock { background:var(--app-raised) !important; color:var(--app-text) !important; box-shadow:var(--app-control-shadow); }
html[data-app-theme] .application-header .header-clock * { color:inherit !important; }
html[data-app-theme] .application-header .top-clock { background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; box-shadow:var(--app-control-shadow); }
html[data-app-theme] .application-header .top-clock * { color:inherit !important; }
html[data-app-theme] .dashboard-welcome .v5-live-dot,html[data-app-theme] .dashboard-welcome .v5-live-dot * { color:#125b3a !important; }

/* Ein klarer Arbeitsplatz: Suchspalte, GerÃ¤tekarten und eine ruhige Summe. */
html[data-app-theme] .ov2-body { --ov2-gutter:clamp(16px,2vw,30px); min-height:100dvh; display:flex; flex-direction:column; padding-bottom:0 !important; }
html[data-app-theme] .ov2-body .ov2-layout { flex:1; align-content:start; max-width:1720px; margin-inline:auto; width:100%; }
html[data-app-theme] .ov2-body .ov2-layout { padding-bottom:calc(var(--ov2-action-space,90px) + 20px); }
html[data-app-theme] .ov2-body .ov2-header { min-height:82px; padding:14px var(--ov2-gutter); box-sizing:border-box; }
html[data-app-theme] .ov2-body .ov2-header h1 { font-size:24px; font-weight:650; letter-spacing:-.035em; }
html[data-app-theme] .ov2-body .ov2-header .ov2-brand img { width:48px; height:48px; }
html[data-app-theme] .ov2-body .ov2-header .ov2-brand>div>span { color:var(--app-muted); font-weight:600; }
html[data-app-theme] .ov2-body .ov2-progress { flex-wrap:wrap; gap:10px; margin-bottom:18px; font-size:13px; }
html[data-app-theme] .ov2-body .ov2-progress>span { flex:1 1 100%; font-weight:500; }
html[data-app-theme] .ov2-body .ov2-progress:has(.app-progress-segments) progress { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.app-progress-segments { display:flex; gap:8px; flex:1; height:9px; }
.app-progress-segments>span { flex:1; border:1px solid var(--app-line); border-radius:20px; background:var(--app-input); box-shadow:var(--app-input-shadow); }
.app-progress-segments>span.is-complete { background:var(--app-primary); border-color:#e8355c; box-shadow:inset 0 1px 0 #ff9db158,0 2px 6px #b60a3224; }
html[data-app-theme] .ov2-body .ov2-step-menu { background:transparent !important; border:0; box-shadow:none; }
html[data-app-theme] .ov2-body .ov2-step-menu>summary { width:fit-content; padding:8px 12px; font-size:12px; border:1px solid var(--app-line); border-radius:9px; background:var(--app-raised) !important; box-shadow:var(--app-control-shadow); }
html[data-app-theme] .ov2-body .ov2-step-menu ol { background:transparent !important; border:0; padding:0 0 12px; gap:5px; }
html[data-app-theme] .ov2-body .ov2-step-menu button { display:flex; align-items:center; gap:8px; background:transparent !important; border-radius:8px; color:var(--app-muted) !important; line-height:1.4; }
html[data-app-theme] .ov2-body .ov2-step-menu button[aria-current=step] { background:var(--app-raised) !important; color:var(--app-text) !important; box-shadow:inset 0 -2px #e62550,var(--app-control-shadow); }
html[data-app-theme] .ov2-body .ov2-actions { margin-top:auto; background:var(--app-raised) !important; box-shadow:0 -6px 24px #05132118,inset 0 1px 0 var(--app-edge-light); }
html[data-app-theme] .ov2-body .ov2-actions [data-action=save] { box-shadow:none !important; border-color:transparent !important; background:transparent !important; color:var(--app-accent-text) !important; }
html[data-app-theme] .ov2-body .ov2-actions [data-action=next] { padding-inline:22px; }
html[data-app-theme] .ov2-body .ov2-required-warning { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 12px; border-radius:10px; font-size:12px; line-height:1.5; }
html[data-app-theme] .ov2-body .ov2-required-warning[hidden] { display:none; }
html[data-app-theme] .ov2-body .ov2-required-warning button { min-height:34px; font-size:12px; padding:7px 10px; }
html[data-app-theme] .ov2-body :is(input,select,textarea,.udl-label) { font-weight:400; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-step[data-step=device] { padding:0; border:0; box-shadow:none !important; background:transparent !important; gap:16px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-step[data-step=device]>header h2 { margin:0; font-size:25px; font-weight:650; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-workspace { grid-template-columns:clamp(225px,20vw,290px) minmax(0,1fr); gap:16px; align-items:start; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-sources { padding:16px; gap:16px; position:sticky; top:18px; min-height:0; border-top-color:var(--app-edge-light) !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-title { font-size:16px; font-weight:650; margin:0; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-choices { flex-direction:column; background:transparent !important; padding:0; gap:6px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-choices button { justify-content:center; padding:10px 7px; flex:1; min-width:0; border:1px solid var(--app-line); background:var(--app-raised) !important; box-shadow:var(--app-control-shadow); }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-choices button strong { font-size:12px; font-weight:500; white-space:normal; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-choices button[aria-pressed=true] { background:linear-gradient(135deg,var(--app-accent-soft),var(--app-subtle)) !important; color:var(--app-accent-text) !important; border-color:var(--app-accent-text) !important; box-shadow:inset 0 1px 0 #fa7b9c45,0 3px 10px #d6194820; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-catalog-filters>button { grid-column:1/-1; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-catalog-filters select { font-size:12px; padding-inline:9px 22px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-sources .udl-btn--primary { background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; box-shadow:var(--app-control-shadow) !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-main { gap:14px; }
html[data-app-theme] .ov2-body[data-intake-step=device] :is(.ov2-device-card,.ov2-repair-card) { padding:16px; border-top-color:var(--app-edge-light) !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device { grid-template-columns:60px minmax(0,1fr) auto; gap:14px; padding:0 0 12px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device-visual { display:grid; place-items:center; width:60px; height:80px; border-radius:12px; background:var(--app-input); box-shadow:var(--app-input-shadow); border:1px solid var(--app-line); }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device-visual img { max-width:56px; max-height:76px; object-fit:contain; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device-visual svg { width:42px; height:64px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device strong { font-size:19px; font-weight:650; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device>div>small { display:none; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device>button { font-size:12px; padding:8px 10px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-identity-row { gap:10px; margin-bottom:12px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-extra-fields { border:1px solid var(--app-line); border-radius:9px; padding:0; overflow:hidden; background:var(--app-input) !important; box-shadow:var(--app-input-shadow); }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-extra-fields>summary { padding:12px; font-size:12px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-extra-fields[open]>.ov2-grid { padding:12px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-card>.ov2-extra-fields { background:transparent !important; border:0; box-shadow:none; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-card>.ov2-extra-fields>summary { padding:6px 0; font-size:11px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-combined-repair { border:0; background:transparent !important; box-shadow:none !important; padding:0; gap:14px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-manager-head { margin-bottom:12px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-manager-head h3 { font-size:16px; font-weight:650; }
html[data-app-theme] .ov2-body[data-intake-step=device] :is(.ov2-selected-repairs,.ov2-offer-cards) { background:transparent !important; border:0 !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] [data-open-repair-menu] { color:var(--app-accent-text) !important; border-color:var(--app-accent-text) !important; background:linear-gradient(140deg,var(--app-accent-soft),var(--app-surface-solid)) !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-table-head { border-radius:9px 9px 0 0; font-size:11px; padding:10px 12px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-multi-card { border-radius:0 !important; background:var(--app-input) !important; box-shadow:inset 0 -1px 0 var(--app-line) !important; gap:4px; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-multi-card.is-active { box-shadow:inset 3px 0 #e92750,inset 0 -1px 0 var(--app-line) !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-multi-card>button { background:transparent !important; border-radius:0 !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-multi-card:last-child { border-radius:0 0 9px 9px !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-multi-card strong { font-size:13px; font-weight:550; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-repair-card .ov2-multi-card>div button { color:var(--app-muted); background:transparent; box-shadow:none; }
html[data-app-theme] .ov2-body .ov2-incident-details { border-color:var(--app-line); }
html[data-app-theme] .ov2-body .ov2-summary-device { border-color:var(--app-line); }
/* Einheitliche GerÃ¤tezeilen: Die AuswahlflÃ¤che Ã¼berdeckt nicht die aktive Markierung. */
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-manager-head {
  flex-direction:row;
  align-items:center;
  flex-wrap:nowrap;
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-device-icon-action {
  flex:0 0 44px;
  width:44px;
  height:44px;
  min-width:44px;
  padding:10px;
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px;
  padding:4px;
  border:1px solid var(--app-line);
  border-radius:10px;
  background:var(--app-surface-solid) !important;
  box-shadow:none;
  overflow:visible;
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card.is-active {
  background:var(--app-accent-soft) !important;
  border-color:var(--app-accent-text) !important;
  box-shadow:inset 3px 0 var(--app-accent-text);
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > button {
  background:transparent !important;
  box-shadow:none !important;
  padding:10px;
  min-height:60px;
  border-radius:6px !important;
  color:var(--app-text) !important;
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > button span {
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.4;
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > div {
  gap:4px;
  padding:0 4px;
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > div button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  padding:8px;
  border:1px solid var(--app-line);
  border-radius:8px;
  background:var(--app-raised);
  color:var(--app-text);
  box-shadow:var(--app-control-shadow);
}
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > div button[data-remove-device] { color:var(--app-accent-text); }
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > div button:hover { background:var(--app-hover); border-color:var(--app-muted); }
html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > div svg { width:18px; height:18px; flex:none; }
@media(max-width:600px),(pointer:coarse) {
  html[data-app-theme] .ov2-body .ov2-device-manager-right .ov2-multi-card > div button { width:44px; height:44px; min-width:44px; min-height:44px; }
}

/* Dynamische Treffer und Kundenauswahl mÃ¼ssen dieselbe OberflÃ¤che verwenden. */
html[data-app-theme] :is(.ov2-result,.ov2-selected-customer,.ov2-customer-form,.ov2-customer-editor,.prereg-known-customer,.prereg-customer-choices button,[data-selected-public-model]) {
  background:var(--app-raised) !important; color:var(--app-text) !important;
  border-color:var(--app-line) !important; border-radius:var(--app-radius); box-shadow:var(--app-shadow) !important;
}
html[data-app-theme] :is(.ov2-result,.ov2-selected-customer,.ov2-customer-form,.ov2-customer-editor,.prereg-known-customer,.prereg-customer-choices) :is(strong,b,h2,h3,legend,label) { color:var(--app-text) !important; }
html[data-app-theme] :is(.ov2-result,.ov2-selected-customer,.ov2-customer-editor,.prereg-known-customer,.prereg-customer-choices) :is(small,p,span:not(.required)) { color:var(--app-muted) !important; }
html[data-app-theme] .ov2-customer-card-toggle { background:transparent !important; color:var(--app-text) !important; border:0; box-shadow:none !important; border-radius:10px; }
html[data-app-theme] .ov2-customer-card-toggle:hover,html[data-app-theme] .ov2-result:hover { background:var(--app-hover) !important; }
html[data-app-theme] .ov2-selected-customer { border-left:3px solid var(--app-accent-text) !important; }
html[data-app-theme] .ov2-selected-customer-actions { border-color:var(--app-line) !important; background:transparent !important; }
html[data-app-theme] .ov2-duplicate-warning { background:var(--app-subtle) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] .ov2-internal-customer-note { background:var(--app-subtle) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; border-left:3px solid #b89a57 !important; }
html[data-app-theme] .ov2-internal-customer-note :is(strong,p) { color:var(--app-text) !important; }
html[data-app-theme] .ov2-whatsapp-heading,.ov2-whatsapp-choice { color:var(--app-muted); }
html[data-app-theme] .prereg-body fieldset { border-color:var(--app-line); }
html[data-app-theme] .prereg-flow [aria-current=step] { color:var(--app-accent-text); }
html[data-app-theme] :is(.header-search-results,.header-search-results-head,.ov2-repair-menu-choice,.ov2-repair-menu-options,.ov2-repair-picker-modes) { background:var(--app-raised) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] .header-search-results :is(a,b,strong,span),html[data-app-theme] .ov2-repair-menu-choice :is(strong,b) { color:var(--app-text) !important; }
html[data-app-theme] .header-search-results small,html[data-app-theme] .ov2-repair-menu-choice small { color:var(--app-muted) !important; }
html[data-app-theme] :is(.header-search-results a,.ov2-repair-menu-choice):hover { background:var(--app-hover) !important; }
html[data-app-theme] .header-result-icon { background:var(--app-subtle) !important; color:var(--app-muted) !important; }
html[data-app-theme] .ov2-menu-action { color:var(--app-accent-text) !important; }
html[data-app-theme] :is(.ov2-address-options,.ov2-address-option,.ov2-choice-explanation,.ov2-offer-card) { background:var(--app-surface-solid) !important; color:var(--app-text) !important; border-color:var(--app-line) !important; }
html[data-app-theme] .ov2-address-option:hover { background:var(--app-hover) !important; }
html[data-app-theme] .ov2-address-status { color:var(--app-muted) !important; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-add-device-row { border:0; padding:4px 0 8px; flex-direction:column; gap:8px; text-align:center; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-add-device-row small { flex:0; max-width:100%; font-size:11px; }
html[data-app-theme] .ov2-body .ov2-summary { padding:20px; }
html[data-app-theme] .ov2-body .ov2-summary-details>summary { font-size:17px; font-weight:650; margin-bottom:14px; }
html[data-app-theme] .ov2-body .ov2-summary-device h3 { font-size:14px; font-weight:650; margin:10px 0; color:var(--app-text) !important; }
html[data-app-theme] .ov2-body .ov2-summary-device p { font-size:13px; padding:10px 0; border-bottom:1px solid var(--app-line); }
html[data-app-theme] .ov2-body .ov2-total { background:transparent !important; border-radius:0; padding:20px 0 0; color:var(--app-text) !important; border-top:1px solid var(--app-line) !important; }
html[data-app-theme] .ov2-body .ov2-total :is(span,strong,b,small) { color:var(--app-text) !important; }
html[data-app-theme] .ov2-body .ov2-total>strong { font-size:30px; margin:8px 0 18px; }
html[data-app-theme] .ov2-body[data-intake-step=device] [data-balance] { font-size:13px; line-height:1.8; }
.ov2-workspace-customer { display:flex; align-items:center; gap:14px; padding:12px 16px; border:1px solid var(--app-line); border-top-color:var(--app-edge-light); border-radius:var(--app-radius); background:var(--app-raised); box-shadow:var(--app-shadow); }
.ov2-workspace-customer>strong { font-size:16px; font-weight:650; }
.ov2-workspace-customer>button { margin-left:auto; }
.ov2-workspace-avatar { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--app-raised); box-shadow:var(--app-control-shadow); border:1px solid var(--app-line); }
.ov2-workspace-avatar svg { width:22px; height:22px; }
.ov2-workspace-customer-status { font-size:12px; color:#247552; }
html[data-app-theme="dark"] .ov2-workspace-customer-status { color:#6be2b7; }
.ov2-workspace-customer-status::before { content:'\2713'; margin-right:6px; font-weight:700; }
.ov2-workspace-device-tabs { display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--app-line); margin:-6px 0 18px; }
.ov2-workspace-device-tabs button { padding:10px 12px; min-height:40px; border:0; background:transparent; color:var(--app-muted); font-size:13px; cursor:pointer; border-radius:7px 7px 0 0; }
.ov2-workspace-device-tabs button[aria-current=true] { box-shadow:inset 0 -3px #ed2654; color:var(--app-accent-text); font-weight:650; background:linear-gradient(180deg,transparent,var(--app-accent-soft)); }
@media(min-width:1025px) {
 html[data-app-theme] .ov2-body:not([data-intake-step=customer]) .ov2-layout { grid-template-columns:minmax(0,1fr) clamp(265px,23vw,340px); gap:18px; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-summary { margin-top:140px; }
}
@media(max-width:1200px) and (min-width:1025px) {
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-workspace { grid-template-columns:205px minmax(0,1fr); gap:12px; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-choices { flex-direction:column; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device { grid-template-columns:50px minmax(0,1fr); }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device>button { grid-column:2; justify-self:start; }
}
@media(max-width:1024px) {
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-workspace { grid-template-columns:1fr; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-sources { min-height:0; position:static; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-title { display:none; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-summary { margin-top:16px; }
}
@media(max-width:600px) {
 html[data-app-theme] .ov2-body .ov2-header h1 { font-size:19px; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device { grid-template-columns:52px minmax(0,1fr); }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device-visual { width:52px; height:74px; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device-visual img { max-width:48px; max-height:70px; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-selected-device>button { grid-column:2; justify-self:start; }
 html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-identity-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ov2-workspace-customer { flex-wrap:wrap; gap:8px; padding:10px; }
 .ov2-workspace-customer-status { display:none; }
 .ov2-workspace-customer>strong { font-size:14px; }
 .ov2-workspace-customer>button { padding:8px; }
 .app-progress-segments { gap:4px; height:7px; }
}

/* Designauswahl: drei gleich groÃŸe Vorschauen, auch mit Tastatur bedienbar. */
html[data-app-theme] .appearance-settings { grid-column:1/-1; padding: clamp(20px,3vw,32px); scroll-margin-top: 90px; margin-bottom: 22px; }
.appearance-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.appearance-heading h2 { margin:5px 0 8px; font-size:25px; }
.appearance-heading p { margin:0; max-width:660px; line-height:1.6; }
.appearance-current { white-space:nowrap; padding:8px 12px; border-radius:30px; background:var(--app-subtle); font-size:12px; font-weight:600; }
.appearance-choices { border:0; padding:0; margin:0; min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.appearance-choices>legend { padding:0 0 12px; font-size:14px; font-weight:600; }
.appearance-choice { position:relative; display:block; min-width:0; cursor:pointer; }
.appearance-choice>input { position:absolute; opacity:0; width:1px; height:1px; }
.appearance-choice-content { display:block; height:100%; padding:8px 8px 18px; border:2px solid var(--app-line); border-radius:16px; background:var(--app-surface-solid); transition:border-color 160ms,box-shadow 160ms; }
.appearance-choice:hover .appearance-choice-content { border-color:var(--app-muted); }
.appearance-choice>input:checked+.appearance-choice-content { border-color:var(--app-accent-text); box-shadow:0 0 0 3px var(--app-accent-soft); }
.appearance-choice>input:focus-visible+.appearance-choice-content { outline:2px solid var(--app-focus); outline-offset:4px; }
.appearance-choice-title { display:flex; justify-content:space-between; align-items:center; padding:14px 8px 6px; font-size:16px; font-weight:650; color:var(--app-text); }
.appearance-choice-check { opacity:0; color:var(--app-accent-text); font-weight:800; }
.appearance-choice>input:checked+.appearance-choice-content .appearance-choice-check { opacity:1; }
.appearance-choice-description { display:block; padding:0 8px; font-size:13px; line-height:1.55; }
.appearance-mini { display:flex; height:152px; border-radius:10px; overflow:hidden; background:linear-gradient(130deg,#f5f6f9,#e1e7f0); --mini-card:#fff; --mini-line:#dce3ed; }
.appearance-mini--glass { background:radial-gradient(ellipse at 100% 0%,#ba8a9f,transparent 70%),radial-gradient(ellipse at 0% 100%,#7790af,transparent 80%),#d4dfef; --mini-card:#ffffffe0; }
.appearance-mini--dark { background:linear-gradient(130deg,#1c2a3d,#101a28); --mini-card:#28394e; --mini-line:#52647c; }
.appearance-mini-nav { width:18%; background:linear-gradient(140deg,#263b54,#101e30); padding:17px 8px; display:flex; flex-direction:column; gap:12px; }
.appearance-mini-nav i { height:4px; background:#71839d; border-radius:4px; }
.appearance-mini-nav i:nth-child(2) { height:14px; background:#b5223e; margin:0 -4px; }
.appearance-mini-main { padding:14px 12px; flex:1; min-width:0; }
.appearance-mini-top { display:block; width:55%; height:6px; background:var(--mini-line); border-radius:4px; margin-bottom:12px; }
.appearance-mini-columns { display:grid; grid-template-columns:1.5fr 1fr; gap:8px; }
.appearance-mini-columns>span { background:var(--mini-card); border:1px solid #ffffff18; box-shadow:0 4px 9px #10213d14,inset 0 1px 0 #ffffff30; border-radius:8px; padding:12px 8px; height:74px; }
.appearance-mini-columns i { display:block; height:5px; background:var(--mini-line); border-radius:4px; margin-bottom:9px; }
.appearance-mini-columns b { display:block; width:50%; height:12px; background:#b5223e; border-radius:4px; }
.appearance-mini-footer { display:flex; justify-content:space-between; margin-top:10px; }
.appearance-mini-footer i { width:26%; height:13px; border-radius:4px; background:var(--mini-card); }
.appearance-mini-footer b { width:30%; height:13px; border-radius:4px; background:linear-gradient(130deg,#ce3855,#9c1b31); }
.appearance-options { margin-top:25px; display:flex; gap:28px; align-items:center; padding:20px 0; border-top:1px solid var(--app-line); }
.appearance-options>label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; flex:0 1 320px; }
.appearance-options select { width:100%; padding:10px 12px; }
.appearance-specimen { display:flex; flex-direction:column; gap:5px; }
.appearance-specimen strong { font-size:23px; font-weight:600; }
.appearance-specimen span { color:var(--app-muted); font-size:13px; }
.appearance-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding-top:18px; border-top:1px solid var(--app-line); }
.appearance-footer p { flex:1 1 220px; margin:0; font-size:13px; line-height:1.5; }
.appearance-footer>div { display:flex; flex-wrap:wrap; gap:10px; }
.appearance-footer button { padding:10px 16px; cursor:pointer; }
.appearance-scope { margin:16px 0 0; font-size:12px; line-height:1.6; }
.appearance-feedback { padding:12px 16px; border:1px solid var(--app-line); border-radius:10px; background:var(--app-subtle); color:var(--app-text); }
.appearance-feedback.is-error { border-color:var(--app-accent-text); }

@media(max-width:1000px) {
  .appearance-heading { flex-wrap:wrap; gap:12px; }
  .appearance-choices { gap:12px; }
  .appearance-mini { height:130px; }
}
@media(max-width:680px) {
  html[data-app-theme] { --app-control-height:44px; --app-radius:14px; }
  html[data-app-theme] :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]) { font-size:16px; }
  .appearance-choices { grid-template-columns:1fr; }
  .appearance-choice-content { display:grid; grid-template-columns:116px minmax(0,1fr); column-gap:8px; padding:8px; }
  .appearance-mini { grid-row:1/3; height:105px; }
  .appearance-mini-nav { padding:12px 4px; gap:9px; }
  .appearance-mini-main { padding:12px 7px; }
  .appearance-mini-columns { grid-template-columns:1fr; }
  .appearance-mini-columns>span { height:44px; padding:7px; }
  .appearance-mini-columns>span+span { display:none; }
  .appearance-mini-columns i { margin-bottom:5px; height:3px; }
  .appearance-choice-title { font-size:15px; padding:6px 6px 3px; }
  .appearance-choice-description { font-size:12px; padding:0 6px; }
  .appearance-options { flex-direction:column; align-items:stretch; gap:18px; }
  .appearance-options>label { flex-basis:auto; }
  .appearance-specimen strong { font-size:20px; }
  .appearance-footer>div { width:100%; }
  .appearance-footer button { flex:1; }
  html[data-app-theme] .appearance-settings { padding:18px; scroll-margin-top:80px; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-app-theme] { --app-motion:0ms; }
  .appearance-choice-content { transition:none; }
}
@media(forced-colors:active) {
  .appearance-choice>input:checked+.appearance-choice-content { outline:3px solid Highlight; }
  .appearance-choice-check { forced-color-adjust:none; }
}

/* Der Kundenkopf nutzt dieselben Textfarben wie seine ThemenoberflÃ¤che. */
html[data-app-theme] .customer-enterprise .customer-hero h2 { color:var(--app-text) !important; }
html[data-app-theme] .customer-enterprise .customer-hero :is(p,.eyebrow) { color:var(--app-muted) !important; }

/* ZusammenhÃ¤ngende AuftragsÃ¼bersicht in allen Schritten und Designs. */
html[data-app-theme] .ov2-body .ov2-summary { border-radius:var(--app-radius); }
html[data-app-theme] .ov2-body .ov2-summary-device { padding:14px; border:1px solid var(--app-line); border-radius:var(--app-control-radius); background:var(--app-input); box-shadow:var(--app-input-shadow); }
html[data-app-theme] .ov2-body .ov2-summary .ov2-device-manager-right { padding:16px 0 0; margin-top:18px; border:0; border-top:1px solid var(--app-line); border-radius:0; background:transparent !important; box-shadow:none !important; }
html[data-app-theme] .ov2-body .ov2-summary .ov2-draft-status { position:sticky; bottom:0; margin:16px 0 0; padding:12px 14px; border:1px solid var(--app-line); border-radius:var(--app-control-radius); background:var(--app-surface-solid); color:var(--app-text) !important; box-shadow:var(--app-control-shadow); font-size:12px; line-height:1.5; overflow-wrap:anywhere; z-index:2; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-choices>.udl-field { margin:8px 0; width:100%; min-width:0; }
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-source-choices>[data-device-source] { flex:none; width:100%; }

/* Sichtbare Reparaturquelle und durchsuchbare Angebote am gewÃ¤hlten GerÃ¤t. */
html[data-app-theme] .ov2-body .ov2-repair-catalog { display:block; width:100%; min-width:0; max-width:none; margin:12px 0 18px; }
html[data-app-theme] .ov2-body .ov2-repair-source-buttons { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
html[data-app-theme] .ov2-body .ov2-repair-source-buttons button { flex:1 1 180px; }
html[data-app-theme] .ov2-body .ov2-repair-source-buttons button[aria-pressed=true] { background:var(--app-accent-soft)!important; color:var(--app-accent-text)!important; border-color:var(--app-accent-text)!important; box-shadow:inset 0 -2px var(--app-accent-text); }
html[data-app-theme] .ov2-body .ov2-inline-repair-options { display:grid; gap:8px; max-height:280px; overflow:auto; overscroll-behavior:contain; padding:3px; scrollbar-gutter:stable; }
html[data-app-theme] .ov2-body .ov2-inline-repair-options .ov2-repair-menu-choice { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; width:100%; padding:12px; text-align:left; border:1px solid var(--app-line); border-radius:var(--app-control-radius); font:inherit; }
html[data-app-theme] .ov2-body .ov2-inline-repair-options .ov2-repair-menu-choice>span:first-child { min-width:0; }
html[data-app-theme] .ov2-body .ov2-inline-repair-options .ov2-repair-menu-choice>b { max-width:140px; white-space:normal; text-align:right; font-size:.875rem; }
html[data-app-theme] .ov2-body .ov2-inline-repair-options :is(strong,small) { display:block; overflow-wrap:anywhere; }
html[data-app-theme] .ov2-body .ov2-inline-repair-options small { margin-top:4px; color:var(--app-muted); font-size:12px; }
html[data-app-theme] .ov2-body .ov2-inline-repair-options .ov2-menu-action { grid-column:1/-1; font-size:12px; }
html[data-app-theme] .ov2-body .ov2-inline-repair-options button:disabled { opacity:.6; cursor:not-allowed; }
html[data-app-theme] .ov2-summary .ov2-summary-part { display:block; margin-top:4px; color:var(--app-muted); font-size:12px; line-height:1.4; }

/* Kontakteinstellungen dÃ¼rfen keine implizite zusÃ¤tzliche Rasterspalte erzeugen. */
html[data-app-theme] #settings-order-contact{min-width:0;max-width:100%}
html[data-app-theme] #settings-order-contact .customer-form{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
html[data-app-theme] #settings-order-contact .customer-form>.full{grid-column:1/-1;min-width:0;max-width:100%}
html[data-app-theme] #settings-order-contact :is(input,textarea){box-sizing:border-box;width:100%;min-width:0;max-width:100%}
/* Neue Freigabekarten und deren Bedienelemente nutzen dieselben Themenwerte. */
html[data-app-theme] :is(.portal-approval-staff,.public-approval){color:var(--app-text);border-color:var(--app-line)}
html[data-app-theme] .portal-approval-form button[value="rejected"]{background:var(--app-raised)!important;color:var(--app-text)!important;border-color:var(--app-line)!important}
/* Altere Verwaltungsansichten verwenden ebenfalls ausschlieÃŸlich die Themenpalette. */
html[data-app-theme] .app-pro .content-pro :is(.notifications-modern,.devices-list-modern,.intake-photos-modern){background:transparent!important;color:var(--app-text)!important}
html[data-app-theme] .app-pro .content-pro :is(.md-module-tabs,.logs-limit-note,.logs-summary-card,.logs-type-nav,.notifications-empty,.notifications-summary>div,.notifications-placeholder-grid>div,.intake-order-summary,.intake-state,.intake-check-progress,.intake-overview>div,.intake-file-field,.check-card,.backup-workspace .quick){background:var(--app-raised)!important;color:var(--app-text)!important;border-color:var(--app-line)!important;box-shadow:var(--app-control-shadow)}
html[data-app-theme] .app-pro .content-pro :is(.logs-modern,.notifications-modern,.intake-photos-modern,.devices-list-modern,.backup-workspace) :is(p,small,label,td){color:var(--app-muted)!important}
html[data-app-theme] .app-pro .content-pro :is(.logs-summary-card,.notifications-summary,.notifications-placeholder-grid,.intake-overview,.intake-order-summary,.intake-state,.intake-check-progress,.check-card) :is(span,b,strong){color:var(--app-text)!important}
html[data-app-theme] .app-pro .content-pro :is(.logs-type-nav,.md-module-tabs) a{background:transparent!important;color:var(--app-muted)!important;border-color:transparent!important}
html[data-app-theme] .app-pro .content-pro :is(.logs-type-nav a.is-active,.md-module-tabs a[aria-current="page"]){background:var(--app-accent-soft)!important;color:var(--app-accent-text)!important;border-color:var(--app-accent-text)!important}
html[data-app-theme] .app-pro .content-pro :is(.logs-type-nav,.md-module-tabs) a :is(b,small,span){color:inherit!important}
html[data-app-theme] .app-pro .content-pro .notifications-placeholder-grid>span{background:var(--app-raised)!important;border-color:var(--app-line)!important;color:var(--app-text)!important}
html[data-app-theme] .app-pro .content-pro .intake-check-progress progress{accent-color:var(--app-accent)}
html[data-app-theme] .app-pro .content-pro :is(.notifications-summary>article,.intake-overview>article){background:var(--app-raised)!important;color:var(--app-text)!important;border-color:var(--app-line)!important;box-shadow:var(--app-control-shadow)}
html[data-app-theme] .app-pro .content-pro :is(.notifications-modern,.intake-photos-modern,.devices-list-modern,.logs-modern) label>span{color:var(--app-muted)!important}
html[data-app-theme] .app-pro .content-pro .intake-photos-modern input[type="file"]{background:var(--app-input)!important;color:var(--app-text)!important;border-color:var(--app-line)!important}
html[data-app-theme] .app-pro .content-pro .intake-order-summary .badge{background:var(--app-accent-soft)!important;color:var(--app-accent-text)!important;border-color:var(--app-line)!important}

/* Nach der Gerätewahl gehört die gesamte Breite den Geräte- und Reparaturdaten. */
html[data-app-theme] .ov2-body[data-intake-step=device] .ov2-device-workspace.is-compact{grid-template-columns:minmax(0,1fr)}
html[data-app-theme] .ov2-device-workspace.is-compact>.ov2-device-sources{display:none}
