.appt{background:var(--color-gris-50);padding:80px 0}.appt__filters{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.appt__filter{max-width:100%;width:369px}.appt__search{margin-bottom:40px}.appt__search .input{min-width:0}.appt__grid{display:grid;gap:40px;grid-template-columns:repeat(3,1fr);margin-bottom:40px}@media (max-width:1024px){.appt__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.appt__grid{grid-template-columns:1fr}}.appt-doctor-card{align-items:center;background:var(--color-blanco);border-radius:15px;display:flex;flex-direction:column;gap:20px;padding:24px;text-align:center}.appt-doctor-card--accent{background:var(--color-agua-marina-600);color:var(--color-blanco)}.appt-doctor-card__photo-wrap{background:var(--color-verde-1);border-radius:100px;box-shadow:0 2px 2px rgba(0,0,0,.25);height:153px;overflow:hidden;width:157px}.appt-doctor-card__photo-wrap img{height:100%;object-fit:cover;width:100%}.appt-doctor-card__specialty{color:var(--color-gris-600);font-size:16px}.appt-doctor-card--accent .appt-doctor-card__specialty{color:var(--color-blanco)}.appt-doctor-card__name{color:var(--color-casi-negro);font-size:24px;font-weight:700;line-height:1.25}.appt-doctor-card--accent .appt-doctor-card__name,.appt-doctor-card__bio{color:var(--color-blanco)}.appt-doctor-card__bio{font-size:16px;text-align:left}.appt-doctor-card__cta{justify-content:center;max-width:218px;width:100%}.appt__empty{color:var(--text-muted);padding:40px 0;text-align:center}.appt__pagination{gap:8px}.appt-stepper,.appt__pagination{display:flex;justify-content:center}.appt-stepper{flex-wrap:wrap;gap:60px;margin:0 0 40px}.appt-stepper__item{align-items:center;color:var(--color-gris-400);display:flex;font-weight:700;gap:10px}.appt-stepper__dot{align-items:center;background:var(--color-gris-200);border-radius:50%;color:var(--color-blanco);display:inline-flex;font-size:14px;height:32px;justify-content:center;width:32px}.appt-stepper__item.is-active{color:var(--text-body)}.appt-stepper__item.is-active .appt-stepper__dot,.appt-stepper__item.is-done .appt-stepper__dot{background:var(--color-verde-2)}.appt-stepper__item.is-done .appt-stepper__dot:before{content:"✓"}.appt-stepper__item.is-done .appt-stepper__dot{font-size:0}.appt-stepper__item.is-done .appt-stepper__dot:before{font-size:14px}.appt-card{background:var(--color-blanco);border-radius:15px;box-shadow:0 2px 8px rgba(0,0,0,.06);margin:0 auto;max-width:843px;padding:40px}.appt-panel__title{color:var(--color-verde-2);margin-bottom:12px}.appt-panel__subtitle{margin-bottom:32px}.appt-panel--center{align-items:center;display:flex;flex-direction:column;gap:16px;text-align:center}.appt-calendar{border:1px solid var(--border-subtle);border-radius:15px;margin-bottom:24px;max-width:388px;padding:24px}.appt-calendar__header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.appt-calendar__month{color:var(--color-verde-2);font-weight:700}.appt-calendar__nav{align-items:center;background:var(--color-gris-200);border:none;border-radius:50%;color:var(--text-body);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.appt-calendar__weekdays{color:var(--text-muted);font-size:13px;margin-bottom:8px;text-align:center}.appt-calendar__days,.appt-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.appt-calendar__days{row-gap:8px}.appt-calendar__day{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--text-muted);cursor:default;display:flex;font-size:15px;height:36px;justify-content:center;margin:0 auto;width:36px}.appt-calendar__day--empty{visibility:hidden}.appt-calendar__day--available{background:var(--color-verde-1-100);color:var(--text-body);cursor:pointer}.appt-calendar__day--selected{background:var(--color-verde-2);color:var(--color-blanco);cursor:pointer;font-weight:700}.appt-slots__label{font-weight:700;margin-bottom:12px}.appt-slots__list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.appt-slot{background:var(--color-blanco);border:1px solid var(--border-subtle);border-radius:100px;cursor:pointer;font-size:15px;padding:10px 20px}.appt-slot.is-selected{background:var(--color-verde-2);border-color:var(--color-verde-2);color:var(--color-blanco);font-weight:700}.appt-note{border-radius:12px;font-size:15px;margin-bottom:24px;padding:16px 20px}.appt-note--info{background:var(--color-verde-1-100);color:var(--color-verde-3)}.appt-panel__actions{align-items:center;display:flex;flex-direction:column;gap:16px;margin-top:8px}.appt-panel__actions--row{flex-direction:row;flex-wrap:wrap;justify-content:center}.appt-panel__actions .btn--linea,.appt-panel__actions .btn--solido{justify-content:center;max-width:340px;width:100%}.appt-summary-card{align-items:center;background:var(--color-verde-1-100);border-radius:12px;display:flex;gap:16px;margin-bottom:32px;padding:20px}.appt-summary-card__photo{border-radius:50%;flex-shrink:0;height:56px;object-fit:cover;width:56px}.appt-summary-card__name{font-size:18px;font-weight:700}.appt-summary-card__meta{color:var(--text-muted);display:flex;font-size:14px;gap:12px}.appt-doc-row{display:flex;gap:12px;margin-bottom:8px}.appt-doc-row__type{flex-shrink:0;width:110px}.appt-doc-row .input{flex:1}.appt-form-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:24px 0}@media (max-width:600px){.appt-form-grid{grid-template-columns:1fr}}.appt-error{color:var(--color-semantico-error);font-size:14px;margin-top:8px}.appt-summary-table{margin:0 0 32px}.appt-summary-table__row{border-bottom:1px solid var(--border-subtle);display:flex;font-size:15px;justify-content:space-between;padding:14px 0}.appt-summary-table__row dt{color:var(--text-muted)}.appt-summary-table__row dd{color:var(--text-body);font-weight:700;margin:0}.appt-result-icon{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;width:64px}.appt-result-icon--success{background:var(--color-verde-2)}.appt-result-icon--success img{filter:brightness(0) invert(1);height:32px;width:32px}.appt-result-icon--warning{background:var(--color-azul-1-600)}.appt-result-icon--warning img{filter:brightness(0) invert(1);height:28px;width:28px}