:root{--bg: #f4ece2;--surface: #fffaf4;--sand: #dcc4a6;--sand-soft: #ece0d1;--line: #e4d6c6;--text: #3b2e26;--on-sand: #3b2e26;--hint: #7a685b;--link: #8b5528;--danger: #a5463e;--ok: #5b7a3e;--focus: #b08d68;--st-confirmed: #a0632a;--st-completed: #4f7a35;--st-cancelled: #b0443b;--st-noshow: #7d6f64;--font-display: "Tenor Sans", "Manrope", system-ui, sans-serif;--font-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--r-card: 20px;--r-field: 14px;--r-pill: 999px;color-scheme:light}:root[data-theme=dark]{--bg: #14100d;--surface: #241c17;--sand: #e2c193;--sand-soft: #3a2e25;--line: #3f3229;--text: #f7eee4;--on-sand: #22180f;--hint: #b6a593;--link: #f0c58c;--danger: #f08a7e;--ok: #b5d08f;--focus: #f0c58c;--st-confirmed: #f0b874;--st-completed: #a9d083;--st-cancelled: #f08a7e;--st-noshow: #b6a593;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font:15px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{max-width:560px;margin:0 auto;padding:16px 16px 48px}h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:.01em}h1{font-size:26px;line-height:1.2;margin:8px 0 6px}h2{font-size:18px;line-height:1.3;margin:28px 0 10px}.hint{color:var(--hint);font-size:13px;margin:4px 0}.error{color:var(--danger);font-size:14px;white-space:pre-line;margin:10px 0}.title{font-weight:600}.muted{opacity:.5}.center{text-align:center}.row{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack>*+*{margin-top:8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;margin-bottom:10px}.card.clickable{cursor:pointer;transition:border-color .15s}.card.clickable:active{border-color:var(--sand)}button{font:inherit;font-weight:500;border:none;border-radius:var(--r-pill);padding:12px 18px;cursor:pointer;background:var(--sand-soft);color:var(--text);transition:background-color .15s,transform .1s}button:active:not(:disabled){transform:scale(.98)}button.primary,button.selected{background:var(--sand);color:var(--on-sand);font-weight:600}button.primary.block{padding:15px 18px;font-size:16px}button.ok{background:color-mix(in srgb,var(--st-completed) 16%,transparent);color:var(--st-completed);font-weight:600}button.danger{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1px currentColor}button.link{background:none;color:var(--link);padding:6px 0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent)}button.link.back{text-decoration:none}button.link.small{padding:6px 0}button.icon{width:44px;height:44px;padding:0;flex:none;display:grid;place-items:center;font-size:18px}button.small{padding:7px 14px;font-size:13px}button.block{width:100%}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:not([type=checkbox]),select,textarea{font:inherit;width:100%;min-height:48px;padding:12px 14px;line-height:22px;border-radius:var(--r-field);border:1px solid var(--line);background-color:var(--surface);color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sand);box-shadow:0 0 0 3px color-mix(in srgb,var(--sand) 35%,transparent)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--hint) 75%,transparent)}textarea{resize:vertical;min-height:88px}select{padding-right:42px;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%237a685b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}input[type=date],input[type=time],input[type=datetime-local]{font-variant-numeric:tabular-nums}input::-webkit-date-and-time-value{text-align:left;margin:0}input::-webkit-datetime-edit{padding:0}input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;margin:0}input[type=time]::-webkit-calendar-picker-indicator{display:none}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row>input,.row>select{flex:1 1 0;min-width:0}label{display:block;font-size:13px;color:var(--hint);margin:16px 0 6px 2px}.check{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--text);font-size:15px;margin:0;cursor:pointer}.check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--sand)}:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23b6a593' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.card>label:first-child{margin-top:0}.card.form>*+*{margin-top:10px}.card.form>.check{margin-top:4px}.days{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:16px;margin:0 -16px;padding:4px 16px 10px;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.day{flex:0 0 58px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 0 12px;border-radius:29px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.day .wd{font-size:11px;color:var(--hint)}.day .dn{font-family:var(--font-display);font-size:22px;line-height:1.15}.day.selected{background:var(--sand);box-shadow:none}.day.selected .wd{color:var(--on-sand);opacity:.75}.day.muted{opacity:.35}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slots button{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:11px 0;font-variant-numeric:tabular-nums}.slots button:active{background:var(--sand);box-shadow:none}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:1 1 0;min-width:0;padding:9px 4px;font-size:13px;background:none;white-space:nowrap}.tabs button.selected{background:var(--sand)}.seg{display:flex;gap:6px;margin:0 -16px 14px;padding:0 16px;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{flex:none;padding:8px 16px;font-size:14px;background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.seg button.selected{background:var(--text);color:var(--bg);box-shadow:none;font-weight:600}.seg-quiet button{padding:6px 13px;font-size:13px}.seg-quiet button.selected{background:var(--sand-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--sand)}.period-fields{align-items:flex-end;gap:10px}.period-fields label{margin-top:0}.day-head{display:flex;align-items:baseline;justify-content:space-between;margin:22px 2px 8px}.day-head h3{font-family:var(--font-display);font-weight:400;font-size:18px;margin:0}.day-head .hint{margin:0;font-variant-numeric:tabular-nums}.today-mark{font-size:12px;font-weight:600;color:var(--link)}.empty-day{margin:0 2px 4px}.cancelled-row{display:flex;align-items:center;gap:8px;padding-top:10px;padding-bottom:10px;font-size:14px}.cancelled-row .time{min-width:0}.cancelled-row .hint{margin:0}.summary{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;margin-bottom:6px}.stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:16px;background:var(--sand-soft)}.stat-value{font-family:var(--font-display);font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-label{font-size:12px;color:var(--hint)}.summary-extra{grid-column:1 / -1;margin:2px 2px 0}.month-head{font-family:var(--font-display);font-weight:400;font-size:18px;margin:22px 2px 8px}.hrow{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px}.hrow-date{display:flex;flex-direction:column}.hrow-day{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.hrow-date .hint{margin:0;font-size:12px;white-space:nowrap}.hrow-main .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hrow-main .hint{margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge{--st: var(--hint);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px 4px 8px;border-radius:var(--r-pill);white-space:nowrap;color:var(--st);background:color-mix(in srgb,var(--st) 15%,transparent)}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.CONFIRMED{--st: var(--st-confirmed)}.badge.COMPLETED{--st: var(--st-completed)}.badge.CANCELLED{--st: var(--st-cancelled)}.badge.NO_SHOW{--st: var(--st-noshow)}.card.booking{--st: var(--line);box-shadow:inset 4px 0 0 var(--st);padding-left:18px}.card.booking.CONFIRMED{--st: var(--st-confirmed)}.card.booking.COMPLETED{--st: var(--st-completed)}.card.booking.NO_SHOW{--st: var(--st-noshow)}.card.booking.CANCELLED{--st: var(--st-cancelled)}.time{font-variant-numeric:tabular-nums;font-weight:600;min-width:96px}a{color:var(--link)}.studio{padding:20px 4px 22px}.studio h1{font-size:30px;margin:0 0 6px}.studio .hint{font-size:14px}.service-price{font-variant-numeric:tabular-nums;white-space:nowrap}.success-icon{width:72px;height:72px;margin:32px auto 12px;border-radius:50%;background:var(--sand);display:grid;place-items:center}.success-icon:after{content:"";width:24px;height:12px;margin-top:-6px;border-left:2.5px solid var(--on-sand);border-bottom:2.5px solid var(--on-sand);transform:rotate(-45deg)}@media(prefers-reduced-motion:no-preference){.success-icon{animation:pop .45s cubic-bezier(.2,.9,.3,1.3) both}@keyframes pop{0%{transform:scale(.6);opacity:0}}}.back{margin-bottom:4px}.skeleton{display:block;position:relative;overflow:hidden;height:14px;border-radius:7px;background:var(--sand-soft)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 65%,transparent),transparent);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}.skeleton{animation:none}}.sk-card>.skeleton:first-child{margin:3px 0}.sk-card>.skeleton+.skeleton{margin-top:12px}.sk-header{padding:20px 4px 22px}.sk-header>.skeleton+.skeleton{margin-top:12px}.sk-button{margin-bottom:26px}.skeleton.day{height:88px;border-radius:29px;box-shadow:none;padding:0;background:var(--sand-soft)}.is-loading{opacity:.45;pointer-events:none;transition:opacity .2s}
