/* Local palettes. Seat availability and safety/status colours retain their meaning. */
:root{--accent-text:#fff;--hover:#3d39b4;--soft:#eeedfc;--field:#fff;--focus:#5b52d7;color-scheme:light}
:root[data-theme=booth]{--ink:#e7edf5;--muted:#adb9c9;--line:#435168;--blue:#9bbaff;--accent-text:#101a2c;--surface:#1b2636;--wash:#111a27;--field:#142030;--hover:#bdd0ff;--soft:#293c59;--focus:#f0c977;color-scheme:dark}
:root[data-theme=contrast]{--ink:#101820;--muted:#414b57;--line:#657384;--blue:#123e89;--accent-text:#fff;--surface:#fff;--wash:#edf0f3;--field:#fff;--hover:#092b65;--soft:#dce8fa;--focus:#123e89;color-scheme:light}
html[data-theme] body,html[data-theme] .customer-page{background:var(--wash);color:var(--ink)}
html[data-theme] body>aside,html[data-theme] .panel,html[data-theme] dialog,html[data-theme] .he-toolbar,html[data-theme] .he-palette,html[data-theme] .he-inspector{background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme] h1,html[data-theme] h2,html[data-theme] h3,html[data-theme] .brand{color:var(--ink)}
html[data-theme] label,html[data-theme] .muted,html[data-theme] td small,html[data-theme] .brand span,html[data-theme] .aside-foot,html[data-theme] .aside-foot small{color:var(--muted)}
html[data-theme] input,html[data-theme] select,html[data-theme] textarea{background:var(--field);color:var(--ink);border-color:var(--line)}
html[data-theme] button:where(:not(.seat):not(.session):not(.he-tool):not(.op-product)){background:var(--blue);color:var(--accent-text)}
html[data-theme] button:where(:not(.seat):not(.session):not(.he-tool):not(.op-product)):hover{background:var(--hover)}
html[data-theme] button.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme] button.secondary:hover{background:var(--soft)}
html[data-theme] nav button,html[data-theme] .hall-nav-link{color:var(--muted)!important}
html[data-theme] nav button:hover,html[data-theme] .hall-nav-link:hover,html[data-theme] nav button.active,html[data-theme] .hall-nav-link.active{background:var(--soft)!important;color:var(--ink)!important}
html[data-theme] th,html[data-theme] .venue{background:var(--wash);color:var(--ink);border-color:var(--line)}
html[data-theme] td{border-color:var(--line)}
html[data-theme] tbody tr:hover,html[data-theme] .note{background:var(--soft);color:var(--ink)}
html[data-theme] .session{background:var(--surface);color:var(--ink)}
html[data-theme] .session.selected{background:var(--soft)}
html[data-theme] .session time{color:var(--blue)}
html[data-theme=booth] .seat.chosen{color:var(--accent-text)}
html[data-theme] main a{color:var(--blue)}
html[data-theme] :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.theme-picker{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto;white-space:nowrap}
.theme-picker select{width:auto;min-height:44px;font-size:13px}
header:has(.theme-picker){flex-wrap:wrap;gap:12px}
body.pg-access-page{display:block}
.pg-access-page .access-workspace{width:100%;min-width:0}
/* Keep a neutral drawing sheet: object colours encode the seating plan. */
html[data-theme=booth] .sale-plan,html[data-theme=booth] #he-svg{color-scheme:light}
@media(max-width:600px){.theme-picker{margin-left:0}.theme-picker select{max-width:100%}}
@media print{.theme-picker{display:none!important}html[data-theme] body,html[data-theme] .panel{background:white;color:black}}

/* Gemini palettes: appearance preferences never change operational status colours. */
:root[data-theme=almaty]{--ink:#29231e;--muted:#706357;--line:#ded6cc;--blue:#93511c;--accent-text:#fff;--surface:#fffdf9;--wash:#f4efe7;--field:#fffdf9;--hover:#733d14;--soft:#f4e6d4;--focus:#93511c;color-scheme:light}
:root[data-theme=premiere]{--ink:#f7f1e7;--muted:#beb5a5;--line:#3c3840;--blue:#f1bd68;--accent-text:#211509;--surface:#191920;--wash:#101015;--field:#202028;--hover:#ffd894;--soft:#332a20;--focus:#f1bd68;color-scheme:dark}
.theme-picker{position:relative}
.theme-gallery{position:static;margin:0!important;font-size:12px}
.theme-gallery>summary{font-family:inherit;padding:8px 10px!important;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--surface);list-style:none;min-height:34px;box-sizing:border-box;cursor:pointer}
.theme-gallery>summary::after{content:' ◧'}
.theme-choices{position:absolute;right:0;top:calc(100% + 10px);width:310px;max-width:calc(100vw - 32px);z-index:30;display:grid;gap:7px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 48px #0003;white-space:normal}
html[data-theme] button.theme-sample{display:grid;grid-template-columns:64px 1fr;gap:3px 12px;align-items:center;width:100%;min-height:66px;margin:0;padding:10px;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-family:inherit}
html[data-theme] button.theme-sample:hover{background:var(--soft);border-color:var(--blue)}
html[data-theme] button.theme-sample[aria-pressed=true]{outline:2px solid var(--blue);outline-offset:-2px;background:var(--soft)}
.theme-sample strong{font-size:13px;font-family:inherit;letter-spacing:0}
.theme-sample small{font-size:11px;color:var(--muted)}
.theme-swatch{grid-row:1/3;width:64px;height:42px;border-radius:5px;background:linear-gradient(90deg,#fff 25%,#f1f5f9 25% 75%,#3b38c8 75%);border:1px solid #8992a455}
[data-palette=almaty] .theme-swatch{background:linear-gradient(90deg,#fffdf9 25%,#f4efe7 25% 75%,#93511c 75%)}
[data-palette=premiere] .theme-swatch{background:linear-gradient(90deg,#191920 25%,#101015 25% 75%,#f1bd68 75%)}
[data-palette=booth] .theme-swatch{background:linear-gradient(90deg,#0b101b 25%,#05080f 25% 75%,#67caff 75%)}
[data-palette=contrast] .theme-swatch{background:linear-gradient(90deg,#fff 25%,#111 25% 30%,#fff 30% 75%,#173fb0 75%)}
@media(max-width:700px){.theme-picker{flex-wrap:wrap}.theme-choices{right:0}.theme-gallery>summary{min-height:38px}}
@media print{.theme-gallery{display:none!important}}
