/* P1 visual unification: loaded last by base.html. */
:root{
  --theme-bg:#FBF7F0;
  --theme-surface:#FFFDFC;
  --theme-raised:#F4EBE6;
  --theme-text:#2D202E;
  --theme-muted:#665C65;
  --theme-primary:#6D355F;
  --theme-onPrimary:#FFFFFF;
  --theme-accent:#A84F3C;
  --theme-control:#806B7C;
  --theme-line:#D8CDD4;
  --theme-ink:#3A2335;
  --theme-inverse:#FFFFFF;
  --theme-success:#2E7352;
  --theme-warning:#8C5A1F;
  --theme-danger:#A33B4C;
  --theme-dangerSurface:#FBEAEC;
  --theme-warningSurface:#FBF0DF;
  --bg:var(--theme-bg);--panel:var(--theme-surface);--panel2:var(--theme-raised);--text:var(--theme-text);--muted:var(--theme-muted);--line:var(--theme-line);--accent:var(--theme-primary);--accent-dark:#57294B;--accent-soft:var(--theme-raised);--dark:var(--theme-ink);--dark2:var(--theme-ink);
  --v6-pink:var(--theme-primary);--v6-purple:var(--theme-primary);--v6-orange:var(--theme-accent);--v6-green:var(--theme-success);--v6-ink:var(--theme-text);--v6-cream:var(--theme-surface);--v6-teal:var(--theme-primary);--v6-coral:var(--theme-accent);--v6-ivory:var(--theme-bg);
  --premium-ink:var(--theme-text);--premium-soft:var(--theme-raised);--premium-pink:var(--theme-primary);--premium-purple:var(--theme-primary);--premium-orange:var(--theme-accent);--premium-green:var(--theme-success);
  --pro-ink:var(--theme-text);--pro-muted:var(--theme-muted);--pro-line:var(--theme-line);--pro-pink:var(--theme-primary);--pro-purple:var(--theme-primary);
  --v22-ink:var(--theme-text);--v22-plum:var(--theme-primary);--v22-rose:var(--theme-accent);--v22-blush:var(--theme-raised);--v22-lilac:var(--theme-raised);--v22-mint:var(--theme-raised);--v22-line:var(--theme-line);
  --p25-ink:var(--theme-text);--p25-muted:var(--theme-muted);--p25-rose:var(--theme-primary);--p25-soft:var(--theme-raised);--p25-line:var(--theme-line);--p25-green:var(--theme-success);--p25-violet:var(--theme-primary);
  --v27-ink:var(--theme-text);--v27-muted:var(--theme-muted);--v27-line:var(--theme-line);--v27-surface:var(--theme-surface);--v27-rose:var(--theme-primary);--v27-rose-dark:#57294B;--v27-blush:var(--theme-raised);--v27-sand:var(--theme-bg);
  --p28-ink:var(--theme-text);--p28-muted:var(--theme-muted);--p28-rose:var(--theme-primary);--p28-rose-soft:var(--theme-raised);--p28-edge:var(--theme-line);--p28-paper:var(--theme-surface);--p28-green:var(--theme-success);--sz-ink:var(--theme-text);--sz-teal:var(--theme-primary);--sz-teal-2:#875078;--sz-mint:var(--theme-raised);--sz-ivory:var(--theme-bg);--sz-coral:var(--theme-accent);--sz-line:var(--theme-line);--sz-muted:var(--theme-muted);
}
html[data-sz-theme="dark"]{
  --theme-bg:#171219;--theme-surface:#231A24;--theme-raised:#302434;--theme-text:#F8F1E8;--theme-muted:#C8BBC5;
  --theme-primary:#E0A4C1;--theme-onPrimary:#2A1522;--theme-accent:#F0A080;--theme-control:#9B8798;--theme-line:#7A6578;--theme-ink:#2A1522;
  --theme-inverse:#FFF8F0;--theme-success:#93D2B0;--theme-warning:#F2C47D;--theme-danger:#FFADB7;--theme-dangerSurface:#4B2830;--theme-warningSurface:#46351F;
}
html,body{background:var(--theme-bg);color:var(--theme-text);font-family:SavasNunito,'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px}
body{accent-color:var(--theme-primary)}
.sz-theme-toolbar,.public-language{display:none!important}
:focus-visible{outline:3px solid var(--theme-accent)!important;outline-offset:3px!important}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea{min-height:44px!important;font-size:16px!important;line-height:1.4!important;color:var(--theme-text)!important;background:var(--theme-surface)!important;border-color:var(--theme-control)!important}
button,[role="button"],input[type="submit"],input[type="button"],input[type="reset"]{min-width:44px;min-height:44px}
label:has(input[type="checkbox"]),label:has(input[type="radio"]){min-height:44px}
input[type="checkbox"],input[type="radio"]{accent-color:var(--theme-primary)}
::placeholder{color:var(--theme-muted)!important;opacity:1}
.client-booking-wizard small,.client-mobile-app small,.v61-home small,.admin-body .main small,.login-wrap small{font-size:14px!important;line-height:1.4}
.v61-primary,.button-link,.client-primary-action,.client-arrow,.public-meta a,.v61-home-header a,.v61-services-head>a,.text-link{min-height:44px;display:inline-flex;align-items:center}
.primary,.v61-primary,.client-primary-action,.client-wizard-next,.mobile-app-create{background:var(--theme-primary)!important;color:var(--theme-onPrimary)!important;border-color:var(--theme-primary)!important}
.secondary{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-control)!important}
.client-kicker,.eyebrow,.login-hero em{color:var(--theme-accent)!important}
.client-mobile-app,.client-booking-wizard,.v61-home,.v61-success,.login-wrap,.auth-page,.public-page,.manage-page,.v6-privacy-page{background:var(--theme-bg)!important;color:var(--theme-text)!important}
.v61-hero,.v61-service-card,.client-feature-card,.client-preferences-form,.client-menu-list,.client-empty,.v61-success-card,.login-card,.panel,.card,.pro21-card,.pro21-kpis article{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
.client-topbar,.v61-home-header,.client-bottom-nav,.client-wizard-toolbar{background:color-mix(in srgb,var(--theme-surface) 94%,transparent)!important;border-color:var(--theme-line)!important}
.sidebar{background:var(--theme-ink)!important}
.client-next-card{background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent))!important;color:var(--theme-onPrimary)!important}
.client-care-note,.client-next-reminder,.client-feature-card.muted{background:var(--theme-raised)!important;color:var(--theme-text)!important}
.login-visual{background:linear-gradient(145deg,var(--theme-ink),#583147)!important}
.login-brand img{width:min(210px,70vw);height:auto;padding:10px 12px;border-radius:16px;background:var(--theme-surface)}
html[data-sz-theme="dark"] .client-brand{padding:4px 8px;border-radius:12px;background:var(--theme-raised)!important}

.client-calendar-head button,.client-day-time-grid button,.client-wizard-toolbar [data-wizard-back],.sheet-head [data-mobile-more-close]{min-width:44px!important;min-height:44px!important}
.client-calendar-days>button.active,.client-day-time-grid button.selected,.client-booking-wizard .public-service-card.selected{border-color:var(--theme-primary)!important;box-shadow:0 0 0 2px var(--theme-surface),0 0 0 4px var(--theme-accent)!important}
.client-calendar-days>button.active,.client-day-time-grid button.selected{background:var(--theme-primary)!important;color:var(--theme-onPrimary)!important}
html:not([data-sz-theme="dark"]) .client-calendar-days>button.available.active{background:var(--theme-primary)!important;color:var(--theme-onPrimary)!important;border-color:var(--theme-primary)!important}
.mobile-bottom-nav,.client-bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}
.sz-theme-control{display:inline-flex;align-items:center;gap:8px;color:var(--theme-muted);font-size:14px;font-weight:800}
.sz-theme-control select{min-height:44px;padding:8px 34px 8px 10px}
.sz-error-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--theme-bg)}
.sz-error-card{width:min(100%,620px);padding:clamp(28px,7vw,64px);border:1px solid var(--theme-line);border-radius:28px;background:var(--theme-surface);box-shadow:0 22px 70px color-mix(in srgb,var(--theme-primary) 14%,transparent);text-align:center}
.sz-error-card img{width:min(220px,70%);height:auto}.sz-error-card h1{margin:24px 0 8px;font-size:clamp(2rem,8vw,3.7rem)}.sz-error-card p{color:var(--theme-muted);font-size:1.05rem;line-height:1.6}
.sz-error-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:24px}.sz-error-actions a{min-height:48px;padding:12px 18px;border-radius:14px;text-decoration:none;font-weight:900}
@media(max-width:1023px){
  .admin-body .sidebar{display:none!important}.admin-body .mobile-app-header{display:flex!important;padding-top:env(safe-area-inset-top)}
  .admin-body .main{margin-left:0!important;padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}.admin-body .mobile-bottom-nav{display:grid!important}
  .v61-hero{grid-template-columns:minmax(0,1fr)!important}.v61-hero img{order:-1;min-height:300px}.v61-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){.v61-service-grid{grid-template-columns:minmax(0,1fr)!important}.v61-hero img{min-height:230px}.sz-error-actions{display:grid}.sz-error-actions a{justify-content:center}}
@media(max-width:430px){
  .v61-home-main{padding-inline:12px!important}.v61-home-header{padding-inline:14px!important}.v61-home-header img{width:138px!important}.v61-hero h1{font-size:clamp(2.1rem,12vw,3rem)}
  .client-booking-wizard .booking-workflow{padding-inline:12px!important}.client-booking-wizard .public-service-card{grid-template-columns:88px minmax(0,1fr)!important}.client-booking-wizard .public-service-body{padding:12px!important}
  .client-day-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.mobile-bottom-nav small{white-space:normal!important;overflow-wrap:anywhere;line-height:1.1}
}
@media(max-width:340px){.client-calendar{overflow-x:auto!important;padding-inline:8px!important}.client-calendar-week,.client-calendar-days{min-width:332px;grid-template-columns:repeat(7,44px)!important}}
@media(min-width:1024px){.admin-body .sidebar{display:flex!important}.admin-body .mobile-app-header,.admin-body .mobile-bottom-nav{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important}.primary,.client-wizard-next{forced-color-adjust:auto;border:1px solid ButtonText!important}}

.sidebar>.sz-theme-control-sidebar{margin:10px 14px 12px;color:var(--theme-inverse);display:grid}
.mobile-more-sheet .sz-theme-control-sidebar{width:100%;margin:12px 0;color:var(--theme-text);justify-content:space-between}
.sz-theme-control-sidebar select{width:100%}
