:root,:root[data-theme=light]{color-scheme:light;--bg:#e9ebee;--panel:#fff;--panel-2:#f2f3f5;--border:#cdd1d7;--text:#24272b;--muted:#59616c;--text-muted:#59616c;--accent:#c21747;--accent-2:#c21747;--btn:#f5f6f7;--btn-2:#e5e8ed;--btn-bd:#bdc3cb;--overlay:#fffffff5;--overlay-soft:#ffffffbd;--input-bg:#fff;--danger:#b42318;--warning:#855100;--success:#267044;--focus:#1769c2;--shadow:0 12px 36px #18253626;--selection:#e5effc;--on-accent:#fff}
:root[data-theme=dark]{color-scheme:dark;--bg:#202226;--panel:#292c31;--panel-2:#33373d;--border:#50565f;--text:#f0f2f5;--muted:#b7bec8;--text-muted:#b7bec8;--accent:#68afff;--accent-2:#91c4ff;--btn:#353a42;--btn-2:#444b55;--btn-bd:#626a76;--overlay:#292c31f5;--overlay-soft:#292c31bd;--input-bg:#23262b;--danger:#ff9c94;--warning:#f4bf69;--success:#7ed6a0;--focus:#83beff;--shadow:0 12px 36px #0006;--selection:#263e5c;--on-accent:#142436}
:root{--ui-font-family:Inter,sans-serif;--ui-font-size:14px;--ui-font-size-compact:12px}
body{font-family:var(--ui-font-family);font-size:var(--ui-font-size);line-height:1.45;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;accent-color:var(--accent)}
button,input[type=number],input[type=text],input[type=search],select,textarea{border-radius:3px}
input[type=number],input[type=text],input[type=search],select,textarea,.field-stack input[type=text],.field-stack textarea{background:var(--input-bg);color:var(--text);border-color:var(--btn-bd)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
option,optgroup{background:var(--input-bg);color:var(--text)}
:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
input[type=range]{accent-color:var(--accent)}
button:disabled,input:disabled,select:disabled{opacity:.55;cursor:not-allowed}
::selection{background:var(--accent);color:var(--on-accent)}
*{scrollbar-color:var(--btn-bd) var(--panel-2);scrollbar-width:thin}
.toolbar{background:var(--panel);border-bottom:1px solid var(--border);box-shadow:0 1px 3px #1825360a}
.toolbar-brand{gap:9px;white-space:nowrap}
.toolbar-brand:before{content:'CS';display:grid;place-items:center;width:28px;height:28px;background:var(--accent);color:var(--on-accent);border-radius:4px;font-size:12px;font-weight:700;letter-spacing:-.5px}
.brand-word{font-family:'Segoe UI',sans-serif;font-size:18px;font-weight:600;text-transform:none;letter-spacing:-.4px}
.brand-accent{color:var(--text);font-weight:400}
.toolbar-name{font-size:13px;font-weight:600}
.sidebar-tabs button.active,.cutlist-tabs>button.active,.wizard-step.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--selection)}
.field-group{border-radius:4px;border-color:var(--border);background:var(--panel)}
.field-group-legend,.subgroup-label{letter-spacing:.025em;font-size:11px;font-weight:600}
.ext-rooms{background:var(--panel-2);border-color:var(--border);color:var(--text)}
.ext-panel{background:var(--panel);color:var(--text);border-color:var(--border)}
.ext-panel h3{color:var(--text);font-size:12px;font-weight:600}
.ext-field input,.ext-field select{background:var(--input-bg);color:var(--text);border:1px solid var(--btn-bd);border-radius:3px}
.ext-panel button,.ext-rooms button{background:var(--btn);color:var(--text);border-color:var(--btn-bd);border-radius:3px}
.ext-panel button:hover,.ext-rooms button:hover{background:var(--btn-2);border-color:var(--accent)}
.ext-check input{accent-color:var(--accent)}
.ext-hint{color:var(--muted);opacity:1}
.corner-fronts{border-color:var(--border);border-left:3px solid var(--accent);border-radius:3px}
.language-select{background:var(--input-bg);color:var(--text);border-color:var(--btn-bd);border-radius:3px}
.btn-primary,.cabinet-list-actions .btn-add,.btn-export-step,.vp-fab,.part-card-head{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.btn-primary:hover,.cabinet-list-actions .btn-add:hover,.btn-export-step:hover{background:var(--accent-2)}
.part-card-close,.btn-export-step:disabled{color:var(--on-accent)}
.modal,.palette,.export-menu-items,.mmenu-items,.part-card,.vp-sheet,.usage-notice{background:var(--panel);color:var(--text);border-color:var(--border);box-shadow:var(--shadow);border-radius:5px}
.palette-input input{background:var(--panel)}
.cutlist tr.row-sub td{background:var(--panel-2);color:var(--muted)}
.cutlist thead th{background:var(--panel-2);color:var(--text)}
.material-remove,.report-error{color:var(--danger)}
.field-hint.field-warning,.nest-warning,.project-check .check-warn::marker{color:var(--warning)}
.project-check-ok,.assembly-steps li.ticked .assembly-num{color:var(--success)}
.project-check .check-error::marker{color:var(--danger)}
.mcard.selected,.board-chip.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
button.mcard:hover{border-color:var(--accent)}
.mcard>.mcard-title.active strong{color:var(--accent)}
.mcard-items button.active .mcard-num,.mcard.selected .mcard-title.active~.mcard-items .mcard-num{background:var(--accent);color:var(--on-accent)}
.technical-drawing{--td-surface:#fff;--td-ink:#24272b;--td-muted:#555e69;--td-faint:#697380;--td-line:#dce0e5;--td-line-strong:#bdc3cb;--td-accent:#1769c2;--td-slate:#586b83;--td-clay:#875331}
.td-overview-title,.td-name strong{font-family:var(--ui-font-family)}
.ann-dim,.ann-edge{background:#fffffff2;color:#174e8c;border-color:#1769c2}
@media print{body{background:white;color:black}.technical-drawing{--td-surface:#fff;--td-ink:#111;--td-muted:#444;--td-faint:#555}.cutlist thead th{background:#eee;color:#111}.cutlist tr.row-sub td{background:#f5f5f5;color:#444}}
@media(max-width:650px){.brand-word{font-size:15px}.toolbar-brand:before{width:24px;height:24px;font-size:10px}.toolbar-brand{gap:6px}}
.toolbar{flex-wrap:wrap;gap:8px 12px}.toolbar-brand,.toolbar-title,.feature-search-trigger{flex-shrink:0}.toolbar-title{min-width:140px}.toolbar-title .toolbar-name{width:160px;max-width:220px;field-sizing:fixed}.toolbar-actions{flex-wrap:wrap;gap:6px}.toolbar-actions button{white-space:nowrap}.cutlist-tabs{flex-wrap:wrap}.cutlist-tabs>button{white-space:nowrap}.ext-check:has(input:disabled){color:var(--muted)}
