:root{color-scheme:light;--brand:#008DA1;--teal:#00798A;--teal-press:#00687A;--accent:#00798A;--tint:#EEF8F9;--bg:#FFFFFF;--surface:#FFFFFF;--ink:#21353A;--muted:#566B70;--faint:#8C9FA3;--rule:#DCE9EB;--margin:#9FD3DB;--seg-free:#A6DAE1;--seg-booked:#50666B;--seg-off:#E3EBEC;--hatch-a:#F3F7F8;--hatch-b:#D9E5E7;--closed:#EDF2F3;--alert:#A63D2B;--alert-bg:#FCEEEA;--focus:rgba(0, 141, 161, .28);--shadow-lg:0 24px 60px rgba(14, 48, 55, .24);--font:"Commissioner", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--brand:#45C2D2;--teal:#00798A;--teal-press:#008B9E;--accent:#45C2D2;--tint:#14323A;--bg:#0E2024;--surface:#13292E;--ink:#E2EEF0;--muted:#A2B8BD;--faint:#6E878C;--rule:#22424A;--margin:#2C6B75;--seg-free:#2B8C99;--seg-booked:#8AA0A5;--seg-off:#1D3940;--hatch-a:#15303A;--hatch-b:#21444D;--closed:#18333A;--alert:#FF9F8B;--alert-bg:#3A201B;--focus:rgba(69, 194, 210, .35);--shadow-lg:0 24px 60px rgba(0, 0, 0, .55)}}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}body{margin:0;padding-top:env(safe-area-inset-top,0);background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--font);-webkit-font-smoothing:antialiased}body.is-locked{overflow:hidden}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.topline{height:6px;background:var(--brand)}.wrap{max-width:1080px;margin:0 auto;padding:22px max(18px, env(safe-area-inset-right, 0px)) calc(120px + env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px))}.masthead{display:flex;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--rule)}.logo-pic{flex:none;line-height:0}.masthead>div{min-width:0}.logo{display:block;width:clamp(96px, 30vw, 150px);height:auto}.wordmark{margin:0;line-height:1}.wordmark .kicker{display:block;white-space:nowrap;font-size:clamp(34px, 10vw, 52px);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);margin-bottom:4px}.wordmark .name{display:block;font-size:clamp(22px, 5.5vw, 28px);font-weight:700;color:var(--muted);letter-spacing:.02em}.sub{margin:7px 0 0;color:var(--muted);font-size:15px}.demo{margin:0 0 20px;padding:10px 14px;border:1px dashed var(--faint);border-radius:10px;color:var(--muted);font-size:13.5px}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}.layout>*{min-width:0}@media (min-width:900px){.layout{grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}.side{position:sticky;top:20px}}.step+.step{margin-top:30px}.step-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px 14px;flex-wrap:wrap;margin-bottom:12px}.step-title{display:flex;align-items:center;gap:10px;margin:0;font-size:19px;font-weight:700;letter-spacing:-.005em}.num{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--teal);color:#fff;font-size:13px;font-weight:700}.step-day{color:var(--muted);font-size:15px;font-weight:500}.days{display:grid;grid-template-rows:auto auto;gap:8px;overflow-x:auto;padding:3px;margin:-3px;scrollbar-width:thin}.day{-webkit-appearance:none;appearance:none;display:flex;flex-direction:column;min-width:0;min-height:84px;padding:9px 10px 10px;border:1.5px solid var(--rule);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.day:hover{border-color:var(--margin)}.day[aria-pressed="true"]{border-color:var(--accent);background:var(--tint);box-shadow:inset 0 0 0 1px var(--accent)}.day-name{font-size:12.5px;font-weight:500;line-height:1.25;color:var(--muted)}.day-date{margin-top:2px;font-size:17px;font-weight:700;line-height:1.25;white-space:nowrap}.day.is-off .day-date{color:var(--muted)}.meter{display:flex;gap:0;margin-top:auto;padding-top:9px}.meter i{flex:1;height:6px;background:var(--seg-free)}.meter i.hs{margin-left:2px}.meter i:first-child{border-radius:2px 0 0 2px}.meter i:last-child{border-radius:0 2px 2px 0}.meter i.b{background:var(--seg-booked)}.meter i.o{background:var(--seg-off)}.day-state{margin-top:auto;padding-top:6px;font-size:12.5px;font-weight:600;color:var(--muted)}.day.sk{border-color:#fff0;background:var(--tint);cursor:default}.hint{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:1.5em;margin:0 0 10px;color:var(--muted);font-size:15px}.hint.is-warn{color:var(--alert);font-weight:500}.linkbtn{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.empty{padding:26px 18px;border-radius:14px;background:var(--tint);color:var(--muted)}.empty p{margin:0}.empty .btn{width:auto;padding:0 22px;margin-top:14px}.sheet{position:relative;padding:12px 0 16px}.sheet::before{content:"";position:absolute;top:0;bottom:0;left:58px;border-left:2px solid var(--margin)}.line{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);height:44px}.line.half::after{border-top-style:dashed}.line.half .time{font-size:11.5px}.line::after{content:"";position:absolute;top:0;left:60px;right:0;border-top:1px solid var(--rule)}.line.end{height:0}.time{align-self:start;padding-right:12px;transform:translateY(-50%);text-align:right;font-size:13px;line-height:1;color:var(--muted);font-variant-numeric:tabular-nums}.cell{position:relative}.slot{-webkit-appearance:none;appearance:none;position:absolute;top:4px;bottom:4px;left:10px;right:8px;z-index:1;display:flex;align-items:center;gap:10px;margin:0;padding:0 14px;border:0;border-radius:8px;background:#fff0;color:var(--muted);font-size:14px;text-align:left;cursor:pointer}.slot.run-start,.slot.run-end{border-radius:8px}.slot .add{display:grid;place-items:center;width:24px;height:24px;margin-left:auto;border:1.5px solid var(--rule);border-radius:50%;color:var(--accent);font-size:16px;line-height:1}.slot.is-free:hover{background:var(--tint)}.slot.is-free:hover .add{border-color:var(--accent)}.slot.is-sel{background:var(--teal);color:#fff}.slot.is-sel strong{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.slot.is-sel .len{opacity:.85}.slot.is-sel.run-start{flex-wrap:wrap;align-content:center;row-gap:1px;line-height:1.15}.slot.is-booked,.slot.is-past{color:#17282C!important;background-color:#EAF1F2;background-image:linear-gradient(135deg,#D5E1E3 12%,transparent 12%,transparent 50%,#D5E1E3 50%,#D5E1E3 62%,transparent 62%,transparent 100%);background-size:11px 11px;cursor:not-allowed}.slot.is-closed{background:var(--closed);cursor:not-allowed}.panel{padding:20px;border-radius:18px;background:var(--tint)}.pick{margin:14px 0 16px;padding:13px 16px;border:1.5px dashed var(--margin);border-radius:12px;background:var(--surface);color:var(--muted);font-size:15px}.pick.is-set{border-style:solid;border-color:var(--accent);color:var(--ink)}.pick-day{display:block;font-size:14px;color:var(--muted)}.pick-hours{display:block;margin-top:2px;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.pick-len{margin-left:8px;font-size:14px;font-weight:500;color:var(--muted)}.fields{display:grid;gap:12px}.row2{display:grid;gap:12px}@media (min-width:420px){.row2{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px;font-weight:600}.field input,.field select{width:100%;min-width:0;height:48px;padding:0 14px;border:1.5px solid var(--rule);border-radius:10px;background:var(--surface);font-size:16px;font-weight:400;outline:none;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--faint)}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--alert)}.form-error{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--alert-bg);color:var(--alert);font-size:14px;font-weight:500}.form-error .linkbtn{color:inherit;margin-left:6px}.btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;margin-top:16px;padding:0 18px;border:0;border-radius:12px;background:var(--teal);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .15s}.btn:hover:not(:disabled){background:var(--teal-press)}.btn:disabled{opacity:.45;cursor:not-allowed}.spinner{width:18px;height:18px;border:2.5px solid rgb(255 255 255 / .4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mine{margin-top:22px}.all{margin-top:16px;padding:16px;border:1px solid var(--rule);border-radius:14px}.all .mine-head{flex-wrap:wrap}.all-note{margin:0 0 12px;font-size:14px;color:var(--muted)}.all-day{margin:16px 0 8px;font-size:15px;font-weight:700;color:var(--ink)}.all-day:first-child{margin-top:0}.all-phone{color:var(--accent);font-weight:600;text-decoration:none}.all-empty{margin:0;color:var(--muted)}.hours-info{margin:-6px 0 12px;color:var(--muted);font-size:14px}.pickers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px}.dmy{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:8px;margin-top:6px}.dmy select{min-width:0;height:52px;padding:0 10px;border:1.5px solid var(--rule);border-radius:12px;background:var(--surface);color:var(--ink);font-size:16px}@media (max-width:520px){.pickers{grid-template-columns:minmax(0,1fr)}}.room-h{margin:18px 0 8px;font-size:16px;font-weight:800;color:var(--brand)}.room-h:first-child{margin-top:0}.rel{margin:10px 0 0;padding:10px 12px;border-radius:12px;border:1px dashed var(--rule);font-size:14px;color:var(--ink)}.rel-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.rel-line:first-child{margin-top:0}.nw{white-space:nowrap}.rep{margin-top:18px}.rep input[type=date],.rep input[type=text]{height:38px;padding:0 8px;border:1.5px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);font-size:15px;min-width:0}.rep input[type=text]{flex:1 1 180px}.chk{display:inline-flex;align-items:center;gap:2px;font-size:14px}.rel select{height:38px;padding:0 8px;border:1.5px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);font-size:15px}.all-done{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--tint);color:var(--ink);font-size:14px;font-weight:600}.mine-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.mine-title{margin:0;font-size:17px;font-weight:700}.mine-sub{font-size:13px;color:var(--muted)}.mine-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.mine-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}.mine-info{display:flex;flex:1 1 180px;flex-direction:column;min-width:0}.mine-when{font-weight:600}.mine-what{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.mine-code{font-size:12.5px;color:var(--faint);letter-spacing:.04em}.mine-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mine-q{font-size:14px;font-weight:600}.mini{-webkit-appearance:none;appearance:none;padding:7px 12px;border:1.5px solid var(--rule);border-radius:9px;background:#fff0;font-size:13.5px;font-weight:600;cursor:pointer}.mini:disabled{opacity:.5;cursor:default}.mini.danger{border-color:#fff0;background:var(--alert-bg);color:var(--alert)}.badge{font-size:12.5px;font-weight:700;color:var(--alert)}.mine-err{flex-basis:100%;margin:0;font-size:13.5px;color:var(--alert)}.note-panel{margin-top:22px;padding:14px 16px;border-left:4px solid var(--brand);border-radius:0 12px 12px 0;background:var(--tint);color:var(--muted);font-size:14px}.note-panel p{margin:0}.note-panel p+p{margin-top:6px}.note-panel strong{color:var(--ink)}.note-panel a{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}.slot .who{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2;font-weight:700;color:var(--ink);background:var(--surface);padding:1px 6px;border-radius:6px;font-size:13px}.care{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;padding:12px 16px;border-radius:14px;background:var(--tint);color:var(--ink);font-size:15px;font-weight:600;line-height:1.45}.login{margin-bottom:28px}.guide{margin:0 0 16px;padding:14px 16px 14px 36px;border-radius:14px;border:1px solid var(--rule);color:var(--ink);font-size:15px}.guide-title{margin:0 0 6px -20px;font-size:16px;font-weight:700}.guide li+li{margin-top:3px}.login-box{max-width:560px}.login-box p{margin:6px 0 12px;color:var(--muted);font-size:15px}.inline{display:flex;flex-wrap:wrap;gap:10px}.inline input{flex:1 1 220px;min-width:0;height:52px;padding:0 14px;border:1.5px solid var(--rule);border-radius:12px;background:var(--surface);font-size:17px;outline:none}.inline input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.inline input.code-in{letter-spacing:.4em;font-size:22px;font-weight:700;text-align:center}.inline .btn{flex:1 1 180px;width:auto;margin-top:0}.links{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.logged{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:14px 16px;border-radius:14px;background:var(--tint);font-size:15px}.logged .ok{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700}.lock-note{margin:14px 0 0;color:var(--muted);font-size:14px}.bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));z-index:40;display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:10px 10px 10px 16px;border:1px solid var(--rule);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lg)}.bar-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.bar-day{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-hours{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.bar .btn{width:auto;height:46px;margin:0 0 0 auto;padding:0 20px}@media (min-width:900px){.bar{display:none!important}}.overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgb(8 28 32 / .55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow:auto;padding:28px 24px 22px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow-lg);text-align:center;animation:pop .3s cubic-bezier(.2,.9,.3,1.15)}.tick{display:block;width:64px;height:64px;margin:0 auto 14px}.tick circle{fill:var(--teal)}.tick path{fill:none;stroke:#fff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:draw .42s .2s ease-out forwards}.dialog h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.01em}.lead{margin:4px 0 18px;color:var(--muted)}.ticket{margin:0;padding:4px 16px;border-radius:14px;background:var(--tint);text-align:left}.ticket div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--margin)}.ticket div:last-child{border-bottom:0}.ticket dt{flex:none;color:var(--muted);font-size:14px}.ticket dd{margin:0;font-weight:700;text-align:right;overflow-wrap:anywhere}.ticket .code{font-size:18px;letter-spacing:.08em}.dialog .small{margin:14px 0 0;color:var(--muted);font-size:13.5px;text-align:left}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition:none!important}}