:root{--background:#fbfcfd;--surface:#fff;--surface-soft:#f7faf9;--text:#101828;--muted:#667085;--border:#e4eaf0;--primary:#0f766e;--primary-strong:#0b5f59;--primary-soft:#f0fdfa;--available:#effaf8;--accent:#e8b931;--font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow:0 24px 70px #0f172a14}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{background:linear-gradient(180deg, #f0fdfaa6 0%, #fbfcfd00 340px), var(--background);min-height:100%;color:var(--text);font-family:var(--font-family);letter-spacing:0;margin:0}button,input{font:inherit}button{border:0}.booking-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-soft), transparent 35%) 0%, transparent 340px), var(--background);width:100%;min-height:100vh;margin:0 auto;padding:28px max(16px,50% - 590px) 44px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:42px;display:flex}.brand{color:var(--primary-strong);align-items:center;gap:10px;font-size:16px;font-weight:760;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.brand-logo{object-fit:contain;width:auto;max-width:150px;height:32px;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.indication-pill{background:color-mix(in srgb, var(--accent), transparent 84%);color:var(--primary-strong);border:1px solid #0f766e2e;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:680}.intro{max-width:680px;margin-bottom:24px}.intro h1{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(38px,4.4vw,58px);font-weight:780;line-height:.96}.intro p{max-width:560px;color:var(--muted);margin:18px 0 0;font-size:17px;line-height:1.55}.booking-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#ffffffeb;border-radius:24px;overflow:hidden}.doctor-strip{border-bottom:1px solid var(--border);gap:10px;padding:16px;display:flex;overflow-x:auto}.doctor-chip{border:1px solid var(--border);min-height:48px;color:var(--text);cursor:pointer;background:#fff;border-radius:999px;flex:none;align-items:center;gap:10px;padding:6px 14px 6px 6px;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.doctor-chip:hover{border-color:#0f766e57;transform:translateY(-1px)}.doctor-chip[aria-pressed=true]{background:var(--primary-soft);color:var(--primary-strong);border-color:#0f766e57}.avatar{width:36px;height:36px;color:var(--primary-strong);background:#dff7f2;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:780;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.chip-copy{text-align:left;gap:1px;display:grid}.chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:210px;font-size:14px;font-weight:720;overflow:hidden}.chip-meta{color:var(--muted);font-size:12px}.selection-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);display:grid}.panel{padding:24px}.panel+.panel{border-left:1px solid var(--border)}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.panel-title{color:var(--text);margin:0;font-size:18px;font-weight:760}.panel-note{color:var(--muted);font-size:14px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.weekday{min-height:28px;color:var(--muted);place-items:center;font-size:13px;font-weight:700;display:grid}.day-button,.day-empty{aspect-ratio:1;border-radius:16px}.day-button{color:#98a2b3;cursor:default;background:0 0;border:1px solid #0000;place-items:center;font-size:16px;font-weight:720;display:grid}.day-button.is-available{background:var(--available);color:var(--text);cursor:pointer}.day-button.is-selected{background:var(--primary);color:#fff;box-shadow:inset 0 -3px 0 var(--accent)}.day-button:focus-visible,.time-button:focus-visible,.doctor-chip:focus-visible,.primary-action:focus-visible,.secondary-action:focus-visible{outline-offset:3px;outline:3px solid #0f766e3d}.time-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.time-button{border:1px solid var(--border);min-height:54px;color:var(--text);cursor:pointer;background:#fff;border-radius:16px;font-size:17px;font-weight:760;transition:border-color .16s,background .16s,color .16s}.time-button:hover{border-color:#0f766e5c}.time-button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:#fff}.empty-state{border:1px dashed var(--border);background:var(--surface-soft);color:var(--muted);border-radius:18px;margin:0;padding:18px;line-height:1.5}.summary{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.summary-label{color:var(--muted);font-size:13px;font-weight:680;display:block}.summary-value{color:var(--text);margin-top:4px;font-size:17px;font-weight:760;display:block}.primary-action,.secondary-action{cursor:pointer;border-radius:999px;min-height:48px;padding:0 22px;font-weight:760}.primary-action{background:var(--primary);color:#fff}.primary-action:disabled{cursor:not-allowed;background:#d0d5dd}.secondary-action{border:1px solid var(--border);color:var(--text);background:#fff}.contact-panel{border-top:1px solid var(--border);background:#fff;padding:28px}.contact-form{gap:22px;display:grid}.contact-copy{max-width:760px}.contact-copy h2{color:var(--text);letter-spacing:0;margin:0;font-size:24px}.contact-copy p{color:var(--muted);margin:8px 0 0;line-height:1.5}.contact-field-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;display:grid}.field span{color:var(--muted);font-size:13px;font-weight:680}.field.is-wide{grid-column:span 2}.field input,.field select{border:1px solid var(--border);background:var(--surface-soft);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:14px;padding:0 14px}.field input:focus,.field select:focus,.checkbox-field input:focus-visible{border-color:var(--primary);outline:3px solid var(--primary-soft);outline-offset:1px}.consent-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;gap:12px;padding:18px;display:grid}.consent-panel legend{color:var(--text);padding:0 6px;font-size:14px;font-weight:760}.checkbox-field{color:var(--text);grid-template-columns:20px 1fr;align-items:start;gap:12px;font-size:14px;line-height:1.45;display:grid}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary);margin-top:2px}.contact-submit{justify-self:start}.form-message{color:var(--muted);margin:2px 0 0;font-size:14px}.reservation-expiry{color:var(--primary-strong);margin-top:4px;font-weight:650;display:block}.reservation-countdown{background:var(--primary-soft);min-width:82px;color:var(--primary-strong);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;margin-left:8px;padding:2px 8px;font-weight:750;display:inline-flex}.form-message.is-error{color:#b42318}.confirmation{border-top:1px solid var(--border);background:var(--primary-soft);color:var(--primary-strong);padding:24px 26px;font-weight:720}.error-page{place-items:center;min-height:100vh;padding:24px;display:grid}.error-page article{border:1px solid var(--border);max-width:520px;box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:28px}@media (max-width:860px){.booking-shell{width:min(100% - 20px,680px);padding-top:16px}.topbar{margin-bottom:28px}.intro h1{font-size:36px;line-height:1.02}.intro p{margin-top:12px;font-size:15px}.selection-grid{grid-template-columns:1fr}.panel+.panel{border-top:1px solid var(--border);border-left:0}.panel{padding:20px}.time-list{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-form{grid-template-columns:1fr}.contact-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.time-list{grid-template-columns:repeat(2,minmax(0,1fr))}.summary{flex-direction:column;align-items:stretch}.primary-action,.secondary-action{width:100%}.contact-field-grid{grid-template-columns:1fr}.field.is-wide{grid-column:auto}.contact-submit{justify-self:stretch}.day-button,.day-empty{border-radius:14px}}
