:root{--header-purple:#415091;--header-purple-light:#5061a8;--accent-magenta:#e91e9c;--cta-blue:#2d7ff9;--cta-blue-disabled:#afc9f6;--success-green:#34c97a;--text-dark:#1a1a2e;--text-gray:#6b7280;--text-gray-light:#9ca3af;--border-gray:#e5e7eb;--bg-white:#fff;--bg-page:#eef0f6;--error-red:#dc2626;--radius:10px}*{box-sizing:border-box}body{background:var(--bg-page);color:var(--text-dark);justify-content:center;min-height:100vh;margin:0;padding:24px 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.widget{background:var(--bg-white);border-radius:14px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 4px 24px #14143c1f}.widget-nav{flex-shrink:0;padding:0 24px 24px}@media (width>=600px){body{align-items:center}.widget{flex-direction:column;max-width:740px;max-height:calc(100vh - 48px);display:flex}.widget-header,.widget-nav,.widget-footer{flex-shrink:0}.widget-body{flex:auto;min-height:0;overflow-y:auto}.widget-header h1{padding:12px 20px 8px}.step-band{padding:6px 20px 0}.step-band .step-title{margin-bottom:8px}.widget-body{padding:14px 20px}.intro-text{margin:0 0 10px}hr.divider{margin:10px 0}.apt-type-card{padding:10px 12px}.picker-row,.day-strip{margin-bottom:10px}.field,.chip-row{margin-bottom:12px}.greeting{margin-bottom:10px}.rdvm-field{margin-bottom:12px}.age-header-row{margin-bottom:8px}.confirm-card{margin:10px 0;padding:14px 18px}.confirm-rdvm-row,.disclaimer{margin-bottom:10px}.widget-footer{padding:2px 20px 12px}}.widget-header{background:var(--header-purple)}.widget-header h1{color:#fff;text-align:center;margin:0;padding:20px 24px 14px;font-size:19px;font-weight:700}.step-band{background:var(--header-purple-light);padding:10px 24px 0}.step-band .step-title{text-align:center;color:#fffffff2;margin-bottom:16px;font-size:15px;font-weight:400}.step-indicator{justify-content:space-between;align-items:flex-start;padding-bottom:0;display:flex}.step-dot-wrap{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-circle{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.step-circle.pending{color:#fff;background:#ffffff40}.step-circle.current{color:var(--header-purple);background:#fff}.step-circle.done{background:var(--success-green);color:#fff}.step-underline{background:0 0;width:100%;height:3px}.step-underline.active{background:#fff}.widget-body{padding:24px}.intro-text{color:var(--text-gray);margin:0 0 20px;font-size:14.5px;line-height:1.5}.intro-text b{color:var(--text-dark)}.intro-text a{color:var(--cta-blue);font-weight:600;text-decoration:none}.rdvm-match-warning{text-align:center;color:var(--error-red);margin:-10px 0 20px;font-size:13.5px;font-weight:700;line-height:1.4}.section-label{color:var(--text-dark);margin:0 0 12px;font-size:15px;font-weight:700}hr.divider{border:none;border-top:1px solid var(--border-gray);margin:22px 0}.apt-type-grid{border:1px solid var(--border-gray);border-radius:var(--radius);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.apt-type-card{cursor:pointer;border-right:1px solid var(--border-gray);border-bottom:1px solid var(--border-gray);color:var(--text-dark);padding:16px 14px;font-size:14px;font-weight:700;line-height:1.3;transition:background .15s}.apt-type-card:hover:not(.selected){background:#f8f9fc}.apt-type-card.selected{color:#fff}.apt-type-card .you-selected{opacity:.9;margin-bottom:2px;font-size:11.5px;font-weight:400;display:block}.apt-type-card:nth-child(2n){border-right:none}textarea.reason-input{border:none;border-bottom:1px solid var(--border-gray);width:100%;color:var(--text-dark);resize:none;min-height:44px;padding:8px 2px;font-family:inherit;font-size:14.5px;line-height:1.5;overflow:hidden}textarea.reason-input::placeholder{color:var(--text-gray);opacity:1}textarea.reason-input:focus{border-bottom-color:var(--cta-blue);border-bottom-width:2px;outline:none}textarea.reason-input.has-error{border-bottom-color:var(--error-red)}.picker-row{gap:10px;margin-bottom:20px;display:flex}.picker-chip{border:1px solid var(--border-gray);color:var(--text-dark);cursor:pointer;background:#fff;border-radius:8px;flex:1;align-items:center;gap:8px;padding:10px 12px;font-size:13.5px;font-weight:700;display:flex}.picker-chip.open{color:var(--cta-blue);border-color:var(--cta-blue)}.picker-chip .chip-caret{color:var(--text-gray-light);margin-left:auto;font-size:10px}.picker-chip.open .chip-caret{color:var(--cta-blue)}.picker-chip.static{cursor:default}.day-strip{justify-content:space-between;margin-bottom:20px;display:flex}.day-col{cursor:pointer;flex-direction:column;align-items:center;gap:6px;display:flex}.day-label{color:var(--text-gray);font-size:12px}.calendar-panel{border:1px solid var(--border-gray);border-radius:var(--radius);margin-bottom:22px;padding:16px 14px;display:none}.calendar-panel.open{display:block}.calendar-months{gap:22px;display:flex}.calendar-month{flex:1;min-width:0}.calendar-month-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-month-title{color:var(--text-dark);font-size:14px;font-weight:600}.calendar-nav-btn{color:var(--text-gray-light);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:15px;line-height:1}.calendar-nav-btn:hover{color:var(--text-dark)}.calendar-nav-btn:disabled{visibility:hidden}.calendar-nav-spacer{width:21px;display:inline-block}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-dow{color:var(--text-gray-light);padding-bottom:4px;font-size:10.5px}.calendar-day{color:var(--text-dark);cursor:pointer;border-radius:50%;padding:6px 0;font-size:12.5px}.calendar-day:hover:not(.empty):not(.disabled){background:#eef2ff}.calendar-day.empty{cursor:default}.calendar-day.disabled{color:var(--text-gray-light);cursor:not-allowed}.calendar-day.selected{background:var(--cta-blue);color:#fff;font-weight:700}@media (width<=480px){.calendar-months{flex-direction:column;gap:18px}}.today-pill{background:var(--success-green);color:#fff;border-radius:10px;margin-bottom:2px;padding:2px 8px;font-size:10px;font-weight:700}.day-num{border:1.5px solid var(--cta-blue);width:34px;height:34px;color:var(--cta-blue);border-radius:50%;justify-content:center;align-items:center;font-size:13.5px;font-weight:600;display:flex}.day-num.active{background:var(--cta-blue);color:#fff}.day-num.calendar-icon{color:var(--cta-blue);border:none;font-size:17px;line-height:1}.time-slots{flex-wrap:wrap;gap:10px;display:flex}.time-slot{background:var(--cta-blue);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:8px;flex:calc(25% - 8px);min-width:90px;padding:12px 8px;font-size:14px;font-weight:700}.time-slot:hover{background:#1e6fe0}.time-slot.picked{outline:3px solid var(--accent-magenta);outline-offset:2px}.empty-state{color:var(--text-gray);text-align:center;padding:18px 0;font-size:13.5px}.time-disclaimer{color:var(--text-gray);margin:16px 0 0;font-size:13.5px;line-height:1.5}.time-disclaimer a{color:var(--cta-blue);font-weight:600;text-decoration:none}.field{margin-bottom:22px;position:relative}.field input{border:none;border-bottom:1px solid var(--border-gray);width:100%;color:var(--text-dark);padding:10px 2px;font-family:inherit;font-size:15px}.field input::placeholder{color:var(--cta-blue)}.field input:focus{border-bottom-color:var(--cta-blue);border-bottom-width:2px;outline:none}.field-row{gap:20px;display:flex}.field-row .field{flex:1}.field-row.address-row{gap:14px}.field.required label.field-label{color:var(--text-gray);margin-bottom:4px;font-size:13px;display:block}.required-asterisk{color:var(--error-red);margin-left:2px}.field-error{color:var(--error-red);margin-top:5px;font-size:12.5px}.field.has-error input{border-bottom-color:var(--error-red)}.greeting{text-align:left;color:var(--text-gray);margin-bottom:18px;font-size:14.5px}.rdvm-field{margin-bottom:22px}.rdvm-field label.field-label{color:var(--text-dark);margin-bottom:8px;font-size:14.5px;font-weight:700;display:block}.rdvm-field input{border:none;border-bottom:1.5px solid var(--border-gray);width:100%;color:var(--text-dark);box-shadow:none;background:0 0;padding:12px 2px;font-family:inherit;font-size:16px}.rdvm-field input::placeholder{color:var(--text-gray-light)}.rdvm-field input:focus{border-bottom-color:var(--accent-magenta);border-bottom-width:2px;outline:none}.rdvm-helper{color:var(--text-gray);margin-top:8px;font-size:12px;line-height:1.4}.patient-details-label{margin:4px 0 12px;font-size:15px;font-weight:700}.chip-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;display:grid}.chip-select-wrap{border:1px solid var(--border-gray);background:#fff;border-radius:8px;align-items:center;display:flex;position:relative}.chip-select-wrap .chevron{color:var(--text-gray-light);pointer-events:none;font-size:11px;position:absolute;right:12px}.chip-select{appearance:none;color:var(--text-dark);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;width:100%;padding:11px 30px 11px 12px;font-family:inherit;font-size:14px;font-weight:600;overflow:hidden}.chip-select:focus{outline:none}.chip-select:disabled{color:var(--text-gray-light);cursor:not-allowed}.chip-select-wrap:has(.chip-select:disabled){background:#fafafa}.species-note{color:var(--text-gray-light);margin:-10px 0 18px;font-size:11.5px;font-style:italic}.age-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.age-toggle{border:1px solid var(--border-gray);border-radius:7px;display:flex;overflow:hidden}.age-toggle-btn{color:var(--text-gray);cursor:pointer;background:#fff;border:none;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:700}.age-toggle-btn+.age-toggle-btn{border-left:1px solid var(--border-gray)}.age-toggle-btn.active{background:var(--cta-blue);color:#fff}.age-row{align-items:flex-end;gap:16px;margin-bottom:4px;display:flex}.age-field{text-align:center}.age-field label{color:var(--text-gray);margin-bottom:6px;font-size:12px;display:block}.age-field input{text-align:center;border:none;border-bottom:1px solid var(--border-gray);width:56px;padding:6px 0;font-size:15px}.age-hint{color:var(--text-gray-light);margin-left:4px;font-size:13px}.birthdate-row{margin-bottom:4px}.birthdate-row input[type=date]{border:none;border-bottom:1px solid var(--border-gray);width:100%;color:var(--text-dark);background:0 0;padding:10px 2px;font-family:inherit;font-size:15px}.birthdate-row input[type=date]:focus{border-bottom-color:var(--cta-blue);border-bottom-width:2px;outline:none}.age-disclaimer{color:var(--text-gray-light);margin:8px 0 0;font-size:11.5px;font-style:italic}.confirm-heading{text-align:center;margin-bottom:4px}.confirm-heading .ct{color:var(--text-dark);margin-bottom:4px;font-size:16px;font-weight:700;display:block}.confirm-heading .cta-line{color:var(--error-red);letter-spacing:.02em;font-size:12.5px;font-weight:700}.confirm-card{border:1px solid var(--border-gray);border-radius:var(--radius);text-align:center;margin:20px 0;padding:24px 20px}.confirm-card .who{color:var(--text-dark);margin-bottom:10px;font-size:14px}.confirm-card .when{margin-bottom:14px;font-size:17px;font-weight:700}.confirm-card .at-label{color:var(--text-gray);margin-bottom:6px;font-size:13px}.confirm-card .practice{margin-bottom:8px;font-size:15px;font-weight:700}.confirm-card .phone{color:var(--text-gray);font-size:14px}.confirm-rdvm-row{background:#fdf2fa;border:1px solid #f5c9e7;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:12px 14px;font-size:13.5px;display:flex}.confirm-rdvm-row .rdvm-text{color:var(--text-dark)}.confirm-rdvm-row .rdvm-text .rdvm-tag{color:var(--accent-magenta);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.edit-link{color:var(--cta-blue);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:13px;font-weight:700}.disclaimer{text-align:center;color:var(--text-gray);margin-bottom:20px;font-size:13px;line-height:1.5}.submit-error{color:var(--error-red);text-align:center;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:13.5px;font-weight:600}.btn-primary{color:#fff;cursor:pointer;background:var(--cta-blue-disabled);border:none;border-radius:9px;width:100%;padding:15px;font-size:16px;font-weight:700}.btn-primary.enabled{background:var(--cta-blue)}.btn-primary.enabled:hover{background:#1e6fe0}.btn-primary.enabled:active{transform:translateY(1px)}.btn-primary:disabled{cursor:not-allowed}.btn-back{width:100%;color:var(--text-gray);cursor:pointer;text-align:center;background:0 0;border:none;padding:12px 0 0;font-size:13.5px;font-weight:600}.btn-back:hover{color:var(--text-dark)}.widget-footer{text-align:center;padding:4px 24px 24px}.footer-logo{opacity:.9;width:140px;height:auto}.success-panel{text-align:center;padding:40px 8px 8px}.success-icon{background:var(--success-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:32px;display:flex}.success-panel h2{margin:0 0 10px;font-size:18px}.success-panel p{color:var(--text-gray);margin:0 0 4px;font-size:14px;line-height:1.5}.loading-state{text-align:center;color:var(--text-gray);padding:24px 0;font-size:14px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (width<=480px){.widget-body{padding:18px}.time-slot{flex:calc(50% - 5px)}}
