/* Shared semantic palette: workspace, account pages, dialogs and pickers. */
:root{
 --type-heading:1.714286rem;--type-body:1rem;--type-control:1.142857rem;--type-caption:.928571rem;--type-detail:.857143rem;--type-brand:1.857143rem;
 --type-card-title:1.357143rem;--type-card-copy:1.071429rem;--weight-card-title:650;--weight-card-copy:450;
 --control-radius:8px;--control-height:48px;
 --paper:#f4f3ef;--surface:#fff;--surface-soft:#faf9f6;--surface-raised:#fcfbf7;--surface-hover:#efeee7;--field-bg:#fff;
 --ink:#282824;--text:#43463d;--muted:#5d6055;--subtle:#686b60;--faint:#a6a294;--line:#e4e2d9;--line-strong:#d3d1c5;
 --accent:#a65337;--primary:#34392d;--on-primary:#fffdf3;--success:#68755e;--warning:#8c6233;--danger:#a35f42;
 --selected-bg:#e9eddf;--selected-line:#bfc8ac;--olive:#65724f;--focus:#a58258;--overlay:#282b2466;--shadow:#20261b26;--error-bg:#fff2e8;
 --sidebar-bg:#edeee6;--sidebar-text:#656b5a;--sidebar-ink:#30392a;--sidebar-line:#d6dacc;--sidebar-active:#dfe5d4;
 color-scheme:light;
}
:root[data-theme=dark]{
 --paper:#1b1d18;--surface:#252820;--surface-soft:#20231c;--surface-raised:#282b23;--surface-hover:#33372d;--field-bg:#30342a;
 --ink:#efefe5;--text:#dce0d0;--muted:#bec5b0;--subtle:#a8af9b;--faint:#7c8270;--line:#3a4032;--line-strong:#505943;
 --accent:#d69b7a;--primary:#d0dcb8;--on-primary:#252e1d;--success:#b5c99b;--warning:#ddb77f;--danger:#e0a486;
 --selected-bg:#3b4530;--selected-line:#687c50;--olive:#b8ca9b;--focus:#c4aa7a;--overlay:#080c08a6;--shadow:#080d0870;--error-bg:#3c2d22;
 --sidebar-bg:#171a14;--sidebar-text:#a3ad95;--sidebar-ink:#edf0e3;--sidebar-line:#343c2b;--sidebar-active:#303b25;
 color-scheme:dark;
}
body{background:var(--paper);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button.primary,.mobile-create{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.button.primary:hover,.mobile-create:hover{background:var(--primary);filter:brightness(.92)}
.icon-button{color:var(--muted)}.icon-button:hover{background:var(--surface-hover);color:var(--ink)}
.topbar{background:var(--surface-soft)}.topbar-actions{gap:12px}.notification i{box-shadow:0 0 0 2px var(--surface-soft)}
.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);border-left:1px solid var(--sidebar-line);scrollbar-color:var(--sidebar-line) var(--sidebar-bg)}
.sidebar .brand,.salon-identity strong{color:var(--sidebar-ink)}.sidebar .brand-period{color:var(--accent)}
.salon-identity,.sidebar .account{border-color:var(--sidebar-line)}.sidebar .sidebar-caption,.sidebar .nav-label{color:var(--subtle)}
.desktop-nav a,.desktop-nav a>.icon,.sidebar .settings-link,.sidebar .account small,.sidebar .account-mark,.sidebar .account .icon-button{color:var(--sidebar-text)}
.desktop-nav a:hover,.desktop-nav a.active,.sidebar .settings-link:hover,.sidebar .settings-link.active{background:var(--sidebar-active);color:var(--sidebar-ink)}.desktop-nav a.active>.icon{color:var(--sidebar-ink)}.desktop-nav a.active:before{background:var(--accent)}.sidebar .nav-count{color:var(--sidebar-text)}.sidebar .account .icon-button:hover{background:var(--sidebar-active);color:var(--sidebar-ink)}
.badge.done,.live-label i{color:var(--success)}.live-label i{background:var(--success)}.badge.confirmed,.badge.booked{color:var(--warning)}.badge.cancelled,.badge.absent,.badge.overdue,.danger-text,.due-row .overdue-text{color:var(--danger)}
.segmented .selected{color:var(--ink);background:var(--surface-raised)}.toast{background:var(--primary);color:var(--on-primary)}
.field input,.field select,.field textarea{background:var(--field-bg);color:var(--ink)}.checkbox-field input,.closed-days input{accent-color:var(--olive)}
.settings-panel .closed-days label:has(input:checked){background:var(--selected-bg);border-color:var(--selected-line);color:var(--ink)}
.theme-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-size:11px;line-height:1.6;flex-shrink:0}.theme-button:hover{background:var(--surface-hover);border-color:var(--line-strong)}.theme-button .icon{width:18px;height:18px;stroke-width:1.6}.theme-button .theme-sun{display:none}:root[data-theme=dark] .theme-button .theme-sun{display:block}:root[data-theme=dark] .theme-button .theme-moon{display:none}.topbar .theme-button span{display:none}
.brand-lockup .brand-symbol{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;margin:0;border-radius:var(--control-radius);background:var(--primary);color:var(--on-primary);font-size:0}
.brand-lockup .brand-symbol .icon{width:23px;height:23px;stroke-width:1.6}
.brand-lockup .brand-name{font-size:inherit;color:inherit;margin:0;line-height:inherit;white-space:nowrap}
.brand-lockup .brand-period{font-size:inherit;color:var(--accent);margin:0}
.sidebar .brand.brand-lockup{display:flex;align-items:center;gap:10px;font-size:var(--type-brand);letter-spacing:0;line-height:1.5}
#picker-mount .jdp-day.selected{background:var(--primary)!important;color:var(--on-primary)!important;border-color:var(--primary)}#picker-mount .jdp-day.today:not(.selected){background:var(--selected-bg);border-color:var(--selected-line);color:var(--olive)}#picker-mount .jdp-day.disabled-day{opacity:.28}#picker-mount .jdp-day.not-in-month:not(.disabled-day){opacity:.45}
#picker-mount .jdp-year select,#picker-mount .jdp-month select{background:var(--surface-hover);color:var(--ink)}
.picker-footer>.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
@media(max-width:760px){.topbar-actions{gap:7px}.topbar .theme-button{min-width:38px;min-height:38px;padding:8px}.mobile-nav{background:var(--surface);border-color:var(--line)}.mobile-nav .active{color:var(--ink)!important}}
@media(max-width:360px){.topbar{padding-inline:16px}.topbar-actions{gap:4px}.topbar .live-label{font-size:9px}}
@media(max-width:760px){.mobile-brand.brand-lockup{align-items:center;gap:7px;font-size:22px;letter-spacing:0}.mobile-brand .brand-symbol{width:28px;height:28px}.mobile-brand .brand-symbol .icon{width:18px;height:18px}}
