/* Appearance controls preserve the real product colours. */
.tj-theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:40px;padding:7px 10px;background:transparent;border:1px solid var(--line,#d8dce7);border-radius:6px;color:var(--ink,#191a20);font:inherit;font-size:12px;line-height:1.2;cursor:pointer;flex-shrink:0;text-transform:none;letter-spacing:normal}
.tj-theme-toggle>span{display:inline-flex;align-items:center;text-align:center}.tj-theme-toggle svg{flex-shrink:0}
.tj-theme-toggle:hover{background:rgba(121,146,193,.13)}.tj-theme-toggle:focus-visible{outline:2px solid #638be4;outline-offset:3px}
html[data-tj-theme="dark"]{color-scheme:dark;--paper:#191e29;--ink:#eff1f5;--olive:#9db6ff;--cobalt:#9db6ff;--terracotta:#f0a18d;--mustard:#e8bd64;--line:#394152;--muted:#bdc4d2;--red:#f29788;--cream:#111620;--white:#191e29;--olive2:#b5c7fb;--shadow:0 18px 55px #0004}
html[data-tj-theme="dark"] body{background:#111620;color:var(--ink)}
html[data-tj-theme="dark"] input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="color"]),html[data-tj-theme="dark"] textarea,html[data-tj-theme="dark"] select{background:#141b27;color:#eff1f5;border-color:#586176}
html[data-tj-theme="dark"] input::placeholder,html[data-tj-theme="dark"] textarea::placeholder{color:#a6afc1;opacity:1}
html[data-tj-theme="dark"] :is(input[type="radio"],input[type="checkbox"]){accent-color:#9db6ff}
html[data-tj-theme="dark"] :is(button,input,select,textarea):focus-visible{outline-color:#abc1ff}
@media print{.tj-theme-toggle{display:none!important}}
.tj-config-theme-toggle{margin-top:12px;align-self:flex-start;max-width:100%}
html[data-tj-theme="dark"] :is(.app,.main,.panel,.screen){background:#111620;color:var(--ink)}
html[data-tj-theme="dark"] :is(.sidebar,.card,.summarybox,.frame-editor,.saved-room,.saved-frame,.frame-readonly,.room-form,.box,.group-card,.design-group-card,.design-studio,.studio-controls,.appearance-choice,.personalization-card,.module-card,.sketch-card,.mobile-catalog,.mobile-category-panel,.module-options,.dialog-panel,.trajkot-dialog,.trajkot-dialog-shell,.series-intro-dialog,.series-intro-actions){background:#191e29;color:var(--ink);border-color:#394152}
html[data-tj-theme="dark"] :is(.lead,.help,.note,.draft,.stepnav,.brandline,.card p,.kicker,.room-caption,.header-title,.header-stage,.restart-form,.studio-controls p,.series-intro-lead,.series-intro-tail,.series-intro-end,.series-intro-actions>span){color:var(--muted)}
html[data-tj-theme="dark"] :is(h1,h2,h3,h4,legend,.card strong,.section-title,.label,.stepnav.active,.studio-heading,.personalization-title){color:#eff1f5}
html[data-tj-theme="dark"] :is(.card.selected,.option.selected,.stepnav.active,.linea-profile-option[aria-pressed="true"]){background:#253657;border-color:#a5bdff;color:#eff1f5}
html[data-tj-theme="dark"] :is(.btn.primary,.actions button:not(.secondary),.counter button,.qty button){background:#9db6ff;border-color:#9db6ff;color:#111a2d}
html[data-tj-theme="dark"] :is(.btn.secondary,.linea-profile-option,.design-choice-button,.appearance-model){background:#202a3b;border-color:#586176;color:#eff1f5}
html[data-tj-theme="dark"] :is(.btn,.card,.linea-profile-option):disabled{opacity:.5}
html[data-tj-theme="dark"] :is(.series-intro-shell,.series-intro-scroll){background:#191e29}
html[data-tj-theme="dark"] :is(.series-intro-heading span,.series-intro-eyebrow){color:#b5c9ff}
html[data-tj-theme="dark"] :is(.series-intro-section,.series-intro-end){border-color:#394152}
html[data-tj-theme="dark"] .series-guide-panel{background:#202a3b;border-color:#475165}
html[data-tj-theme="dark"] .series-guide-panel figcaption{color:#cbd2df;border-color:#475165}
html[data-tj-theme="dark"] .series-guide-panel figcaption strong{color:#f0f3fa}
html[data-tj-theme="dark"] .series-guide-labels{background:#202a3b;color:#f0f3fa;padding-top:12px}
html[data-tj-theme="dark"] .sidebar .logo{background:#fffdf9;padding:6px;border-radius:5px}
/* Important: actual device/finish previews deliberately retain their original colours. */
html[data-tj-theme="dark"] :is(.series-guide-image,.linea-profile-option>img,.assembly-stage,.studio-preview,.plana-studio-preview,.design-stage){background:#fdfcf9}
html[data-tj-theme="dark"] .sketch-card .sketch-art{background:#fdfcf9;border-radius:4px}
html[data-tj-theme="dark"] .series-intro-dialog::backdrop{background:#02050acb}
html[data-tj-theme="dark"] :is(.inline-info,.info-popover,.popover,.usb-series-tip){background:#202a3b;color:#e9edf6;border-color:#59647a}
html[data-tj-theme="dark"] .active .stepnum{background:#9db6ff;border-color:#9db6ff;color:#111a2d}
@media(max-width:900px){.tj-config-theme-toggle{margin:8px 0 0;min-height:36px;padding:6px 9px}}
/* Contrast audit: text and translucent light cards need explicit dark surfaces. */
html[data-tj-theme="dark"] .house-margin{background:#191e29;border-color:#394152}
html[data-tj-theme="dark"] .house-margin>.trajkot-home-logo{filter:none;background:#fffdf9;padding:5px;border-radius:4px}
html[data-tj-theme="dark"] :is(.intro-copy,.intro-copy p,.function-card small,.property-choice small,.card small,.room-note,.picked-status){color:#bdc4d2}
html[data-tj-theme="dark"] :is(.intro-path,.property-choice,.space-choice,.function-card,.sidebar .stepnav,.design-series-card,.mesh-popover,.regular-key-builder,.regular-key-designs,.appearance-choice>summary){background:#1d2738;color:#eff1f5;border-color:#46536b}
html[data-tj-theme="dark"] :is(.intro-path:hover,.property-choice.selected,.space-choice.is-added,.function-card.selected,.sidebar .stepnav.active,.design-series-card.selected,.appearance-choice>summary:hover,.appearance-choice[open]>summary){background:#293b60;color:#eff1f5;border-color:#a5bdff}
html[data-tj-theme="dark"] .sidebar .stepnav:disabled{opacity:.72;color:#bdc4d2}
html[data-tj-theme="dark"] :is(.property-contour,.room-contour,.function-card .function-icon,.appearance-choice>summary strong,.mesh-popover>strong){color:#b5c9ff}
html[data-tj-theme="dark"] :is(.appearance-choice>summary>span,.mesh-popover p){color:#bdc4d2}
html[data-tj-theme="dark"] .regular-key-sizes input:checked+span{background:#293b60;color:#eff1f5}
html[data-tj-theme="dark"] img{mix-blend-mode:normal}
html[data-tj-theme="dark"] .configuration-intro:after{display:none}
html[data-tj-theme="dark"] .guide-tip .tip-illustration img{mix-blend-mode:normal}

html[data-tj-theme="dark"] .house-margin>.trajkot-home-logo{background:transparent;filter:none;padding:0}
html[data-tj-theme="dark"] .sidebar .logo{background:transparent;padding:0}
html[data-tj-theme="dark"] :is(.field,.room,.heat-section,.socket-cell,.control-point,.cp-fn,.extra-card,.personalization-section,.guide-tip,.usb-series-tip){background:#191e29;color:#eff1f5;border-color:#394152}
html[data-tj-theme="dark"] :is(.btn.olive,.card.selected .tick){background:#9db6ff;color:#111a2d}
html[data-tj-theme="dark"] :is(.summaryline,.heat-install,.extras-summary){border-color:#394152}

/* The toggle is a normal header action. It always reserves space above the stage list. */
.sidebar .header-account-actions{align-items:center;gap:8px 14px}
.sidebar .tj-config-theme-toggle{position:static;margin:0;align-self:center;min-height:36px;flex:none}
.sidebar .header-meta>.tj-config-theme-toggle{margin:8px 0}
@media(max-width:900px){.sidebar .header-account-actions{row-gap:8px}.sidebar .tj-config-theme-toggle{min-height:36px;margin:0;padding:6px 9px}}

/* Header actions and appearance have their own rows, above every stage list. */
.sidebar .header-meta{width:100%;gap:12px}
.sidebar .header-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:2px 0 0}
.sidebar .header-account-actions .restart-form{width:100%;height:auto;min-height:42px;padding:7px 8px;justify-content:center;align-items:center;white-space:normal;border:1px solid var(--line);border-radius:5px;text-align:center;text-decoration:none;font:400 12px/1.35 var(--config-font);color:var(--ink);background:var(--paper)}
.sidebar .header-account-actions .restart-form:hover{border-color:var(--olive);color:var(--olive)}
.sidebar .header-account-actions .account-nav-link{grid-column:1/-1;min-height:30px;justify-content:flex-start;background:transparent;border:0;padding:2px 0;text-align:left;color:var(--muted);font-size:13px}
.sidebar .header-account-actions .account-nav-link:after{content:'↗';margin-left:auto;font-size:14px}
.sidebar .header-account-actions [hidden]{display:none!important}
.sidebar .header-display-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 0;border-block:1px solid var(--line);margin:0}
.header-display-label{font-size:12px;color:var(--muted)}
.sidebar .header-display-actions .tj-config-theme-toggle{position:static;margin:0;align-self:center;min-height:36px;padding:6px 9px;flex:none}
@media(max-width:900px){
 .sidebar .header-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;align-items:center}
 .sidebar .header-title{grid-column:1/-1}
 .sidebar .header-account-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;margin:0;gap:7px}
 .sidebar .header-account-actions .restart-form{width:auto;min-height:36px;flex:1 1 110px;white-space:nowrap;padding:7px 9px;font-size:12px}
 .sidebar .header-account-actions .account-nav-link{flex:0 1 auto;padding:4px 8px;min-height:36px}
 .sidebar .header-account-actions .account-nav-link:after{margin-left:7px}
 .sidebar .header-display-actions{grid-column:2;grid-row:3;width:auto;border:0;padding:0;gap:8px}
 .sidebar .header-stage{grid-column:1;grid-row:3;margin:0;min-height:36px}
 .header-display-label{display:none}
}

/* Measured thumbnail crops keep the real Vimar finish, with the page visible around it. */
.design-finish-photo{position:relative;display:block;width:100%;height:100%;aspect-ratio:1;overflow:hidden;background:transparent}
.design-finish-photo img{display:block;position:absolute;max-width:none;object-fit:fill!important}
.plana-design-studio .studio-swatches button{position:relative;display:block;padding:2px;background:transparent;border:1px solid var(--line);border-radius:4px}
.plana-design-studio .studio-swatches .design-finish-photo{width:100%;height:100%}
.plana-design-studio .studio-swatches .design-finish-photo img{object-fit:fill}
.design-miniature{display:block}
.guide-tip .tip-illustration{display:flex;align-items:center;justify-content:center;mix-blend-mode:normal}
.tip-device-crop{display:block;height:100%;max-width:100%;overflow:hidden;border-radius:5%;mix-blend-mode:multiply}
.tip-device-crop svg{display:block;width:auto;height:100%;max-width:100%}
html[data-tj-theme="dark"] .tip-device-crop{mix-blend-mode:normal}
html[data-tj-theme="dark"] .guide-tip .tip-socket-panel{background:#e8e5dd!important;border-radius:14px;border:1px solid #cec9bd!important;box-shadow:0 7px 22px #0002!important;isolation:isolate}
html[data-tj-theme="dark"] .guide-tip .tip-socket-sketch{mix-blend-mode:normal}
html[data-tj-theme="dark"] .guide-tip .tip-socket-sketch .pencil-insert{filter:grayscale(1)}

/* Room, design and extras states: explicit surfaces and readable selection feedback. */
html[data-tj-theme="dark"] :is(.allocation-panel,.room-step-two .allocation-panel,.designer-note,.audio-room-note,.design-change-series,.design-upcoming,.outdoor-appearance-room,.design-room-option,.saved-design,.design-series-mark,.studio-layout,.studio-palette,.wireless-inwall-design,.engraving-card,.symbol-dialog,.symbol-source-tabs,.own-icon-choice,.audio-variant-preview,.ipad-product-options .ipad-exclusion-note,.gate-message,.bluetooth-message,.relay-limit-hint,.rec,.alarm-recommendation,.allocation-notice,.frame-editor .note,.mechanism-repairs,.summarybox:has(.price)){background:#1d2738;color:#eff1f5;border-color:#46536b}
html[data-tj-theme="dark"] :is(.allocation-panel.is-incomplete,.audio-room-note.is-incomplete){background:#1d2738;border-left-color:#bd7364}
html[data-tj-theme="dark"] :is(.allocation-panel.is-complete .allocation-title,.allocation-panel .allocation-row.is-complete>strong,.audio-placement-status.is-complete,.frame-engraving-summary .is-complete){color:#abc8b1}
html[data-tj-theme="dark"] :is(.allocation-panel .allocation-title,.frame-engraving-summary button.is-missing,.engraving-card.is-incomplete .engraving-count,.audio-placement-status.is-missing,.personalization-notice){color:#eda99a}
html[data-tj-theme="dark"] :is(.allocation-row>span small,.allocation-panel>small,.allocation-panel .allocation-row.is-complete,.design-change-series p,.design-progress,.design-room-names,.design-room-option small,.design-editor-actions,.outdoor-appearance-details,.outdoor-appearance-pending,.studio-disclaimer,.plana-design-studio legend strong,.series-tag,.extra-inline-info,.wireless-info-line,.display-room-choices label,.engraving-progress,.engraving-heading p,.engraving-count,.audio-variant-preview small,.audio-frame-title,.symbol-code,.symbol-upload-guidance,.symbol-selection-status){color:#bdc4d2}
html[data-tj-theme="dark"] :is(.design-change-series .design-read-again,.appearance-step-heading,.intro-copy strong,.mesh-line,.intro-start,.symbol-upload-guidance strong){color:#b5c9ff}
html[data-tj-theme="dark"] :is(.compact-choices button,.design-change-series-options button,.design-select-all,.eikon-families button,.linea-insert-colors button,.standard-face-choices button,.touch-color-choice>span,.engraving-slot,.symbol-key-slot,.symbol-source-tabs button,.symbol-choice,.regular-key-sizes span){background:#202a3b;color:#eff1f5;border-color:#586176}
html[data-tj-theme="dark"] :is(.compact-choices button[aria-pressed="true"],.design-change-series-options button.selected,.eikon-families button[aria-pressed="true"],.linea-insert-colors button[aria-pressed="true"],.standard-face-choices button[aria-pressed="true"],.symbol-key-slot[aria-pressed="true"],.symbol-source-tabs button[aria-pressed="true"],.symbol-choice[aria-pressed="true"],.design-room-option.selected,.touch-color-choice input:checked+span,.regular-key-sizes input:checked+span){background:#2a3d62;color:#eff1f5;border-color:#a5bdff;box-shadow:inset 0 0 0 1px #a5bdff}
html[data-tj-theme="dark"] .design-room-option.assigned{background:#191e29;color:#a6afc1;border-color:#394152}
html[data-tj-theme="dark"] .plana-design-studio .studio-palette{background:#191e29;border-color:#394152;color:#eff1f5}
html[data-tj-theme="dark"] .plana-design-studio .studio-swatches button{background:transparent;border-color:#586176}
html[data-tj-theme="dark"] .plana-design-studio .studio-swatches button[aria-pressed="true"]{background:#2a3d62;border-color:#a5bdff}
html[data-tj-theme="dark"] .plana-design-studio .studio-custom-color{color:#eff1f5}
html[data-tj-theme="dark"] .module-art.needs-engraving::after{border-color:#bb7769;background:transparent}
html[data-tj-theme="dark"] :is(.engraving-slot.is-missing,.symbol-key-slot.is-missing){background:#202a3b;border-color:#bb7769;color:#eda99a}
html[data-tj-theme="dark"] .frame-engraving-summary.is-missing{background:transparent;border-left-color:#bb7769}
html[data-tj-theme="dark"] .frame-engraving-summary.is-missing>span{color:#bdc4d2}
html[data-tj-theme="dark"] :is(.engraving-slot img,.symbol-key-slot img,.symbol-choice img){mix-blend-mode:normal;background:#f6f4ed;border-radius:4px}
html[data-tj-theme="dark"] :is(.audio-module-photo,.audio-variant-preview img,.touch-view-photo,.ipad-frame-photo,.wireless-inwall-frame){mix-blend-mode:normal;background:#e8e5dd;border-radius:7px}
html[data-tj-theme="dark"] .extra-description{background:#202a3b;color:#e9edf6;border-color:#59647a}
html[data-tj-theme="dark"] :is(.category-toggle[aria-expanded="true"],.actions button:not(.secondary)){background:#9db6ff;color:#111a2d}
html[data-tj-theme="dark"] :is(.sketch-card:hover:not(:disabled),.sketch-card.picked,.assembly-tool:hover:not(:disabled),.add-frame-box:hover,.btn.secondary:hover,.counter button:hover,.mini-counter button:hover,.extra-info:hover,.mesh-info:hover){background:#2a3d62;color:#eff1f5;border-color:#a5bdff}
html[data-tj-theme="dark"] .actions{background:#111620f5;border-color:#394152}
html[data-tj-theme="dark"] :is(.quota-hint.is-complete,.category-quota.is-complete,.card-quota.is-complete){color:#abc8b1!important}
html[data-tj-theme="dark"] :is(.assembly-stage,.visual-workbench .assembly-stage){background:#191e29;color:#eff1f5;border-color:#394152}
html[data-tj-theme="dark"] :is(.material-tabs button[aria-pressed="true"],.studio-materials button[aria-pressed="true"]){background:#2a3d62;color:#eff1f5;border-color:#a5bdff}
html[data-tj-theme="dark"] .linea-profile-option>svg{mix-blend-mode:normal;background:#e8e5dd;border-radius:5px}
html[data-tj-theme="dark"] .mechanism-badge{background:#f6f4ed;color:#34372e}
html[data-tj-theme="dark"] .device-budget-track{background:#394152}
/* Choice surfaces share one palette; product photos and colour swatches retain their colours. */
html[data-tj-theme="dark"] :is(.card:not(.selected),.intro-path,.space-choice:not(.is-added),.design-series-card:not(.selected),.design-room-option:not(.selected):not(.assigned),.linea-profile-option:not([aria-pressed="true"]),.design-choice-button,.compact-choices button:not([aria-pressed="true"]),.design-change-series-options button:not(.selected),.design-select-all,.eikon-families button:not([aria-pressed="true"]),.linea-insert-colors button:not([aria-pressed="true"]),.standard-face-choices button:not([aria-pressed="true"]),.symbol-key-slot:not([aria-pressed="true"]):not(.is-missing),.symbol-source-tabs button:not([aria-pressed="true"]),.symbol-choice:not([aria-pressed="true"]),.regular-key-sizes input:not(:checked)+span,.material-tabs button:not([aria-pressed="true"]),.studio-materials button:not([aria-pressed="true"])){background:#1d2738;color:#eff1f5;border-color:#46536b}
@media(hover:hover){html[data-tj-theme="dark"] :is(.card:not(.selected),.intro-path,.design-series-card:not(.selected),.design-room-option:not(.selected):not(.assigned),.linea-profile-option:not([aria-pressed="true"]),.compact-choices button:not([aria-pressed="true"]),.design-change-series-options button:not(.selected),.eikon-families button:not([aria-pressed="true"]),.linea-insert-colors button:not([aria-pressed="true"]),.standard-face-choices button:not([aria-pressed="true"]),.symbol-source-tabs button:not([aria-pressed="true"]),.material-tabs button:not([aria-pressed="true"]),.studio-materials button:not([aria-pressed="true"])):hover:not(:disabled){background:#243248;border-color:#8195bd}}
