@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2) format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2) format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/oswald-cyrillic-600-normal-OIkAk3Qq.woff2) format("woff2"),url(/assets/oswald-cyrillic-600-normal-B7zyAoGs.woff) format("woff")}:root{--bg: #13110f;--bg-raised: #171512;--surface: #1d1a17;--surface-2: #2a2520;--line: #2c2723;--line-2: #36302a;--text: #f2ece2;--text-2: #d8d0c4;--muted: #a39a8c;--faint: #6b6359;--accent: #d9a85b;--accent-hover: #e8c07e;--accent-ink: #1a140b;--accent-soft: #1f1c17;--accent-line: #3a3124;--ok: #8fd0a0;--ok-bg: #1f2b22;--danger: #f0a091;--danger-line: #5c2f28;--font-display: "Barlow Condensed", "Oswald", "Arial Narrow", sans-serif;--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 14px;--gutter: 20px;--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px));color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;min-height:var(--tg-viewport-stable-height, 100dvh);max-width:560px;margin:0 auto}img{display:block;max-width:100%}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.container{padding-left:var(--gutter);padding-right:var(--gutter)}.page{padding-top:20px;padding-bottom:24px}.stack-6>*+*{margin-top:6px}:where(ul[class*=stack-],ol[class*=stack-]){list-style:none;margin:0;padding:0}.stack-8>*+*{margin-top:8px}.stack-10>*+*{margin-top:10px}.stack-12>*+*{margin-top:12px}.stack-14>*+*{margin-top:14px}.stack-16>*+*{margin-top:16px}.stack-20>*+*{margin-top:20px}.grow{flex:1;min-width:0}.spread{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.nowrap{white-space:nowrap}.center{text-align:center}.block{display:block}.inline-flex{display:inline-flex;align-items:center;gap:4px}.tabs-layout{display:flex;flex-direction:column;min-height:inherit}.tabs-layout__body{flex:1}.bottom-nav{position:sticky;bottom:0;z-index:10;display:flex;background:var(--bg-raised);border-top:1px solid var(--line);padding:4px 8px calc(8px + var(--safe-bottom))}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;justify-content:center;font-size:12px;font-weight:600;color:var(--muted)}.bottom-nav__item.active{color:var(--accent);font-weight:700}.flow{display:flex;flex-direction:column;min-height:inherit}.flow__main{flex:1;padding-top:18px;padding-bottom:24px}.flow__footer{position:sticky;bottom:0;z-index:10;background:var(--bg-raised);border-top:1px solid var(--line);padding:12px 16px calc(12px + var(--safe-bottom))}.flow__footer:empty{display:none}.flow__footer>*+*{margin-top:10px}.display{margin:0;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1}.display+p{margin-top:8px}.display--xl{font-size:38px}.display--lg{font-size:32px}.display--md{font-size:28px}.display--rating{font-size:56px}.title{font-size:15px;font-weight:700}.title--lg{font-size:18px}.muted{color:var(--muted)}.small{font-size:13px}.accent{color:var(--accent)}.text-ok{color:var(--ok)}.text-danger{color:var(--danger)}.price{font-weight:700;white-space:nowrap}.total{font-size:20px;font-weight:700}p{margin:0}.section-label{margin:4px 0 0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.link{border:0;background:none;padding:6px 0;color:var(--accent);font-size:13px;font-weight:700}.link--block{display:block;min-height:40px}.plain-link{color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid transparent;background:transparent;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .15s,opacity .15s}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-ink)}.btn-outline{border-color:var(--line-2);color:var(--text)}.btn-ghost{border-color:var(--line-2);color:var(--accent)}.btn-danger{border-color:var(--danger-line);color:var(--danger)}.btn-lg{min-height:52px;font-size:16px}.btn-block{display:flex;width:100%}.btn-square{width:52px;min-height:52px;padding:0;border-color:var(--line-2);background:var(--surface);color:var(--text)}.back-link{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:8px 0 0 12px;padding:0 8px;border:0;background:none;color:var(--muted);font-size:14px;font-weight:600}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{display:block;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--text)}.row-card{display:flex;align-items:center;gap:12px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);font-size:14px;white-space:nowrap}.badge{flex:none;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.badge--ok{background:var(--ok-bg);color:var(--ok)}.badge--muted{background:var(--surface-2);color:var(--muted)}.badge--danger{background:#2b1d1a;color:var(--danger)}.avatar{flex:none;border-radius:50%;object-fit:cover;background:var(--surface-2)}.avatar--40{width:40px;height:40px}.avatar--48{width:48px;height:48px}.avatar--64{width:64px;height:64px}.avatar--initial{display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:700;text-transform:uppercase}.icon-badge{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--accent)}.note-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--text-2);font-size:14px}.stars{display:inline-flex;gap:2px}.state{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 20px;text-align:center}.state--full{min-height:100vh;justify-content:center}.state__text{color:var(--muted);max-width:300px}.skeleton{background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton,.spinner{animation:none}}.toast-region{position:fixed;left:0;right:0;top:12px;z-index:100;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.toast{max-width:420px;padding:12px 16px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-2);font-size:14px;box-shadow:0 8px 24px #0006}.toast--error{border-color:var(--danger-line);color:var(--danger)}.toast--success{border-color:#2f4a37;color:var(--ok)}.cover{position:relative;height:240px;background:var(--surface);overflow:hidden}.cover--empty{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#1b1815 0 14px,#201d19 14px 28px)}.cover__mark{color:var(--accent);font-size:96px;opacity:.85}.cover__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.cover__track::-webkit-scrollbar{display:none}.cover__img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}.cover__dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}.cover__dot{width:6px;height:6px;border-radius:3px;background:#f2ece273;transition:width .2s}.cover__dot.is-active{width:18px;background:var(--accent)}.salon__head{padding-top:20px}.salon__title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.salon__tagline{margin-top:6px;font-size:14px}.info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--text-2)}.info-list li{display:flex;align-items:center;gap:10px;min-height:28px}.info-list svg{flex:none}.cta-row{display:flex;gap:10px}.barber{display:flex;align-items:flex-start;gap:12px}.barber__bio{margin-top:6px;font-size:13px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs__tab{flex:1;min-height:46px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);font-size:14px;font-weight:600}.tabs__tab.is-active{color:var(--text);font-weight:700;border-bottom-color:var(--accent)}.tab-panel{padding-top:16px;padding-bottom:24px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.thumb{aspect-ratio:1 / 1;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--surface)}.thumb img{width:100%;height:100%;object-fit:cover}.segmented--small .segmented__item{min-height:36px;border:0;background:none;font-size:13px}.segmented--small .segmented__item.is-active{background:var(--accent)}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.video-tile{position:relative;aspect-ratio:9 / 16;padding:0;border:0;border-radius:12px;overflow:hidden;background:var(--surface)}.video-tile video{width:100%;height:100%;object-fit:cover;pointer-events:none}.video-tile__badge{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:#0a0908b3;color:var(--text);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.lightbox__stage video{max-width:100%;max-height:100%}.lightbox{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:#080706f5}.lightbox__close{align-self:flex-end;width:48px;height:48px;margin:8px;border:0;border-radius:50%;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center}.lightbox__stage{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.lightbox__stage img{max-height:100%;object-fit:contain}.lightbox__count{padding:16px;text-align:center;color:var(--muted);font-size:13px}.rating-summary{display:flex;align-items:center;gap:16px;padding:18px}.review{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.review__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.review__text{margin-top:6px;font-size:14px;line-height:1.5;color:var(--text-2)}.stepper{list-style:none;margin:0;padding:16px var(--gutter) 0;display:flex;align-items:center}.stepper__step{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}.stepper__step+.stepper__step{flex:1 1 auto;justify-content:flex-end}.stepper__line{flex:1;height:1px;margin:0 8px;background:var(--line-2)}.stepper__line.is-done{background:var(--accent)}.stepper__dot{flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2)}.stepper__step--current{color:var(--text);font-weight:700}.stepper__step:not(.stepper__step--current) .stepper__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stepper__step--current .stepper__dot{border:0;background:var(--accent);color:var(--accent-ink)}.stepper__step--done .stepper__dot{border:0;background:var(--surface-2);color:var(--accent)}.option{padding:0;overflow:hidden}.option.is-selected,.booking--upcoming{border-color:var(--accent)}.option__main{display:flex;align-items:center;gap:12px;padding:14px;min-height:64px;cursor:pointer}.check,.radio{flex:none;width:22px;height:22px;margin:0;accent-color:var(--accent)}.radio{width:18px;height:18px}.variants{border:0;margin:0;padding:0 14px 12px 48px;display:flex;flex-direction:column;gap:6px}.variant{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:10px;background:var(--surface-2);font-size:14px;font-weight:600;cursor:pointer}.summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px;font-size:14px}.summary-row strong{font-size:18px}.day-strip{display:flex;gap:8px;overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter);scrollbar-width:none}.day-strip::-webkit-scrollbar{display:none}.day{flex:0 0 58px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.day:disabled{background:transparent;border-color:#221e1a;color:var(--faint)}.day.is-selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.day__weekday{font-size:12px;font-weight:600}.day__number{font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1}.day__note{font-size:11px}.day:not(.is-selected):not(:disabled) .day__weekday,.day:not(.is-selected):not(:disabled) .day__note{color:var(--muted)}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slot{min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.slot.is-selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.summary-card{padding:4px 16px}.summary-card__row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.summary-card__row svg{flex:none;margin-top:1px}.summary-card__total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;font-size:14px}.phone-card{display:flex;align-items:center;gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;border:0;margin-left:0;margin-right:0;margin-bottom:0;padding:0}.field__label{padding:0;font-size:13px;font-weight:600;color:var(--muted)}fieldset.field>.field__label{margin-bottom:6px}.field-row{display:flex;gap:10px}.input{width:100%;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);font-size:15px}.input::placeholder{color:#7d7469}.input:focus{outline:none;border-color:var(--accent)}.input--static{display:flex;align-items:center;gap:10px;border-color:var(--line)}.textarea{padding:12px 14px;resize:none;line-height:1.45}.done__main{display:flex;flex-direction:column;gap:16px;padding-top:48px}.done__badge{align-self:center;display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;border:2px solid var(--accent);color:var(--accent)}.done__when{margin-top:-6px;font-size:16px;color:var(--text-2)}.booking{display:flex;flex-direction:column;gap:12px}.booking--cancelled{background:transparent;border-style:dashed;border-color:var(--line-2)}.booking--cancelled .title{color:var(--muted);font-weight:600}.booking__top{display:flex;gap:14px}.booking__time{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.booking__items{margin:4px 0 6px;font-size:14px;line-height:1.45;color:var(--text-2)}.booking__actions{display:flex;gap:10px}.date-block{flex:none;width:60px;padding:8px 0;border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center}.date-block__weekday{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.date-block__day{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.05}.date-block__month{font-size:11px;color:var(--muted)}.review-form{padding-top:12px;border-top:1px solid var(--line)}.review-form .spread{align-items:center}.star-input{display:flex}.star-input__star{width:36px;height:44px;padding:0;border:0;background:none;display:flex;align-items:center;justify-content:center}.profile-head{display:flex;align-items:center;gap:14px}.segmented{display:flex;padding:4px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.segmented__item{flex:1;min-height:40px;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}.segmented__item.is-active{background:var(--accent);color:var(--accent-ink);font-weight:700}.segmented__item:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.toggle-row{display:flex;align-items:center;gap:12px;cursor:pointer}.switch{flex:none;appearance:none;position:relative;width:46px;height:28px;margin:0;border-radius:14px;background:var(--line-2);transition:background-color .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--text);transition:transform .15s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px);background:var(--accent-ink)}.profile-save:empty{display:none}.salon{position:relative}.lang-switch.salon__lang{position:absolute;top:12px;right:12px;z-index:5}.lang-switch{position:relative}.lang-switch__button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:18px;border:1px solid rgb(242 236 226 / .18);background:#13110fb8;backdrop-filter:blur(8px);color:var(--text);font-size:13px;font-weight:700;letter-spacing:.04em}.lang-switch__backdrop{position:fixed;inset:0;z-index:1}.lang-switch__menu{position:absolute;top:calc(100% + 6px);right:0;z-index:2;min-width:168px;margin:0;padding:6px;list-style:none;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);box-shadow:0 12px 32px #00000073}.lang-switch__item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:15px;text-align:left}.lang-switch__item[aria-checked=true]{background:var(--accent-soft)}.master-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;min-height:72px;text-align:left;color:inherit}.master-option .title,.master-option .small{display:block}.master-option__rating,.team-card__rating{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-weight:700}.master-option__rating{font-size:14px}.team-card{display:flex;align-items:flex-start;gap:14px}.team-card__book{align-self:center}.stack-4{display:flex;flex-direction:column;gap:4px}.btn-sm{min-height:36px;padding:0 14px;border-radius:10px;font-size:13px}.badge--warn{background:#2e2615;color:var(--accent)}.done__badge--pending{border-style:dashed}.icon-badge--lg{width:64px;height:64px}.join{align-items:flex-start;padding-top:32px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.faint{color:var(--faint)}.text-2{color:var(--text-2)}.spread--center{align-items:center}.spread--baseline{align-items:baseline}.is-hidden{opacity:.55}.display--time{font-size:44px;text-transform:none;letter-spacing:.01em;font-variant-numeric:tabular-nums}.panel-head{display:flex;align-items:flex-end;gap:12px}.panel-head .display{margin-top:4px}.panel-head__date{margin-top:6px;font-size:14px}.fab{flex:none;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}.fab:hover{background:var(--accent-hover);color:var(--accent-ink)}.day-strip--compact{gap:6px;scroll-behavior:smooth}.day--compact{flex:0 0 48px;height:58px;border-radius:12px}.day--compact .day__number{font-family:var(--font-body);font-size:16px}.day.is-past:not(.is-selected){background:transparent;border-color:#221e1a;color:var(--faint)}.day.is-past:not(.is-selected) .day__weekday{color:var(--faint)}.day.is-today:not(.is-selected){border-color:var(--accent-line)}.day.is-today:not(.is-selected) .day__weekday{color:var(--accent)}.chip-row,.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip--static{min-height:32px;font-size:13px;font-weight:600}.chip--check{cursor:pointer;font-weight:600;white-space:normal;text-align:left;line-height:1.25;padding-top:6px;padding-bottom:6px}.chip--check.is-on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.chip--check:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.tl-row{display:flex;gap:12px}.tl-time{flex:none;width:44px;padding-top:12px;font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.tl-card{flex:1;min-width:0;display:block;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--text)}.tl-card--booking .spread{gap:8px}.tl-card--booking.is-focused{border-color:var(--accent)}.tl-card--booking.is-done{background:#181613;border-color:#221e1a;color:#8e8578}.tl-card--booking.is-done .title{font-weight:600}.tl-card__items{margin:4px 0 2px;font-size:13px;line-height:1.45;color:var(--text-2)}.tl-card--gap{min-height:44px;padding-top:0;padding-bottom:0;display:flex;align-items:center;justify-content:space-between;border-style:dashed;border-color:#4a423a;background:transparent;color:var(--muted);font-size:13px;font-weight:600}.tl-card--gap .accent{font-weight:700}.tl-card--hatch{background:repeating-linear-gradient(135deg,#1b1916 0 8px,#221f1b 8px 16px);color:var(--text-2)}.tl-card.spread{display:flex;align-items:center;gap:12px}.tl-card--cancelled{background:transparent;border-style:dashed;border-color:var(--line-2);color:var(--muted)}.tl-now{display:flex;align-items:center;gap:8px}.tl-now .tl-time{padding-top:0;font-size:12px}.tl-now__dot{width:8px;height:8px;border-radius:4px;background:var(--accent);margin-left:-4px}.tl-now__line{flex:1;height:2px;background:var(--accent)}.cancelled-list summary{min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer}.cancelled-list ul{list-style:none;margin:0;padding:0}.day-off{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.badge--accent{background:var(--surface-2);color:var(--accent)}.badge--info{background:#22262a;color:#9fb8d0}.footer-actions{display:flex;gap:10px}.grow-wide{flex:1.4;min-width:0}.note-card--column{flex-direction:column;gap:8px}.meta{line-height:1.6}.segmented__button{border:0;background:none;font:inherit;font-size:14px}.field--wide{flex:1.2}.select{appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23a39a8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.input[type=date],.input[type=time]{appearance:none;min-width:0}.input::-webkit-calendar-picker-indicator{filter:invert(.7)}.input--link{font-size:14px;color:var(--text-2);background:var(--bg)}.icon-btn{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.icon-btn:disabled{color:var(--faint)}.icon-btn.text-danger{color:var(--danger)}.link-row{display:flex;flex-wrap:wrap;gap:4px 18px}.link:disabled{color:var(--faint)}.card--list,.setting-list{padding:0;overflow:hidden}.setting-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;color:var(--text)}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row__icon{flex:none;width:36px;height:36px;border-radius:10px;background:var(--surface-2);color:var(--accent);display:flex;align-items:center;justify-content:center}.service-row+.service-row{border-top:1px solid var(--line)}.service-row__main{display:flex;align-items:center;gap:8px;padding:8px 6px 8px 14px;min-height:60px}.move-buttons{display:inline-flex}.variant-list{list-style:none;margin:0 12px 12px 14px;padding:0;display:flex;flex-direction:column;gap:6px}.variant-list li{display:flex;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:14px}.hours-day+.hours-day{border-top:1px solid var(--line)}.hours-day.is-open{background:#211e1a}.hours-day__head{display:flex;align-items:center;gap:8px;padding-right:14px}.hours-day__toggle{flex:1;min-width:0;min-height:56px;display:flex;align-items:center;gap:12px;padding:8px 0 8px 14px;border:0;background:none;text-align:left}.hours-day__toggle:disabled{cursor:default;color:inherit}.hours-day__name{flex:none;width:96px;font-size:15px;font-weight:700}.hours-day__body{padding:0 14px 14px}.interval-row{display:flex;align-items:center;gap:8px}.input--time{flex:1;min-height:44px;padding:0 10px;border-radius:10px;background:var(--bg);font-variant-numeric:tabular-nums;text-align:center}.closed-day{display:flex;align-items:center;gap:8px;padding:8px 4px 8px 14px}.sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#080706b3}.sheet__panel{width:100%;max-width:560px;max-height:88vh;overflow-y:auto;padding:8px 20px calc(20px + var(--safe-bottom));border-radius:20px 20px 0 0;background:var(--bg-raised);border-top:1px solid var(--line-2);animation:sheet-in .18s ease-out}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}}@media(prefers-reduced-motion:reduce){.sheet__panel{animation:none}}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin-bottom:8px}.sheet__close{width:44px;height:44px;margin-right:-10px;border:0;border-radius:50%;background:none;color:var(--muted);display:flex;align-items:center;justify-content:center}.sheet__note{margin-bottom:8px}.sheet-actions{display:flex;flex-direction:column}.sheet-action{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 4px;border:0;border-top:1px solid var(--line);background:none;font-size:15px;font-weight:600;text-align:left}.sheet-action:first-child{border-top:0}.sheet-action svg{color:var(--accent)}.sheet-action.text-danger svg{color:var(--danger)}.upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.upload{padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--accent-line)}.upload__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.upload__bar{height:6px;margin-top:8px;border-radius:3px;background:var(--surface-2);overflow:hidden}.upload__bar span{display:block;height:100%;background:var(--accent);transition:width .2s}.cover-row{display:flex;gap:8px;overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter);scrollbar-width:none}.cover-row::-webkit-scrollbar{display:none}.cover-thumb,.add-tile--cover{position:relative;flex:0 0 150px;height:94px;padding:0;border-radius:10px;overflow:hidden;border:0;background:var(--surface)}.cover-thumb img{width:100%;height:100%;object-fit:cover}.cover-thumb.is-main{outline:2px solid var(--accent);outline-offset:-2px}.media-index{position:absolute;left:6px;top:6px;padding:2px 7px;border-radius:6px;background:#13110fd9;color:var(--text-2);font-size:11px;font-weight:700}.is-main .media-index{background:var(--accent);color:var(--accent-ink)}.add-tile{aspect-ratio:1 / 1;padding:0;border-radius:10px;border:1px dashed #5a5249;background:transparent;color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700}.add-tile--cover{aspect-ratio:auto;border:1px dashed #5a5249;background:transparent}.barber-photo{display:flex;align-items:center;gap:14px}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.media-tile{position:relative;aspect-ratio:1 / 1;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--surface)}.media-tile img{width:100%;height:100%;object-fit:cover}.media-tile__badge{position:absolute;left:5px;bottom:5px;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;background:#0a0908bf;color:var(--text);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.media-tile__badge svg{fill:currentColor}.media-tile__state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#13110fcc;font-size:11px;font-weight:700;color:var(--text-2)}.media-tile--failed{outline:1px solid var(--danger-line);outline-offset:-1px}.crop{position:fixed;inset:0;z-index:70;max-width:560px;margin:0 auto;display:flex;flex-direction:column;background:#0e0d0b}.crop__head{padding:12px var(--gutter) 14px}.crop__head p{margin-top:6px}.crop__stage{position:relative;flex:1;min-height:260px;max-height:460px;overflow:hidden;touch-action:none;user-select:none;cursor:grab}.crop__stage:active{cursor:grabbing}.crop__img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}.crop__spinner{position:absolute;left:50%;top:50%;margin:-8px 0 0 -8px;color:var(--accent)}.crop__frame{position:absolute;border:2px solid var(--accent);box-shadow:0 0 0 2000px #0a0908b8;pointer-events:none}.crop__frame--round{border-radius:50%}.crop__grid{position:absolute;inset:0;background:linear-gradient(to right,transparent calc(33.33% - .5px),rgb(242 236 226 / .25) calc(33.33% - .5px),rgb(242 236 226 / .25) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgb(242 236 226 / .25) calc(66.66% - .5px),rgb(242 236 226 / .25) calc(66.66% + .5px),transparent calc(66.66% + .5px)),linear-gradient(to bottom,transparent calc(33.33% - .5px),rgb(242 236 226 / .25) calc(33.33% - .5px),rgb(242 236 226 / .25) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgb(242 236 226 / .25) calc(66.66% - .5px),rgb(242 236 226 / .25) calc(66.66% + .5px),transparent calc(66.66% + .5px))}.crop__frame--round .crop__grid{display:none}.crop__controls{padding:18px var(--gutter) 12px}.crop__zoom{display:flex;align-items:center;gap:12px;margin-top:8px}.crop__zoom input{flex:1;accent-color:var(--accent);min-height:44px}.crop__footer{margin-top:auto}.crop__fallback{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 32px;color:var(--muted)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.page-head .display{margin-top:4px}.page-head__actions{display:flex;align-items:center;gap:8px}.icon-button{position:relative;flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center}.icon-button__dot{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:800;line-height:18px;text-align:center}button.chip{color:var(--text);font:inherit;font-size:14px;cursor:pointer}.chip.is-selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:700}.chip__count{font-size:12px;opacity:.7;font-variant-numeric:tabular-nums}.chip--warn{border-color:var(--accent-line);color:var(--accent)}.chip-row--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter)}.chip-row--scroll::-webkit-scrollbar{display:none}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{display:flex;flex-direction:column;gap:4px;min-height:108px;padding:14px;color:var(--text)}.stat__label{margin-top:4px;font-size:13px;font-weight:600;color:var(--muted);line-height:1.3}.stat__value{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat--small-value .stat__value{font-size:20px}.stat__note{font-size:12px;color:var(--muted);line-height:1.35}.stat--link:hover{border-color:var(--line-2)}.pending-card{border-color:var(--accent-line)}.share{display:flex;align-items:center;gap:14px}.share__qr{flex:none;width:112px;height:112px;padding:6px;border-radius:12px;background:#fff}.share__qr svg{display:block;width:100%;height:100%}.share__link{color:var(--text-2);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.week-chart{width:100%;height:auto;display:block}.week-chart__before{fill:none;stroke:var(--faint);stroke-width:1.5;stroke-dasharray:4 4}.week-chart__area{fill:var(--accent);opacity:.12}.week-chart__line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.week-chart__dot{fill:var(--bg);stroke:var(--accent);stroke-width:2}.week-chart__label{fill:var(--muted);font-size:11px;font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:6px 16px}.legend__item{display:inline-flex;align-items:center;gap:6px}.legend__item:before{content:"";width:16px;height:0;border-top:2.5px solid var(--accent)}.legend__item--before:before{border-top:1.5px dashed var(--faint)}.top-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.staff-day+.staff-day{padding-top:6px;border-top:1px solid var(--line)}.staff-day__head{display:flex;align-items:center;gap:12px}.tl-card--booking.is-pending{border-color:var(--accent-line);border-style:dashed}.search{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--surface)}.search:focus-within{border-color:var(--accent)}.search__input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:16px}.staff-card{display:flex;align-items:center;gap:12px;color:var(--text)}.dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;vertical-align:1px;background:var(--faint)}.dot--working{background:var(--ok)}.dot--vacation{background:var(--accent)}.invite-link{background:var(--bg)}.profile-card{display:flex;align-items:center;gap:14px}.profile-card__photo{position:relative;flex:none;padding:0;border:0;background:none;border-radius:50%;cursor:pointer}.profile-card__edit{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;border:2px solid var(--surface);background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center}.profile-card__edit .spinner{width:12px;height:12px;border-width:2px}.month__head{display:flex;align-items:center;gap:8px}.month__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.month__weekday{padding-bottom:4px;text-align:center;font-size:12px;font-weight:700;color:var(--muted)}.month__day{position:relative;aspect-ratio:1 / 1.1;min-height:44px;padding:4px 2px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer}.month__num{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.month__hours{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.month__count{position:absolute;top:2px;right:3px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--surface-2);color:var(--text-2);font-size:10px;font-weight:800;line-height:15px}.month__day--work{border-color:#3d4a3f;background:#1a201b}.month__day--override{border-color:var(--accent);background:var(--accent-soft)}.month__day--off{color:var(--faint);background:repeating-linear-gradient(135deg,#171512 0 6px,#1c1a16 6px 12px)}.month__day--vacation{color:var(--accent);border-style:dashed;border-color:var(--accent-line)}.month__day.is-today .month__num{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.month__day:disabled{cursor:default;opacity:.45}.month__day--vacation:disabled{opacity:.8}.month__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.month__legend li{display:inline-flex;align-items:center;gap:6px}.month__swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--line-2)}.month__swatch--work{background:#1a201b;border-color:#3d4a3f}.month__swatch--override{background:var(--accent-soft);border-color:var(--accent)}.month__swatch--off{background:repeating-linear-gradient(135deg,#171512 0 3px,#26221d 3px 6px)}.month__swatch--vacation{border-style:dashed;border-color:var(--accent)}.notice{display:flex;align-items:flex-start;gap:12px;color:var(--text)}.notice.is-unread{border-color:var(--accent-line)}.notice__icon{flex:none;width:36px;height:36px;border-radius:10px;background:var(--surface-2);color:var(--accent);display:flex;align-items:center;justify-content:center}.notice__icon--cancelled,.notice__icon--expired{color:var(--danger)}.notice__dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--accent)}
