/* Two equally prominent care modalities and accessible footer link states. */
.care-modalities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.care-modalities .clinic-location{margin:0;align-items:flex-start;padding:18px 16px;gap:12px;border:1px solid #d7e2ef;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;min-width:0}.care-modalities .clinic-location .icon{width:24px;height:24px;margin-top:3px}.care-modalities .clinic-location strong{display:block;font-size:16px;line-height:1.45;color:var(--navy)}.care-modalities .clinic-location span{font-size:13px;line-height:1.65;color:#4b6380;margin-top:8px}.care-modalities .clinic-teleconsultation{background:#eaf2fb;border-left-color:#527bac}
.clinic-contact-footer a:not(.button),.clinic-contact-footer a:not(.button):visited{color:#dce7f3}.clinic-contact-footer a:not(.button):hover,.clinic-contact-footer a:not(.button):focus-visible,.clinic-contact-footer a:not(.button):active{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.clinic-contact-footer a:focus-visible{outline:2px solid #e4c684;outline-offset:5px;border-radius:3px}.clinic-contact-footer .whatsapp-button:hover,.clinic-contact-footer .whatsapp-button:focus-visible,.clinic-contact-footer .whatsapp-button:active{background:#86df8f;color:#103c30;border-color:#b4efba}.clinic-contact-footer ::selection{background:#f0d38e;color:#172f4d}
@media(min-width:641px) and (max-width:1100px){.care-modalities{grid-template-columns:1fr}}
@media(max-width:640px){.care-modalities{grid-template-columns:1fr;gap:12px}.care-modalities .clinic-location{padding:16px}.care-modalities .clinic-location strong{font-size:16px}}
/* Sidebar remains reachable on shorter desktop screens. */
@media(min-width:641px){.management .sidebar{height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9eacc3 #213e67}.management .sidebar>*{flex-shrink:0}.management .sidebar-bottom{margin-top:28px}.management .sidebar::-webkit-scrollbar{width:8px}.management .sidebar::-webkit-scrollbar-thumb{background:#9eacc3;border-radius:8px}}
.service-catalog{scroll-margin-top:25px;margin-bottom:28px}.service-catalog>p{max-width:900px;margin:15px 0 24px}.service-catalog fieldset{border:0;padding:0;margin:0;min-width:0}.service-editor-row{border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:14px;background:#f9fbfe}.service-row-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;color:var(--navy)}.service-row-heading>div{display:flex;gap:7px}.service-row-heading .button{min-width:42px;padding:7px 12px}.service-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.service-fields label{min-width:0}.service-name-field{grid-column:1/-1}.service-editor-actions{display:flex;justify-content:space-between;gap:15px;margin:22px 0}.service-select-form{margin:23px 0 12px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.service-select-form label{flex:1 1 220px;min-width:0}.service-select-form select{max-width:100%;white-space:normal}.service-select-form .button{padding:10px;font-size:12px}.service-select-form+.service-detail{margin-top:0}.clinic-location{display:flex;align-items:center;gap:12px;border-left:3px solid var(--gold);padding:14px 17px;background:#eef3f9;border-radius:0 9px 9px 0;color:var(--navy);margin:24px 0}.clinic-location .icon{flex:none}.clinic-location span{font-size:12px;display:block;margin-top:5px;color:#56708c}.clinic-contact-footer{margin-top:40px;padding:44px max(5vw,24px) 22px;background:var(--navy-deep);color:#dce7f3}.clinic-footer-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.clinic-contact-footer h2{font-size:30px;color:white;margin:12px 0}.clinic-contact-footer p{color:#dce7f3;line-height:1.8}.clinic-contact-footer .eyebrow{color:#d8c392}.clinic-contact-footer .whatsapp-button{display:inline-flex;background:#65ce70;color:#103c30;margin-top:20px;font-weight:700}.clinic-contact-footer address{font-style:normal;background:#ffffff0b;border:1px solid #ffffff25;border-radius:12px;padding:24px;line-height:1.8}.clinic-contact-footer address strong{display:block;color:white;font-size:16px}.clinic-contact-footer address a{display:block;overflow-wrap:anywhere}.clinic-footer-bottom{max-width:1320px;margin:32px auto 0;border-top:1px solid #ffffff22;padding-top:20px;display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;font-size:11px}.appointment-list-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin-bottom:20px}.appointment-list-filters .count-label{margin-left:auto}.appointment-card.compact-appointment{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:15px 28px;padding:24px}.compact-appointment h2{font-size:19px;margin-top:12px}.compact-appointment p{margin:7px 0;font-size:13px}.compact-appointment>form{grid-column:2;grid-row:1}.compact-appointment>details{grid-column:1/-1;border-top:1px solid var(--border);padding-top:14px}.compact-appointment>details>summary{font-weight:650;color:var(--teal);cursor:pointer;padding:4px 0}.compact-appointment>details[open]>.patient-data-section{padding-top:20px}.compact-appointment .patient-data-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px}.compact-appointment .patient-data-grid dt{margin-top:4px}.compact-appointment form .button{margin-top:10px}.appointment-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:25px 0}.modality-info{margin-bottom:20px}
@media(max-width:900px){.service-fields{grid-template-columns:1fr 1fr}.clinic-footer-grid{gap:25px}.compact-appointment .patient-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.service-fields{grid-template-columns:1fr}.service-editor-actions{flex-direction:column}.service-row-heading{font-size:12px}.service-editor-row{padding:14px}.clinic-footer-grid{grid-template-columns:1fr}.clinic-contact-footer{padding:32px 5% 22px}.clinic-contact-footer h2{font-size:26px}.appointment-card.compact-appointment{display:block;padding:20px}.compact-appointment>form{margin-top:16px}.compact-appointment>details{margin-top:16px}.clinic-location{align-items:flex-start}.clinic-location strong{font-size:14px}.appointment-list-filters>label{flex:1 1 140px}.appointment-list-filters>.button{flex:1}.service-select-form .button{min-height:42px}.appointment-pagination{flex-wrap:wrap}}
/* Appointment modality is encoded by color and an explicit text label. */
.schedule-window.booking.booking-in-person{background:#367368;color:#fff;border-left-color:#24534b}
.schedule-window.booking.booking-teleconsultation{background:#65539a;color:#fff;border-left-color:#403269}
.schedule-window.booking.booking-in-person:hover,.schedule-window.booking.booking-in-person:focus-visible{background:#28594f;color:#fff}
.schedule-window.booking.booking-teleconsultation:hover,.schedule-window.booking.booking-teleconsultation:focus-visible{background:#4e3d7c;color:#fff}
.legend-dot.booking-in-person{background:#367368}
.legend-dot.booking-teleconsultation{background:#65539a}
[data-code-resend]{margin-top:24px}
[data-resend-button]:disabled{opacity:.65;cursor:wait}
