:root{--kin-primary: #005f99;--kin-primary-hover: #004d7c;--kin-navy: #031c42;--kin-teal: #2ebfa5;--kin-teal-dark: #0d7d6c;--kin-teal-light: #e6f9f5;--kin-bg-light: #f6f9fb;--kin-bg-sky: #f0f6fa;--kin-border: #c5d8e6;--kin-text-heading: #1f2937;--kin-text-body: #4b5563;--kin-text-muted: #6b7280;--kin-danger: #dc2626;--kin-danger-bg: #fef2f2;--kin-radius: 16px;--kin-shadow: 0 12px 36px rgba(0, 95, 153, .08), 0 2px 8px rgba(3, 28, 66, .04)}.kinesica-booking-container{max-width:740px;margin:0 auto;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--kin-text-body);background:#fff;border-radius:var(--kin-radius);box-shadow:var(--kin-shadow);border:1px solid var(--kin-border);overflow:hidden;transition:all .3s ease}.kb-header{background:linear-gradient(135deg,var(--kin-navy) 0%,var(--kin-primary) 100%);color:#fff;padding:28px 24px;text-align:center;position:relative;border-top-left-radius:var(--kin-radius);border-top-right-radius:var(--kin-radius)}.kb-header h2{margin:0 0 6px;font-size:24px;font-weight:700;color:#fff;letter-spacing:-.3px}.kb-header p{margin:0;font-size:14.5px;color:#dce9f2;opacity:.95}.kb-stepper{display:flex;background:var(--kin-bg-sky);border-bottom:1px solid var(--kin-border);padding:14px 16px;justify-content:space-around;font-size:13px;font-weight:600}.kb-step-item{display:flex;align-items:center;gap:8px;color:var(--kin-text-muted);cursor:default;transition:color .2s ease}.kb-step-item.active{color:var(--kin-primary);font-weight:700}.kb-step-item.completed{color:var(--kin-teal-dark)}.kb-step-num{width:24px;height:24px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all .2s ease}.kb-step-item.active .kb-step-num{background:var(--kin-primary);color:#fff;box-shadow:0 2px 6px #005f9959}.kb-step-item.completed .kb-step-num{background:var(--kin-teal);color:#fff}.kb-body{padding:32px 28px}@media(max-width:600px){.kb-body{padding:24px 18px}.kb-stepper{font-size:11.5px;padding:10px 8px}}.kb-step-panel{display:none;animation:kbFadeIn .25s ease-out}.kb-step-panel.active{display:block}@keyframes kbFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.kb-section-title{font-size:19px;font-weight:700;color:var(--kin-text-heading);margin-bottom:6px}.kb-section-desc{font-size:14px;color:var(--kin-text-muted);margin-bottom:22px;line-height:1.5}.kb-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media(max-width:580px){.kb-choice-grid{grid-template-columns:1fr}}.kb-choice-card{border:2px solid var(--kin-border);background:#fff;border-radius:var(--kin-radius);padding:22px 18px;cursor:pointer;transition:all .2s ease;position:relative;text-align:left}.kb-choice-card:hover{border-color:var(--kin-primary);background:var(--kin-bg-light);transform:translateY(-1px)}.kb-choice-card.selected{border-color:var(--kin-primary);background:var(--kin-bg-sky);box-shadow:0 4px 16px #005f991f}.kb-choice-card .kb-badge{display:inline-block;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.5px;padding:4px 8px;border-radius:6px;margin-bottom:12px}.kb-badge-blue{background:#e1eff7;color:var(--kin-primary)}.kb-badge-teal{background:var(--kin-teal-light);color:var(--kin-teal-dark)}.kb-choice-card h3{margin:0 0 6px;font-size:16.5px;font-weight:700;color:var(--kin-text-heading)}.kb-choice-card p{margin:0;font-size:13.5px;color:var(--kin-text-muted);line-height:1.45}.kb-alert-box{background:#eff6fa;border:1px solid #bfdbfe;border-left:4px solid var(--kin-primary);padding:16px 18px;border-radius:10px;margin-bottom:24px;font-size:13.8px;line-height:1.55;color:#1e3a5f}.kb-alert-box strong{color:var(--kin-navy)}.kb-date-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:24px;-webkit-overflow-scrolling:touch}.kb-date-card{min-width:92px;flex:0 0 auto;border:1.5px solid var(--kin-border);border-radius:12px;padding:12px 6px;text-align:center;background:#fff;cursor:pointer;transition:all .18s ease}.kb-date-card:hover:not(.disabled){border-color:var(--kin-primary);background:var(--kin-bg-light);transform:translateY(-2px)}.kb-date-card.selected{border-color:var(--kin-primary);background:var(--kin-primary);color:#fff;box-shadow:0 6px 16px #005f9947}.kb-date-card.selected .kb-date-dow,.kb-date-card.selected .kb-date-day,.kb-date-card.selected .kb-date-month{color:#fff}.kb-date-dow{font-size:11px;text-transform:uppercase;color:var(--kin-text-muted);font-weight:700;letter-spacing:.3px}.kb-date-day{font-size:22px;font-weight:800;margin:3px 0;color:var(--kin-text-heading)}.kb-date-month{font-size:11.5px;color:var(--kin-text-muted)}.kb-slots-label{font-size:14.5px;font-weight:700;color:var(--kin-text-heading);margin-bottom:12px;display:block}#kb-slots-container{min-height:140px;margin-bottom:24px;position:relative;display:flex;flex-direction:column;justify-content:center}.kb-state-box{width:100%;box-sizing:border-box;background:var(--kin-bg-sky);border:1px dashed var(--kin-border);border-radius:12px;padding:28px 20px;text-align:center;color:var(--kin-text-muted);font-size:14px;line-height:1.5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.kb-spinner{width:32px;height:32px;border:3.5px solid #dce9f2;border-top-color:var(--kin-primary);border-radius:50%;animation:kbSpin .75s linear infinite}@keyframes kbSpin{to{transform:rotate(360deg)}}.kb-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;max-height:280px;overflow-y:auto;padding:4px 2px}.kb-slot-chip{background:#fff;border:1.5px solid var(--kin-border);border-radius:10px;padding:10px 4px;font-size:14px;font-weight:600;color:var(--kin-text-heading);text-align:center;cursor:pointer;transition:all .15s ease;user-select:none}.kb-slot-chip:hover{border-color:var(--kin-primary);background:var(--kin-bg-sky);color:var(--kin-primary);transform:translateY(-1px)}.kb-slot-chip.selected{background:var(--kin-primary);border-color:var(--kin-primary);color:#fff;box-shadow:0 4px 12px #005f9940}.kb-form-group{margin-bottom:18px}.kb-form-group label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;color:var(--kin-text-heading)}.kb-form-group input,.kb-form-group select,.kb-form-group textarea{width:100%;padding:11px 14px;border:1.5px solid var(--kin-border);border-radius:10px;font-size:14px;color:var(--kin-text-heading);background:#fff;font-family:inherit;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.kb-form-group input:focus,.kb-form-group select:focus,.kb-form-group textarea:focus{outline:none;border-color:var(--kin-primary);box-shadow:0 0 0 3px #005f9926}.kb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:550px){.kb-form-row{grid-template-columns:1fr}}.kb-checkbox-label{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--kin-text-heading);cursor:pointer;margin-top:6px}.kb-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #e5e7eb}.kb-btn{padding:12px 24px;font-size:14.5px;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.kb-btn-primary{background:var(--kin-primary);color:#fff;box-shadow:0 4px 12px #005f9933}.kb-btn-primary:hover:not(:disabled){background:var(--kin-primary-hover);box-shadow:0 6px 16px #005f994d;transform:translateY(-1px)}.kb-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.kb-btn-secondary{background:#f3f4f6;color:var(--kin-text-heading);border:1px solid #d1d5db}.kb-btn-secondary:hover{background:#e5e7eb}.kb-success-card{text-align:center;padding:16px 8px}.kb-success-icon{width:68px;height:68px;border-radius:50%;background:var(--kin-teal-light);color:var(--kin-teal-dark);display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 18px;box-shadow:0 4px 16px #2ebfa533}.kb-success-title{font-size:23px;font-weight:800;color:var(--kin-text-heading);margin-bottom:8px}.kb-summary-box{background:var(--kin-bg-sky);border:1px solid var(--kin-border);border-radius:var(--kin-radius);padding:20px;margin:22px 0;text-align:left;font-size:14.5px;line-height:1.65;color:var(--kin-text-heading)}.kb-calendar-sync-box{background:#f8fafc;border:1.5px solid #dce9f2;border-radius:var(--kin-radius);padding:18px 20px;margin:20px 0;text-align:left}.kb-calendar-sync-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.kb-calendar-sync-icon{font-size:24px;line-height:1;flex-shrink:0;margin-top:1px}.kb-calendar-sync-title{font-size:15px;font-weight:700;color:var(--kin-navy);line-height:1.35}.kb-calendar-sync-subtitle{font-size:13px;color:var(--kin-text-muted);margin-top:3px;line-height:1.45}.kb-calendar-sync-actions{display:flex;gap:12px;flex-wrap:wrap}.kb-btn-cal{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;border-radius:9px;cursor:pointer;text-decoration:none;font-family:inherit;transition:all .18s ease;flex:1 1 180px;box-sizing:border-box}.kb-btn-cal-google{background:#fff;border:1.5px solid #c2dbfe;color:#1a73e8;box-shadow:0 1px 3px #4285f414}.kb-btn-cal-google:hover{background:#f4f8fe;border-color:#4285f4;color:#1557b0;box-shadow:0 3px 8px #4285f42e;transform:translateY(-1px)}.kb-btn-cal-ics{background:#fff;border:1.5px solid var(--kin-border);color:var(--kin-navy);box-shadow:0 1px 3px #0000000a}.kb-btn-cal-ics:hover{background:var(--kin-bg-sky);border-color:var(--kin-primary);color:var(--kin-primary);box-shadow:0 3px 8px #005f991f;transform:translateY(-1px)}.kb-btn-cal svg{flex-shrink:0}@media(max-width:520px){.kb-calendar-sync-actions{flex-direction:column}.kb-btn-cal{width:100%;flex:none}}.kb-clinic-rules{background:#f8fafc;border:1px solid var(--kin-border);border-left:4px solid var(--kin-primary);border-radius:var(--kin-radius);padding:20px;margin:22px 0;text-align:left;font-size:13.8px;line-height:1.55}.kb-clinic-rules h4{margin:0 0 10px;color:var(--kin-navy);font-size:14.5px;font-weight:700}.kb-clinic-rules ul{margin:0;padding-left:18px;color:var(--kin-text-body)}.kb-clinic-rules li{margin-bottom:6px}.kb-error-banner{background:var(--kin-danger-bg);color:var(--kin-danger);border:1px solid #fecaca;border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:13.5px;display:none;animation:kbFadeIn .2s ease-out}.kb-error-banner.visible{display:block}.kb-close-btn{position:absolute;top:16px;right:18px;width:36px;height:36px;border-radius:50%;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s ease;z-index:5}.kb-close-btn:hover,.kb-close-btn:focus-visible{background:#ffffff59;color:#fff;transform:scale(1.08);outline:none}.kinesica-booking-modal-overlay{position:fixed;inset:0;background:#031c42a6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.kinesica-booking-modal-overlay.is-open{opacity:1;visibility:visible}.kinesica-booking-modal-backdrop{position:absolute;inset:0;cursor:pointer}.kinesica-booking-modal-dialog{position:relative;width:100%;max-width:720px;max-height:92vh;display:flex;flex-direction:column;background:transparent;border-radius:16px;box-shadow:0 25px 60px #031c4259,0 4px 16px #005f991f;overflow:hidden;transform:translateY(16px) scale(.98);transition:transform .25s cubic-bezier(.16,1,.3,1);z-index:2;-webkit-backface-visibility:hidden;isolation:isolate}.kinesica-booking-modal-overlay.is-open .kinesica-booking-modal-dialog{transform:translateY(0) scale(1)}.kinesica-booking-modal-dialog .kinesica-booking-container{border:none;box-shadow:none;border-radius:16px;background:#fff;overflow:hidden;max-width:100%;height:100%;display:flex;flex-direction:column}.kinesica-booking-modal-dialog .kb-header{border-top-left-radius:16px;border-top-right-radius:16px}.kinesica-booking-modal-dialog .kb-body{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(92vh - 145px)}@media(max-width:768px){.kinesica-booking-modal-overlay{padding:0;align-items:flex-end}.kinesica-booking-modal-dialog{max-width:100%;max-height:100vh;height:100vh;border-radius:0}.kinesica-booking-modal-dialog .kinesica-booking-container{border-radius:0}.kinesica-booking-modal-dialog .kb-header{border-radius:0;padding-top:max(20px,env(safe-area-inset-top,20px))}.kinesica-booking-modal-dialog .kb-body{max-height:calc(100vh - 160px);padding-bottom:max(24px,env(safe-area-inset-bottom,24px))}}body.kinesica-booking-modal-open{overflow:hidden!important;touch-action:none}
