body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.otp-overlay{align-items:center;animation:otpFadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:200}.otp-modal{animation:otpSlideUp .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:400px;padding:2.5rem;position:relative;text-align:center;width:100%}.otp-close{align-items:center;background:#f5f5f5;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:32px}.otp-close:hover{background:#eee;color:#555}.otp-icon{align-items:center;background:linear-gradient(135deg,#e8f4f8,#dbeafe);border-radius:14px;color:#0077b6;display:flex;height:56px;justify-content:center;margin:0 auto 1.25rem;padding:12px;width:56px}.otp-icon svg{height:100%;width:100%}.otp-title{color:#1a1a2e;font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.otp-subtitle{color:#777;font-size:.9rem;line-height:1.5;margin-bottom:1.75rem}.otp-input,.otp-subtitle strong{color:#1a1a2e}.otp-input{border:2px solid #ddd;border-radius:10px;font-size:1.5rem;font-weight:600;letter-spacing:.75rem;margin-bottom:.5rem;padding:1rem;text-align:center;transition:border-color .2s ease;width:100%}.otp-input:focus{border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.otp-input::placeholder{color:#ccc;letter-spacing:.75rem}.otp-error{color:#dc2626;font-size:.8rem;margin-bottom:.5rem}.otp-submit{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.75rem;padding:.875rem;transition:opacity .2s ease;width:100%}.otp-submit:hover{opacity:.9}.otp-submit:disabled{cursor:not-allowed;opacity:.6}.otp-resend{color:#777;font-size:.85rem;margin-top:1.25rem}.otp-resend-timer{color:#999}.otp-resend-link{color:#0077b6;cursor:pointer;font-weight:600}.otp-resend-link:hover{text-decoration:underline}@keyframes otpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes otpSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.otp-modal{padding:2rem 1.5rem}.otp-input{font-size:1.25rem}.otp-input,.otp-input::placeholder{letter-spacing:.5rem}}.registration-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:3rem 2rem}.registration-card{background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 20px #0000000a;max-width:440px;padding:3rem 2.5rem;text-align:center;width:100%}.registration-icon{align-items:center;background:linear-gradient(135deg,#e8f4f8,#dbeafe);border-radius:14px;color:#0077b6;display:flex;height:56px;justify-content:center;margin:0 auto 1.25rem;padding:12px;width:56px}.registration-icon svg{height:100%;width:100%}.registration-title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.registration-subtitle{color:#777;font-size:.95rem;line-height:1.5;margin-bottom:1rem}.registration-note{background:#f0f7ff;border-left:3px solid #0077b6;border-radius:6px;color:#1a1a2e;font-size:.875rem;line-height:1.5;margin-bottom:1.5rem;padding:.65rem .9rem;text-align:left}.registration-form{text-align:left}.form-group{margin-bottom:1.25rem}.form-group label{color:#1a1a2e;display:block;font-size:.875rem;font-weight:600;margin-bottom:.4rem}.form-group input{background:#fafafa;border:1px solid #ddd;border-radius:10px;color:#1a1a2e;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.form-group input::placeholder{color:#bbb}.form-error{font-size:.8rem;margin-top:.35rem}.registration-submit{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:opacity .2s ease;width:100%}.registration-submit:hover{opacity:.9}.registration-submit:disabled{cursor:not-allowed;opacity:.6}.registration-back{color:#777;font-size:.875rem;margin-top:1.5rem}.registration-back span{color:#0077b6;cursor:pointer;font-weight:600}.registration-back span:hover{text-decoration:underline}@media (max-width:480px){.registration-page{align-items:flex-start;padding:2rem 1rem}.registration-card{padding:2rem 1.5rem}.registration-title{font-size:1.3rem}}.fm-overlay{align-items:center;animation:fmFadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:200}.fm-modal{animation:fmSlideUp .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-height:90vh;max-width:520px;overflow-y:auto;padding:2.5rem;position:relative;width:100%}.fm-header{margin-bottom:1.5rem;text-align:center}.fm-icon{align-items:center;background:linear-gradient(135deg,#e8f4f8,#dbeafe);border-radius:14px;color:#0077b6;display:flex;height:56px;justify-content:center;margin:0 auto 1rem;padding:12px;width:56px}.fm-icon svg{height:100%;width:100%}.fm-title{color:#1a1a2e;font-size:1.3rem;font-weight:700;margin-bottom:.4rem}.fm-subtitle{color:#777;font-size:.875rem;line-height:1.5}.fm-members-list{display:flex;flex-direction:column;gap:1rem}.fm-member-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem}.fm-member-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.fm-member-label{color:#0077b6;font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.fm-remove-btn{background:none;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-size:.8rem;font-weight:600;padding:.25rem .5rem;transition:background .2s ease}.fm-remove-btn:hover{background:#dc262614}.fm-fields{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.fm-field-dob{grid-column:1/-1}.fm-field label{color:#555;display:block;font-size:.75rem;font-weight:600;margin-bottom:.3rem}.fm-field input{background:#fff;border:1px solid #ddd;border-radius:8px;color:#1a1a2e;font-size:.9rem;padding:.625rem .75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.fm-field input:focus{border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.fm-field input::placeholder{color:#bbb}.fm-dob-row{align-items:center;display:flex;gap:.75rem}.fm-dob-row input{flex:1 1}.fm-age-badge{background:linear-gradient(135deg,#0077b6,#00b4d8);border-radius:20px;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:700;padding:.35rem .75rem;white-space:nowrap}.fm-add-btn{align-items:center;background:none;border:2px dashed #d0d5dd;border-radius:10px;color:#0077b6;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem;transition:all .2s ease;width:100%}.fm-add-btn:hover{background:#0077b608;border-color:#0077b6}.fm-add-btn span{font-size:1.1rem;font-weight:700}.fm-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.fm-submit-btn{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem;transition:opacity .2s ease;width:100%}.fm-submit-btn:hover{opacity:.9}.fm-submit-btn:disabled{cursor:not-allowed;opacity:.6}.fm-skip-btn{background:none;border:none;color:#777;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem;transition:color .2s ease;width:100%}.fm-skip-btn:hover{color:#1a1a2e}@keyframes fmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fmSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.fm-modal{max-height:85vh;padding:1.75rem 1.25rem}.fm-fields{grid-template-columns:1fr}.fm-field-dob{grid-column:auto}.fm-member-card{padding:1rem}}.profile-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:3rem 2rem}.profile-welcome-row{align-items:center;display:flex;flex-direction:row;gap:1rem;margin-bottom:1.5rem;text-align:left}.profile-brand-logo{flex-shrink:0;height:60px;object-fit:contain;width:auto}.profile-welcome-row .profile-title{margin-bottom:.25rem}.profile-welcome-row .profile-subtitle{margin-bottom:0}.profile-card{background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 20px #0000000a;max-width:440px;padding:3rem 2.5rem;text-align:center;width:100%}.profile-icon{align-items:center;background:linear-gradient(135deg,#e8f4f8,#dbeafe);border-radius:14px;color:#0077b6;display:flex;height:56px;justify-content:center;margin:0 auto 1.25rem;padding:12px;width:56px}.profile-icon svg{height:100%;width:100%}.profile-title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.profile-subtitle{color:#777;font-size:.95rem;line-height:1.5;margin-bottom:2rem}.profile-form{text-align:left}.profile-form .form-group{margin-bottom:1.25rem}.profile-form .form-group label{color:#1a1a2e;display:block;font-size:.875rem;font-weight:600;margin-bottom:.4rem}.profile-form .form-group input{background:#fafafa;border:1px solid #ddd;border-radius:10px;color:#1a1a2e;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.profile-form .form-group input:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.profile-form .form-group input::placeholder{color:#bbb}.profile-form .form-group input.input-disabled{background:#f0f0f0;border-color:#e0e0e0;color:#999;cursor:not-allowed}.profile-form .form-group input.input-disabled:focus{border-color:#e0e0e0;box-shadow:none}.profile-submit{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:opacity .2s ease;width:100%}.profile-submit:hover{opacity:.9}.profile-submit:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.profile-page{align-items:flex-start;padding:2rem 1rem}.profile-card{padding:2rem 1.5rem}.profile-title{font-size:1.3rem}}.dashboard-page{display:flex;flex:1 1;justify-content:center;padding:2.5rem 2rem}.dashboard-container{max-width:700px;position:relative;width:100%}.dashboard-welcome{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.dashboard-brand-logo{height:60px}.dashboard-title{color:#fff;font-family:Comfortaa,cursive;font-size:1.5rem;font-weight:700;margin-bottom:.35rem}.dashboard-subtitle{color:#777;font-size:.95rem;text-align:center}.dashboard-container>.logout-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.45rem 1rem;position:fixed;right:1.5rem;top:.65rem;transition:all .15s ease;z-index:101}.dashboard-container>.logout-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.dashboard-container>.logout-btn svg{height:16px;width:16px}.dashboard-icons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.dash-icon-card{background:#7d7e99;border:2px solid #0000;border-radius:14px;box-shadow:0 2px 12px #0000000a;cursor:pointer;padding:1.5rem 1rem;text-align:center;transition:all .25s ease}.dash-icon-card:hover{border-color:#96c43c;box-shadow:0 8px 24px #0077b61f;transform:translateY(-3px)}.dash-icon-card.active{border-color:#0000}.dash-icon-circle{align-items:center;background:linear-gradient(135deg,#e8f4f8,#dbeafe);border-radius:12px;color:#0077b6;display:flex;height:48px;justify-content:center;margin:0 auto .75rem;padding:10px;transition:all .25s ease;width:48px}.dash-icon-card:hover .dash-icon-circle{color:#96c43c}.dash-icon-card.active .dash-icon-circle{background:linear-gradient(135deg,#e8f4f8,#dbeafe);color:#0077b6}.dash-icon-circle svg{height:100%;width:100%}.dash-icon-label{color:#fff;display:block;font-size:.8rem;font-weight:600}.dash-icon-card.active .dash-icon-label{color:#fff}.dashboard-section{animation:sectionFadeIn .2s ease;background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 20px #0000000a;padding:2rem}.section-title{border-bottom:none;color:#1a1a2e;font-size:1.15rem;font-weight:700;margin-bottom:0;padding-bottom:0}.section-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#999;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.section-close-btn:hover{background:#0000000f;color:#333}.section-close-btn svg{height:20px;width:20px}.section-empty{color:#999;font-size:.95rem;padding:2rem 0;text-align:center}.bookings-grouped{gap:1.5rem}.bookings-group,.bookings-grouped{display:flex;flex-direction:column}.bookings-group{gap:.75rem}.bookings-group-title{align-items:center;border-bottom:2px solid #e5e7eb;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:.5rem;margin:0;padding:.5rem 0;transition:opacity .15s ease;-webkit-user-select:none;user-select:none}.bookings-group-title:hover{opacity:.75}.bookings-group-chevron{flex-shrink:0;height:16px;margin-left:auto;transition:transform .2s ease;width:16px}.bookings-group-title.collapsed .bookings-group-chevron{transform:rotate(-90deg)}.bookings-group-title svg{height:18px;width:18px}.bookings-group-title.confirmed{border-bottom-color:#0077b6;color:#0077b6}.bookings-group-title.past{border-bottom-color:#9ca3af;color:#6b7280}.bookings-group-count{background:#f3f4f6;border-radius:10px;color:#6b7280;font-size:.7rem;font-weight:700;margin-left:.25rem;padding:.15rem .5rem}.bookings-group-empty{color:#9ca3af;font-size:.85rem;font-style:italic;margin:0;padding:.5rem 0}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{background:#fff;border:1px solid #0000000f;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:1.25rem}.booking-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.booking-patient-info{align-items:center;display:flex;gap:.5rem}.booking-patient-name{color:#1a1a2e;font-size:1rem;font-weight:600}.booking-for-label{color:#6b7280;font-size:.75rem;font-weight:500}.booking-status-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.booking-status-badge.confirmed{background:#e8f4f8;color:#0077b6}.booking-status-badge.completed{background:#e8f8e8;color:#2d7a2d}.booking-status-badge.cancelled{background:#fde8e8;color:#dc2626}.booking-status-badge.rescheduled-provider{background:#e8f0fb;color:#2563eb;text-transform:none}.booking-status-badge.cancelled-provider{background:#f3f4f6;color:#6b7280;text-transform:none}.booking-card.booking-cancelled_by_provider{background:#f9fafb;border-color:#e5e7eb;opacity:.6}.bookings-group-title.cancelled-provider{border-bottom-color:#d1d5db;color:#9ca3af}.bookings-group-title.cancelled-provider svg{stroke:#9ca3af}.booking-card-details p{color:#555;font-size:.9rem;margin:.35rem 0}.booking-card-details strong{color:#1a1a2e}.provider-link{color:teal;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.provider-link:hover{color:#066}.booking-card-actions{border-top:1px solid #0000000f;display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.booking-action-btn{align-items:center;border:1px solid;border-radius:8px;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.5rem 1rem;transition:all .15s ease}.booking-action-btn svg{height:16px;width:16px}.booking-action-btn.reschedule{background:#f0f9ff;border-color:#bae6fd;color:#0077b6}.booking-action-btn.reschedule:hover{background:#e0f2fe;border-color:#7dd3fc}.booking-action-btn.cancel{background:#fef2f2;border-color:#fecaca;color:#dc2626}.booking-action-btn.cancel:hover{background:#fee2e2;border-color:#fca5a5}.booking-modal-overlay{background:#00000080;z-index:200}.booking-action-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-height:90vh;max-width:480px;overflow-y:auto;width:100%}.booking-action-modal.reschedule-modal{max-width:780px}.booking-action-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.booking-action-modal-header h3{color:#1a1a2e;font-size:1.1rem;font-weight:700;margin:0}.modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;transition:color .15s ease}.modal-close-btn:hover{color:#1a1a2e}.modal-close-btn svg{height:20px;width:20px}.booking-action-modal-body{padding:1.5rem}.booking-action-modal-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.booking-action-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1.25rem;transition:all .15s ease}.booking-action-modal-btn.back{background:#f3f4f6;color:#6b7280}.booking-action-modal-btn.back:hover{background:#e5e7eb}.booking-action-modal-btn.confirm-cancel{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.booking-action-modal-btn.confirm-cancel:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#991b1b)}.booking-action-modal-btn.confirm-reschedule{background:linear-gradient(135deg,#0077b6,#005f8a);color:#fff}.booking-action-modal-btn.confirm-reschedule:hover:not(:disabled){background:linear-gradient(135deg,#005f8a,#004a6e)}.booking-action-modal-btn:disabled{cursor:not-allowed;opacity:.5}.dashboard-section .form-group,.section-form .form-group{margin-bottom:1rem}.dashboard-section label,.section-form label{color:#1a1a2e;display:block;font-size:.8rem;font-weight:600;margin-bottom:.3rem}.dashboard-section input,.section-form input{background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#1a1a2e;font-size:.95rem;padding:.75rem .875rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.dashboard-section input:focus,.section-form input:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.dashboard-section input::placeholder,.section-form input::placeholder{color:#bbb}.form-divider{margin:1.25rem 0}.form-hint{color:#999;margin-top:.25rem}.family-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.family-row{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:.75rem;padding:1rem}.family-fields{grid-gap:.75rem;align-items:end;display:grid;flex:1 1;gap:.75rem;grid-template-columns:1fr 1fr 1fr auto}.family-age{align-items:flex-end;display:flex;padding-bottom:.1rem}.age-badge{background:linear-gradient(135deg,#0077b6,#00b4d8);border-radius:20px;color:#fff;font-size:.7rem;font-weight:700;padding:.35rem .6rem;white-space:nowrap}.family-delete-btn{align-items:center;background:none;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-top:1.2rem;padding:.4rem;transition:background .2s ease;width:32px}.family-delete-btn:hover{background:#dc262614}.family-delete-btn svg{height:18px;width:18px}.family-add-btn{align-items:center;background:none;border:2px dashed #d0d5dd;border-radius:10px;color:#0077b6;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.4rem;justify-content:center;margin-top:.75rem;padding:.7rem;transition:all .2s ease;width:100%}.family-add-btn:hover{background:#0077b608;border-color:#0077b6}.family-add-btn span{font-size:1rem;font-weight:700}.booking-section{max-width:100%}.booking-steps{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 1rem}.booking-step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;position:relative}.booking-step:after{background:#e5e7eb;content:"";height:2px;left:50%;position:absolute;top:14px;width:100%;z-index:0}.booking-step:last-child:after{display:none}.step-number{align-items:center;background:#e5e7eb;border-radius:50%;color:#94a3b8;display:flex;font-size:.8rem;font-weight:600;height:28px;justify-content:center;transition:all .2s ease;width:28px;z-index:1}.step-label{color:#94a3b8;font-size:.75rem;text-align:center}.booking-step.active .step-number{background:teal;color:#fff}.booking-step.active .step-label{color:teal;font-weight:600}.booking-step.completed .step-number{background:#10b981;color:#fff}.booking-step.completed:after{background:#10b981}.search-box{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem}.search-box svg{stroke:#94a3b8;flex-shrink:0;height:20px;width:20px}.search-box input{background:none;border:none;color:#1a1a2e;flex:1 1;font-size:.95rem;outline:none}.search-box input::placeholder{color:#94a3b8}.service-filter-select{-webkit-appearance:none;appearance:none;background:#f8fafc;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border:1px solid #e5e7eb;border-radius:10px;color:#1a1a2e;cursor:pointer;font-size:.95rem;margin-bottom:1.5rem;outline:none;padding:.75rem 2.5rem .75rem 1rem;width:100%}.service-filter-select:focus{background-color:#fff;border-color:#0077b6}.provider-list{display:flex;flex-direction:column;gap:.75rem}.provider-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .15s ease}.provider-card:hover{border-color:teal;box-shadow:0 2px 8px #0080801a}.provider-card-icon{align-items:center;background:linear-gradient(135deg,#e0f2f1,#b2dfdb);border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.provider-card-icon svg{stroke:teal;height:24px;width:24px}.provider-card-info{flex:1 1;min-width:0}.provider-card-name{color:#1a1a2e;font-size:1rem;font-weight:600;margin:0 0 .1rem}.provider-card-speciality{color:#0077b6;font-size:.8rem;font-weight:500;margin:0 0 .25rem}.provider-card-location{align-items:center;color:#64748b;display:flex;font-size:.85rem;gap:.35rem;margin:0}.provider-card-location svg{stroke:#94a3b8;flex-shrink:0;height:14px;width:14px}.provider-card-arrow{stroke:#cbd5e1;flex-shrink:0;height:20px;width:20px}.back-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.35rem;margin-bottom:1rem;padding:.5rem 0;transition:color .15s ease}.back-btn:hover{color:teal}.back-btn svg{height:18px;width:18px}.provider-banner{background:#7d7e99;border-radius:12px;margin-bottom:1rem;padding:1rem 1.25rem}.provider-banner-main{align-items:center;display:flex;gap:1rem}.provider-banner-avatar{align-items:center;background:#0000;border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.provider-banner-avatar svg{stroke:#fff;height:24px;width:24px}.provider-banner-info{flex:1 1;min-width:0}.provider-banner-name{color:#fff;font-size:1.1rem;font-weight:700;margin:0 0 .15rem}.provider-banner-speciality{color:#fffc;font-size:.82rem;font-weight:500;margin:0 0 .4rem}.provider-banner-details{display:flex;flex-direction:column;gap:.35rem}.banner-detail{align-items:center;color:#fff;display:inline-flex;font-size:.8rem;gap:.35rem}.banner-detail svg{stroke:#ffffffbf;flex-shrink:0;height:14px;transition:stroke .2s ease;width:14px}.banner-detail:hover svg{stroke:#fff}.provider-banner-about{border-top:1px solid #ffffff1a;margin-top:.75rem;padding:.75rem 1.25rem 0}.provider-banner-about-text{color:#fffc;font-size:.8rem;line-height:1.5;margin:0;white-space:pre-line}@media (max-width:600px){.provider-banner-details{flex-direction:column;gap:.35rem}}.inline-calendar-container{background:#f8fafa;border-radius:16px;margin-top:1.5rem;padding:1.5rem}.inline-calendar-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.monthly-calendar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:1.25rem}.calendar-header{margin-bottom:1rem}.calendar-nav-btn{background:none;border:1px solid #e5e7eb;color:#64748b;transition:all .15s ease}.calendar-nav-btn:hover{border-color:teal;color:teal}.calendar-month-title{color:#1a1a2e;font-size:1.1rem;font-weight:700;margin:0}.calendar-weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.calendar-weekdays span{color:#94a3b8;font-size:.75rem;font-weight:600;padding:.5rem 0;text-align:center}.calendar-days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background:none;border:2px solid #0000;border-radius:10px;color:#1a1a2e;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;font-weight:500;justify-content:center;position:relative;transition:all .15s ease}.calendar-day:hover:not(.disabled):not(.other-month){background:#0080800d;border-color:teal}.calendar-day.other-month{color:#cbd5e1;cursor:default}.calendar-day.disabled{color:#cbd5e1;cursor:not-allowed}.calendar-day.today{border-color:teal}.calendar-day.selected{background:teal;border-color:teal;color:#fff}.availability-dot{background:teal;border-radius:50%;bottom:4px;height:4px;position:absolute;width:4px}.calendar-day.selected .availability-dot{background:#fff}.time-slots-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;padding:1.25rem}.time-slots-title{border-bottom:1px solid #e5e7eb;color:#1a1a2e;font-size:1rem;font-weight:700;margin:0 0 1rem;padding-bottom:.75rem}.time-slots-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);max-height:320px;overflow-y:auto;padding-right:.5rem}.time-slot-btn{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#1a1a2e;cursor:pointer;font-size:.95rem;font-weight:500;padding:.85rem 1rem;transition:all .15s ease}.time-slot-btn:hover:not(:disabled){background:#0080800d;border-color:teal}.time-slot-btn.selected{background:teal;border-color:teal;color:#fff}.time-slot-btn.unavailable{background:#f8fafc;border-color:#f1f5f9;color:#cbd5e1;cursor:not-allowed}.earliest-dates-section{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1rem;padding-bottom:1rem}.earliest-dates-label{color:#64748b;font-size:.85rem;font-weight:600;white-space:nowrap}.earliest-dates-loading{color:#94a3b8;font-size:.85rem;font-style:italic}.earliest-dates-chips{display:flex;flex-wrap:wrap;gap:8px}.earliest-date-chip{background:#fff;border:1.5px solid teal;border-radius:20px;color:teal;cursor:pointer;font-size:.82rem;font-weight:500;padding:5px 14px;transition:all .15s ease}.earliest-date-chip:hover{background:#00808014}.earliest-date-chip.selected{background:teal;color:#fff}@media (max-width:768px){.inline-calendar-layout{grid-template-columns:1fr}.time-slots-grid{max-height:200px}.reschedule-inline-calendar-layout{grid-template-columns:1fr}.reschedule-time-slots-grid{max-height:200px}}.calendar-subtitle{color:#64748b;font-size:.9rem;margin-bottom:1.5rem}.calendar-booking-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:auto 1fr}.selection-label{color:#1a1a2e;font-size:.9rem;font-weight:600;margin:0 0 1rem}.date-selection{min-width:100px}.date-list{gap:.5rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.date-btn,.date-list{display:flex;flex-direction:column}.date-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;min-width:80px;padding:.75rem 1rem;transition:all .15s ease}.date-btn:hover{border-color:teal}.date-btn.selected{background:teal;border-color:teal;color:#fff}.date-day{font-size:.7rem;letter-spacing:.3px;text-transform:uppercase}.date-num{font-size:1.25rem;font-weight:700;line-height:1.2}.date-month{font-size:.7rem}.date-btn.selected .date-day,.date-btn.selected .date-month,.date-btn.selected .date-num{color:#fff}.time-selection{flex:1 1}.time-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.time-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:.9rem;font-weight:500;padding:.7rem .5rem;transition:all .15s ease}.time-btn:hover:not(:disabled){border-color:teal;color:teal}.time-btn.selected{background:teal;border-color:teal;color:#fff}.time-btn.unavailable{background:#f1f5f9;color:#cbd5e1;cursor:not-allowed;text-decoration:line-through}.booking-summary{background:#f8fafc;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.summary-item{border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.5rem 0}.summary-item:last-child{border-bottom:none}.summary-label{color:#64748b;font-size:.85rem}.summary-value{color:#1a1a2e;font-size:.9rem;font-weight:600;text-align:right}.booking-for-options{display:flex;gap:1rem;margin-top:.5rem}.radio-card{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:.9rem 1rem;transition:all .15s ease}.radio-card:hover{border-color:teal}.radio-card.selected{background:#0080800d;border-color:teal}.radio-card input{display:none}.radio-label{color:#1a1a2e;font-size:.9rem;font-weight:500}.radio-card.selected .radio-label{color:teal;font-weight:600}.family-member-select{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.family-member-select .radio-card{flex:0 1 auto;padding:.7rem 1.25rem}.no-family-msg{color:#64748b;font-size:.9rem;margin-top:.5rem}.no-family-msg button{background:none;border:none;color:teal;cursor:pointer;font-weight:600;text-decoration:underline}.patient-details-box{background:#e0f2f1;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.patient-details-box h4{color:teal;font-size:.9rem;font-weight:600;margin:0 0 .75rem}.patient-detail-row{display:flex;gap:.5rem;padding:.35rem 0}.pd-label{color:#64748b;font-size:.85rem;min-width:60px}.pd-value{color:#1a1a2e;font-size:.9rem;font-weight:500}.booking-confirm-form textarea{background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;color:#1a1a2e;font-family:inherit;font-size:.95rem;line-height:1.5;min-height:120px;padding:1rem;resize:vertical;transition:all .2s ease;width:100%}.booking-confirm-form textarea:focus{background:#fff;border-color:teal;box-shadow:0 0 0 3px #0080801a;outline:none}.booking-confirm-form textarea::placeholder{color:#94a3b8}.required{color:#dc2626}.notes-wrapper{position:relative}.notes-hint{color:#64748b;font-size:.8rem;margin-top:.5rem}.notes-counter{background:#ffffffe6;border-radius:4px;bottom:.75rem;color:#94a3b8;font-size:.75rem;padding:.2rem .5rem;position:absolute;right:.75rem}.notes-counter.warning{color:#f59e0b}.notes-counter.limit{color:#dc2626}.confirm-booking-btn{background:linear-gradient(135deg,teal,#066);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.9rem 1.5rem;transition:all .2s ease;width:100%}.confirm-booking-btn:hover:not(:disabled){box-shadow:0 4px 12px #0080804d;transform:translateY(-1px)}.confirm-booking-btn:disabled{cursor:not-allowed;opacity:.6}.booking-success{padding:2rem;text-align:center}.success-icon{align-items:center;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.success-icon svg{stroke:#10b981;height:40px;width:40px}.booking-success h3{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.booking-success>p{color:#64748b;font-size:1rem;margin:0 0 1.5rem}.success-details{background:#f8fafc;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem;text-align:left}.success-details p{color:#1a1a2e;font-size:.9rem;margin:.35rem 0}.success-details strong{color:#64748b;font-weight:500}.success-actions{display:flex;flex-direction:column;gap:.75rem;max-width:280px;width:100%}.success-action-btn{align-items:center;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.85rem 1.5rem;transition:all .2s ease}.success-action-btn svg{height:18px;width:18px}.success-action-btn.primary{background:teal;border-color:teal;color:#fff}.success-action-btn.primary:hover{background:#066;border-color:#066}.success-action-btn.secondary{background:#fff;border-color:#e2e8f0;color:#64748b}.success-action-btn.secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}@media (max-width:768px){.dashboard-icons{grid-template-columns:repeat(2,1fr)}.family-fields{grid-template-columns:1fr 1fr}.calendar-booking-layout,.provider-profile-details{grid-template-columns:1fr}.date-list{flex-direction:row;max-height:none;overflow-x:auto;padding-bottom:.5rem}.date-btn{min-width:70px}}@media (max-width:480px){.dashboard-page{padding:1.5rem 1rem}.dashboard-welcome{align-items:flex-start;flex-direction:column;gap:1rem}.dashboard-container>.logout-btn{font-size:.78rem;padding:.4rem .75rem;right:1rem}.dashboard-icons{gap:.75rem;grid-template-columns:repeat(2,1fr)}.dash-icon-card{padding:1.25rem .75rem}.dashboard-section{padding:1.5rem 1.25rem}.family-fields,.form-row{grid-template-columns:1fr}.family-row{flex-direction:column}.family-delete-btn{align-self:flex-end;margin-top:0}.booking-steps{padding:0}.step-label{font-size:.65rem}.booking-for-options{flex-direction:column}.time-grid{grid-template-columns:repeat(3,1fr)}}.provider-disclaimer-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.provider-disclaimer-card{background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 4px 24px #0000000f;max-width:560px;padding:2.5rem 2rem;width:100%}.provider-disclaimer-title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.provider-disclaimer-intro{color:#555;font-size:.9rem;line-height:1.6;margin-bottom:1.25rem}.provider-disclaimer-list{margin-bottom:2rem;padding-left:1.25rem}.provider-disclaimer-list li{color:#444;font-size:.9rem;line-height:1.65;margin-bottom:.85rem}.provider-disclaimer-list li:last-child{margin-bottom:0}.provider-disclaimer-actions{display:flex;gap:1rem}.provider-disclaimer-accept{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.9rem;transition:opacity .2s ease,transform .2s ease}.provider-disclaimer-accept:hover{opacity:.92;transform:translateY(-1px)}.provider-disclaimer-cancel{background:#fff;border:1px solid #ddd;border-radius:10px;color:#555;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.9rem;transition:background .2s ease,color .2s ease,transform .2s ease}.provider-disclaimer-cancel:hover{background:#f5f5f5;color:#333;transform:translateY(-1px)}@media (max-width:480px){.provider-disclaimer-page{padding:1.5rem 1rem}.provider-disclaimer-card{padding:2rem 1.5rem}.provider-disclaimer-title{font-size:1.3rem}.provider-disclaimer-actions{flex-direction:column}}.patient-disclaimer-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.patient-disclaimer-card{background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 4px 24px #0000000f;max-width:560px;padding:2.5rem 2rem;width:100%}.patient-disclaimer-title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.patient-disclaimer-intro{color:#555;font-size:.9rem;line-height:1.6;margin-bottom:1.25rem}.patient-disclaimer-list{margin-bottom:2rem;padding-left:1.25rem}.patient-disclaimer-list li{color:#444;font-size:.9rem;line-height:1.65;margin-bottom:.85rem}.patient-disclaimer-list li:last-child{margin-bottom:0}.patient-disclaimer-actions{display:flex;gap:1rem}.patient-disclaimer-accept{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.9rem;transition:opacity .2s ease,transform .2s ease}.patient-disclaimer-accept:hover{opacity:.92;transform:translateY(-1px)}.patient-disclaimer-cancel{background:#fff;border:1px solid #ddd;border-radius:10px;color:#555;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.9rem;transition:background .2s ease,color .2s ease,transform .2s ease}.patient-disclaimer-cancel:hover{background:#f5f5f5;color:#333;transform:translateY(-1px)}@media (max-width:480px){.patient-disclaimer-page{padding:1.5rem 1rem}.patient-disclaimer-card{padding:2rem 1.5rem}.patient-disclaimer-title{font-size:1.3rem}.patient-disclaimer-actions{flex-direction:column}}.provider-registration-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.provider-registration-card{background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 4px 24px #0000000f;max-width:420px;padding:2.5rem 2rem;width:100%}.provider-registration-title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}.provider-registration-subtitle{color:#777;font-size:.9rem;margin-bottom:1.75rem;text-align:center}.provider-registration-form .form-group{margin-bottom:1.25rem}.provider-registration-form label{color:#1a1a2e;display:block;font-size:.8rem;font-weight:600;margin-bottom:.4rem}.provider-registration-form input{background:#fafafa;border:1px solid #ddd;border-radius:10px;color:#1a1a2e;font-size:.95rem;padding:.8rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.provider-registration-form input:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.provider-registration-form input::placeholder{color:#bbb}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:.85rem;margin-bottom:1rem;padding:.6rem .875rem}.provider-registration-submit{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.9rem;transition:opacity .2s ease,transform .2s ease;width:100%}.provider-registration-submit:hover{opacity:.92;transform:translateY(-1px)}.provider-registration-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.provider-registration-footer{color:#777;font-size:.85rem;margin-top:1.5rem;text-align:center}.provider-registration-footer .link{color:#0077b6;cursor:pointer;font-weight:600}.provider-registration-footer .link:hover{text-decoration:underline}@media (max-width:480px){.provider-registration-page{padding:1.5rem 1rem}.provider-registration-card{padding:2rem 1.5rem}.provider-registration-title{font-size:1.3rem}}.provider-profile-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.provider-profile-card{background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 4px 24px #0000000f;max-width:520px;padding:2.5rem 2rem;width:100%}.provider-profile-title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}.provider-profile-subtitle{color:#777;font-size:.9rem;margin-bottom:1.75rem;text-align:center}.provider-profile-form .form-group{margin-bottom:1.25rem}.provider-profile-form label{align-items:center;color:#1a1a2e;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;margin-bottom:.4rem}.provider-profile-form label .required{color:#dc2626;margin-left:2px}.provider-profile-form label .char-count{color:#999;font-size:.7rem;font-weight:500}.provider-profile-form input,.provider-profile-form select,.provider-profile-form textarea{background:#fafafa;border:1px solid #ddd;border-radius:10px;color:#1a1a2e;font-family:inherit;font-size:.95rem;padding:.8rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.provider-profile-form textarea{line-height:1.5;min-height:100px;resize:vertical}.provider-profile-form input:focus,.provider-profile-form select:focus,.provider-profile-form textarea:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.provider-profile-form input::placeholder,.provider-profile-form textarea::placeholder{color:#bbb}.provider-profile-form input.disabled-input{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280;cursor:not-allowed}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-hint{margin-top:.3rem}.form-hint-success{color:#059669}.form-hint-muted{color:#999}.form-hint-warning{color:#d97706}.provider-profile-submit{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.9rem;transition:opacity .2s ease,transform .2s ease;width:100%}.provider-profile-submit:hover{opacity:.92;transform:translateY(-1px)}.provider-profile-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.provider-profile-actions{display:flex;gap:1rem;margin-top:1rem}.provider-profile-actions .provider-profile-submit{flex:1 1;margin-top:0}.provider-profile-back{background:none;border:2px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;font-size:.95rem;font-weight:500;padding:.9rem 1.2rem;transition:all .2s ease;white-space:nowrap}.provider-profile-back:hover{background:#f9fafb;border-color:#d1d5db}.provider-profile-back:disabled{cursor:not-allowed;opacity:.6}.provider-profile-skip{background:none;border:2px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.9rem;transition:all .2s ease}.provider-profile-skip:hover{background:#f9fafb;border-color:#d1d5db}.provider-profile-skip:disabled{cursor:not-allowed;opacity:.6}.pac-container{border:1px solid #ddd;border-radius:10px;box-shadow:0 4px 20px #0000001a;font-family:inherit;margin-top:4px}.pac-item{border-top:1px solid #f0f0f0;cursor:pointer;font-size:.9rem;padding:10px 12px}.pac-item:first-child{border-top:none}.pac-item:hover{background:#f5f9fc}.pac-item-query{color:#1a1a2e;font-size:.9rem}.pac-matched{font-weight:600}.pac-icon{display:none}@media (max-width:480px){.provider-profile-page{align-items:flex-start;padding:1.5rem 1rem}.provider-profile-card{padding:2rem 1.5rem}.provider-profile-title{font-size:1.3rem}.form-row{grid-template-columns:1fr}.provider-profile-actions{flex-direction:column-reverse}.provider-profile-actions .provider-profile-submit,.provider-profile-skip{width:100%}}.provider-dashboard-page{display:flex;flex:1 1;justify-content:center;padding:1.5rem 2rem 2.5rem}.provider-dashboard-container{max-width:1100px;position:relative;width:100%}.provider-dashboard-layout{align-items:flex-start;display:flex;flex-direction:row;gap:1.5rem}.provider-dashboard-sidebar{flex-shrink:0;position:-webkit-sticky;position:sticky;top:5rem;width:120px}.provider-dashboard-content{flex:1 1;min-width:0}.provider-dashboard-welcome{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1.25rem 1.75rem}.dashboard-brand-logo{flex-shrink:0;height:85px;object-fit:contain;width:auto}.welcome-content{text-align:left}.provider-dashboard-title{color:#0f1530;font-family:Comfortaa,cursive;font-size:1.5rem;font-weight:700;margin-bottom:.35rem}.provider-dashboard-subtitle{color:#6b7280;font-size:.95rem}.provider-dashboard-welcome .logout-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;font-weight:500;gap:.5rem;padding:.45rem 1rem;transition:all .15s ease}.provider-dashboard-welcome .logout-btn:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.provider-dashboard-welcome .logout-btn svg{height:16px;width:16px}.provider-dashboard-icons{display:flex;flex-direction:column;gap:.75rem}.provider-icon-card{background:#7d7e99;border:2px solid #0000;border-radius:14px;box-shadow:0 2px 12px #0000000a;cursor:pointer;padding:1rem .5rem;text-align:center;transition:all .25s ease}.provider-icon-card:hover{border-color:#96c43c;box-shadow:4px 8px 24px #0077b62e;transform:translateX(3px)}.provider-icon-card:hover .provider-icon-circle{color:#96c43c}.provider-icon-card.active{background:#5e5f78;border-color:#96c43c;box-shadow:4px 8px 24px #0077b62e;transform:translateX(3px)}.provider-icon-circle{align-items:center;border-radius:10px;display:flex;height:40px;justify-content:center;margin:0 auto .5rem;padding:8px;transition:all .25s ease;width:40px}.provider-icon-card.active .provider-icon-circle,.provider-icon-circle{background:linear-gradient(135deg,#e8f4f8,#dbeafe);color:#0077b6}.provider-icon-circle svg{height:100%;width:100%}.provider-icon-label{color:#fff;display:block;font-size:.7rem;font-weight:600;line-height:1.2}.provider-icon-card.active .provider-icon-label{color:#fff}.provider-dashboard-section{animation:sectionFadeIn .2s ease;background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 20px #0000000a;padding:2rem}.section-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem}.provider-dashboard-section .section-title{color:#1a1a2e;font-size:1.15rem;font-weight:700;margin:0}.section-close{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.section-close:hover{background:#e5e7eb;color:#1a1a2e}.section-close svg{height:18px;width:18px}.provider-dashboard-section .section-empty{color:#999;font-size:.95rem;padding:2rem 0;text-align:center}@keyframes sectionFadeIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.section-form .form-group{margin-bottom:1.25rem}.section-form label{align-items:center;color:#1a1a2e;display:flex;flex-wrap:wrap;font-size:.8rem;font-weight:600;gap:.5rem;margin-bottom:.4rem}.section-form label .required{color:#dc2626}.section-form label .char-count{color:#999;font-size:.7rem;font-weight:500;margin-left:auto}.section-form input,.section-form textarea{background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#1a1a2e;font-family:inherit;font-size:.95rem;padding:.75rem .875rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.section-form textarea{line-height:1.5;min-height:80px;resize:vertical}.slot-interval-toggle{display:flex;gap:.5rem}.slot-interval-btn{background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:.6rem 1rem;transition:all .2s ease}.slot-interval-btn:hover{border-color:#0077b6;color:#0077b6}.slot-interval-btn.active{background:#0077b6;border-color:#0077b6;color:#fff;font-weight:600}.section-form input:focus,.section-form textarea:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.section-form input::placeholder,.section-form textarea::placeholder{color:#bbb}.section-form input.disabled-input{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280;cursor:not-allowed}.private-badge{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:.65rem;font-weight:500;margin-left:auto;padding:.2rem .5rem}.form-divider{background:#eee;height:1px;margin:1.5rem 0 1rem}.form-section-label{color:#6b7280;font-size:.85rem;font-weight:600;margin-bottom:1rem}.section-message{border-radius:8px;font-size:.85rem;margin-bottom:.75rem;padding:.6rem .875rem}.section-message.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669}.section-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.section-submit{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:.5rem;padding:.8rem;transition:opacity .2s ease;width:100%}.section-submit:hover{opacity:.9}.section-submit:disabled{cursor:not-allowed;opacity:.6}.reminder-description{color:#6b7280;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.reminder-textarea{border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:.9rem;line-height:1.6;min-height:140px;padding:.85rem 1rem;resize:vertical;transition:border-color .2s ease;width:100%}.reminder-textarea:focus{border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.reminder-textarea::placeholder{color:#9ca3af}.reminder-auto-note{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:1.25rem;padding:1rem 1.25rem}.reminder-auto-note-title{color:#0369a1;font-size:.8rem;font-weight:600;margin-bottom:.6rem}.reminder-auto-note-preview{background:#fff;border:1px solid #e0f2fe;border-radius:6px;margin-bottom:.6rem;padding:.75rem 1rem}.reminder-auto-note-preview p{color:#374151;font-size:.8rem;line-height:1.6;margin:0}.reminder-auto-note-preview em{color:#0077b6;font-style:normal;font-weight:500}.reminder-auto-note-cta{color:#6b7280;font-size:.8rem;margin:0}.reminder-auto-note-freetext{color:#9ca3af!important;font-style:italic}.reminder-placeholders{margin-bottom:.5rem;margin-top:.75rem}.reminder-placeholders-label{color:#6b7280;display:block;font-size:.8rem;font-weight:600;margin-bottom:.5rem}.reminder-placeholder-tags{display:flex;flex-wrap:wrap;gap:.4rem}.reminder-placeholder-tags code{background:#f0f4ff;border:1px solid #dbeafe;border-radius:6px;color:#0077b6;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;padding:.25rem .6rem}.public-profile-preview{border-top:1px solid #eee;margin-top:2rem;padding-top:1.5rem}.preview-title{color:#1a1a2e;font-size:.9rem;font-weight:700;margin-bottom:1rem}.preview-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem}.preview-name{color:#1a1a2e;font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.preview-item{align-items:flex-start;color:#555;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:.5rem}.preview-item svg{flex-shrink:0;height:16px;margin-top:2px;width:16px}.preview-item a{color:#0077b6;text-decoration:none}.preview-item a:hover{text-decoration:underline}.preview-item-whatsapp svg{color:#25d366}.preview-block{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.75rem}.preview-block-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.35rem;text-transform:uppercase}.preview-block-content{color:#555;font-size:.85rem;line-height:1.5;white-space:pre-wrap}.preview-empty{background:#f9fafb;border:1px dashed #e5e7eb;border-radius:12px;color:#999;font-size:.9rem;padding:1.5rem;text-align:center}.public-profile-banner{animation:sectionFadeIn .2s ease;background:#fff;border:1px solid #00808026;border-radius:16px;box-shadow:0 2px 12px #0080800f;margin-bottom:1rem;padding:1.25rem 1.5rem}.profile-banner-header{align-items:center;border-bottom:1px solid #f0f0f0;color:teal;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;margin-bottom:1rem;padding-bottom:.75rem;text-transform:uppercase}.profile-banner-header svg{stroke:teal;height:16px;width:16px}.collapse-chevron{flex-shrink:0;height:16px;transition:transform .2s ease;width:16px}.collapse-chevron.collapsed{transform:rotate(-90deg)}.edit-profile-btn{align-items:center;background:#00808014;border:none;border-radius:6px;color:teal;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.35rem;margin-left:auto;padding:.4rem .75rem;transition:all .15s ease}.edit-profile-btn:hover{background:#00808026}.edit-profile-btn svg{height:12px;width:12px}.profile-banner-content{display:flex;flex-direction:column;gap:1rem}.profile-main-info{display:flex;flex-direction:column;gap:.35rem}.profile-name{color:#1a1a2e;font-size:1.25rem;font-weight:700;margin:0}.profile-location{align-items:center;color:#64748b;display:flex;font-size:.9rem;gap:.4rem;margin:0}.profile-location svg{stroke:teal;flex-shrink:0;height:14px;width:14px}.profile-empty{color:#cbd5e1;font-style:italic}.profile-contact-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.profile-contact-item{align-items:flex-start;background:#f8fafc;border-radius:8px;display:flex;gap:.6rem;padding:.6rem .75rem}.profile-contact-item svg{stroke:teal;flex-shrink:0;height:16px;margin-top:2px;width:16px}.profile-contact-item>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.contact-label{color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.contact-value{color:#1a1a2e;font-size:.85rem;word-break:break-word}.contact-value.profile-empty{color:#cbd5e1;font-style:italic}.profile-info-section{border-top:1px solid #f0f0f0;padding-top:.75rem}.profile-info-section .info-label{color:#94a3b8;display:block;font-size:.7rem;font-weight:600;letter-spacing:.3px;margin-bottom:.35rem;text-transform:uppercase}.profile-info-section .info-text{color:#475569;font-size:.9rem;line-height:1.5;margin:0}.today-stats-banner{animation:sectionFadeIn .2s ease;background:linear-gradient(135deg,#f0f7ff,#e8f4f8);border:1px solid #0080801a;border-radius:16px;margin-bottom:1.25rem;padding:1rem 1.5rem}.stats-banner-header{align-items:center;color:teal;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.stats-banner-header svg{stroke:teal;height:16px;width:16px}.today-date{color:#64748b;font-size:.85rem;font-weight:500;letter-spacing:0;margin-left:auto;text-transform:none}.stats-banner-grid{display:flex;flex-wrap:wrap;gap:1rem}.stat-card{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:.75rem 1rem}.stat-card-value{color:#1a1a2e;font-size:1.75rem;font-weight:700;line-height:1}.stat-card-label{color:#64748b;font-size:.7rem;letter-spacing:.3px;margin-top:.3rem;text-transform:uppercase}.stats-refresh-btn{align-items:center;background:none;border:none;border-radius:6px;color:teal;cursor:pointer;display:flex;justify-content:center;margin-left:.5rem;padding:.3rem;transition:color .15s ease,background .15s ease}.stats-refresh-btn:hover{background:#0080801f}.stats-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.stats-refresh-btn svg{height:15px;width:15px}.stats-refresh-btn.refreshing svg{animation:spinRefresh .8s linear infinite}@keyframes spinRefresh{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.stat-card.next-slot{flex:1 1;padding:.75rem 1rem}.next-slot-details{align-items:baseline;display:flex;gap:.5rem;margin-top:.25rem}.next-slot-date{color:#1a1a2e;font-size:.85rem;font-weight:600}.next-slot-time{color:teal;font-size:.85rem;font-weight:700}.next-slot-none{color:#9ca3af;font-size:.8rem;font-style:italic;margin-top:.25rem}.calendar-container{animation:sectionFadeIn .2s ease;background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 20px #0000000a;padding:1.5rem}.calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.calendar-title{color:#1a1a2e;font-size:1.15rem;font-weight:700;margin:0}.calendar-nav{align-items:center;display:flex;gap:.5rem}.calendar-nav-btn{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.calendar-nav-btn:hover{background:#e5e7eb;color:#1a1a2e}.calendar-nav-btn svg{height:18px;width:18px}.calendar-week-picker{position:relative}.calendar-week-label{color:#1a1a2e;font-size:.9rem;font-weight:600;min-width:180px;text-align:center}.calendar-week-label.clickable{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;justify-content:center;padding:.4rem .75rem;transition:all .2s ease}.calendar-week-label.clickable:hover{background:#f3f4f6}.calendar-picker-icon{color:#6b7280;height:16px;width:16px}.date-picker-dropdown{background:#fff;border-radius:10px;box-shadow:0 4px 20px #00000026;min-width:200px;padding:1rem;top:calc(100% + 8px);z-index:100}.date-picker-dropdown,.date-picker-dropdown:before{left:50%;position:absolute;transform:translateX(-50%)}.date-picker-dropdown:before{border-bottom:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;content:"";top:-6px}.date-picker-label{color:#6b7280;display:block;font-size:.8rem;font-weight:600;margin-bottom:.5rem}.date-picker-input{border:1px solid #e5e7eb;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:.9rem;padding:.6rem .75rem;width:100%}.date-picker-input:focus{border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.calendar-today-btn{background:#0077b6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;margin-left:.5rem;padding:.4rem .875rem;transition:all .2s ease}.calendar-today-btn:hover{background:#005f8a}.calendar-grid-wrapper{margin:0 -.5rem;overflow-x:auto;padding:0 .5rem}.calendar-grid{border:1px solid #e5e7eb;border-radius:8px;display:grid;grid-template-columns:60px repeat(6,1fr);min-width:650px;overflow:hidden;position:relative}.current-time-indicator{background:#ef4444;height:2px;left:60px;pointer-events:none;position:absolute;right:0;z-index:5}.current-time-indicator:before{background:#ef4444;border-radius:50%;content:"";height:10px;left:-5px;position:absolute;top:50%;transform:translateY(-50%);width:10px}.calendar-corner{left:0;position:-webkit-sticky;position:sticky;z-index:2}.calendar-corner,.calendar-day-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb}.calendar-day-header{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:.75rem .25rem}.calendar-day-header:last-child{border-right:none}.calendar-day-header.today{background:#0077b6}.calendar-day-header.today .calendar-day-date,.calendar-day-header.today .calendar-day-name{color:#fff}.calendar-day-name{color:#6b7280;font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.calendar-day-date{color:#1a1a2e;font-size:1.1rem;font-weight:700;margin-top:2px}.calendar-time-label{align-items:center;background:#f9fafb;color:#6b7280;font-size:.7rem;font-weight:500;justify-content:center;left:0;padding:.5rem .25rem;position:-webkit-sticky;position:sticky;z-index:1}.calendar-cell,.calendar-time-label{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;display:flex}.calendar-cell{align-items:stretch;background:#fff;cursor:pointer;min-height:36px;position:relative;transition:background .15s ease}.calendar-cell:hover{background:#f5f9fc}.calendar-cell:nth-child(7n+1){border-right:1px solid #e5e7eb}.calendar-cell.today-column{background:#0077b60a}.calendar-cell.today-column:hover{background:#0077b614}.calendar-grid>.calendar-cell:nth-last-child(-n+6),.calendar-grid>.calendar-time-label:last-of-type{border-bottom:none}.calendar-grid>.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.has-booking{background:#fff;padding:0 6px 0 0}.calendar-cell.has-booking:hover{background:#f5f9fc}.calendar-cell.today-column.has-booking{background:#0077b60a}.calendar-cell.today-column.has-booking:hover{background:#0077b614}.calendar-cell.has-booking:hover .booking-chip{filter:brightness(1.08)}.booking-chip{align-items:center;background:#8ecfa0;border-radius:0;color:#fff;display:flex;flex:1 1;font-size:.65rem;font-weight:600;height:100%;margin:0;min-height:36px;overflow:hidden;padding:0 .35rem;text-overflow:ellipsis;white-space:nowrap;width:auto}.calendar-cell.has-booking.booking-blocked:not(.booking-last),.calendar-cell.has-booking:not(.booking-last){border-bottom-color:#8ecfa0}.booking-chip.booking-first{align-items:flex-start;border-radius:4px 4px 0 0;padding-top:.3rem}.booking-chip.booking-last{border-radius:0 0 4px 4px}.booking-chip.booking-first.booking-last{align-items:center;border-radius:4px;padding-top:0}.booking-modal-overlay{align-items:center;animation:modalFadeIn .2s ease;background:#0f1530b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.booking-modal{animation:modalSlideIn .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:420px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.booking-modal-title{color:#1a1a2e;font-size:1.15rem;font-weight:700;margin:0}.booking-modal-close{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.booking-modal-close:hover{background:#e5e7eb;color:#1a1a2e}.booking-modal-close svg{height:18px;width:18px}.booking-modal-slot-info{align-items:center;background:#f9fafb;border-bottom:1px solid #eee;display:flex;gap:.75rem;padding:1rem 1.5rem}.booking-modal-slot-info svg{color:#0077b6;flex-shrink:0;height:24px;width:24px}.booking-modal-slot-info .slot-date{color:#1a1a2e;font-size:.95rem;font-weight:600;margin:0}.booking-modal-slot-info .slot-time{color:#6b7280;font-size:.85rem;margin:.15rem 0 0}.blockout-override-warning{align-items:center;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#92400e;display:flex;font-size:.85rem;gap:.6rem;margin:0 1.5rem .25rem;padding:.6rem .9rem}.blockout-override-warning svg{stroke:#d97706;flex-shrink:0;height:16px;width:16px}.booking-modal-form{padding:1.5rem}.booking-modal-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.booking-modal-form .form-group{margin-bottom:1.25rem}.booking-modal-form label{align-items:center;color:#1a1a2e;display:flex;font-size:.8rem;font-weight:600;margin-bottom:.4rem}.booking-modal-form label .required{color:#dc2626}.booking-modal-form label .char-count{color:#999;font-size:.7rem;font-weight:500;margin-left:auto}.booking-modal-form label .char-count.warning{color:#d97706}.booking-modal-form label .char-count.limit{color:#dc2626}.booking-modal-form input,.booking-modal-form select,.booking-modal-form textarea{background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#1a1a2e;font-family:inherit;font-size:.95rem;padding:.75rem .875rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.booking-modal-form select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236b7280' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.5rem}.booking-modal-form textarea{line-height:1.5;min-height:80px;resize:vertical}.booking-modal-form input:focus,.booking-modal-form select:focus,.booking-modal-form textarea:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.booking-modal-form input::placeholder,.booking-modal-form textarea::placeholder{color:#bbb}.booking-modal-submit{background:linear-gradient(135deg,#96c43c,#7ab32d);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:.5rem;padding:.9rem;transition:opacity .2s ease,transform .1s ease;width:100%}.booking-modal-submit:hover{opacity:.9}.booking-modal-submit:active{transform:scale(.98)}.booking-modal-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.booking-type-modal{max-width:300px}.booking-type-prompt{color:#6b7280;font-size:.9rem;margin:.25rem 0 1.25rem;text-align:center}.slot-time{color:#6b7280;font-size:.8rem;margin:0}.booking-type-options{display:flex;gap:1rem;padding:.25rem 0 .5rem}.booking-type-btn{align-items:center;background:none;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.8rem;font-weight:500;gap:.4rem;padding:.75rem;transition:background .15s ease,color .15s ease,border-color .15s ease}.booking-type-btn svg{height:22px;width:22px}.booking-type-btn.patient{background:#f0f9f4;border-color:#8ecfa0;color:#2d6a4f}.booking-type-btn.patient:hover{background:#8ecfa0;color:#fff}.booking-type-btn.blockout{background:#f5f6f7;border-color:#b0b8c1;color:#4b5563}.booking-type-btn.blockout:hover{background:#b0b8c1;color:#fff}.calendar-cell.is-past{background:#0000000a;cursor:not-allowed;opacity:.5;pointer-events:none}.calendar-cell.is-past.has-booking{cursor:pointer;opacity:.7;pointer-events:auto}.calendar-cell.is-past.has-booking:hover{opacity:.85}.calendar-cell.is-past.has-booking .booking-chip{opacity:.8}.calendar-cell.is-blocked{background:#9ca3af1f;cursor:pointer}.calendar-cell.is-blocked:hover{background:#9ca3af33}.calendar-cell.is-blocked.today-column{background:#9ca3af26}.blocked-indicator{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.blocked-indicator svg{color:#9ca3af;height:16px;opacity:.7;width:16px}.calendar-cell.is-blocked.has-blockout{background:#0000;padding:0 6px 0 0}.calendar-cell.is-blocked.has-blockout:hover{background:#f5f9fc}.calendar-cell.is-blocked.has-blockout:hover .blockout-chip{filter:brightness(1.08)}.calendar-cell.is-blocked.has-blockout:not(.blockout-last-slot){border-bottom-color:#b0b8c1}.blockout-chip{align-items:center;background:#b0b8c1;border-radius:0;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.65rem;font-weight:600;height:100%;margin:0;min-height:36px;overflow:hidden;padding:0 .35rem;text-overflow:ellipsis;white-space:nowrap;width:auto}.blockout-chip.blockout-first{align-items:flex-start;border-radius:4px 4px 0 0;padding-top:.3rem}.blockout-chip.blockout-last{border-radius:0 0 4px 4px}.blockout-chip.blockout-first.blockout-last{align-items:center;border-radius:4px;padding-top:0}.calendar-cell.has-booking.has-blockout{padding:0}.calendar-cell.has-booking.has-blockout:not(.booking-last){border-bottom-color:#e5e7eb}.calendar-cell.has-booking.has-blockout .blockout-chip{border-right:1px solid #ffffff59;flex:1 1;width:auto}.calendar-cell.has-booking.has-blockout .booking-chip{flex:1 1}.calendar-cell.has-booking.has-blockout .blockout-chip.blockout-first{border-radius:4px 0 0 0}.calendar-cell.has-booking.has-blockout .blockout-chip.blockout-last{border-radius:0 0 0 4px}.calendar-cell.has-booking.has-blockout .blockout-chip.blockout-first.blockout-last{border-radius:4px 0 0 4px}.calendar-cell.has-booking.has-blockout .blockout-chip:not(.blockout-first):not(.blockout-last){border-radius:0}.calendar-cell.has-booking.has-blockout .booking-chip.booking-first{border-radius:0 4px 0 0}.calendar-cell.has-booking.has-blockout .booking-chip.booking-last{border-radius:0 0 4px 0}.calendar-cell.has-booking.has-blockout .booking-chip.booking-first.booking-last{border-radius:0 4px 4px 0}.calendar-cell.has-booking.has-blockout .booking-chip:not(.booking-first):not(.booking-last){border-radius:0}.calendar-cell.has-conflict{padding:0}.calendar-cell.has-conflict:not(.booking-last){border-bottom-color:#e5e7eb}.calendar-cell.has-conflict .booking-chip{flex:1 1}.calendar-cell.has-conflict .booking-chip--conflict{background:#3d8f58}.calendar-cell.has-conflict .booking-chip:first-child{border-right:1px solid #fff6}.calendar-cell.has-conflict .booking-chip:not(.booking-chip--conflict).booking-first{border-radius:4px 0 0 0}.calendar-cell.has-conflict .booking-chip:not(.booking-chip--conflict).booking-last{border-radius:0 0 0 4px}.calendar-cell.has-conflict .booking-chip:not(.booking-chip--conflict).booking-first.booking-last{border-radius:4px 0 0 4px}.calendar-cell.has-conflict .booking-chip:not(.booking-chip--conflict):not(.booking-first):not(.booking-last){border-radius:0}.calendar-cell.has-conflict .booking-chip--conflict.booking-first{border-radius:0 4px 0 0}.calendar-cell.has-conflict .booking-chip--conflict.booking-last{border-radius:0 0 4px 0}.calendar-cell.has-conflict .booking-chip--conflict.booking-first.booking-last{border-radius:0 4px 4px 0}.calendar-cell.has-conflict .booking-chip--conflict:not(.booking-first):not(.booking-last){border-radius:0}.calendar-actions{border-top:1px solid #eee;display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem}.add-blockout-btn{align-items:center;background:#fff;border:1px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;padding:.6rem 1rem;transition:all .2s ease}.add-blockout-btn:hover{background:#dc2626;color:#fff}.add-blockout-btn svg{height:16px;width:16px}.blockout-banner{animation:sectionFadeIn .2s ease;background:#b0b8c1;border:none;border-radius:16px;box-shadow:0 2px 12px #0000001f;margin-bottom:1rem;padding:1.25rem 1.5rem}.blockout-banner-header{align-items:center;color:#dc2626;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;text-transform:uppercase}.blockout-banner-header svg{stroke:#dc2626;height:16px;width:16px}.blockout-add-btn{align-items:center;background:#ffffff4d;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.35rem;margin-left:auto;padding:.4rem .75rem;transition:all .15s ease}.blockout-add-btn:hover{background:#ffffff80}.blockout-add-btn svg{height:14px;width:14px}.blockout-banner-content{border-top:1px solid #fff6;margin-top:.75rem;padding-top:.75rem}.blockout-list{display:flex;flex-direction:column;gap:.75rem}.blockout-list-item{align-items:flex-start;background:#ffffff40;border:1px solid #fff6;border-radius:10px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.blockout-item-info{flex:1 1;min-width:0}.blockout-item-dates{align-items:center;color:#dc2626;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.35rem}.blockout-item-dates svg{color:#dc2626;flex-shrink:0;height:16px;width:16px}.blockout-item-details{color:#dc2626;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.5rem 1rem;margin-bottom:.35rem}.blockout-item-days,.blockout-item-time{align-items:center;display:inline-flex}.blockout-item-reason{border-top:1px solid #dc262640;color:#dc2626;font-size:.85rem;margin:.5rem 0 0;padding-top:.5rem}.blockout-item-actions{display:flex;flex-shrink:0;gap:.5rem}.blockout-action-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.blockout-action-btn svg{height:16px;width:16px}.blockout-action-btn.edit{color:#0077b6}.blockout-action-btn.edit:hover{background:#0077b6;border-color:#0077b6;color:#fff}.blockout-action-btn.delete{color:#dc2626}.blockout-action-btn.delete:hover{background:#dc2626;border-color:#dc2626;color:#fff}.blockout-modal .booking-modal-form input[type=date]{cursor:pointer}.blockout-submit{background:linear-gradient(135deg,#dc2626,#b91c1c)!important}.days-selector{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.day-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem .875rem;transition:all .2s ease}.day-btn:hover{background:#e5e7eb;color:#1a1a2e}.day-btn.selected{background:#dc2626;border-color:#dc2626;color:#fff}.form-error{color:#dc2626;font-size:.75rem;margin:.35rem 0 0}.form-hint{color:#9ca3af;font-size:.75rem;margin:.15rem 0 .35rem}.phone-input-group{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;display:flex;overflow:hidden}.phone-input-group:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.phone-prefix{background:#f3f4f6;border-right:1px solid #d1d5db;color:#374151;font-size:.95rem;height:44px;line-height:44px;padding:0 10px;white-space:nowrap}.phone-input-group input{border:none!important;border-radius:0!important;box-shadow:none!important;flex:1 1;min-width:0}.blockout-view-content{padding:1.5rem}.blockout-view-item{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.blockout-view-item:last-child{margin-bottom:0}.blockout-view-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.blockout-view-value{color:#1a1a2e;font-size:.95rem}.blockout-view-actions{border-top:1px solid #eee;display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem}.blockout-view-btn{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .2s ease}.blockout-view-btn svg{height:16px;width:16px}.blockout-view-btn.edit{background:#f3f4f6;border:1px solid #e5e7eb;color:#1a1a2e}.blockout-view-btn.edit:hover{background:#0077b6;border-color:#0077b6;color:#fff}.blockout-view-btn.delete{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.blockout-view-btn.delete:hover{background:#dc2626;border-color:#dc2626;color:#fff}.blockout-conflicts{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-top:.5rem;padding:.75rem 1rem}.blockout-conflicts-header{align-items:center;color:#92400e;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.blockout-conflicts-header svg{stroke:#f59e0b;flex-shrink:0}.blockout-conflicts-list{display:flex;flex-direction:column;gap:.4rem;max-height:160px;overflow-y:auto}.blockout-conflict-item{align-items:center;background:#fffbeb;border-radius:6px;display:flex;font-size:.8rem;justify-content:space-between;padding:.4rem .6rem}.blockout-conflict-patient{color:#1a1a2e;font-weight:600}.blockout-conflict-details{color:#6b7280;font-size:.75rem}.patient-search-container{margin-bottom:1.25rem}.patient-search-wrapper{align-items:center;display:flex;position:relative}.patient-search-icon{color:#9ca3af;height:18px;left:.875rem;pointer-events:none;position:absolute;width:18px}.patient-search-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;color:#1a1a2e;font-family:inherit;font-size:.95rem;padding:.75rem 2.5rem .75rem 2.75rem;transition:all .2s ease;width:100%}.patient-search-input:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.patient-search-input::placeholder{color:#9ca3af}.patient-search-clear{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:.5rem;transition:all .2s ease;width:28px}.patient-search-clear:hover{background:#e5e7eb;color:#1a1a2e}.patient-search-clear svg{height:16px;width:16px}.patient-list{display:flex;flex-direction:column;gap:.75rem}.patient-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.patient-card:hover{border-color:#d1d5db}.patient-header{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:background .2s ease}.patient-header:hover{background:#f3f4f6}.patient-header.expanded{background:#f3f4f6;border-bottom:1px solid #e5e7eb}.patient-avatar{align-items:center;background:linear-gradient(135deg,#0077b6,#00b4d8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:42px;justify-content:center;text-transform:uppercase;width:42px}.patient-avatar.large{font-size:1rem;height:56px;width:56px}.patient-info{flex:1 1;min-width:0}.patient-name{color:#1a1a2e;font-size:.95rem;font-weight:600;margin:0 0 .15rem}.patient-phone{color:#6b7280;font-size:.8rem;margin:0}.patient-booking-count{align-items:center;display:flex;flex-direction:column;gap:.15rem;margin-right:.5rem}.booking-count-badge{align-items:center;background:#96c43c;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:24px;justify-content:center;width:24px}.booking-count-label{color:#6b7280;font-size:.65rem}.patient-expand-icon{color:#9ca3af;flex-shrink:0;height:20px;transition:transform .2s ease;width:20px}.patient-header.expanded .patient-expand-icon{transform:rotate(180deg)}.patient-bookings{background:#fff;padding:.5rem}.patient-booking-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:1rem;margin-bottom:.5rem;padding:.75rem 1rem;transition:all .2s ease}.patient-booking-item:last-child{margin-bottom:0}.patient-booking-item:hover{background:#f3f4f6;border-color:#0077b6}.booking-item-date,.booking-item-time{align-items:center;color:#1a1a2e;display:flex;font-size:.85rem;gap:.4rem}.booking-item-date svg,.booking-item-time svg{color:#6b7280;height:14px;width:14px}.booking-item-date{flex:1 1}.booking-item-time{min-width:110px}.booking-item-arrow{color:#9ca3af;flex-shrink:0;height:16px;width:16px}.booking-view-content{padding:1.5rem}.booking-view-patient{align-items:center;border-bottom:1px solid #eee;display:flex;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem}.booking-view-name{color:#1a1a2e;font-size:1.1rem;font-weight:700;margin:0 0 .1rem}.booking-view-age{color:#0077b6;font-size:.8rem;font-weight:500;margin:0 0 .15rem}.booking-view-phone{align-items:center;color:#6b7280;display:flex;font-size:.9rem;gap:.4rem;margin:0}.copy-phone-btn{align-items:center;background:none;border:1px solid #d1d5db;border-radius:5px;color:#6b7280;cursor:pointer;display:inline-flex;justify-content:center;padding:.2rem;transition:all .15s ease}.copy-phone-btn:hover{background:#f3f4f6;border-color:teal;color:teal}.copy-phone-btn svg{height:14px;width:14px}.copy-phone-btn .check-icon,.copy-phone-btn.copied .copy-icon{display:none}.copy-phone-btn.copied .check-icon{color:#22c55e;display:block}.copy-phone-btn.copied{background:#22c55e14;border-color:#22c55e}.booking-view-details{display:flex;flex-direction:column;gap:1rem}.booking-view-item{display:flex;flex-direction:column;gap:.25rem}.booking-view-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.booking-view-value{color:#1a1a2e;font-size:.95rem}.booking-view-value.notes{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;line-height:1.5;padding:.75rem;white-space:pre-wrap}.booking-reminder-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:0 1.5rem;padding:1rem}.booking-reminder-header{align-items:center;color:#475569;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-bottom:.6rem}.booking-reminder-header svg{color:#0077b6;height:16px;width:16px}.booking-reminder-preview{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:.82rem;line-height:1.6;margin-bottom:.6rem;max-height:150px;overflow-y:auto;padding:.75rem;white-space:pre-wrap}.booking-reminder-copy{align-items:center;background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:.4rem;padding:.4rem .85rem;transition:all .2s ease}.booking-reminder-copy:hover{opacity:.9}.booking-reminder-copy.copied{background:linear-gradient(135deg,#059669,#34d399)}.booking-reminder-copy svg{height:14px;width:14px}.booking-view-actions{border-top:1px solid #eee;display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem}.booking-view-btn.close-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#1a1a2e;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.75rem;transition:all .2s ease}.booking-view-btn.close-btn:hover{background:#e5e7eb}.patient-booking-actions{display:flex;gap:.75rem}.patient-booking-actions .calendar-booking-btn{flex:1 1}.calendar-booking-modal{max-width:480px}.calendar-booking-modal.reschedule-mode{max-width:780px}.past-booking-badge{align-items:center;background:#0000000a;border-bottom:1px solid #eee;color:#6b7280;display:flex;font-size:.78rem;font-weight:500;gap:.5rem;padding:.5rem 1.5rem}.past-booking-badge svg{flex-shrink:0;height:14px;width:14px}.calendar-booking-actions{border-top:1px solid #eee;display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem}.calendar-booking-btn{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .2s ease}.calendar-booking-btn svg{height:18px;width:18px}.calendar-booking-btn.reschedule{background:#f0f9ff;border:1px solid #0077b6;color:#0077b6}.calendar-booking-btn.reschedule:hover{background:#0077b6;color:#fff}.calendar-booking-btn.cancel{background:#fef2f2;border:1px solid #dc2626;color:#dc2626}.calendar-booking-btn.cancel:hover{background:#dc2626;color:#fff}.calendar-booking-btn.back{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.calendar-booking-btn.back:hover{background:#e5e7eb;color:#1a1a2e}.calendar-booking-btn.confirm-cancel{background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;color:#fff}.calendar-booking-btn.confirm-cancel:hover{opacity:.9}.calendar-booking-btn.confirm-cancel:disabled{cursor:not-allowed;opacity:.5}.calendar-booking-btn.confirm-reschedule{background:linear-gradient(135deg,#0077b6,#005f8a);border:none;color:#fff}.calendar-booking-btn.confirm-reschedule:hover{opacity:.9}.calendar-booking-btn.confirm-reschedule:disabled{cursor:not-allowed;opacity:.5}.cancel-warning{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.cancel-warning svg{color:#dc2626;flex-shrink:0;height:24px;width:24px}.cancel-warning p{color:#991b1b;font-size:.9rem;line-height:1.5;margin:0}.cancel-booking-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:1rem;padding:1rem}.cancel-booking-summary p{color:#1a1a2e;font-size:.9rem;margin:0 0 .25rem}.cancel-booking-summary p:last-child{margin-bottom:0}.cancel-actions{background:#fef2f2}.reschedule-content{padding:1.5rem}.reschedule-current-booking{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;margin-bottom:1.25rem;padding:1rem}.reschedule-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.reschedule-info{color:#1a1a2e;font-size:.9rem;line-height:1.5;margin:0}.reschedule-calendar-section{margin-bottom:1rem}.reschedule-calendar-nav{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.reschedule-inline-calendar-container{background:#f8fafa;border-radius:12px;margin-top:.75rem;padding:1rem}.reschedule-inline-calendar-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.reschedule-monthly-calendar{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000a;padding:1rem}.reschedule-month-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.reschedule-month-title{color:#1a1a2e;font-size:1rem;font-weight:700;margin:0}.reschedule-calendar-weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:.35rem}.reschedule-calendar-weekdays span{color:#94a3b8;font-size:.7rem;font-weight:600;padding:.35rem 0;text-align:center}.reschedule-calendar-days{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr)}.reschedule-cal-day{align-items:center;aspect-ratio:1;background:none;border:2px solid #0000;border-radius:8px;color:#1a1a2e;cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;font-weight:500;justify-content:center;padding:0;position:relative;transition:all .15s ease}.reschedule-cal-day:hover:not(.disabled):not(.other-month){background:#0080800d;border-color:teal}.reschedule-cal-day.other-month{color:#cbd5e1;cursor:default}.reschedule-cal-day.disabled{color:#cbd5e1;cursor:not-allowed}.reschedule-cal-day.today{border-color:teal}.reschedule-cal-day.selected{background:teal;border-color:teal;color:#fff}.reschedule-availability-dot{background:teal;border-radius:50%;bottom:3px;height:4px;position:absolute;width:4px}.reschedule-cal-day.selected .reschedule-availability-dot{background:#fff}.reschedule-time-slots-panel{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;padding:1rem}.reschedule-time-slots-title{border-bottom:1px solid #e5e7eb;color:#1a1a2e;font-size:.95rem;font-weight:700;margin:0 0 .75rem;padding-bottom:.6rem}.reschedule-time-slots-grid{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:repeat(2,1fr);max-height:280px;overflow-y:auto;padding-right:.25rem}.reschedule-time-slot-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:.9rem;font-weight:500;padding:.7rem .75rem;transition:all .15s ease}.reschedule-time-slot-btn:hover:not(:disabled){background:#0080800d;border-color:teal}.reschedule-time-slot-btn.selected{background:teal;border-color:teal;color:#fff}.reschedule-time-slot-btn.unavailable{background:#f8fafc;border-color:#f1f5f9;color:#cbd5e1;cursor:not-allowed}.reschedule-selected-info{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#059669;display:flex;font-size:.85rem;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem}.reschedule-selected-info svg{flex-shrink:0;height:18px;width:18px}.reschedule-reason-group{margin-top:1rem}.reschedule-reason-group label{color:#1a1a2e;display:block;font-size:.8rem;font-weight:600;margin-bottom:.4rem}.reschedule-reason-group label .required{color:#dc2626}.reschedule-reason-group textarea{background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#1a1a2e;font-family:inherit;font-size:.9rem;min-height:60px;padding:.75rem .875rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.reschedule-reason-group textarea:focus{background:#fff;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a;outline:none}.reschedule-reason-group textarea::placeholder{color:#bbb}.reschedule-actions{background:#f0f9ff}.booking-view-item.rescheduled-info{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.75rem}.booking-view-value.reschedule-reason{color:#92400e;font-size:.85rem;font-style:italic;margin-top:.25rem}.calendar-cell.has-booking{cursor:pointer}@media (max-width:768px){.provider-dashboard-layout{flex-direction:column;gap:1rem}.provider-dashboard-sidebar{position:static;width:100%}.provider-dashboard-icons{flex-direction:row;flex-wrap:wrap;gap:.75rem}.provider-icon-card{flex-basis:calc(33% - 0.5rem);flex-grow:1;flex-shrink:1;min-width:90px}}@media (max-width:480px){.provider-dashboard-page{padding:1.5rem 1rem}.provider-dashboard-welcome{flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem}.provider-dashboard-welcome .logout-btn{font-size:.78rem;margin-left:auto;padding:.4rem .75rem}.provider-icon-card{padding:.9rem .5rem}.provider-dashboard-section{padding:1.5rem 1.25rem}.section-form label{align-items:flex-start;flex-direction:column;gap:.25rem}.private-badge,.section-form label .char-count{margin-left:0}.blockout-banner,.public-profile-banner{padding:1rem}.profile-banner-header{flex-wrap:wrap}.edit-profile-btn{justify-content:center;margin-left:0;margin-top:.5rem;width:100%}.profile-contact-grid{grid-template-columns:1fr}.today-stats-banner{padding:1rem}.stats-banner-header{flex-wrap:wrap}.today-date{margin-left:0;margin-top:.25rem;width:100%}.stats-banner-grid{flex-direction:column}.stat-card{min-width:70px;padding:.6rem .75rem}.stat-card-value{font-size:1.4rem}.stat-card.next-slot{flex:initial}.calendar-container{padding:1rem}.calendar-header{align-items:stretch;flex-direction:column}.calendar-nav{justify-content:center}.calendar-week-label{min-width:auto}.blockout-list-item{flex-direction:column;gap:.75rem}.blockout-item-actions{align-self:flex-end}.days-selector{gap:.35rem}.day-btn{font-size:.75rem;padding:.4rem .65rem}.blockout-view-actions{flex-direction:column}.patient-header{flex-wrap:wrap}.patient-booking-count{flex-direction:row;gap:.35rem}.patient-booking-item{flex-wrap:wrap;gap:.5rem 1rem}.booking-item-date{flex:none;width:100%}.booking-item-time{flex:1 1;min-width:auto}.booking-item-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.patient-booking-item{padding-right:2.5rem;position:relative}.calendar-booking-actions{flex-direction:column}.calendar-booking-modal.reschedule-mode{max-width:100%}.reschedule-inline-calendar-layout{grid-template-columns:1fr}.reschedule-time-slots-grid{max-height:200px}}.calendar-view-link-block{background:#f0f4ff;border:1px solid #c7d4f5;border-radius:10px;margin:0 0 1.5rem;padding:1.25rem 1.5rem}.calendar-view-link-header{align-items:center;color:#1a1a2e;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;margin-bottom:.4rem}.calendar-view-link-desc{color:#666;font-size:.82rem;line-height:1.5;margin:0 0 .9rem}.calendar-view-link-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.calendar-view-url{background:#fff;border:1px solid #c7d4f5;border-radius:6px;color:#3a3a6e;flex:1 1;font-family:monospace;font-size:.82rem;min-width:0;padding:.45rem .75rem;word-break:break-all}.calendar-view-copy-btn{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.82rem;font-weight:600;padding:.45rem 1rem;transition:background .15s;white-space:nowrap}.calendar-view-copy-btn:hover{background:#2d2d5e}.calendar-view-link-inline{align-items:center;display:flex;gap:.4rem;margin-left:auto}.calendar-view-link-inline-label{color:#555;font-size:.78rem;font-weight:600;white-space:nowrap}.calendar-view-copy-icon-btn{align-items:center;background:none;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:.25rem;transition:background .15s,color .15s}.calendar-view-copy-icon-btn:hover{background:#dde6ff;color:#2d2d5e}.provider-info-modal{animation:modalSlideIn .25s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:88vh;max-width:560px;overflow-y:auto;width:100%}.provider-info-modal-body{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem 1.75rem 2rem}.provider-info-section{border-left:3px solid #0077b6;padding-left:1rem}.provider-info-heading{color:#1a1a2e;font-size:.95rem;font-weight:700;margin:0 0 .5rem}.provider-info-subheading{color:#444;font-size:.85rem;font-weight:600;margin:.6rem 0 .4rem}.provider-info-list{display:flex;flex-direction:column;gap:.4rem;margin:0;padding-left:1.1rem}.provider-info-list li{color:#555;font-size:.85rem;line-height:1.6}.provider-info-responsibility{background:#fef9f9;border-left-color:#dc2626;border-radius:0 8px 8px 0;padding:.85rem 1rem}.provider-info-responsibility .provider-info-heading{color:#b91c1c}.provider-info-responsibility-text{color:#555;font-size:.85rem;line-height:1.65;margin:0}@media (max-width:600px){.provider-info-modal{max-height:92vh}.provider-info-modal-body{padding:1.25rem 1.25rem 1.75rem}}.cancel-sub-block{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.cancel-sub-trigger{background:none;border:1px solid #dc2626;border-radius:6px;color:#dc2626;cursor:pointer;font-size:.875rem;padding:.6rem 1.2rem;transition:background .15s,color .15s}.cancel-sub-trigger:hover{background:#dc2626;color:#fff}.cancel-sub-confirmed{color:#16a34a;font-size:.875rem;margin-bottom:.75rem}.cancel-sub-form{display:flex;flex-direction:column;gap:.75rem}.cancel-sub-title{color:#dc2626;font-size:.95rem;font-weight:600;margin:0}.cancel-sub-desc{color:#555;font-size:.85rem;margin:0}.cancel-sub-error{color:#dc2626;font-size:.85rem;margin:0}.cancel-sub-reasons{display:flex;flex-direction:column;gap:.5rem}.cancel-sub-reason-option{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.6rem;padding:.6rem .85rem;transition:all .15s ease}.cancel-sub-reason-option:hover{background:#fff5f5;border-color:#dc2626;color:#dc2626}.cancel-sub-reason-option.selected{background:#fef2f2;border-color:#dc2626;color:#dc2626;font-weight:500}.cancel-sub-reason-option input[type=radio]{accent-color:#dc2626;cursor:pointer;flex-shrink:0;height:15px;width:15px}.cancel-sub-actions{display:flex;gap:.75rem;margin-top:.25rem}.cancel-sub-back{background:none;border:1px solid #6b7280;border-radius:6px;color:#374151;cursor:pointer;flex:1 1;font-size:.875rem;padding:.65rem;transition:background .15s}.cancel-sub-back:hover{background:#f3f4f6}.cancel-sub-submit{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.875rem;padding:.65rem;transition:opacity .15s}.cancel-sub-submit:hover{opacity:.88}.cancel-sub-submit:disabled{cursor:not-allowed;opacity:.5}.cv-wrapper{align-items:flex-start;background:#f8f9fa;display:flex;justify-content:center;min-height:80vh;padding:2rem 1rem}.cv-container{background:#fff;border-radius:12px;box-shadow:0 2px 16px #0000001a;max-width:860px;overflow:hidden;width:100%}.cv-header{background:#0f1530;border-bottom:4px solid #96c43c;color:#fff;padding:2rem 2.5rem}.cv-header-top{align-items:center;display:flex;gap:1rem;margin-bottom:.4rem}.cv-logo{flex-shrink:0;height:80px;width:auto}.cv-practice-name{font-size:1.8rem;font-weight:700;letter-spacing:.02em;margin:0}.cv-date{font-size:1rem;font-weight:400;margin:0;opacity:.8}.cv-body{padding:2rem 2.5rem}.cv-empty{color:#888;font-size:1.1rem;padding:3rem 0;text-align:center}.cv-table{border-collapse:collapse;font-size:1rem;width:100%}.cv-table thead tr{border-bottom:2px solid #1a1a2e}.cv-table th{color:#555;font-size:.8rem;font-weight:700;letter-spacing:.06em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.cv-th-time{width:110px}.cv-th-name{width:220px}.cv-row{border-bottom:1px solid #f0f0f0;transition:background .15s}.cv-row:last-child{border-bottom:none}.cv-row:hover{background:#f8f9ff}.cv-row--past{opacity:.45}.cv-row--past .cv-name,.cv-row--past .cv-time{color:#999;text-decoration:line-through}.cv-row--current{background:#fffbe6}.cv-row--next{background:#f0fff4}.cv-next-badge{background:#96c43c;border-radius:4px;color:#fff;display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.05em;margin-right:.5rem;padding:.15rem .45rem;text-transform:uppercase;vertical-align:middle}.cv-row--blockout{background:#f5f6f7}.cv-row--blockout:hover{background:#eef0f2}.cv-row--blockout.cv-row--past{opacity:.4}.cv-row--blockout .cv-time{color:#6b7280;font-weight:600}.cv-blockout-time-end{color:#9ca3af;font-size:.85em}.cv-blockout-label{color:#9ca3af;font-size:.95rem;font-style:italic;padding:1rem;vertical-align:middle}.cv-now-row td{border:none;padding:.25rem 0}.cv-now-line{align-items:center;display:flex;gap:.75rem}.cv-now-line:after,.cv-now-line:before{background:#96c43c;content:"";flex:1 1;height:2px}.cv-now-label{color:#96c43c;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.cv-table td{padding:1rem;vertical-align:top}.cv-time{color:#1a1a2e;font-size:1.05rem;font-weight:700;white-space:nowrap}.cv-name{color:#222;font-weight:600}.cv-reason{color:#555}.cv-updated{border-top:1px solid #f0f0f0;color:#bbb;font-size:.75rem;margin:0;padding:.75rem 2.5rem;text-align:right}.cv-error,.cv-loading{color:#888;font-size:1.1rem;padding:4rem;text-align:center}.cv-error{color:#e63946}.login-page{align-items:center;display:flex;flex:1 1;justify-content:center;padding:3rem 2rem}.login-card{background:#fff;border:1px solid #0000000f;border-radius:16px;box-shadow:0 4px 20px #0000000a;max-width:440px;padding:3rem 2.5rem;text-align:center;width:100%}.login-icon{align-items:center;background:linear-gradient(135deg,#e8f4f8,#dbeafe);border-radius:14px;color:#0077b6;display:flex;height:56px;justify-content:center;margin:0 auto 1.25rem;padding:12px;width:56px}.login-icon svg{height:100%;width:100%}.login-title{color:#1a1a2e;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.login-subtitle{color:#777;font-size:.95rem;line-height:1.5;margin-bottom:2rem}.login-form{text-align:left}.login-submit{background:linear-gradient(135deg,#0077b6,#00b4d8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:opacity .2s ease;width:100%}.login-submit:hover{opacity:.9}.login-submit:disabled{cursor:not-allowed;opacity:.6}.login-back{color:#777;font-size:.875rem;margin-top:1.5rem}.login-back span{color:#0077b6;cursor:pointer;font-weight:600}.login-back span:hover{text-decoration:underline}@media (max-width:480px){.login-page{align-items:flex-start;padding:2rem 1rem}.login-card{padding:2rem 1.5rem}.login-title{font-size:1.3rem}}.faq-page{background:#f8fafc;display:flex;flex:1 1;justify-content:center;min-height:100%;padding:2.5rem 2rem}.faq-container{max-width:720px;width:100%}.faq-back-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.35rem;margin-bottom:1.5rem;padding:.5rem 0;transition:color .15s ease}.faq-back-btn:hover{color:#7d7e99}.faq-back-btn svg{height:18px;width:18px}.faq-header{margin-bottom:2.5rem;text-align:center}.faq-title{color:#1a1a2e;font-family:Comfortaa,cursive;font-size:2rem;font-weight:700;margin:0 0 .5rem}.faq-subtitle{color:#64748b;font-size:1rem;margin:0}.faq-section{margin-bottom:2.5rem}.faq-category{border-bottom:2px solid #7d7e99;color:#7d7e99;font-size:.75rem;font-weight:700;letter-spacing:1px;margin:0 0 1rem;padding-bottom:.5rem;text-transform:uppercase}.faq-list{display:flex;flex-direction:column;gap:.5rem}.faq-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:box-shadow .2s ease}.faq-item.open{border-color:#7d7e99;box-shadow:0 4px 16px #7d7e991f}.faq-question{align-items:center;background:none;border:none;color:#1a1a2e;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:1rem;justify-content:space-between;padding:1.1rem 1.25rem;text-align:left;transition:background .15s ease;width:100%}.faq-question:hover{background:#f8fafc}.faq-item.open .faq-question{color:#7d7e99}.faq-chevron{color:#94a3b8;flex-shrink:0;height:18px;transition:transform .25s ease;width:18px}.faq-item.open .faq-chevron{color:#7d7e99;transform:rotate(180deg)}.faq-answer{border-top:1px solid #f1f5f9;padding:0 1.25rem 1.1rem}.faq-answer p{color:#475569;font-size:.9rem;line-height:1.7;margin:.75rem 0 0}.faq-answer p:first-child{margin-top:.75rem}.faq-list-items{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0 0 1.25rem;padding:0}.faq-list-items li{color:#475569;font-size:.9rem;line-height:1.7;padding-left:.25rem}.faq-contact{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-top:3rem;padding:2rem;text-align:center}.faq-contact p{color:#64748b;font-size:.95rem;margin:0 0 .5rem}.faq-contact-link{background:#7d7e99;border-radius:8px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;text-decoration:none;transition:background .15s ease}.faq-contact-link:hover{background:#6a6b85}@media (max-width:480px){.faq-page{padding:1.5rem 1rem}.faq-title{font-size:1.5rem}.faq-question{font-size:.9rem;padding:1rem}.faq-answer{padding:0 1rem 1rem}}.contact-page{background:#f8fafc;display:flex;flex:1 1;justify-content:center;min-height:100%;padding:2.5rem 2rem}.contact-container{max-width:560px;width:100%}.contact-back-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:inline-flex;font-size:.9rem;gap:.35rem;margin-bottom:1.5rem;padding:.5rem 0;transition:color .15s ease}.contact-back-btn:hover{color:#7d7e99}.contact-back-btn svg{height:18px;width:18px}.contact-header{margin-bottom:2rem;text-align:center}.contact-title{color:#1a1a2e;font-family:Comfortaa,cursive;font-size:2rem;font-weight:700;margin:0 0 .5rem}.contact-subtitle{color:#64748b;font-size:1rem;margin:0}.contact-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;gap:1.25rem;padding:1.75rem}.contact-card-icon{align-items:center;background:#7d7e99;border-radius:12px;display:flex;height:48px;justify-content:center;min-width:48px;width:48px}.contact-card-icon svg{stroke:#fff;height:22px;width:22px}.contact-info-label{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 .3rem;text-transform:uppercase}.contact-info-value{color:#1a1a2e;display:block;font-size:1.05rem;font-weight:600;margin:0;text-decoration:none}a.contact-info-value:hover{color:#7d7e99}.contact-response-note{color:#94a3b8;font-size:.82rem;margin:.5rem 0 0}.contact-divider{border:none;border-top:1px solid #e5e7eb;margin:2rem 0}.contact-faq-prompt{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:.75rem;padding:1.25rem 1.5rem}.contact-faq-prompt svg{stroke:#7d7e99;height:20px;min-width:20px;width:20px}.contact-faq-prompt p{color:#64748b;font-size:.9rem;margin:0}.contact-faq-link{color:#7d7e99;cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:2px}.contact-faq-link:hover{color:#6a6b85}@media (max-width:640px){.contact-page{padding:1.5rem 1rem}.contact-title{font-size:1.5rem}.contact-card{padding:1.25rem}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:#0f1530;color:#1a1a2e;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}.app,body{min-height:100vh;min-height:100dvh}.app{display:flex;flex-direction:column;width:100%}.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:none;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px;width:100%}.header-content,.header-logo{align-items:center;display:flex}.header-logo{gap:.5rem}.header-brand-logo{height:36px;object-fit:contain;width:auto}.header-nav{gap:.5rem}.header-nav,.logo-circle{align-items:center;display:flex}.logo-circle{border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;height:36px;justify-content:center;position:relative;width:36px}.logo-r{color:#1a1a2e;font-family:Comfortaa,cursive;font-size:1.1rem;font-weight:700}.logo-dot{background:#96c43c;border-radius:50%;height:10px;position:absolute;right:2px;top:-3px;width:10px}.logo-text{color:#1a1a2e;font-family:Comfortaa,cursive;font-size:1.4rem;font-weight:700;letter-spacing:-.5px}.hero{flex:1 1;flex-direction:column;margin:0 auto;max-width:1200px;padding:4rem 2rem;text-align:center;width:100%}.hero,.hero-title-container{align-items:center;display:flex;justify-content:center}.hero-title-container{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.hero-title-text{color:#1a1a2e;font-family:Comfortaa,cursive;font-size:1.6rem;font-weight:400;letter-spacing:normal}.hero-logo{gap:.5rem}.hero-logo,.hero-logo-circle{align-items:center;display:flex}.hero-logo-circle{border:3px solid #6b7280;border-radius:50%;height:clamp(50px,8vw,70px);justify-content:center;position:relative;width:clamp(50px,8vw,70px)}.hero-logo-r{color:#fff;font-family:Comfortaa,cursive;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700}.hero-logo-dot{background:#96c43c;border-radius:50%;height:clamp(12px,2vw,18px);position:absolute;right:3px;top:-5px;width:clamp(12px,2vw,18px)}.hero-logo-text{color:#fff;font-family:Comfortaa,cursive;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-1px}.hero-subtitle{color:#fffc;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.7;margin-bottom:.75rem;max-width:600px;padding:0 1rem;width:100%}.hero-coming-soon{color:#fff9;font-size:clamp(.875rem,2vw,1rem);font-style:italic;margin-bottom:3.5rem}.back-home-btn{align-items:center;background:none;border:none;color:#0077b6;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:1rem 0 0;text-decoration:none;transition:color .2s ease}.back-home-btn:hover{color:#005a8e}.welcome-bar{background:#ffffffeb;flex-direction:column;padding:1.1rem 2rem;text-align:center;width:100%}.welcome-bar,.welcome-bar-top{align-items:center;display:flex}.welcome-bar-top{flex-direction:row;gap:.75rem;justify-content:center}.welcome-bar-logo{flex-shrink:0;height:154px;object-fit:contain;width:auto}.welcome-bar-text{display:flex;flex-direction:column;justify-content:center;text-align:left}.welcome-bar .hero-subtitle{color:#1a1a2e;font-size:.9rem;margin-bottom:0;margin-top:.25rem;padding:0}.faq-nav-btn{align-items:center;background:#7d7e99;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.45rem;padding:.55rem 1.4rem;transition:background .15s ease}.faq-nav-btn:hover{background:#6a6b85}.faq-nav-btn svg{height:17px;width:17px}.contact-nav-btn{align-items:center;background:#0000;border:1.5px solid #7d7e99;border-radius:8px;color:#7d7e99;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.45rem;padding:.55rem 1.4rem;transition:all .15s ease}.contact-nav-btn:hover{background:#7d7e99;color:#fff}.contact-nav-btn svg{height:17px;width:17px}.landing-page{align-items:center;flex:1 1;flex-direction:column}.landing-page,.landing-section{display:flex;text-align:center;width:100%}.landing-section{justify-content:center;padding:3rem 2rem}.section-kidz{background:#0f1530;border-bottom:none;border-top:none}.section-reyn{background:#fff;border-bottom:none}.section-reyn .section-heading,.section-reyn .section-subheading{color:#1a1a2e}.section-content{flex-direction:column;max-width:960px;text-align:center}.section-content,.section-header-row{align-items:center;display:flex;width:100%}.section-header-row{flex-direction:row;gap:2rem;justify-content:center;margin-bottom:1.5rem}.section-header-text{align-items:flex-start;display:flex;flex-direction:column;text-align:left}.section-header-text .section-subheading{margin-bottom:0;padding:0;text-align:left}.section-logo{flex-shrink:0;height:120px;mix-blend-mode:lighten;object-fit:contain;width:auto}.section-reyn .section-logo{mix-blend-mode:multiply}.section-heading{color:#fff;font-family:Comfortaa,cursive;font-size:1.4rem;font-weight:400;margin-bottom:.75rem}.section-subheading{color:#ffffffbf;font-size:clamp(.9rem,2vw,1.1rem);line-height:1.7;margin-bottom:2rem;max-width:620px;padding:0 1rem}.cards-container{display:flex;flex-direction:column;gap:.75rem;max-width:420px;padding:0;width:100%}.card{align-items:center;background:#7d7e99;border:1px solid #0000000f;border-radius:12px;cursor:pointer;display:flex;flex-direction:row;gap:1rem;padding:1rem 1.25rem;text-align:left;transition:all .2s ease}.card:hover{background:#6a6b85;box-shadow:0 4px 16px #0000001f;transform:translateX(4px)}.card:active{transform:translateX(2px);transition:transform .1s ease}.card-icon{align-items:center;background:linear-gradient(135deg,#e8f4f8,#dbeafe);border-radius:10px;color:#0077b6;display:flex;flex-shrink:0;height:42px;justify-content:center;min-width:42px;padding:10px;transition:all .2s ease;width:42px}.card-icon svg{height:100%;width:100%}.card-title{color:#fff;font-size:.95rem;font-weight:600;margin:0}.card-description{color:#ffffffd9;font-size:.875rem;line-height:1.6}.card:hover .card-icon{background:#96c43c;color:#fff}.footer{background:#ffffffeb;border-top:none;color:#1a1a2e;font-size:.85rem;padding:1.5rem 2rem;text-align:center;width:100%}@media (max-width:1024px){.cards-container{max-width:420px}}@media (max-width:768px){.header{padding:1rem 1.5rem}.hero{padding:3rem 1.5rem}.hero-subtitle{margin-bottom:2.5rem}.cards-container{max-width:100%}}@media (max-width:600px){.header{padding:.875rem 1rem}.logo-icon{border-radius:8px;font-size:1.2rem;height:32px;width:32px}.logo-text{font-size:1.3rem}.hero{justify-content:flex-start;padding:3rem 1rem 2rem}.hero-subtitle{margin-bottom:2rem;padding:0}.footer{font-size:.8rem;padding:1.25rem 1rem}}@media (max-width:380px){.hero{padding:2rem .75rem 1.5rem}}
/*# sourceMappingURL=main.a50d7663.css.map*/