.tz-zone-line{color:var(--color-body)}.step-back{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;padding:.25rem .5rem;margin-bottom:1rem;font-family:inherit;font-size:.82rem;color:var(--color-muted);border-radius:6px}.step-back:hover{color:var(--color-primary);background:var(--color-primary-subtle)}.step-back:before{content:"←"}.date-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.65rem}.date-pill{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:.85rem .5rem;cursor:pointer;text-align:center;transition:border-color .15s,transform .12s}.date-pill:hover{border-color:var(--color-primary)}.date-pill.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.date-pill .date-weekday{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:.35rem}.date-pill.selected .date-weekday{color:#ffffffd9}.date-pill .date-day{font-family:Outfit,sans-serif;font-weight:700;font-size:1.5rem;color:var(--color-heading);line-height:1}.date-pill.selected .date-day{color:#fff}.date-pill .date-month{font-size:.7rem;color:var(--color-muted);margin-top:.25rem}.date-pill.selected .date-month{color:#fffc}.date-pill .date-count{font-size:.65rem;color:var(--color-primary-text);margin-top:.25rem;font-weight:600}.date-pill.selected .date-count{color:#ffffffd9}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}.time-pill{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;padding:.75rem;cursor:pointer;text-align:center;transition:border-color .15s,transform .12s,background .15s;font-family:inherit}.time-pill:hover{border-color:var(--color-primary);transform:translateY(-1px)}.time-pill.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.time-pill .t-main{font-weight:600;font-size:.92rem;color:var(--color-heading)}.time-pill.selected .t-main{color:#fff}.time-pill .t-sub{font-size:.68rem;color:var(--color-muted);margin-top:2px}.time-pill.selected .t-sub{color:#fffc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.form-row{display:flex;flex-direction:column}.form-row.full{grid-column:1 / -1}.form-row label{font-size:.78rem;font-weight:600;color:var(--color-heading);margin-bottom:.35rem}.form-row label .req{color:var(--color-primary)}.form-row input,.form-row select,.form-row textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:.9rem;background:var(--color-bg);color:var(--color-body);transition:border-color .15s,box-shadow .15s}.form-row textarea{resize:vertical;min-height:80px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(.74 .165 162 / .1)}.form-row .helper-text{font-size:.72rem;color:var(--color-muted);margin-top:.35rem;line-height:1.5}.form-row .err{color:var(--color-danger);font-size:.72rem;margin-top:.35rem;display:none}.form-row.has-error input,.form-row.has-error select,.form-row.has-error textarea{border-color:var(--color-danger)}.form-row.has-error .err{display:block}.toggle-row{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);cursor:pointer;user-select:none;margin-bottom:1.5rem}.toggle-row input{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.toggle-row .toggle-text{font-size:.88rem;color:var(--color-body);line-height:1.4}.toggle-row strong{color:var(--color-heading);font-weight:600}.summary-box{background:var(--color-primary-subtle);border:1px solid oklch(.74 .165 162 / .25);border-radius:var(--r-md);padding:1rem 1.25rem;margin-bottom:1.5rem}.summary-box .summary-when{font-family:Outfit,sans-serif;font-weight:700;font-size:1.05rem;color:var(--color-heading);margin-bottom:.25rem}.summary-box .summary-sub{font-size:.82rem;color:var(--color-body)}.submit-row{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}#bookingWorkspace .btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.75rem;border-radius:var(--r-md);font-family:Outfit,sans-serif;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;border:none;transition:all .2s}#bookingWorkspace .btn-primary{background:var(--color-primary);color:var(--color-on-primary)}#bookingWorkspace .btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}#bookingWorkspace .btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}#bookingWorkspace .btn-ghost{background:transparent;color:var(--color-body);border:1px solid var(--color-border)}#bookingWorkspace .btn-ghost:hover{color:var(--color-heading);border-color:var(--color-heading)}.confirm{text-align:center;padding:3rem 2rem}.confirm-icon{width:64px;height:64px;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.25rem}.confirm h2{font-family:Outfit,sans-serif;font-weight:800;font-size:1.6rem;margin-bottom:.75rem}.confirm p{color:var(--color-body);font-size:.95rem;line-height:1.65;margin-bottom:1rem}.confirm-details{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;max-width:480px;margin:1.5rem auto;text-align:left;font-size:.88rem}.confirm-details .detail-row{display:flex;justify-content:space-between;padding:.35rem 0}.confirm-details .detail-label{color:var(--color-muted)}.confirm-details .detail-value{color:var(--color-heading);font-weight:500}.confirm-details .detail-value a{color:var(--color-primary);text-decoration:none}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:var(--color-danger)}.empty-state{font-style:italic}.confirm-note{font-size:.82rem;color:var(--color-muted)}@media(max-width:720px){.booking-workspace{padding:0 1rem;margin:1.5rem auto 3rem}.booking-step{padding:1.5rem 1.25rem}.form-grid{grid-template-columns:1fr}.submit-row{flex-direction:column-reverse;align-items:stretch}.submit-row .btn{width:100%;justify-content:center}.tz-banner{flex-direction:column;align-items:flex-start}}
