/* Онлайн-запись Ксении Субботиной — общие стили страницы записи и кабинета (2026-10-21).
   Montserrat без жирного (300/400/500), закруглённые плашки, светлый фон — по образцу DIKIDI. */
@font-face{font-family:Montserrat;src:url(/fonts/montserrat-cyrillic-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Montserrat;src:url(/fonts/montserrat-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f4f1ec;--card:#fff;--ink:#2b2724;--ink2:#6f675f;--mute:#a39a90;--line:#ebe5dd;--acc:#a8845c;--acc-soft:#f1e8dc;--ok:#6f9a7a;--ok-soft:#e6efe7;--err:#b5574b;--r:20px;--r2:14px;--p:16px}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:Montserrat,system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;min-height:100vh}
button,select,input,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;text-align:left}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
a{color:inherit}
.wrap{max-width:460px;margin:0 auto;padding:12px var(--p) 110px;display:grid;gap:12px}
.card{background:var(--card);border-radius:var(--r);padding:var(--p)}
.muted{color:var(--mute)}
.cat{font-size:12px;color:var(--mute);letter-spacing:.06em;text-transform:uppercase;padding:8px 4px 0}
.hint{font-size:12px;color:var(--mute);line-height:1.55;padding:0 4px}
.err{font-size:13px;color:var(--err);line-height:1.5;padding:12px 14px;background:#f8e9e6;border-radius:var(--r2)}
.center{text-align:center}
/* мастер */
.master{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.ava{width:64px;height:64px;border-radius:50%;background:#e9e3da url(/ksenia.jpg) center 18%/cover}
.master h1{font-size:17px;font-weight:500;letter-spacing:-.01em}
.master p{font-size:12.5px;color:var(--ink2);margin-top:3px;line-height:1.45}
.addr{display:flex;gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);grid-column:1/-1;font-size:12.5px;color:var(--ink2);line-height:1.5}
.pin{width:28px;height:28px;border-radius:50%;background:var(--acc-soft);display:grid;place-items:center;flex:none}
.pin::after{content:'';width:8px;height:8px;border-radius:50%;border:2px solid var(--acc)}
/* шаги и сегменты */
.tabs,.seg{display:grid;background:var(--card);border-radius:999px;padding:4px}
.tabs{grid-template-columns:repeat(3,1fr)}
.tabs span,.seg button{text-align:center;padding:10px 0;border-radius:999px;font-size:12.5px;color:var(--mute)}
.tabs .on,.seg .on{background:var(--ink);color:#fff}
.tabs .done{color:var(--ink)}
.screen{display:none}.screen.on{display:grid;gap:12px;animation:in .3s ease}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.screen.on{animation:none}}
.compact .master{display:none}
/* разделы и услуги */
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--p) * -1);padding:2px var(--p)}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;padding:10px 18px;border-radius:999px;background:var(--card);font-size:13px;color:var(--ink2);white-space:nowrap}
.chips .on{background:var(--ink);color:#fff}
.svcs{padding:4px var(--p)}
.sub{font-size:12px;color:var(--mute);padding:14px 0 2px;border-bottom:1px solid var(--line)}
.sub:first-child{padding-top:6px}
.svc{display:grid;grid-template-columns:1fr auto 26px;gap:3px 14px;align-items:center;width:100%;padding:14px 0;border-bottom:1px solid var(--line)}
.svc:last-child{border-bottom:0}
.svc .nm{font-size:14.5px;line-height:1.35}
.svc .dur{grid-column:1;font-size:12px;color:var(--mute)}
.svc .pr{grid-row:1/3;grid-column:2;font-size:14px;color:var(--ink2);text-align:right;white-space:nowrap}
.svc .ck{grid-row:1/3;grid-column:3;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:.2s}
.svc.sel .ck{background:var(--acc);border-color:var(--acc)}
.svc.sel .ck::after,.chk input:checked::after{content:'';width:9px;height:5px;border:solid #fff;border-width:0 0 1.5px 1.5px;transform:rotate(-45deg) translate(1px,-1px)}
/* календарь */
.calh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.calh b{font-size:15px;font-weight:500}
.round{width:36px;height:36px;border-radius:50%;background:var(--bg);display:grid;place-items:center;color:var(--ink2);font-size:15px;text-align:center}
.round:disabled{opacity:.35;cursor:default}
.wd,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;row-gap:4px}
.wd span{font-size:11px;color:var(--mute);padding:6px 0}
.wd span:nth-child(n+6){color:#c9a8a0}
.days button{justify-self:center;width:40px;height:40px;border-radius:50%;text-align:center;font-size:14px;transition:background .15s;position:relative}
.days .free:hover{background:var(--acc-soft)}
.days .off{color:#cfc8bf;cursor:default}
.days .today{box-shadow:inset 0 0 0 1px var(--acc)}
.days .sel,.days .sel:hover{background:var(--acc);color:#fff;box-shadow:none}
.days .dot::after{content:'';position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--acc)}
.days .sel.dot::after{background:#fff}
.part{font-size:12px;color:var(--mute);margin:4px 0 8px}
.part:not(:first-child){margin-top:16px}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slots button{padding:10px 0;width:calc((100% - 24px)/4);text-align:center;border-radius:999px;background:var(--bg);font-size:13.5px;transition:.15s}
.slots .sel{background:var(--ink);color:#fff}
.slots .cl{color:#c4bcb2;text-decoration:line-through;background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.dim{opacity:.45}
/* сводка и формы */
.sum{padding:4px var(--p)}
.row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.row:last-child{border-bottom:0}
.row span{color:var(--mute);flex:none}
.row b{font-weight:400;text-align:right}
.f{display:grid;gap:10px}
.f label{display:grid;gap:6px;font-size:12px;color:var(--mute)}
.inp,.f input,.f textarea{width:100%;font-size:15px;color:var(--ink);background:var(--bg);border:1px solid transparent;border-radius:var(--r2);padding:13px 14px;outline:none;resize:none}
.inp:focus,.f input:focus,.f textarea:focus{border-color:var(--acc);background:#fff}
.chk{display:flex!important;gap:10px;align-items:flex-start;font-size:12px!important;line-height:1.5;color:var(--ink2)!important;margin-top:4px;cursor:pointer}
.chk input{appearance:none;-webkit-appearance:none;width:20px;height:20px;padding:0;border-radius:6px;border:1.5px solid var(--line);flex:none;cursor:pointer;display:grid;place-items:center;background:#fff}
.chk input:checked{background:var(--acc);border-color:var(--acc)}
.chk a{color:var(--ink);text-underline-offset:3px}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* готово */
.done{text-align:center;padding:28px var(--p) 22px}
.done .ic{width:60px;height:60px;border-radius:50%;background:var(--acc-soft);margin:0 auto 16px;display:grid;place-items:center}
.done .ic::after{content:'';width:20px;height:10px;border:solid var(--acc);border-width:0 0 2px 2px;transform:rotate(-45deg) translate(2px,-3px)}
.done h2{font-size:22px;font-weight:400}
.done p{font-size:13px;color:var(--ink2);line-height:1.55;margin-top:8px}
.acts2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ghost{display:block;padding:13px 0;text-align:center;border-radius:999px;background:var(--card);font-size:13px;color:var(--ink2);text-decoration:none}
/* нижняя панель */
.bar{position:fixed;left:0;right:0;bottom:0;padding:14px var(--p) calc(14px + env(safe-area-inset-bottom));background:linear-gradient(rgb(244 241 236/0),var(--bg) 30%)}
.bar .in{max-width:428px;margin:0 auto;display:flex;gap:8px;align-items:center}
.btn{display:block;flex:1;width:100%;height:52px;border-radius:999px;background:var(--ink);color:#fff;text-align:center;font-size:14.5px;letter-spacing:.01em}
.btn[disabled]{background:#d8d1c8;color:#fff;cursor:default}
.back{width:52px;height:52px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:18px;color:var(--ink2);flex:none;text-align:center}
.pick{font-size:12px;color:var(--ink2);padding:0 6px;max-width:44%;line-height:1.35}
.pick:empty{display:none}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;font-size:13px;padding:12px 20px;border-radius:999px;transition:.3s;pointer-events:none;white-space:nowrap;z-index:20}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.bad{background:var(--err)}
.foot{font-size:11px;color:var(--mute);text-align:center;line-height:1.6;padding:6px 8px}
.foot a{color:var(--ink2)}
