/* STO N1 Design System 1.0.0; generated by scripts/build-design-system.mjs. */
@media screen {
html:root {
  --sto-background:#F2F2F2;
  --sto-surface:#FFFFFF;
  --sto-text-primary:#14161A;
  --sto-text-secondary:#62656D;
  --sto-border:#D9D9D9;
  --sto-border-control:#62656D;
  --sto-accent:#B81810;
  --sto-accent-text:#B81810;
  --sto-on-accent:#FFFFFF;
  --sto-danger:#B42318;
  --sto-success:#116447;
  --sto-warning:#825500;
  --sto-muted:#F2F2F2;
  --sto-focus:#14161A;
  --sto-spacing-1:4px;
  --sto-spacing-2:8px;
  --sto-spacing-3:12px;
  --sto-spacing-4:16px;
  --sto-spacing-5:24px;
  --sto-spacing-6:32px;
  --sto-spacing-7:48px;
  --sto-spacing-8:64px;
  --sto-radius-control:5px;
  --sto-radius-panel:12px;
  --sto-radius-pill:999px;
  --sto-shadow-none:none;
  --sto-shadow-panel:0 12px 34px rgba(17,24,39,.06);
  --sto-typography-body:Manrope, Arial, sans-serif;
  --sto-typography-heading:"Exo 2", Manrope, Arial, sans-serif;
  --sto-typography-base:16px;
  --sto-typography-small:14px;
  --sto-typography-section:28px;
  --sto-typography-hero:clamp(28px, 4vw, 48px);
  --sto-typography-line-body:1.6;
  --sto-typography-line-heading:1.15;
  --sto-motion-duration-fast:160ms;
  --sto-motion-duration-reveal:240ms;
  --sto-motion-easing-standard:ease-out;
  --sto-motion-easing-reveal:cubic-bezier(0.2,0,0,1);
  --sto-layout-content:1200px;
  --sto-layout-control:48px;
}
html:root[data-theme="dark"] {
  --sto-background:#12151A;
  --sto-surface:#1D2128;
  --sto-text-primary:#F3F2EE;
  --sto-text-secondary:#B2B5BD;
  --sto-border:#373B43;
  --sto-border-control:#B2B5BD;
  --sto-accent:#B81810;
  --sto-accent-text:#F06450;
  --sto-on-accent:#FFFFFF;
  --sto-danger:#FFB4AB;
  --sto-success:#76D6AC;
  --sto-warning:#F4B740;
  --sto-muted:#373B43;
  --sto-focus:#F3F2EE;
}
}
/* Adapter to existing canonical UI. Screen-only: printed business documents keep their own standards. */
@media screen {
  html:root[data-theme], html:root[data-theme] body {
    --public-paper:var(--sto-background);--public-panel:var(--sto-surface);--public-ink:var(--sto-text-primary);--public-muted:var(--sto-text-secondary);--public-line:var(--sto-border);--public-accent:var(--sto-accent-text);
    --site-accent-text:var(--sto-accent-text);--site-accent-solid:var(--sto-accent);--site-accent-solid-hover:var(--sto-accent);
    --bg:var(--sto-background);--panel:var(--sto-surface);--panel2:var(--sto-muted);--text:var(--sto-text-primary);--ink:var(--sto-text-primary);--muted:var(--sto-text-secondary);--line:var(--sto-border);--line-strong:var(--sto-border-control);
    --red:var(--sto-accent-text);--red2:var(--sto-accent-text);--red-dark:var(--sto-accent);--green:var(--sto-success);--yellow:var(--sto-warning);--soft:var(--sto-muted);--soft-red:var(--sto-muted);--red-line:var(--sto-accent-text);--radius:var(--sto-radius-panel);--shadow:var(--sto-shadow-panel);--hover-frame-shadow:none;
    --heading:var(--sto-typography-heading);--body:var(--sto-typography-body);
    --uslugi-bg:var(--sto-background);--uslugi-panel:var(--sto-surface);--uslugi-panel-2:var(--sto-muted);--uslugi-text:var(--sto-text-primary);--uslugi-muted:var(--sto-text-secondary);--uslugi-border:var(--sto-border);--uslugi-accent:var(--sto-accent-text);
    --sw-bg:var(--sto-background);--sw-panel:var(--sto-surface);--sw-panel-2:var(--sto-muted);--sw-panel-3:var(--sto-muted);--sw-line:var(--sto-border);--sw-line-soft:var(--sto-border);--sw-control-line:var(--sto-border-control);--sw-focus:var(--sto-focus);--sw-text:var(--sto-text-primary);--sw-muted:var(--sto-text-secondary);--sw-red:var(--sto-accent);--sw-red-bright:var(--sto-accent-text);--sw-green:var(--sto-success);--sw-yellow:var(--sto-warning);--sw-radius:var(--sto-radius-panel);--sw-radius-sm:var(--sto-radius-control);
    --staff-shell-bg:var(--sto-surface);--staff-shell-bg-strong:var(--sto-background);--staff-shell-surface:var(--sto-muted);--staff-shell-line:var(--sto-border);--staff-shell-text:var(--sto-text-primary);--staff-shell-muted:var(--sto-text-secondary);--staff-shell-accent:var(--sto-accent-text);
    --dash-radius:var(--sto-radius-panel);--dash-radius-inner:var(--sto-radius-control);--dash-surface:var(--sto-surface);--dash-surface-inner:var(--sto-muted);--dash-border-color:var(--sto-border);--dash-border-hover:var(--sto-accent-text);--dash-shadow:none;--dash-pad:var(--sto-spacing-4);--dash-gap:var(--sto-spacing-3);--dash-head-border:var(--sto-border);
  }
  html:root[data-theme] body {background:var(--sto-background);color:var(--sto-text-primary);font-family:var(--sto-typography-body)}
  html:root[data-theme] body :is(h1,h2,h3,h4) {font-family:var(--sto-typography-heading)}
  /* --white in public-home is a legacy text alias. Do not remap --white globally. */
  html:root[data-theme] body.public-home {--white:var(--sto-text-primary);--gray:var(--sto-text-secondary);--dark:var(--sto-background);--dark2:var(--sto-surface);--dark3:var(--sto-muted)}
  html:root[data-theme] body :is(.public-header,.portal-header,.admin-header,.staff-shell-sidebar,.staff-shell-topbar) {background:var(--sto-surface);border-color:var(--sto-border);color:var(--sto-text-primary);backdrop-filter:none}
  html:root[data-theme] body :is(.offer-button,.directions-button,.btn-red,.btn--primary,.service-hero__cta,.uslugi-header__cta,.primary-btn,.uslugi-btn--primary,.home-btn--primary,.public-book,.client-now-action,.sw-btn--primary,.sw-button--primary) {background:var(--sto-accent);color:var(--sto-on-accent);border-color:var(--sto-accent);border-radius:var(--sto-radius-control);box-shadow:none;text-shadow:none}
  html:root[data-theme] body :is(.offer-button,.directions-button,.btn-red,.btn--primary,.service-hero__cta,.uslugi-header__cta,.primary-btn,.uslugi-btn--primary,.home-btn--primary,.public-book,.client-now-action,.sw-btn--primary,.sw-button--primary):hover {background:var(--sto-accent);color:var(--sto-on-accent);box-shadow:inset 0 0 0 2px var(--sto-on-accent);transform:none}
  html:root[data-theme] body :is(.secondary-btn,.ghost-btn,.uslugi-btn:not(.uslugi-btn--primary),.home-btn:not(.home-btn--primary),.sw-btn:not(.sw-btn--primary)) {border-radius:var(--sto-radius-control);border-color:var(--sto-border-control);color:var(--sto-text-primary);background:var(--sto-surface);box-shadow:none}
  html:root[data-theme] body :is(.primary-btn,.secondary-btn,.ghost-btn,.uslugi-btn,.home-btn,.public-book) {min-height:44px;transition:background-color var(--sto-motion-duration-fast) var(--sto-motion-easing-standard),border-color var(--sto-motion-duration-fast) var(--sto-motion-easing-standard)}
  html:root[data-theme] body :is(.scheduler-dashboard,.scheduler-dialog,.hero-copy,.auth-card,.profile-card,.history-card,.appointment-form,.client-now-card,.client-stats-panel,.corporate-account-box,.loyalty-wallet-card,.login-card,.dashboard-card,.dashboard-panel,.dashboard-table-wrap,.sw-panel,.sw-card,.sw-dialog,.sto-form-workflow__dialog,.sto-form-workflow__launcher) {border-radius:var(--sto-radius-panel);background:var(--sto-surface);border-color:var(--sto-border);box-shadow:var(--sto-shadow-none);color:var(--sto-text-primary)}
  html:root[data-theme] body :is(.hero-copy,.auth-card,.profile-card,.history-card,.appointment-form,.client-now-card):hover {box-shadow:none;transform:none}
  html:root[data-theme] body .hero-copy::after, html:root[data-theme] body .hero-copy::before {display:none}
  html:root[data-theme] body :is(.sto-form-workflow__header,.sw-dialog__head,.sw-dialog__footer) {background:var(--sto-surface);border-color:var(--sto-border);color:var(--sto-text-primary)}
  html:root[data-theme] body :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]),select,textarea) {background:var(--sto-surface);color:var(--sto-text-primary);border-color:var(--sto-border-control);border-radius:var(--sto-radius-control);font-family:var(--sto-typography-body);font-size:1rem}
  html:root[data-theme] body :is(input,textarea)::placeholder {color:var(--sto-text-secondary);opacity:1}
  html:root[data-theme] body :is(input,select,textarea)[aria-invalid=true] {border-color:var(--sto-danger)}
  html:root[data-theme] body :is(.field-hint.error,.form-error,.sw-field-error) {color:var(--sto-danger)}
  html:root[data-theme] body :is(.field-hint.success) {color:var(--sto-success)}
  html:root[data-theme] body .phone-control {border-color:var(--sto-border-control);border-radius:var(--sto-radius-control);background:var(--sto-surface)}
  html:root[data-theme] body .phone-control input {border:0;border-radius:0}
  html:root[data-theme] body .phone-prefix {color:var(--sto-accent-text);border-color:var(--sto-border)}
  html:root[data-theme] body :is(.appointment-slot-btn.available.active,.appointment-slot-btn[aria-pressed=true],.appointment-day-btn[aria-pressed=true]) {background:var(--sto-accent);color:var(--sto-on-accent);border-color:var(--sto-accent);box-shadow:none}
  html:root[data-theme] body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid var(--sto-focus);outline-offset:3px}
  html:root[data-theme] body :is(button,input,select,textarea):disabled {cursor:not-allowed}
  html:root[data-theme] body :is(.uslugi-service-card,.service-card,.home-service-card) {border-radius:var(--sto-radius-panel);border-color:var(--sto-border)}
  html:root[data-theme] body .scheduler-dashboard button {background:var(--sto-surface);color:var(--sto-text-primary);border-color:var(--sto-border-control);border-radius:var(--sto-radius-control)}
  html:root[data-theme] body .consent-check a {color:var(--sto-accent-text);text-decoration:underline}
  html:root[data-theme] body .portal-footer a {text-decoration:underline;text-underline-offset:3px}
  html:root[data-theme] body .brand b {color:var(--sto-accent-text)}
  /* Data tables retain their existing scrolling, density and semantic status colors. */
  html:root[data-theme] body :is(.dashboard-table thead,.data-table thead) {background:var(--sto-muted);color:var(--sto-text-primary)}
}
@media screen and (max-width:680px) {
  html:root[data-theme] body.portal-page :is(.auth-card,.profile-card,.history-card,.appointment-form) {padding:var(--sto-spacing-5)}
  html:root[data-theme] body :is(.public-header,.portal-header) {padding-inline-start:max(16px,env(safe-area-inset-left));padding-inline-end:max(16px,env(safe-area-inset-right))}
}
@media screen and (prefers-reduced-motion:reduce) {
  html:root[data-theme] {scroll-behavior:auto}
  html:root[data-theme] body :is(button,a,input,select,textarea,.hero-copy,.auth-card,.profile-card,.history-card,.appointment-form,.client-now-card,.dashboard-card) {animation:none!important;transition:none!important;scroll-behavior:auto}
}
