/* Additional palettes keep layout and semantic status/role colours intact. */
@media screen {
 html[data-palette=sand]{
  --bg:#f1ede4;--surface:#fffcf6;--surface-solid:#fffcf6;--text:#302f27;--muted:#716d60;
  --line:#e3ddcf;--line-strong:#cbc3b1;--ui-section-line:#d6cfbf;--border:#d6cfbf;--card:#fffcf6;
  --palette-soft:#f5f1e8;--palette-head:#ebe6da;--palette-field:#fffdf8;
  --palette-accent:#596543;--palette-accent-hover:#465235;--palette-ink:#fffef9;--palette-selected:#e6ebdb;--palette-selected-ink:#38452b;
  --shadow:0 16px 48px #564a3010;--shadow-soft:0 4px 18px #564a3008;
 }
 html[data-palette=arctic]{
  --bg:#eaf0f6;--surface:#fbfdff;--surface-solid:#fbfdff;--text:#203349;--muted:#607287;
  --line:#dce5ef;--line-strong:#b9cbdc;--ui-section-line:#c7d6e5;--border:#c7d6e5;--card:#fbfdff;
  --palette-soft:#f0f5fa;--palette-head:#e5edf6;--palette-field:#fff;
  --palette-accent:#356595;--palette-accent-hover:#28527d;--palette-ink:#fff;--palette-selected:#dceafb;--palette-selected-ink:#244e7a;
  --shadow:0 16px 48px #2d507414;--shadow-soft:0 4px 18px #2d50740a;
 }
 html[data-palette=graphite]{
  --bg:#171c20;--surface:#22292e;--surface-solid:#22292e;--text:#e5ecec;--muted:#a3b1b6;
  --line:#354047;--line-strong:#4c5c65;--ui-section-line:#435159;--border:#435159;--card:#22292e;
  --palette-soft:#293238;--palette-head:#2e3a40;--palette-field:#1b2227;
  --palette-accent:#82cabe;--palette-accent-hover:#a3ded4;--palette-ink:#142e2c;--palette-selected:#2a4947;--palette-selected-ink:#bbebe1;
  --shadow:0 16px 48px #0003;--shadow-soft:0 4px 18px #0002;
 }
 html[data-palette]{--accent:var(--palette-accent);--accent2:var(--palette-accent-hover);--green:var(--palette-accent);--paper:var(--surface-solid);--form-panel:var(--palette-soft);--form-panel-alt:var(--surface-solid);--form-header:var(--palette-head);--form-edge:var(--line-strong)}
 html[data-palette] body{background:var(--bg)!important;color:var(--text)!important}
 html[data-palette] .login-view::before,html[data-palette] .login-view::after,html[data-palette] .login-card::after,html[data-palette] .rate-console::before{display:none}
 html[data-palette] :is(.card,.login-card,.dialog-card,.admin-panel,.entry-card,.rate-module,.rate-console,.training-card,.help-center-card,.profile-section,.employee-profile-summary,.host-role-preview,.event-overview-block){background:var(--surface-solid)!important;color:var(--text)!important;border-color:var(--line)!important;box-shadow:var(--shadow-soft)}
 html[data-palette] :is(.topbar,.employee-header,.admin-nav,.rates-page-header,.training-header,.training-tabs),html[data-palette] #adminView .topbar{background:var(--surface-solid)!important;color:var(--text)!important;border-color:var(--line)!important;box-shadow:var(--shadow-soft)}
 html[data-palette] :is(input,select,textarea),html[data-palette] :is(#employeeView,#adminView,#eventForm,#profileForm) :is(input,select,textarea),html[data-palette] dialog :is(input,select,textarea){background-color:var(--palette-field)!important;color:var(--text)!important;caret-color:var(--text)}
 html[data-palette] :is(input,textarea)::placeholder{color:var(--muted)!important;opacity:.85}
 html[data-palette] :is(input,select,textarea):disabled{background-color:var(--palette-soft)!important;color:var(--muted)!important}
 html[data-palette] :is(input,select,textarea):focus-visible{outline:2px solid var(--palette-accent);outline-offset:2px;box-shadow:none}
 html[data-palette] option{background:var(--palette-field);color:var(--text)}
 html[data-palette] :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--palette-accent)}
 html[data-palette] :is(.btn-ghost,.admin-nav-btn,.rates-tab,.view-toggle-btn,.help-mode-btn,.icon-btn,.dashboard-order-btn,.dashboard-collapse-btn,.equipment-row-actions button){background:var(--palette-soft)!important;color:var(--text)!important;border-color:var(--line-strong)!important;box-shadow:none!important}
 html[data-palette] :is(.btn-ghost,.admin-nav-btn,.rates-tab):hover{background:var(--palette-head)!important}
 html[data-palette] :is(.btn-primary,.btn-nav-accent,.button.primary){background:var(--palette-accent)!important;color:var(--palette-ink)!important;border-color:var(--palette-accent)!important;box-shadow:none!important}
 html[data-palette] :is(.btn-primary,.btn-nav-accent,.button.primary):hover{background:var(--palette-accent-hover)!important;border-color:var(--palette-accent-hover)!important}
 html[data-palette] :is(.admin-nav-btn.is-active,.rates-tab.is-active,.view-toggle-btn.is-active,.help-mode-btn.is-active,.employee-row.active,button[role=tab][aria-selected=true]){background:var(--palette-selected)!important;color:var(--palette-selected-ink)!important;border-color:var(--palette-accent)!important;box-shadow:none!important}
 html[data-palette] :is(.muted,.field-hint,small,.entry-type,.month-status-line){color:var(--muted)!important}
 html[data-palette] :is(.view-toggle,.help-mode-tabs,.table-wrap,.report-comment,.footer-actions,.profile-stat,.duty-rate-card,.day-venue-block,.task-row,.work-reference-row,.grade-chip,.rate-history-row,.work-rule-row,.rate-option-row,.equipment-grid,.equipment-create-dock){background:var(--palette-soft)!important;color:var(--text)!important;border-color:var(--line)!important}
 html[data-palette] :is(#employeeView,#eventForm,#profileForm) :is(.entry-card,.day-venue-block,.task-row,.profile-section,.employee-menu-items,.report-period,.footer-actions,.venue-dropdown),html[data-palette] #adminServiceMenu .employee-menu-items,html[data-palette] :is(#eventForm,#profileForm,#eventForm>.dialog-header,#eventForm>.dialog-actions){background:var(--surface-solid)!important;color:var(--text)!important;border-color:var(--line)!important}
 html[data-palette] :is(thead th,.summary-table thead th,.event-overview-sheet thead th,.equipment-hall-details>summary){background:var(--palette-head)!important;color:var(--text)!important;border-color:var(--line-strong)!important}
 html[data-palette] :is(.production-stages,.planning-section,.task-plan,.project-task-plan){background:var(--palette-soft)!important;border-color:var(--ui-section-line)!important}
 html[data-palette] :is(.task-plan,.project-task-plan):nth-child(even){background:var(--surface-solid)!important}
 html[data-palette] :is(.mini-summary,.empty-state),html[data-palette] .employee-row:not(.queue-done):not(.queue-pending):not(.active){background:var(--palette-soft)!important;color:var(--text)!important;border-color:var(--line)!important}
 html[data-palette] .theme-toggle{background:var(--surface-solid);color:var(--text);border-color:var(--line-strong)}
 html[data-palette] :is(.material-card,.lesson-table-wrap,.lesson-image,.source-link,.editorial-notes,.image-scroll){background:var(--surface-solid)!important;color:var(--text)!important;border-color:var(--line)!important}
 html[data-palette] .start-card{background:var(--palette-selected)!important;color:var(--palette-selected-ink)!important;border-color:var(--line-strong)!important}
 html[data-palette] .start-card :is(span,strong,b){color:var(--palette-selected-ink)!important}
 html[data-palette] .training-tabs a[aria-current=page]{color:var(--palette-accent)!important;border-color:var(--palette-accent)!important}
 html[data-palette] :is(.category-filters button,.favorite,.training-header .back-to-report){background:var(--palette-soft)!important;color:var(--text)!important;border-color:var(--line-strong)!important}
 html[data-palette] :is(.category-filters button[aria-pressed=true],.favorite.is-saved){background:var(--palette-accent)!important;color:var(--palette-ink)!important;border-color:var(--palette-accent)!important}
 html[data-palette] ::selection{background:var(--palette-selected);color:var(--palette-selected-ink)}
 html[data-palette] ::-webkit-scrollbar-track{background:var(--bg)}
 html[data-palette] ::-webkit-scrollbar-thumb{background:var(--line-strong);border-color:var(--bg)}
}

/* One keyboard-accessible gallery shared by the app, training and consent pages. */
html dialog.theme-picker{width:min(680px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:24px;margin:auto;border:1px solid var(--line-strong,#d2d9e2);border-radius:22px;background:var(--surface-solid,#fff)!important;color:var(--text,#202a35)!important;box-shadow:0 24px 90px #0005;overflow:auto;overscroll-behavior:contain;font-family:Arial,Helvetica,sans-serif}
.theme-picker::backdrop{background:#0c172655;backdrop-filter:blur(4px)}
.theme-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.theme-picker-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted,#6b7580)}
.theme-picker-heading h2{font-size:25px;letter-spacing:-.035em;margin:4px 0 0;line-height:1.2}
.theme-picker-close{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid var(--line,#dde2e8);border-radius:50%;background:transparent;color:inherit;font-size:24px;line-height:1;padding:0}
.theme-picker-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.theme-option{display:flex;flex-direction:column;padding:8px 8px 12px;border:1px solid var(--line-strong,#ccd5df);border-radius:14px;text-align:left;background:transparent;color:inherit;min-width:0;font:inherit;cursor:pointer}
.theme-option:hover{border-color:var(--text,#203040)}
.theme-option[aria-pressed=true],.theme-classic[aria-pressed=true]{border-color:var(--palette-accent,var(--success,#24764f));box-shadow:0 0 0 2px var(--palette-accent,var(--success,#24764f))}
.theme-option-name{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:15px;font-weight:700;padding:12px 3px 0}
.theme-option-description{display:block;font-size:11px;line-height:1.45;padding:5px 3px 0;color:var(--muted,#6b7580)}
.theme-option-check{visibility:hidden;font-size:14px;font-weight:700}
[data-theme-choice][aria-pressed=true] .theme-option-check{visibility:visible}
.theme-preview{height:112px;display:flex;gap:6px;padding:10px;border:1px solid #0000000a;border-radius:9px;background:var(--preview-bg);overflow:hidden}
[data-theme-choice=sand]{--preview-bg:#eee9de;--preview-sheet:#fffcf6;--preview-accent:#596543;--preview-line:#e2dccf}
[data-theme-choice=arctic]{--preview-bg:#e3ecf5;--preview-sheet:#fbfdff;--preview-accent:#356595;--preview-line:#dce5ef}
[data-theme-choice=graphite]{--preview-bg:#171c20;--preview-sheet:#293238;--preview-accent:#82cabe;--preview-line:#435159}
.theme-preview-nav{width:15%;display:flex;flex-direction:column;gap:7px;padding-top:8px}
.theme-preview-nav i{height:5px;border-radius:2px;background:var(--preview-line)}
.theme-preview-nav i:first-child{background:var(--preview-accent)}
.theme-preview-sheet{flex:1;min-width:0;border-radius:5px;padding:10px 8px;background:var(--preview-sheet);box-shadow:0 2px 6px #00000009}
.theme-preview-title{display:block;width:55%;height:5px;background:var(--preview-accent);border-radius:2px;margin-bottom:10px}
.theme-preview-fields{display:flex;gap:4px;margin-bottom:8px}
.theme-preview-fields i{display:block;width:50%;height:12px;border:1px solid var(--preview-line);border-radius:3px}
.theme-preview-row{display:block;height:1px;background:var(--preview-line);margin-bottom:7px}
.theme-preview-action{display:block;width:34%;height:9px;border-radius:3px;background:var(--preview-accent);margin-top:9px}
.theme-picker-classics{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid var(--line,#dde2e8)}
.theme-classic{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 12px;border:1px solid var(--line-strong,#ccd5df);border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.theme-classic .theme-option-check{margin-left:auto}
.theme-classic-dot{width:15px;height:15px;flex:none;border:1px solid #94a3b855;border-radius:50%;background:#fff}
[data-theme-choice=dark] .theme-classic-dot{background:#141c25}
.theme-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}
.theme-picker-footer>span{font-size:11px;line-height:1.4;color:var(--muted,#6b7580)}
.theme-picker-done{border:0;border-radius:10px;padding:10px 24px;min-height:42px;font:inherit;font-size:14px;font-weight:700;background:var(--palette-accent,var(--text,#203040));color:var(--palette-ink,var(--surface-solid,#fff));cursor:pointer}
.theme-picker button:focus-visible{outline:2px solid var(--palette-accent,var(--success,#24764f));outline-offset:4px}
@media(max-width:560px){
 html dialog.theme-picker{padding:18px;border-radius:18px}
 .theme-picker-heading{margin-bottom:16px}.theme-picker-heading h2{font-size:22px}
 .theme-picker-options{grid-template-columns:1fr;gap:10px}
 .theme-option{display:grid;grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;padding:8px}
 .theme-preview{grid-row:1/3;height:76px;padding:7px;gap:4px}
 .theme-preview-sheet{padding:7px 5px}.theme-preview-title{margin-bottom:7px}.theme-preview-fields{margin-bottom:5px}.theme-preview-row{margin-bottom:5px}.theme-preview-action{margin-top:5px}
 .theme-option-name{align-self:end;padding:0 4px 3px 0;font-size:15px}.theme-option-description{padding:2px 4px 0 0;font-size:12px}
 .theme-picker-classics{padding-top:16px;margin-top:16px;gap:10px}.theme-picker-footer{margin-top:18px}
}
@media print{dialog.theme-picker{display:none!important}}
