:root{--surface:#fff;--surface-alt:#f2f4f7;--input-border:#d0d5dd;--accent-ink:#fff;--accent-border:#c7d2fe;--accent-text:#3730a3;--hero-start:#312e81;--hero-end:#4338ca;--hero-ink:#fff;--hero-muted:#e4e7ff;color-scheme:light}
:root[data-theme="dark"]{--bg:#111824;--surface:#1c2432;--surface-alt:#263143;--white:#1c2432;--ink:#eef2f8;--muted:#b1bed1;--line:#3b4759;--input-border:#526077;--danger:#ffaaa0;--danger-soft:#44272c;--success:#84dab2;--success-soft:#203c32;--teal:#89d5dc;--teal-soft:#19363b;--amber:#edc989;--amber-soft:#3c3222;--lilac:#cdb8ff;--lilac-soft:#352a4b;--shadow:0 12px 35px #0003;color-scheme:dark}
body{background:var(--bg);color:var(--ink)}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.top,.search,.hero-aside,.service-card,.shop-card,.info-card,.best-card,.specialty-panel,footer,.empty,.modal,.modal-head,.entry-card,.filter,.tools select,.heart,.slot,.outline,.plain,.field input,.field select,.field textarea,.search input,.search select,.specialty-group select{background-color:var(--surface);color:var(--ink)}
.plain:hover:not(:disabled),.close,.auth-tabs,.tag,.summary,.stat,.pill.cancelled{background:var(--surface-alt);color:var(--ink)}
.nav button,.footer-links button,.check-label,.booking-shop span,.business p,.form-message{color:var(--muted)}
.outline,.secondary-link,.eyebrow,.text-button,.brand span{color:var(--accent-text)}
.outline,.business,.entry-card,.best-card,.specialty-panel,.specialty-group select,.auth-note,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-border)}
.field input,.field select,.field textarea{border-color:var(--input-border)}
.search .field input,.search .field select{height:34px;padding:2px 8px}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px var(--blue-soft)}
.primary,.slot.selected{background:var(--blue);color:var(--accent-ink)}
.primary:hover:not(:disabled){background:var(--blue);filter:brightness(.93)}
.hero,.entry-copy{background:linear-gradient(135deg,var(--hero-start),var(--hero-end));color:var(--hero-ink)}
.hero p,.entry-copy p,.entry-copy small,.entry-copy .brand span{color:var(--hero-muted)}
.hero-aside p,.hero-aside small{color:var(--muted)}
.entry-screen{background:radial-gradient(circle at 12% 16%,var(--blue-soft),transparent 40%),radial-gradient(circle at 87% 82%,var(--blue-soft),transparent 35%),var(--bg);padding-top:80px}
.auth-tab{color:var(--muted)}.auth-tab.active{background:var(--surface);color:var(--accent-text)}
.filter.active,.filter:hover,.auth-note{background:var(--blue-soft);color:var(--blue-dark)}
.photo-placeholder{background:var(--blue-soft);color:var(--blue-dark);border-color:var(--accent-border)}
.service-card:nth-child(3n+2) .photo-placeholder{background:var(--teal-soft)}
.service-card:nth-child(3n) .photo-placeholder{background:var(--lilac-soft)}
.specialty-chip{background:var(--teal-soft);color:var(--teal);border-color:var(--line)}
.specialty-chip.active{background:#0e7490;color:#fff}.rating b{color:var(--amber)}
.slot.busy{background:var(--surface-alt);color:var(--muted)}
.preview-banner{padding:12px 135px 12px 16px;text-align:center;background:var(--blue-soft);color:var(--blue-dark);font-size:13px;min-height:52px}
.settings-trigger{position:absolute;right:16px;top:6px;z-index:40;display:flex;align-items:center;gap:7px;min-height:36px;padding:8px 13px;background:var(--surface);border:1px solid var(--accent-border);border-radius:999px;color:var(--accent-text);font:700 13px system-ui;box-shadow:var(--shadow)}
.settings-trigger:hover{background:var(--blue-soft)}
.appearance-dialog{padding:0;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--ink);width:min(520px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 25px 100px #0005}
.appearance-dialog::backdrop{background:#10182899;backdrop-filter:blur(4px)}
.appearance-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 26px 20px;border-bottom:1px solid var(--line);margin:0}
.appearance-heading h2{margin:3px 0 0;font-size:25px;letter-spacing:-.7px}
.settings-eyebrow{margin:0;font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--accent-text)}
.appearance-content{padding:22px 26px}.settings-intro{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 22px}
.appearance-section{border:0;padding:0;margin:0 0 25px;min-width:0}.appearance-section legend{font-size:13px;font-weight:800;margin-bottom:12px}
.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.theme-options button{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);padding:13px 8px;font-weight:650;display:grid;gap:5px;justify-items:center;min-height:72px}
.theme-options span{font-size:22px}.theme-options button[aria-pressed="true"]{border-color:var(--accent-text);background:var(--blue-soft);color:var(--blue-dark);box-shadow:0 0 0 1px var(--accent-text)}
.colour-presets{display:flex;gap:12px;margin:0 0 23px}.colour-presets button{background:var(--swatch);width:40px;height:40px;border:4px solid var(--surface);border-radius:50%;outline:1px solid var(--line)}
.colour-presets button[aria-pressed="true"]{outline:2px solid var(--accent-text);box-shadow:inset 0 0 0 2px #fff8}
.custom-colour{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:22px}
.colour-wheel{width:160px;height:160px;position:relative;border-radius:50%;background:conic-gradient(#f33,#ffed33,#4fd14f,#29ded9,#4a66ee,#d54fea,#f33);touch-action:none;cursor:crosshair;flex-shrink:0}
.wheel-core{position:absolute;inset:24px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;pointer-events:none}.wheel-current{height:34px;width:34px;border-radius:10px;background:var(--blue);border:1px solid var(--line)}.wheel-core small{font-size:8px;letter-spacing:.9px;color:var(--muted);font-weight:800}
.wheel-marker{position:absolute;left:calc(50% - 7px);top:5px;width:14px;height:14px;background:#fff;border:2px solid #18212f;border-radius:50%;transform-origin:7px 75px;transform:rotate(var(--wheel-angle));pointer-events:none}
.custom-colour-fields label{display:block;font-size:12px;font-weight:750;margin-bottom:7px}.custom-colour-fields input{width:100%;padding:10px 12px;border:1px solid var(--input-border);background:var(--surface);color:var(--ink);border-radius:9px;font:14px ui-monospace,monospace}
.custom-colour-fields p{font-size:11px;line-height:1.6;color:var(--muted);margin:9px 0 0}#colourError{color:var(--danger)}
.appearance-preview{display:flex;align-items:center;gap:11px;padding:14px;background:var(--blue-soft);border:1px solid var(--accent-border);border-radius:12px;color:var(--blue-dark)}.preview-dot{height:10px;width:10px;border-radius:50%;background:var(--blue);flex-shrink:0}.appearance-preview strong{font-size:12px;display:block}.appearance-preview small{font-size:10px;display:block;margin-top:2px}.preview-chip{margin-left:auto;background:var(--blue);color:var(--accent-ink);padding:7px 10px;border-radius:7px;font-size:11px;font-weight:750}
.appearance-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.appearance-footer .btn{font-size:11px;padding:9px 11px}.appearance-footer [role="status"]{font-size:10px;color:var(--muted);max-width:180px;text-align:right}
.salon-doodles{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden}.salon-doodle{position:absolute;width:46px;height:46px;color:var(--accent-text);opacity:.28}.doodle-0{left:16px;top:17%;transform:rotate(-18deg)}.doodle-1{right:18px;top:22%;transform:rotate(20deg)}.doodle-2{left:20px;top:48%;transform:rotate(12deg)}.doodle-3{right:15px;top:55%;transform:rotate(-15deg)}.doodle-4{left:15px;top:79%;transform:rotate(-10deg)}.doodle-5{right:20px;top:84%;transform:rotate(14deg)}
.footer-links a{font-weight:650;padding:7px 0}.top-inner{gap:18px}.nav{margin-left:10px;gap:18px}
@media(max-width:1280px){body:has(#siteShell:not(.hidden)) .salon-doodles{display:none}}
@media(max-width:940px){.nav{margin-left:0}}
@media(max-width:640px){.salon-doodle{width:26px;height:26px;opacity:.2}.doodle-0{top:58px;left:13px}.doodle-1{top:59px;right:14px}.doodle-2,.doodle-3,.doodle-4,.doodle-5{display:none}.entry-screen{padding-top:62px}.appearance-heading{padding:20px}.appearance-content{padding:20px}.custom-colour{grid-template-columns:132px 1fr;gap:15px}.colour-wheel{width:132px;height:132px}.wheel-core{inset:21px}.wheel-marker{transform-origin:7px 61px}.preview-banner{padding:10px 116px 10px 14px;font-size:11px;text-align:left}.settings-trigger{top:7px;right:10px}.appearance-footer{gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.dev-header .settings-trigger{position:static;flex-shrink:0;box-shadow:none}.dev-header .back-link{margin-left:auto}
:root[data-theme="dark"] .field .invalid{background:#44272c!important;color:var(--ink)}
:root[data-theme="dark"] .form-message.error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}
:root[data-theme="dark"] .form-message.success{background:var(--success-soft);color:var(--success);border-color:var(--success)}
:root[data-theme="dark"] .refund-note{background:var(--amber-soft);color:var(--amber);border-color:var(--amber)}
