:root{--background:#f7f7f4;--foreground:#2a2829;--muted:#5d6975;--line:#d9ded8;--accent:#253551;--success:#6aa03e}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--foreground);margin:0;font-family:Quicksand,sans-serif}a{color:inherit}main{min-height:100vh}.page-shell{width:min(960px,100% - 32px);margin:0 auto;padding:56px 0}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:700}.brand-logo{width:auto;height:auto;max-height:52px;margin:0 0 12px;display:block}.page-intro{margin-bottom:0;font-size:1.05rem}h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(2rem,4vw,4rem);line-height:1.02}p{max-width:680px;color:var(--muted);line-height:1.6}.status-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:32px;display:grid}.status-item{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.status-label{color:var(--muted);margin:0 0 6px;font-size:.85rem}.status-value{margin:0;font-size:1rem;font-weight:700}.debug-table{border-collapse:collapse;background:#fff;width:100%;margin-top:24px}.debug-table th,.debug-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.debug-table th{color:var(--muted);font-size:.85rem;font-weight:700}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:24px;padding:clamp(18px,4vw,32px)}.intake fieldset{border:0;border-bottom:1px solid var(--line);margin:0;padding:22px 0}legend{font-weight:700;line-height:1.4}label{margin:12px 0;font-weight:600;display:block}input[type=text],input[type=email],input[type=tel],textarea,input:not([type]){width:100%;min-height:46px;color:var(--foreground);font:inherit;background:#fff;border:1px solid #89958e;border-radius:6px;margin-top:6px;padding:11px}.intake input:focus-visible,.intake textarea:focus-visible,.intake button:focus-visible,.availability-card button:focus-visible,.time-zone-picker select:focus-visible{outline-offset:3px;outline:3px solid #f8c820}.choice{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:10px;padding:10px;font-weight:400;display:flex}.choice input{margin-top:3px;transform:scale(1.2)}button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:7px;min-height:44px;padding:10px 18px;font-weight:700}button:disabled{opacity:.6}.privacy{font-size:.84rem}.slots{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}h2{margin-top:0}@media (max-width:600px){.page-shell{width:min(100% - 20px,960px);padding:28px 0}h1{font-size:2.2rem}}.filters{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.filters select,.filters input,.admin select{min-height:44px;padding:8px}.booking{border-bottom:1px solid var(--line);padding:14px 0}.booking button,.booking select{margin-right:8px}.admin textarea{width:100%;margin-bottom:10px;font-family:monospace}.time-zone-picker{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px;display:flex}.time-zone-picker label{margin:0}.time-zone-picker select{min-height:40px;padding:7px}.time-zone-note{flex-basis:100%;margin:0;font-weight:700}.invalid-field{background:#fff8f8;border-color:brown!important}.field-error{color:#8b1a1a;margin:6px 0 0;font-size:.9rem;font-weight:700;display:block}.cancel-result{font-weight:700}.cancel-result.cancelled,.cancel-result.already_cancelled{color:var(--success)}.cancel-result.invalid_or_expired,.cancel-result.error{color:#8b1a1a}.inline-cancel{border:1px solid var(--line);background:#f7f7f4;border-radius:8px;margin:12px 0;padding:12px}.inline-cancel label{margin-top:0}.secondary{color:var(--foreground);background:#e6e9e5}.booking details{margin-top:12px}.booking summary{cursor:pointer;font-weight:700}.booking-details{grid-template-columns:max-content 1fr;gap:6px 14px;display:grid}.booking-details dt{font-weight:700}.booking-details dd{overflow-wrap:anywhere;margin:0}.booking-note{margin-bottom:0;font-size:.9rem}.booking-confirmation{border-left:5px solid #f8c820}.booking-confirmation h2{color:var(--accent)}.booking-confirmation .confirmation-time{color:var(--foreground);font-size:1.15rem;font-weight:700}.field-hint{margin:4px 0 12px}.optional{color:var(--muted);font-weight:400}.form-status{color:#8b1a1a;min-height:1.6em;margin:16px 0 0;font-weight:700}.availability-card{scroll-margin-top:24px}.availability-card h2:focus,.booking-confirmation h2:focus{outline:none}.response-promise{color:var(--foreground);font-weight:700}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-security{border:1px solid var(--line);background:var(--background);border-radius:8px;margin:18px 0;padding:14px}.booking-security p{color:var(--foreground);margin:0 0 10px;font-size:.9rem;font-weight:700}.slot-picker{margin-top:18px}.slot-date-list{scrollbar-width:thin;gap:10px;padding:3px 3px 12px;display:flex;overflow-x:auto}.slot-date{border:1px solid var(--line);min-width:92px;color:var(--foreground);background:#fff;box-shadow:0 1px 2px #25355114}.slot-date span,.slot-date strong{display:block}.slot-date span{color:var(--muted);margin-bottom:2px;font-size:.82rem}.slot-date.selected{border-color:var(--accent);background:var(--accent);color:#fff}.slot-date.selected span{color:#fff}.slot-day-heading{color:var(--foreground);margin:4px 0 12px;font-size:1.05rem;font-weight:700}.slot-time-grid button{color:var(--accent);border:1px solid var(--accent);background:#fff}.slot-time-grid button:hover:not(:disabled){background:var(--accent);color:#fff}@media (max-width:600px){.slot-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-date{min-width:82px;padding:8px 12px}}
