:root[data-workshop-palette="teal"] { --workshop-primary:#70d5c4; --workshop-primary-hover:#a0e9dd; --workshop-soft:#183c3b; --workshop-chrome:#163033; }
:root[data-theme="light"][data-workshop-palette="teal"] { --workshop-primary:#006c66; --workshop-primary-hover:#005650; --workshop-soft:#e0f1ee; --workshop-chrome:#e6f3f0; }
:root[data-workshop-palette="violet"] { --workshop-primary:#c5b0ef; --workshop-primary-hover:#ddcef9; --workshop-soft:#342b49; --workshop-chrome:#2a243b; }
:root[data-theme="light"][data-workshop-palette="violet"] { --workshop-primary:#7051a6; --workshop-primary-hover:#583987; --workshop-soft:#eee8f8; --workshop-chrome:#f0ebf8; }
:root[data-workshop-palette="slate"] { --workshop-primary:#aac4df; --workshop-primary-hover:#d3e2f1; --workshop-soft:#2d3947; --workshop-chrome:#242f3b; }
:root[data-theme="light"][data-workshop-palette="slate"] { --workshop-primary:#465d76; --workshop-primary-hover:#304760; --workshop-soft:#e7edf3; --workshop-chrome:#ecf0f4; }
:root[data-workshop-palette] { --accent:var(--workshop-primary); --accent2:var(--workshop-primary); }
:root[data-workshop-contrast="strong"] { --text:#fff; --muted:#e2e8f0; --line:#90a4bb; --workshop-input-border:#a2b4c9; }
:root[data-theme="light"][data-workshop-contrast="strong"] { --text:#0b1320; --muted:#243448; --line:#63758b; --workshop-input-border:#53657c; }
.workshop-theme-dialog { color:var(--text); background:var(--workshop-paper); border:1px solid var(--line); border-radius:14px; width:min(420px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:20px; box-sizing:border-box; font:calc(13px * var(--workshop-font-scale,1))/1.5 var(--font-sans); }
.workshop-theme-dialog::backdrop { background:rgb(5 15 28 / .45); }
.workshop-theme-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.workshop-theme-heading h2 { margin:0; font-size:calc(19px * var(--workshop-font-scale,1)); }
.workshop-theme-dialog p { color:var(--muted); margin:8px 0 16px; }
.workshop-theme-dialog label { display:grid; gap:5px; margin:12px 0; }
.workshop-theme-dialog select { width:100%; font:inherit; min-height:38px; }
.workshop-theme-dialog .theme-preview { background:var(--workshop-surface); border:1px solid var(--line); border-radius:8px; padding:12px; }
.theme-preview strong,.theme-preview span { display:block; }
.theme-preview span { color:var(--muted); }
#workshopThemeStatus { min-height:1.5em; margin:12px 0; }
#workshopThemeStatus[data-error="true"] { color:var(--danger); }
.workshop-theme-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; }
@media(max-width:640px) { .workshop-theme-dialog select { font-size:max(16px,calc(13px * var(--workshop-font-scale,1))); } #workshopThemeButton { padding:5px 7px; } }

#workshopThemeButton { order:5; flex:none; }
@media(max-width:640px) {
  body.workshop-authenticated { --workshop-header-height:94px; }
  body.workshop-authenticated #appHeader { flex-wrap:wrap; gap:4px; padding:5px 8px; }
  body.workshop-authenticated #appHeader .app-header-search { order:6; flex:1 0 100%; max-width:none; margin:0; min-width:0; }
  body.workshop-authenticated #appHeader .app-header-search input { height:30px; }
  #appThemeToggleBtn { width:32px; min-width:32px; padding:4px; }
  #appAccountMenu { margin-left:auto; }
  #globalBinsaImportProgress { position:absolute; top:100%; right:8px; max-width:calc(100vw - 16px); z-index:10; }
}
