.book-note{color:var(--fg-muted);font-size:var(--text-sm)}.booker .err{color:#d33;font-size:var(--text-sm)}.booker{margin-top:var(--space-8);gap:var(--space-8);max-width:44rem;display:grid}.booker .lengths{gap:var(--space-3);flex-wrap:wrap;display:flex}.booker .btn.ghost{color:var(--fg);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px}.booker .btn.ghost.small{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.booker .btn.ghost.selected{border-color:var(--accent);color:var(--accent)}.booker .btn.ghost:hover{border-color:var(--accent)}.booker .btn[hidden]{display:none}.booker .tz,.booker .hold-timer{color:var(--fg-muted);text-transform:none;letter-spacing:normal;font-weight:400}.booker .slot-nav{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.booker .cal{border:1px solid var(--border);max-width:21rem;padding:var(--space-3);border-radius:8px;flex:17rem}.booker .cal-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.booker .cal-month{font-size:var(--text-sm);margin:0;font-weight:600}.booker .cal-nav{font:inherit;border:1px solid var(--border);width:2rem;height:2rem;color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;line-height:1}.booker .cal-nav:hover:not(:disabled){border-color:var(--accent)}.booker .cal-nav:disabled{opacity:.35;cursor:default}.booker .cal-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.booker .cal-dow{padding:var(--space-1) 0;text-align:center;color:var(--fg-muted);font-size:.75rem}.booker .cal-day{font:inherit;font-size:var(--text-sm);aspect-ratio:1;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:0}.booker .cal-day:hover:not(.out){border-color:var(--accent)}.booker .cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.booker .cal-day.today{font-weight:700}.booker .cal-day.picked{background:var(--accent);border-color:var(--accent);color:var(--bg)}.booker .cal-day.out{color:var(--fg-muted);opacity:.4;cursor:default}.booker .slots{gap:var(--space-6);display:grid}.booker .day h3{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--fg-muted)}.booker .times{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));display:grid}.booker .times button{text-align:center;width:100%}.booker .picked{align-items:baseline;gap:var(--space-3);margin:0 0 var(--space-4);flex-wrap:wrap;display:flex}.booker .picked-length,.booker .chosen{font-weight:600}.booker .book-form{gap:var(--space-4);max-width:32rem;display:grid}.booker .book-form>label{gap:var(--space-2);font-weight:600;font-size:var(--text-sm);display:grid}.booker .book-form input,.booker .book-form select,.booker .book-form textarea,.booker .guest-row input{font:inherit;padding:var(--space-3);border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;font-weight:400}.booker .book-form textarea{resize:vertical}.booker .book-form input:focus,.booker .book-form select:focus,.booker .book-form textarea:focus,.booker .guest-row input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.booker .guests{border:1px solid var(--border);padding:var(--space-4);gap:var(--space-3);border-radius:8px;display:grid}.booker .guests legend{font-size:var(--text-sm);padding:0 var(--space-2);font-weight:600}.booker .guest-rows{gap:var(--space-2);display:grid}.booker .guest-rows:empty{display:none}.booker .guest-row{gap:var(--space-2);grid-template-columns:1fr 1fr auto;align-items:center;display:grid}.booker .guest-row input{padding:var(--space-2) var(--space-3)}.booker .guest-row .rm{border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;background:0 0;border-radius:6px;width:2.25rem;height:2.25rem;line-height:1}.booker .actions{gap:var(--space-3);margin-top:var(--space-2);display:flex}.booker .form-status{font-size:var(--text-sm);color:var(--fg-muted);min-height:1.2em;margin:0}.booker .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width<=30rem){.booker .guest-row{grid-template-columns:1fr auto}}
