.availability{margin:22px 0;padding:18px;border:1px solid #dbe5ef;border-radius:12px;background:#f8fbfe}.availability h2{margin-top:0;color:#102a43}.availability h3{margin:16px 0 8px;color:#163b61}.availability .slot{margin:0 7px 7px 0;min-width:68px}.availability .slot.selected{background:#16866b;color:#fff;border-color:#16866b}
.schedule-tabs{display:flex;gap:8px;margin:18px 0 0}.schedule-tab{border:1px solid #b8c9d9;background:#eef4f8;color:#102a43;padding:11px 16px;border-radius:10px 10px 0 0;cursor:pointer;font-weight:700}.schedule-tab.active{background:#102a43;color:#fff;border-color:#102a43}.schedule-panel{display:none;border:1px solid #dbe5ef;padding:18px;border-radius:0 12px 12px;background:#f8fbfe}.schedule-panel.active{display:block}.doctor-results{display:grid;gap:12px;margin-top:15px}.doctor-card{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;background:#fff;border:1px solid #dbe5ef;border-radius:10px}.doctor-card h3,.doctor-card p{margin:0 0 5px}.doctor-card.selected{border:2px solid #16866b;background:#f0fffa}@media(max-width:700px){.doctor-card{align-items:flex-start;flex-direction:column}.schedule-tabs{flex-wrap:wrap}}
.doctor-card{display:block}.doctor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.specialty-schedule{margin-top:12px;padding-top:12px;border-top:1px solid #dbe5ef}.specialty-date{margin:12px 0 7px;color:#163b61;font-size:1rem}.specialty-slot{margin:0 7px 7px 0}.specialty-slot.selected{background:#16866b;color:#fff;border-color:#16866b}@media(max-width:700px){.doctor-header{flex-direction:column}}
.appointment-dialog{width:min(460px,calc(100% - 30px));border:0;border-radius:14px;padding:22px;box-shadow:0 20px 60px #071a2d55;color:#102a43}.appointment-dialog::backdrop{background:#071a2d99}.appointment-dialog .dialog-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.appointment-dialog h2{margin:0}.appointment-dialog label{display:block;font-weight:700;margin:14px 0 6px}.dialog-close{border:0;background:transparent;font-size:30px;color:#526b80;cursor:pointer}.field-error{color:#b42318;font-weight:700;min-height:20px}
.access-schedule{display:grid;gap:10px;margin-top:16px}.access-day{display:grid;grid-template-columns:minmax(170px,1fr) 1fr 1fr;gap:14px;align-items:end;padding:13px;border:1px solid #dbe5ef;border-radius:10px;background:#fff}.access-day-name{align-self:center;font-weight:700}.access-day span{display:block;font-size:.85rem;font-weight:700;margin-bottom:5px}.access-schedule.disabled{opacity:.45;pointer-events:none}@media(max-width:700px){.access-day{grid-template-columns:1fr}.access-day-name{margin-bottom:4px}}
