.flow-page{background:var(--cream);min-height:100svh}.flow-top{background:var(--green-900);color:#fff}.flow-top .container{justify-content:space-between;align-items:center;height:64px;display:flex}.bk{max-width:760px;padding:14px var(--gutter) 230px;margin:0 auto}.bk-head{align-items:center;gap:12px;margin-bottom:4px;display:flex}.bk-head h1{font-size:clamp(1.4rem,5.4vw,2.1rem)}.bk-back{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 14px 8px 10px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.bk-back svg{width:18px;height:18px}.bk-back:disabled{opacity:.4;cursor:not-allowed}.bk section{margin-top:20px}.bk-h{align-items:center;gap:10px;margin-bottom:10px;font-size:1.1rem;display:flex}.bk-h span{background:var(--green-700);color:#fff;border-radius:8px;place-items:center;width:26px;height:26px;font-size:.85rem;display:grid}.bk .notice{margin:12px 0}.dates{scroll-snap-type:x proximity;scrollbar-width:thin;gap:8px;margin-inline:-2px;padding:4px 2px 10px;display:flex;overflow-x:auto}.date{border:1.5px solid var(--line);cursor:pointer;scroll-snap-align:center;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:16px;flex:none;justify-items:center;gap:1px;width:60px;padding:7px 0 6px;display:grid}.date .wd{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.74rem;font-weight:700}.date .dn{font-family:var(--font-display);font-size:1.35rem;font-weight:800;line-height:1.1}.date .ds{color:var(--muted);font-size:.72rem;font-weight:600}.date.we .wd,.date.few .ds{color:var(--orange-700)}.date.full{opacity:.45;cursor:not-allowed}.date.on{background:var(--green-700);border-color:var(--green-700);color:#fff}.date.on .wd,.date.on .ds{color:#dcebe0}.chips{flex-wrap:wrap;gap:8px;display:flex}.durs{scrollbar-width:none;gap:8px;margin-inline:-2px;padding:2px 2px 8px;display:flex;overflow-x:auto}.durs::-webkit-scrollbar{display:none}.dur,.chip{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1.5px solid #cfc7b6;border-radius:999px;flex:none;min-height:44px;padding:0 16px;font-weight:600}.dur.on,.chip.on{background:var(--green-700);border-color:var(--green-700);color:#fff}.dur:disabled{opacity:.35;cursor:not-allowed}.scarce{color:var(--orange-700);background:#fff0e3;border-radius:999px;margin-bottom:10px;padding:5px 12px;font-size:.9rem;font-weight:700;display:inline-block}.slots{overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;max-height:clamp(300px,56svh,520px);padding:0 12px 12px;position:relative;overflow-y:auto}.band h3{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-body);letter-spacing:.02em;color:var(--ink);border-bottom:1px solid var(--line);background:#fffffff5;align-items:center;gap:6px;margin:0 -12px;padding:12px 12px 9px;font-size:.82rem;font-weight:700;display:flex;position:sticky;top:0}.band h3:before{content:"";background:var(--orange-500);border-radius:50%;width:9px;height:9px}.band h3.night:before{background:#1b2b22}.band h3 span{color:var(--muted);font-weight:500}.slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding-top:10px;display:grid}@media (min-width:520px){.slot-grid{grid-template-columns:repeat(4,1fr)}}.slot{border:1.5px solid var(--line);background:var(--paper);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;place-content:center;justify-items:center;gap:0;min-height:58px;transition:background-color .12s,border-color .12s;display:grid}.slot:hover:not(:disabled){border-color:var(--green-600)}.slot .st{font-family:var(--font-display);font-size:1.05rem;font-weight:800;line-height:1.15}.slot .sp{color:var(--muted);font-size:.78rem;font-weight:600}.slot.taken{cursor:not-allowed;background:#f3efe6}.slot.taken .st{color:#8d968f;text-decoration:line-through}.slot.taken .sp{color:#8d968f;font-weight:500}.slot.in{background:var(--green-100);border-color:var(--green-600)}.slot.start{background:var(--green-700);border-color:var(--green-700);color:#fff}.slot.start .sp{color:#dcebe0}.empty{text-align:center;justify-items:center;gap:14px;padding:22px;display:grid}.empty a{color:var(--green-700);font-weight:700}.bk-bar{z-index:40;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #14201a1a}.bk-bar>.btn{grid-column:1/-1}.bar-sum{min-width:0;line-height:1.25;display:grid}.bar-sum b{font-size:.98rem}.bar-sum span{color:var(--muted);font-size:.85rem}.bar-total{font-family:var(--font-display);font-size:1.5rem;font-weight:800}.bk-bar.solid{display:block}.bar-note{color:var(--muted);text-align:center;margin-top:8px;font-size:.8rem}@media (min-width:560px){.bk-bar{padding-inline:max(var(--gutter), calc((100vw - 720px) / 2));grid-template-columns:1fr auto auto}.bk-bar>.btn{grid-column:auto}}.sumcard{padding:18px 20px}.sum-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sum-when{color:var(--green-700);font-weight:700}.sum-time{font-family:var(--font-display);font-size:1.25rem;font-weight:800;line-height:1.2}.sum-total{font-family:var(--font-display);font-size:1.9rem;font-weight:800}.sum-lines{border-top:1px dashed var(--line);color:#3d4a42;gap:6px;margin:14px 0 0;padding:12px 0 0;font-size:.94rem;list-style:none;display:grid}.sum-lines li{justify-content:space-between;gap:12px;display:flex}.form{gap:22px;margin-top:24px;display:grid}.phone-wrap{display:flex}.phone-pre{border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--cream);border:1.5px solid #cfc7b6;border-right:0;place-items:center;padding:0 14px;font-weight:700;display:grid}.phone-in{border-radius:0 var(--r-sm) var(--r-sm) 0}.checks{gap:12px;display:grid}.check{cursor:pointer;align-items:flex-start;gap:12px;font-size:.98rem;display:flex}.check input{width:22px;height:22px;accent-color:var(--green-700);flex:none;margin-top:1px}.policy{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:0 16px}.policy summary{cursor:pointer;padding:14px 0;font-weight:700}.policy-list{gap:6px;margin:0 0 12px;padding-left:20px;font-size:.94rem;display:grid}.policy-list.rules{margin-top:12px;padding-bottom:12px}.holdcard{border-color:var(--green-600);background:#f0f8f2;margin-top:16px;padding:16px 18px}.hold-timer{align-items:center;gap:8px;font-size:1.05rem;display:flex}.hold-timer svg{width:20px;height:20px;color:var(--green-700)}.hold-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.status{max-width:640px;padding:28px var(--gutter) 80px;margin:0 auto}.status-hero{text-align:center;padding:8px 0 22px}.big-icon{background:var(--green-600);color:#fff;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 16px;display:grid;box-shadow:0 10px 30px #17703a59}.big-icon svg{stroke-width:3px;width:40px;height:40px}.big-icon.warn{background:var(--orange-600);box-shadow:0 10px 30px #b8501a59}.big-icon.bad{background:var(--danger);box-shadow:none}.status-hero h1{font-size:clamp(2rem,7vw,2.8rem)}.status-hero p{color:var(--muted);margin-top:8px;font-size:1.08rem}.ref-box{border:1.5px dashed var(--green-600);font-family:var(--font-display);letter-spacing:.02em;background:#fff;border-radius:14px;align-items:center;gap:10px;margin-top:16px;padding:10px 18px;font-size:1.5rem;font-weight:800;display:inline-flex}.dl{margin:0;padding:6px 20px}.dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:14px 0;display:flex}.dl>div:last-child{border-bottom:0}.dl dt{color:var(--muted)}.dl dd{text-align:right;margin:0;font-weight:700}.where{margin-top:16px;padding:18px 20px}.where address{margin-top:6px;font-style:normal;line-height:1.55}.where .landmark{color:var(--orange-700);margin-top:4px;font-weight:700}.action-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.status h2{margin:26px 0 10px;font-size:1.15rem}.mini-rules{color:#3d4a42;gap:4px;margin:0;padding-left:20px;font-size:.95rem;display:grid}.spinner{border:4px solid #fff6;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}
