@charset "UTF-8";:root{--primary-color:#00b6ce}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6}.booking-container{background-color:#fff;display:flex;flex-direction:column;height:100vh}.booking-header{background-color:#fff;border-bottom:1px solid #eee;flex-shrink:0;padding:24px}.booking-header img{display:block;margin:0 auto 10px;max-height:40px}.booking-header h1{color:#00b6ce;font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.stepper-bar{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:0 auto;max-width:900px}@media (max-width:768px){.stepper-bar{gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;-webkit-overflow-scrolling:touch}}.stepper-step{align-items:center;border-radius:16px;cursor:pointer;display:flex;flex:1;flex-direction:row;gap:16px;min-width:100px;padding:8px;transition:all .3s ease}@media (max-width:768px){.stepper-step{flex:0 0 auto;flex-direction:column;gap:4px;min-width:auto;padding:4px}}.stepper-step.disabled{cursor:not-allowed;opacity:.5}.stepper-step.active{background-color:rgba(0,182,206,.05)}@media (max-width:768px){.stepper-step.active{background-color:transparent}}.stepper-step.active .stepper-circle{background-color:#00b6ce;border-color:#00b6ce;box-shadow:0 0 0 3px rgba(0,182,206,.1);color:#fff}@media (max-width:768px){.stepper-step.active .stepper-circle{font-size:16px;height:48px;width:48px}}.stepper-step.completed .stepper-circle{background-color:#00b6ce;border-color:#00b6ce;color:#fff}.stepper-circle{align-items:center;background-color:#f5f5f5;border:2px solid #ddd;border-radius:50%;color:#333;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:40px;justify-content:center;transition:all .3s ease;width:40px}@media (max-width:768px){.stepper-circle{font-size:12px;height:36px;width:36px}}.stepper-label{color:#333;font-size:13px;font-weight:500;white-space:nowrap}@media (max-width:768px){.stepper-label{display:none}}.stepper-active-label{color:#333;display:none;font-size:16px;font-weight:600;margin-top:16px;text-align:center;width:100%}@media (max-width:768px){.stepper-active-label{display:block;margin-top:0}}.booking-main{display:flex;flex:1;justify-content:center;overflow:hidden;padding:24px}@media (max-width:768px){.booking-main{padding:16px}}.booking-content{flex:1;max-width:900px;overflow-y:auto;width:100%}@media (max-width:768px){.booking-content{max-width:100%}}.empty-state{color:#999;font-size:13px;padding:24px;text-align:center}.clinician-date-row{display:flex;gap:24px;margin-bottom:24px}@media (max-width:768px){.clinician-date-row{flex-direction:column;gap:16px}}.clinician-date-row .clinician-field,.clinician-date-row .date-field{display:flex;flex:1;flex-direction:column}.clinician-date-row .clinician-field label,.clinician-date-row .date-field label{color:#333;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:capitalize}.clinician-date-row .clinician-field input,.clinician-date-row .clinician-field select,.clinician-date-row .date-field input,.clinician-date-row .date-field select{background-color:#fff;border:2px solid #ddd;border-radius:16px;color:#333;font-family:inherit;font-size:13px;height:40px;padding:8px 16px;transition:all .3s ease;width:100%}.clinician-date-row .clinician-field input:hover,.clinician-date-row .clinician-field select:hover,.clinician-date-row .date-field input:hover,.clinician-date-row .date-field select:hover{border-color:#e0f7fa}.clinician-date-row .clinician-field input:focus,.clinician-date-row .clinician-field select:focus,.clinician-date-row .date-field input:focus,.clinician-date-row .date-field select:focus{border-color:#00b6ce;box-shadow:0 0 0 3px rgba(0,182,206,.1);outline:none}.clinician-date-row .clinician-field select,.clinician-date-row .date-field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding-right:32px}.clinician-date-row .clinician-field input::placeholder,.clinician-date-row .date-field input::placeholder{color:#666}@media (max-width:768px){.clinician-date-row .clinician-field{order:1}.clinician-date-row .date-field{order:2}}#step-container{min-height:400px}.step-clinic h2,.step-confirm h2,.step-doctor h2,.step-personal h2,.step-timeslots h2,.step-treatment h2{color:#333;font-size:20px;font-weight:600;margin-bottom:24px}.clinic-list{display:flex;flex-direction:column;gap:16px}.clinic-list .clinic-card{margin:0 auto}.clinician-list,.treatment-list{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:0 auto}@media (max-width:768px){.clinician-list,.treatment-list{grid-template-columns:1fr}}.clinic-card,.clinician-card,.treatment-card{background-color:#fff;border:2px solid #00b6ce;border-radius:35px;cursor:pointer;max-width:420px;padding:12px 24px;transition:all .3s ease;width:100%}.clinic-card:hover,.clinician-card:hover,.treatment-card:hover{background-color:#00b6ce;color:#fff}.clinic-card:hover h3,.clinic-card:hover p,.clinician-card:hover h3,.clinician-card:hover p,.treatment-card:hover h3,.treatment-card:hover p{color:#fff}.clinic-card h3,.clinician-card h3,.treatment-card h3{color:#333;font-size:16px;font-weight:600;transition:all .3s ease}.clinic-card p,.clinician-card p,.treatment-card p{color:#666;font-size:13px;margin:0;transition:all .3s ease}.clinic-card.selected,.clinician-card.selected,.treatment-card.selected{background-color:#00b6ce;color:#fff}.clinic-card.selected h3,.clinic-card.selected p,.clinician-card.selected h3,.clinician-card.selected p,.treatment-card.selected h3,.treatment-card.selected p{color:#fff}.clinic-card{text-align:center}.clinic-card h3{font-size:18px}.clinic-option,.treatment-option{margin-bottom:16px}.clinic-option label,.treatment-option label{align-items:flex-start;background-color:#fff;border:2px solid #eee;border-radius:16px;cursor:pointer;display:flex;padding:16px;transition:all .3s ease}.clinic-option label:hover,.treatment-option label:hover{background-color:#e0f7fa;border-color:#00b6ce}.clinic-option label input[type=radio],.treatment-option label input[type=radio]{cursor:pointer;flex-shrink:0;margin-right:16px;margin-top:2px}.clinic-option label input[type=radio]:checked~.clinic-details,.clinic-option label input[type=radio]:checked~.treatment-details,.treatment-option label input[type=radio]:checked~.clinic-details,.treatment-option label input[type=radio]:checked~.treatment-details{color:#00b6ce;font-weight:600}.clinic-option input[type=radio]:checked+label,.treatment-option input[type=radio]:checked+label{background-color:#e0f7fa;border-color:#00b6ce}.clinic-details,.treatment-details{flex:1;transition:all .3s ease}.clinic-details strong,.treatment-details strong{color:#333;display:block;font-size:15px;font-weight:600;margin-bottom:4px}.clinic-details p,.treatment-details p{color:#666;font-size:13px;margin:4px 0}.calendar-controls{align-items:center;background-color:#fafafa;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:16px 24px}@media (max-width:768px){.calendar-controls{flex-wrap:wrap;margin-bottom:8px}.calendar-container{display:flex;flex-direction:column-reverse;gap:16px}}.week-label{color:#333;flex:1}.btn-next-week,.btn-prev-week,.week-label{font-size:14px;font-weight:600;text-align:center}.btn-next-week,.btn-prev-week{background-color:#fff;border:2px solid #00b6ce;border-radius:16px;color:#00b6ce;cursor:pointer;min-width:44px;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.btn-next-week:hover,.btn-prev-week:hover{background-color:#00b6ce;color:#fff}@media (max-width:768px){.btn-next-week,.btn-prev-week{font-size:18px;min-width:40px;padding:8px}}.calendar-week{display:grid;gap:16px;grid-template-columns:repeat(7,1fr)}@media (max-width:768px){.calendar-week{gap:8px;grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.calendar-week{gap:8px;grid-template-columns:repeat(2,1fr)}}.day-column{display:flex;flex-direction:column;gap:8px}.day-header{background-color:#00b6ce;border-radius:16px;color:#fff;padding:16px;text-align:center}.day-name{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.day-date{color:#fff;font-size:13px;font-weight:600;margin-top:4px}.day-slots{display:flex;flex-direction:column;gap:8px}.slot-button{background-color:#fff;border:2px solid #00b6ce;border-radius:16px;color:#00b6ce;cursor:pointer;font-size:13px;font-weight:600;padding:16px;text-align:center;transition:all .3s ease}.slot-button:active,.slot-button:hover{background-color:#00b6ce;color:#fff}.no-slots{color:#999;font-size:13px;text-align:center}.no-slots,.step-timeslots .week-nav{background-color:#fafafa;border-radius:16px;padding:16px}.step-timeslots .week-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.step-timeslots .week-label{color:#333;font-size:14px;font-weight:500}.step-timeslots .btn-next-week,.step-timeslots .btn-prev-week{background-color:#fff;border:1px solid #ddd;border-radius:16px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s ease}.step-timeslots .btn-next-week:hover,.step-timeslots .btn-prev-week:hover{background-color:#00b6ce;border-color:#00b6ce;color:#fff}.timeslots-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media (max-width:768px){.timeslots-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:480px){.timeslots-grid{grid-template-columns:1fr}}.timeslot-option label{background-color:#fff;border:2px solid #eee;border-radius:16px;cursor:pointer;display:block;padding:16px;text-align:center;transition:all .3s ease}.timeslot-option label:hover{background-color:#e0f7fa;border-color:#00b6ce}.timeslot-option label input[type=radio]{display:none}.timeslot-option input[type=radio]:checked+label{background-color:#00b6ce;border-color:#00b6ce;color:#fff}.timeslot-option input[type=radio]:checked+label .timeslot-details{color:#fff}.timeslot-details{transition:all .3s ease}.timeslot-details strong{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:4px}.timeslot-details p{color:#666;font-size:13px;margin:4px 0}input[type=radio]:checked~.timeslot-details{color:#fff}.doctor-card{background-color:#e0f7fa;border-left:4px solid #00b6ce;border-radius:16px;margin-bottom:24px;padding:24px}.doctor-card h3{color:#0097a7;font-size:18px;font-weight:600;margin-bottom:8px}.doctor-card p{color:#333;font-size:14px;margin:4px 0}.doctor-card p strong{color:#666;font-weight:500}.appointment-details{background-color:#fafafa;border:1px solid #eee;border-radius:16px;padding:24px}.appointment-details h3{color:#333;font-size:15px;font-weight:600;margin-bottom:16px}.appointment-details p{color:#333;font-size:14px;margin:8px 0}.appointment-details p strong{color:#666;font-weight:500}.step-content h2{margin-bottom:24px}.step-content form{display:flex;flex-direction:column;gap:8px;margin:0 auto;max-width:550px;padding-bottom:20px}@media (max-width:768px){.step-content form{max-width:100%}}.form-group{display:flex;flex-direction:column;margin-bottom:8px}.form-group label{color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:capitalize}.form-group input[type=date],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text],.form-group textarea{border:2px solid #ddd;border-radius:16px;font-family:inherit;font-size:13px;height:36px;max-width:100%;padding:8px 16px;transition:all .3s ease}.form-group input[type=date]:focus,.form-group input[type=email]:focus,.form-group input[type=tel]:focus,.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#00b6ce;box-shadow:0 0 0 3px rgba(0,182,206,.1);outline:none}.form-group input[type=date]::placeholder,.form-group input[type=email]::placeholder,.form-group input[type=tel]::placeholder,.form-group input[type=text]::placeholder,.form-group textarea::placeholder{color:#999}.form-group textarea{height:auto;min-height:80px;padding:16px}.form-group input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;margin-right:8px;width:16px}.form-group:has(input[type=checkbox]){align-items:flex-start;flex-direction:row;gap:8px}.form-group:has(input[type=checkbox]) label{font-size:13px;font-weight:400;letter-spacing:normal;margin-bottom:0;margin-top:2px;text-transform:none}.form-errors{background-color:rgba(220,53,69,.1);border:1px solid #dc3545;border-left-width:4px;border-radius:16px;color:#dc3545;display:none;font-size:14px;font-weight:500;margin-bottom:16px;padding:16px}.form-errors strong{display:block;font-weight:600;margin-bottom:8px}.form-errors ul{margin:0;padding-left:24px}.form-errors ul li{font-size:13px;margin-bottom:4px}.error-message{background-color:rgba(220,53,69,.1);border-left:4px solid #dc3545;color:#dc3545}.error-message,.success-message{border-radius:16px;font-size:14px;padding:16px}.success-message{background-color:rgba(0,182,206,.1);border-left:4px solid #00b6ce;color:#00b6ce;font-weight:600}.confirmation-message{min-height:20px}.step-confirm .confirmation-details{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.step-confirm .confirm-row{align-items:center;background-color:#fafafa;border-left:3px solid #00b6ce;border-radius:16px;display:flex;justify-content:space-between;padding:16px}.step-confirm .confirm-row strong{color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.step-confirm .confirm-row span{color:#333;font-size:14px;font-weight:500;text-align:right}.step-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:24px}@media (max-width:480px){.step-actions{flex-direction:column-reverse}}.booking-actions{display:flex;gap:24px;justify-content:flex-end;margin-top:24px}@media (max-width:480px){.booking-actions{flex-direction:column;gap:16px}}.btn-back,.btn-confirm,.btn-next,.btn-submit{border:none;border-radius:16px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;min-width:120px;padding:16px 24px;text-transform:uppercase;transition:all .3s ease}@media (max-width:480px){.btn-back,.btn-confirm,.btn-next,.btn-submit{width:100%}}.btn-back{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.btn-back:hover{background-color:#eee;border-color:#666}.btn-confirm,.btn-next,.btn-submit{background-color:#00b6ce;color:#fff}.btn-confirm:hover:not(:disabled),.btn-next:hover:not(:disabled),.btn-submit:hover:not(:disabled){background-color:#0097a7}.btn-confirm:disabled,.btn-next:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#fafafa}::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width:768px){.booking-header{padding:16px}.booking-header h1{font-size:20px;margin-bottom:16px}.step-navigation{gap:8px}.step-btn{font-size:12px;padding:8px}.booking-main{padding:16px}.booking-content{padding-right:0}.timeslots-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.booking-container{height:auto;min-height:100vh}.booking-header{padding:16px}.booking-header h1{font-size:18px;margin-bottom:16px}.step-navigation{flex-wrap:wrap;gap:8px}.step-btn{flex:0 1 calc(50% - 4px);font-size:11px;padding:8px}.booking-main{flex-direction:column;gap:16px;padding:16px}.booking-summary{width:100%}.timeslots-grid{grid-template-columns:1fr}.confirm-row{align-items:flex-start;flex-direction:column}.confirm-row span{margin-top:4px;text-align:left}}.patient-lookup-block{background-color:#f5f7fa;border:1px solid #eee;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,.05);margin-bottom:24px;padding:16px}.patient-lookup-block .patient-lookup-title{color:#00b6ce;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.patient-lookup-block .patient-lookup-form .form-group{margin-bottom:0}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group{align-items:flex-start;display:flex;gap:8px}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group input{flex:1;min-width:200px}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group .btn-lookup{background-color:#00b6ce;border:none;border-radius:16px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;height:40px;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group .btn-lookup:hover:not(:disabled){background-color:#00899b}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group .btn-lookup:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.patient-lookup-block .patient-lookup-form .patient-lookup-input-group .btn-lookup{font-size:12px;padding:8px 16px}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group{flex-direction:column}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group input{min-width:100%}.patient-lookup-block .patient-lookup-form .patient-lookup-input-group .btn-lookup{width:100%}}.patient-lookup-block .patient-lookup-message{font-size:13px;margin-top:8px;min-height:20px}.patient-lookup-block .patient-lookup-message .success-text{color:#27ae60;font-weight:500}.patient-lookup-block .patient-lookup-message .warning-text{color:#f39c12;font-weight:500}.patient-lookup-block .patient-lookup-message .error-text{color:#e74c3c;font-weight:500}.dental-fear-block{background-color:#fafbfc;border:1px solid #e8eaed;border-radius:12px;margin-bottom:24px;padding:16px}.dental-fear-block .custom-checkbox-group{margin-bottom:0}.form-section{border-bottom:1px solid #eee;padding-bottom:16px}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h3{color:#00b6ce;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:24px;text-transform:uppercase}.custom-checkbox-group{margin-bottom:16px}.custom-checkbox-group:last-child{margin-bottom:0}.custom-checkbox{align-items:center;cursor:pointer;display:flex;position:relative;user-select:none}.custom-checkbox input[type=checkbox]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.custom-checkbox input[type=checkbox]:checked+.checkbox-custom{background-color:#00b6ce;border-color:#00b6ce}.custom-checkbox input[type=checkbox]:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.custom-checkbox input[type=checkbox]:focus+.checkbox-custom{box-shadow:0 0 0 3px rgba(0,182,206,.1)}.custom-checkbox input[type=checkbox]:disabled+.checkbox-custom{background-color:#fafafa;cursor:not-allowed}.custom-checkbox .checkbox-custom{background-color:#fff;border:2px solid #ddd;border-radius:8px;height:20px;margin-right:8px;min-width:20px;position:relative;transition:all .3s ease;width:20px}.custom-checkbox .checkbox-label{color:#333;font-size:14px;font-weight:400;line-height:1.4}.custom-checkbox:hover input:not(:disabled)+.checkbox-custom{border-color:#00b6ce}.form-group-half{max-width:50%}@media (max-width:768px){.form-group-half{max-width:100%}}.form-required-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}#birthDate,#datepicker-calendar{max-width:250px;width:100%}@media (max-width:768px){#birthDate,#datepicker-calendar{max-width:100%}}.datepicker{max-width:100%;z-index:1000}@media (max-width:480px){.datepicker{font-size:13px}}.datepicker-controls{flex-wrap:wrap;gap:8px}@media (max-width:480px){.datepicker-controls{gap:4px}}#birthDate,#postalCode{max-width:250px!important}@media (max-width:768px){#birthDate,#postalCode{max-width:100%!important}}.booking-summary-container{animation:fadeIn .5s ease-in;padding:16px}.booking-summary-container img{display:block;margin:0 auto 10px;max-height:40px}@media (max-width:768px){.booking-summary-container{padding:8px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-summary{margin:0 auto;max-width:800px}.summary-header{border-bottom:2px solid #00b6ce;margin-bottom:16px;padding-bottom:8px;text-align:center}.summary-header h2{color:#00b6ce;font-size:28px;font-weight:700;margin-bottom:4px}@media (max-width:768px){.summary-header h2{font-size:22px}}.summary-header .summary-subtitle{color:#666;font-size:14px;font-weight:400}.summary-content{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:16px}@media (max-width:768px){.summary-content{gap:4px;grid-template-columns:1fr}}.summary-section{background-color:#fafafa;border-left:4px solid #00b6ce;border-radius:20px;display:flex;gap:4px;padding:10px;transition:all .3s ease}.summary-section:hover{box-shadow:0 4px 12px rgba(0,182,206,.15);transform:translateY(-2px)}.summary-section .summary-icon{flex-shrink:0;font-size:28px;min-width:32px;text-align:center}.summary-section .summary-details{flex:1}.summary-section .summary-details h3{color:#333;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.summary-section .summary-details p{color:#333;font-size:13px;line-height:1.4;margin-bottom:4px}.summary-section .summary-details p:last-child{margin-bottom:0}.summary-section .summary-details p strong{color:#00b6ce;font-weight:600}.summary-section .summary-details p span{color:#666}.summary-section .summary-details .summary-address{color:#666;font-size:12px;font-style:italic}.summary-section .summary-details .summary-meta{color:#666;font-size:12px;margin-bottom:4px}.summary-actions{display:flex;gap:16px;justify-content:center;min-height:0;padding-top:16px}.summary-actions:empty{display:none}.summary-actions .btn-home{background-color:#00b6ce;border:none;border-radius:16px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:16px 24px;text-decoration:none;transition:all .3s ease}.summary-actions .btn-home:hover{background-color:#00899b;box-shadow:0 4px 12px rgba(0,182,206,.3);transform:translateY(-2px)}@media (max-width:768px){.summary-actions .btn-home{font-size:13px;padding:8px 16px;text-align:center;width:100%}}.booking-loader{display:none;margin:16px 0;padding:24px;text-align:center}.booking-loader.active{display:block}.booking-loader .spinner{animation:spin .8s linear infinite;border:4px solid #ddd;border-radius:50%;border-top-color:#00b6ce;display:inline-block;height:40px;width:40px}.booking-loader .loader-text{color:#666;font-size:13px;margin-top:8px}@keyframes spin{to{transform:rotate(1turn)}}.patient-lookup-message-top{color:#666;font-size:14px;line-height:1.5;margin:0 0 16px}.patient-lookup-message-bottom{color:#999;font-size:12px;line-height:1.5;margin:8px 0 0}.form-section-unified{background-color:#fff;border:1px solid #ddd;border-radius:12px;padding:24px}.form-section-unified .form-group{margin-bottom:16px}.form-section-unified .form-group:last-child{margin-bottom:0}.form-section-promo{background-color:transparent;border:none;margin-bottom:24px;padding:16px}.form-section-promo .form-group{margin-bottom:0}.empty-state-message{background-color:#f9f9f9;border-radius:8px;color:#666;font-size:14px;line-height:1.5;margin-top:16px;padding:24px;text-align:center}.datepicker{width:-moz-min-content;width:min-content}.datepicker:not(.active){display:none}.datepicker-dropdown{padding-top:4px;position:absolute;z-index:20}.datepicker-dropdown.datepicker-orient-top{padding-bottom:4px;padding-top:0}.datepicker-picker{background-color:#fff;border-radius:4px;display:flex;flex-direction:column}.datepicker-dropdown .datepicker-picker{box-shadow:0 2px 3px hsla(0,0%,4%,.1),0 0 0 1px hsla(0,0%,4%,.1)}.datepicker-main{flex:auto;padding:2px}.datepicker-footer{background-color:#f5f5f5;box-shadow:inset 0 1px 1px hsla(0,0%,4%,.1)}.datepicker-title{background-color:#f5f5f5;box-shadow:inset 0 -1px 1px hsla(0,0%,4%,.1);font-weight:700;padding:.375rem .75rem;text-align:center}.datepicker-controls{display:flex}.datepicker-header .datepicker-controls{padding:2px 2px 0}.datepicker-controls .button{align-items:center;background-color:#fff;border:1px solid #dcdcdc;border-radius:4px;box-shadow:none;color:#363636;cursor:pointer;display:inline-flex;font-size:1rem;height:2.25em;justify-content:center;line-height:1.5;margin:0;padding:calc(.375em - 1px) .75em;position:relative;text-align:center;vertical-align:top;white-space:nowrap}.datepicker-controls .button:active,.datepicker-controls .button:focus{outline:none}.datepicker-controls .button:hover{border-color:#b8b8b8;color:#363636}.datepicker-controls .button:focus{border-color:#3273dc;color:#363636}.datepicker-controls .button:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.datepicker-controls .button:active{border-color:#474747;color:#363636}.datepicker-controls .button[disabled]{cursor:not-allowed}.datepicker-header .datepicker-controls .button{border-color:transparent;font-weight:700}.datepicker-header .datepicker-controls .button:hover{background-color:#f9f9f9}.datepicker-header .datepicker-controls .button:active{background-color:#f2f2f2}.datepicker-footer .datepicker-controls .button{border-radius:2px;flex:auto;font-size:.75rem;margin:calc(.375rem - 1px) .375rem}.datepicker-controls .view-switch{flex:auto}.datepicker-controls .next-button,.datepicker-controls .prev-button{flex:0 0 14.2857142857%;padding-left:.375rem;padding-right:.375rem}.datepicker-controls .next-button.disabled,.datepicker-controls .prev-button.disabled{visibility:hidden}.datepicker-grid,.datepicker-view{display:flex}.datepicker-view{align-items:stretch;width:15.75rem}.datepicker-grid{flex:auto;flex-wrap:wrap}.datepicker .days{display:flex;flex:auto;flex-direction:column}.datepicker .days-of-week{display:flex}.datepicker .week-numbers{display:flex;flex:0 0 9.6774193548%;flex-direction:column}.datepicker .weeks{align-items:stretch;display:flex;flex:auto;flex-direction:column}.datepicker span{align-items:center;border-radius:4px;cursor:default;display:flex;justify-content:center;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.datepicker .dow{font-size:.875rem;font-weight:700;height:1.5rem}.datepicker .week{color:#b8b8b8;flex:auto;font-size:.75rem}.datepicker .days .dow,.datepicker-cell{flex-basis:14.2857142857%}.datepicker-cell{height:2.25rem}.datepicker-cell:not(.day){flex-basis:25%;height:4.5rem}.datepicker-cell:not(.disabled):hover{background-color:#f9f9f9;cursor:pointer}.datepicker-cell.focused:not(.selected){background-color:#e9e9e9}.datepicker-cell.selected,.datepicker-cell.selected:hover{background-color:#3273dc;color:#fff;font-weight:600}.datepicker-cell.disabled{color:#dcdcdc}.datepicker-cell.next:not(.disabled),.datepicker-cell.prev:not(.disabled){color:#7a7a7a}.datepicker-cell.next.selected,.datepicker-cell.prev.selected{color:#e6e6e6}.datepicker-cell.highlighted:not(.selected):not(.range):not(.today){background-color:#f5f5f5;border-radius:0}.datepicker-cell.highlighted:not(.selected):not(.range):not(.today):not(.disabled):hover{background-color:#efefef}.datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused{background-color:#e9e9e9}.datepicker-cell.today:not(.selected){background-color:#00d1b2}.datepicker-cell.today:not(.selected):not(.disabled){color:#fff}.datepicker-cell.today.focused:not(.selected){background-color:#00ccad}.datepicker-cell.range-end:not(.selected),.datepicker-cell.range-start:not(.selected){background-color:#b8b8b8;color:#fff}.datepicker-cell.range-end.focused:not(.selected),.datepicker-cell.range-start.focused:not(.selected){background-color:#b3b3b3}.datepicker-cell.range-start:not(.range-end){border-radius:4px 0 0 4px}.datepicker-cell.range-end:not(.range-start){border-radius:0 4px 4px 0}.datepicker-cell.range{background-color:#dcdcdc;border-radius:0}.datepicker-cell.range:not(.disabled):not(.focused):not(.today):hover{background-color:#d7d7d7}.datepicker-cell.range.disabled{color:#c6c6c6}.datepicker-cell.range.focused{background-color:#d1d1d1}.datepicker-input.in-edit{border-color:#276bda}.datepicker-input.in-edit:active,.datepicker-input.in-edit:focus{box-shadow:0 0 .25em .25em rgba(39,107,218,.2)}