/* /Components/Booking/BookingHeader.razor.rz.scp.css */
.booking-header[b-inrzjk5etn] {
    margin-bottom: 2rem;
}

.booking-header__top[b-inrzjk5etn] {
    margin-bottom: 0.45rem;
}

.booking-header__step-label[b-inrzjk5etn] {
    color: #5d6b7a;
    font-size: 0.95rem;
    font-weight: 600;
}

.booking-header__progress[b-inrzjk5etn] {
    width: 100%;
    height: 4px;
    border-radius: 999px;
    background: #e7edf2;
    overflow: hidden;
    margin-bottom: 1.4rem;
}

.booking-header__progress-bar[b-inrzjk5etn] {
    height: 100%;
    background: linear-gradient(90deg, #49a8b0 0%, #2f8890 100%);
    border-radius: 999px;
    transition: width 0.25s ease;
}

.booking-header__title[b-inrzjk5etn] {
    margin: 0;
    font-size: clamp(1.85rem, 3vw, 2.15rem);
    font-weight: 600;
    color: #102a43;
    line-height: 1.15;
    letter-spacing: -0.015em;
}

.booking-header__subtitle[b-inrzjk5etn] {
    margin: 0.45rem 0 0;
    font-size: 0.98rem;
    font-weight: 400;
    color: #66788a;
    line-height: 1.5;
}
@media (max-width: 991.98px) {
    .booking-header__title[b-inrzjk5etn] {
        font-size: 1.7rem;
    }
}
/* /Components/Booking/BookingNavigation.razor.rz.scp.css */
.booking-navigation[b-f0xqjw654o] {
    padding-top: 1.75rem;
    margin-top: 2rem;
    border-top: 1px solid #edf1f5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.booking-navigation__btn[b-f0xqjw654o] {
    min-width: 148px;
    height: 48px;
    border-radius: 12px;
    font-weight: 700;
    border: 0;
    transition: 0.2s ease;
    padding: 0 1.25rem;
}

    .booking-navigation__btn:disabled[b-f0xqjw654o] {
        opacity: 0.55;
        cursor: not-allowed;
    }

.booking-navigation__btn--secondary[b-f0xqjw654o] {
    background: #f3f6f9;
    color: #445366;
}

    .booking-navigation__btn--secondary:hover:not(:disabled)[b-f0xqjw654o] {
        background: #e9eff4;
    }

.booking-navigation__btn--primary[b-f0xqjw654o] {
    background: #ff5a2a;
    color: #fff;
}

    .booking-navigation__btn--primary:hover:not(:disabled)[b-f0xqjw654o] {
        background: #eb4f22;
    }

@media (max-width: 575.98px) {
    .booking-navigation[b-f0xqjw654o] {
        flex-direction: column;
    }

    .booking-navigation__btn[b-f0xqjw654o] {
        width: 100%;
    }
}
/* /Components/Booking/BookingSidebar.razor.rz.scp.css */
.booking-sidebar[b-h1dyptg6zc] {
    height: 100%;
    padding: 2.5rem 2rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #49a8b0 0%, #2f8890 100%);
}

.booking-sidebar__top[b-h1dyptg6zc] {
    text-align: center;
    margin-bottom: 1.75rem;
}

.booking-sidebar__avatar-wrap[b-h1dyptg6zc] {
    display: flex;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.booking-sidebar__avatar[b-h1dyptg6zc] {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.16);
}

.booking-sidebar__avatar--placeholder[b-h1dyptg6zc] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.15rem;
}

.booking-sidebar__name[b-h1dyptg6zc] {
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.booking-sidebar__specialty[b-h1dyptg6zc] {
    margin: 0;
    opacity: 0.88;
    font-size: 0.98rem;
}

.booking-sidebar__divider[b-h1dyptg6zc] {
    height: 1px;
    background: rgba(255, 255, 255, 0.22);
    margin-bottom: 1.5rem;
}

.booking-sidebar__steps[b-h1dyptg6zc] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.booking-sidebar__step[b-h1dyptg6zc] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    color: #fff;
    padding: 0.2rem 0;
    transition: 0.2s ease;
}

    .booking-sidebar__step:disabled[b-h1dyptg6zc] {
        opacity: 0.55;
        cursor: not-allowed;
    }

.booking-sidebar__step-number[b-h1dyptg6zc] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    border: 2px solid rgba(255, 255, 255, 0.26);
    background: transparent;
}

.booking-sidebar__step-content[b-h1dyptg6zc] {
    display: flex;
    flex-direction: column;
}

.booking-sidebar__step-title[b-h1dyptg6zc] {
    font-weight: 700;
    font-size: 0.98rem;
    line-height: 1.1;
}

.booking-sidebar__step-subtitle[b-h1dyptg6zc] {
    font-size: 0.82rem;
    opacity: 0.82;
    margin-top: 0.15rem;
}

.booking-sidebar__step--active .booking-sidebar__step-number[b-h1dyptg6zc] {
    background: #fff;
    color: #2f8890;
    border-color: #fff;
}

.booking-sidebar__step--done .booking-sidebar__step-number[b-h1dyptg6zc] {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.3);
}

@media (max-width: 991.98px) {
    .booking-sidebar[b-h1dyptg6zc] {
        padding: 1.75rem 1.25rem;
    }

    .booking-sidebar__name[b-h1dyptg6zc] {
        font-size: 1.35rem;
    }
}
/* /Components/Booking/BookingStepConfirm.razor.rz.scp.css */
.booking-confirm[b-x2ee4nkasy] {
    width: 100%;
}

.booking-confirm__card[b-x2ee4nkasy] {
    width: 100%;
    background: #ffffff;
    border: 1px solid #dbe5eb;
    border-radius: 24px;
    padding: 1.35rem 1.5rem;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.booking-confirm__title[b-x2ee4nkasy] {
    margin: 0 0 1.35rem 0;
    font-size: 1.7rem;
    font-weight: 600;
    color: #142033;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

.booking-confirm__list[b-x2ee4nkasy] {
    display: flex;
    flex-direction: column;
}

.booking-confirm__row[b-x2ee4nkasy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1rem 0;
    border-bottom: 1px solid #d9e1e8;
}

    .booking-confirm__row:last-child[b-x2ee4nkasy] {
        border-bottom: 0;
        padding-bottom: 0.15rem;
    }

.booking-confirm__label[b-x2ee4nkasy] {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 220px;
    color: #5f7287;
    font-size: 1rem;
    font-weight: 600;
}

.booking-confirm__check[b-x2ee4nkasy] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e8f7f8;
    color: #2f8890;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.booking-confirm__value[b-x2ee4nkasy] {
    color: #24364a;
    font-size: 1rem;
    font-weight: 600;
    text-align: right;
    line-height: 1.4;
}

@media (max-width: 767.98px) {
    .booking-confirm__card[b-x2ee4nkasy] {
        padding: 1.1rem 1rem;
    }

    .booking-confirm__title[b-x2ee4nkasy] {
        font-size: 1.55rem;
    }

    .booking-confirm__row[b-x2ee4nkasy] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.45rem;
    }

    .booking-confirm__label[b-x2ee4nkasy] {
        min-width: auto;
    }

    .booking-confirm__value[b-x2ee4nkasy] {
        text-align: left;
    }
}
/* /Components/Booking/BookingStepDateTime.razor.rz.scp.css */
.booking-datetime-step[b-22cfbhqj5g] {
    width: 100%;
}

.booking-datetime-step__grid[b-22cfbhqj5g] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 1.25rem;
    align-items: start;
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g],
.booking-datetime-step__hours-card[b-22cfbhqj5g] {
    background: #ffffff;
    border: 1px solid #e8eef3;
    border-radius: 20px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g] {
    padding: 1rem;
}

.booking-datetime-step__hours-card[b-22cfbhqj5g] {
    padding: 1.1rem;
}

.booking-datetime-step__hours-header[b-22cfbhqj5g] {
    margin-bottom: 1rem;
}

.booking-datetime-step__hours-title[b-22cfbhqj5g] {
    margin: 0 0 0.35rem 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #24364a;
}

.booking-datetime-step__hours-subtitle[b-22cfbhqj5g] {
    margin: 0;
    font-size: 0.92rem;
    color: #5f7287;
    text-transform: capitalize;
}

.booking-datetime-step__hours[b-22cfbhqj5g] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.booking-datetime-step__hour[b-22cfbhqj5g] {
    height: 52px;
    border: 1.5px solid #dbe5eb;
    background: #ffffff;
    border-radius: 14px;
    font-weight: 700;
    font-size: 1rem;
    color: #24364a;
    transition: 0.2s ease;
}

    .booking-datetime-step__hour:hover:not(:disabled)[b-22cfbhqj5g] {
        border-color: #49a8b0;
    }

    .booking-datetime-step__hour:disabled[b-22cfbhqj5g] {
        opacity: 0.45;
        cursor: not-allowed;
    }

.booking-datetime-step__hour--selected[b-22cfbhqj5g] {
    background: #54a9b1;
    border-color: #2a2a2a;
    color: #ffffff;
}

/* Ajustes visuales del componente calendario */
.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .appt-calendar-card {
    box-shadow: none;
    border: 0;
    padding: 0;
    background: transparent;
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-header {
    margin-bottom: 1rem;
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-month-title {
    font-weight: 700;
    color: #24364a;
    text-transform: capitalize;
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-nav {
    border-radius: 12px;
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-cell {
    border-radius: 14px;
    border: 1.5px solid #dbe5eb;
    transition: 0.2s ease;
}

    .booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-cell:hover {
        border-color: #49a8b0;
    }

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-cell--selected {
    background: #54a9b1;
    border-color: #2a2a2a;
    color: #ffffff;
}

    .booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-cell--selected .cal-number {
        color: #ffffff;
    }

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-cell--today {
    box-shadow: inset 0 0 0 1px #49a8b0;
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-footer {
    margin-top: 1rem;
}

.booking-datetime-step__calendar-card[b-22cfbhqj5g]  .cal-today-btn {
    border-radius: 12px;
}

@media (max-width: 991.98px) {
    .booking-datetime-step__grid[b-22cfbhqj5g] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Booking/BookingStepLocation.razor.rz.scp.css */
.booking-centers[b-iwvtm07jqi] {
    width: 100%;
}

.booking-centers__list[b-iwvtm07jqi] {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    max-height: 360px;
    overflow-y: auto;
    padding-right: 0.35rem;
}

    .booking-centers__list[b-iwvtm07jqi]::-webkit-scrollbar {
        width: 8px;
    }

    .booking-centers__list[b-iwvtm07jqi]::-webkit-scrollbar-thumb {
        background: #d7e2e8;
        border-radius: 999px;
    }

.booking-centers__item[b-iwvtm07jqi] {
    width: 100%;
    border: 1.5px solid #dbe5eb;
    background: #ffffff;
    border-radius: 18px;
    padding: 1rem 1.15rem;
    text-align: left;
    transition: 0.2s ease;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

    .booking-centers__item:hover[b-iwvtm07jqi] {
        border-color: #49a8b0;
        box-shadow: 0 10px 24px rgba(73, 168, 176, 0.10);
    }

.booking-centers__item--selected[b-iwvtm07jqi] {
    background: #54a9b1;
    border-color: #2a2a2a;
    box-shadow: 0 10px 24px rgba(73, 168, 176, 0.18);
}

.booking-centers__main[b-iwvtm07jqi] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
}

.booking-centers__top[b-iwvtm07jqi],
.booking-centers__bottom[b-iwvtm07jqi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.booking-centers__name[b-iwvtm07jqi] {
    font-size: 1.08rem;
    font-weight: 600;
    color: #24364a;
    line-height: 1.3;
}

.booking-centers__item--selected .booking-centers__name[b-iwvtm07jqi] {
    color: #ffffff;
}

.booking-centers__address[b-iwvtm07jqi] {
    font-size: 0.95rem;
    font-weight: 500;
    color: #5f7287;
    line-height: 1.5;
}

.booking-centers__item--selected .booking-centers__address[b-iwvtm07jqi] {
    color: rgba(255, 255, 255, 0.92);
}

.booking-centers__action[b-iwvtm07jqi] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #5f7287;
    white-space: nowrap;
}

.booking-centers__selected-badge[b-iwvtm07jqi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.42rem 0.85rem;
    border-radius: 999px;
    background: #ffffff;
    color: #2f8890;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .booking-centers__top[b-iwvtm07jqi],
    .booking-centers__bottom[b-iwvtm07jqi] {
        flex-direction: column;
        align-items: flex-start;
    }

    .booking-centers__list[b-iwvtm07jqi] {
        max-height: 420px;
    }
}
/* /Components/Booking/BookingStepPayment.razor.rz.scp.css */
.booking-payment[b-qbphfcrejc] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.booking-payment__primary[b-qbphfcrejc] {
    width: 100%;
}

.booking-payment__online[b-qbphfcrejc] {
    width: 100%;
    border: 1.5px solid #9fd3d7;
    background: linear-gradient(180deg, #f5fcfc 0%, #ffffff 100%);
    border-radius: 24px;
    padding: 1.35rem 1.4rem;
    text-align: left;
    transition: 0.2s ease;
    box-shadow: 0 12px 28px rgba(73, 168, 176, 0.12);
}

    .booking-payment__online:hover[b-qbphfcrejc] {
        border-color: #49a8b0;
        box-shadow: 0 16px 32px rgba(73, 168, 176, 0.16);
        transform: translateY(-1px);
    }

.booking-payment__online--selected[b-qbphfcrejc] {
    background: #54a9b1;
    border-color: #2a2a2a;
    box-shadow: 0 16px 34px rgba(73, 168, 176, 0.20);
}

.booking-payment__online-top[b-qbphfcrejc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.booking-payment__online-badge[b-qbphfcrejc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    background: #e8f7f8;
    color: #2f8890;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.booking-payment__online--selected .booking-payment__online-badge[b-qbphfcrejc] {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.booking-payment__online-icon[b-qbphfcrejc] {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #ff8a1f;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.45rem;
    flex-shrink: 0;
    box-shadow: 0 8px 18px rgba(255, 138, 31, 0.28);
}

.booking-payment__online-content[b-qbphfcrejc] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.booking-payment__online-title[b-qbphfcrejc] {
    margin: 0;
    font-size: 1.38rem;
    line-height: 1.28;
    font-weight: 600;
    color: #142033;
    max-width: 760px;
    letter-spacing: -0.01em;
}

.booking-payment__online--selected .booking-payment__online-title[b-qbphfcrejc] {
    color: #ffffff;
}

.booking-payment__online-text[b-qbphfcrejc] {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: #55697f;
    max-width: 820px;
}

.booking-payment__online--selected .booking-payment__online-text[b-qbphfcrejc] {
    color: rgba(255, 255, 255, 0.94);
}

.booking-payment__online-benefits[b-qbphfcrejc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.booking-payment__benefit[b-qbphfcrejc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.82rem;
    border-radius: 999px;
    background: #eef7f8;
    color: #2f8890;
    font-size: 0.82rem;
    font-weight: 700;
    white-space: nowrap;
}

.booking-payment__online--selected .booking-payment__benefit[b-qbphfcrejc] {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.booking-payment__online-footer[b-qbphfcrejc] {
    margin-top: 1.1rem;
    display: flex;
    justify-content: flex-end;
}

.booking-payment__cta[b-qbphfcrejc] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.75rem 1.05rem;
    border-radius: 999px;
    background: #ff8a1f;
    color: #ffffff;
    font-size: 0.94rem;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(255, 138, 31, 0.25);
}

.booking-payment__selected-pill[b-qbphfcrejc] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    background: #ffffff;
    color: #2f8890;
    font-size: 0.88rem;
    font-weight: 800;
    white-space: nowrap;
}

.booking-payment__secondary[b-qbphfcrejc] {
    width: 100%;
}

.booking-payment__offline[b-qbphfcrejc] {
    width: auto;
    max-width: 100%;
    border: 0;
    background: transparent;
    padding: 0.15rem 0;
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    text-align: left;
    color: #63768b;
    font-size: 0.98rem;
    font-weight: 500;
    transition: 0.2s ease;
}

    .booking-payment__offline:hover[b-qbphfcrejc] {
        color: #24364a;
    }

.booking-payment__offline-check[b-qbphfcrejc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    color: #7f92a5;
    flex-shrink: 0;
}

.booking-payment__offline--selected .booking-payment__offline-check[b-qbphfcrejc] {
    color: #2f8890;
}

.booking-payment__offline-text[b-qbphfcrejc] {
    line-height: 1.5;
}

.booking-payment__offline--selected .booking-payment__offline-text[b-qbphfcrejc] {
    color: #24364a;
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .booking-payment__online[b-qbphfcrejc] {
        padding: 1.1rem 1rem;
    }

    .booking-payment__online-title[b-qbphfcrejc] {
        font-size: 1.2rem;
    }

    .booking-payment__online-top[b-qbphfcrejc] {
        align-items: flex-start;
    }

    .booking-payment__online-footer[b-qbphfcrejc] {
        justify-content: flex-start;
    }
}
/* /Components/Booking/BookingStepService.razor.rz.scp.css */
.booking-services[b-ppdkkxw1do] {
    width: 100%;
}

.booking-services__list[b-ppdkkxw1do] {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    max-height: 360px;
    overflow-y: auto;
    padding-right: 0.35rem;
}

    .booking-services__list[b-ppdkkxw1do]::-webkit-scrollbar {
        width: 8px;
    }

    .booking-services__list[b-ppdkkxw1do]::-webkit-scrollbar-thumb {
        background: #d7e2e8;
        border-radius: 999px;
    }

.booking-services__item[b-ppdkkxw1do] {
    width: 100%;
    border: 1.5px solid #dbe5eb;
    background: #ffffff;
    border-radius: 18px;
    padding: 1rem 1.15rem;
    text-align: left;
    transition: 0.2s ease;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
}

    .booking-services__item:hover[b-ppdkkxw1do] {
        border-color: #49a8b0;
        box-shadow: 0 10px 24px rgba(73, 168, 176, 0.10);
    }

.booking-services__item--selected[b-ppdkkxw1do] {
    background: #54a9b1;
    border-color: #2a2a2a;
    box-shadow: 0 10px 24px rgba(73, 168, 176, 0.18);
}

.booking-services__main[b-ppdkkxw1do] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    width: 100%;
}

.booking-services__top[b-ppdkkxw1do],
.booking-services__bottom[b-ppdkkxw1do] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.booking-services__name[b-ppdkkxw1do] {
    font-size: 1.08rem;
    font-weight: 600;
    color: #24364a;
    line-height: 1.3;
}

.booking-services__item--selected .booking-services__name[b-ppdkkxw1do] {
    color: #ffffff;
}

.booking-services__duration[b-ppdkkxw1do] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    background: #eef7f8;
    color: #2f8890;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.booking-services__duration--selected[b-ppdkkxw1do] {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.booking-services__price[b-ppdkkxw1do] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #24364a;
    white-space: nowrap;
}

.booking-services__item--selected .booking-services__price[b-ppdkkxw1do] {
    color: #ffffff;
}

.booking-services__action[b-ppdkkxw1do] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #5f7287;
    white-space: nowrap;
}

.booking-services__selected-badge[b-ppdkkxw1do] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.42rem 0.85rem;
    border-radius: 999px;
    background: #ffffff;
    color: #2f8890;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .booking-services__top[b-ppdkkxw1do],
    .booking-services__bottom[b-ppdkkxw1do] {
        flex-direction: column;
        align-items: flex-start;
    }

    .booking-services__list[b-ppdkkxw1do] {
        max-height: 420px;
    }
}
/* /Components/Centers/CenterBreadcrumbs.razor.rz.scp.css */
.center-card[b-t99dfq7vkr] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-breadcrumbs[b-t99dfq7vkr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: .25rem;
    padding: .95rem 1.2rem;
    font-size: .93rem;
}

.center-breadcrumbs__link[b-t99dfq7vkr] {
    color: #2f9ca2;
    text-decoration: none;
    font-weight: 600;
    word-break: break-word;
}

.center-breadcrumbs__current[b-t99dfq7vkr] {
    color: #495057;
    font-weight: 600;
    word-break: break-word;
}

.center-breadcrumbs__separator[b-t99dfq7vkr] {
    margin: 0 .5rem;
    color: #adb5bd;
}

@media (max-width: 575.98px) {
    .center-breadcrumbs[b-t99dfq7vkr] {
        padding: .7rem .9rem;
        font-size: .85rem;
    }

    .center-breadcrumbs__separator[b-t99dfq7vkr] {
        margin: 0 .35rem;
    }
}
/* /Components/Centers/CenterHero.razor.rz.scp.css */
.center-card[b-f2xlu90c0x] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-hero[b-f2xlu90c0x] {
    margin-bottom: 1rem;
}

.center-hero__banner[b-f2xlu90c0x] {
    height: 170px;
    border-radius: 1rem 1rem 0 0;
    overflow: hidden;
    background: #dfeef0;
    border: 1px solid #e7ebef;
    border-bottom: 0;
}

    .center-hero__banner.is-placeholder[b-f2xlu90c0x] {
        background: linear-gradient(135deg, rgba(47, 156, 162, .22), rgba(47, 156, 162, .06)), linear-gradient(90deg, #dbe8ea, #eef4f5);
    }

.center-hero__banner-image[b-f2xlu90c0x] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.center-hero__content[b-f2xlu90c0x] {
    margin-top: -1px;
    border-radius: 0 0 1rem 1rem;
    padding: 1.75rem 2rem 1.75rem;
}

.center-hero__logo[b-f2xlu90c0x] {
    width: 118px;
    height: 118px;
    min-width: 118px;
    border-radius: 50%;
    border: 4px solid #2f9ca2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.center-hero__logo-image[b-f2xlu90c0x] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.center-hero__logo-placeholder[b-f2xlu90c0x] {
    font-size: 2.65rem;
    color: #2f9ca2;
    line-height: 1;
    font-weight: 700;
}

.center-hero__title[b-f2xlu90c0x] {
    margin: 0 0 .55rem 0;
    font-size: clamp(1.7rem, 2.2vw, 2.6rem);
    line-height: 1.15;
    font-weight: 700;
    color: #22314d;
}

.center-hero__contact-line[b-f2xlu90c0x] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: auto;
    gap: .6rem 1rem;
}

@media (max-width: 1199.98px) {
    .center-hero__contact-line[b-f2xlu90c0x] {
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-start;
        margin-left: unset;
        gap: .6rem 1rem;
    }
}

.center-hero__phone[b-f2xlu90c0x] {
    display: inline-flex;
    align-items: center;
    color: #2f9ca2;
    font-weight: 600;
    font-size: 1.05rem;
    text-decoration: none;
    transition: color 0.15s ease;
}

    .center-hero__phone:hover[b-f2xlu90c0x] {
        color: #1f7f86;
        text-decoration: underline;
    }

.center-hero__rating[b-f2xlu90c0x] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    color: #5f6b7a;
    font-size: .96rem;
    font-weight: 700;
}

.center-hero__stars[b-f2xlu90c0x] {
    color: #f4a51c;
    letter-spacing: 1px;
    line-height: 1;
}

.center-hero__stars--large[b-f2xlu90c0x] {
    font-size: 1.8rem;
    display: inline-block;
    vertical-align: middle;
}

.center-hero__rating-value[b-f2xlu90c0x] {
    color: #22314d;
}

.center-hero__rating-count[b-f2xlu90c0x] {
    color: #8a94a3;
    font-weight: 600;
}

.center-hero__meta[b-f2xlu90c0x] {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.5rem;
    color: #6c757d;
    margin-top: .5rem;
    font-size: .95rem;
    line-height: 1.45;
}

.center-hero__cta[b-f2xlu90c0x] {
    min-width: 230px;
    padding: .7rem 1.6rem;
    border: 2px solid #ff7a30;
    border-radius: .45rem;
    background-color: #fff;
    color: #ff7a30;
    font-weight: 700;
    box-shadow: none;
}

    .center-hero__cta:hover[b-f2xlu90c0x],
    .center-hero__cta:focus[b-f2xlu90c0x],
    .center-hero__cta:active[b-f2xlu90c0x] {
        background-color: #fff;
        border-color: #ff7a30;
        color: #ff7a30;
        box-shadow: none;
    }

@media (max-width: 1199.98px) {
    .center-hero__content[b-f2xlu90c0x] {
        padding: 1.5rem 1.5rem 1.6rem;
    }

    .center-hero__cta[b-f2xlu90c0x] {
        min-width: 210px;
    }
}

@media (max-width: 767.98px) {
    .center-hero__banner[b-f2xlu90c0x] {
        height: 135px;
    }

    .center-hero__logo[b-f2xlu90c0x] {
        width: 96px;
        height: 96px;
        min-width: 96px;
    }

    .center-hero__logo-placeholder[b-f2xlu90c0x] {
        font-size: 2.15rem;
    }

    .center-hero__content[b-f2xlu90c0x] {
        padding: 1.25rem;
    }

    .center-hero__title[b-f2xlu90c0x] {
        font-size: 1.9rem;
    }

    .center-hero__cta[b-f2xlu90c0x] {
        width: 100%;
        min-width: 0;
    }
}
/* /Components/Centers/CenterMedicalTeamSection.razor.rz.scp.css */
.center-card[b-5wxtwfl585] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-5wxtwfl585] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-section-subtitle[b-5wxtwfl585] {
    color: #6b7684;
    font-size: .95rem;
    margin-bottom: 0;
    line-height: 1.6;
}

.center-team__filters[b-5wxtwfl585] {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.center-team__filter[b-5wxtwfl585] {
    padding: .45rem .85rem;
    border: 1px solid #d6e1e5;
    border-radius: .65rem;
    background: #fff;
    color: #5f6b7a;
    font-size: .88rem;
    font-weight: 600;
    transition: all .2s ease;
}

    .center-team__filter:hover[b-5wxtwfl585] {
        border-color: #2f9ca2;
        color: #2f9ca2;
        background: #f7fbfc;
    }

    .center-team__filter.active[b-5wxtwfl585] {
        background: #0f9cab;
        border-color: #0f9cab;
        color: #fff;
    }

.center-team-card[b-5wxtwfl585] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    padding: 1rem;
    border: 1px solid #e2e8ec;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

    .center-team-card:hover[b-5wxtwfl585] {
        border-color: #c7dce0;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
        transform: translateY(-1px);
    }

.center-team-card__top[b-5wxtwfl585] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.center-team-card__photo-wrap[b-5wxtwfl585] {
    width: 4.4rem;
    height: 4.4rem;
    min-width: 4.4rem;
}

.center-team-card__photo[b-5wxtwfl585],
.center-team-card__photo-placeholder[b-5wxtwfl585] {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #27a7b5;
    object-fit: cover;
}

.center-team-card__photo-placeholder[b-5wxtwfl585] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4fbfc;
    color: #27a7b5;
    font-weight: 700;
    font-size: 1rem;
}

.center-team-card__body[b-5wxtwfl585] {
    min-width: 0;
    flex: 1;
}

.center-team-card__name[b-5wxtwfl585] {
    margin: 0 0 .2rem 0;
    font-size: 1.03rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.3;
    min-height: 2.55rem;
}

.center-team-card__specialty[b-5wxtwfl585] {
    margin-bottom: .35rem;
    color: #20a0ae;
    font-size: .9rem;
    font-weight: 600;
}

.center-team-card__description[b-5wxtwfl585] {
    margin: 0 0 .55rem 0;
    color: #6b7684;
    font-size: .9rem;
    line-height: 1.55;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    min-height: 4.15rem;
}

.center-team-card__rating[b-5wxtwfl585] {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
}

.center-team-card__stars[b-5wxtwfl585] {
    color: #f4a51c;
    letter-spacing: 1px;
    font-size: .9rem;
}

.center-team-card__rating-value[b-5wxtwfl585] {
    color: #22314d;
    font-weight: 700;
    font-size: .88rem;
}

.center-team-card__reviews[b-5wxtwfl585] {
    color: #7a8592;
    font-size: .85rem;
}

.center-team-card__footer[b-5wxtwfl585] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .85rem;
    border-top: 1px solid #edf2f4;
}

.center-team-card__link[b-5wxtwfl585] {
    color: #1ba0ae;
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none;
}

.center-team-card__actions[b-5wxtwfl585] {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.center-team-card__book[b-5wxtwfl585] {
    color: #ff7a30;
    font-weight: 700;
    font-size: .9rem;
    text-decoration: none;
}

.center-team-card__icon-btn[b-5wxtwfl585] {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    border: 1px solid #8fd0d5;
    background: #fff;
    color: #2f9ca2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

    .center-team-card__icon-btn:hover[b-5wxtwfl585] {
        background: #f5fbfc;
    }
/* /Components/Centers/CenterOverviewSection.razor.rz.scp.css */
.center-card[b-7ccuvho1yg] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-7ccuvho1yg] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.center-text[b-7ccuvho1yg] {
    color: #5f6b7a;
    line-height: 1.8;
    font-size: .98rem;
}

.center-inline-link[b-7ccuvho1yg] {
    font-weight: 600;
    color: #2f9ca2;
    font-size: .92rem;
}

.center-specialties-grid[b-7ccuvho1yg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.85rem;
}

.center-specialty-tile[b-7ccuvho1yg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    padding: 1.1rem 0.75rem;
    background: #fff;
    border: 1px solid #d3e7e9;
    border-radius: 0.85rem;
    text-align: center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

    .center-specialty-tile:hover[b-7ccuvho1yg] {
        border-color: #5F9EA0;
        box-shadow: 0 6px 16px rgba(95, 158, 160, 0.12);
        transform: translateY(-2px);
    }

.center-specialty-tile__icon[b-7ccuvho1yg] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #eef6f7;
}

.center-specialty-tile__name[b-7ccuvho1yg] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #22314d;
    line-height: 1.25;
}

@media (max-width: 767.98px) {
    .center-section-title[b-7ccuvho1yg] {
        font-size: 1.35rem;
    }

    .center-text[b-7ccuvho1yg] {
        font-size: .95rem;
    }
}
/* /Components/Centers/CenterPageShell.razor.rz.scp.css */
.center-page[b-74r9ptzzwz] {
    background: #f4f6f8;
    min-height: 100%;
}

.center-card[b-74r9ptzzwz] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-breadcrumbs[b-74r9ptzzwz] {
    padding: 1rem 1.25rem;
    font-size: 0.95rem;
}

.center-breadcrumbs__link[b-74r9ptzzwz] {
    color: #2f9ca2;
    text-decoration: none;
    font-weight: 600;
}

.center-breadcrumbs__current[b-74r9ptzzwz] {
    color: #495057;
    font-weight: 600;
}

.center-breadcrumbs__separator[b-74r9ptzzwz] {
    margin: 0 .5rem;
    color: #adb5bd;
}

.center-hero__banner[b-74r9ptzzwz] {
    height: 210px;
    border-radius: 1rem 1rem 0 0;
    overflow: hidden;
    background: #dfeef0;
    border: 1px solid #e7ebef;
    border-bottom: 0;
}

    .center-hero__banner.is-placeholder[b-74r9ptzzwz] {
        background: linear-gradient(135deg, rgba(47,156,162,.22), rgba(47,156,162,.06)), linear-gradient(90deg, #dbe8ea, #eef4f5);
    }

.center-hero__banner-image[b-74r9ptzzwz] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.center-hero__content[b-74r9ptzzwz] {
    margin-top: -1px;
    border-radius: 0 0 1rem 1rem;
    padding: 2rem;
}

.center-hero__logo[b-74r9ptzzwz] {
    width: 140px;
    height: 140px;
    min-width: 140px;
    border-radius: 50%;
    border: 4px solid #2f9ca2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.center-hero__logo-image[b-74r9ptzzwz] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.center-hero__logo-placeholder[b-74r9ptzzwz] {
    font-size: 3rem;
    color: #2f9ca2;
    line-height: 1;
}

.center-hero__title[b-74r9ptzzwz] {
    margin: 0 0 .5rem 0;
    font-size: clamp(1.8rem, 2.8vw, 2.8rem);
    font-weight: 700;
    color: #22314d;
}

.center-hero__rating[b-74r9ptzzwz] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.center-hero__stars[b-74r9ptzzwz] {
    color: #f4a51c;
    letter-spacing: 2px;
    font-size: 1rem;
}

.center-hero__rating-value[b-74r9ptzzwz] {
    font-weight: 700;
    color: #22314d;
}

.center-hero__meta[b-74r9ptzzwz] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
    color: #6c757d;
    margin-top: .5rem;
}

.center-hero__cta[b-74r9ptzzwz] {
    min-width: 220px;
    border-width: 2px;
    font-weight: 700;
}

.center-sidebar[b-74r9ptzzwz] {
    position: sticky;
    top: 1.5rem;
}

.center-sidebar__item[b-74r9ptzzwz] {
    display: block;
    padding: 1rem 1rem;
    border-radius: .75rem;
    color: #495057;
    text-decoration: none;
    font-weight: 600;
    transition: background-color .2s ease, color .2s ease;
}

    .center-sidebar__item:hover[b-74r9ptzzwz] {
        background: #eef7f8;
        color: #2f9ca2;
    }

.center-section-title[b-74r9ptzzwz] {
    font-size: 1.3rem;
    font-weight: 700;
    color: #22314d;
    margin-bottom: 1rem;
}

.center-text[b-74r9ptzzwz] {
    color: #5f6b7a;
    line-height: 1.7;
}

.center-photo[b-74r9ptzzwz] {
    height: 100%;
}

.center-photo__image[b-74r9ptzzwz],
.center-photo__placeholder[b-74r9ptzzwz] {
    width: 100%;
    height: 210px;
    border-radius: .9rem;
    display: block;
}

.center-photo__image[b-74r9ptzzwz] {
    object-fit: cover;
}

.center-photo__placeholder[b-74r9ptzzwz] {
    background: linear-gradient(135deg, rgba(47,156,162,.16), rgba(47,156,162,.05)), #eef4f5;
    border: 1px solid #dde6e8;
    color: #2f9ca2;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
}
.center-page[b-74r9ptzzwz] {
    background: #f4f6f8;
    min-height: 100%;
}
/* /Components/Centers/CenterPhotosSection.razor.rz.scp.css */
.center-card[b-2tfwmvl4br] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-2tfwmvl4br] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    margin-bottom: 1rem;
}

.center-photo[b-2tfwmvl4br] {
    height: 100%;
}

.center-photo__image[b-2tfwmvl4br],
.center-photo__placeholder[b-2tfwmvl4br] {
    width: 100%;
    height: 210px;
    border-radius: .9rem;
    display: block;
}

.center-photo__image[b-2tfwmvl4br] {
    object-fit: cover;
}

.center-photo__placeholder[b-2tfwmvl4br] {
    background: linear-gradient(135deg, rgba(47, 156, 162, .16), rgba(47, 156, 162, .05)), #eef4f5;
    border: 1px solid #dde6e8;
    color: #2f9ca2;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
}
/* /Components/Centers/CenterPlaceholderSection.razor.rz.scp.css */
.center-card[b-bxd74q66iv] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-bxd74q66iv] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    margin-bottom: 1rem;
}
/* /Components/Centers/CenterReservaSection.razor.rz.scp.css */
.center-card[b-mmr92tdmwe] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-mmr92tdmwe] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-section-subtitle[b-mmr92tdmwe] {
    color: #6b7684;
    font-size: .95rem;
    margin-bottom: 0;
    line-height: 1.6;
}

/* Los controles de formulario no heredan la fuente del documento por defecto
   (el textarea suele caer a monoespaciada); la forzamos a la del resto de la
   página, igual que hacen otras cards del proyecto. */
.center-card textarea[b-mmr92tdmwe],
.center-card input[b-mmr92tdmwe],
.center-card button[b-mmr92tdmwe] {
    font-family: inherit;
}
/* /Components/Centers/CenterReviewsSection.razor.rz.scp.css */
.center-card[b-qj6z3q9d24] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-qj6z3q9d24] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
}

.center-reviews__average[b-qj6z3q9d24] {
    font-size: 3rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1;
    margin-bottom: .4rem;
}

.center-reviews__stars[b-qj6z3q9d24] {
    color: #f4a51c;
    letter-spacing: 2px;
    font-size: 1.1rem;
    margin-bottom: .35rem;
}

.center-reviews__total[b-qj6z3q9d24] {
    color: #5f6b7a;
    font-weight: 600;
    margin-bottom: .25rem;
}

.center-reviews__verified[b-qj6z3q9d24] {
    color: #8a94a3;
    font-size: .88rem;
}

.center-reviews__distribution[b-qj6z3q9d24] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.center-reviews__distribution-row[b-qj6z3q9d24] {
    display: grid;
    grid-template-columns: 85px 1fr 90px;
    gap: 1rem;
    align-items: center;
}

.center-reviews__distribution-label[b-qj6z3q9d24],
.center-reviews__distribution-value[b-qj6z3q9d24] {
    color: #6b7684;
    font-size: .92rem;
}

.center-reviews__distribution-bar[b-qj6z3q9d24] {
    height: .4rem;
    border-radius: 999px;
    background: #e8eef1;
    overflow: hidden;
}

.center-reviews__distribution-fill[b-qj6z3q9d24] {
    height: 100%;
    border-radius: 999px;
    background: #2f9ca2;
}

.center-reviews__filters[b-qj6z3q9d24] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.center-reviews__filter[b-qj6z3q9d24] {
    padding: .5rem .9rem;
    border: 1px solid #d6e1e5;
    border-radius: .7rem;
    background: #fff;
    color: #5f6b7a;
    font-size: .9rem;
    font-weight: 600;
    transition: all .2s ease;
}

    .center-reviews__filter:hover[b-qj6z3q9d24] {
        border-color: #2f9ca2;
        color: #2f9ca2;
        background: #f7fbfc;
    }

    .center-reviews__filter.active[b-qj6z3q9d24] {
        background: #0f9cab;
        border-color: #0f9cab;
        color: #fff;
    }

.center-review-item[b-qj6z3q9d24] {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 1rem;
    align-items: start;
    padding: .95rem 1.05rem;
    border: 1px solid #e3eaee;
    border-radius: .85rem;
    background: #fff;
}

.center-review-item__left[b-qj6z3q9d24] {
    display: flex;
    gap: .8rem;
    align-items: center;
    min-width: 0;
}

.center-review-item__avatar-wrap[b-qj6z3q9d24] {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
}

.center-review-item__avatar[b-qj6z3q9d24],
.center-review-item__avatar-placeholder[b-qj6z3q9d24] {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.center-review-item__avatar-placeholder[b-qj6z3q9d24] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef4f8;
    color: #60758a;
    font-weight: 700;
}

.center-review-item__name[b-qj6z3q9d24] {
    color: #22314d;
    font-weight: 700;
    font-size: .95rem;
    line-height: 1.2;
}

.center-review-item__date[b-qj6z3q9d24] {
    color: #8a94a3;
    font-size: .85rem;
    margin-top: .2rem;
}

.center-review-item__stars-row[b-qj6z3q9d24] {
    margin-bottom: .35rem;
}

.center-review-item__stars[b-qj6z3q9d24] {
    color: #f4a51c;
    letter-spacing: 1px;
    font-size: .95rem;
}

.center-review-item__comment[b-qj6z3q9d24] {
    color: #5f6b7a;
    font-size: .92rem;
    line-height: 1.6;
}

@media (max-width: 991.98px) {
    .center-review-item[b-qj6z3q9d24] {
        grid-template-columns: 1fr;
    }

    .center-reviews__distribution-row[b-qj6z3q9d24] {
        grid-template-columns: 70px 1fr 75px;
        gap: .75rem;
    }
}
/* /Components/Centers/CenterScheduleSection.razor.rz.scp.css */
.center-card[b-zj6brsbd1h] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-zj6brsbd1h] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-schedule__title-icon[b-zj6brsbd1h] {
    color: #2f9ca2;
    font-size: 1.1rem;
}

.center-schedule__info-banner[b-zj6brsbd1h] {
    display: flex;
    align-items: center;
    padding: .8rem 1rem;
    background: #eef7f8;
    border: 1px solid #d5eaec;
    border-radius: .6rem;
    color: #2f9ca2;
    font-size: .9rem;
    font-weight: 600;
}

.center-schedule__table[b-zj6brsbd1h] {
    border: 1px solid #e7ebef;
    border-radius: .75rem;
    overflow: hidden;
    margin-bottom: 0;
}

    .center-schedule__table thead th[b-zj6brsbd1h] {
        background: #f3f6f8;
        color: #5f6b7a;
        font-size: .9rem;
        font-weight: 700;
        border-bottom: 1px solid #e7ebef;
        padding: .8rem 1rem;
    }

    .center-schedule__table tbody td[b-zj6brsbd1h] {
        padding: .75rem 1rem;
        color: #5f6b7a;
        font-size: .94rem;
        border-bottom: 1px solid #edf1f4;
    }

    .center-schedule__table tbody tr:last-child td[b-zj6brsbd1h] {
        border-bottom: 0;
    }

    .center-schedule__table tbody tr.is-highlighted td[b-zj6brsbd1h] {
        color: #ef5350;
        font-weight: 600;
    }

.center-schedule__footnote[b-zj6brsbd1h] {
    color: #6b7684;
    font-size: .9rem;
}

.center-side-card__icon[b-zj6brsbd1h] {
    color: #2f9ca2;
    font-size: .98rem;
    margin-top: .15rem;
}

.center-side-card__title[b-zj6brsbd1h] {
    font-size: 1rem;
    font-weight: 700;
    color: #22314d;
}

.center-side-card__text[b-zj6brsbd1h] {
    color: #6b7684;
    line-height: 1.6;
    font-size: .93rem;
}

.center-side-card__link[b-zj6brsbd1h] {
    color: #2f9ca2;
    font-weight: 600;
    font-size: .92rem;
}

.center-side-card__hours[b-zj6brsbd1h] {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    color: #5f6b7a;
    font-size: .93rem;
}

.center-side-card__phone[b-zj6brsbd1h] {
    color: #00a1b3;
    font-weight: 700;
    font-size: 1.15rem;
    text-decoration: none;
    transition: color 0.15s ease;
}

    .center-side-card__phone:hover[b-zj6brsbd1h] {
        color: #1f7f86;
        text-decoration: underline;
    }

.center-side-card__text--muted[b-zj6brsbd1h] {
    color: #8693a0;
    font-size: .85rem;
}

.center-holidays[b-zj6brsbd1h] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    color: #5f6b7a;
    font-size: .93rem;
}
/* /Components/Centers/CenterServicesSection.razor.rz.scp.css */
.center-card[b-f6uyzixi6l] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-f6uyzixi6l] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-section-subtitle[b-f6uyzixi6l] {
    color: #6b7684;
    font-size: .96rem;
    margin-bottom: 0;
    line-height: 1.6;
}

.center-service-item[b-f6uyzixi6l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.1rem 1.25rem;
    background: #fff;
    border: 1px solid #e2e8ec;
    border-radius: .9rem;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

    .center-service-item:hover[b-f6uyzixi6l] {
        border-color: #5F9EA0;
        box-shadow: 0 8px 20px rgba(95, 158, 160, 0.10);
        transform: translateY(-1px);
    }

.center-service-item__main[b-f6uyzixi6l] {
    min-width: 0;
    flex: 1;
}

.center-service-item__title[b-f6uyzixi6l] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #22314d;
    margin: 0 0 .35rem 0;
    line-height: 1.3;
}

.center-service-item__duration[b-f6uyzixi6l] {
    display: inline-flex;
    align-items: center;
    color: #7a8592;
    font-size: .9rem;
}

.center-service-item__price[b-f6uyzixi6l] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #2f9ca2;
    white-space: nowrap;
    flex-shrink: 0;
}

@media (max-width: 575.98px) {
    .center-service-item[b-f6uyzixi6l] {
        gap: 1rem;
        padding: 0.9rem 1rem;
    }

    .center-service-item__price[b-f6uyzixi6l] {
        font-size: 1.2rem;
    }
}
/* /Components/Centers/CenterSidebarMenu.razor.rz.scp.css */
.center-sidebar[b-7hpx105x4u] {
    position: sticky;
    top: 6.5rem;
}

.center-sidebar__tabs[b-7hpx105x4u] {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.center-sidebar__tab[b-7hpx105x4u] {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    min-height: 3.45rem;
    padding: .9rem 1rem;
    background: #eef7f8;
    border: 1px solid #b9dfe2;
    border-radius: .7rem;
    color: #4f5965;
    text-decoration: none;
    font-weight: 500;
    text-align: left;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

    .center-sidebar__tab i[b-7hpx105x4u] {
        color: #5b5f66;
        font-size: .98rem;
        width: 1rem;
        text-align: center;
        flex-shrink: 0;
    }

    .center-sidebar__tab[b-7hpx105x4u]  .pronto-badge {
        margin-left: auto;
    }

    .center-sidebar__tab:hover[b-7hpx105x4u] {
        background: #e6f4f5;
        border-color: #97d3d7;
        color: #1f7f86;
    }

        .center-sidebar__tab:hover i[b-7hpx105x4u] {
            color: #1f7f86;
        }

    .center-sidebar__tab.active[b-7hpx105x4u] {
        background: #eef7f8;
        border-color: #7fc6cc;
        color: #2f9ca2;
        font-weight: 600;
        box-shadow: inset 4px 0 0 #2f9ca2;
    }

        .center-sidebar__tab.active i[b-7hpx105x4u] {
            color: #2f9ca2;
        }

@media (max-width: 991.98px) {
    .center-sidebar[b-7hpx105x4u] {
        position: static;
        top: auto;
    }
}
/* /Components/Centers/CenterSpecialtiesSection.razor.rz.scp.css */
.center-card[b-3yi4i8qbsh] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-3yi4i8qbsh] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
}

.center-specialties__count[b-3yi4i8qbsh] {
    color: #2f9ca2;
    font-weight: 600;
    font-size: .95rem;
}

.center-specialty-card[b-3yi4i8qbsh] {
    height: 100%;
    padding: 1rem 1rem 1.1rem;
    border: 1px solid #dbe7ea;
    border-radius: .9rem;
    background: #fafdfe;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

    .center-specialty-card:hover[b-3yi4i8qbsh] {
        border-color: #b9dfe2;
        transform: translateY(-1px);
        box-shadow: 0 8px 20px rgba(47, 156, 162, 0.08);
    }

.center-specialty-card__header[b-3yi4i8qbsh] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: .6rem;
}

.center-specialty-card__title[b-3yi4i8qbsh] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.3;
}

.center-specialty-card__badge[b-3yi4i8qbsh] {
    flex-shrink: 0;
    padding: .35rem .65rem;
    border-radius: 999px;
    background: #eef7f8;
    color: #2f9ca2;
    font-size: .82rem;
    font-weight: 600;
    border: 1px solid #cfe6e8;
}

.center-specialty-card__text[b-3yi4i8qbsh] {
    color: #5f6b7a;
    line-height: 1.65;
    font-size: .95rem;
}
/* /Components/Centers/Review/RatingFieldCard.razor.rz.scp.css */
/* Estilos del componente. El CSS isolated del padre (CenterReview.razor.css) NO
   aplica aquí porque los atributos de scope son por componente: los estilos de la
   card tienen que vivir en su propio .razor.css para que se rendericen. */

.review-rating-card[b-sa3sfi95cs] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}

.review-rating-card__icon[b-sa3sfi95cs] {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #e9f7f8;
    color: #0f766e;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
}

.review-rating-card__body[b-sa3sfi95cs] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.review-rating-card__label[b-sa3sfi95cs] {
    color: #334155;
    font-size: .9rem;
    font-weight: 600;
}

@media (max-width: 575px) {
    .review-rating-card[b-sa3sfi95cs] {
        flex-direction: column;
        align-items: stretch;
    }

    .review-rating-card__icon[b-sa3sfi95cs] {
        align-self: flex-start;
    }
}
/* /Components/Dashboard/Appointments/AppointmentCalendar.razor.rz.scp.css */
.appt-calendar-card[b-w2m5ktejta] {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    padding: 1.5rem;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
}

/* ── Cabecera mes ── */
.cal-header[b-w2m5ktejta] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.cal-month-title[b-w2m5ktejta] {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    text-transform: capitalize;
}

.cal-nav[b-w2m5ktejta] {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    border: none;
    background: #f1f5f9;
    color: #475569;
    cursor: pointer;
    transition: background .15s ease;
}

    .cal-nav:hover[b-w2m5ktejta] {
        background: #ccedeb;
        color: #0f766e;
    }

/* ── Grid de días ── */
.cal-grid[b-w2m5ktejta] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.cal-day-label[b-w2m5ktejta] {
    text-align: center;
    font-size: .78rem;
    font-weight: 700;
    color: #94a3b8;
    padding: .4rem 0;
    text-transform: uppercase;
}

.cal-cell[b-w2m5ktejta] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    height: 52px;
    border-radius: 10px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: background .15s ease;
}

.cal-cell--empty[b-w2m5ktejta] {
    cursor: default;
    pointer-events: none;
}

.cal-cell:not(.cal-cell--empty):hover[b-w2m5ktejta] {
    background: #f1f5f9;
}

.cal-number[b-w2m5ktejta] {
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1;
}

.cal-cell--past .cal-number[b-w2m5ktejta] {
    color: #94a3b8;
}

/* Día de hoy */
.cal-cell--today[b-w2m5ktejta] {
    border: 1.5px solid #0f766e;
}

    .cal-cell--today .cal-number[b-w2m5ktejta] {
        color: #0f766e;
    }

/* Día seleccionado */
.cal-cell--selected[b-w2m5ktejta] {
    background: #0f766e !important;
}

    .cal-cell--selected .cal-number[b-w2m5ktejta] {
        color: #ffffff;
    }

    .cal-cell--selected .cal-dot[b-w2m5ktejta] {
        background: rgba(255, 255, 255, 0.7) !important;
    }

/* ── Puntos de cita ── */
.cal-dots[b-w2m5ktejta] {
    display: flex;
    gap: 3px;
    align-items: center;
    justify-content: center;
}

.cal-dot[b-w2m5ktejta] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cal-dot--confirmed[b-w2m5ktejta] {
    background: #16a34a;
}

.cal-dot--pending[b-w2m5ktejta] {
    background: #ca8a04;
}

.cal-dot--cancelled[b-w2m5ktejta] {
    background: #dc2626;
}

.cal-dot--completed[b-w2m5ktejta] {
    background: #94a3b8;
}

.cal-dot--past[b-w2m5ktejta] {
    background: #cbd5e1;
}

/* ── Footer ── */
.cal-footer[b-w2m5ktejta] {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.cal-today-btn[b-w2m5ktejta] {
    padding: .45rem 1.25rem;
    border-radius: 8px;
    border: none;
    background: #0f766e;
    color: #ffffff;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease;
}

    .cal-today-btn:hover[b-w2m5ktejta] {
        background: #0c4e54;
    }

/* ── Leyenda ── */
.cal-legend[b-w2m5ktejta] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.25rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.cal-legend-item[b-w2m5ktejta] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .78rem;
    color: #64748b;
}

.cal-legend-today[b-w2m5ktejta] {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 5px;
    border: 1.5px solid #0f766e;
}

.cal-legend-selected[b-w2m5ktejta] {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 5px;
    background: #0f766e;
}
/* /Components/Dashboard/Appointments/AppointmentList.razor.rz.scp.css */
/* ── PANEL CONTENEDOR ── */
.appt-panel[b-02ovj463oj] {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    padding: 1.25rem;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
    min-height: 480px;
}

.appt-panel--empty[b-02ovj463oj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #64748b;
    gap: .75rem;
}

.appt-empty-icon[b-02ovj463oj] {
    font-size: 2rem;
}

/* ── CABECERA DEL PANEL ── */
.appt-panel-date[b-02ovj463oj] {
    font-size: 1.4rem;
    font-weight: 500;
    text-transform: capitalize;
    color: #0f172a;
    margin: 0 0 1rem;
    letter-spacing: .02em;
}

.appt-history-notice[b-02ovj463oj] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .6rem .85rem;
    margin-bottom: .85rem;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
    font-size: .82rem;
}

/* ── LISTA DE ACORDEONES ── */
.appt-list[b-02ovj463oj] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.appt-item[b-02ovj463oj] {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    overflow: hidden;
}

.appt-item--past[b-02ovj463oj] {
    opacity: .75;
}

.appt-item-header[b-02ovj463oj] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem 1rem;
    background: #f8fafc;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background .18s ease;
}

    .appt-item-header:hover[b-02ovj463oj] {
        background: #f1f5f9;
    }

.appt-item-summary[b-02ovj463oj] {
    flex: 1;
    font-size: .9rem;
    color: #334155;
}

.appt-chevron[b-02ovj463oj] {
    color: #94a3b8;
    font-size: .85rem;
}

/* ── BADGES DE ESTADO ── */
.appt-status-badge[b-02ovj463oj] {
    display: inline-flex;
    align-items: center;
    padding: .25rem .6rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 500;
    white-space: nowrap;
}

.appt-status-badge--confirmed[b-02ovj463oj] {
    background: #dcfce7;
    color: #166534;
}

.appt-status-badge--pending[b-02ovj463oj] {
    background: #fef9c3;
    color: #854d0e;
}

.appt-status-badge--cancelled[b-02ovj463oj] {
    background: #fee2e2;
    color: #991b1b;
}

.appt-status-badge--completed[b-02ovj463oj] {
    background: #f1f5f9;
    color: #475569;
}

/* ── CUERPO EXPANDIDO ── */
.appt-item-body[b-02ovj463oj] {
    padding: 1rem;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    background: #ffffff;
}

.appt-detail-list[b-02ovj463oj] {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    color: #475569;
    font-size: .875rem;
}

    .appt-detail-list li[b-02ovj463oj] {
        display: flex;
        align-items: flex-start;
        gap: .5rem;
    }

    .appt-detail-list i[b-02ovj463oj] {
        color: #0f766e;
        margin-top: 2px;
        flex-shrink: 0;
    }

/* ── BOTONES DE ACCIÓN ── */
.appt-actions[b-02ovj463oj] {
    display: flex;
    gap: .6rem;
}

.appt-btn[b-02ovj463oj] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .9rem;
    border-radius: 10px;
    font-size: .85rem;
    font-weight: 600;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all .18s ease;
}

.appt-btn--secondary[b-02ovj463oj] {
    background: #f0fdfa;
    border-color: #0f766e;
    color: #0f766e;
}

    .appt-btn--secondary:hover[b-02ovj463oj] {
        background: #0f766e;
        color: #ffffff;
    }

.appt-btn--danger[b-02ovj463oj] {
    background: #fff1f2;
    border-color: #e11d48;
    color: #e11d48;
}

    .appt-btn--danger:hover[b-02ovj463oj] {
        background: #e11d48;
        color: #ffffff;
    }

.appt-btn--primary[b-02ovj463oj] {
    background: #0f766e;
    border-color: #0f766e;
    color: #ffffff;
}

    .appt-btn--primary:hover[b-02ovj463oj] {
        background: #0c4e54;
        border-color: #0c4e54;
    }

.appt-review-callout[b-02ovj463oj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    padding: .75rem;
    border-radius: 12px;
    background: #f0fdfa;
    border: 1px solid rgba(15, 118, 110, .18);
}

    .appt-review-callout div[b-02ovj463oj] {
        display: flex;
        flex-direction: column;
        gap: .15rem;
        color: #0f766e;
        font-size: .86rem;
    }

    .appt-review-callout span[b-02ovj463oj] {
        color: #475569;
        font-size: .8rem;
    }

@media (max-width: 575px) {
    .appt-review-callout[b-02ovj463oj] {
        align-items: stretch;
        flex-direction: column;
    }
}

.appt-day-group[b-02ovj463oj] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.appt-day-label[b-02ovj463oj] {
    margin: 0;
    font-size: .9rem;
    font-weight: 500;
    text-transform: capitalize;
    /*color: #94a3b8;*/
    letter-spacing: .04em;
    padding: .25rem 0;
}
/* /Components/Dashboard/Favorites/FavoriteCard.razor.rz.scp.css */
.specialist-card[b-8l4qj0jett] {
    position: relative;
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    box-shadow: 0 2px 8px oklch(0.2 0.01 80 / 0.08);
    transition: box-shadow 180ms ease;
}

    .specialist-card:hover[b-8l4qj0jett] {
        box-shadow: 0 6px 20px oklch(0.2 0.01 80 / 0.13);
    }

/* ── Botón favorito ── */
.favorite-btn[b-8l4qj0jett] {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    font-size: 1.4rem;
    cursor: pointer;
    color: #ccc;
    transition: color 180ms ease, transform 180ms ease;
    line-height: 1;
}

    .favorite-btn.active[b-8l4qj0jett] {
        color: #e8734a;
    }

    .favorite-btn:hover[b-8l4qj0jett] {
        transform: scale(1.2);
    }

/* ── Avatar ── */
.specialist-avatar[b-8l4qj0jett] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: #e8f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

    .specialist-avatar img[b-8l4qj0jett] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.avatar-placeholder[b-8l4qj0jett] {
    color: #5aacb4;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Texto ── */
.specialist-name[b-8l4qj0jett] {
    font-size: 1rem;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}

.specialist-specialty[b-8l4qj0jett] {
    font-size: 0.875rem;
    color: #6b7280;
    margin: 0;
}

/* ── Valoración ── */
.specialist-rating[b-8l4qj0jett] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: 0.4rem;
}

.star.filled[b-8l4qj0jett] {
    color: #f59e0b;
    font-size: 1rem;
}

.star.empty[b-8l4qj0jett] {
    color: #f59e0b;
    font-size: 0.8rem;
    opacity: 0.5;
}

.rating-value[b-8l4qj0jett] {
    font-weight: 600;
    font-size: 0.9rem;
    color: #1a1a1a;
}

.rating-count[b-8l4qj0jett] {
    font-size: 0.8rem;
    color: #9ca3af;
}

/* ── Botón Ver perfil ── */
.btn-profile[b-8l4qj0jett] {
    display: block;
    width: 100%;
    margin-top: 0.75rem;
    padding: 0.6rem 1rem;
    background: #2a9da5;
    color: white;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background 180ms ease;
}

    .btn-profile:hover[b-8l4qj0jett] {
        background: #237f87;
    }
/* /Components/Dashboard/Favorites/SpecialtyFilter.razor.rz.scp.css */
.specialty-filter[b-sgomznlwgy] {
    position: relative;
    display: inline-block;
    margin-bottom: 1.5rem;
}

    .specialty-filter select[b-sgomznlwgy] {
        appearance: none;
        padding: 0.6rem 2.5rem 0.6rem 1rem;
        border: 1.5px solid #e5e7eb;
        border-radius: 8px;
        font-size: 0.9rem;
        color: #374151;
        background: white;
        cursor: pointer;
        min-width: 220px;
        transition: border-color 180ms ease;
    }

        .specialty-filter select:focus[b-sgomznlwgy] {
            outline: none;
            border-color: #2a9da5;
        }

.filter-arrow[b-sgomznlwgy] {
    position: absolute;
    right: 0.8rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #6b7280;
    font-size: 0.85rem;
}
/* /Components/Dashboard/FavouritesSpecialists.razor.rz.scp.css */

.card-section-title[b-i567ym3udm] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 1.25rem;
}

/* ── Item favorito ──────────────────────────── */
.fav-item[b-i567ym3udm] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.65rem 0.5rem;
    border-radius: 8px;
    transition: background-color 0.15s ease;
}

    .fav-item:hover[b-i567ym3udm] {
        background-color: #f9fafb;
    }

/* Avatar */
.fav-avatar[b-i567ym3udm] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #e8f5f6;
    border: 2px solid var(--primary-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: var(--primary-bg);
    flex-shrink: 0;
}

/* Nombre + especialidad */
.fav-info[b-i567ym3udm] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    gap: 0.1rem;
}

.fav-nombre[b-i567ym3udm] {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1f2937;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fav-especialidad[b-i567ym3udm] {
    font-size: 0.75rem;
    color: #9ca3af;
}

/* Corazón */
.fav-heart[b-i567ym3udm] {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: #ff5a2a;
    font-size: 1.1rem;
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

    .fav-heart:hover[b-i567ym3udm] {
        transform: scale(1.2);
    }

/* ── Estado vacío ───────────────────────────── */
.favoritos-empty[b-i567ym3udm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 120px;
    color: #9ca3af;
    text-align: center;
}

    .favoritos-empty i[b-i567ym3udm] {
        font-size: 2rem;
    }

    .favoritos-empty p[b-i567ym3udm] {
        font-size: 0.85rem;
        margin: 0;
    }

/* Botón outline primary */
.btn-outline-primary[b-i567ym3udm] {
    --bs-btn-color: var(--primary-bg);
    --bs-btn-border-color: var(--primary-bg);
    --bs-btn-hover-bg: var(--primary-bg);
    --bs-btn-hover-border-color: var(--primary-bg);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--primary-bg);
    --bs-btn-active-color: #fff;
}
/* /Components/Dashboard/InfoProfile.razor.rz.scp.css */
/* InfoProfile.razor.css */

.card-section-title[b-bklk3t4x59] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 1.5rem;
}

/* ── Avatar ─────────────────────────────────── */
.info-avatar[b-bklk3t4x59] {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background-color: #e8f5f6;
    border: 3px solid var(--primary-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.info-avatar__img[b-bklk3t4x59] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.info-avatar__icon[b-bklk3t4x59] {
    font-size: 4rem;
    color: var(--primary-bg);
    line-height: 1;
}

/* ── Contenedor avatar + campos ─────────────── */
.info-body[b-bklk3t4x59] {
    display: flex;
    flex-direction: row; /* desktop: lado a lado */
    align-items: center;
    gap: 2rem;
}

/* ── Filas de datos ─────────────────────────── */
.info-fields[b-bklk3t4x59] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
}

.info-row[b-bklk3t4x59] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.info-row__label[b-bklk3t4x59] {
    font-size: 0.8rem;
    color: #9ca3af;
    font-weight: 600;
    min-width: 70px;
}

.info-row__value[b-bklk3t4x59] {
    font-size: 0.92rem;
    color: #1f2937;
    font-weight: 500;
}

/* ── Badge rol ──────────────────────────────── */
.badge-status[b-bklk3t4x59] {
    background-color: #e8f5f6;
    color: var(--primary-bg);
    border: 1px solid #b2dde0;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.3em 0.8em;
    border-radius: 999px;
}

/* ── Botón ──────────────────────────────────── */
.btn-outline-primary[b-bklk3t4x59] {
    --bs-btn-color: var(--primary-bg);
    --bs-btn-border-color: var(--primary-bg);
    --bs-btn-hover-bg: var(--primary-bg);
    --bs-btn-hover-border-color: var(--primary-bg);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--primary-bg);
    --bs-btn-active-color: #fff;
}

/* ── MÓVIL (< 576px) ────────────────────────── */
@media (max-width: 575.98px) {

    .info-body[b-bklk3t4x59] {
        flex-direction: column; /* apila avatar encima de los datos */
        align-items: center;
        gap: 1.25rem;
    }

    .info-avatar[b-bklk3t4x59] {
        width: 90px; /* avatar más pequeño en móvil */
        height: 90px;
    }

    .info-avatar__icon[b-bklk3t4x59] {
        font-size: 3.2rem;
    }

    .info-fields[b-bklk3t4x59] {
        width: 100%;
    }

    .info-row[b-bklk3t4x59] {
        flex-direction: column; /* label encima del valor */
        align-items: flex-start;
        gap: 0.15rem;
    }

    .info-row__label[b-bklk3t4x59] {
        min-width: unset;
    }
}
/* /Components/Dashboard/NextAppointments.razor.rz.scp.css */

.card-section-title[b-shl41j2sqh] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 1.25rem;
}

/* ── Item de cita ───────────────────────────── */
.cita-item[b-shl41j2sqh] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.75rem;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background-color: #fff;
    transition: box-shadow 0.15s ease;
}

    .cita-item:hover[b-shl41j2sqh] {
        box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    }

/* Avatar del especialista */
.cita-avatar[b-shl41j2sqh] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #e8f5f6;
    border: 2px solid var(--primary-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: var(--primary-bg);
    flex-shrink: 0;
}

/* Nombre + badge especialidad */
.cita-info[b-shl41j2sqh] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
    min-width: 0; /* evita overflow del texto */
}

.cita-nombre[b-shl41j2sqh] {
    font-size: 0.88rem;
    font-weight: 600;
    color: #1f2937;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Badge especialidad */
.badge-specialty[b-shl41j2sqh] {
    background-color: #e8f5f6;
    color: var(--primary-bg);
    border: 1px solid #b2dde0;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.2em 0.6em;
    border-radius: 999px;
    width: fit-content;
}

/* Fecha */
.cita-fecha[b-shl41j2sqh] {
    font-size: 0.78rem;
    color: #6b7280;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Botón Ver */
.cita-btn[b-shl41j2sqh] {
    flex-shrink: 0;
    --bs-btn-color: var(--primary-bg);
    --bs-btn-border-color: var(--primary-bg);
    --bs-btn-hover-bg: var(--primary-bg);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: var(--primary-bg);
}

/* ── Estado vacío ───────────────────────────── */
.citas-empty[b-shl41j2sqh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 120px;
    color: #9ca3af;
    text-align: center;
}

    .citas-empty i[b-shl41j2sqh] {
        font-size: 2rem;
    }

    .citas-empty p[b-shl41j2sqh] {
        font-size: 0.85rem;
        margin: 0;
    }

/* ── Responsive móvil ───────────────────────── */
@media (max-width: 575.98px) {
    .cita-item[b-shl41j2sqh] {
        flex-wrap: wrap;
    }

    .cita-fecha[b-shl41j2sqh] {
        order: 3;
        width: 100%;
        padding-left: calc(44px + 0.85rem); /* alinea con el texto */
    }
}
/* /Components/Dashboard/ResumeStats.razor.rz.scp.css */

.card-section-title[b-zjqtioiukv] {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 1.25rem;
}

/* ── Tarjeta de stat base ───────────────────── */
.stat-card[b-zjqtioiukv] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 1.1rem;
    border-radius: 10px;
}

.stat-card__icon[b-zjqtioiukv] {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.stat-card__body[b-zjqtioiukv] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.stat-card__number[b-zjqtioiukv] {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
}

.stat-card__label[b-zjqtioiukv] {
    font-size: 0.75rem;
    font-weight: 500;
    margin-top: 2px;
}

/* ── Variantes de color ─────────────────────── */
.stat-card--teal[b-zjqtioiukv] {
    background-color: #e8f5f6;
}

    .stat-card--teal .stat-card__icon[b-zjqtioiukv] {
        background-color: var(--primary-bg);
        color: white;
    }

    .stat-card--teal .stat-card__number[b-zjqtioiukv] {
        color: var(--primary-bg);
    }

    .stat-card--teal .stat-card__label[b-zjqtioiukv] {
        color: #5ba3a8;
    }

.stat-card--coral[b-zjqtioiukv] {
    background-color: #fff0ec;
}

    .stat-card--coral .stat-card__icon[b-zjqtioiukv] {
        background-color: #ff5a2a;
        color: white;
    }

    .stat-card--coral .stat-card__number[b-zjqtioiukv] {
        color: #ff5a2a;
    }

    .stat-card--coral .stat-card__label[b-zjqtioiukv] {
        color: #c44a20;
    }

.stat-card--amber[b-zjqtioiukv] {
    background-color: #fffbeb;
}

    .stat-card--amber .stat-card__icon[b-zjqtioiukv] {
        background-color: #f59e0b;
        color: white;
    }

    .stat-card--amber .stat-card__number[b-zjqtioiukv] {
        color: #d97706;
    }

    .stat-card--amber .stat-card__label[b-zjqtioiukv] {
        color: #b45309;
    }

.stat-card__label[b-zjqtioiukv]  .pronto-badge {
    padding: 0.1rem 0.5rem;
    font-size: 0.6rem;
    font-weight: 600;
    margin-left: 0.35rem;
}
/* /Components/Dashboard/Settings/ActiveSessionsCard.razor.rz.scp.css */
.sessions-card[b-zc3m6baxvc] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    padding: 28px 32px;
    margin-top: 20px;
}

.card-header[b-zc3m6baxvc] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

    .card-header i[b-zc3m6baxvc] {
        color: var(--primary-bg);
    }

.hint[b-zc3m6baxvc] {
    font-size: 0.85rem;
    color: #999;
    margin: 0;
}

.list[b-zc3m6baxvc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.session[b-zc3m6baxvc] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid #edf0f2;
    background: #fafbfc;
}

    .session.current[b-zc3m6baxvc] {
        border-color: #c5e0e2;
        background: #f0fafa;
    }

.icon[b-zc3m6baxvc] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e8f5f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--primary-bg);
    flex-shrink: 0;
}

.info[b-zc3m6baxvc] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.device[b-zc3m6baxvc] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1a1a2e;
    display: flex;
    align-items: center;
    gap: 8px;
}

.badge-current[b-zc3m6baxvc] {
    font-size: 0.65rem;
    font-weight: 500;
    background: var(--primary-bg);
    color: white;
    padding: 2px 8px;
    border-radius: 20px;
}

.meta[b-zc3m6baxvc] {
    font-size: 0.75rem;
    color: #999;
}

.btn-revoke[b-zc3m6baxvc] {
    padding: 5px 12px;
    border: 1.5px solid #f5c6c6;
    border-radius: 20px;
    background: transparent;
    color: #e05555;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s;
    flex-shrink: 0;
}

    .btn-revoke:hover:not(:disabled)[b-zc3m6baxvc] {
        background: #fef2f2;
        border-color: #c0392b;
        color: #c0392b;
    }

    .btn-revoke:disabled[b-zc3m6baxvc] {
        opacity: .5;
        cursor: not-allowed;
    }

.skeleton-list[b-zc3m6baxvc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.skeleton[b-zc3m6baxvc] {
    height: 64px;
    border-radius: 10px;
    background: linear-gradient(90deg, #f0f2f4 25%, #e8eaec 50%, #f0f2f4 75%);
    background-size: 200% 100%;
    animation: shimmer-b-zc3m6baxvc 1.4s ease-in-out infinite;
}

@keyframes shimmer-b-zc3m6baxvc {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

.alert-err[b-zc3m6baxvc] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 12px;
    background: #fef2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

.spinner-sm[b-zc3m6baxvc] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1.5px solid rgba(224,85,85,.3);
    border-top-color: #e05555;
    animation: spin-b-zc3m6baxvc .6s linear infinite;
}

@keyframes spin-b-zc3m6baxvc {
    to {
        transform: rotate(360deg);
    }
}
/* /Components/Dashboard/Settings/ChangePasswordCard.razor.rz.scp.css */
.password-card[b-6qv4j1rwhn] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    padding: 28px 32px;
}

.card-header[b-6qv4j1rwhn] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

    .card-header i[b-6qv4j1rwhn] {
        color: var(--primary-bg);
    }

.btn-edit[b-6qv4j1rwhn] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1.5px solid var(--primary-bg);
    background: transparent;
    color: var(--primary-bg);
    cursor: pointer;
    transition: all .15s;
}

    .btn-edit:hover[b-6qv4j1rwhn] {
        background: var(--primary-bg);
        color: white;
    }

.hint[b-6qv4j1rwhn] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.85rem;
    color: #666;
    margin: 0;
}
.field-error[b-6qv4j1rwhn]{
    color: red;
}
    .hint i[b-6qv4j1rwhn] {
        color: var(--primary-bg);
    }

/* ── Fields ── */
.field[b-6qv4j1rwhn] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 16px;
}

    .field:first-of-type[b-6qv4j1rwhn] {
        margin-top: 0;
    }

    .field label[b-6qv4j1rwhn] {
        font-size: 0.75rem;
        font-weight: 500;
        color: #666;
    }

/* ── Input con ojo ── */
.pass-wrap[b-6qv4j1rwhn] {
    position: relative;
    display: flex;
    align-items: center;
}

    /* ✅ ::deep en lugar de :global() */
    .pass-wrap[b-6qv4j1rwhn]  input {
        width: 100%;
        border: 1.5px solid #dde2e8;
        border-radius: 8px;
        padding: 9px 40px 9px 12px;
        font-size: 0.875rem;
        color: #1a1a2e;
        background: #fafbfc;
        outline: none;
        transition: border-color .15s, box-shadow .15s;
        font-family: inherit;
    }

        .pass-wrap[b-6qv4j1rwhn]  input:focus {
            border-color: var(--primary-bg);
            box-shadow: 0 0 0 3px rgba(42,157,143,.12);
            background: white;
        }

    .pass-wrap button[b-6qv4j1rwhn] {
        position: absolute;
        right: 10px;
        background: none;
        border: none;
        color: #aaa;
        cursor: pointer;
        font-size: 1rem;
        padding: 0;
        transition: color .15s;
    }

        .pass-wrap button:hover[b-6qv4j1rwhn] {
            color: var(--primary-bg);
        }

/* ── Alerts ── */
.alert-ok[b-6qv4j1rwhn], .alert-err[b-6qv4j1rwhn] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 16px;
}

.alert-ok[b-6qv4j1rwhn] {
    background: #eaf7f0;
    color: #1e7a4f;
    border: 1px solid #b2dfc9;
}

.alert-err[b-6qv4j1rwhn] {
    background: #fef2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

/* ── Footer ── */
.footer[b-6qv4j1rwhn] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f0f2f4;
}

.btn-save[b-6qv4j1rwhn] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    background: var(--primary-bg);
    color: white;
    cursor: pointer;
    transition: background .15s;
}

    .btn-save:hover:not(:disabled)[b-6qv4j1rwhn] {
        background: #1f8077;
    }

    .btn-save:disabled[b-6qv4j1rwhn] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-cancel[b-6qv4j1rwhn] {
    padding: 9px 18px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    border: 1.5px solid #dde2e8;
    background: white;
    color: #555;
    cursor: pointer;
    transition: all .15s;
}

    .btn-cancel:hover[b-6qv4j1rwhn] {
        border-color: var(--primary-bg);
        color: var(--primary-bg);
    }

.spinner[b-6qv4j1rwhn] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: white;
    animation: spin-b-6qv4j1rwhn .6s linear infinite;
    display: inline-block;
}

@keyframes spin-b-6qv4j1rwhn {
    to {
        transform: rotate(360deg);
    }
}

.field-error[b-6qv4j1rwhn] {
    font-size: 0.72rem;
    color: #e05555;
}
/* /Components/Dashboard/Settings/EditProfileForm.razor.rz.scp.css */
/* ── Card contenedor ── */
.settings-card[b-85hc12tmhb] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
    padding: 28px 32px;
}

/* ── Título + botón editar ── */
.settings-card-title[b-85hc12tmhb] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

[b-85hc12tmhb] .settings-card-title i {
    color: var(--primary-bg);
}

.btn-edit-profile[b-85hc12tmhb] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1.5px solid var(--primary-bg);
    background: transparent;
    color: var(--primary-bg);
    cursor: pointer;
    transition: all .15s;
}

    .btn-edit-profile:hover[b-85hc12tmhb] {
        background: var(--primary-bg);
        color: white;
    }

/* ── Avatar ── */
.avatar-row[b-85hc12tmhb] {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
}

.avatar-preview[b-85hc12tmhb] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #e8f5f6;
    border: 2.5px solid var(--primary-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--primary-bg);
    flex-shrink: 0;
    overflow: hidden;
}

    .avatar-preview img[b-85hc12tmhb] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.avatar-actions[b-85hc12tmhb] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ── Grid formulario ── */
.form-grid[b-85hc12tmhb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.form-group[b-85hc12tmhb] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.form-label[b-85hc12tmhb] {
    font-size: 0.75rem;
    font-weight: 500;
    color: #666;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

/* ── Inputs ── */
[b-85hc12tmhb] .form-input {
    border: 1.5px solid #dde2e8;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 0.875rem;
    color: #1a1a2e;
    background: #fafbfc;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    width: 100%;
}

    [b-85hc12tmhb] .form-input:focus {
        border-color: var(--primary-bg);
        box-shadow: 0 0 0 3px rgba(42, 157, 143, .12);
        background: white;
    }

.input-disabled[b-85hc12tmhb] {
    background: #f4f5f7 !important;
    color: #999 !important;
    cursor: not-allowed;
    pointer-events: none;
}

/* ── Modo lectura ── */
.form-value[b-85hc12tmhb] {
    font-size: 0.9rem;
    color: #333;
    padding: 9px 0;
    border-bottom: 1.5px solid #f0f2f4;
    display: block;
}

/* ── Badge restricción de tiempo ── */
.field-restricted[b-85hc12tmhb] {
    font-size: 0.68rem;
    font-weight: 500;
    color: #e07a00;
    background: #fff4e5;
    border: 1px solid #ffd49e;
    border-radius: 20px;
    padding: 1px 7px;
    white-space: nowrap;
}

/* ── Hint text ── */
.hint-text[b-85hc12tmhb] {
    font-size: 0.72rem;
    color: #aaa;
}

/* ── Errores de validación ── */
[b-85hc12tmhb] .field-error {
    font-size: 0.72rem;
    color: #e05555;
    margin-top: 2px;
}

/* ── Alerts ── */
.alert-success[b-85hc12tmhb],
.alert-error[b-85hc12tmhb] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 16px;
}

.alert-success[b-85hc12tmhb] {
    background: #eaf7f0;
    color: #1e7a4f;
    border: 1px solid #b2dfc9;
}

.alert-error[b-85hc12tmhb] {
    background: #fef2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

/* ── Botones footer ── */
.form-footer[b-85hc12tmhb] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f0f2f4;
}

.btn-settings-primary[b-85hc12tmhb] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    background: var(--primary-bg);
    color: white;
    cursor: pointer;
    transition: background .15s;
}

    .btn-settings-primary:hover:not(:disabled)[b-85hc12tmhb] {
        background: #1f8077;
    }

    .btn-settings-primary:disabled[b-85hc12tmhb] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-settings-secondary[b-85hc12tmhb] {
    padding: 9px 18px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    border: 1.5px solid #dde2e8;
    background: white;
    color: #555;
    cursor: pointer;
    transition: all .15s;
}

    .btn-settings-secondary:hover[b-85hc12tmhb] {
        border-color: var(--primary-bg);
        color: var(--primary-bg);
    }

/* ── Spinner ── */
.spinner[b-85hc12tmhb] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: white;
    animation: spin-b-85hc12tmhb .6s linear infinite;
    display: inline-block;
}

@keyframes spin-b-85hc12tmhb {
    to {
        transform: rotate(360deg);
    }
}

/* ── Skeleton loader ── */
.settings-skeleton[b-85hc12tmhb] {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 12px 0;
}

.skeleton[b-85hc12tmhb] {
    background: linear-gradient( 90deg, #f0f2f4 25%, #e8eaec 50%, #f0f2f4 75% );
    background-size: 200% 100%;
    animation: shimmer-b-85hc12tmhb 1.4s ease-in-out infinite;
    border-radius: 6px;
}

.skeleton-avatar[b-85hc12tmhb] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    flex-shrink: 0;
}

.skeleton-lines[b-85hc12tmhb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.skeleton-line[b-85hc12tmhb] {
    height: 14px;
}

    .skeleton-line.short[b-85hc12tmhb] {
        width: 55%;
    }

/* ── Confirmación inline ── */
.inline-confirm[b-85hc12tmhb] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff8ec;
    border: 1.5px solid #ffd49e;
    border-radius: 10px;
    padding: 12px 16px;
    animation: slideDown-b-85hc12tmhb 0.18s ease both;
}

.inline-confirm-msg[b-85hc12tmhb] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.83rem;
    color: #7a4a00;
    flex: 1;
}

    .inline-confirm-msg i[b-85hc12tmhb] {
        font-size: 1rem;
        color: #e07a00;
        flex-shrink: 0;
    }

.inline-confirm-actions[b-85hc12tmhb] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

@keyframes slideDown-b-85hc12tmhb {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .inline-confirm[b-85hc12tmhb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .inline-confirm-actions[b-85hc12tmhb] {
        width: 100%;
    }

        .inline-confirm-actions button[b-85hc12tmhb] {
            flex: 1;
            justify-content: center;
        }
}

@keyframes shimmer-b-85hc12tmhb {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .settings-card[b-85hc12tmhb] {
        padding: 20px 16px;
    }

    .avatar-row[b-85hc12tmhb] {
        flex-direction: column;
        align-items: flex-start;
    }

    .form-grid[b-85hc12tmhb] {
        grid-template-columns: 1fr;
    }

    .form-footer[b-85hc12tmhb] {
        flex-direction: column-reverse;
    }

    .btn-settings-primary[b-85hc12tmhb],
    .btn-settings-secondary[b-85hc12tmhb],
    .btn-edit-profile[b-85hc12tmhb] {
        width: 100%;
        justify-content: center;
    }

    .settings-card-title[b-85hc12tmhb] {
        flex-wrap: wrap;
    }

    .btn-edit-profile[b-85hc12tmhb] {
        margin-left: 0;
    }
}
/* /Components/Dashboard/Settings/NotificationChannelsCard.razor.rz.scp.css */
.channels-card[b-n9ucew43ol] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    padding: 28px 32px;
    margin-top: 20px;
}

.card-header[b-n9ucew43ol] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

    .card-header i[b-n9ucew43ol] {
        color: var(--primary-bg);
    }

.channels-desc[b-n9ucew43ol] {
    font-size: 0.85rem;
    color: #888;
    margin: 0 0 18px;
}

/* ── Grid de canales ── */
.channels-grid[b-n9ucew43ol] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.channel-btn[b-n9ucew43ol] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 18px 12px;
    border-radius: 12px;
    border: 1.5px solid #e0e8ea;
    background: #fafbfc;
    cursor: pointer;
    transition: all .18s;
    text-align: center;
}

    .channel-btn:hover[b-n9ucew43ol] {
        border-color: var(--primary-bg);
        background: #f0fafa;
    }

    .channel-btn.active[b-n9ucew43ol] {
        border-color: var(--primary-bg);
        background: #eaf6f6;
    }

.channel-icon[b-n9ucew43ol] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e8f5f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--primary-bg);
    transition: background .18s;
}

.channel-btn.active .channel-icon[b-n9ucew43ol] {
    background: var(--primary-bg);
    color: white;
}

.channel-name[b-n9ucew43ol] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1a1a2e;
}

.channel-hint[b-n9ucew43ol] {
    font-size: 0.72rem;
    color: #aaa;
}

.channel-check[b-n9ucew43ol] {
    position: absolute;
    top: 8px;
    right: 8px;
    color: var(--primary-bg);
    font-size: 0.9rem;
    line-height: 1;
}

/* ── Saving ── */
.saving-indicator[b-n9ucew43ol] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.8rem;
    color: #999;
    margin-top: 14px;
}

.alert-ok[b-n9ucew43ol], .alert-err[b-n9ucew43ol] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 14px;
}

.alert-ok[b-n9ucew43ol] {
    background: #eaf7f0;
    color: #1e7a4f;
    border: 1px solid #b2dfc9;
}

.alert-err[b-n9ucew43ol] {
    background: #fef2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

/* ── Skeleton ── */
.skeleton-channels[b-n9ucew43ol] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.sk-channel[b-n9ucew43ol] {
    height: 110px;
    border-radius: 12px;
    background: linear-gradient(90deg, #f0f2f4 25%, #e8eaec 50%, #f0f2f4 75%);
    background-size: 200% 100%;
    animation: shimmer-b-n9ucew43ol 1.4s ease-in-out infinite;
}

@keyframes shimmer-b-n9ucew43ol {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* ── Spinner ── */
.spinner-teal[b-n9ucew43ol] {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 2px solid rgba(42,157,143,.25);
    border-top-color: var(--primary-bg);
    animation: spin-b-n9ucew43ol .6s linear infinite;
}

@keyframes spin-b-n9ucew43ol {
    to {
        transform: rotate(360deg);
    }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .channels-grid[b-n9ucew43ol] {
        grid-template-columns: repeat(3, 1fr);
    }

    .channels-card[b-n9ucew43ol] {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .channels-grid[b-n9ucew43ol] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Dashboard/Settings/NotificationPreferencesCard.razor.rz.scp.css */
.prefs-card[b-f5te64v7yd] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    padding: 28px 32px;
}

.card-header[b-f5te64v7yd] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

    .card-header i[b-f5te64v7yd] {
        color: var(--primary-bg);
    }

.section-label[b-f5te64v7yd] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 4px;
}

.saving-indicator[b-f5te64v7yd] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.8rem;
    color: #999;
    margin-top: 14px;
}

.alert-ok[b-f5te64v7yd], .alert-err[b-f5te64v7yd] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 14px;
}

.alert-ok[b-f5te64v7yd] {
    background: #eaf7f0;
    color: #1e7a4f;
    border: 1px solid #b2dfc9;
}

.alert-err[b-f5te64v7yd] {
    background: #fef2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

/* ── Skeleton ── */
.skeleton-list[b-f5te64v7yd] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.skeleton-row[b-f5te64v7yd] {
    height: 56px;
    border-radius: 8px;
    background: linear-gradient(90deg, #f0f2f4 25%, #e8eaec 50%, #f0f2f4 75%);
    background-size: 200% 100%;
    animation: shimmer-b-f5te64v7yd 1.4s ease-in-out infinite;
}

@keyframes shimmer-b-f5te64v7yd {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* ── Spinner teal ── */
.spinner-teal[b-f5te64v7yd] {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 2px solid rgba(42,157,143,.25);
    border-top-color: var(--primary-bg);
    animation: spin-b-f5te64v7yd .6s linear infinite;
}

@keyframes spin-b-f5te64v7yd {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1024px) {
    .prefs-card[b-f5te64v7yd] {
        padding: 20px;
    }
}
/* /Components/Dashboard/Settings/NotificationToggleRow.razor.rz.scp.css */
.toggle-row[b-e0kx5757hy] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #f5f6f7;
}

    .toggle-row:last-of-type[b-e0kx5757hy] {
        border-bottom: none;
    }

.toggle-icon[b-e0kx5757hy] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e8f5f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: var(--primary-bg);
    flex-shrink: 0;
}

.toggle-info[b-e0kx5757hy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.toggle-label[b-e0kx5757hy] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1a1a2e;
    display: flex;
    align-items: center;
    gap: 7px;
}

.toggle-desc[b-e0kx5757hy] {
    font-size: 0.78rem;
    color: #999;
}

.badge-optional[b-e0kx5757hy] {
    font-size: 0.65rem;
    font-weight: 500;
    background: #f3f4f6;
    color: #aaa;
    padding: 2px 7px;
    border-radius: 20px;
}

/* ── Toggle switch ── */
.toggle-btn[b-e0kx5757hy] {
    position: relative;
    width: 44px;
    height: 24px;
    border-radius: 99px;
    border: none;
    cursor: pointer;
    transition: background .2s;
    flex-shrink: 0;
    padding: 0;
}

    .toggle-btn.on[b-e0kx5757hy] {
        background: var(--primary-bg);
    }

    .toggle-btn.off[b-e0kx5757hy] {
        background: #dde2e8;
    }

.toggle-thumb[b-e0kx5757hy] {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
    transition: transform .2s;
}

.toggle-btn.on .toggle-thumb[b-e0kx5757hy] {
    transform: translateX(20px);
}

.toggle-btn.off .toggle-thumb[b-e0kx5757hy] {
    transform: translateX(0);
}
/* /Components/Dashboard/Settings/PersonalInfoCard.razor.rz.scp.css */
.info-card[b-8ftck4fpan] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    padding: 28px 32px;
    margin-top: 20px;
}

.card-header[b-8ftck4fpan] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

    .card-header i[b-8ftck4fpan] {
        color: var(--primary-bg);
    }

.btn-edit[b-8ftck4fpan] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1.5px solid var(--primary-bg);
    background: transparent;
    color: var(--primary-bg);
    cursor: pointer;
    transition: all .15s;
}

    .btn-edit:hover[b-8ftck4fpan] {
        background: var(--primary-bg);
        color: white;
    }

.form-sections[b-8ftck4fpan] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-section[b-8ftck4fpan] {
    border: 1px solid #edf1f3;
    border-radius: 10px;
    background: #fbfcfc;
    padding: 18px;
}

.section-title[b-8ftck4fpan] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eef2f4;
}

    .section-title i[b-8ftck4fpan] {
        color: var(--primary-bg);
        font-size: 1rem;
    }

    .section-title h3[b-8ftck4fpan] {
        margin: 0;
        font-size: 0.88rem;
        font-weight: 700;
        color: #1a1a2e;
    }

/* ── Grid ── */
.form-grid[b-8ftck4fpan] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.field-wide[b-8ftck4fpan] {
    grid-column: 1 / -1;
}

.field[b-8ftck4fpan] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .field label[b-8ftck4fpan] {
        font-size: 0.75rem;
        font-weight: 500;
        color: #666;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    /* ── ✅ ::deep para InputText / InputDate / InputSelect ── */
    .field[b-8ftck4fpan]  input,
    .field[b-8ftck4fpan]  select {
        width: 100%;
        border: 1.5px solid #dde2e8;
        border-radius: 8px;
        padding: 9px 12px;
        font-size: 0.875rem;
        color: #1a1a2e;
        background: #fafbfc;
        outline: none;
        transition: border-color .15s, box-shadow .15s;
        appearance: auto;
        font-family: inherit;
    }

        .field[b-8ftck4fpan]  input:focus,
        .field[b-8ftck4fpan]  select:focus {
            border-color: var(--primary-bg);
            box-shadow: 0 0 0 3px rgba(42,157,143,.12);
            background: white;
        }

        .field[b-8ftck4fpan]  input.modified.invalid,
        .field[b-8ftck4fpan]  select.modified.invalid,
        .field[b-8ftck4fpan]  .e-input-group.e-error,
        .field[b-8ftck4fpan]  .e-input-group.e-error input {
            border-color: #d64545;
            background: #fffafa;
            box-shadow: 0 0 0 3px rgba(214,69,69,.08);
        }

        .field[b-8ftck4fpan]  input.modified.valid,
        .field[b-8ftck4fpan]  select.modified.valid {
            border-color: #dde2e8;
            background: #fafbfc;
            box-shadow: none;
        }

        .field[b-8ftck4fpan]  input[disabled],
        .field[b-8ftck4fpan]  input.disabled,
        .field[b-8ftck4fpan]  select[disabled] {
            background: #f3f4f6;
            color: #aaa;
            cursor: not-allowed;
            border-color: #e5e7eb;
        }

    .field[b-8ftck4fpan]  select {
        cursor: pointer;
    }

/* ── Valor en modo lectura ── */
.value[b-8ftck4fpan] {
    font-size: 0.9rem;
    color: #333;
    padding: 9px 0;
    border-bottom: 1.5px solid #f0f2f4;
}

.restricted[b-8ftck4fpan] {
    font-size: 0.68rem;
    font-weight: 500;
    color: #aaa;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #f3f4f6;
    padding: 2px 7px;
    border-radius: 20px;
}

.hint[b-8ftck4fpan] {
    font-size: 0.75rem;
    color: #aaa;
    display: flex;
    align-items: center;
    gap: 4px;
}

.field[b-8ftck4fpan]  .err {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 3px;
    padding: 7px 9px;
    border-left: 3px solid #d64545;
    border-radius: 6px;
    background: #fff5f5;
    color: #a83232;
    font-size: 0.74rem;
    font-weight: 500;
    line-height: 1.35;
}

    .field[b-8ftck4fpan]  .err::before {
        content: "!";
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 15px;
        width: 15px;
        height: 15px;
        margin-top: 1px;
        border-radius: 50%;
        background: #d64545;
        color: white;
        font-size: 0.65rem;
        font-weight: 700;
        line-height: 1;
    }

    .field[b-8ftck4fpan]  .err:empty {
        display: none;
        padding: 0;
        border: 0;
}

/* ── Alerts ── */
.alert-ok[b-8ftck4fpan], .alert-err[b-8ftck4fpan] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 16px;
}

.alert-ok[b-8ftck4fpan] {
    background: #eaf7f0;
    color: #1e7a4f;
    border: 1px solid #b2dfc9;
}

.alert-err[b-8ftck4fpan] {
    background: #fff5f5;
    color: #9f2f2f;
    border: 1px solid #f0b8b8;
    border-left: 4px solid #d64545;
    box-shadow: 0 8px 18px rgba(214,69,69,.08);
}

    .alert-err i[b-8ftck4fpan] {
        color: #d64545;
        font-size: 1rem;
    }

/* ── Footer ── */
.footer[b-8ftck4fpan] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f0f2f4;
}

.btn-save[b-8ftck4fpan] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    background: var(--primary-bg);
    color: white;
    cursor: pointer;
    transition: background .15s;
}

    .btn-save:hover:not(:disabled)[b-8ftck4fpan] {
        background: #1f8077;
    }

    .btn-save:disabled[b-8ftck4fpan] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-cancel[b-8ftck4fpan] {
    padding: 9px 18px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    border: 1.5px solid #dde2e8;
    background: white;
    color: #555;
    cursor: pointer;
    transition: all .15s;
}

    .btn-cancel:hover[b-8ftck4fpan] {
        border-color: var(--primary-bg);
        color: var(--primary-bg);
    }

/* ── Confirmación inline ── */
.inline-confirm[b-8ftck4fpan] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
    padding: 14px 16px;
}

.confirm-msg[b-8ftck4fpan] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.85rem;
    color: #92400e;
}

    .confirm-msg i[b-8ftck4fpan] {
        font-size: 1rem;
        flex-shrink: 0;
        margin-top: 1px;
    }

.confirm-actions[b-8ftck4fpan] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* ── Skeleton ── */
.skeleton-fields[b-8ftck4fpan] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.skeleton-field[b-8ftck4fpan] {
    height: 58px;
    border-radius: 8px;
    background: linear-gradient(90deg, #f0f2f4 25%, #e8eaec 50%, #f0f2f4 75%);
    background-size: 200% 100%;
    animation: shimmer-b-8ftck4fpan 1.4s ease-in-out infinite;
}

@keyframes shimmer-b-8ftck4fpan {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* ── Spinner ── */
.spinner[b-8ftck4fpan] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: white;
    animation: spin-b-8ftck4fpan .6s linear infinite;
}

@keyframes spin-b-8ftck4fpan {
    to {
        transform: rotate(360deg);
    }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .form-grid[b-8ftck4fpan] {
        grid-template-columns: 1fr;
    }

    .skeleton-fields[b-8ftck4fpan] {
        grid-template-columns: 1fr;
    }

    .info-card[b-8ftck4fpan] {
        padding: 20px;
    }

    .field-wide[b-8ftck4fpan] {
        grid-column: auto;
    }
}
/* /Components/Dashboard/Settings/ProfileAvatarCard.razor.rz.scp.css */
.avatar-card[b-f08mtv0eeq] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    padding: 28px 32px;
}

/* Usado por centerMediaUploader.js para ocultar el mensaje de error mientras no haya nada que mostrar. */
.is-hidden[b-f08mtv0eeq] {
    display: none !important;
}

.card-header[b-f08mtv0eeq] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

    .card-header i[b-f08mtv0eeq] {
        color: var(--primary-bg);
    }

/* ── Avatar row ── */
.avatar-row[b-f08mtv0eeq] {
    display: flex;
    align-items: center;
    gap: 20px;
}

.avatar-circle[b-f08mtv0eeq] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #e8f5f6;
    border: 3px solid var(--primary-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--primary-bg);
    overflow: hidden;
    flex-shrink: 0;
}

    .avatar-circle img[b-f08mtv0eeq] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.avatar-info[b-f08mtv0eeq] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.avatar-name[b-f08mtv0eeq] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0;
}

.avatar-hint[b-f08mtv0eeq] {
    font-size: 0.75rem;
    color: #aaa;
    margin: 0;
}

.btn-upload[b-f08mtv0eeq] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    padding: 7px 16px;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 500;
    border: 1.5px solid var(--primary-bg);
    background: transparent;
    color: var(--primary-bg);
    cursor: pointer;
    transition: all .15s;
}

    .btn-upload:hover:not(:disabled)[b-f08mtv0eeq] {
        background: var(--primary-bg);
        color: white;
    }

    .btn-upload:disabled[b-f08mtv0eeq] {
        opacity: .6;
        cursor: not-allowed;
    }

/* ── Alerts ── */
.alert-ok[b-f08mtv0eeq], .alert-err[b-f08mtv0eeq] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 16px;
}

.alert-ok[b-f08mtv0eeq] {
    background: #eaf7f0;
    color: #1e7a4f;
    border: 1px solid #b2dfc9;
}

.alert-err[b-f08mtv0eeq] {
    background: #fef2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

/* ── Skeleton ── */
.skeleton-avatar-row[b-f08mtv0eeq] {
    height: 72px;
    border-radius: 10px;
    background: linear-gradient(90deg, #f0f2f4 25%, #e8eaec 50%, #f0f2f4 75%);
    background-size: 200% 100%;
    animation: shimmer-b-f08mtv0eeq 1.4s ease-in-out infinite;
}

@keyframes shimmer-b-f08mtv0eeq {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* ── Spinner ── */
.spinner-sm[b-f08mtv0eeq] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1.5px solid rgba(42,157,143,.3);
    border-top-color: var(--primary-bg);
    animation: spin-b-f08mtv0eeq .6s linear infinite;
}

@keyframes spin-b-f08mtv0eeq {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1024px) {
    .avatar-card[b-f08mtv0eeq] {
        padding: 20px;
    }
}
/* /Components/Dashboard/Settings/SecurityForm.razor.rz.scp.css */
.security-hint[b-4ulhgb8lam] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 0.85rem;
    color: #666;
    margin: 0 0 4px;
}

/* ── Input password con ojo ── */
.input-password-wrap[b-4ulhgb8lam] {
    position: relative;
    display: flex;
    align-items: center;
}

[b-4ulhgb8lam] .input-password-wrap .form-input {
    padding-right: 40px;
}

.btn-toggle-pass[b-4ulhgb8lam] {
    position: absolute;
    right: 10px;
    background: none;
    border: none;
    color: #aaa;
    cursor: pointer;
    font-size: 1rem;
    padding: 0;
    line-height: 1;
    transition: color .15s;
}

    .btn-toggle-pass:hover[b-4ulhgb8lam] {
        color: var(--primary-bg);
    }

/* ── Sesiones ── */
.sessions-list[b-4ulhgb8lam] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.session-item[b-4ulhgb8lam] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid #edf0f2;
    background: #fafbfc;
    transition: background .15s;
}

.session-current[b-4ulhgb8lam] {
    border-color: #c5e0e2;
    background: #f0fafa;
}

.session-icon[b-4ulhgb8lam] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e8f5f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    color: var(--primary-bg);
    flex-shrink: 0;
}

.session-info[b-4ulhgb8lam] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.session-device[b-4ulhgb8lam] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1a1a2e;
    display: flex;
    align-items: center;
    gap: 8px;
}

.session-badge-current[b-4ulhgb8lam] {
    font-size: 0.65rem;
    font-weight: 500;
    background: var(--primary-bg);
    color: white;
    padding: 2px 8px;
    border-radius: 20px;
}

.session-meta[b-4ulhgb8lam] {
    font-size: 0.75rem;
    color: #999;
}

.btn-revoke[b-4ulhgb8lam] {
    padding: 5px 12px;
    border: 1.5px solid #f5c6c6;
    border-radius: 20px;
    background: transparent;
    color: #e05555;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .15s;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

    .btn-revoke:hover:not(:disabled)[b-4ulhgb8lam] {
        background: #fef2f2;
        border-color: #c0392b;
        color: #c0392b;
    }

    .btn-revoke:disabled[b-4ulhgb8lam] {
        opacity: .5;
        cursor: not-allowed;
    }

/* ── Skeleton sesiones ── */
.sessions-skeleton[b-4ulhgb8lam] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.skeleton-session[b-4ulhgb8lam] {
    height: 64px;
    border-radius: 10px;
}

/* ── 2FA ── */
.twofa-row[b-4ulhgb8lam] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.twofa-info[b-4ulhgb8lam] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.twofa-status[b-4ulhgb8lam] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
}

.status-on[b-4ulhgb8lam] {
    color: #1e7a4f;
}

.status-off[b-4ulhgb8lam] {
    color: #999;
}

.btn-twofa[b-4ulhgb8lam] {
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all .15s;
    flex-shrink: 0;
}

.btn-twofa-on[b-4ulhgb8lam] {
    background: var(--primary-bg);
    color: white;
}

    .btn-twofa-on:hover:not(:disabled)[b-4ulhgb8lam] {
        background: #1f8077;
    }

.btn-twofa-off[b-4ulhgb8lam] {
    background: #fef2f2;
    color: #e05555;
    border: 1.5px solid #f5c6c6;
}

    .btn-twofa-off:hover:not(:disabled)[b-4ulhgb8lam] {
        background: #fde8e8;
        border-color: #c0392b;
        color: #c0392b;
    }

.btn-twofa:disabled[b-4ulhgb8lam] {
    opacity: .5;
    cursor: not-allowed;
}

/* ── Spinner pequeño ── */
.spinner-sm[b-4ulhgb8lam] {
    width: 10px;
    height: 10px;
    border-width: 1.5px;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .twofa-row[b-4ulhgb8lam] {
        flex-direction: column;
        align-items: flex-start;
    }

    .btn-twofa[b-4ulhgb8lam] {
        width: 100%;
        justify-content: center;
    }

    .session-meta[b-4ulhgb8lam] {
        font-size: 0.72rem;
    }
}
/* /Components/Dashboard/Settings/TwoFactorCard.razor.rz.scp.css */
.twofa-card[b-w6o1ib172t] {
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e8ea;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    padding: 28px 32px;
    margin-top: 20px;
}

.card-header[b-w6o1ib172t] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f2f4;
}

    .card-header i[b-w6o1ib172t] {
        color: var(--primary-bg);
    }

.row[b-w6o1ib172t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.info[b-w6o1ib172t] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.status[b-w6o1ib172t] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
}

    .status.on[b-w6o1ib172t] {
        color: #1e7a4f;
    }

    .status.off[b-w6o1ib172t] {
        color: #999;
    }

.desc[b-w6o1ib172t] {
    font-size: 0.85rem;
    color: #666;
    margin: 0;
}

.btn-toggle[b-w6o1ib172t] {
    padding: 9px 20px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    flex-shrink: 0;
}

    .btn-toggle.on[b-w6o1ib172t] {
        background: var(--primary-bg);
        color: white;
        border: none;
    }

        .btn-toggle.on:hover:not(:disabled)[b-w6o1ib172t] {
            background: #1f8077;
        }

    .btn-toggle.off[b-w6o1ib172t] {
        background: #fef2f2;
        color: #e05555;
        border: 1.5px solid #f5c6c6;
    }

        .btn-toggle.off:hover:not(:disabled)[b-w6o1ib172t] {
            background: #fde8e8;
            border-color: #c0392b;
            color: #c0392b;
        }

    .btn-toggle:disabled[b-w6o1ib172t] {
        opacity: .5;
        cursor: not-allowed;
    }

.skeleton[b-w6o1ib172t] {
    height: 72px;
    border-radius: 10px;
    background: linear-gradient(90deg, #f0f2f4 25%, #e8eaec 50%, #f0f2f4 75%);
    background-size: 200% 100%;
    animation: shimmer-b-w6o1ib172t 1.4s ease-in-out infinite;
}

@keyframes shimmer-b-w6o1ib172t {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

.alert-err[b-w6o1ib172t] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    margin-top: 12px;
    background: #fef2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

@media (max-width: 1024px) {
    .row[b-w6o1ib172t] {
        flex-direction: column;
        align-items: flex-start;
    }

    .btn-toggle[b-w6o1ib172t] {
        width: 100%;
        text-align: center;
    }
}
/* /Components/HowItWorks/HowItWorksCta.razor.rz.scp.css */
/* ── Contenedor CTA ── */
.howitworks-cta[b-ph3m2mrbiq] {
    border-radius: 1.5rem;
    padding: 2.5rem 1.5rem;
    background: linear-gradient(135deg, #f5fbfb 0%, #fdf5f2 100%);
    border: 1px solid lightgray;
}

.howitworks-cta-title[b-ph3m2mrbiq] {
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: .5rem;
}

.howitworks-cta-text[b-ph3m2mrbiq] {
    font-size: .95rem;
    color: #555;
    margin-bottom: 1.5rem;
}

/* ── Botón usuario (outline) ── */
.howitworks-cta .btn-outline-primary[b-ph3m2mrbiq] {
    border-color: var(--primary-bg);
    color: var(--primary-bg);
    font-weight: 600;
    border-width: 2px;
}

    .howitworks-cta .btn-outline-primary:hover[b-ph3m2mrbiq] {
        background-color: var(--primary-bg);
        border-color: var(--primary-bg);
        color: #fff;
        transform: translateY(-1px);
        box-shadow: 0 6px 15px rgba(63, 158, 164, 0.3);
    }

/* ── Botón especialista (filled) ── */
.howitworks-cta .btn-primary[b-ph3m2mrbiq] {
    background-color: #ff5a2a;
    border-color: #ff5a2a;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(255, 90, 42, 0.3);
}

    .howitworks-cta .btn-primary:hover[b-ph3m2mrbiq] {
        background-color: #e64a22;
        border-color: #e64a22;
        transform: translateY(-1px);
        box-shadow: 0 8px 20px rgba(255, 90, 42, 0.4);
    }

/* ── Responsive ── */
@media (max-width: 768px) {
    .howitworks-cta[b-ph3m2mrbiq] {
        padding: 2rem 1.2rem;
    }

        .howitworks-cta .btn[b-ph3m2mrbiq] {
            display: block;
            width: 100%;
            margin-bottom: 1rem;
        }

            .howitworks-cta .btn:last-child[b-ph3m2mrbiq] {
                margin-bottom: 0;
            }
}
/* /Components/HowItWorks/HowItWorksHeader.razor.rz.scp.css */
.howitworks-eyebrow[b-3o0q8x24ni] {
    display: inline-block;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--primary-bg);
    margin-bottom: .6rem;
}

.howitworks-title[b-3o0q8x24ni] {
    font-weight: 700;
    font-size: 2.6rem;
    color: #14384d;
}

.howitworks-subtitle[b-3o0q8x24ni] {
    font-size: 1.05rem;
    color: #6c757d;
}

.howitworks-section-title[b-3o0q8x24ni] {
    font-weight: 700;
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .howitworks-title[b-3o0q8x24ni] {
        font-size: 1.8rem;
    }
}
/* /Components/HowItWorks/HowItWorksStep.razor.rz.scp.css */
/* ── Tarjeta contenedora ── */
.howitworks-step-card[b-plx0h4k0fp] {
    position: relative;
    border-radius: 1.25rem;
    border: 1px solid rgba(15, 47, 69, 0.06);
    box-shadow: 0 12px 34px rgba(15, 47, 69, 0.06);
    transition: transform .18s ease, box-shadow .18s ease;
    background: #fff;
}

    .howitworks-step-card:hover[b-plx0h4k0fp] {
        transform: translateY(-4px);
        box-shadow: 0 20px 44px rgba(15, 47, 69, 0.10);
    }

/* Acento lateral por audiencia (conecta con el color del badge) */
.howitworks-step-card[b-plx0h4k0fp]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 5px;
    border-radius: 1.25rem 0 0 1.25rem;
}

.howitworks-step-card--patients[b-plx0h4k0fp]::before {
    background: var(--primary-bg);
}

.howitworks-step-card--specialists[b-plx0h4k0fp]::before {
    background: var(--secondary-bg);
}

/* ── Badge de número ── */
.howitworks-step-badge[b-plx0h4k0fp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: .9rem;
    box-shadow: 0 6px 14px rgba(15, 47, 69, 0.12);
}

.howitworks-step-badge--patients[b-plx0h4k0fp] {
    background-color: var(--primary-bg);
    color: #fff;
}

.howitworks-step-badge--specialists[b-plx0h4k0fp] {
    background-color: var(--secondary-bg);
    color: #fff;
}

/* ── Texto ── */
.howitworks-step-title[b-plx0h4k0fp] {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.2;
    margin-bottom: .5rem;
    color: #14384d;
}

.howitworks-step-text[b-plx0h4k0fp] {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #5b6b78;
    margin-bottom: 0;
}

/* ── Marco de imagen de proporción fija (todas del mismo tamaño) ── */
.howitworks-img-frame[b-plx0h4k0fp] {
    display: block;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    padding: .5rem;
    border-radius: 1rem;
    overflow: hidden;
    background: linear-gradient(180deg, #f7fafb 0%, #eef5f6 100%);
    border: 1px solid rgba(15, 47, 69, 0.08);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    cursor: zoom-in;
}

.howitworks-img-preview[b-plx0h4k0fp] {
    width: 100%;
    height: 100%;
    object-fit: contain; /* la captura se ve entera; el marco fija el tamaño */
    display: block;
    transition: transform .25s ease;
}

.howitworks-img-frame:hover .howitworks-img-preview[b-plx0h4k0fp] {
    transform: scale(1.04);
}
/* /Components/Invitations/InvitationCard.razor.rz.scp.css */
.invitation-card[b-jqkgmtg0jj] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-left-width: 4px;
    border-left-style: solid;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

    .invitation-card:hover[b-jqkgmtg0jj] {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    }

    .invitation-card--pending[b-jqkgmtg0jj]  { border-left-color: #5F9EA0; }
    .invitation-card--accepted[b-jqkgmtg0jj] { border-left-color: #28a745; }
    .invitation-card--rejected[b-jqkgmtg0jj] { border-left-color: #adb5bd; }
    .invitation-card--expired[b-jqkgmtg0jj]  { border-left-color: #ced4da; }

.invitation-card__avatar[b-jqkgmtg0jj] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #5F9EA0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 1rem;
    flex-shrink: 0;
    text-transform: uppercase;
}

.invitation-card__body[b-jqkgmtg0jj] {
    flex: 1;
    min-width: 0;
}

.invitation-card__email[b-jqkgmtg0jj] {
    font-weight: 600;
    color: #212529;
    word-break: break-all;
    line-height: 1.2;
}

.invitation-card__meta[b-jqkgmtg0jj] {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.85rem;
}

.invitation-card__meta-text[b-jqkgmtg0jj] {
    color: #6c757d;
    font-size: 0.78rem;
}

.invitation-card__action[b-jqkgmtg0jj] {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    flex-shrink: 0;
}

.invitation-card__cancel-btn[b-jqkgmtg0jj] {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
}

    .invitation-card__cancel-btn:hover[b-jqkgmtg0jj] {
        color: #dc3545;
        background: #fff;
    }

/* Badge de estado ─────────────────────────────────────────────────────────── */

.invitation-badge[b-jqkgmtg0jj] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

    .invitation-badge i[b-jqkgmtg0jj] {
        font-size: 0.8rem;
    }

    .invitation-badge--pending[b-jqkgmtg0jj] {
        background: rgba(95, 158, 160, 0.14);
        color: #3F8285;
    }

    .invitation-badge--accepted[b-jqkgmtg0jj] {
        background: rgba(40, 167, 69, 0.14);
        color: #1E7E34;
    }

    .invitation-badge--rejected[b-jqkgmtg0jj] {
        background: rgba(108, 117, 125, 0.18);
        color: #495057;
    }

    .invitation-badge--expired[b-jqkgmtg0jj] {
        background: rgba(108, 117, 125, 0.12);
        color: #6c757d;
    }
/* /Components/Layout/DashboardLayout.razor.rz.scp.css */
/* ── SHELL ── */
/* Altura fija = viewport: el navbar y el sidebar se quedan anclados y el scroll
   ocurre dentro de .dash-main. En móvil (media query de abajo) volvemos a
   min-height para que la página entera scrollee con la bottom-nav. */
.dashboard-shell[b-gfjpadmsr8] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
    background: #f4f7f8;
}

.header__logo[b-gfjpadmsr8] {
    height: 80px;
    width: auto;
    object-fit: contain;
}

/* ── NAVBAR ── */
.dash-navbar[b-gfjpadmsr8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--primary-bg);
    padding: 0 24px;
    height: 54px;
    flex-shrink: 0;
}

/* Grupo izquierdo: logo + breadcrumb */
.dash-navbar-left[b-gfjpadmsr8] {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.dash-logo[b-gfjpadmsr8] {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
}

.dash-navbar-right[b-gfjpadmsr8] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .dash-navbar-right .btn[b-gfjpadmsr8] {
        display: flex;
        align-items: center;
        gap: 6px;
        background: rgba(255, 255, 255, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.30);
        color: white !important;
        border-radius: 20px;
        padding: 5px 14px;
        font-size: 0.8rem;
        font-weight: 500;
        transition: background 0.18s, border-color 0.18s;
        text-decoration: none;
    }

        .dash-navbar-right .btn:hover[b-gfjpadmsr8] {
            background: rgba(255, 255, 255, 0.28);
            border-color: rgba(255, 255, 255, 0.45);
            color: white !important;
        }

/* ── BODY ── */
.dashboard-body[b-gfjpadmsr8] {
    display: flex;
    flex: 1;
    overflow: hidden;
}

/* ── SIDEBAR (desktop) ── */
.dash-sidebar[b-gfjpadmsr8] {
    width: 220px;
    flex-shrink: 0;
    background: #fff;
    border-right: 1px solid #c5e0e2;
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

/* ── USER INFO ── */
.dash-user-info[b-gfjpadmsr8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0 16px 16px;
    text-align: center;
}

.dash-avatar[b-gfjpadmsr8] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #e8f5f6;
    border: 3px solid var(--primary-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--primary-bg);
    flex-shrink: 0;
    overflow: hidden;
}

    .dash-avatar img[b-gfjpadmsr8] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 50%;
    }

.dash-username[b-gfjpadmsr8] {
    font-weight: 600;
    font-size: 0.9rem;
    color: #333;
}

.badge-patient[b-gfjpadmsr8] {
    background: var(--primary-bg);
    color: #fff;
    font-size: 0.7rem;
    padding: 3px 10px;
    border-radius: 20px;
}

/* ── AJUSTES (icono header móvil) ── */
/* Oculto en desktop: Ajustes ya aparece como item del sidebar. Solo se muestra
   en móvil/tablet (≤1024px) para sustituir al item que sale de la bottom-nav. */
.dash-settings-mobile[b-gfjpadmsr8] {
    display: none;
}

/* ── LOGOUT BTN ── */
.dash-logout-btn[b-gfjpadmsr8] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border: 1.5px solid #f5c6c6;
    border-radius: 20px;
    background: transparent;
    color: #e05555;
    font-size: 0.75rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    flex-shrink: 0;
    white-space: nowrap;
}

    .dash-logout-btn i[b-gfjpadmsr8] {
        font-size: 0.85rem;
    }

    .dash-logout-btn:hover[b-gfjpadmsr8] {
        background: #fef2f2;
        color: #c0392b;
        border-color: #c0392b;
    }

/* ── DIVIDER ── */
.dash-divider[b-gfjpadmsr8] {
    border-color: #c5e0e2;
    margin: 0 16px 12px;
}

/* ── NAV ITEMS (desktop) ── */
.dash-nav[b-gfjpadmsr8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 8px;
    flex: 1;
}

/* ── SECCIÓN "Próximamente" ── */
.dash-nav-section[b-gfjpadmsr8] {
    margin: 0.75rem 0.5rem 0.25rem;
    padding: 0.6rem 0.5rem 0.3rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    border-top: 1px solid #e2e8f0;
}

.dash-nav-item[b-gfjpadmsr8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    color: #555;
    font-size: 0.875rem;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
    position: relative;
}

    .dash-nav-item i[b-gfjpadmsr8] {
        font-size: 1rem;
    }

    .dash-nav-item:hover[b-gfjpadmsr8] {
        background: #e8f5f6;
        color: var(--primary-bg);
    }

    .dash-nav-item.active[b-gfjpadmsr8] {
        background: #e8f5f6;
        color: var(--primary-bg);
        font-weight: 600;
    }

        .dash-nav-item.active[b-gfjpadmsr8]::before {
            content: '';
            position: absolute;
            left: 0;
            top: 4px;
            bottom: 4px;
            width: 3px;
            background: var(--primary-bg);
            border-radius: 0 3px 3px 0;
        }

/* ── MAIN CONTENT ── */
.dash-main[b-gfjpadmsr8] {
    flex: 1;
    overflow-y: auto;
    padding: 32px;
    /* Habilita scroll suave para programáticos (scrollTo, scrollIntoView con
       behavior:'smooth'), tabs anchors y navegación lateral tipo TOC. */
    scroll-behavior: smooth;
}

/* ════════════════════════════════════════════════
   RESPONSIVE — móvil + tablet vertical (≤ 1024px)
   ════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    /* En móvil/tablet vertical recuperamos el scroll a nivel de página: la
       bottom-nav es fija y el resto del contenido fluye sin altura tope. */
    .dashboard-shell[b-gfjpadmsr8] {
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }

    .dashboard-body[b-gfjpadmsr8] {
        flex-direction: column;
        overflow: visible;
    }

    .dash-sidebar[b-gfjpadmsr8] {
        overflow-y: visible;
    }

    .dash-sidebar[b-gfjpadmsr8] {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #c5e0e2;
        padding: 12px 0 0;
        flex-direction: column;
    }

    .dash-user-info[b-gfjpadmsr8] {
        flex-direction: row;
        align-items: center;
        padding: 0 16px 12px;
        gap: 12px;
        text-align: left;
    }

    .dash-user-top[b-gfjpadmsr8] {
        width: auto;
        flex-shrink: 0;
        justify-content: flex-start;
        gap: 0;
    }

    .dash-avatar[b-gfjpadmsr8] {
        width: 44px;
        height: 44px;
        font-size: 1.2rem;
    }

    .dash-username[b-gfjpadmsr8] {
        flex: 1;
        font-size: 0.9rem;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #333;
    }

    .badge-patient[b-gfjpadmsr8] {
        display: inline-block;
        font-size: 0.65rem;
        padding: 2px 8px;
    }

    /* Icono Ajustes — discreto, junto al logout, alineado al final de la fila.
       Color gris suave que se vuelve cadetblue al hover/active (cuando estás
       en /es/mi-perfil/ajustes NavLink añade la clase .active).

       Cubrimos :link y :visited explícitamente porque Bootstrap define color
       en `a:link` (specificity 0,1,1) y ganaría a un selector de clase plano. */
    .dash-settings-mobile[b-gfjpadmsr8],
    .dash-settings-mobile:link[b-gfjpadmsr8],
    .dash-settings-mobile:visited[b-gfjpadmsr8] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        color: #94a3b8;
        text-decoration: none;
        margin-left: auto;
        transition: background 0.15s, color 0.15s;
        flex-shrink: 0;
    }

        .dash-settings-mobile i[b-gfjpadmsr8] {
            font-size: 1.15rem;
            color: inherit;
        }

        .dash-settings-mobile:hover[b-gfjpadmsr8] {
            background: #e8f5f6;
            color: var(--primary-bg);
        }

        .dash-settings-mobile.active[b-gfjpadmsr8],
        .dash-settings-mobile.active:link[b-gfjpadmsr8],
        .dash-settings-mobile.active:visited[b-gfjpadmsr8] {
            color: var(--primary-bg);
        }

    /* El estilo móvil del logout vive en LogoutButton.razor.css (icon-only,
       sin cerco rojo). Aquí ya no fuerza margin-left:auto porque ahora va
       después del icono Ajustes, que sí toma el auto. */
    .dash-logout-btn[b-gfjpadmsr8] {
        margin-left: 4px;
    }

    .dash-divider[b-gfjpadmsr8] {
        display: none;
    }

    /* En bottom nav no tiene sentido el header de sección */
    .dash-nav-section[b-gfjpadmsr8] {
        display: none;
    }

    /* ── BOTTOM NAV ── */
    /* Sólo posicionamos el contenedor. El estilo de cada item (orden, FAB,
       opacidad "Próximamente") vive en DashNavItem.razor.css porque ese
       componente tiene su propio scope CSS — las reglas con clase modifier
       (.dash-nav-item--*, .d-mobile-hidden) NO matchearían desde aquí.

       padding-bottom usa env(safe-area-inset-bottom) para que el home indicator
       de iPhone (XR, X, 11+) no tape los iconos. Requiere viewport-fit=cover
       en el meta viewport de App.razor (sin eso, env(...) devuelve 0). */
    .dash-nav[b-gfjpadmsr8] {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        flex-direction: row;
        justify-content: space-around;
        align-items: center;
        background: #fff;
        border-top: 1px solid #c5e0e2;
        padding: 6px 0 max(8px, env(safe-area-inset-bottom));
        box-shadow: 0 -4px 12px rgba(63, 158, 164, 0.1);
        flex: unset;
        gap: 0;
        overflow: visible; /* el FAB de DashNavItem sobresale por arriba */
    }

    .dash-main[b-gfjpadmsr8] {
        padding: 20px 16px calc(80px + env(safe-area-inset-bottom));
        overflow-y: auto;
    }
}

/* ════════════════════════════════════════════════
   Tablet vertical — ajustes específicos (768-1024px)
   ════════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1024px) {

    /* Avatar un poco más grande que en móvil */
    .dash-avatar[b-gfjpadmsr8] {
        width: 52px;
        height: 52px;
        font-size: 1.5rem;
    }

    /* Bottom nav con iconos más grandes y más padding */
    .dash-nav-item i[b-gfjpadmsr8] {
        font-size: 1.6rem;
    }

    .dash-nav[b-gfjpadmsr8] {
        padding: 10px 0 12px;
    }

    /* Más espacio en el main para no quedar pegado */
    .dash-main[b-gfjpadmsr8] {
        padding: 28px 24px calc(90px + env(safe-area-inset-bottom));
    }
}
/* /Components/Layout/Footer/Footer.razor.rz.scp.css */
/* ── Footer — turquesa médico sólido ───────────────────────────── */
.site-footer[b-rftofdaz32] {
    margin-top: auto;
    padding: 2rem 0 1.5rem;
    color: #ffffff;
    overflow-x: clip;
}

.footer-logo[b-rftofdaz32] {
    display: inline-block;
    margin-bottom: 1rem;
    text-decoration: none;
}


.site-footer__empresa[b-rftofdaz32] {
    color: #ffffff;
    font-weight: 400;
    margin-bottom: 4px;
    font-size: 0.75rem;
}

.site-footer__cif[b-rftofdaz32] {
    color: rgba(255, 255, 255, 0.85); /* blanco más suave */
    font-size: 0.85rem;
    margin: 0;
}

/* ── Títulos de sección ──────── */
.footer-heading[b-rftofdaz32] {
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.8rem;
}

/* ── Listas de enlaces ──────── */
.footer-nav-list[b-rftofdaz32],
.footer-contact-list[b-rftofdaz32] {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.9rem;
}

    .footer-nav-list li[b-rftofdaz32],
    .footer-contact-list li[b-rftofdaz32] {
        margin-bottom: 0.4rem;
    }

    .footer-nav-list a[b-rftofdaz32] {
        color: rgba(255, 255, 255, 0.9);
        text-decoration: none;
        transition: color 0.2s ease;
    }

        .footer-nav-list a:hover[b-rftofdaz32] {
            color: #ff5a2a; /* naranja de tu diseño */
        }

/* ── Email principal ────────── */
.site-footer__email[b-rftofdaz32] {
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    display: block;
    margin-bottom: 8px;
    font-size: 0.95rem;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

    .site-footer__email:hover[b-rftofdaz32] {
        color: #ff5a2a;
    }

/* ── Lista de contacto ──────── */
.footer-contact-list[b-rftofdaz32] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

    .footer-contact-list li[b-rftofdaz32] {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        min-width: 0;
    }

    .footer-contact-list i[b-rftofdaz32] {
        width: 16px;
        color: #ff5a2a;
        font-size: 0.9rem;
    }

/* ── Copyright ──────────────── */
.site-footer__copy[b-rftofdaz32] {
    color: rgba(255, 255, 255, 0.75); /* blanco más suave */
    font-size: 0.8rem;
    margin: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 1rem;
}

.footer-contact-column[b-rftofdaz32] {
    text-align: left;
}

.footer-store-badges[b-rftofdaz32] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.footer-store-badges img[b-rftofdaz32] {
    max-width: 100%;
    height: 40px;
    object-fit: contain;
}

/* ── Responsive ─────────────── */
@media (min-width: 992px) {
    .footer-contact-column[b-rftofdaz32] {
        text-align: right;
    }

    .footer-contact-column .footer-contact-list li[b-rftofdaz32],
    .footer-contact-column .footer-store-badges[b-rftofdaz32] {
        justify-content: flex-end;
    }
}

@media (max-width: 991.98px) {
    .site-footer[b-rftofdaz32] {
        padding: 2rem 0 1.25rem;
    }

    .footer-contact-column[b-rftofdaz32] {
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        padding-top: 1.25rem;
    }

    .footer-store-badges[b-rftofdaz32] {
        margin-bottom: .75rem;
    }
}

@media (max-width: 768px) {
    .site-footer[b-rftofdaz32] {
        padding: 1.5rem 0 1rem;
    }

    .footer-heading[b-rftofdaz32] {
        margin-top: 1rem;
    }
}

@media (max-width: 480px) {
    .logo-text[b-rftofdaz32] {
        font-size: 1.2rem;
    }

    .site-footer__empresa[b-rftofdaz32] {
        font-size: 0.9rem;
    }
}
/* /Components/Layout/Header/Header.razor.rz.scp.css */
.site-header[b-izbn5go8av] {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #ffffff;
    border-bottom: 1px solid rgba(63, 158, 164, 0.12);
    box-shadow: 0 2px 10px rgba(20, 32, 51, 0.06);
}

.header__logo[b-izbn5go8av] {
    height: 46px;
    width: auto;
    object-fit: contain;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-3jphym7z53] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-3jphym7z53] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.main-content[b-3jphym7z53] {
    flex: 1;
    padding-bottom: 2rem;
    background-color: #eff2f6;
}
/* /Components/Layout/NavMenu/NavMenu.razor.rz.scp.css */
.nav-link[b-ecp4s0v5mg] {
    color: #142033 !important;
    font-weight: 500;
    transition: color 0.2s;
}

    .nav-link:hover[b-ecp4s0v5mg] {
        color: var(--primary-bg) !important;
    }

.nav-link--dropdown[b-ecp4s0v5mg] {
    border: 0;
    background: transparent;
    border-radius: 0;
}

    .nav-link--dropdown:hover[b-ecp4s0v5mg],
    .nav-link--dropdown:focus[b-ecp4s0v5mg],
    .nav-link--dropdown.show[b-ecp4s0v5mg] {
        background: transparent;
        color: var(--primary-bg) !important;
        box-shadow: none;
    }

.navmenu-search__menu[b-ecp4s0v5mg] {
    min-width: 300px;
    max-width: min(300px, calc(100vw - 2rem));
}

.navmenu-search__item[b-ecp4s0v5mg] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
    white-space: normal;
}

    .navmenu-search__item strong[b-ecp4s0v5mg],
    .navmenu-search__item small[b-ecp4s0v5mg] {
        display: block;
    }

    .navmenu-search__item strong[b-ecp4s0v5mg] {
        color: #142033;
        font-size: 0.9rem;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .navmenu-search__item small[b-ecp4s0v5mg] {
        margin-top: 0.15rem;
        color: #60717f;
        font-size: 0.78rem;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

.navmenu-search__icon[b-ecp4s0v5mg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--primary-bg);
    font-size: 1.35rem;
}

.navmenu__separador[b-ecp4s0v5mg] {
    width: 1px;
    height: 24px;
    background-color: rgba(20, 32, 51, 0.12);
    margin: 0 4px;
}

.navmenu__btn-login[b-ecp4s0v5mg] {
    color: var(--primary-bg);
    border: 1.5px solid var(--primary-bg);
    border-radius: 20px;
    padding: 5px 14px;
    font-weight: 500;
    transition: all 0.2s;
    background-color: transparent;
}

    .navmenu__btn-login:hover[b-ecp4s0v5mg],
    .navmenu__btn-login:focus[b-ecp4s0v5mg],
    .navmenu__btn-login.show[b-ecp4s0v5mg] {
        background-color: var(--primary-bg);
        color: #ffffff;
        border-color: var(--primary-bg);
        box-shadow: none;
    }

.navmenu__btn-registro[b-ecp4s0v5mg] {
    background-color: var(--secondary-bg);
    color: #ffffff;
    border: none;
    border-radius: 20px;
    padding: 5px 14px;
    font-weight: 600;
    transition: background-color 0.2s;
}

    .navmenu__btn-registro:hover[b-ecp4s0v5mg] {
        background-color: #e04820;
        color: #ffffff;
    }

/* ── DROPDOWN ─────────────────────────────────────────────────────────────── */

.dropdown-menu[b-ecp4s0v5mg] {
    --bs-dropdown-bg: #ffffff;
    --bs-dropdown-border-color: #c5e0e2;
    --bs-dropdown-border-radius: 10px;
    --bs-dropdown-box-shadow: 0 8px 24px rgba(63, 158, 164, 0.15);
    --bs-dropdown-link-color: #444444;
    --bs-dropdown-link-hover-bg: #e8f5f6;
    --bs-dropdown-link-hover-color: #2d7a80;
    --bs-dropdown-link-active-bg: #3F9EA4;
    --bs-dropdown-link-active-color: #ffffff;
    --bs-dropdown-divider-bg: #c5e0e2;
    --bs-dropdown-padding-y: 6px;
    --bs-dropdown-item-padding-x: 14px;
    --bs-dropdown-item-padding-y: 8px;
    min-width: 200px;
    margin-top: 8px !important; 
    animation: dropdownFadeIn-b-ecp4s0v5mg 0.15s ease;
}

    .dropdown-menu[b-ecp4s0v5mg]::before {
        content: '';
        display: block;
        height: 3px;
        background: var(--primary-bg);
        border-radius: 10px 10px 0 0;
        margin-bottom: 4px;
    }

/* Items */
.dropdown-item[b-ecp4s0v5mg] {
    border-radius: 6px;
    margin: 1px 6px;
    width: calc(100% - 12px);
    transition: background 0.15s, color 0.15s;
    font-size: 0.875rem;
}

    .dropdown-item[b-ecp4s0v5mg]  .pronto-badge {
        margin-left: auto;
        font-size: 0.65rem;
        font-weight: 600;
    }

    .dropdown-item i[b-ecp4s0v5mg] {
        color: var(--primary-bg);
        transition: color 0.15s;
    }

    .dropdown-item:hover i[b-ecp4s0v5mg],
    .dropdown-item:focus i[b-ecp4s0v5mg] {
        color: #2d7a80;
    }

    /* Cerrar sesión */
    .dropdown-item.text-danger i[b-ecp4s0v5mg] {
        color: #dc3545;
    }

/* Divider acorde a la paleta */
.dropdown-divider[b-ecp4s0v5mg] {
    margin: 4px 10px;
    opacity: 1;
}

/* animation dropdown in */
@keyframes dropdownFadeIn-b-ecp4s0v5mg {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    .nav-link--dropdown[b-ecp4s0v5mg] {
        width: 100%;
        justify-content: flex-start;
        text-align: left;
        padding-left: var(--bs-nav-link-padding-x);
    }

    .navmenu__separador[b-ecp4s0v5mg] {
        width: 100%;
        height: 1px;
        margin: 8px 0;
    }

    .navmenu__btn-login[b-ecp4s0v5mg],
    .navmenu__btn-registro[b-ecp4s0v5mg] {
        width: 100%;
        text-align: center;
    }

    /* En móvil el dropdown ocupa todo el ancho */
    .dropdown-menu[b-ecp4s0v5mg] {
        min-width: 100%;
        max-width: 100%;
        margin-top: 4px !important;
        box-shadow: none;
        border-color: #c5e0e2;
    }

        .dropdown-menu[b-ecp4s0v5mg]::before {
            border-radius: 0;
        }
}
/* /Components/Members/MemberCard.razor.rz.scp.css */
.member-card[b-1scuq1qsf5] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 1.25rem 1rem 1rem;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
    min-width: 0;
}

/* Menú tres-puntitos ─────────────────────────────────────────────────────── */

.member-card__menu[b-1scuq1qsf5] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 2;
}

.member-card__menu-toggle[b-1scuq1qsf5] {
    border: none;
    background: transparent;
    color: #6c757d;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .member-card__menu-toggle:hover[b-1scuq1qsf5] {
        background: #f1f3f5;
        color: #212529;
    }

    .member-card__menu-toggle:disabled[b-1scuq1qsf5] {
        opacity: 0.6;
        cursor: not-allowed;
    }

.member-card__menu-panel[b-1scuq1qsf5] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.25rem;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.10);
    min-width: 200px;
    padding: 0.4rem;
    text-align: left;
}

.member-card__menu-item[b-1scuq1qsf5] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.5rem 0.65rem;
    border: none;
    background: transparent;
    border-radius: 6px;
    font-size: 0.85rem;
    cursor: pointer;
    color: #212529;
}

    .member-card__menu-item:hover[b-1scuq1qsf5] {
        background: #f8f9fa;
    }

.member-card__menu-item--danger[b-1scuq1qsf5] {
    color: #c82333;
}

    .member-card__menu-item--danger:hover[b-1scuq1qsf5] {
        background: #fdecea;
    }

.member-card__menu-confirm[b-1scuq1qsf5] {
    padding: 0.6rem 0.5rem 0.4rem;
}

.member-card__menu-confirm-text[b-1scuq1qsf5] {
    margin: 0 0 0.6rem;
    font-size: 0.82rem;
    color: #212529;
}

.member-card__menu-confirm-actions[b-1scuq1qsf5] {
    display: flex;
    gap: 0.4rem;
    justify-content: flex-end;
}

    .member-card:hover[b-1scuq1qsf5] {
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.07);
        transform: translateY(-1px);
    }

/* Avatar ──────────────────────────────────────────────────────────────────── */

.member-card__avatar-wrapper[b-1scuq1qsf5] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 0.75rem;
    box-shadow: 0 2px 8px rgba(95, 158, 160, 0.18);
    flex-shrink: 0;
}

.member-card__photo[b-1scuq1qsf5] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.member-card__initial[b-1scuq1qsf5] {
    width: 100%;
    height: 100%;
    background: #5F9EA0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Texto ───────────────────────────────────────────────────────────────────── */

.member-card__specialty[b-1scuq1qsf5] {
    margin-bottom: 0.4rem;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    letter-spacing: 0.02em;
}

/* Mismo color que SpecialistCardHeader/SpecialtyDetails. Redefinido aquí
   porque el CSS de Razor es scoped y .badge-specialty global del otro
   componente no aplica a esta card. */
.badge-specialty[b-1scuq1qsf5] {
    background-color: #3F9EA4;
    color: #fff;
}

.member-card__specialty--empty[b-1scuq1qsf5] {
    background: #f1f3f5;
    color: #6c757d;
    font-style: italic;
    font-weight: 500;
}

.member-card__name[b-1scuq1qsf5] {
    font-weight: 600;
    color: #212529;
    font-size: 0.98rem;
    line-height: 1.25;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.member-card__badge[b-1scuq1qsf5] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: rgba(40, 167, 69, 0.14);
    color: #1E7E34;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.02em;
}

    .member-card__badge i[b-1scuq1qsf5] {
        font-size: 0.72rem;
    }

.member-card__degrees[b-1scuq1qsf5] {
    margin-top: 0.35rem;
    color: #5F9EA0;
    font-size: 0.82rem;
    font-weight: 500;
}

.member-card__email[b-1scuq1qsf5] {
    margin-top: 0.35rem;
    color: #6c757d;
    font-size: 0.78rem;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Notifications/NotificationCard.razor.rz.scp.css */
.notification-card[b-rb46yof9ex] {
    width: 100%;
    display: grid;
    grid-template-columns: 18px 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid #dde3ea;
    border-radius: 1rem;
    background: #ffffff;
    padding: 1.15rem 1.2rem;
    text-align: left;
    transition: all 0.2s ease;
}

    .notification-card:hover[b-rb46yof9ex] {
        border-color: #b9d7db;
        background: #fbfefe;
    }

    .notification-card.is-selected[b-rb46yof9ex] {
        border-color: #b9dfe2;
        background: #f3fbfb;
        box-shadow: inset 0 0 0 1px rgba(22, 136, 146, 0.06);
    }

.notification-card__dot[b-rb46yof9ex] {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    display: inline-block;
}

    .notification-card__dot.is-info[b-rb46yof9ex] {
        background: #1294a0;
    }

    .notification-card__dot.is-warning[b-rb46yof9ex] {
        background: #f0ab24;
    }

    .notification-card__dot.is-muted[b-rb46yof9ex] {
        background: #b6c2d1;
    }

.notification-card__icon[b-rb46yof9ex] {
    width: 56px;
    height: 56px;
    border-radius: 0.9rem;
    background: #eef5f6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #168892;
    font-size: 1.45rem;
}

.notification-card__content[b-rb46yof9ex] {
    min-width: 0;
}

.notification-card__title[b-rb46yof9ex] {
    font-size: clamp(1rem, 1vw, 1.2rem);
    font-weight: 500;
    color: #1f2937;
    margin-bottom: 0.25rem;
}

.notification-card__description[b-rb46yof9ex] {
    color: #64748b;
    font-size: 1rem;
    line-height: 1.45;
}

.notification-card__meta[b-rb46yof9ex] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    color: #64748b;
    white-space: nowrap;
}

.notification-card__time[b-rb46yof9ex] {
    font-size: 0.98rem;
}

.notification-card__chevron[b-rb46yof9ex] {
    font-size: 1.05rem;
    color: #64748b;
}

@media (max-width: 767.98px) {
    .notification-card[b-rb46yof9ex] {
        grid-template-columns: 14px 48px minmax(0, 1fr);
        gap: 0.85rem;
        padding: 1rem;
    }

    .notification-card__icon[b-rb46yof9ex] {
        width: 48px;
        height: 48px;
        font-size: 1.2rem;
    }

    .notification-card__meta[b-rb46yof9ex] {
        grid-column: 3;
        justify-content: space-between;
        margin-top: 0.45rem;
    }
}
/* /Components/Notifications/NotificationDetailPanel.razor.rz.scp.css */
.notification-detail[b-za280bepy7] {
    display: flex;
    flex-direction: column;
    gap: 1.3rem;
    min-height: 100%;
}

.notification-detail__header[b-za280bepy7] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.notification-detail__title[b-za280bepy7] {
    font-size: clamp(1.45rem, 1.8vw, 2rem);
    font-weight: 500;
    color: #1f2937;
    margin: 0 0 0.6rem;
}

.notification-detail__status[b-za280bepy7] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: #168892;
    font-weight: 500;
}

.notification-detail__status-dot[b-za280bepy7] {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    display: inline-block;
}

    .notification-detail__status-dot.is-unread[b-za280bepy7] {
        background: #1294a0;
    }

    .notification-detail__status-dot.is-read[b-za280bepy7] {
        background: #b6c2d1;
    }

.notification-detail__close[b-za280bepy7] {
    border: none;
    background: transparent;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .notification-detail__close:hover[b-za280bepy7] {
        background: #f3f6f8;
    }

.notification-detail__divider[b-za280bepy7] {
    height: 1px;
    background: #e6ebf0;
}

.notification-detail__intro[b-za280bepy7] {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 1.2rem;
    align-items: start;
}

.notification-detail__icon[b-za280bepy7] {
    width: 88px;
    height: 88px;
    border-radius: 1rem;
    background: #eef5f6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #168892;
    font-size: 2rem;
}

.notification-detail__intro-text h3[b-za280bepy7] {
    font-size: 1.3rem;
    font-weight: 500;
    color: #1f2937;
    margin: 0 0 0.75rem;
}

.notification-detail__intro-text p[b-za280bepy7] {
    margin: 0;
    color: #475569;
    line-height: 1.5;
}

.notification-detail__info[b-za280bepy7] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.notification-detail__row[b-za280bepy7] {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.notification-detail__label[b-za280bepy7] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: #334155;
    font-weight: 500;
}

    .notification-detail__label i[b-za280bepy7] {
        width: 18px;
        text-align: center;
    }

.notification-detail__value[b-za280bepy7] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    color: #475569;
    line-height: 1.6;
}

    .notification-detail__value strong[b-za280bepy7] {
        color: #1f2937;
        font-weight: 700;
    }

.notification-detail__helper[b-za280bepy7] {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    background: #f2f8fb;
    color: #475569;
    border-radius: 1rem;
    padding: 1rem 1.1rem;
    margin-top: 0.25rem;
}

    .notification-detail__helper i[b-za280bepy7] {
        color: #168892;
        font-size: 1.1rem;
        margin-top: 0.1rem;
    }

.notification-detail__actions[b-za280bepy7] {
    margin-top: auto;
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.notification-detail__btn[b-za280bepy7] {
    min-height: 50px;
    border-radius: 0.9rem;
    padding: 0.8rem 1.35rem;
    font-weight: 600;
}

.notification-detail__btn--secondary[b-za280bepy7] {
    border: 1px solid #8fd0d4;
    color: #168892;
    background: #ffffff;
}

.notification-detail__btn--primary[b-za280bepy7] {
    border: 1px solid #168892;
    background: #168892;
    color: #ffffff;
}

@media (max-width: 767.98px) {
    .notification-detail__intro[b-za280bepy7] {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .notification-detail__icon[b-za280bepy7] {
        width: 72px;
        height: 72px;
        font-size: 1.55rem;
    }

    .notification-detail__row[b-za280bepy7] {
        grid-template-columns: 1fr;
        gap: 0.45rem;
    }

    .notification-detail__actions[b-za280bepy7] {
        flex-direction: column;
    }

    .notification-detail__btn[b-za280bepy7] {
        width: 100%;
    }
}
/* /Components/Notifications/NotificationsToolbar.razor.rz.scp.css */
.notifications-toolbar[b-yxqixfl1zw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 0.35rem 0.2rem 1rem;
}

.notifications-toolbar__left[b-yxqixfl1zw] {
    min-width: 16rem;
}

.notifications-toolbar__select[b-yxqixfl1zw] {
    width: 100%;
    height: 48px;
    border-radius: 0.9rem;
    border: 1px solid #d8e1e7;
    color: #334155;
    background: #ffffff;
    padding: 0 1rem;
    outline: none;
    box-shadow: none;
}

.notifications-toolbar__mark-all[b-yxqixfl1zw] {
    border: none;
    background: transparent;
    color: #168892;
    font-weight: 500;
    padding: 0.65rem 0.75rem;
}

    .notifications-toolbar__mark-all:hover[b-yxqixfl1zw] {
        color: #0f6f77;
    }

@media (max-width: 991.98px) {
    .notifications-toolbar[b-yxqixfl1zw] {
        flex-direction: column;
        align-items: stretch;
    }

    .notifications-toolbar__left[b-yxqixfl1zw] {
        min-width: 100%;
    }

    .notifications-toolbar__mark-all[b-yxqixfl1zw] {
        justify-content: flex-start;
        text-align: left;
        padding-left: 0.15rem;
    }
}
/* /Components/ProfessionalsLanding/ProfessionalsBenefits.razor.rz.scp.css */
.professionals-benefits[b-olsisxs8vz] {
    background: #9fc8ca;
}

/* Isotipo de marca como badge circular sobre el título (ver pro2) */
.benefits-brandmark[b-olsisxs8vz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 47, 69, 0.12);
    margin-bottom: 18px;
}

    .benefits-brandmark img[b-olsisxs8vz] {
        width: 64%;
        height: auto;
        display: block;
    }

.benefits-title[b-olsisxs8vz] {
    color: #0f5055;
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1.08;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.benefit-card[b-olsisxs8vz] {
    background: white;
    border-radius: 18px;
    padding: 28px 22px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    height: 100%;
}

    .benefit-card:hover[b-olsisxs8vz] {
        transform: translateY(-4px);
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.14);
    }

.benefit-icon-wrap[b-olsisxs8vz] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 88px;
    margin-bottom: 18px;
}

.benefit-icon[b-olsisxs8vz] {
    max-width: 120px;
    max-height: 120px;
    object-fit: contain;
}

.benefit-card-title[b-olsisxs8vz] {
    font-size: 1.65rem;
    line-height: 1.1;
    font-weight: 800;
    color: #161d2b;
    margin-bottom: 10px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.benefit-card-text[b-olsisxs8vz] {
    font-size: 1.1rem;
    line-height: 1.35;
    color: #3b4654;
    margin-bottom: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.01em;
}

@media (max-width: 991.98px) {
    .benefit-card-title[b-olsisxs8vz] {
        font-size: 1.35rem;
    }

    .benefit-card-text[b-olsisxs8vz] {
        font-size: 1rem;
    }
}
/* /Components/ProfessionalsLanding/ProfessionalsDifferentiation.razor.rz.scp.css */
.professionals-differentiation[b-i3n62k9sct] {
    background: #5f9ea0;
}

/* Título + línea divisoria + isotipo en una fila (ver pro1) */
.differentiation-heading[b-i3n62k9sct] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Línea vertical que separa el texto del isotipo (pegada al texto) */
.differentiation-rule[b-i3n62k9sct] {
    width: 2px;
    height: 3rem;
    background: rgba(255, 255, 255, 0.35);
}

/* Isotipo de marca junto al título (ver pro1) */
.differentiation-brandmark[b-i3n62k9sct] {
    flex: 0 0 auto;
    height: 3.8rem;
    width: auto;
}

.differentiation-title[b-i3n62k9sct] {
    color: white;
    font-size: clamp(2.1rem, 4vw, 3.6rem);
    line-height: 1.08;
    max-width: 760px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.differentiation-text[b-i3n62k9sct] {
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.35rem;
    line-height: 1.35;
    max-width: 980px;
}

.differentiation-points[b-i3n62k9sct] {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.differentiation-point[b-i3n62k9sct] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.point-icon[b-i3n62k9sct] {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 50%;
    background: #ff6a33;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    font-weight: 800;
    margin-top: 4px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14);
}

.point-text[b-i3n62k9sct] {
    color: white;
    font-size: 1.45rem;
    line-height: 1.32;
    max-width: 980px;
}

    .point-text strong[b-i3n62k9sct] {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
        font-weight: 700;
        letter-spacing: 0.01em;
    }

@media (max-width: 991.98px) {
    .differentiation-text[b-i3n62k9sct] {
        font-size: 1.15rem;
    }

    .point-text[b-i3n62k9sct] {
        font-size: 1.15rem;
    }
}

@media (max-width: 575.98px) {
    .differentiation-title[b-i3n62k9sct] {
        font-size: 2.2rem;
    }

    .differentiation-text[b-i3n62k9sct] {
        font-size: 1.05rem;
    }

    .point-text[b-i3n62k9sct] {
        font-size: 1.05rem;
    }

    .differentiation-point[b-i3n62k9sct] {
        gap: 12px;
    }

    .point-icon[b-i3n62k9sct] {
        width: 30px;
        height: 30px;
        min-width: 30px;
        font-size: 0.95rem;
    }
}
/* /Components/ProfessionalsLanding/ProfessionalsFaq.razor.rz.scp.css */
.professionals-faq[b-smsuhqookl] {
    background: #eef6f6;
}

.faq-title[b-smsuhqookl] {
    color: #0d6770;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    line-height: 1.05;
    font-weight: 800;
    margin-bottom: 0;
}

.faq-accordion[b-smsuhqookl] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.faq-item[b-smsuhqookl] {
    border: none;
    border-radius: 16px !important;
    overflow: hidden;
    background:#159da5;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
}

.faq-button[b-smsuhqookl] {
    background: transparent !important;
    color: white !important;
    border: none;
    box-shadow: none !important;
    font-size: 1.25rem;
    font-weight: 800;
    padding: 1.2rem 1.4rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 500;
    letter-spacing: 0.01em;
}

    .faq-button:not(.collapsed)[b-smsuhqookl] {
        background: transparent !important;
        color: white !important;
    }

    .faq-button:focus[b-smsuhqookl] {
        box-shadow: none !important;
    }

    .faq-button[b-smsuhqookl]::after {
        filter: brightness(0) invert(1);
    }

.faq-body[b-smsuhqookl] {
    background: transparent;
    color: white;
    padding: 0 1.4rem 1.3rem 1.4rem;
    font-size: 1.1rem;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 500;
    letter-spacing: 0.01em;
}

    .faq-body strong[b-smsuhqookl] {
        font-weight: 800;
    }

@media (max-width: 991.98px) {
    .faq-button[b-smsuhqookl] {
        font-size: 1.05rem;
        padding: 1rem 1.1rem;
    }

    .faq-body[b-smsuhqookl] {
        font-size: 1rem;
        padding: 0 1.1rem 1.1rem 1.1rem;
    }
}
/* /Components/ProfessionalsLanding/ProfessionalsFinalCta.razor.rz.scp.css */
/*
   Sección completa.
   Fondo oscuro con profundidad y algunos matices teal/naranja
   para que el bloque tenga más presencia visual.
*/
.professional-final-cta[b-goayt3ay0i] {
    background: radial-gradient(circle at top left, rgba(63, 158, 164, 0.16), transparent 30%), radial-gradient(circle at bottom right, rgba(255, 90, 42, 0.08), transparent 26%), linear-gradient(135deg, #0f2f45 0%, #14384d 45%, #163c52 100%);
}

/* Cabecera superior centrada */
.professional-final-cta__header[b-goayt3ay0i] {
    max-width: 780px;
    margin: 0 auto;
}

.professional-final-cta__title[b-goayt3ay0i] {
    font-size: clamp(2rem, 3vw, 2.7rem);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: .75rem;
    line-height: 1.15;
}

.professional-final-cta__subtitle[b-goayt3ay0i] {
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.7;
}

/* Contenedor de las dos columnas */
.professional-final-cta__card[b-goayt3ay0i] {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Cada bloque (centro / especialista): imagen arriba + texto debajo */
.professional-final-cta__block[b-goayt3ay0i] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.professional-final-cta__media[b-goayt3ay0i] {
    margin-bottom: 1.25rem;
}

/* Imagen y placeholder ocupan el ancho de la columna, alto fijo */
.professional-final-cta__image[b-goayt3ay0i],
.professional-final-cta__image-placeholder[b-goayt3ay0i] {
    width: 100%;
    height: 235px;
    border-radius: 1.25rem;
    display: block;
}

.professional-final-cta__image[b-goayt3ay0i] {
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 14px 28px rgba(5, 18, 28, 0.20);
}

.professional-final-cta__image-placeholder[b-goayt3ay0i] {
    border: 2px dashed rgba(164, 214, 219, 0.35);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)), rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
    font-weight: 600;
}

.professional-final-cta__content-title[b-goayt3ay0i] {
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: .85rem;
    line-height: 1.2;
}

.professional-final-cta__content-text[b-goayt3ay0i] {
    color: rgba(255, 255, 255, 0.80);
    font-size: 1rem;
    line-height: 1.85;
    margin-bottom: 0;
}

/* Botón único centrado debajo de las dos columnas
   (text-center y mt-4 vienen por clases de Bootstrap en el .razor) */
.professional-final-cta__button[b-goayt3ay0i] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 240px;
    padding: .9rem 1.6rem;
    border-radius: .8rem;
    text-decoration: none;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}

    .professional-final-cta__button:hover[b-goayt3ay0i] {
        transform: translateY(-1px);
    }

/* Botón principal naranja */
.professional-final-cta__button--primary[b-goayt3ay0i] {
    background: #ff5a2a;
    border: 2px solid #ff5a2a;
    color: #fff;
    box-shadow: 0 10px 20px rgba(255, 90, 42, 0.22);
}

    .professional-final-cta__button--primary:hover[b-goayt3ay0i] {
        background: #f14f21;
        border-color: #f14f21;
        color: #fff;
    }

/* Móvil: las dos columnas se apilan (Bootstrap), imagen proporcional y botón a ancho completo */
@media (max-width: 575.98px) {
    .professional-final-cta[b-goayt3ay0i] {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .professional-final-cta__image[b-goayt3ay0i],
    .professional-final-cta__image-placeholder[b-goayt3ay0i] {
        height: auto;
        aspect-ratio: 460 / 235;
    }

    .professional-final-cta__button[b-goayt3ay0i] {
        width: 100%;
        min-width: 0;
        max-width: 340px;
    }
}
/* /Components/ProfessionalsLanding/ProfessionalsHero.razor.rz.scp.css */
.professionals-hero[b-8bzsfa5y76] {
    background: #4f8c8e;
    position: relative;
    overflow: hidden;
}

.hero-container[b-8bzsfa5y76] {
    min-height: 560px;
    display: flex;
    align-items: center;
}

.hero-content[b-8bzsfa5y76] {
    color: white;
}

.hero-title[b-8bzsfa5y76] {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    line-height: 1.05;
    max-width: 620px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.hero-subtitle[b-8bzsfa5y76] {
    font-size: 1.2rem;
    line-height: 1.45;
    max-width: 560px;
    color: rgba(255, 255, 255, 0.92);
}

.hero-btn-primary[b-8bzsfa5y76],
.hero-btn-secondary[b-8bzsfa5y76] {
    border: none;
    border-radius: 999px;
    padding: 0.9rem 1.6rem;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    background-color: #ff6a33;
    color: white;
}

    .hero-btn-primary:hover[b-8bzsfa5y76],
    .hero-btn-secondary:hover[b-8bzsfa5y76] {
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
        color: white;
    }

.hero-visual[b-8bzsfa5y76] {
    position: relative;
    min-height: 520px;
}



.hero-calendar-image[b-8bzsfa5y76] {
    width: 150%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
    border-radius: 20px;
}

/* ---------- XL / portátil ---------- */
@media (max-width: 1199.98px) {
    .hero-container[b-8bzsfa5y76] {
        min-height: 500px;
    }

    .hero-title[b-8bzsfa5y76] {
        max-width: 560px;
    }

    .hero-subtitle[b-8bzsfa5y76] {
        max-width: 500px;
        font-size: 1.1rem;
    }

    .hero-visual[b-8bzsfa5y76] {
        min-height: 450px;
    }

    .hero-calendar-image[b-8bzsfa5y76] {
        width: 135%;
    }
}

/* ---------- Tablet ---------- */
@media (max-width: 991.98px) {
    .hero-container[b-8bzsfa5y76] {
        min-height: auto;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .hero-content[b-8bzsfa5y76] {
        text-align: center;
    }

    .hero-title[b-8bzsfa5y76],
    .hero-subtitle[b-8bzsfa5y76] {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-title[b-8bzsfa5y76] {
        max-width: 700px;
    }

    .hero-content .d-flex[b-8bzsfa5y76] {
        justify-content: center;
    }

    .hero-visual[b-8bzsfa5y76] {
        min-height: 380px;
        margin-top: 2rem;
    }

    .hero-calendar-frame[b-8bzsfa5y76] {
        max-width: 760px;
        margin: 0 auto;
        height: auto;
    }

    .hero-calendar-image[b-8bzsfa5y76] {
        width: 120%;
        height: auto;
    }
}

/* ---------- Tablet pequeña ---------- */
@media (max-width: 767.98px) {
    .hero-title[b-8bzsfa5y76] {
        font-size: clamp(2.2rem, 7vw, 3.4rem);
        line-height: 1.08;
    }

    .hero-subtitle[b-8bzsfa5y76] {
        font-size: 1.05rem;
        max-width: 90%;
    }

    .hero-visual[b-8bzsfa5y76] {
        min-height: 300px;
    }

    .hero-calendar-image[b-8bzsfa5y76] {
        width: 110%;
    }
}

/* ---------- Móvil ---------- */
@media (max-width: 575.98px) {
    .hero-container[b-8bzsfa5y76] {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .hero-title[b-8bzsfa5y76] {
        font-size: clamp(2rem, 9vw, 2.8rem);
        line-height: 1.1;
    }

    .hero-subtitle[b-8bzsfa5y76] {
        font-size: 1rem;
        line-height: 1.4;
        max-width: 100%;
    }

    .hero-content .d-flex[b-8bzsfa5y76] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem !important;
    }

    .hero-btn-primary[b-8bzsfa5y76],
    .hero-btn-secondary[b-8bzsfa5y76] {
        width: 100%;
        text-align: center;
    }

    .hero-visual[b-8bzsfa5y76] {
        min-height: auto;
        margin-top: 1.5rem;
    }

    .hero-calendar-frame[b-8bzsfa5y76] {
        border-radius: 18px;
    }

    .hero-calendar-image[b-8bzsfa5y76] {
        width: 100%;
        height: auto;
        border-radius: 16px;
    }
}
/* /Components/ProfessionalsLanding/ProfessionalsManagementCrossSell.razor.rz.scp.css */
/* Bloque cross-sell de ClinicBai — ver ProfessionalsManagementCrossSell.razor.
   Sección clara para contrastar con el cadetblue de Differentiation (arriba) y separar
   visualmente el producto de gestión (ClinicBai) del buscador (byclinics). */

.professionals-crosssell[b-io9jbu8jxy] {
    background: #ffffff;
}

.crosssell-media[b-io9jbu8jxy] {
    display: flex;
}

/* Enlace que abre la imagen en una pestaña nueva */
.crosssell-media-link[b-io9jbu8jxy] {
    display: inline-block;
    line-height: 0;
    border-radius: 1.25rem;
    cursor: pointer;
}

.crosssell-image[b-io9jbu8jxy] {
    width: 100%;
    max-width: 560px;
    height: auto;
    border-radius: 1.25rem;
    object-fit: cover;
    border: 1px solid rgba(63, 158, 164, 0.12);
    box-shadow: 0 18px 40px rgba(15, 47, 69, 0.12);
    transition: transform .25s ease, box-shadow .25s ease;
}

/* Indica que la imagen es clicable */
.crosssell-media-link:hover .crosssell-image[b-io9jbu8jxy] {
    transform: translateY(-2px);
    box-shadow: 0 22px 48px rgba(15, 47, 69, 0.18);
}

/* Etiqueta superior tipo "eyebrow" */
.crosssell-eyebrow[b-io9jbu8jxy] {
    display: inline-block;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #3f9ea4;
    margin-bottom: .65rem;
}

.crosssell-title[b-io9jbu8jxy] {
    font-size: clamp(1.6rem, 2.4vw, 2.3rem);
    font-weight: 700;
    color: #14384d;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.crosssell-intro[b-io9jbu8jxy] {
    color: #3b4654;
    font-size: 1.02rem;
    line-height: 1.7;
    margin-bottom: 1.4rem;
}

/* Nota de unificación de marca (byclinics) — informativa y discreta. */
.crosssell-unify[b-io9jbu8jxy] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .9rem;
    line-height: 1.5;
    color: #2f7e83;
    background: rgba(63, 158, 164, 0.08);
    border-radius: 8px;
    padding: .55rem .85rem;
    margin-bottom: 1.4rem;
}

    .crosssell-unify i[b-io9jbu8jxy] {
        font-size: 1rem;
        flex-shrink: 0;
    }

/* Lista de ventajas numerada 01·02·03 (distinta de los ticks ✓ de Differentiation) */
.crosssell-list[b-io9jbu8jxy] {
    list-style: none;
    counter-reset: crosssell;
    padding: 0;
    margin: 0 0 1.75rem;
}

.crosssell-list-item[b-io9jbu8jxy] {
    counter-increment: crosssell;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

    .crosssell-list-item + .crosssell-list-item[b-io9jbu8jxy] {
        margin-top: 1.1rem;
    }

/* Número grande en teal, con relleno automático de cero (01, 02, 03) */
.crosssell-num[b-io9jbu8jxy] {
    flex: 0 0 auto;
    min-width: 1.6em;
}

    .crosssell-num[b-io9jbu8jxy]::before {
        content: counter(crosssell, decimal-leading-zero);
        font-size: 1.5rem;
        font-weight: 800;
        line-height: 1.1;
        color: #3f9ea4;
    }

/* Cuerpo del punto, con separador vertical sutil a la izquierda */
.crosssell-item-body[b-io9jbu8jxy] {
    display: flex;
    flex-direction: column;
    border-left: 2px solid rgba(63, 158, 164, 0.25);
    padding-left: 1rem;
}

.crosssell-item-title[b-io9jbu8jxy] {
    font-weight: 700;
    color: #14384d;
    margin-bottom: .2rem;
}

.crosssell-item-text[b-io9jbu8jxy] {
    color: #3b4654;
    font-size: 1rem;
    line-height: 1.55;
}

.crosssell-buttons[b-io9jbu8jxy] {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
}

.crosssell-button[b-io9jbu8jxy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    padding: .8rem 1.4rem;
    border-radius: .8rem;
    text-decoration: none;
    font-weight: 700;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}

    .crosssell-button:hover[b-io9jbu8jxy] {
        transform: translateY(-1px);
    }

/* Principal naranja (Ver demo) */
.crosssell-button--primary[b-io9jbu8jxy] {
    background: #ff5a2a;
    border: 2px solid #ff5a2a;
    color: #fff;
    box-shadow: 0 10px 20px rgba(255, 90, 42, 0.20);
}

    .crosssell-button--primary:hover[b-io9jbu8jxy] {
        background: #f14f21;
        border-color: #f14f21;
        color: #fff;
    }

/* Secundario teal outline (Contacto) */
.crosssell-button--secondary[b-io9jbu8jxy] {
    background: transparent;
    border: 2px solid #3f9ea4;
    color: #3f9ea4;
}

    .crosssell-button--secondary:hover[b-io9jbu8jxy] {
        background: #3f9ea4;
        color: #fff;
    }

/* Móvil: botones a ancho completo */
@media (max-width: 575.98px) {
    .crosssell-buttons[b-io9jbu8jxy] {
        flex-direction: column;
    }

    .crosssell-button[b-io9jbu8jxy] {
        width: 100%;
        min-width: 0;
    }
}
/* /Components/RegisterSimple/FiscalDataForm.razor.rz.scp.css */
.register-section-title[b-vpho4ays76] {
    color: #3f9ea4;
}

.register-actions[b-vpho4ays76] {
    flex-wrap: wrap;
}

[b-vpho4ays76] .w-100.e-input-group {
    border-radius: 8px !important;
    border: 2px solid #e5e7eb !important;
    min-height: 44px !important;
    transition: all 0.2s ease !important;
}

[b-vpho4ays76] .w-100.e-input-group:focus-within {
    border-color: #3f9ea4 !important;
    box-shadow: 0 0 0 0.25rem rgba(63, 158, 164, 0.18) !important;
}

[b-vpho4ays76] .w-100 input.e-input {
    font-size: 0.95rem !important;
    padding: 0.5rem 0.75rem !important;
}

[b-vpho4ays76] .btn-register.e-btn {
    background: linear-gradient(145deg, #ff5a2a 0%, #e64a1f 100%) !important;
    border: none !important;
    color: white !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    min-height: 46px !important;
    box-shadow: 0 4px 12px rgba(255, 90, 42, 0.3) !important;
}

@media (max-width: 575px) {
    .register-actions > *[b-vpho4ays76] {
        width: 100%;
    }
}
/* /Components/RegisterSimple/RegisterAccountForm.razor.rz.scp.css */
.register-section-title[b-xcftauqo49],
.register-inline-icon[b-xcftauqo49] {
    color: #3f9ea4;
}

[b-xcftauqo49] .w-100.e-input-group,
[b-xcftauqo49] .w-100.e-ddl.e-control-wrapper {
    border-radius: 8px !important;
    border: 2px solid #e5e7eb !important;
    min-height: 44px !important;
    transition: all 0.2s ease !important;
}

[b-xcftauqo49] .w-100.e-input-group:focus-within,
[b-xcftauqo49] .w-100.e-ddl.e-input-focus {
    border-color: #3f9ea4 !important;
    box-shadow: 0 0 0 0.25rem rgba(63, 158, 164, 0.18) !important;
}

[b-xcftauqo49] .w-100 input.e-input {
    font-size: 0.95rem !important;
    padding: 0.5rem 0.75rem !important;
}

[b-xcftauqo49] .btn-register.e-btn {
    background: linear-gradient(145deg, #ff5a2a 0%, #e64a1f 100%) !important;
    border: none !important;
    color: white !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    min-height: 52px !important;
    box-shadow: 0 4px 12px rgba(255, 90, 42, 0.3) !important;
}

[b-xcftauqo49] .btn-register.e-btn:hover:not(.e-disabled) {
    background: linear-gradient(145deg, #cc4822 0%, #b53f1a 100%) !important;
    box-shadow: 0 6px 20px rgba(255, 90, 42, 0.4) !important;
}

@media (max-width: 767px) {
    .row[b-xcftauqo49] {
        row-gap: .85rem;
    }
}
/* /Components/RegisterSimple/RegisterWelcome.razor.rz.scp.css */
.register-welcome__icon[b-llz915pro8] {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(63, 158, 164, .12);
    color: #2f8f95;
    font-size: 2rem;
}

.register-welcome__steps[b-llz915pro8] {
    display: grid;
    gap: .75rem;
    max-width: 520px;
    margin-inline: auto;
}

.register-welcome__step[b-llz915pro8] {
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    gap: .75rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(63, 158, 164, .22);
    border-radius: 10px;
    background: rgba(63, 158, 164, .06);
}

.register-welcome__step span[b-llz915pro8] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #3f9ea4;
    color: white;
    font-weight: 700;
}

.register-welcome__step p[b-llz915pro8] {
    margin: 0;
    color: #334155;
    font-weight: 600;
}

.btn-register[b-llz915pro8] {
    background: linear-gradient(145deg, #ff5a2a 0%, #e64a1f 100%);
    border: none;
    color: white;
    border-radius: 10px;
    font-weight: 600;
}

.btn-register:hover[b-llz915pro8] {
    color: white;
    background: linear-gradient(145deg, #cc4822 0%, #b53f1a 100%);
}

@media (max-width: 575px) {
    .register-actions[b-llz915pro8] {
        flex-direction: column;
    }
}
/* /Components/Shared/ActiveFiltersBar/ActiveFiltersBar.razor.rz.scp.css */
.active-filters-bar[b-ycnq5peio3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0.35rem 0 1.35rem;
    padding: 0.82rem 1.3rem;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(15, 66, 82, 0.08);
}

.active-filters-bar__content[b-ycnq5peio3] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.active-filters-bar__label[b-ycnq5peio3] {
    flex: 0 0 auto;
    color: #26364a;
    font-weight: 700;
    font-size: 0.93rem;
}

.active-filter-chips[b-ycnq5peio3] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.active-filter-chip[b-ycnq5peio3] {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    border: 0;
    border-radius: 999px;
    padding: 0.36rem 0.85rem;
    background: #eef8f9;
    color: #087783;
    font-size: 0.83rem;
    font-weight: 400;
}

.active-filters-bar__clear[b-ycnq5peio3] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 0;
    background: transparent;
    color: #ff5a2a;
    font-size: 0.86rem;
    font-weight: 400;
}

@media (max-width: 767.98px) {
    .active-filters-bar[b-ycnq5peio3],
    .active-filters-bar__content[b-ycnq5peio3] {
        align-items: flex-start;
        flex-direction: column;
    }

    .active-filters-bar__clear[b-ycnq5peio3] {
        align-self: flex-end;
    }
}
/* /Components/Shared/AppInstallBanner/AppInstallBanner.razor.rz.scp.css */
/* TARJETA FLOTANTE INFERIOR (smart banner) */
.app-smart-banner[b-rhclkgo7hr] {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 1050; /* por encima de la cabecera (1000) */
    max-width: 560px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;

    background: #ffffff;
    border: 1px solid #eef1f1;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(28, 79, 81, 0.18);
    overflow: hidden;
    font-family: 'Segoe UI', system-ui, sans-serif;

    animation: smartBannerSlideUp-b-rhclkgo7hr 0.34s cubic-bezier(0.16, 0.84, 0.44, 1) both;
}

.app-smart-banner--closing[b-rhclkgo7hr] {
    animation: smartBannerSlideDown-b-rhclkgo7hr 0.2s ease both;
}

/* Patrón de puntos decorativo (derecha, muy sutil) */
.app-smart-banner[b-rhclkgo7hr]::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: radial-gradient(rgba(95, 158, 160, 0.22) 1.5px, transparent 1.6px);
    background-size: 13px 13px;
    -webkit-mask-image: linear-gradient(to left, #000 0%, transparent 42%);
    mask-image: linear-gradient(to left, #000 0%, transparent 42%);
    pointer-events: none;
}

/* El contenido por encima del patrón */
.app-smart-banner > *[b-rhclkgo7hr] {
    position: relative;
    z-index: 1;
}

/* Cerrar (izquierda) */
.app-smart-banner__close[b-rhclkgo7hr] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #9aa6a8;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .app-smart-banner__close:hover[b-rhclkgo7hr] {
        background: rgba(0, 0, 0, 0.05);
        color: #5a6a6c;
    }

/* Icono de marca (isotipo sobre cuadro teal claro) */
.app-smart-banner__icon[b-rhclkgo7hr] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: #eaf4f4;
}

    .app-smart-banner__icon img[b-rhclkgo7hr] {
        width: 30px;
        height: 30px;
        object-fit: contain;
    }

/* Textos */
.app-smart-banner__text[b-rhclkgo7hr] {
    flex: 1 1 auto;
    min-width: 0;
}

.app-smart-banner__title[b-rhclkgo7hr] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    color: #3a4a4d;
}

.app-smart-banner__brand[b-rhclkgo7hr] {
    color: #5F9EA0; /* cadetblue */
    font-weight: 700;
}

.app-smart-banner__subtitle[b-rhclkgo7hr] {
    margin: 2px 0 0;
    font-size: 0.8rem;
    color: #9aa6a8;
}

/* CTA inline (enlace en naranja de marca) */
.app-smart-banner__cta[b-rhclkgo7hr] {
    flex: 0 0 auto;
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 4px;
    background: transparent;
    color: #FF8C00; /* naranja de marca, igual que el resto de CTAs */
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s ease;
}

    .app-smart-banner__cta i[b-rhclkgo7hr] {
        font-size: 0.78rem;
        transition: transform 0.2s ease;
    }

    .app-smart-banner__cta:hover[b-rhclkgo7hr] {
        color: #e67e00;
    }

        .app-smart-banner__cta:hover i[b-rhclkgo7hr] {
            transform: translateX(2px);
        }

@keyframes smartBannerSlideUp-b-rhclkgo7hr {
    from { opacity: 0; transform: translateY(120%); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes smartBannerSlideDown-b-rhclkgo7hr {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(120%); }
}

@media (prefers-reduced-motion: reduce) {
    .app-smart-banner[b-rhclkgo7hr],
    .app-smart-banner--closing[b-rhclkgo7hr] {
        animation: none;
    }
}

/* Pantallas muy estrechas: el botón baja de tamaño para no apretar el texto */
@media (max-width: 360px) {
    .app-smart-banner[b-rhclkgo7hr] {
        gap: 10px;
        padding: 12px 13px;
    }

    .app-smart-banner__cta[b-rhclkgo7hr] {
        padding: 9px 16px;
    }

    .app-smart-banner__icon[b-rhclkgo7hr] {
        width: 42px;
        height: 42px;
    }
}
/* /Components/Shared/BackButton/BackButton.razor.rz.scp.css */
.btn-back[b-rrv0c01mi3] {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    z-index: 20;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid #3F9EA4;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #3F9EA4;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

    .btn-back:hover[b-rrv0c01mi3] {
        color: #ffffff;
        background: #3F9EA4;
        border-color: #3F9EA4;
        transform: translateY(-1px);
    }

    .btn-back i[b-rrv0c01mi3] {
        font-size: 0.95rem;
    }

@media (max-width: 576px) {
    .btn-back[b-rrv0c01mi3] {
        top: 1rem;
        left: 1rem;
    }
}
/* /Components/Shared/Badges/AppStoreBadge.razor.rz.scp.css */
.appstore-badge img[b-1ir905rhcr] {
    image-rendering: -webkit-optimize-contrast; /* Safari */
    image-rendering: crisp-edges; /* Firefox */
}
/* /Components/Shared/Banners/ProfileVisibilityBanner.razor.rz.scp.css */
.visibility-banner[b-1w4hfcj2lc] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
    margin-bottom: 20px;
}

.visibility-banner__icon[b-1w4hfcj2lc] {
    color: #FF8C00; /* naranja CTA */
    font-size: 1.25rem;
    line-height: 1.35;
    flex-shrink: 0;
}

.visibility-banner__body[b-1w4hfcj2lc] {
    flex: 1;
    min-width: 0;
}

.visibility-banner__title[b-1w4hfcj2lc] {
    font-weight: 600;
    color: #1a1a2e;
    margin: 0 0 4px;
    font-size: 0.95rem;
}

.visibility-banner__detail[b-1w4hfcj2lc] {
    color: #5b636c;
    font-size: 0.85rem;
}

/* El cuerpo llega como ChildContent (otro scope), por eso ::deep */
.visibility-banner__detail[b-1w4hfcj2lc]  p {
    margin: 0 0 4px;
}

.visibility-banner__detail[b-1w4hfcj2lc]  ul {
    margin: 0;
    padding-left: 1.1rem;
}

.visibility-banner__detail[b-1w4hfcj2lc]  a {
    color: var(--primary-bg);
    text-decoration: underline;
}

.visibility-banner__close[b-1w4hfcj2lc] {
    background: none;
    border: none;
    color: #9aa3ad;
    cursor: pointer;
    padding: 2px;
    line-height: 1;
    flex-shrink: 0;
    transition: color .15s;
}

.visibility-banner__close:hover[b-1w4hfcj2lc] {
    color: #555;
}
/* /Components/Shared/Brand/Byclinics.razor.rz.scp.css */
/* Wordmark de marca "byclinics" — ver Byclinics.razor.
   Isotipo + nombre en texto. El nombre hereda el color del contexto (legible sobre
   cualquier fondo); el isotipo aporta la firma de marca (punto naranja). */

.bc[b-tbf6x7p7tc] {
    font-weight: 600;
    font-style: italic;          /* la marca se nombra en cursiva, igual que en el resto de textos */
    letter-spacing: -0.01em;
    white-space: nowrap;         /* el isotipo y "byclinics" no se separan en dos líneas */
}

/* Isotipo dimensionado en em → escala con el texto que lo rodea (titular o párrafo) */
.bc-icon[b-tbf6x7p7tc] {
    height: 1.05em;
    width: auto;
    vertical-align: -0.18em;     /* asienta el isotipo sobre la línea base del texto */
    margin-right: 0.2em;
}
/* /Components/Shared/Cards/CenterCard.razor.rz.scp.css */
/* Punto 1: ancho maximo de la card */
.center-card-wrapper[b-knlazzjxtl] {
    max-width: 860px;
    width: 100%;
}

/* Punto 2: bordes redondeados */
.center-card[b-knlazzjxtl] {
    border-radius: 1rem !important;
    transition: box-shadow 0.2s ease;
}

    .center-card:hover[b-knlazzjxtl] {
        box-shadow: 0 4px 20px rgba(63, 158, 164, 0.18) !important;
    }

/* Panel derecho */
.tab-content[b-knlazzjxtl] {
    min-height: 250px;
    position: relative;
    background-color: #EBF9FA;
}

/* Paneles en móvil (acordeón): mismo fondo cian que la columna derecha de escritorio */
.panel-mobile-surface[b-knlazzjxtl] {
    background-color: #EBF9FA;
}

    .tab-content:has(.tab-pane.active) .panel-placeholder[b-knlazzjxtl] {
        display: none !important;
    }

.panel-placeholder[b-knlazzjxtl] {
    background-color: #fafafa;
}

.placeholder-icon-wrap[b-knlazzjxtl] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #e8f6f7;
    color: #3F9EA4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.placeholder-bar[b-knlazzjxtl] {
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #e0e0e0 60%, #ececec 100%);
    flex: 1;
    opacity: 0.7;
}

.placeholder-hint[b-knlazzjxtl] {
    font-size: 0.78rem;
    color: #aaa;
    letter-spacing: 0.01em;
}
/* /Components/Shared/Cards/CenterCardHeader.razor.rz.scp.css */
.center-photo[b-1vnulxbqjm] {
    width: 72px;
    height: 72px;
    object-fit: cover;
    flex-shrink: 0;
}

/* Nombre como enlace claro al perfil (antes parecía texto plano) */
.card-name-link[b-1vnulxbqjm] {
    color: #3F9EA4;
    text-decoration: none;
}

    .card-name-link:hover[b-1vnulxbqjm] {
        color: #2f858b;
        text-decoration: underline;
    }


/* Badges */
.badge-field[b-1vnulxbqjm] {
    background-color: #e8f6f7;
    color: #3F9EA4;
    border: 1px solid #b2dde0;
}

.search-rating__stars[b-1vnulxbqjm] {
    color: #f4a51c;
    letter-spacing: 1px;
    font-size: .86rem;
}

.search-rating__value[b-1vnulxbqjm] {
    color: #22314d;
    font-size: .86rem;
    font-weight: 700;
    margin-left: .2rem;
}

/* Botones */
.btn-secondary[b-1vnulxbqjm] {
    background-color: #ff5a2a;
    border-color: #ff5a2a;
    color: #fff;
}

    .btn-secondary:hover[b-1vnulxbqjm] {
        background-color: #cc4822;
        border-color: #cc4822;
        color: #fff;
    }

.btn-outline-primary[b-1vnulxbqjm] {
    border-color: #3F9EA4;
    color: #3F9EA4;
}

    .btn-outline-primary:hover[b-1vnulxbqjm],
    .btn-outline-primary:focus-visible[b-1vnulxbqjm],
    .btn-outline-primary:focus[b-1vnulxbqjm],
    .btn-outline-primary.active[b-1vnulxbqjm],
    .btn-outline-primary[aria-selected="true"][b-1vnulxbqjm] {
        background-color: #3F9EA4;
        border-color: #3F9EA4;
        color: #fff;
    }

    .btn-outline-primary:focus-visible[b-1vnulxbqjm],
    .btn-outline-primary:focus[b-1vnulxbqjm] {
        box-shadow: 0 0 0 0.25rem rgba(63, 158, 164, 0.35);
    }

.btn-secondary:focus-visible[b-1vnulxbqjm],
.btn-secondary:focus[b-1vnulxbqjm] {
    box-shadow: 0 0 0 0.25rem rgba(255, 90, 42, 0.35);
}

/* ── FIELDS TOGGLE ─────────────────────────────────────────── */

.fields-wrapper[b-1vnulxbqjm] {
    display: block;
}

/* Los badges siempre visibles fluyen normalmente */
.fields-visible[b-1vnulxbqjm] {
    display: flex;
    flex-wrap: wrap;
    gap: 0; /* gap lo dan me-1 mb-1 de cada badge */
}

/* El wrapper collapse DEBE ser block para que Bootstrap anime height */
.fields-extra[b-1vnulxbqjm] {
    overflow: hidden; /* Bootstrap ya lo gestiona en .collapsing */
}

/* padding en el inner, no en el collapse — regla clave de Bootstrap */
.fields-extra-inner[b-1vnulxbqjm] {
    padding-top: 4px;
    display: flex;
    flex-wrap: wrap;
}

/* Botón toggle */
.fields-toggle[b-1vnulxbqjm] {
    color: #3F9EA4;
    font-size: 0.78rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    transition: color 0.15s;
    line-height: 1.4;
}

    .fields-toggle:hover[b-1vnulxbqjm] {
        color: #2d7a80;
        text-decoration: none;
    }

    /* Intercambio de etiquetas según aria-expanded */
    .fields-toggle[aria-expanded="false"] .lbl-less[b-1vnulxbqjm] {
        display: none;
    }

    .fields-toggle[aria-expanded="true"] .lbl-more[b-1vnulxbqjm] {
        display: none;
    }

    /* Chevron animado — rota en lugar de cambiar de icono */
    .fields-toggle .bi-chevron-down[b-1vnulxbqjm],
    .fields-toggle .bi-chevron-up[b-1vnulxbqjm] {
        transition: transform 0.3s ease;
    }
/* /Components/Shared/Cards/CenterContactPanel.razor.rz.scp.css */
/* ── CONTACT TAB ──────────────────────────────────────────── */

.contact-item[b-bpdkly14p7] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

    .contact-item:last-child[b-bpdkly14p7] {
        margin-bottom: 0;
    }

.contact-icon-wrap[b-bpdkly14p7] {
    width: 32px; /* antes 38px */
    height: 32px; /* antes 38px */
    border-radius: 50%;
    background-color: #fff; /* antes #3F9EA4 */
    color: #3F9EA4; /* antes #fff */
    border: 1.5px solid #3F9EA4; /* ← borde nuevo */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem; /* antes 1rem */
    flex-shrink: 0;
}

.contact-item a[b-bpdkly14p7],
.contact-link-button[b-bpdkly14p7],
p a[b-bpdkly14p7] {
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.92rem;
    transition: color 0.15s;
}

    .contact-item a:hover[b-bpdkly14p7],
    .contact-link-button:hover[b-bpdkly14p7],
    p a:hover[b-bpdkly14p7] {
        color: #3F9EA4;
        text-decoration: underline;
    }

.contact-link-button[b-bpdkly14p7] {
    display: inline;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    text-align: left;
}
/* /Components/Shared/Cards/CenterLocationPanel.razor.rz.scp.css */
.btn-link[b-btewrde5dk] {
    color: #3F9EA4;
    text-decoration: none;
}

    .btn-link:hover[b-btewrde5dk] {
        color: #2d7a80;
        text-decoration: underline;
    }
/* /Components/Shared/Cards/CenterTeamPanel.razor.rz.scp.css */
.team-item[b-q8xm2440r7] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}
    .team-item:last-of-type[b-q8xm2440r7] {
        margin-bottom: 0;
    }
    .team-item strong[b-q8xm2440r7] {
        display: block;
        color: #142033;
        font-size: 0.92rem;
        line-height: 1.2;
    }
    .team-item p[b-q8xm2440r7] {
        margin: 0.2rem 0 0 0;
        color: #6c757d;
        font-size: 0.82rem;
        line-height: 1.35;
    }
    .contact-icon-waro[b-q8xm2440r7] {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background-color: #fff;
        color: #3F9EA4;
        border: 1.5px solid #3F9EA4;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.85rem;
        flex-shrink: 0;
    }
    .btn-link[b-q8xm2440r7] {
        color: #3F9EA4;
        text-decoration: none;
    }
        .btn-link:hover[b-q8xm2440r7] {
            color: #2d7a80;
            text-decoration: underline;
        }
/* /Components/Shared/Cards/SpecialistAppointmentRequest.razor.rz.scp.css */
/* ── APPOINTMENT REQUEST ──────────────────────────────────── */

/* Bloque visual que aparece cuando el especialista no tiene horarios disponibles */
.appointment-request[b-0gsxsxkd2h] {
    height: 100%;
    min-height: 185px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.05rem;
    padding: 0.15rem 0.1rem;
}

/* Contenedor del título, subtítulo y pasos */
.appointment-request__content[b-0gsxsxkd2h] {
    display: flex;
    flex-direction: column;
}

/* Título principal del bloque */
.appointment-request__title[b-0gsxsxkd2h] {
    margin: 0 0 0.42rem 0;
    color: #142033;
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.25;
}

/* Texto CTA debajo del título */
.appointment-request__subtitle[b-0gsxsxkd2h] {
    max-width: 94%;
    margin: 0;
    color: #5d6978;
    font-size: 0.82rem;
    line-height: 1.45;
}

/* Lista de pasos */
.appointment-request__steps[b-0gsxsxkd2h] {
    display: flex;
    flex-direction: column;
    gap: 0.58rem;
    margin: 0.9rem 0 0 0;
    padding: 0;
    list-style: none;
}

/* Cada paso individual */
.appointment-request__step[b-0gsxsxkd2h] {
    display: flex;
    align-items: center;
    gap: 0.58rem;
    color: #202b3a;
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 1.25;
}

/* Círculo con check */
.appointment-request__check[b-0gsxsxkd2h] {
    width: 1.65rem;
    height: 1.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.65rem;
    border-radius: 999px;
    background: rgba(63, 158, 164, 0.18);
    color: #087f8c;
    font-size: 0.9rem;
}

/* Botón principal */
.appointment-request__button[b-0gsxsxkd2h] {
    width: 100%;
    min-height: 2.55rem;
    border: 0;
    border-radius: 0.7rem;
    background: linear-gradient(135deg, #3F9EA4 0%, #2f858b 100%);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 0.45rem 0.9rem rgba(63, 158, 164, 0.22);
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

    /* Hover del botón */
    .appointment-request__button:hover:not(:disabled)[b-0gsxsxkd2h] {
        background: linear-gradient(135deg, #378f95 0%, #27777d 100%);
        transform: translateY(-1px);
        box-shadow: 0 0.6rem 1.1rem rgba(63, 158, 164, 0.28);
    }

    /* Click del botón */
    .appointment-request__button:active:not(:disabled)[b-0gsxsxkd2h] {
        transform: translateY(0);
    }

    /* Focus del botón */
    .appointment-request__button:focus-visible[b-0gsxsxkd2h],
    .appointment-request__button:focus[b-0gsxsxkd2h] {
        outline: none;
        box-shadow: 0 0 0 0.25rem rgba(63, 158, 164, 0.32);
    }

    /* Estado deshabilitado: enviando o enviado */
    .appointment-request__button:disabled[b-0gsxsxkd2h] {
        cursor: default;
        opacity: 0.88;
    }

/* Spinner de carga dentro del botón */
.appointment-request__spinner[b-0gsxsxkd2h] {
    width: 0.95rem;
    height: 0.95rem;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: #ffffff;
    border-radius: 999px;
    animation: appointment-request-spin-b-0gsxsxkd2h 0.7s linear infinite;
}

/* Animación del spinner */
@keyframes appointment-request-spin-b-0gsxsxkd2h {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Ajustes responsive para móvil */
@media (max-width: 767.98px) {
    .appointment-request[b-0gsxsxkd2h],
    .appointment-request--mobile[b-0gsxsxkd2h] {
        min-height: auto;
        padding: 0;
    }

    .appointment-request__title[b-0gsxsxkd2h] {
        font-size: 0.98rem;
    }

    .appointment-request__subtitle[b-0gsxsxkd2h] {
        max-width: 100%;
        font-size: 0.82rem;
    }

    .appointment-request__steps[b-0gsxsxkd2h] {
        gap: 0.6rem;
        margin-top: 0.9rem;
    }

    .appointment-request__step[b-0gsxsxkd2h] {
        font-size: 0.86rem;
    }

    .appointment-request__button[b-0gsxsxkd2h] {
        min-height: 2.6rem;
        margin-top: 0.15rem;
    }
}
/* /Components/Shared/Cards/SpecialistBookingPanel.razor.rz.scp.css */
/* Slots */
.slots-grid[b-7pcihhfv64] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
}

.slot-btn[b-7pcihhfv64] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.35rem 0.2rem;
    font-size: 0.78rem;
    line-height: 1.3;
    border-color: #3F9EA4;
    color: #3F9EA4;
}

    .slot-btn:hover[b-7pcihhfv64] {
        background-color: #3F9EA4;
        border-color: #3F9EA4;
        color: #fff;
    }

.btn-link[b-7pcihhfv64] {
    color: #3F9EA4;
    text-decoration: none;
}

    .btn-link:hover[b-7pcihhfv64] {
        color: #2d7a80;
        text-decoration: underline;
    }

.btn-outline-primary[b-7pcihhfv64] {
    border-color: #3F9EA4;
    color: #3F9EA4;
}

    .btn-outline-primary:hover[b-7pcihhfv64],
    .btn-outline-primary:focus-visible[b-7pcihhfv64],
    .btn-outline-primary:focus[b-7pcihhfv64] {
        background-color: #3F9EA4;
        border-color: #3F9EA4;
        color: #fff;
    }

    .btn-outline-primary:focus-visible[b-7pcihhfv64],
    .btn-outline-primary:focus[b-7pcihhfv64] {
        box-shadow: 0 0 0 0.25rem rgba(63, 158, 164, 0.35);
    }
/* /Components/Shared/Cards/SpecialistCard.razor.rz.scp.css */
/* Punto 1: ancho maximo de la card */
.specialist-card-wrapper[b-lgwtt8ggxp] {
    max-width: 860px;
    width: 100%;
}

/* Punto 2: bordes redondeados */
.specialist-card[b-lgwtt8ggxp] {
    border-radius: 1rem !important;
    transition: box-shadow 0.2s ease;
}

    .specialist-card:hover[b-lgwtt8ggxp] {
        box-shadow: 0 4px 20px rgba(63, 158, 164, 0.18) !important;
    }

/* Panel derecho */
.tab-content[b-lgwtt8ggxp] {
    min-height: 250px;
    position: relative;
    background-color: #EBF9FA;
}

/* Paneles en móvil (acordeón): mismo fondo cian que la columna derecha de escritorio */
.panel-mobile-surface[b-lgwtt8ggxp] {
    background-color: #EBF9FA;
}

    .tab-content:has(.tab-pane.active) .panel-placeholder[b-lgwtt8ggxp] {
        display: none !important;
    }

.panel-placeholder[b-lgwtt8ggxp] {
    background-color: #fafafa;
}

.placeholder-icon-wrap[b-lgwtt8ggxp] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #e8f6f7;
    color: #3F9EA4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.placeholder-bar[b-lgwtt8ggxp] {
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #e0e0e0 60%, #ececec 100%);
    flex: 1;
    opacity: 0.7;
}

.placeholder-hint[b-lgwtt8ggxp] {
    font-size: 0.78rem;
    color: #aaa;
    letter-spacing: 0.01em;
}
/* /Components/Shared/Cards/SpecialistCardHeader.razor.rz.scp.css */
.specialist-photo[b-sf9b2qd8y1] {
    width: 72px;
    height: 72px;
    object-fit: cover;
    flex-shrink: 0;
}

/* Nombre como enlace claro al perfil (antes parecía texto plano) */
.card-name-link[b-sf9b2qd8y1] {
    color: #3F9EA4;
    text-decoration: none;
}

    .card-name-link:hover[b-sf9b2qd8y1] {
        color: #2f858b;
        text-decoration: underline;
    }


/* Banda de especialidad: icono + forma profesional + línea divisoria.
   Ocupa el ancho de la columna izquierda (esquina superior izquierda de la card). */
.specialty-header[b-sf9b2qd8y1] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 10px;
    border-bottom: 1px solid #3F9EA4;
}

.specialty-header__icon[b-sf9b2qd8y1] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.specialty-header__name[b-sf9b2qd8y1] {
    color: #3F9EA4;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
}

/* Badges */
.badge-field[b-sf9b2qd8y1] {
    background-color: #e8f6f7;
    color: #3F9EA4;
    border: 1px solid #b2dde0;
}

.search-rating__stars[b-sf9b2qd8y1] {
    color: #f4a51c;
    letter-spacing: 1px;
    font-size: .86rem;
}

.search-rating__value[b-sf9b2qd8y1] {
    color: #22314d;
    font-size: .86rem;
    font-weight: 700;
    margin-left: .2rem;
}

/* Botones */
.btn-secondary[b-sf9b2qd8y1] {
    background-color: #ff5a2a;
    border-color: #ff5a2a;
    color: #fff;
}

    .btn-secondary:hover[b-sf9b2qd8y1] {
        background-color: #cc4822;
        border-color: #cc4822;
        color: #fff;
    }

.btn-outline-primary[b-sf9b2qd8y1] {
    border-color: #3F9EA4;
    color: #3F9EA4;
}

    .btn-outline-primary:hover[b-sf9b2qd8y1],
    .btn-outline-primary:focus-visible[b-sf9b2qd8y1],
    .btn-outline-primary:focus[b-sf9b2qd8y1],
    .btn-outline-primary.active[b-sf9b2qd8y1],
    .btn-outline-primary[aria-selected="true"][b-sf9b2qd8y1] {
        background-color: #3F9EA4;
        border-color: #3F9EA4;
        color: #fff;
    }

    .btn-outline-primary:focus-visible[b-sf9b2qd8y1],
    .btn-outline-primary:focus[b-sf9b2qd8y1] {
        box-shadow: 0 0 0 0.25rem rgba(63, 158, 164, 0.35);
    }

.btn-secondary:focus-visible[b-sf9b2qd8y1],
.btn-secondary:focus[b-sf9b2qd8y1] {
    box-shadow: 0 0 0 0.25rem rgba(255, 90, 42, 0.35);
}

/* ── FIELDS TOGGLE ─────────────────────────────────────────── */

.fields-wrapper[b-sf9b2qd8y1] {
    display: block;
}

/* Los badges siempre visibles fluyen normalmente */
.fields-visible[b-sf9b2qd8y1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0; /* gap lo dan me-1 mb-1 de cada badge */
}

/* ⚠️ El wrapper collapse DEBE ser block para que Bootstrap anime height */
.fields-extra[b-sf9b2qd8y1] {
    overflow: hidden; /* Bootstrap ya lo gestiona en .collapsing */
}

/* padding en el inner, no en el collapse — regla clave de Bootstrap */
.fields-extra-inner[b-sf9b2qd8y1] {
    padding-top: 4px;
    display: flex;
    flex-wrap: wrap;
}

/* Botón toggle */
.fields-toggle[b-sf9b2qd8y1] {
    color: #3F9EA4;
    font-size: 0.78rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    transition: color 0.15s;
    line-height: 1.4;
}

    .fields-toggle:hover[b-sf9b2qd8y1] {
        color: #2d7a80;
        text-decoration: none;
    }

    /* Intercambio de etiquetas según aria-expanded */
    .fields-toggle[aria-expanded="false"] .lbl-less[b-sf9b2qd8y1] {
        display: none;
    }

    .fields-toggle[aria-expanded="true"] .lbl-more[b-sf9b2qd8y1] {
        display: none;
    }

    /* Chevron animado — rota en lugar de cambiar de icono */
    .fields-toggle .bi-chevron-down[b-sf9b2qd8y1],
    .fields-toggle .bi-chevron-up[b-sf9b2qd8y1] {
        transition: transform 0.3s ease;
    }

/* /Components/Shared/Cards/SpecialistContactPanel.razor.rz.scp.css */
/* ── CONTACT TAB ──────────────────────────────────────────── */

.contact-subtitle[b-8np34d9vo8] {
    font-size: 0.82rem;
    color: #888;
}

.contact-item[b-8np34d9vo8] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

    .contact-item:last-child[b-8np34d9vo8] {
        margin-bottom: 0;
    }

.contact-icon-wrap[b-8np34d9vo8] {
    width: 32px; /* antes 38px */
    height: 32px; /* antes 38px */
    border-radius: 50%;
    background-color: #fff; /* antes #3F9EA4 */
    color: #3F9EA4; /* antes #fff */
    border: 1.5px solid #3F9EA4; /* ← borde nuevo */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem; /* antes 1rem */
    flex-shrink: 0;
}

.contact-item a[b-8np34d9vo8],
p a[b-8np34d9vo8] {
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.92rem;
    transition: color 0.15s;
}

    .contact-item a:hover[b-8np34d9vo8],
    p a:hover[b-8np34d9vo8] {
        color: #3F9EA4;
        text-decoration: underline;
    }
/* /Components/Shared/CardSectionHeader/CardSectionHeader.razor.rz.scp.css */
.card-section-header[b-7r7tjfv23x] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.15rem;
}

@media (min-width: 768px) {
    .card-section-header[b-7r7tjfv23x] {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }
}

.card-section-header__title-block[b-7r7tjfv23x] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.card-section-header__icon[b-7r7tjfv23x] {
    color: #5F9EA0;
    font-size: 1.5rem;
    line-height: 1.6rem;
}

.card-section-header__actions[b-7r7tjfv23x] {
    flex-shrink: 0;
}
/* /Components/Shared/ComingSoonBanner/ComingSoonBanner.razor.rz.scp.css */
.coming-soon-banner[b-dfuy46tc3v] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1.25rem;
    margin-bottom: 1.5rem;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, rgba(95, 158, 160, 0.08) 0%, rgba(255, 140, 0, 0.10) 100%);
    border-left: 4px solid #FF8C00;
}

.coming-soon-banner__icon[b-dfuy46tc3v] {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: rgba(255, 140, 0, 0.15);
    color: #FF8C00;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.coming-soon-banner__body[b-dfuy46tc3v] {
    flex: 1;
    min-width: 0;
}

.coming-soon-banner__title[b-dfuy46tc3v] {
    margin: 0 0 0.15rem 0;
    font-weight: 600;
    color: #5F9EA0;
    font-size: 0.95rem;
}

.coming-soon-banner__description[b-dfuy46tc3v] {
    margin: 0;
    color: #6c757d;
    font-size: 0.85rem;
    line-height: 1.4;
}

.coming-soon-banner__tag[b-dfuy46tc3v] {
    flex-shrink: 0;
    background: #FF8C00;
    color: white;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

@media (max-width: 576px) {
    .coming-soon-banner[b-dfuy46tc3v] {
        flex-wrap: wrap;
    }

    .coming-soon-banner__tag[b-dfuy46tc3v] {
        order: -1;
        margin-left: auto;
    }

    .coming-soon-banner__body[b-dfuy46tc3v] {
        flex-basis: 100%;
    }
}
/* /Components/Shared/ComingSoonBanner/ProntoBadge.razor.rz.scp.css */
.pronto-badge[b-wiohv9zknu] {
    display: inline-block;
    background: #FF8C00;
    color: white;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-left: 0.5rem;
    vertical-align: middle;
    line-height: 1.2;
    cursor: help;
    outline: none;
}

.pronto-badge:focus-visible[b-wiohv9zknu] {
    box-shadow: 0 0 0 0.15rem rgba(255, 140, 0, 0.35);
}
/* /Components/Shared/DashboardLoadingSpinner/DashboardLoadingSpinner.razor.rz.scp.css */
.dashboard-loading-spinner[b-drz0jykcn8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    min-height: 180px;
    color: cadetblue;
}

.dashboard-loading-spinner--overlay[b-drz0jykcn8] {
    position: absolute;
    inset: 0;
    z-index: 10;
    min-height: 0;
    background: rgba(244, 247, 248, .78);
    backdrop-filter: blur(1px);
}

.dashboard-loading-spinner__ring[b-drz0jykcn8] {
    width: 44px;
    height: 44px;
    border: 4px solid rgba(95, 158, 160, .22);
    border-top-color: cadetblue;
    border-radius: 50%;
    animation: dashboard-spinner-rotate-b-drz0jykcn8 .8s linear infinite;
}

.dashboard-loading-spinner p[b-drz0jykcn8] {
    margin: 0;
    font-size: .9rem;
    font-weight: 600;
}

@keyframes dashboard-spinner-rotate-b-drz0jykcn8 {
    to {
        transform: rotate(360deg);
    }
}
/* /Components/Shared/DashBreadcrumb/DashBreadcrumb.razor.rz.scp.css */
/* Breadcrumb de la barra superior del dashboard (texto blanco sobre el teal de la navbar) */
.dash-breadcrumb[b-y9z97zv7tv] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, 0.30);
    font-size: 0.85rem;
    min-width: 0;
}

.dash-breadcrumb__root[b-y9z97zv7tv] {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

    .dash-breadcrumb__root:hover[b-y9z97zv7tv] {
        color: #fff;
        text-decoration: underline;
    }

.dash-breadcrumb__sep[b-y9z97zv7tv] {
    color: rgba(255, 255, 255, 0.55);
}

.dash-breadcrumb__current[b-y9z97zv7tv] {
    color: #fff;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Oculto en tablet/móvil: la barra va justa y la bottom-nav ya orienta */
@media (max-width: 991.98px) {
    .dash-breadcrumb[b-y9z97zv7tv] {
        display: none;
    }
}
/* /Components/Shared/DashNavItem/DashNavItem.razor.rz.scp.css */
/* ── LINK BASE ── */
a[b-tp6dn6gnrr] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    color: #555;
    font-size: 0.875rem;
    text-decoration: none;
    position: relative;
    transition: background 0.15s, color 0.15s;
    overflow: visible;
    touch-action: manipulation;
}

    /* ── ACENTO IZQUIERDO ── */
    a[b-tp6dn6gnrr]::before {
        content: '';
        position: absolute;
        left: 0;
        top: 4px;
        bottom: 4px;
        width: 3px;
        background: transparent;
        border-radius: 0 3px 3px 0;
        transition: background 0.15s;
    }

    /* ── ICONO ── */
    a i[b-tp6dn6gnrr] {
        font-size: 1rem;
        flex-shrink: 0;
        transition: color 0.15s;
    }

    a .dash-nav-image-icon[b-tp6dn6gnrr] {
        width: 1.25rem;
        height: 1.25rem;
        flex-shrink: 0;
        object-fit: contain;
        display: block;
        margin: -0.125rem;
    }

    /* ── HOVER ── */
    a:hover[b-tp6dn6gnrr] {
        background: #e8f5f6;
        color: #2d7a80;
        text-decoration: none;
    }

        a:hover[b-tp6dn6gnrr]::before {
            background: #c5e0e2;
        }

    /* ── ACTIVO ── */
    a.active[b-tp6dn6gnrr] {
        background: #e8f5f6;
        color: var(--primary-bg);
        font-weight: 600;
    }

        a.active[b-tp6dn6gnrr]::before {
            background: var(--primary-bg);
        }

        a.active i[b-tp6dn6gnrr] {
            color: var(--primary-bg);
        }

.dash-nav-item[b-tp6dn6gnrr]  .pronto-badge {
    margin-left: auto;
    font-size: 0.6rem;
    font-weight: 600;
    flex-shrink: 0;
}

/* ══════════════════════════════
   RESPONSIVE — BOTTOM NAV (≤1024px, unificado con DashboardLayout)
   ══════════════════════════════ */
@media (max-width: 1024px) {

    a[b-tp6dn6gnrr] {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 2px;
        padding: 4px 2px 2px;
        border-radius: 0;
        font-size: 0.62rem;
        font-weight: 500;
        flex: 1;
        min-height: 54px;
        min-width: 0;
        order: var(--mobile-order, 99);
        overflow: visible; /* permite que el FAB sobresalga por arriba */
    }

    /* En bottom nav los items son icon-only — el badge no encaja */
    .dash-nav-item[b-tp6dn6gnrr]  .pronto-badge {
        display: none;
    }
        a span[b-tp6dn6gnrr] {
            line-height: 1.1;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        a i[b-tp6dn6gnrr] {
            font-size: 1.25rem;
        }

        a .dash-nav-image-icon[b-tp6dn6gnrr] {
            width: 1.5rem;
            height: 1.5rem;
            margin: 0;
        }

        /* Acento en la parte SUPERIOR del bottom nav */
        a[b-tp6dn6gnrr]::before {
            top: 0;
            bottom: auto;
            left: 25%;
            right: 25%;
            width: auto;
            height: 3px;
            border-radius: 0 0 3px 3px;
        }

        a:hover[b-tp6dn6gnrr] {
            background: transparent;
        }

            a:hover[b-tp6dn6gnrr]::before {
                background: transparent;
            }

        a.active[b-tp6dn6gnrr] {
            background: transparent;
        }

    /* Utility: oculta el item en móvil/tablet (Ajustes y Favoritos siguen
       en el sidebar de desktop pero no saturan la bottom-nav). */
    a.d-mobile-hidden[b-tp6dn6gnrr] {
        display: none !important;
    }

    /* ── "Próximamente": opacidad reducida + badge "Pronto" mini debajo ── */
    a.dash-nav-item--soon[b-tp6dn6gnrr] {
        opacity: 0.55;
    }

        a.dash-nav-item--soon .dash-nav-soon-badge[b-tp6dn6gnrr] {
            display: inline-block;
            position: static;
            background: transparent;
            color: #94a3b8;
            font-size: 0.55rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.3px;
            padding: 0;
            margin: 0;
            line-height: 1;
            border-radius: 0;
            box-shadow: none;
        }

    /* Cuando el item NO es --soon en móvil, ocultamos el badge "Pronto" del
       diseño desktop (el pill naranja queda raro en la bottom-nav). */
    a:not(.dash-nav-item--soon) .dash-nav-soon-badge[b-tp6dn6gnrr] {
        display: none;
    }

    /* ── FAB elevado: My Specialist centrado ── */
    a.dash-nav-item--featured[b-tp6dn6gnrr] {
        padding-top: 0;
        z-index: 2;
    }

        a.dash-nav-item--featured i[b-tp6dn6gnrr],
        a.dash-nav-item--featured .dash-nav-image-icon[b-tp6dn6gnrr] {
            width: 52px;
            height: 52px;
            background: #fff;
            border: 2.5px solid var(--primary-bg);
            border-radius: 50%;
            padding: 8px;
            box-sizing: border-box;
            margin: -20px 0 0;
            box-shadow: 0 4px 10px rgba(95, 158, 160, 0.25);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            color: var(--primary-bg);
            pointer-events: none;
        }

        a.dash-nav-item--featured.active[b-tp6dn6gnrr]::before {
            display: none;
        }
}
/* /Components/Shared/ErrorState/ErrorState.razor.rz.scp.css */
.error-state[b-zz8rrss3ma] {
    min-height: calc(100vh - 96px);
    padding: 4.5rem 1.25rem 5rem;
    background: #eff2f6;
}

.error-state__card[b-zz8rrss3ma] {
    width: min(100%, 980px);
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 5vw, 4rem);
    text-align: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.error-state__illustration[b-zz8rrss3ma] {
    width: min(100%, 520px);
    margin: 0 auto 1rem;
}

.error-state__illustration img[b-zz8rrss3ma] {
    display: block;
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
}

.error-state__code[b-zz8rrss3ma] {
    margin: 0;
    color: #007684;
    font-size: clamp(4.5rem, 11vw, 7.5rem);
    line-height: .82;
    font-weight: 800;
    letter-spacing: 0;
}

.error-state h1[b-zz8rrss3ma] {
    margin: .75rem 0 .75rem;
    color: #14233d;
    font-size: clamp(1.8rem, 4vw, 2.65rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: 0;
}

.error-state__message[b-zz8rrss3ma] {
    max-width: 520px;
    margin: 0 auto 1.75rem;
    color: #4d5c73;
    font-size: clamp(1.05rem, 2.2vw, 1.25rem);
    line-height: 1.45;
}

.error-state__actions[b-zz8rrss3ma] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .35rem 1.35rem;
}

.error-state__button[b-zz8rrss3ma] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .25rem 0;
    color: #6c757d;
    background: transparent;
    border: 0;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: color .2s ease, gap .2s ease;
}

.error-state__button i[b-zz8rrss3ma] {
    font-size: .95rem;
    line-height: 1;
}

.error-state__button:hover[b-zz8rrss3ma],
.error-state__button:focus[b-zz8rrss3ma] {
    color: #3F9EA4;
    gap: .6rem;
}

.error-state__button--primary[b-zz8rrss3ma] {
    color: #5b6672;
}

@media (max-width: 700px) {
    .error-state[b-zz8rrss3ma] {
        min-height: calc(100vh - 82px);
        padding: 2rem 1rem 3rem;
    }

    .error-state__card[b-zz8rrss3ma] {
        padding: 2rem 1.1rem;
    }
}
/* /Components/Shared/Faq/FaqSection.razor.rz.scp.css */
.faq-section[b-sjcedhaxn0] {
    /* Sin fondo propio: hereda el mentita del wrapper .home. */
    background-color: transparent;
}

.faq-section__header[b-sjcedhaxn0] {
    max-width: 760px;
    margin: 0 auto;
}

.faq-section__eyebrow[b-sjcedhaxn0] {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5faeb3;
}

.faq-section__title[b-sjcedhaxn0] {
    font-size: clamp(1.9rem, 3.2vw, 2.5rem);
    font-weight: 700;
    color: #0f172a;
    line-height: 1.15;
}

.faq-section__subtitle[b-sjcedhaxn0] {
    font-size: 1rem;
    color: #64748b;
    line-height: 1.6;
}

.faq-accordion[b-sjcedhaxn0] {
    max-width: 860px;
    margin: 0 auto;
}

.faq-accordion__item[b-sjcedhaxn0] {
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    overflow: hidden;
    background-color: #ffffff;
    margin-bottom: 0.9rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.faq-accordion__button[b-sjcedhaxn0] {
    background-color: #ffffff;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 600;
    padding: 1rem 1.25rem;
    box-shadow: none !important;
    border: none;
}

    .faq-accordion__button:not(.collapsed)[b-sjcedhaxn0] {
        background-color: #ffffff;
        color: #3f9ea4;
        box-shadow: none;
    }

    .faq-accordion__button:focus[b-sjcedhaxn0] {
        box-shadow: none;
        border: none;
    }

    .faq-accordion__button[b-sjcedhaxn0]::after {
        transform: scale(0.9);
    }

.faq-accordion__body[b-sjcedhaxn0] {
    padding: 0 1.25rem 1.15rem 1.25rem;
    color: #64748b;
    font-size: 0.97rem;
    line-height: 1.7;
    background-color: #ffffff;
}

@media (max-width: 768px) {
    .faq-section[b-sjcedhaxn0] {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .faq-section__title[b-sjcedhaxn0] {
        font-size: 1.7rem;
    }

    .faq-section__subtitle[b-sjcedhaxn0] {
        font-size: 0.95rem;
    }

    .faq-accordion__button[b-sjcedhaxn0] {
        font-size: 0.95rem;
        padding: 0.95rem 1rem;
    }

    .faq-accordion__body[b-sjcedhaxn0] {
        padding: 0 1rem 1rem 1rem;
        font-size: 0.93rem;
    }
}
/* /Components/Shared/Hero/HeroSection.razor.rz.scp.css */
.hero[b-nx2yfc6k06] {
    /* El fondo mentita lo aporta el wrapper .home (Pages/Home.razor.css). */
    background: transparent;
    padding: 5rem 0 4rem;
    min-height: 85vh;
    display: flex;
    align-items: center;
}

.hero__titulo[b-nx2yfc6k06] {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 500;
    color: #142033;
    line-height: 1.2;
    margin-bottom: 1rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.01em;
}

.hero__titulo-resaltado[b-nx2yfc6k06] {
    color: var(--primary-bg);
    font-style: italic;
}

.hero__subtitulo[b-nx2yfc6k06] {
    font-size: 1.1rem;
    color: #5b6b78;
    margin-bottom: 1rem;
    line-height: 1.6;
}

.hero__form[b-nx2yfc6k06] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.hero__form-inputs[b-nx2yfc6k06] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.hero__input-label[b-nx2yfc6k06] {
    display: block;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    padding-left: 0.25rem;
}

.hero__form .input-group[b-nx2yfc6k06] {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.hero__form .input-group-text[b-nx2yfc6k06] {
    border: none;
    background: white;
    color: var(--primary-bg);
}

.hero__form .form-control[b-nx2yfc6k06] {
    border: none;
    padding: 0.75rem 0.5rem;
    font-size: 1rem;
}

    .hero__form .form-control:focus[b-nx2yfc6k06],
    .hero__form .form-control:focus-visible[b-nx2yfc6k06] {
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(32, 178, 170, 0.45) !important;
        border-color: transparent !important;
    }

.hero__form .input-group:focus-within[b-nx2yfc6k06] {
    border-radius: 8px;
    box-shadow: 0 0 0 3px rgba(32, 178, 170, 0.45);
}

.hero__btn-buscar[b-nx2yfc6k06] {
    background-color: var(--secondary-bg);
    color: #ffffff;
    font-weight: 700;
    font-size: 1rem;
    padding: 0.75rem 2rem;
    border-radius: 8px;
    border: none;
    width: 100%;
    transition: background-color 0.2s, transform 0.1s;
}

    .hero__btn-buscar:hover[b-nx2yfc6k06] {
        background-color: #e04820;
        color: #ffffff;
        transform: translateY(-1px);
    }

.hero__cta-pro[b-nx2yfc6k06] {
    color: #5b6b78;
    font-size: 0.9rem;
    margin: 1.25rem 0 0;
    text-align: center;
}

.hero__cta-pro-link[b-nx2yfc6k06] {
    color: var(--primary-bg);
    font-weight: 600;
    text-decoration: underline;
    transition: color 0.2s;
}

    .hero__cta-pro-link:hover[b-nx2yfc6k06] {
        color: var(--secondary-bg);
    }

.hero__tagline[b-nx2yfc6k06] {
    margin: 0;
    color: var(--primary-bg);
    font-size: 1.15rem;
    font-weight: 600;
    text-align: left;
    letter-spacing: 0.01em;
}

.suggestions-list[b-nx2yfc6k06] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 999;
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 0 0 8px 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    max-height: 220px;
    overflow-y: auto;
}

    .suggestions-list li[b-nx2yfc6k06] {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.5rem 0.75rem;
        cursor: pointer;
        font-size: 0.875rem;
        border-bottom: 1px solid #f0f0f0;
        color: #333;
        transition: background 0.15s;
    }

#hero-servicio-list li[b-nx2yfc6k06]::before {
    content: "\F3DB"; 
    font-family: "bootstrap-icons";
    color: var(--primary-bg);
    font-size: 0.8rem;
    flex-shrink: 0;
}

#hero-ciudad-list li[b-nx2yfc6k06]::before {
    content: "\F3E7"; 
    font-family: "bootstrap-icons";
    color: var(--primary-bg);
    font-size: 0.8rem;
    flex-shrink: 0;
}

.suggestions-list li:last-child[b-nx2yfc6k06] {
    border-bottom: none;
}

.suggestions-list li:hover[b-nx2yfc6k06] {
    background: #f0fafa; 
    color: var(--primary-bg);
}

@media (max-width: 991px) {
    .hero[b-nx2yfc6k06] {
        padding: 3rem 0;
        min-height: auto;
        text-align: center;
    }

    .hero .col-12[b-nx2yfc6k06] {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero__titulo[b-nx2yfc6k06],
    .hero__subtitulo[b-nx2yfc6k06],
    .hero__tagline[b-nx2yfc6k06],
    .hero__cta-pro[b-nx2yfc6k06] {
        text-align: center;
    }

    .hero__form-inputs[b-nx2yfc6k06] {
        flex-direction: column;
    }
}

.hero[b-nx2yfc6k06] {
    max-width: 100%;
    overflow-x: clip;
}

@media (max-width: 575.98px) {
    .hero[b-nx2yfc6k06] {
        padding: 2.5rem 0 3rem;
    }

    .hero .container[b-nx2yfc6k06] {
        max-width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
        overflow-x: clip;
    }

    .hero .row[b-nx2yfc6k06],
    .hero .col-12[b-nx2yfc6k06] {
        max-width: 100%;
        min-width: 0;
    }

    .hero__titulo[b-nx2yfc6k06],
    .hero__subtitulo[b-nx2yfc6k06],
    .hero__cta-pro[b-nx2yfc6k06] {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}
/* /Components/Shared/HowItWorksSection/HowItWorksSection.razor.rz.scp.css */
.how-it-works[b-5jenona8fz] {
    /* Sin fondo propio: hereda el mentita del wrapper .home. */
    padding: 4rem 1rem;
    background: transparent;
}

.how-it-works__panel[b-5jenona8fz] {
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(1rem, 3vw, 2.5rem);
}

.how-it-works__inner[b-5jenona8fz] {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 2.5rem;
    align-items: center;
}

/* ── Timeline ───────────────────────────────────────────── */
.hiw-timeline[b-5jenona8fz] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2.5rem; /* 40px entre filas — ver cálculo del conector */
}

.hiw-step[b-5jenona8fz] {
    display: grid;
    grid-template-columns: 36px 64px 1fr;
    align-items: center;
    column-gap: 1.25rem;
}

.hiw-step__rail[b-5jenona8fz] {
    position: relative;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hiw-step__num[b-5jenona8fz] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--primary-bg);
    color: #ffffff;
    font-weight: 700;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

/* Conector discontinuo entre badges.
   Distancia entre centros = altura de fila (64) + gap (40) = 104px.
   El conector va de borde a borde de los badges: 104 − 36 = 68px,
   arrancando 18px (radio) bajo el centro del badge. */
.hiw-step:not(:last-child) .hiw-step__rail[b-5jenona8fz]::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(50% + 18px);
    transform: translateX(-50%);
    height: 68px;
    border-left: 2px dashed rgba(63, 158, 164, 0.55);
}

.hiw-step__icon[b-5jenona8fz] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(20, 50, 80, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .hiw-step__icon i[b-5jenona8fz] {
        font-size: 1.6rem;
        color: var(--primary-bg);
    }

.hiw-step__title[b-5jenona8fz] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #142a45;
    margin: 0 0 0.25rem;
}

.hiw-step__text[b-5jenona8fz] {
    font-size: 0.95rem;
    color: #5b6b7a;
    line-height: 1.5;
    margin: 0;
    max-width: 34ch;
}

/* ── Intro ──────────────────────────────────────────────── */
.hiw-intro[b-5jenona8fz] {
    position: relative;
    padding-left: 1rem;
}

.hiw-intro__dots[b-5jenona8fz] {
    position: absolute;
    top: -1rem;
    right: 0;
    width: 116px;
    height: 116px;
    background-image: radial-gradient(rgba(63, 158, 164, 0.35) 2px, transparent 2.5px);
    background-size: 16px 16px;
    pointer-events: none;
}

.hiw-intro__title[b-5jenona8fz] {
    font-size: clamp(2.2rem, 4.2vw, 3.4rem);
    font-weight: 800;
    line-height: 1.04;
    color: #0f2440;
    margin: 0 0 1.25rem;
}

.hiw-intro__rule[b-5jenona8fz] {
    display: block;
    width: 64px;
    height: 4px;
    border-radius: 2px;
    background: var(--primary-bg);
    margin-bottom: 1.5rem;
}

.hiw-intro__subtitle[b-5jenona8fz] {
    font-size: 1.1rem;
    line-height: 1.5;
    color: #5b6b7a;
    margin: 0;
    max-width: 28ch;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 991px) {
    .how-it-works__inner[b-5jenona8fz] {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .hiw-intro[b-5jenona8fz] {
        order: -1; /* el título va arriba en móvil */
        padding-left: 0;
        text-align: center;
    }

    .hiw-intro__dots[b-5jenona8fz] {
        display: none;
    }

    .hiw-intro__rule[b-5jenona8fz] {
        margin-left: auto;
        margin-right: auto;
    }

    .hiw-intro__subtitle[b-5jenona8fz] {
        max-width: none;
    }
}

@media (max-width: 575px) {
    .how-it-works[b-5jenona8fz] {
        padding: 2.5rem 0.75rem;
    }

    .hiw-step__icon[b-5jenona8fz] {
        width: 56px;
        height: 56px;
    }
}
/* /Components/Shared/LogoutButton/LogoutButton.razor.rz.scp.css */
button[b-2ff74v08ez] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border: 1.5px solid #f5c6c6;
    border-radius: 20px;
    background: transparent;
    color: #e05555;
    font-size: 0.75rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    flex-shrink: 0;
    white-space: nowrap;
}

    button i[b-2ff74v08ez] {
        font-size: 0.85rem;
    }

    button:hover[b-2ff74v08ez] {
        background: #fef2f2;
        color: #c0392b;
        border-color: #c0392b;
    }

/* En móvil/tablet vertical el header del sidebar es estrecho y compite con avatar
   y nombre. Reducimos a icon-only sin el cerco rojo: el icono `bi-box-arrow-left`
   ya comunica la acción sin gritar. */
@media (max-width: 1024px) {
    /* El margin-left: auto vive ahora en .dash-settings-mobile (icono Ajustes
       que va antes que este botón en el header del sidebar móvil). Aquí solo
       definimos la apariencia icon-only. */
    button[b-2ff74v08ez] {
        padding: 6px 8px;
        border: none;
        background: transparent;
        color: #94a3b8;
        font-size: 0;
        border-radius: 50%;
        width: 36px;
        height: 36px;
        justify-content: center;
    }

        button i[b-2ff74v08ez] {
            font-size: 1.15rem;
        }

        button:hover[b-2ff74v08ez] {
            background: #fef2f2;
            color: #e05555;
            border-color: transparent;
        }

    .dash-logout-text[b-2ff74v08ez] {
        display: none;
    }
}
/* /Components/Shared/MostSearchedSpecialties/MostSearchedSpecialties.razor.rz.scp.css */
.especialidades-section[b-oibz10y0be] {
    padding: 4rem 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.especialidades-header[b-oibz10y0be] {
    text-align: center;
    margin-bottom: 2.5rem;
}

    .especialidades-header h2[b-oibz10y0be] {
        font-size: 1.9rem;
        font-weight: 700;
        color: #1a2e3b;
        margin-bottom: 0.5rem;
    }

    .especialidades-header p[b-oibz10y0be] {
        color: #6b7280;
        font-size: 1rem;
    }

.especialidades-grid[b-oibz10y0be] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.especialidades-error[b-oibz10y0be]{
    font-weight: 600
}

@media (max-width: 1024px) {
    .especialidades-grid[b-oibz10y0be] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .especialidades-section[b-oibz10y0be] {
        padding: 2.5rem 1rem;
    }

    .especialidades-grid[b-oibz10y0be] {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.6rem;
    }
}

/* Card */
.especialidad-card[b-oibz10y0be] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    background: #ffffff;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    text-decoration: none;
    color: #1a2e3b;
    overflow: hidden;
    min-width: 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

/* ✅ Hover solo en dispositivos con ratón real — nunca se queda pegado en móvil */
@media (hover: hover) and (pointer: fine) {
    .especialidad-card:hover[b-oibz10y0be] {
        border-color: #2a9d8f;
        box-shadow: 0 4px 16px rgba(42, 157, 143, 0.15);
        transform: translateY(-2px);
        color: #2a9d8f;
    }

        .especialidad-card:hover .card-icon[b-oibz10y0be] {
            background: #d1f5f0;
        }

        .especialidad-card:hover .card-arrow[b-oibz10y0be] {
            transform: translateX(3px);
            color: #2a9d8f;
        }

    .ver-todas-link:hover[b-oibz10y0be] {
        border-bottom-color: #2a9d8f;
    }
}

@media (hover: none) {
    .especialidad-card:active[b-oibz10y0be] {
        border-color: #2a9d8f;
        background: #f0faf9;
        transform: scale(0.98);
    }
}

/* Icono SVG */
.card-icon[b-oibz10y0be] {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background: #f0faf9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2a9d8f;
    transition: background 0.2s ease;
}

.card-nombre[b-oibz10y0be] {
    flex: 1;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.card-arrow[b-oibz10y0be] {
    font-size: 1rem;
    color: #9ca3af;
    flex-shrink: 0;
    transition: transform 0.2s ease, color 0.2s ease;
}

@media (max-width: 640px) {
    .especialidad-card[b-oibz10y0be] {
        padding: 0.75rem 0.7rem;
        gap: 0.5rem;
    }

    .card-icon[b-oibz10y0be] {
        width: 34px;
        height: 34px;
    }

        .card-icon svg[b-oibz10y0be] {
            width: 18px;
            height: 18px;
        }

    .card-nombre[b-oibz10y0be] {
        font-size: 0.78rem;
    }

    .card-arrow[b-oibz10y0be] {
        display: none;
    }
}

.especialidades-cta[b-oibz10y0be] {
    text-align: center;
    margin-top: 2rem;
}

.ver-todas-link[b-oibz10y0be] {
    color: #2a9d8f;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease;
}
/* /Components/Shared/Pagination/Pagination.razor.rz.scp.css */
.pagination[b-ue0pydt6ih] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 2rem;
}

.page-btn[b-ue0pydt6ih] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1.5px solid #e5e7eb;
    background: white;
    color: #374151;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 180ms ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .page-btn:hover:not(:disabled)[b-ue0pydt6ih] {
        border-color: #2a9da5;
        color: #2a9da5;
    }

    .page-btn.active[b-ue0pydt6ih] {
        background: #2a9da5;
        border-color: #2a9da5;
        color: white;
        font-weight: 600;
    }

    .page-btn:disabled[b-ue0pydt6ih] {
        opacity: 0.35;
        cursor: not-allowed;
    }

.page-ellipsis[b-ue0pydt6ih] {
    width: 36px;
    text-align: center;
    color: #9ca3af;
    font-size: 0.9rem;
}
/* /Components/Shared/SearchBar/SearchBar.razor.rz.scp.css */
.searchbar-card[b-p2rcwc0vn9] {
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
    position: relative;
    z-index: 20;
    overflow: visible;
}

.searchbar-panel[b-p2rcwc0vn9] {
    position: relative;
    z-index: 20;
    min-height: 176px;
    padding: 1.75rem 2rem 1.35rem;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    box-shadow: 0 18px 45px rgba(15, 66, 82, 0.12);
    overflow: visible;
}

.searchbar-card--hero[b-p2rcwc0vn9] {
    max-width: 590px;
    margin: 0 0 1.25rem;
}

.searchbar-card--hero .searchbar-panel[b-p2rcwc0vn9] {
    min-height: 344px;
    padding: 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 18px 0px 18px 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 24px 54px rgba(12, 69, 82, 0.2);
}

.searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
.searchbar-card--center .searchbar-panel[b-p2rcwc0vn9] {
    min-height: 0;
}

.searchbar-card--hero.searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
.searchbar-card--hero.searchbar-card--center .searchbar-panel[b-p2rcwc0vn9] {
    min-height: 152px;
}

.searchbar-tabs[b-p2rcwc0vn9] {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    width: max-content;
    max-width: 100%;
    margin: 0 0 0 auto;
    border-radius: 12px 12px 0 0;
    filter: drop-shadow(0 12px 20px rgba(15, 66, 82, 0.08));
}

.searchbar-card--hero .searchbar-tabs[b-p2rcwc0vn9] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 504px);
    margin: 0 0 0 auto;
}

.searchbar-card--hero .searchbar-tab[b-p2rcwc0vn9] {
    min-width: 0;
}

.searchbar-tab[b-p2rcwc0vn9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-width: 168px;
    min-height: 54px;
    padding: 0.75rem 1.3rem;
    border: 1px solid #e1e8ef;
    border-bottom-color: #d7e1ea;
    background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
    color: #566174;
    font-weight: 600;
    transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
}

.searchbar-tab:first-child[b-p2rcwc0vn9] {
    border-radius: 12px 0 0 0;
}

.searchbar-tab:last-child[b-p2rcwc0vn9] {
    border-radius: 0 12px 0 0;
}

.searchbar-tab i[b-p2rcwc0vn9],
.searchbar-tab img[b-p2rcwc0vn9] {
    color: inherit;
    font-size: 1.15rem;
}

.searchbar-tab img[b-p2rcwc0vn9] {
    display: block;
    width: 1.35rem;
    height: 1.35rem;
    object-fit: contain;
}

.searchbar-tab--active[b-p2rcwc0vn9] {
    position: relative;
    z-index: 1;
    background: #fff;
    border-color: #d7e1ea;
    border-bottom-color: #fff;
    color: #087783;
}

.searchbar-tab--active[b-p2rcwc0vn9]::after {
    content: "";
    position: absolute;
    left: 0.35rem;
    right: 0.35rem;
    bottom: 0;
    height: 3px;
    background: #128f9a;
    border-radius: 999px;
}

.searchbar-grid[b-p2rcwc0vn9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(220px, 0.62fr);
    gap: 1.35rem;
    align-items: end;
}

.searchbar-card--hero .searchbar-grid[b-p2rcwc0vn9] {
    grid-template-columns: 1fr;
    gap: 0.85rem;
}

.searchbar-field[b-p2rcwc0vn9] {
    min-width: 0;
}

.searchbar-label[b-p2rcwc0vn9] {
    display: inline-block;
    position: relative;
    z-index: 2;
    margin: 0 0 -0.55rem 1.2rem;
    padding: 0 0.45rem;
    background: #fff;
    color: #26364a;
    font-size: 0.86rem;
    font-weight: 700;
}

.searchbar-input-group[b-p2rcwc0vn9] {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    border: 1px solid #b9c7d6;
    border-radius: 10px;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.searchbar-card--hero .searchbar-input-group[b-p2rcwc0vn9] {
    min-height: 56px;
    border-color: #d9e7ed;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%);
}

.searchbar-input-group:focus-within[b-p2rcwc0vn9] {
    border-color: #128f9a;
    box-shadow: 0 0 0 0.22rem rgba(18, 143, 154, 0.12);
}

.searchbar-icon[b-p2rcwc0vn9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    flex: 0 0 52px;
    color: #128f9a;
    font-size: 1.2rem;
}

.searchbar-icon img[b-p2rcwc0vn9] {
    display: block;
    width: 1.45rem;
    height: 1.45rem;
    object-fit: contain;
}

.searchbar-card--hero .searchbar-icon[b-p2rcwc0vn9] {
    width: 48px;
    flex-basis: 48px;
    font-size: 1.08rem;
}

.searchbar-card--hero .searchbar-icon img[b-p2rcwc0vn9] {
    width: 1.35rem;
    height: 1.35rem;
}

.searchbar-input[b-p2rcwc0vn9] {
    width: 100%;
    min-width: 0;
    height: 56px;
    border: 0;
    color: #233044;
    font-size: 0.98rem;
    background: transparent;
    outline: 0;
}

.searchbar-card--hero .searchbar-input[b-p2rcwc0vn9] {
    height: 54px;
    font-size: 0.95rem;
}

.searchbar-input[b-p2rcwc0vn9]::placeholder {
    color: #7b8798;
}

.searchbar-input--with-action[b-p2rcwc0vn9] {
    padding-right: 0.25rem;
}

.searchbar-chevron-btn[b-p2rcwc0vn9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0 0.45rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #128f9a;
    font-size: 0.98rem;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.searchbar-chevron-btn:hover[b-p2rcwc0vn9] {
    background: #e9f7f8;
    transform: translateY(-1px);
}

.searchbar-chevron-btn--city[b-p2rcwc0vn9] {
    margin-left: 0.2rem;
}

.searchbar-geo-btn[b-p2rcwc0vn9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-right: 0.2rem;
    border: 0;
    border-radius: 999px;
    background: #e9f7f8;
    color: #128f9a;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.searchbar-geo-btn:hover:not(:disabled)[b-p2rcwc0vn9] {
    background: #d8f0f2;
    transform: translateY(-1px);
}

.searchbar-submit[b-p2rcwc0vn9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    width: 100%;
    min-height: 58px;
    padding: 0.85rem 1.2rem;
    border: 0;
    border-radius: 10px;
    background: #ff5a2a;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(255, 90, 42, 0.23);
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.searchbar-card--hero .searchbar-submit[b-p2rcwc0vn9] {
    min-height: 56px;
    border-radius: 14px;
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: 0;
    box-shadow: 0 16px 30px rgba(255, 90, 42, 0.25);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.searchbar-submit:hover[b-p2rcwc0vn9] {
    background: #ef4b1d;
    box-shadow: 0 14px 28px rgba(255, 90, 42, 0.28);
    transform: translateY(-1px);
}

.searchbar-submit:active[b-p2rcwc0vn9] {
    transform: translateY(0);
}

.quick-searches[b-p2rcwc0vn9] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.35rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e6edf3;
}

.searchbar-card--hero .quick-searches[b-p2rcwc0vn9] {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: 1rem;
    padding-top: 1rem;
}

.quick-searches__label[b-p2rcwc0vn9] {
    flex: 0 0 auto;
    color: #26364a;
    font-weight: 700;
    font-size: 0.92rem;
}

.searchbar-card--hero .quick-searches__label[b-p2rcwc0vn9] {
    color: #566679;
    font-size: 0.84rem;
}

.quick-searches__chips[b-p2rcwc0vn9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.quick-search-chip[b-p2rcwc0vn9] {
    border: 1px solid rgba(18, 143, 154, 0.06);
    border-radius: 999px;
    padding: 0.36rem 1.05rem;
    background: #eef8f9;
    color: #087783;
    font-size: 0.84rem;
    font-weight: 400;
    line-height: 1;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.searchbar-card--hero .quick-search-chip[b-p2rcwc0vn9] {
    padding: 0.42rem 0.9rem;
    background: #f1fafb;
    font-size: 0.82rem;
}

.quick-search-chip:hover[b-p2rcwc0vn9] {
    background: #dff2f4;
    color: #055f68;
    transform: translateY(-1px);
}

.suggestions-list[b-p2rcwc0vn9] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 3000;
    background: white;
    border: 1px solid #dce6ef;
    border-radius: 0 0 0.75rem 0.75rem;
    list-style: none;
    padding: 0;
    margin: 0.2rem 0 0;
    box-shadow: 0 14px 30px rgba(15, 66, 82, 0.12);
    max-height: 220px;
    overflow-y: auto;
}

.suggestions-list li[b-p2rcwc0vn9] {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    border-bottom: 1px solid #eef3f7;
}

.suggestions-list li:hover[b-p2rcwc0vn9] {
    background: #f0fbfc;
    color: #128f9a;
}

.suggestions-list__item--active[b-p2rcwc0vn9] {
    background: #f0fbfc;
    color: #128f9a;
    font-weight: 500;
}

.icons-primary[b-p2rcwc0vn9] {
    color: #128f9a;
}

@media (max-width: 991.98px) {
    .searchbar-card[b-p2rcwc0vn9] {
        max-width: 100%;
    }

    .searchbar-panel[b-p2rcwc0vn9] {
        min-height: 342px;
        padding: 1.35rem;
    }

    .searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--center .searchbar-panel[b-p2rcwc0vn9] {
        min-height: 0;
    }

    .searchbar-card--hero.searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--hero.searchbar-card--center .searchbar-panel[b-p2rcwc0vn9] {
        min-height: 286px;
    }

    .searchbar-tabs[b-p2rcwc0vn9] {
        width: max-content;
        max-width: 100%;
        margin: 0 0 0 auto;
    }

    .searchbar-card--hero .searchbar-tabs[b-p2rcwc0vn9] {
        width: min(100%, 504px);
        max-width: 100%;
        margin: 0 0 0 auto;
    }

    .searchbar-tab[b-p2rcwc0vn9] {
        min-width: 145px;
        min-height: 50px;
        padding-inline: 0.75rem;
        font-size: 0.92rem;
    }

    .searchbar-card--hero .searchbar-tab[b-p2rcwc0vn9] {
        min-width: 0;
    }

    .searchbar-grid[b-p2rcwc0vn9] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .quick-searches[b-p2rcwc0vn9] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.75rem;
    }

    .searchbar-card--hero[b-p2rcwc0vn9] {
        margin-inline: auto;
    }
}

@media (max-width: 767.98px) {
    .searchbar-panel[b-p2rcwc0vn9] {
        min-height: 326px;
    }

    .searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--center .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--hero.searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--hero.searchbar-card--center .searchbar-panel[b-p2rcwc0vn9] {
        min-height: 252px;
    }

    .searchbar-tabs[b-p2rcwc0vn9],
    .searchbar-card--hero .searchbar-tabs[b-p2rcwc0vn9] {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        max-width: none;
        margin: 0 0 1rem;
    }

    .searchbar-tab[b-p2rcwc0vn9] {
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    .searchbar-card[b-p2rcwc0vn9] {
        max-width: 100%;
        min-width: 0;
        overflow: visible;
    }

    .searchbar-panel[b-p2rcwc0vn9] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 318px;
        padding: .9rem;
        border-radius: 18px;
        overflow: visible;
    }

    .searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--center .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--hero.searchbar-card--specialist .searchbar-panel[b-p2rcwc0vn9],
    .searchbar-card--hero.searchbar-card--center .searchbar-panel[b-p2rcwc0vn9] {
        min-height: 246px;
    }

    .searchbar-tabs[b-p2rcwc0vn9],
    .searchbar-card--hero .searchbar-tabs[b-p2rcwc0vn9] {
        gap: 0.3rem;
        filter: none;
        width: 100%;
        min-width: 0;
    }

    .searchbar-tab[b-p2rcwc0vn9] {
        flex-direction: column;
        gap: 0.2rem;
        min-height: 58px;
        min-width: 0;
        padding: .55rem .25rem;
        border-radius: 12px !important;
        font-size: 0.72rem;
        line-height: 1.1;
        overflow: hidden;
    }

    .searchbar-tab span[b-p2rcwc0vn9] {
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .searchbar-tab--active[b-p2rcwc0vn9]::after {
        left: 0.55rem;
        right: 0.55rem;
        bottom: 0;
    }

    .searchbar-input-group[b-p2rcwc0vn9],
    .searchbar-submit[b-p2rcwc0vn9] {
        min-height: 54px;
        max-width: 100%;
        min-width: 0;
    }

    .searchbar-input[b-p2rcwc0vn9] {
        min-width: 0;
        height: 52px;
        font-size: 0.92rem;
    }

    .searchbar-icon[b-p2rcwc0vn9] {
        width: 44px;
        flex-basis: 44px;
    }

    .quick-searches[b-p2rcwc0vn9],
    .quick-searches__chips[b-p2rcwc0vn9] {
        max-width: 100%;
        min-width: 0;
    }

    .searchbar-submit[b-p2rcwc0vn9] {
        font-size: 0.95rem;
    }
}
/* /Components/Shared/SearchFilters/SearchFilters.razor.rz.scp.css */
/* ── WRAPPER ──────────────────────────────────────── */
/* ── LIMPIAR ──────────────────────────────────────── */
.filters-clear[b-v0n39aaza2] {
    color: #ff5a2a;
    font-size: 0.8rem;
    text-decoration: none;
}

.filters-clear:hover[b-v0n39aaza2] {
    color: #cc4822;
    text-decoration: underline;
}

/* ── GRUPOS ───────────────────────────────────────── */
.filter-group__title[b-v0n39aaza2] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.6rem;
}

/* ── CHECKBOXES ───────────────────────────────────── */
.filter-check .form-check-input[b-v0n39aaza2] {
    border-color: #3F9EA4;
    cursor: pointer;
}

.filter-check .form-check-input:checked[b-v0n39aaza2] {
    background-color: #3F9EA4;
    border-color: #3F9EA4;
}

.filter-check .form-check-input:focus[b-v0n39aaza2] {
    box-shadow: 0 0 0 0.2rem rgba(63, 158, 164, 0.25);
}

.filter-check .form-check-label[b-v0n39aaza2] {
    font-size: 0.875rem;
    color: #4b5563;
    cursor: pointer;
}

.filter-check:hover .form-check-label[b-v0n39aaza2] {
    color: #3F9EA4;
}

.filter-rating-header[b-v0n39aaza2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .45rem;
}

.filter-rating-value[b-v0n39aaza2] {
    min-width: 3.25rem;
    color: #3F9EA4;
    font-size: .82rem;
    font-weight: 700;
    text-align: right;
}

.filter-rating-slider .form-range[b-v0n39aaza2] {
    accent-color: #f4a51c;
    cursor: pointer;
}

.filter-rating-slider .form-range[b-v0n39aaza2]::-webkit-slider-runnable-track {
    height: .45rem;
    border-radius: 999px;
    background: linear-gradient(
        to right,
        #f4a51c 0%,
        #f4a51c var(--rating-fill),
        #e2e8f0 var(--rating-fill),
        #e2e8f0 100%
    );
}

.filter-rating-slider .form-range[b-v0n39aaza2]::-moz-range-track {
    height: .45rem;
    border-radius: 999px;
    background: linear-gradient(
        to right,
        #f4a51c 0%,
        #f4a51c var(--rating-fill),
        #e2e8f0 var(--rating-fill),
        #e2e8f0 100%
    );
}

.filter-rating-slider .form-range[b-v0n39aaza2]::-webkit-slider-thumb {
    background-color: #f4a51c;
}

.filter-rating-slider .form-range[b-v0n39aaza2]::-moz-range-thumb {
    background-color: #f4a51c;
    border: 0;
}

.filter-rating-scale[b-v0n39aaza2] {
    display: flex;
    justify-content: space-between;
    color: #8a94a3;
    font-size: .72rem;
    line-height: 1;
}
/* /Components/Shared/SpecialistsBanner/SpecialistsBanner.razor.rz.scp.css */
/* ── Main section ── */
.banner-pro[b-hg0qj027x9] {
    background: linear-gradient(135deg, #1a2e3b 60%, #1e3a4a);
    padding: 7rem 2rem 5rem 2rem; 
    color: white;
    box-shadow: inset 0 10px 15px -10px rgba(0,0,0,0.3);
}

.banner-inner[b-hg0qj027x9] {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(560px, 1.1fr);
    gap: 3rem;
    align-items: center;
}

/* ── Left column ── */
.banner-badge[b-hg0qj027x9] {
    display: inline-block;
    background: rgba(42, 157, 143, 0.2);
    color: #2a9d8f;
    border: 1px solid rgba(42, 157, 143, 0.4);
    border-radius: 20px;
    padding: 0.25rem 0.9rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
}

.banner-text h2[b-hg0qj027x9] {
    font-family: 'Playfair Display', serif;
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: #ffffff;
}

/* "byclinics" destacado en cursiva teal dentro del titular del banner. */
.banner-text h2 em[b-hg0qj027x9] {
    color: var(--primary-bg);
    font-style: italic;
}

.banner-subtitle[b-hg0qj027x9] {
    color: #94a3b8;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.8rem;
}

/* ── Benefits list ── */
.banner-benefits[b-hg0qj027x9] {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

    .banner-benefits li[b-hg0qj027x9] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-size: 0.95rem;
    }

.included[b-hg0qj027x9] {
    color: #e2e8f0;
}

.not-included[b-hg0qj027x9] {
    color: #64748b;
}

.benefit-icon[b-hg0qj027x9] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    flex-shrink: 0;
}

.included .benefit-icon[b-hg0qj027x9] {
    background: rgba(42, 157, 143, 0.2);
    color: #2a9d8f;
}

.not-included .benefit-icon[b-hg0qj027x9] {
    background: rgba(100, 116, 139, 0.2);
    color: #64748b;
}

.benefit-badge[b-hg0qj027x9] {
    background: rgba(251, 146, 60, 0.15);
    color: #fb923c;
    border: 1px solid rgba(251, 146, 60, 0.3);
    border-radius: 12px;
    padding: 0.1rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 600;
}

/* ── CTAs ── */
.banner-actions[b-hg0qj027x9] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.banner-actions-btns[b-hg0qj027x9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.btn-register[b-hg0qj027x9] {
    display: inline-block;
    background: #2a9d8f;
    color: #ffffff;
    padding: 0.9rem 2rem;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    transition: background 0.2s ease, transform 0.15s ease;
}

.btn-view-plans[b-hg0qj027x9] {
    display: inline-block;
    background: transparent;
    color: #94a3b8;
    padding: 0.6rem 1.1rem;
    border-radius: 8px;
    border: 1.5px solid #475569;
    font-weight: 500;
    font-size: 0.82rem;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.banner-note[b-hg0qj027x9] {
    color: #64748b;
    font-size: 0.78rem;
}

@media (hover: hover) and (pointer: fine) {
    .btn-register:hover[b-hg0qj027x9] {
        background: #21867a;
        transform: translateY(-1px);
    }

    .btn-view-plans:hover[b-hg0qj027x9] {
        border-color: #2a9d8f;
        color: #2a9d8f;
    }
}

@media (max-width: 480px) {
    .banner-actions-btns[b-hg0qj027x9] {
        flex-direction: column;
        align-items: stretch;
    }
}

.banner-visual[b-hg0qj027x9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.banner-visual[b-hg0qj027x9]  .specialist-card-wrapper {
    width: 100%;
    max-width: 640px;
    margin-bottom: 0 !important;
}

.banner-example-note[b-hg0qj027x9] {
    margin: 0.75rem 0 0;
    color: #94a3b8;
    font-size: 0.78rem;
    text-align: center;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .banner-inner[b-hg0qj027x9] {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .banner-text h2[b-hg0qj027x9] {
        font-size: 1.6rem;
    }

    .banner-visual[b-hg0qj027x9]  .specialist-card-wrapper {
        max-width: 100%;
    }
}
/* /Components/Shared/SpecialtiesFilter/SpecialtiesFilter.razor.rz.scp.css */
.specialties-filter[b-k2e5h93wc0] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
}

.specialties-filter__chip[b-k2e5h93wc0] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem 1.15rem;
    border: 1px solid #d6e3e7;
    border-radius: 999px;
    background: #fff;
    color: #48636f;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
    transition: transform 0.18s ease, border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.specialties-filter__chip:hover[b-k2e5h93wc0] {
    color: #0d9488;
    border-color: #b7dedd;
    transform: translateY(-1px);
}

.specialties-filter__chip--active[b-k2e5h93wc0] {
    background: #0d9488;
    border-color: #0d9488;
    color: #fff;
    box-shadow: 0 16px 32px rgba(13, 148, 136, 0.22);
}

.specialties-filter__chip i[b-k2e5h93wc0] {
    font-size: 1rem;
}

@media (max-width: 767.98px) {
    .specialties-filter[b-k2e5h93wc0] {
        gap: 0.6rem;
        margin-bottom: 1.25rem;
    }

    .specialties-filter__chip[b-k2e5h93wc0] {
        padding: 0.72rem 0.95rem;
        font-size: 0.88rem;
    }
}
/* /Components/Shared/SpecialtyCards/SpecialtyItemCard.razor.rz.scp.css */
.specialty-item-card[b-8lw8tk3glt] {
    height: 100%;
}

.specialty-item-card__link[b-8lw8tk3glt] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    height: 100%;
    padding: 1.35rem 1.25rem;
    border: 1px solid #dfe9ec;
    border-radius: 1rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.specialty-item-card__link:hover[b-8lw8tk3glt] {
    transform: translateY(-2px);
    border-color: #c7e4e4;
    box-shadow: 0 18px 38px rgba(13, 148, 136, 0.12);
}

.specialty-item-card__icon[b-8lw8tk3glt] {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e8f4f5;
}

.specialty-item-card__body[b-8lw8tk3glt] {
    min-width: 0;
    flex: 1;
}

.specialty-item-card__title[b-8lw8tk3glt] {
    margin-bottom: 0.4rem;
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 600;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.01em;
}

.specialty-item-card__description[b-8lw8tk3glt] {
    margin-bottom: 0;
    color: #677784;
    font-size: 0.92rem;
    line-height: 1.55;
}

.specialty-item-card__arrow[b-8lw8tk3glt] {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #edf7f7;
    color: #0d9488;
}

.specialty-item-card__link--compact[b-8lw8tk3glt] {
    align-items: center;
    gap: 0.65rem;
    min-height: 3rem;
    padding: 0.55rem 0.7rem;
    border-radius: 0.8rem;
    border-color: #e4edf0;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.025);
}

.specialty-item-card__link--compact:hover[b-8lw8tk3glt] {
    transform: none;
    box-shadow: 0 10px 22px rgba(13, 148, 136, 0.08);
}

.specialty-item-card__link--compact .specialty-item-card__icon[b-8lw8tk3glt] {
    width: 1.5rem;
    height: 1.5rem;
    background: transparent;
}

.specialty-item-card__link--compact .specialty-item-card__icon img[b-8lw8tk3glt] {
    width: 15px;
    height: 15px;
}

.specialty-item-card__link--compact .specialty-item-card__title[b-8lw8tk3glt] {
    margin-bottom: 0;
    color: #5e727f;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
}

.specialty-item-card__link--compact .specialty-item-card__arrow[b-8lw8tk3glt] {
    display: none;
}
/* /Components/Shared/SpecialtyGroup/SpecialtyGroup.razor.rz.scp.css */
.specialty-group-card[b-wcx2c76m85] {
    margin-bottom: 1.35rem;
    padding: 1.8rem 1.9rem;
    border: 1px solid #dfe9ec;
    border-radius: 1.35rem;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.075);
}

.specialty-group-card__layout[b-wcx2c76m85] {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr) 7.5rem;
    gap: 1.5rem;
    align-items: start;
}

.specialty-group-card__brand[b-wcx2c76m85] {
    display: flex;
    justify-content: center;
    padding-top: 0.55rem;
}

.specialty-group-card__icon[b-wcx2c76m85] {
    width: 4.5rem;
    height: 4.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e8f4f5;
}

.specialty-group-card__header[b-wcx2c76m85] {
    margin-bottom: 1rem;
}

.specialty-group-card__title[b-wcx2c76m85] {
    margin-bottom: 0.55rem;
    color: #0f172a;
    font-size: 1.42rem;
    font-weight: 600;
    letter-spacing: -0.025em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.01em;
}

.specialty-group-card__description[b-wcx2c76m85] {
    max-width: 22rem;
    margin-bottom: 0;
    color: #677784;
    font-size: 0.98rem;
    line-height: 1.75;
}

.specialty-group-card__grid[b-wcx2c76m85] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem 0.75rem;
}

.specialty-group-card__footer-link[b-wcx2c76m85] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1.15rem;
    color: #0d9488;
    font-size: 0.95rem;
    font-weight: 300;
    text-decoration: none;
}

.specialty-group-card__summary[b-wcx2c76m85] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    gap: 0.3rem;
    padding-left: 1rem;
    border-left: 1px solid #e7eff1;
}

.specialty-group-card__total[b-wcx2c76m85] {
    color: #0d9488;
    font-size: 2.35rem;
    font-weight: 300;
    line-height: 1;
}

.specialty-group-card__label[b-wcx2c76m85] {
    color: #8a99a4;
    font-size: 0.82rem;
    text-align: center;
}

.specialty-group-card__cta[b-wcx2c76m85] {
    width: 2.6rem;
    height: 2.6rem;
    margin-top: 0.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #edf7f7;
    color: #0d9488;
    text-decoration: none;
}

.specialty-group-card__cta:hover[b-wcx2c76m85],
.specialty-group-card__footer-link:hover[b-wcx2c76m85] {
    color: #0b7d73;
}

@media (max-width: 1199.98px) {
    .specialty-group-card__grid[b-wcx2c76m85] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .specialty-group-card__layout[b-wcx2c76m85] {
        grid-template-columns: 5.25rem minmax(0, 1fr);
    }

    .specialty-group-card__summary[b-wcx2c76m85] {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: flex-end;
        padding-left: 0;
        padding-top: 1rem;
        border-left: 0;
        border-top: 1px solid #e7eff1;
    }

    .specialty-group-card__label[b-wcx2c76m85] {
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    .specialty-group-card[b-wcx2c76m85] {
        padding: 1.25rem;
        border-radius: 1rem;
    }

    .specialty-group-card__layout[b-wcx2c76m85] {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .specialty-group-card__brand[b-wcx2c76m85] {
        justify-content: flex-start;
        padding-top: 0;
    }

    .specialty-group-card__icon[b-wcx2c76m85] {
        width: 4rem;
        height: 4rem;
    }

    .specialty-group-card__title[b-wcx2c76m85] {
        font-size: 1.2rem;
    }

    .specialty-group-card__description[b-wcx2c76m85] {
        max-width: none;
        font-size: 0.92rem;
    }

    .specialty-group-card__grid[b-wcx2c76m85] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .specialty-group-card__summary[b-wcx2c76m85] {
        justify-content: space-between;
    }
}
/* /Components/Shared/SpecialtyTabs/SpecialtyTabs.razor.rz.scp.css */
.specialty-tabs[b-a1fqez9ipn] {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #e3ecee;
}

.specialty-tabs__link[b-a1fqez9ipn] {
    position: relative;
    padding: 0.25rem 0;
    color: #6a7a86;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
}

.specialty-tabs__link:hover[b-a1fqez9ipn] {
    color: #0d9488;
}

.specialty-tabs__link[b-a1fqez9ipn]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.55rem;
    height: 2px;
    border-radius: 999px;
    background: transparent;
    transition: background-color 0.18s ease;
}

.specialty-tabs__link--active[b-a1fqez9ipn] {
    color: #0d9488;
}

.specialty-tabs__link--active[b-a1fqez9ipn]::after {
    background: #0d9488;
}

@media (max-width: 767.98px) {
    .specialty-tabs[b-a1fqez9ipn] {
        gap: 1rem 1.25rem;
    }
}
/* /Components/SpecialistProfile/MyCentersSectionsNav.razor.rz.scp.css */
/* Nav sticky en columna derecha del layout de MyCenters. CSS isolated.
   Bootstrap ScrollSpy aplica .active al .nav-link visible; aquí solo
   sobrescribimos el color teal del proyecto y los estados hover. */

.sections-nav[b-xcuimlniqt] {
    position: sticky;
    /* El scroll container es .dash-main (overflow-y:auto) — el navbar del
       DashboardLayout ya queda fuera del scroll, así que top:1rem basta. */
    top: 1rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    padding: 1rem .85rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .06);
}

.sections-nav__heading[b-xcuimlniqt] {
    color: #94a3b8;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 0 .4rem;
}

.sections-nav__list[b-xcuimlniqt] {
    margin: 0;
    padding: 0;
    gap: .15rem;
}

/* Override de .nav-link de Bootstrap para encajar con la paleta del proyecto. */
.sections-nav__link[b-xcuimlniqt] {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem .7rem;
    border-radius: 10px;
    color: #475569;
    font-size: .9rem;
    font-weight: 500;
    transition: background-color .15s ease, color .15s ease;
}

.sections-nav__link:hover[b-xcuimlniqt],
.sections-nav__link:focus[b-xcuimlniqt] {
    background: #f1fafb;
    color: #128f9a;
}

.sections-nav__link i[b-xcuimlniqt] {
    color: #94a3b8;
    font-size: 1rem;
    transition: color .15s ease;
    flex-shrink: 0;
}

.sections-nav__link:hover i[b-xcuimlniqt],
.sections-nav__link:focus i[b-xcuimlniqt] {
    color: #128f9a;
}

/* Bootstrap ScrollSpy aplica .active al anchor de la sección visible. */
.sections-nav__link.active[b-xcuimlniqt] {
    background: #e9f7f8;
    color: #0f766e;
    font-weight: 600;
}

.sections-nav__link.active i[b-xcuimlniqt] {
    color: #0f766e;
}
/* /Components/SpecialistProfile/MySpecialistSubmenu.razor.rz.scp.css */
/* Estilo unificado con .settings-sidebar (Pages/Profile/Settings.razor.css)
   para que ambos sub-sidebars del dashboard tengan la misma identidad visual. */

.specialist-submenu[b-6zgbvueriw] {
    height: 100%;
    width: 100%;
    background: #fafbfc;
    padding: 24px 0;
    box-sizing: border-box;
    animation: slideInSidebar-b-6zgbvueriw 0.22s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.specialist-submenu__title[b-6zgbvueriw] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #999;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0 18px 12px;
    margin: 0;
}

.specialist-submenu__items[b-6zgbvueriw] {
    width: 100%;
    background: transparent;
}

.specialist-submenu__item[b-6zgbvueriw] {
    background: none;
    border: none;
    border-left: 3px solid transparent;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 18px;
    color: #555;
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: none;
    transition: all .15s;
    box-sizing: border-box;
}

    .specialist-submenu__item i[b-6zgbvueriw] {
        color: #555;
        font-size: 1rem;
    }

    .specialist-submenu__item:hover[b-6zgbvueriw] {
        background: #e8f5f6;
        color: var(--primary-bg);
    }

        .specialist-submenu__item:hover i[b-6zgbvueriw] {
            color: var(--primary-bg);
        }

    .specialist-submenu__item.is-active[b-6zgbvueriw] {
        background: #e8f5f6;
        color: var(--primary-bg);
        font-weight: 600;
        border-left-color: var(--primary-bg);
    }

        .specialist-submenu__item.is-active i[b-6zgbvueriw] {
            color: var(--primary-bg);
        }

@keyframes slideInSidebar-b-6zgbvueriw {
    from {
        opacity: 0;
        transform: translateX(-16px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* =========================
   MOBILE — layout edge-to-edge tipo "card blanca" sobre fondo gris claro.
   Mantiene el patrón original del componente (bleed más allá del padding del
   layout) y añade el chevron vía ::after, igual que .settings-nav-item.
   ========================= */
@media (max-width: 768px) {
    .specialist-submenu[b-6zgbvueriw] {
        height: auto;
        width: 100%;
        padding: 0;
        margin: 0;
        background: #f4f8fa;
        animation: none;
    }

    .specialist-submenu__title[b-6zgbvueriw] {
        display: flex;
        align-items: center;
        min-height: 46px;
        width: 100%;
        padding: 0;
        margin: 0;
        background: #f4f8fa;
        color: #8a8f95;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        box-sizing: border-box;
    }

    /* Bleed -1rem a cada lado para que la card blanca toque los bordes
       del viewport aunque el layout meta padding lateral. */
    .specialist-submenu__items[b-6zgbvueriw] {
        width: calc(100% + 2rem);
        margin-left: -1rem;
        margin-right: -1rem;
        background: #ffffff;
    }

    .specialist-submenu__item[b-6zgbvueriw] {
        width: 100%;
        min-height: 56px;
        padding: 0 1rem;
        margin: 0;
        gap: 0.8rem;
        border-left: 0;
        border-bottom: 1px solid #e7edf0;
        border-radius: 0;
        background: #ffffff;
        color: #2f3b45;
        font-size: 0.98rem;
        font-weight: 500;
        box-sizing: border-box;
        justify-content: flex-start;
    }

        .specialist-submenu__item i[b-6zgbvueriw] {
            width: 18px;
            color: #4a4f55;
            font-size: 0.95rem;
            text-align: center;
        }

        .specialist-submenu__item[b-6zgbvueriw]::after {
            content: "›";
            color: #c1c8cd;
            font-size: 1.3rem;
            margin-left: auto;
        }

        .specialist-submenu__item:hover[b-6zgbvueriw],
        .specialist-submenu__item.is-active[b-6zgbvueriw] {
            background: #e8f6f8;
            border-left: 0;
            color: #16858c;
            font-weight: 500;
        }

            .specialist-submenu__item.is-active i[b-6zgbvueriw],
            .specialist-submenu__item:hover i[b-6zgbvueriw] {
                color: #16858c;
            }
}
/* /Components/SpecialistProfile/SpecialistCenterInfoCard.razor.rz.scp.css */
.center-info-card[b-mph1n7gctq] {
    background: #ffffff;
    border: 1px solid #dce9ed;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.035);
    margin-bottom: 1rem;
}

.center-info-card__grid[b-mph1n7gctq] {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.9fr);
    gap: 1rem;
}

.center-info-card__field[b-mph1n7gctq] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

    .center-info-card__field label[b-mph1n7gctq] {
        color: #31404d;
        font-size: 0.84rem;
        font-weight: 700;
    }

    .center-info-card__field[b-mph1n7gctq]  input,
    .center-info-card__field[b-mph1n7gctq]  select,
    .center-info-card__field[b-mph1n7gctq]  textarea {
        width: 100%;
        min-height: 42px;
        border: 1px solid #d8e3e7 !important;
        border-radius: 10px !important;
        background: #ffffff !important;
        color: #102033 !important;
        font-size: 0.94rem;
        font-family: inherit;
        padding: 0.72rem 0.82rem;
        outline: none !important;
        box-shadow: none;
        box-sizing: border-box;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .center-info-card__field[b-mph1n7gctq]  textarea {
        resize: vertical;
    }

        .center-info-card__field[b-mph1n7gctq]  input:focus,
        .center-info-card__field[b-mph1n7gctq]  select:focus,
        .center-info-card__field[b-mph1n7gctq]  textarea:focus {
            border-color: #3f9ea4 !important;
            box-shadow: 0 0 0 3px rgba(63, 158, 164, 0.12) !important;
        }

    .center-info-card__field[b-mph1n7gctq]  .validation-message {
        color: #dc3545;
        font-size: 0.78rem;
        font-weight: 600;
    }

.center-info-card__field--full[b-mph1n7gctq] {
    grid-column: 1 / -1;
}

@media (max-width: 720px) {
    .center-info-card__grid[b-mph1n7gctq] {
        grid-template-columns: 1fr;
    }
}
/* /Components/SpecialistProfile/SpecialistCenterMediaCard.razor.rz.scp.css */
.center-media-card[b-l2vgh7u94q] {
    background: #ffffff;
    border: 1px solid #dce9ed;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.035);
    margin-bottom: 1rem;
}

.center-media-card__content[b-l2vgh7u94q] {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 1.5rem;
}

.center-media-card__logo-section[b-l2vgh7u94q] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    padding-right: 1.5rem;
    border-right: 1px solid #edf2f4;
}

    .center-media-card__logo-section h3[b-l2vgh7u94q],
    .center-media-card__image-header h3[b-l2vgh7u94q] {
        margin: 0;
        color: #31404d;
        font-size: 0.9rem;
        font-weight: 700;
    }

.center-media-card__image-header p[b-l2vgh7u94q] {
    margin: 0.25rem 0 0;
    color: #7a8791;
    font-size: 0.84rem;
}

.center-media-card__logo[b-l2vgh7u94q] {
    width: 128px;
    height: 128px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: linear-gradient(135deg, #49bebc 0%, #167f9f 100%);
    color: #ffffff;
}

    .center-media-card__logo i[b-l2vgh7u94q] {
        font-size: 4rem;
        line-height: 1;
    }

    .center-media-card__logo img[b-l2vgh7u94q] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.center-media-card__image-section[b-l2vgh7u94q] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.center-media-card__cover[b-l2vgh7u94q] {
    width: 100%;
    height: 160px;
    overflow: hidden;
    border: 1px solid #d8e3e7;
    border-radius: 14px;
    background: #f4f8fa;
}

    .center-media-card__cover img[b-l2vgh7u94q] {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

.center-media-card__cover-empty[b-l2vgh7u94q] {
    height: 100%;
    display: grid;
    place-items: center;
    color: #7a8791;
    text-align: center;
    font-size: 0.9rem;
}

    .center-media-card__cover-empty i[b-l2vgh7u94q] {
        display: block;
        margin-bottom: 0.35rem;
        color: #3f9ea4;
        font-size: 1.75rem;
    }

.center-media-card__image-actions[b-l2vgh7u94q] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

    .center-media-card__image-actions span[b-l2vgh7u94q] {
        color: #8a98a3;
        font-size: 0.78rem;
    }

/* Marcador de estado para el botón de subida mientras llega la respuesta del servidor.
   El JS de centerMediaUploader.js añade/quita la clase. */
.btn.is-busy[b-l2vgh7u94q] {
    opacity: 0.65;
    cursor: progress;
}

.center-media-card__model-input[b-l2vgh7u94q],
.center-media-card[b-l2vgh7u94q]  .center-media-card__model-input {
    display: none !important;
}

@media (max-width: 900px) {
    .center-media-card__content[b-l2vgh7u94q] {
        grid-template-columns: 1fr;
    }

    .center-media-card__logo-section[b-l2vgh7u94q] {
        align-items: flex-start;
        padding-right: 0;
        padding-bottom: 1.25rem;
        border-right: 0;
        border-bottom: 1px solid #edf2f4;
    }

    .center-media-card__logo[b-l2vgh7u94q] {
        margin-left: 0;
    }
}

@media (max-width: 600px) {
    .center-media-card[b-l2vgh7u94q] {
        padding: 1rem;
    }

    .center-media-card__cover[b-l2vgh7u94q] {
        height: 135px;
    }

    .center-media-card .btn[b-l2vgh7u94q] {
        width: 100%;
    }

    .center-media-card__image-actions[b-l2vgh7u94q] {
        align-items: stretch;
        flex-direction: column;
        gap: 0.5rem;
    }
}
.center-media-card__logo-empty[b-l2vgh7u94q] {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
}

    .center-media-card__logo-empty i[b-l2vgh7u94q] {
        font-size: 4rem;
        line-height: 1;
    }

.center-media-card__file-name[b-l2vgh7u94q] {
    color: #7a8791;
    font-size: 0.78rem;
    text-align: center;
    word-break: break-word;
}

.center-media-card__message[b-l2vgh7u94q] {
    padding: 0.65rem 0.8rem;
    border: 1px solid #ffc7c2;
    border-radius: 9px;
    background: #fff7f6;
    color: #c9382d;
    font-size: 0.82rem;
    font-weight: 700;
}

.is-hidden[b-l2vgh7u94q] {
    display: none !important;
}
/* /Components/SpecialistProfile/SpecialistCenterMembersCard.razor.rz.scp.css */
/* Títulos de sección ──────────────────────────────────────────────────────── */

.members-card__section-title[b-mm1bojloyj] {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6c757d;
    margin: 1.5rem 0 0.75rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid #e9ecef;
}

/* Empty state ─────────────────────────────────────────────────────────────── */

.members-card__empty[b-mm1bojloyj] {
    background: #f8f9fa;
    border: 1px dashed #dee2e6;
    border-radius: 10px;
    padding: 2rem 1rem;
    text-align: center;
}

    .members-card__empty--compact[b-mm1bojloyj] {
        padding: 1.25rem 1rem;
    }

.members-card__empty-icon[b-mm1bojloyj] {
    display: block;
    font-size: 2.5rem;
    color: #adb5bd;
    margin-bottom: 0.75rem;
}

    .members-card__empty-icon--small[b-mm1bojloyj] {
        font-size: 1.6rem;
        margin-bottom: 0.4rem;
    }

/* Panel de invitar ────────────────────────────────────────────────────────── */

.invite-panel[b-mm1bojloyj] {
    background: #f0f7f7;
    border: 1px solid #cfe4e5;
    border-left: 4px solid #5F9EA0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin: 1rem 0;
}

/* Lista (gap entre tarjetas) ──────────────────────────────────────────────── */

.invitation-list[b-mm1bojloyj] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

/* Grid de miembros — 2 columnas desktop, 1 columna móvil ────────────────── */

.members-grid[b-mm1bojloyj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.85rem;
}

.members-card__pagination[b-mm1bojloyj] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.members-card__pagination-info[b-mm1bojloyj] {
    font-size: 0.85rem;
    color: #6c757d;
    font-weight: 500;
}

/* Acordeón del histórico de invitaciones ──────────────────────────────────── */

.invitation-history-toggle[b-mm1bojloyj] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-top: .5rem;
    padding: .5rem .85rem;
    border: 1px solid #cfe5e7;
    border-radius: 999px;
    background: #f1fafb;
    color: #128f9a;
    font-size: .85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}

.invitation-history-toggle:hover[b-mm1bojloyj] {
    background: #e3f4f6;
    border-color: #a8d5d9;
}

.invitation-history-toggle i[b-mm1bojloyj] {
    font-size: .95rem;
}

.invitation-list--history[b-mm1bojloyj] {
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px dashed #cfe5e7;
}
/* /Components/SpecialistProfile/SpecialistCenterReviewQrCard.razor.rz.scp.css */
/* Estilos del componente. CSS isolated por Blazor (atributo b-xxx) — solo aplica
   a elementos del propio componente. */

.qr-card[b-ut6wmc9m81] {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .06);
    padding: 1.25rem;
    margin-top: 1rem;
}

.qr-card__header[b-ut6wmc9m81] {
    margin-bottom: 1rem;
}

.qr-card__title[b-ut6wmc9m81] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 .35rem;
    color: #233044;
    font-size: 1.1rem;
    font-weight: 600;
}

.qr-card__title i[b-ut6wmc9m81] {
    color: #128f9a;
}

.qr-card__subtitle[b-ut6wmc9m81] {
    margin: 0;
    color: #64748b;
    font-size: .9rem;
    line-height: 1.45;
}

/* ── Estados (loading / error / empty) ─────────────────────────────────── */

.qr-card__state[b-ut6wmc9m81] {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .85rem 1rem;
    border-radius: 12px;
    background: #f8fafc;
    color: #475569;
    font-size: .9rem;
}

.qr-card__state i[b-ut6wmc9m81] {
    color: #128f9a;
    font-size: 1.1rem;
}

.qr-card__state--empty[b-ut6wmc9m81] {
    background: #f1fafb;
}

.qr-card__state--error[b-ut6wmc9m81] {
    background: #fff1f2;
    color: #be123c;
}

.qr-card__state--error i[b-ut6wmc9m81] {
    color: #be123c;
}

.qr-card__spinner[b-ut6wmc9m81] {
    animation: qrSpin-b-ut6wmc9m81 0.8s linear infinite;
}

@keyframes qrSpin-b-ut6wmc9m81 {
    to { transform: rotate(360deg); }
}

/* ── Cuerpo cuando el QR está cargado ──────────────────────────────────── */

.qr-card__body[b-ut6wmc9m81] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .85rem;
}

.qr-card__image[b-ut6wmc9m81] {
    width: 220px;
    height: 220px;
    object-fit: contain;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    padding: .55rem;
    background: #ffffff;
}

.qr-card__url[b-ut6wmc9m81] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #128f9a;
    font-size: .82rem;
    text-decoration: none;
    border-bottom: 1px dashed #b3dde2;
    padding-bottom: 2px;
}

.qr-card__url:hover[b-ut6wmc9m81] {
    color: #0f766e;
}

.qr-card__actions[b-ut6wmc9m81] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
}

.qr-card__action[b-ut6wmc9m81] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    text-decoration: none;
}
/* /Components/SpecialistProfile/SpecialistCenterSchedulesCard.razor.rz.scp.css */
.center-schedules-card[b-nlwoxa3a3h] {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    background: #ffffff;
    border: 1px solid #dce9ed;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.035);
    margin-bottom: 1rem;
}

.center-schedules-card__list[b-nlwoxa3a3h] {
    overflow: hidden;
    border: 1px solid #edf2f4;
    border-radius: 10px;
}

.center-schedules-card__row[b-nlwoxa3a3h] {
    display: grid;
    grid-template-columns: 42px minmax(220px, 0.7fr) minmax(320px, 1fr) 38px;
    gap: 1rem;
    align-items: start;
    padding: 0.95rem;
    background: #ffffff;
}

    .center-schedules-card__row + .center-schedules-card__row[b-nlwoxa3a3h] {
        border-top: 1px solid #edf2f4;
    }

.center-schedules-card__clock[b-nlwoxa3a3h] {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid #b9dfe3;
    border-radius: 10px;
    background: #e9f8fa;
    color: #16858c;
    font-size: 1.1rem;
    margin-top: 0.15rem;
}

/* ── Columna de días ─────────────────────────────────────── */

.center-schedules-card__days[b-nlwoxa3a3h] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
}

.center-schedules-card__mode-toggle[b-nlwoxa3a3h] {
    display: inline-flex;
    align-self: flex-start;
    border: 1px solid #d8e3e7;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f9fa;
}

.center-schedules-card__mode-button[b-nlwoxa3a3h] {
    border: 0;
    background: transparent;
    color: #5a6772;
    font-size: 0.82rem;
    font-weight: 600;
    padding: 0.35rem 0.7rem;
    cursor: pointer;
    line-height: 1.2;
}

    .center-schedules-card__mode-button + .center-schedules-card__mode-button[b-nlwoxa3a3h] {
        border-left: 1px solid #d8e3e7;
    }

    .center-schedules-card__mode-button.is-active[b-nlwoxa3a3h] {
        background: #5F9EA0;
        color: #ffffff;
    }

.center-schedules-card__day-selects[b-nlwoxa3a3h] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

    .center-schedules-card__day-selects select[b-nlwoxa3a3h] {
        min-height: 36px;
        border: 1px solid #d8e3e7;
        border-radius: 8px;
        background: #ffffff;
        color: #102033;
        font-size: 0.9rem;
        font-family: inherit;
        padding: 0.45rem 0.55rem;
        outline: none;
        font-weight: 400;
        min-width: 0;
    }

        .center-schedules-card__day-selects select:focus[b-nlwoxa3a3h] {
            border-color: #3f9ea4;
            box-shadow: 0 0 0 3px rgba(63, 158, 164, 0.12);
        }

.center-schedules-card__day-sep[b-nlwoxa3a3h] {
    color: #5a6772;
    font-weight: 500;
}

/* ── Columna de horas ────────────────────────────────────── */

.center-schedules-card__hours[b-nlwoxa3a3h] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-width: 0;
}

.center-schedules-card__slot[b-nlwoxa3a3h] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid #edf2f4;
    border-radius: 8px;
    background: #fafcfd;
    flex-wrap: wrap;
}

    .center-schedules-card__slot.is-off[b-nlwoxa3a3h] {
        background: #f5f7f8;
        color: #8a9099;
    }

.center-schedules-card__slot-toggle[b-nlwoxa3a3h] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 88px;
    font-weight: 600;
    color: #102033;
    cursor: pointer;
    user-select: none;
}

    .center-schedules-card__slot-toggle input[type="checkbox"][b-nlwoxa3a3h] {
        accent-color: #5F9EA0;
        width: 16px;
        height: 16px;
        cursor: pointer;
    }

.center-schedules-card__slot-times[b-nlwoxa3a3h] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    min-width: 0;
}

    .center-schedules-card__slot-times input[type="time"][b-nlwoxa3a3h] {
        min-height: 34px;
        border: 1px solid #d8e3e7;
        border-radius: 8px;
        background: #ffffff;
        color: #102033;
        font-size: 0.9rem;
        font-family: inherit;
        padding: 0.4rem 0.55rem;
        outline: none;
        flex: 1;
        min-width: 90px;
    }

        .center-schedules-card__slot-times input[type="time"]:focus[b-nlwoxa3a3h] {
            border-color: #3f9ea4;
            box-shadow: 0 0 0 3px rgba(63, 158, 164, 0.12);
        }

    .center-schedules-card__slot-times span[b-nlwoxa3a3h] {
        color: #31404d;
    }

.center-schedules-card .btn-icon-ghost[b-nlwoxa3a3h] {
    margin-top: 0.15rem;
}

@media (max-width: 1050px) {
    .center-schedules-card__row[b-nlwoxa3a3h] {
        grid-template-columns: 42px minmax(0, 1fr) 38px;
    }

    .center-schedules-card__hours[b-nlwoxa3a3h] {
        grid-column: 2 / 3;
    }

    .center-schedules-card__days[b-nlwoxa3a3h] {
        grid-column: 2 / 3;
    }
}

@media (max-width: 700px) {
    /* Reducimos el padding lateral para ganar ancho útil en iPhone XR (414px)
       y similares (375px), sino los selects y los inputs time se aprietan. */
    .center-schedules-card[b-nlwoxa3a3h] {
        padding: 1rem 0.85rem;
    }

    .center-schedules-card__row[b-nlwoxa3a3h] {
        grid-template-columns: minmax(0, 1fr) 38px;
        gap: 0.6rem;
        padding: 0.85rem 0.7rem;
    }

    .center-schedules-card__clock[b-nlwoxa3a3h] {
        display: none;
    }

    .center-schedules-card__days[b-nlwoxa3a3h],
    .center-schedules-card__hours[b-nlwoxa3a3h] {
        grid-column: 1 / 2;
    }

    /* Selects de día: una columna en móvil para que el separador "—" no quede
       suelto en una línea por sí solo cuando hay flex-wrap. */
    .center-schedules-card__day-selects[b-nlwoxa3a3h] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.4rem;
    }

        .center-schedules-card__day-selects select[b-nlwoxa3a3h] {
            width: 100%;
        }

    .center-schedules-card__day-sep[b-nlwoxa3a3h] {
        display: none;
    }

    /* Slot (Mañana / Tarde): el toggle ocupa toda la fila y los inputs de hora
       caen debajo a ancho completo. Evita que la "X - Y" quede comprimida. */
    .center-schedules-card__slot[b-nlwoxa3a3h] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .center-schedules-card__slot-toggle[b-nlwoxa3a3h] {
        min-width: 0;
    }

    .center-schedules-card__slot-times[b-nlwoxa3a3h] {
        width: 100%;
    }

        .center-schedules-card__slot-times input[type="time"][b-nlwoxa3a3h] {
            min-width: 0;
            flex: 1;
        }
}
/* /Components/SpecialistProfile/SpecialistCenterServicesCard.razor.rz.scp.css */
.center-services-card[b-f4i2n6upza] {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    background: #ffffff;
    border: 1px solid #dce9ed;
    border-radius: 14px;
    padding: 1.25rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.035);
    margin-bottom: 1rem;
}

.center-services-card__list[b-f4i2n6upza] {
    overflow: visible;
    border: 1px solid #edf2f4;
    border-radius: 10px;
}

.center-services-card__row[b-f4i2n6upza] {
    display: grid;
    grid-template-columns: 24px minmax(220px, 1.25fr) minmax(145px, 0.75fr) minmax(145px, 0.75fr) 38px;
    gap: 1rem;
    align-items: end;
    padding: 0.85rem 0.95rem;
    background: #ffffff;
}

    .center-services-card__row + .center-services-card__row[b-f4i2n6upza] {
        border-top: 1px solid #edf2f4;
    }

.center-services-card__drag[b-f4i2n6upza] {
    align-self: center;
    color: #9aa8b2;
    font-size: 1.1rem;
}

.center-services-card__field[b-f4i2n6upza] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

    .center-services-card__field label[b-f4i2n6upza] {
        color: #64717c;
        font-size: 0.76rem;
        font-weight: 700;
    }

    .center-services-card__field label span[b-f4i2n6upza] {
        color: #ff5a2a;
    }

    .center-services-card__field[b-f4i2n6upza]  input {
        width: 100%;
        min-height: 38px;
        border: 1px solid #d8e3e7 !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        color: #102033 !important;
        font-size: 0.9rem;
        font-family: inherit;
        padding: 0.62rem 0.72rem;
        outline: none !important;
        box-shadow: none;
        box-sizing: border-box;
    }

        .center-services-card__field[b-f4i2n6upza]  input:focus {
            border-color: #3f9ea4 !important;
            box-shadow: 0 0 0 3px rgba(63, 158, 164, 0.12) !important;
        }

.center-services-card__input-unit[b-f4i2n6upza] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
}

    .center-services-card__input-unit[b-f4i2n6upza]  input {
        border-radius: 8px 0 0 8px !important;
    }

    .center-services-card__input-unit span[b-f4i2n6upza] {
        min-height: 38px;
        display: grid;
        place-items: center;
        border: 1px solid #d8e3e7;
        border-left: 0;
        border-radius: 0 8px 8px 0;
        background: #f8fafb;
        color: #31404d;
        font-size: 0.84rem;
    }

.center-services-card .btn-icon-ghost[b-f4i2n6upza] {
    align-self: center;
}

.service-search-input-group[b-f4i2n6upza] {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 42px;
    border: 1px solid #d8e3e7;
    border-radius: 10px;
    background: #ffffff;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.service-search-input-group:focus-within[b-f4i2n6upza] {
    border-color: #3f9ea4;
    box-shadow: 0 0 0 3px rgba(63, 158, 164, 0.12);
}

.service-search-icon[b-f4i2n6upza] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    flex: 0 0 42px;
    color: #3f9ea4;
    font-size: 1rem;
}

.service-search-input[b-f4i2n6upza] {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    border: 0 !important;
    border-radius: 10px;
    background: transparent;
    color: #102033;
    font-size: 0.94rem;
    font-family: inherit;
    padding: 0.72rem 0.2rem;
    outline: none;
    box-shadow: none;
    box-sizing: border-box;
}

.service-search-input[b-f4i2n6upza]::placeholder {
    color: #7a8791;
}

.service-search-chevron-btn[b-f4i2n6upza] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-right: 0.2rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #3f9ea4;
}

.service-search-chevron-btn:hover[b-f4i2n6upza] {
    background: #e9f7f8;
}

.service-suggestions-list[b-f4i2n6upza] {
    position: absolute;
    top: calc(100% + 0.25rem);
    left: 0;
    right: 0;
    z-index: 2000;
    list-style: none;
    margin: 0;
    padding: 0.35rem 0;
    max-height: 240px;
    overflow-y: auto;
    overflow-x: hidden;
    background: #ffffff;
    border: 1px solid #d8e3e7;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

    .service-suggestions-list li[b-f4i2n6upza] {
        min-height: 38px;
        display: flex;
        align-items: center;
        padding: 0.55rem 0.82rem;
        color: #102033;
        font-size: 0.94rem;
        font-family: inherit;
        line-height: 1.2;
        cursor: pointer;
        background: #ffffff;
    }

        .service-suggestions-list li:hover[b-f4i2n6upza],
        .service-suggestions-list__item--active[b-f4i2n6upza] {
            background: #f4fafb;
            color: #102033;
        }

        .service-suggestions-list li + li[b-f4i2n6upza] {
            border-top: 1px solid #edf2f4;
        }


@media (max-width: 1050px) {
    .center-services-card__row[b-f4i2n6upza] {
        grid-template-columns: 24px minmax(0, 1fr) 38px;
    }

    .center-services-card__field[b-f4i2n6upza] {
        grid-column: 2;
    }

    .center-services-card__drag[b-f4i2n6upza] {
        grid-row: 1 / span 3;
    }

    .center-services-card .btn-icon-ghost[b-f4i2n6upza] {
        grid-column: 3;
        grid-row: 1;
    }
}

@media (max-width: 700px) {
    /* Reducimos el padding lateral de la card y de los rows para recuperar
       ~24px de ancho útil en iPhone XR / SE / Pixel (375-414px). */
    .center-services-card[b-f4i2n6upza] {
        padding: 1rem 0.85rem;
    }

    .center-services-card__row[b-f4i2n6upza] {
        grid-template-columns: minmax(0, 1fr) 38px;
        gap: 0.6rem 0.8rem;
        padding: 0.85rem 0.7rem;
    }

    .center-services-card__drag[b-f4i2n6upza] {
        display: none;
    }

    /* Placement explícito en móvil: Nombre + Trash comparten la primera fila;
       Duración y Precio caen debajo a ancho completo. Sin esto, el auto-flow
       metía "Duración" en los 38px reservados para el trash y solo se veía "min". */
    .center-services-card__field--name[b-f4i2n6upza] {
        grid-column: 1;
        grid-row: 1;
    }

    .center-services-card .btn-icon-ghost[b-f4i2n6upza] {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
    }

    .center-services-card__field:not(.center-services-card__field--name)[b-f4i2n6upza] {
        grid-column: 1 / -1;
    }

    /* El chevron de sugerencias quita 38px al input en pantallas estrechas;
       lo escondemos en móvil — el usuario puede teclear para ver sugerencias. */
    .service-search-chevron-btn[b-f4i2n6upza] {
        display: none;
    }
}
/* /Components/SpecialistProfile/SpecialistDescriptionEditor.razor.rz.scp.css */
/* Chip eliminable de áreas (Bootstrap no tiene chip dismissible) */
.chip-tag[b-pzvaupba4u] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 30px;
    padding: 0.32rem 0.62rem;
    border: 1px solid #aadce1;
    border-radius: 8px;
    background: #e9f8fa;
    color: #08727a;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

    .chip-tag:hover[b-pzvaupba4u] {
        background: #d6f0f3;
    }

/* Estilos del <ValidationMessage> de Blazor */
[b-pzvaupba4u] .validation-message {
    margin-top: 0.25rem;
    color: #dc3545;
    font-size: 0.78rem;
    font-weight: 600;
}

[b-pzvaupba4u] input.invalid,
[b-pzvaupba4u] textarea.invalid,
[b-pzvaupba4u] select.invalid {
    border-color: #dc3545 !important;
}
/* /Components/SpecialistProfile/SpecialistEducationEditor.razor.rz.scp.css */
/* Icono circular en cada item de formación */
.icon-circle-teal[b-vkxdtpfn0m] {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border: 1px solid #b9dfe3;
    border-radius: 999px;
    background: #e9f8fa;
    color: #16858c;
    font-size: 1.05rem;
}

/* Estilos del <ValidationMessage> de Blazor */
[b-vkxdtpfn0m] .validation-message {
    margin-top: 0.25rem;
    color: #dc3545;
    font-size: 0.78rem;
    font-weight: 600;
}

[b-vkxdtpfn0m] input.invalid,
[b-vkxdtpfn0m] textarea.invalid,
[b-vkxdtpfn0m] select.invalid {
    border-color: #dc3545 !important;
}
/* /Components/Specialists/Public/SpecialistCentersSection.razor.rz.scp.css */
.center-card[b-yx7a21fg5y] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-yx7a21fg5y] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-section-subtitle[b-yx7a21fg5y] {
    color: #6b7684;
    font-size: .95rem;
    margin-bottom: 0;
    line-height: 1.6;
}
/* /Components/Specialists/Public/SpecialistEducationSection.razor.rz.scp.css */
.center-card[b-xd0xozb7jj] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-xd0xozb7jj] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-section-subtitle[b-xd0xozb7jj] {
    color: #6b7684;
    font-size: .95rem;
    margin-bottom: 0;
    line-height: 1.6;
}
/* /Components/Specialists/Public/SpecialistHero.razor.rz.scp.css */
.center-card[b-qgooymm0dq] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-hero[b-qgooymm0dq] {
    margin-bottom: 1rem;
}

.center-hero__content[b-qgooymm0dq] {
    border-radius: 1rem;
    padding: 1.75rem 2rem;
}

.center-hero__logo[b-qgooymm0dq] {
    width: 118px;
    height: 118px;
    min-width: 118px;
    border-radius: 50%;
    border: 4px solid #2f9ca2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.center-hero__logo-image[b-qgooymm0dq] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.center-hero__logo-placeholder[b-qgooymm0dq] {
    font-size: 2.65rem;
    color: #2f9ca2;
    line-height: 1;
    font-weight: 700;
}

.center-hero__title[b-qgooymm0dq] {
    margin: 0 0 .35rem 0;
    font-size: clamp(1.7rem, 2.2vw, 2.6rem);
    line-height: 1.15;
    font-weight: 700;
    color: #22314d;
}

.specialist-hero__rating-row[b-qgooymm0dq] {
    display: flex;
    align-items: center;
}

.specialist-hero__rating[b-qgooymm0dq] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    color: #5f6b7a;
    font-size: .96rem;
    font-weight: 700;
}

.specialist-hero__stars[b-qgooymm0dq] {
    color: #f4a51c;
    letter-spacing: 1px;
    line-height: 1;
}

.specialist-hero__rating-value[b-qgooymm0dq] {
    color: #22314d;
}

.specialist-hero__rating-count[b-qgooymm0dq] {
    color: #8a94a3;
    font-weight: 600;
}

.center-hero__meta[b-qgooymm0dq] {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.5rem;
    color: #6c757d;
    margin-top: .5rem;
    font-size: .95rem;
    line-height: 1.45;
}

@media (max-width: 1199.98px) {
    .center-hero__content[b-qgooymm0dq] {
        padding: 1.5rem 1.5rem 1.6rem;
    }
}

@media (max-width: 767.98px) {
    .center-hero__logo[b-qgooymm0dq] {
        width: 96px;
        height: 96px;
        min-width: 96px;
    }

    .center-hero__logo-placeholder[b-qgooymm0dq] {
        font-size: 2.15rem;
    }

    .center-hero__content[b-qgooymm0dq] {
        padding: 1.25rem;
    }

    .center-hero__title[b-qgooymm0dq] {
        font-size: 1.9rem;
    }
}
/* /Components/Specialists/Public/SpecialistOverviewSection.razor.rz.scp.css */
.center-card[b-tlkm150m5e] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-tlkm150m5e] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.center-text[b-tlkm150m5e] {
    color: #5f6b7a;
    line-height: 1.8;
    font-size: .98rem;
}

.center-specialties-grid[b-tlkm150m5e] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.85rem;
}

.center-specialty-tile[b-tlkm150m5e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    padding: 1.1rem 0.75rem;
    background: #fff;
    border: 1px solid #d3e7e9;
    border-radius: 0.85rem;
    text-align: center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

    .center-specialty-tile:hover[b-tlkm150m5e] {
        border-color: #5F9EA0;
        box-shadow: 0 6px 16px rgba(95, 158, 160, 0.12);
        transform: translateY(-2px);
    }

.center-specialty-tile__icon[b-tlkm150m5e] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #eef6f7;
}

.center-specialty-tile__name[b-tlkm150m5e] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #22314d;
    line-height: 1.25;
}

/* Bloque de contacto unificado con SpecialistContactPanel/CenterContactPanel:
   icono en círculo con borde teal + texto en negro (anti-azul). */
.contact-item[b-tlkm150m5e] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

    .contact-item:last-child[b-tlkm150m5e] {
        margin-bottom: 0;
    }

.contact-icon-wrap[b-tlkm150m5e] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #fff;
    color: #3F9EA4;
    border: 1.5px solid #3F9EA4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.contact-item a[b-tlkm150m5e],
.contact-item__text[b-tlkm150m5e] {
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.92rem;
    transition: color 0.15s;
}

    .contact-item a:hover[b-tlkm150m5e] {
        color: #3F9EA4;
        text-decoration: underline;
    }

@media (max-width: 767.98px) {
    .center-section-title[b-tlkm150m5e] {
        font-size: 1.35rem;
    }

    .center-text[b-tlkm150m5e] {
        font-size: .95rem;
    }
}
/* /Components/Specialists/Public/SpecialistPageShell.razor.rz.scp.css */
.center-page[b-0en8b81tr7] {
    background: #f4f6f8;
    min-height: 100%;
}
/* /Components/Specialists/Public/SpecialistReservaSection.razor.rz.scp.css */
.center-card[b-4cqblkaied] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-4cqblkaied] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-section-subtitle[b-4cqblkaied] {
    color: #6b7684;
    font-size: .95rem;
    margin-bottom: 0;
    line-height: 1.6;
}

/* Los controles de formulario no heredan la fuente del documento por defecto
   (el textarea suele caer a monoespaciada); la forzamos a la del resto de la
   página, igual que hacen otras cards del proyecto. */
.center-card textarea[b-4cqblkaied],
.center-card input[b-4cqblkaied],
.center-card button[b-4cqblkaied] {
    font-family: inherit;
}
/* /Components/Specialists/Public/SpecialistServicesSection.razor.rz.scp.css */
.center-card[b-il04ckhlbo] {
    background: #fff;
    border: 1px solid #e7ebef;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
}

.center-section-title[b-il04ckhlbo] {
    font-size: 1.55rem;
    font-weight: 700;
    color: #22314d;
    line-height: 1.2;
}

.center-section-subtitle[b-il04ckhlbo] {
    color: #6b7684;
    font-size: .96rem;
    margin-bottom: 0;
    line-height: 1.6;
}

.center-service-item[b-il04ckhlbo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.1rem 1.25rem;
    background: #fff;
    border: 1px solid #e2e8ec;
    border-radius: .9rem;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

    .center-service-item:hover[b-il04ckhlbo] {
        border-color: #5F9EA0;
        box-shadow: 0 8px 20px rgba(95, 158, 160, 0.10);
        transform: translateY(-1px);
    }

.center-service-item__main[b-il04ckhlbo] {
    min-width: 0;
    flex: 1;
}

.center-service-item__title[b-il04ckhlbo] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #22314d;
    margin: 0 0 .35rem 0;
    line-height: 1.3;
}

.center-service-item__duration[b-il04ckhlbo] {
    display: inline-flex;
    align-items: center;
    color: #7a8592;
    font-size: .9rem;
}

.center-service-item__price[b-il04ckhlbo] {
    font-size: 1.45rem;
    font-weight: 700;
    color: #2f9ca2;
    white-space: nowrap;
    flex-shrink: 0;
}

@media (max-width: 575.98px) {
    .center-service-item[b-il04ckhlbo] {
        gap: 1rem;
        padding: 0.9rem 1rem;
    }

    .center-service-item__price[b-il04ckhlbo] {
        font-size: 1.2rem;
    }
}
/* /Components/Specialists/Public/SpecialistSidebarMenu.razor.rz.scp.css */
.center-sidebar[b-03dwa9bil1] {
    position: sticky;
    top: 6.5rem;
}

.center-sidebar__tabs[b-03dwa9bil1] {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.center-sidebar__tab[b-03dwa9bil1] {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    min-height: 3.45rem;
    padding: .9rem 1rem;
    background: #eef7f8;
    border: 1px solid #b9dfe2;
    border-radius: .7rem;
    color: #4f5965;
    text-decoration: none;
    font-weight: 500;
    text-align: left;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

    .center-sidebar__tab i[b-03dwa9bil1] {
        color: #5b5f66;
        font-size: .98rem;
        width: 1rem;
        text-align: center;
        flex-shrink: 0;
    }

    .center-sidebar__tab[b-03dwa9bil1]  .pronto-badge {
        margin-left: auto;
    }

    .center-sidebar__tab:hover[b-03dwa9bil1] {
        background: #e6f4f5;
        border-color: #97d3d7;
        color: #1f7f86;
    }

        .center-sidebar__tab:hover i[b-03dwa9bil1] {
            color: #1f7f86;
        }

    .center-sidebar__tab.active[b-03dwa9bil1] {
        background: #eef7f8;
        border-color: #7fc6cc;
        color: #2f9ca2;
        font-weight: 600;
        box-shadow: inset 4px 0 0 #2f9ca2;
    }

        .center-sidebar__tab.active i[b-03dwa9bil1] {
            color: #2f9ca2;
        }

@media (max-width: 991.98px) {
    .center-sidebar[b-03dwa9bil1] {
        position: static;
        top: auto;
    }
}
/* /Pages/Booking.razor.rz.scp.css */
.booking-page[b-nhyxopncvx] {
    min-height: 100vh;
    background: url("/img/16.webp") center top / cover repeat;
}

.booking-wrapper[b-nhyxopncvx] {
    min-height: 100vh;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
}

.booking-back[b-nhyxopncvx] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 24px;
    color: #6c757d;
    text-decoration: none;
    font-weight: 500;
}

    .booking-back:hover[b-nhyxopncvx] {
        color: #2f8f98;
    }

.booking-shell[b-nhyxopncvx] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.booking-card[b-nhyxopncvx] {
    width: 100%;
    max-width: 1100px;
    min-height: 620px;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
    display: grid;
    grid-template-columns: 320px 1fr;
}

.booking-card__sidebar[b-nhyxopncvx] {
    background: linear-gradient(180deg, #49a8b0 0%, #2f8890 100%);
    color: white;
}

.booking-card__content[b-nhyxopncvx] {
    background: #fff;
    padding: 48px 44px;
    display: flex;
    flex-direction: column;
}

.booking-card__body[b-nhyxopncvx] {
    flex: 1;
    padding-top: 12px;
}

@media (max-width: 991.98px) {
    .booking-card[b-nhyxopncvx] {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .booking-card__content[b-nhyxopncvx] {
        padding: 28px 20px;
    }

    .booking-wrapper[b-nhyxopncvx] {
        padding: 20px 14px;
    }
}
/* /Pages/Centers/CenterReview.razor.rz.scp.css */
/*
 * Estilos de la página /valoracion. Layout vertical de cards (hero + campos + comentario)
 * alineado con el rediseño visual de byclinics. El widget de estrellas (.review-star-*)
 * sigue duplicado a propósito desde AppointmentReview.razor.css hasta extraer StarRating
 * a Components/Shared/ (ver memoria starrating-extraction-pending).
 */

.review-page[b-pynnq2ecla] {
    max-width: 760px;
    margin: 0 auto;
    padding-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.review-back[b-pynnq2ecla] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border: 0;
    background: transparent;
    color: #0f766e;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    transition: transform .16s ease;
}

.review-back:hover[b-pynnq2ecla] {
    transform: translateX(-4px);
}

/* ── Card genérica ─────────────────────────────────────────────────────── */

.review-card[b-pynnq2ecla] {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
    padding: 1.25rem;
}

.review-card--state[b-pynnq2ecla] {
    display: grid;
    min-height: 260px;
    place-items: center;
    text-align: center;
    color: #475569;
}

.review-card--state i[b-pynnq2ecla] {
    color: #0f766e;
    font-size: 2.2rem;
}

.review-card--state h1[b-pynnq2ecla] {
    margin: .75rem 0 .25rem;
    color: #0f172a;
    font-size: 1.55rem;
}

.review-loading-dot[b-pynnq2ecla] {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #0f766e;
    box-shadow: 0 0 0 0 rgba(15, 118, 110, .35);
    animation: reviewPulse-b-pynnq2ecla 1.2s infinite;
}

/* Card que envuelve un campo cuya etiqueta + control vienen dentro
   (selector de cita, selector de especialista). Tighter que la genérica. */
.review-card--field[b-pynnq2ecla] {
    padding: 1rem 1.15rem;
}

/* ── Hero con foto del centro ──────────────────────────────────────────── */

.review-hero[b-pynnq2ecla] {
    display: flex;
    align-items: stretch;
    gap: 1.1rem;
    padding: 1.1rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}

.review-hero__photo[b-pynnq2ecla] {
    flex: 0 0 132px;
    height: 132px;
    border-radius: 14px;
    background: #e9f7f8;
    overflow: hidden;
    display: grid;
    place-items: center;
    color: #0f766e;
}

.review-hero__photo img[b-pynnq2ecla] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-hero__photo i[b-pynnq2ecla] {
    font-size: 2.4rem;
}

.review-hero__body[b-pynnq2ecla] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .35rem;
}

.review-hero__kicker[b-pynnq2ecla] {
    margin: 0;
    color: #0f766e;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.review-hero__title[b-pynnq2ecla] {
    margin: 0;
    color: #0f172a;
    font-size: 1.6rem;
    line-height: 1.2;
}

.review-hero__meta[b-pynnq2ecla] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    padding: .55rem .75rem;
    border-radius: 12px;
    background: #f1fafb;
    color: #475569;
    font-size: .85rem;
}

.review-hero__meta span[b-pynnq2ecla] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.review-hero__meta i[b-pynnq2ecla] {
    color: #0f766e;
    flex-shrink: 0;
}

/* ── Copy informativo ──────────────────────────────────────────────────── */

.review-copy[b-pynnq2ecla] {
    margin: 0;
    color: #475569;
    font-size: .95rem;
}

/* ── Label de un campo (sobre select nativo de cita) ───────────────────── */

.review-field-label[b-pynnq2ecla] {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    color: #334155;
    font-size: .9rem;
    font-weight: 600;
    margin: 0;
}

.review-field-label select.form-select[b-pynnq2ecla] {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: .55rem .75rem;
    color: #0f172a;
    font: inherit;
    background-color: #ffffff;
}

/* ── Comment card ──────────────────────────────────────────────────────── */

.review-card--comment[b-pynnq2ecla] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.review-comment-card__icon[b-pynnq2ecla] {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #e9f7f8;
    color: #0f766e;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
}

.review-comment-card__body[b-pynnq2ecla] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    color: #334155;
    font-size: .9rem;
    font-weight: 600;
    margin: 0;
    position: relative;
}

.review-comment-card__label[b-pynnq2ecla] {
    line-height: 1;
}

.review-comment-card__body textarea[b-pynnq2ecla] {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: .65rem .75rem;
    color: #0f172a;
    font: inherit;
    resize: vertical;
}

.review-comment-card__counter[b-pynnq2ecla] {
    align-self: flex-end;
    color: #94a3b8;
    font-size: .78rem;
    font-weight: 500;
}

/* ── StarRating widget (duplicado) ─────────────────────────────────────── */

.review-star-slider[b-pynnq2ecla] {
    position: relative;
    width: 170px;
    height: 34px;
    display: block;
    padding: .12rem 0;
}

.review-star-track[b-pynnq2ecla] {
    position: relative;
    width: 170px;
    height: 34px;
    display: flex;
    align-items: center;
    gap: .35rem;
    color: #cbd5e1;
    font-size: 1.45rem;
    line-height: 34px;
    transition: transform .16s ease;
}

.review-star-shell[b-pynnq2ecla] {
    position: relative;
    width: 24px;
    height: 34px;
    display: grid;
    place-items: center;
}

.review-star-empty[b-pynnq2ecla] {
    color: #cbd5e1;
}

.review-star-fill[b-pynnq2ecla] {
    position: absolute;
    inset: 0 auto 0 0;
    display: grid;
    place-items: center start;
    overflow: hidden;
    color: #f59e0b;
    pointer-events: none;
}

.review-star-fill i[b-pynnq2ecla] {
    width: 24px;
    height: 34px;
    display: grid;
    place-items: center;
}

.review-star-zones[b-pynnq2ecla] {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    z-index: 2;
}

.review-star-zone[b-pynnq2ecla] {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

.review-star-zone:focus-visible[b-pynnq2ecla] {
    outline: 2px solid rgba(15, 118, 110, .35);
    outline-offset: -2px;
    border-radius: 4px;
}

.review-star-slider:hover .review-star-track[b-pynnq2ecla] {
    transform: translateY(-1px);
}

/* ── Mensajes (info / error / success) ─────────────────────────────────── */

.review-message[b-pynnq2ecla] {
    padding: .7rem .85rem;
    border-radius: 10px;
    font-size: .86rem;
}

.review-message--info[b-pynnq2ecla] {
    background: #f8fafc;
    color: #475569;
}

.review-message--error[b-pynnq2ecla] {
    background: #fff1f2;
    color: #be123c;
}

.review-message--success[b-pynnq2ecla] {
    background: #dcfce7;
    color: #166534;
}

/* ── Botones del footer ────────────────────────────────────────────────── */

.review-actions[b-pynnq2ecla] {
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: .25rem;
}

.review-btn[b-pynnq2ecla] {
    border: 1.5px solid transparent;
    border-radius: 10px;
    padding: .6rem 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.review-btn:disabled[b-pynnq2ecla] {
    opacity: .55;
    cursor: not-allowed;
}

.review-btn--ghost[b-pynnq2ecla] {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
}

.review-btn--ghost:not(:disabled):hover[b-pynnq2ecla] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.review-btn--primary[b-pynnq2ecla] {
    background: #0f766e;
    border-color: #0f766e;
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .18);
}

.review-btn--primary:not(:disabled):hover[b-pynnq2ecla] {
    background: #139184;
    border-color: #139184;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .24);
    transform: translateY(-1px);
}

.review-btn--primary:not(:disabled):active[b-pynnq2ecla] {
    transform: translateY(0);
    box-shadow: 0 6px 14px rgba(15, 118, 110, .2);
}

@keyframes reviewPulse-b-pynnq2ecla {
    70% {
        box-shadow: 0 0 0 12px rgba(15, 118, 110, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(15, 118, 110, 0);
    }
}

/* ── Pantalla de gracias tras enviar la valoración ─────────────────────── */

.review-thank-you[b-pynnq2ecla] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .55rem;
    padding: 1.5rem 1.25rem 1.75rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
    text-align: center;
}

.review-thank-you__illustration[b-pynnq2ecla] {
    width: 100%;
    padding: 1.25rem 1rem 0.75rem;
    border-radius: 14px;
    background: linear-gradient(180deg, #e9f7f8 0%, #f7fcfc 100%);
    display: grid;
    place-items: center;
}

.review-thank-you__check[b-pynnq2ecla] {
    width: 110px;
    height: 110px;
    object-fit: contain;
}

.review-thank-you__kicker[b-pynnq2ecla] {
    margin: .75rem 0 0;
    color: #0f766e;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.review-thank-you__title[b-pynnq2ecla] {
    margin: 0;
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.2;
}

.review-thank-you__subtitle[b-pynnq2ecla] {
    margin: 0;
    color: #0f766e;
    font-size: 1rem;
    font-weight: 600;
}

.review-thank-you__copy[b-pynnq2ecla] {
    margin: .25rem 0 0;
    color: #64748b;
    font-size: .9rem;
    line-height: 1.45;
    max-width: 32ch;
}

.review-thank-you__center[b-pynnq2ecla] {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    margin-top: .75rem;
    padding: .75rem .9rem;
    border-radius: 14px;
    background: #f8fafc;
    text-align: left;
}

.review-thank-you__center-avatar[b-pynnq2ecla] {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: #e9f7f8;
    color: #0f766e;
    overflow: hidden;
    display: grid;
    place-items: center;
}

.review-thank-you__center-avatar img[b-pynnq2ecla] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-thank-you__center-info[b-pynnq2ecla] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.review-thank-you__center-name[b-pynnq2ecla] {
    color: #0f172a;
    font-weight: 600;
    font-size: .95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.review-thank-you__center-address[b-pynnq2ecla] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #64748b;
    font-size: .82rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.review-thank-you__center-address i[b-pynnq2ecla] {
    color: #0f766e;
    flex-shrink: 0;
}

.review-thank-you__actions[b-pynnq2ecla] {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    width: 100%;
    margin-top: .35rem;
}

.review-thank-you__actions .review-btn[b-pynnq2ecla] {
    width: 100%;
}

/* ── Responsive ────────────────────────────────────────────────────────── */

@media (max-width: 575px) {
    .review-hero[b-pynnq2ecla] {
        flex-direction: column;
    }

    .review-hero__photo[b-pynnq2ecla] {
        flex: 0 0 auto;
        width: 100%;
        height: 180px;
    }

    .review-card--comment[b-pynnq2ecla] {
        flex-direction: column;
        align-items: stretch;
    }

    .review-comment-card__icon[b-pynnq2ecla] {
        align-self: flex-start;
    }

    .review-actions[b-pynnq2ecla] {
        flex-direction: column-reverse;
    }

    .review-btn[b-pynnq2ecla] {
        width: 100%;
    }
}
/* /Pages/Centers/CenterSearch.razor.rz.scp.css */
.center-search-page[b-1i4crrwvhh] {
    position: relative;
    isolation: isolate;
    min-height: 100%;
    margin-bottom: -2rem;
    padding-bottom: 2rem;
    background-color: #f3fbfc;
    background-image: url("/img/16.webp");
    background-position: center top;
    background-size: 100% auto;
    background-repeat: repeat-y;
}

.center-search-hero[b-1i4crrwvhh] {
    position: relative;
    z-index: 3;
    overflow: visible;
    min-height: 424px;
    padding: 3.6rem 1.5rem 2.75rem;
    background: url("/img/15.webp") center top / 100% auto no-repeat, rgba(0, 0, 0, 0) 40%;
}

    .center-search-hero[b-1i4crrwvhh]::after {
        content: "";
        position: absolute;
        inset: auto 0 -1px;
        z-index: 1;
        height: 9rem;
        background-size: 100% auto;
        background-repeat: repeat-y;
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.58) 38%, #000 100%);
        mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.58) 38%, #000 100%);
        pointer-events: none;
    }

.center-search-hero__inner[b-1i4crrwvhh] {
    position: relative;
    z-index: 2;
    max-width: 1250px;
    margin: 0 auto;
    text-align: center;
}

.center-search-hero__title[b-1i4crrwvhh] {
    margin: 0;
    color: #101829;
    font-size: clamp(2.1rem, 4vw, 3.35rem);
    font-weight: 650;
    line-height: 1.08;
}

.center-search-hero__subtitle[b-1i4crrwvhh] {
    margin: 0.75rem auto 1.8rem;
    color: #69758a;
    font-size: clamp(1.02rem, 1.8vw, 1.25rem);
    line-height: 1.45;
}

.center-search-content[b-1i4crrwvhh] {
    position: relative;
    z-index: 1;
    max-width: 1250px;
    margin: 0 auto;
    padding: 0.15rem 1.5rem 1.6rem;
}

.center-active-filters[b-1i4crrwvhh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0.35rem 0 1.35rem;
    padding: 0.82rem 1.3rem;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(15, 66, 82, 0.08);
}

.center-active-filters__content[b-1i4crrwvhh] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.center-active-filters__label[b-1i4crrwvhh] {
    flex: 0 0 auto;
    color: #26364a;
    font-weight: 700;
    font-size: 0.93rem;
}

.center-active-filters__chips[b-1i4crrwvhh] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.center-active-filters__chips button[b-1i4crrwvhh] {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    border: 0;
    border-radius: 999px;
    padding: 0.36rem 0.85rem;
    background: #eef8f9;
    color: #087783;
    font-size: 0.83rem;
    font-weight: 400;
}

.center-active-filters__clear[b-1i4crrwvhh] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 0;
    background: transparent;
    color: #ff5a2a;
    font-size: 0.86rem;
    font-weight: 400;
}

.center-search-layout[b-1i4crrwvhh] {
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 1.55rem;
    align-items: start;
}

.filters-card[b-1i4crrwvhh] {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 66, 82, 0.1);
}

.search-filters__header[b-1i4crrwvhh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.05rem 1.2rem 0.75rem;
    background: #fff;
    color: #101829;
    font-weight: 500;
    border-bottom: none;
}

.filter-body[b-1i4crrwvhh] {
    padding: 0 1.1rem 1.15rem;
    max-height: 650px;
    overflow: hidden;
    transition: max-height 0.25s ease, opacity 0.25s ease, padding 0.25s ease;
}

.center-search-layout__results[b-1i4crrwvhh] {
    min-width: 0;
}

.center-results-list[b-1i4crrwvhh] {
    display: grid;
    gap: 1rem;
}

.results-counter[b-1i4crrwvhh] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem;
    color: #26364a;
    margin-bottom: 0.7rem;
    font-size: 0.93rem;
    font-weight: 400;
}

.results-counter strong[b-1i4crrwvhh] {
    color: #101829;
    font-weight: 400;
}

.results-counter__highlight[b-1i4crrwvhh] {
    color: #128f9a;
    font-weight: 400;
}

.loading-state[b-1i4crrwvhh],
.empty-state[b-1i4crrwvhh] {
    min-height: 345px;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 66, 82, 0.09);
}

.empty-state[b-1i4crrwvhh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
    text-align: center;
    color: #6b7280;
}

.empty-state__visual[b-1i4crrwvhh] {
    position: relative;
    display: grid;
    place-items: center;
    width: 12rem;
    height: 8rem;
    margin-bottom: 1.15rem;
    color: #3F9EA4;
}

.empty-state__visual[b-1i4crrwvhh]::before {
    content: "";
    position: absolute;
    inset: 1rem 1.6rem 0.5rem;
    border-radius: 999px;
    background: #e7f5f7;
}

.empty-state__visual .bi-search[b-1i4crrwvhh] {
    position: relative;
    z-index: 1;
    font-size: 5.2rem;
    opacity: 0.68;
    transform: rotate(-12deg);
}

.empty-state__visual .bi-plus-square-fill[b-1i4crrwvhh] {
    position: absolute;
    z-index: 2;
    left: 2.7rem;
    bottom: 1.15rem;
    font-size: 2.3rem;
    color: #55b6bd;
}

.empty-state h2[b-1i4crrwvhh] {
    margin: 0;
    color: #101829;
    font-size: 1.35rem;
    font-weight: 600;
}

.empty-state p[b-1i4crrwvhh] {
    margin: 0.65rem 0 0;
    color: #69758a;
    font-size: 1rem;
}

.filter-toggle-input[b-1i4crrwvhh] {
    display: none;
}

.filter-toggle-btn[b-1i4crrwvhh] {
    cursor: pointer;
    color: #3F9EA4;
    opacity: 0.9;
    transition: opacity 0.2s ease, transform 0.2s ease;
    line-height: 1;
}

.filter-toggle-btn:hover[b-1i4crrwvhh] {
    opacity: 1;
    transform: scale(1.15);
}

.icon-plus[b-1i4crrwvhh] {
    display: none;
}

.icon-minus[b-1i4crrwvhh] {
    display: inline;
}

.filter-toggle-input:checked ~ .filter-body[b-1i4crrwvhh] {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.filter-toggle-input:checked ~ .search-filters__header .icon-minus[b-1i4crrwvhh] {
    display: none;
}

.filter-toggle-input:checked ~ .search-filters__header .icon-plus[b-1i4crrwvhh] {
    display: inline;
}

[b-1i4crrwvhh](.filters-clear) {
    color: #ff5a2a;
    font-weight: 700;
    text-decoration: none;
}

[b-1i4crrwvhh](hr) {
    border-color: #e5edf3;
    opacity: 1;
}

[b-1i4crrwvhh](.filter-group__title) {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #26364a;
    font-size: 0.93rem;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
}

[b-1i4crrwvhh](.filter-check) {
    display: flex;
    align-items: center;
    min-height: 2.2rem;
}

[b-1i4crrwvhh](.filter-check .form-check-input) {
    width: 1.05rem;
    height: 1.05rem;
    border-color: #8cc8ce;
    border-radius: 0.25rem;
}

[b-1i4crrwvhh](.filter-check .form-check-input:checked) {
    background-color: #128f9a;
    border-color: #128f9a;
}

[b-1i4crrwvhh](.filter-check .form-check-label) {
    color: #526174;
    font-size: 0.92rem;
}

@media (max-width: 991.98px) {
    .center-search-hero[b-1i4crrwvhh] {
        padding-top: 2.8rem;
    }

    .center-search-layout[b-1i4crrwvhh] {
        grid-template-columns: 1fr;
    }

    .center-search-layout__filters[b-1i4crrwvhh] {
        order: 1;
    }

    .center-search-layout__results[b-1i4crrwvhh] {
        order: 2;
    }
}

@media (max-width: 767.98px) {
    .center-search-hero[b-1i4crrwvhh] {
        padding: 2.35rem 1rem 1rem;
        background: #f3fbfc;
    }

    .center-search-hero[b-1i4crrwvhh]::after {
        display: none;
    }

    .center-search-content[b-1i4crrwvhh] {
        padding-inline: 1rem;
    }

    .center-active-filters[b-1i4crrwvhh],
    .center-active-filters__content[b-1i4crrwvhh] {
        align-items: flex-start;
        flex-direction: column;
    }

    .center-active-filters__clear[b-1i4crrwvhh] {
        align-self: flex-end;
    }
}
/* /Pages/Centers/MyCenters.razor.rz.scp.css */
/* Aspecto "gris/lectura" para todos los inputs cuando el fieldset está disabled.
   ::deep cruza la frontera de scoped CSS para alcanzar los inputs de las cards hijas
   (Media, Info, Services, Schedules) sin tocar su CSS individual. */

fieldset:disabled[b-0z6jtdmm2d]  input,
fieldset:disabled[b-0z6jtdmm2d]  select,
fieldset:disabled[b-0z6jtdmm2d]  textarea {
    background-color: #f1f3f5 !important;
    color: #6c757d !important;
    border-color: #dee2e6 !important;
    cursor: not-allowed;
    opacity: 1; /* anula el opacity por defecto del navegador */
}

fieldset:disabled[b-0z6jtdmm2d]  input::placeholder,
fieldset:disabled[b-0z6jtdmm2d]  textarea::placeholder {
    color: #adb5bd;
}

fieldset:disabled[b-0z6jtdmm2d]  .form-select {
    background-color: #f1f3f5 !important;
}

/* Los botones internos de los cards (añadir servicio/horario, etc.) también
   deben verse inactivos cuando el form está en modo lectura. */
fieldset:disabled[b-0z6jtdmm2d]  .btn {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ── Layout 2 columnas: editor + nav lateral sticky ────────────────────── */

.my-centers-layout[b-0z6jtdmm2d] {
    display: grid;
    grid-template-columns: 1fr 240px;
    gap: 1.5rem;
    /* sin align-items: start — las cells deben stretch al alto del row para
       que el sticky del aside tenga rango por el que moverse. */
}

.my-centers-layout__main[b-0z6jtdmm2d] {
    min-width: 0; /* evita que el contenido fuerce overflow horizontal */
}

/* En tablet/móvil el nav lateral se oculta — el usuario hace scroll normal.
   El breakpoint 992px coincide con el lg de Bootstrap (donde habría sitio
   real para una columna fija de 240px sin estrechar el editor). */
@media (max-width: 991.98px) {
    .my-centers-layout[b-0z6jtdmm2d] {
        grid-template-columns: 1fr;
    }

    .my-centers-layout__aside[b-0z6jtdmm2d] {
        display: none;
    }
}

/* Aire visual al saltar a un anchor: como el scroll va por .dash-main y el
   navbar está fuera de ese container, basta con un margen pequeño. */
[id^="section-"][b-0z6jtdmm2d] {
    scroll-margin-top: 1rem;
}
/* /Pages/EmailValidation/VerifyCodePage.razor.rz.scp.css */
.verification-page[b-f8mo13nf7k] {
    --teal-1: #3a8a8c;
    --teal-2: #2f7779;
    --teal-deep: #1c4f51;
    --orange: #f15a2b;
    --orange-hover: #e24a1c;
    --ink: #1a2c2f;
    --ink-soft: #516a6d;
    --muted: #92a8aa;
    --line: #e3ebec;

    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow-x: hidden;
    overflow-y: auto;
    background: url("/img/new-login-register.webp") center top / cover no-repeat;
    background-attachment: fixed;
    color: var(--ink);
    font-family: "Nunito", system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.verification-page[b-f8mo13nf7k],
.verification-page *[b-f8mo13nf7k] {
    box-sizing: border-box;
}

.pattern-bg[b-f8mo13nf7k] {
    display: none;
}

.stage[b-f8mo13nf7k] {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 72px 24px 52px;
}

.verification-shell[b-f8mo13nf7k] {
    width: min(520px, 100%);
}

.verification-card[b-f8mo13nf7k] {
    position: relative;
    width: 100%;
    overflow: visible;
    padding: 76px 44px 34px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset,
        0 30px 80px rgba(15, 55, 57, .30),
        0 8px 24px rgba(15, 55, 57, .18);
}

.verification-card[b-f8mo13nf7k]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 120px;
    border-radius: 24px 24px 0 0;
    background: radial-gradient(ellipse 380px 100px at 50% -10px, rgba(58, 138, 140, .10), transparent 70%);
    pointer-events: none;
}

.ekg[b-f8mo13nf7k] {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    z-index: 0;
    height: 38px;
    opacity: .34;
    pointer-events: none;
}

.ekg svg[b-f8mo13nf7k] {
    width: 100%;
    height: 100%;
    display: block;
}

.content[b-f8mo13nf7k] {
    position: relative;
    z-index: 1;
}

.eyebrow[b-f8mo13nf7k] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto 12px;
    color: var(--teal-2);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.eyebrow[b-f8mo13nf7k]::before,
.eyebrow[b-f8mo13nf7k]::after {
    content: "";
    width: 24px;
    height: 1px;
    background: var(--teal-2);
    opacity: .4;
}

h1[b-f8mo13nf7k] {
    margin: 0 0 14px;
    color: var(--ink);
    font-size: 30px;
    font-weight: 800;
    text-align: center;
}

.lead[b-f8mo13nf7k] {
    margin: 0 0 18px;
    color: var(--ink-soft);
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
}

.lead strong[b-f8mo13nf7k] {
    max-width: 100%;
    display: inline-block;
    overflow: hidden;
    padding: 3px 8px;
    border-radius: 6px;
    background: #eaf4f4;
    color: var(--ink);
    font-family: "JetBrains Mono", monospace;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.otp-wrap[b-f8mo13nf7k] {
    margin: 20px 0 4px;
}

.otp-row[b-f8mo13nf7k] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.otp-input[b-f8mo13nf7k] {
    width: 100%;
    min-width: 0;
    height: 74px;
    border: 1.5px solid var(--line);
    border-radius: 14px;
    outline: 0;
    background: #fafcfc;
    color: var(--ink);
    font-family: "JetBrains Mono", monospace;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .1s ease;
}

.otp-input[b-f8mo13nf7k]::placeholder {
    color: transparent;
}

.otp-input:hover[b-f8mo13nf7k] {
    border-color: #b6cbcc;
    background: #fff;
}

.otp-input:focus[b-f8mo13nf7k] {
    border-color: var(--teal-1);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(58, 138, 140, .18);
}

.otp-input.filled[b-f8mo13nf7k] {
    border-color: var(--teal-2);
    background: #eef7f7;
    color: var(--teal-deep);
}

.otp-input.error[b-f8mo13nf7k] {
    border-color: var(--orange);
    background: #fff4ef;
    color: var(--orange);
    animation: shake-b-f8mo13nf7k .35s ease;
}

@keyframes shake-b-f8mo13nf7k {
    0%, 100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    75% {
        transform: translateX(5px);
    }
}

.otp-hint[b-f8mo13nf7k] {
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 700;
    text-align: center;
}

.otp-msg[b-f8mo13nf7k] {
    min-height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 9px 0 2px;
    font-size: 13.5px;
    font-weight: 700;
    text-align: center;
}

.otp-msg.error[b-f8mo13nf7k] {
    color: var(--orange);
}

.otp-msg.ok[b-f8mo13nf7k] {
    color: #2a8a5f;
}

.otp-msg svg[b-f8mo13nf7k] {
    width: 15px;
    height: 15px;
}

.btn-primary[b-f8mo13nf7k] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
    padding: 16px 18px;
    border: 0;
    border-radius: 14px;
    background: var(--orange);
    color: #fff;
    box-shadow: 0 8px 20px rgba(241, 90, 43, .36);
    font-family: inherit;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .01em;
    cursor: pointer;
    transition: background .15s, transform .12s, box-shadow .15s;
}

.btn-primary:hover:not(:disabled)[b-f8mo13nf7k] {
    transform: translateY(-1px);
    background: var(--orange-hover);
    box-shadow: 0 12px 26px rgba(241, 90, 43, .42);
}

.btn-primary:active:not(:disabled)[b-f8mo13nf7k] {
    transform: translateY(0);
}

.btn-primary:disabled[b-f8mo13nf7k] {
    background: #f3d7cf;
    color: rgba(255, 255, 255, .88);
    box-shadow: none;
    cursor: not-allowed;
}

.btn-primary svg[b-f8mo13nf7k] {
    width: 18px;
    height: 18px;
}

.actions[b-f8mo13nf7k] {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px dashed var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 13.5px;
}

.resend[b-f8mo13nf7k] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ink-soft);
    font-weight: 700;
}

.resend .timer[b-f8mo13nf7k] {
    padding: 2px 8px;
    border-radius: 6px;
    background: #f1f5f5;
    color: var(--ink);
    font-family: "JetBrains Mono", monospace;
    font-size: 13px;
    font-weight: 700;
}

.resend-btn[b-f8mo13nf7k] {
    padding: 0;
    border: 0;
    background: none;
    color: var(--teal-2);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 800;
    text-decoration: underline;
    cursor: pointer;
}

.resend-btn:hover[b-f8mo13nf7k] {
    color: var(--orange);
}

.helper[b-f8mo13nf7k] {
    margin-top: 18px;
    color: var(--ink-soft);
    font-size: 12.5px;
    text-align: center;
}

.helper a[b-f8mo13nf7k] {
    color: var(--teal-2);
    font-weight: 700;
    text-decoration: underline;
}

@media (max-width: 520px) {
    .verification-page[b-f8mo13nf7k] {
        background-attachment: scroll;
    }

    .verification-card[b-f8mo13nf7k] {
        padding: 74px 24px 28px;
        border-radius: 20px;
    }

    h1[b-f8mo13nf7k] {
        font-size: 24px;
    }

    .otp-row[b-f8mo13nf7k] {
        gap: 6px;
    }

    .otp-input[b-f8mo13nf7k] {
        height: 60px;
        border-radius: 11px;
        font-size: 24px;
    }

    .actions[b-f8mo13nf7k] {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
}

@media (max-height: 760px) and (min-width: 521px) {
    .stage[b-f8mo13nf7k] {
        align-items: flex-start;
        padding-top: 96px;
    }

    .verification-card[b-f8mo13nf7k] {
        padding-top: 70px;
        padding-bottom: 28px;
    }

    .otp-wrap[b-f8mo13nf7k] {
        margin-top: 16px;
    }

    .otp-input[b-f8mo13nf7k] {
        height: 62px;
        font-size: 26px;
    }

    .actions[b-f8mo13nf7k] {
        margin-top: 18px;
        padding-top: 18px;
    }
}

@media (max-width: 380px) {
    .stage[b-f8mo13nf7k] {
        padding-right: 16px;
        padding-left: 16px;
    }

    .verification-card[b-f8mo13nf7k] {
        padding-right: 18px;
        padding-left: 18px;
    }

    .otp-row[b-f8mo13nf7k] {
        gap: 5px;
    }

    .otp-input[b-f8mo13nf7k] {
        height: 56px;
        font-size: 22px;
    }

    .otp-hint[b-f8mo13nf7k] {
        font-size: 12px;
    }
}

/* Estado "Entrando a tu cuenta..." tras pulsar el botón de la bienvenida */
.entering-state[b-f8mo13nf7k] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 48px 8px;
    color: var(--ink);
}

.entering-state p[b-f8mo13nf7k] {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--ink-soft);
}

.entering-spinner[b-f8mo13nf7k] {
    width: 40px;
    height: 40px;
    color: var(--teal-2);
    animation: entering-spin-b-f8mo13nf7k 0.8s linear infinite;
}

@keyframes entering-spin-b-f8mo13nf7k {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .entering-spinner[b-f8mo13nf7k] {
        animation-duration: 1.6s;
    }
}
/* /Pages/Home.razor.rz.scp.css */
/* Fondo mentita unificado para todo el Home (el mismo tono del hero).
   El banner de especialista (.banner-pro) trae su propio fondo navy opaco,
   así que queda excluido de forma natural. */
.home[b-r4037hl64l] {
    background: linear-gradient(180deg, #f4fbfb 0%, #e9f5f5 100%);
}

/* Bandas alternas: en lugar de un color sólido con costura dura (línea de corte
   visible), la banda usa un mentita algo más profundo que se DESVANECE en los
   bordes superior e inferior. Así la sección "respira" un tono distinto en el
   centro y se funde con el fondo base arriba y abajo — salto fluido, sin seam.
   Ajusta el alpha central / los stops para más o menos contraste. */
.home-band--alt[b-r4037hl64l] {
    background: linear-gradient(180deg,
        rgba(214, 236, 236, 0) 0%,
        rgba(214, 236, 236, 0.45) 25%,
        rgba(214, 236, 236, 0.45) 75%,
        rgba(214, 236, 236, 0) 100%);
}
/* /Pages/HowItWorksPage.razor.rz.scp.css */
/* ── Fondo de toda la página (a sangre completa) ──
   El degradado cubre todo el ancho para que el fondo sea uniforme,
   en vez de un panel centrado sobre el gris del layout. */
.howitworks-bg[b-hqzyp6hs7q] {
    background: linear-gradient(180deg, #f7fbfb 0%, #eef5f6 100%);
}

.howitworks-page[b-hqzyp6hs7q] {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

/* ── Tabs: segmented control ── */
.custom-tabs-container[b-hqzyp6hs7q] {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 2rem;
    gap: .25rem;
    padding: .35rem;
    background: #ffffff;
    border: 1px solid rgba(15, 47, 69, 0.08);
    border-radius: 999px;
    box-shadow: 0 6px 18px rgba(15, 47, 69, 0.05);
}

.custom-tab-btn[b-hqzyp6hs7q] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #5b6b78;
    background: transparent;
    border: none;
    padding: .6rem 1.6rem;
    border-radius: 999px;
    transition: color .2s ease, background-color .2s ease;
}

    .custom-tab-btn:hover[b-hqzyp6hs7q] {
        color: #14384d;
        background-color: rgba(15, 47, 69, 0.04);
    }

/* Pestaña activa — pacientes (tab 1) */
.custom-tabs-container .nav-link.active[b-hqzyp6hs7q] {
    color: #fff;
    background-color: var(--primary-bg);
}

/* Pestaña activa — especialistas (tab 2) */
.custom-tabs-container .nav-item:nth-child(2) .nav-link.active[b-hqzyp6hs7q] {
    color: #fff;
    background-color: #ff5a2a;
}

/* ── Responsive ── */
@media (max-width: 575.98px) {
    .howitworks-page[b-hqzyp6hs7q] {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .custom-tab-btn[b-hqzyp6hs7q] {
        font-size: .95rem;
        padding: .55rem 1.1rem;
    }
}
/* /Pages/Notifications.razor.rz.scp.css */
.notifications-page[b-qvuqs6cudh] {
    padding: 2rem 2.25rem;
    background: #f6f7f9;
    min-height: 100%;
}

.notifications-page__title[b-qvuqs6cudh] {
    margin: 0 0 1.5rem;
    font-size: clamp(2rem, 2.6vw, 2.8rem);
    font-weight: 600;
    color: #1f2937;
}

.notifications-shell[b-qvuqs6cudh] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: start;
}

    .notifications-shell.has-detail[b-qvuqs6cudh] {
        grid-template-columns: minmax(0, 1fr) 34rem;
    }

.notifications-shell__list[b-qvuqs6cudh],
.notifications-shell__detail[b-qvuqs6cudh] {
    background: #ffffff;
    border: 1px solid #dde3ea;
    border-radius: 1.25rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.notifications-shell__list[b-qvuqs6cudh] {
    padding: 1.1rem;
}

.notifications-shell__detail[b-qvuqs6cudh] {
    padding: 1.5rem;
}

.notifications-list[b-qvuqs6cudh] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.notifications-pagination[b-qvuqs6cudh] {
    margin-top: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.7rem;
}

.notifications-pagination__nav[b-qvuqs6cudh],
.notifications-pagination__page[b-qvuqs6cudh] {
    width: 42px;
    height: 42px;
    border-radius: 0.8rem;
    border: 1px solid #d8e1e7;
    background: #ffffff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

    .notifications-pagination__page.is-active[b-qvuqs6cudh] {
        background: #168892;
        border-color: #168892;
        color: #ffffff;
        font-weight: 700;
    }

.notifications-mobile-overlay[b-qvuqs6cudh] {
    display: none;
}

.notifications-shell__detail--desktop[b-qvuqs6cudh] {
    display: block;
}

@media (max-width: 1199.98px) {
    .notifications-shell.has-detail[b-qvuqs6cudh] {
        grid-template-columns: minmax(0, 1fr) 30rem;
    }
}

@media (max-width: 991.98px) {
    .notifications-page[b-qvuqs6cudh] {
        padding: 1.25rem 1rem 6rem;
    }

    .notifications-shell.has-detail[b-qvuqs6cudh] {
        grid-template-columns: 1fr;
    }

    .notifications-shell__detail--desktop[b-qvuqs6cudh] {
        display: none;
    }

    .notifications-mobile-overlay.is-open[b-qvuqs6cudh] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1100;
    }

    .notifications-mobile-overlay__backdrop[b-qvuqs6cudh] {
        position: absolute;
        inset: 0;
        border: none;
        background: rgba(15, 23, 42, 0.34);
    }

    .notifications-mobile-overlay__sheet[b-qvuqs6cudh] {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        max-height: 88vh;
        overflow: auto;
        background: #ffffff;
        border-radius: 1.25rem 1.25rem 0 0;
        padding: 1rem;
        box-shadow: 0 -12px 30px rgba(15, 23, 42, 0.2);
    }
}
.notifications-empty[b-qvuqs6cudh] {
    padding: 2rem 1rem;
    text-align: center;
    color: #64748b;
}
/* /Pages/Profile/AppointmentReview.razor.rz.scp.css */
.review-page[b-2cxuuhnq81] {
    max-width: 760px;
    margin: 0 auto;
}

.review-back[b-2cxuuhnq81] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1rem;
    border: 0;
    background: transparent;
    color: #0f766e;
    font-weight: 700;
    cursor: pointer;
}

.review-card[b-2cxuuhnq81] {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
    padding: 1.45rem;
}

.review-card--state[b-2cxuuhnq81] {
    display: grid;
    min-height: 260px;
    place-items: center;
    text-align: center;
    color: #475569;
}

.review-card--state i[b-2cxuuhnq81] {
    color: #0f766e;
    font-size: 2.2rem;
}

.review-card--state h1[b-2cxuuhnq81] {
    margin: .75rem 0 .25rem;
    color: #0f172a;
    font-size: 1.55rem;
}

.review-loading-dot[b-2cxuuhnq81] {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #0f766e;
    box-shadow: 0 0 0 0 rgba(15, 118, 110, .35);
    animation: reviewPulse-b-2cxuuhnq81 1.2s infinite;
}

.review-header[b-2cxuuhnq81] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.review-kicker[b-2cxuuhnq81] {
    margin: 0 0 .2rem;
    color: #0f766e;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
}

.review-header h1[b-2cxuuhnq81] {
    margin: 0;
    color: #0f172a;
    font-size: 1.75rem;
}

.review-status[b-2cxuuhnq81] {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .35rem .7rem;
    background: #ecfdf5;
    color: #047857;
    font-size: .78rem;
    font-weight: 800;
}

.review-appointment-summary[b-2cxuuhnq81] {
    display: grid;
    gap: .55rem;
    margin: 1rem 0;
    padding: .9rem;
    border-radius: 14px;
    background: #f8fafc;
    color: #475569;
    font-size: .9rem;
}

.review-appointment-summary div[b-2cxuuhnq81] {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
}

.review-appointment-summary i[b-2cxuuhnq81] {
    color: #0f766e;
}

.review-appointment-summary span[b-2cxuuhnq81] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.review-copy[b-2cxuuhnq81] {
    margin: .8rem 0 1rem;
    color: #475569;
    font-size: .95rem;
}

.review-choice[b-2cxuuhnq81] {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 28px;
    align-items: center;
    gap: .8rem;
    margin-top: .75rem;
    padding: .8rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.review-choice:hover[b-2cxuuhnq81] {
    border-color: rgba(15, 118, 110, .35);
    background: #f8fffd;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
    transform: translateY(-1px);
}

.review-choice input[b-2cxuuhnq81] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.review-choice-icon[b-2cxuuhnq81] {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #f0fdfa;
    color: #0f766e;
    font-size: 1.18rem;
}

.review-choice-text[b-2cxuuhnq81] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .1rem;
}

.review-choice-text strong[b-2cxuuhnq81] {
    color: #0f172a;
    font-size: .95rem;
}

.review-choice-text small[b-2cxuuhnq81] {
    overflow: hidden;
    color: #64748b;
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.review-choice-check[b-2cxuuhnq81] {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #e2e8f0;
    color: transparent;
    transition: background-color .16s ease, color .16s ease;
}

.review-choice.is-selected[b-2cxuuhnq81] {
    border-color: rgba(15, 118, 110, .45);
    background: #f0fdfa;
    box-shadow: 0 10px 24px rgba(15, 118, 110, .1);
}

.review-choice.is-selected .review-choice-check[b-2cxuuhnq81] {
    background: #0f766e;
    color: #ffffff;
}

.review-fields[b-2cxuuhnq81] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
    margin: .7rem 0 1rem;
    padding: .9rem;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .06);
}

.review-fields--single[b-2cxuuhnq81] {
    grid-template-columns: minmax(0, 1fr);
}

.review-rating-field[b-2cxuuhnq81] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    color: #334155;
    font-size: .86rem;
    font-weight: 700;
}

.review-star-slider[b-2cxuuhnq81] {
    position: relative;
    width: 170px;
    height: 34px;
    display: block;
    padding: .12rem 0;
}

.review-star-track[b-2cxuuhnq81] {
    position: relative;
    width: 170px;
    height: 34px;
    display: flex;
    align-items: center;
    gap: .35rem;
    color: #cbd5e1;
    font-size: 1.45rem;
    line-height: 34px;
    transition: transform .16s ease;
}

.review-star-shell[b-2cxuuhnq81] {
    position: relative;
    width: 24px;
    height: 34px;
    display: grid;
    place-items: center;
}

.review-star-empty[b-2cxuuhnq81] {
    color: #cbd5e1;
}

.review-star-fill[b-2cxuuhnq81] {
    position: absolute;
    inset: 0 auto 0 0;
    display: grid;
    place-items: center start;
    overflow: hidden;
    color: #f59e0b;
    pointer-events: none;
}

.review-star-fill i[b-2cxuuhnq81] {
    width: 24px;
    height: 34px;
    display: grid;
    place-items: center;
}

.review-star-zones[b-2cxuuhnq81] {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    z-index: 2;
}

.review-star-zone[b-2cxuuhnq81] {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

.review-star-zone:focus-visible[b-2cxuuhnq81] {
    outline: 2px solid rgba(15, 118, 110, .35);
    outline-offset: -2px;
    border-radius: 4px;
}

.review-star-slider:hover .review-star-track[b-2cxuuhnq81] {
    transform: translateY(-1px);
}

.review-comment[b-2cxuuhnq81] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin-top: .7rem;
    color: #334155;
    font-size: .86rem;
    font-weight: 600;
}

.review-comment textarea[b-2cxuuhnq81] {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: .65rem .75rem;
    color: #0f172a;
    font: inherit;
}

.review-message[b-2cxuuhnq81] {
    margin-top: .8rem;
    padding: .7rem .85rem;
    border-radius: 10px;
    font-size: .86rem;
}

.review-message--info[b-2cxuuhnq81] {
    background: #f8fafc;
    color: #475569;
}

.review-message--error[b-2cxuuhnq81] {
    background: #fff1f2;
    color: #be123c;
}

.review-message--success[b-2cxuuhnq81] {
    background: #dcfce7;
    color: #166534;
}

.review-actions[b-2cxuuhnq81] {
    display: flex;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: 1rem;
}

.review-btn[b-2cxuuhnq81] {
    border: 1.5px solid transparent;
    border-radius: 10px;
    padding: .6rem 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.review-btn:disabled[b-2cxuuhnq81] {
    opacity: .55;
    cursor: not-allowed;
}

.review-btn--ghost[b-2cxuuhnq81] {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
}

.review-btn--ghost:not(:disabled):hover[b-2cxuuhnq81] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.review-btn--primary[b-2cxuuhnq81] {
    background: #0f766e;
    border-color: #0f766e;
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .18);
}

.review-btn--primary:not(:disabled):hover[b-2cxuuhnq81] {
    background: #139184;
    border-color: #139184;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .24);
    transform: translateY(-1px);
}

.review-btn--primary:not(:disabled):active[b-2cxuuhnq81] {
    transform: translateY(0);
    box-shadow: 0 6px 14px rgba(15, 118, 110, .2);
}

@keyframes reviewPulse-b-2cxuuhnq81 {
    70% {
        box-shadow: 0 0 0 12px rgba(15, 118, 110, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(15, 118, 110, 0);
    }
}

@media (max-width: 575px) {
    .review-card[b-2cxuuhnq81] {
        padding: 1rem;
    }

    .review-header[b-2cxuuhnq81] {
        flex-direction: column;
    }

    .review-fields[b-2cxuuhnq81] {
        grid-template-columns: 1fr;
    }

    .review-actions[b-2cxuuhnq81] {
        flex-direction: column-reverse;
    }
}
/* /Pages/Profile/Appointments.razor.rz.scp.css */
.citas-layout[b-a7kgynec60] {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 1.5rem;
    align-items: start;
}

.citas-panel[b-a7kgynec60] {
    position: sticky;
    top: 1.5rem;
}

.citas-feedback[b-a7kgynec60] {
    margin-top: 1rem;
    padding: .85rem 1rem;
    border-radius: 12px;
    background: #f8fafc;
    color: #475569;
    font-size: .9rem;
}

.citas-feedback--error[b-a7kgynec60] {
    background: #fff1f2;
    color: #be123c;
}

@media (max-width: 991px) {
    .citas-layout[b-a7kgynec60] {
        grid-template-columns: 1fr;
    }

    .citas-panel[b-a7kgynec60] {
        position: static;
    }
}
/* /Pages/Profile/Favorites.razor.rz.scp.css */
.favorites-page[b-0zz5drw9g8] {
    padding: 2rem;
    max-width: 1100px;
}

/* ── Cabecera ── */
.favorites-header[b-0zz5drw9g8] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

    .favorites-header h1[b-0zz5drw9g8] {
        font-size: 2.5rem;
        font-weight: 600;
        color: #1a1a1a;
        margin: 0;
    }

.header-icon[b-0zz5drw9g8] {
    font-size: 1.6rem;
    color: #f59e0b;
}

/* ── Grid de tarjetas ── */
.favorites-grid[b-0zz5drw9g8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.25rem;
}

/* ── Skeletons ── */
.specialist-card.skeleton[b-0zz5drw9g8] {
    pointer-events: none;
    gap: 0.75rem;
}

.skeleton-avatar[b-0zz5drw9g8] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer-b-0zz5drw9g8 1.5s ease-in-out infinite;
}

.skeleton-line[b-0zz5drw9g8] {
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer-b-0zz5drw9g8 1.5s ease-in-out infinite;
}

    .skeleton-line.wide[b-0zz5drw9g8] {
        width: 70%;
    }

    .skeleton-line.narrow[b-0zz5drw9g8] {
        width: 45%;
    }

@keyframes shimmer-b-0zz5drw9g8 {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* ── Empty state ── */
.empty-state[b-0zz5drw9g8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 4rem 2rem;
    color: #9ca3af;
    gap: 0.75rem;
}

.empty-icon[b-0zz5drw9g8] {
    font-size: 3rem;
    color: #d1d5db;
}

.empty-state p[b-0zz5drw9g8] {
    font-size: 1rem;
    color: #6b7280;
    max-width: 30ch;
}
/* /Pages/Profile/Settings.razor.rz.scp.css */
.settings-shell[b-o9qr0bp9yy] {
    display: flex;
    gap: 0;
    min-height: 100%;
    margin: -32px;
}

/* Sidebar */
.settings-sidebar[b-o9qr0bp9yy] {
    width: 200px;
    flex-shrink: 0;
    background: #fafbfc;
    border-right: 1px solid #c5e0e2;
    padding: 24px 0;
    animation: slideInSidebar-b-o9qr0bp9yy 0.22s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.settings-sidebar-title[b-o9qr0bp9yy] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #999;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 0 18px 12px;
    margin: 0;
}

/* Nav items */
.settings-nav-item[b-o9qr0bp9yy] {
    background: none;
    border: none;
    border-left: 3px solid transparent;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 18px;
    color: #555;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all .15s;
}

    .settings-nav-item:hover[b-o9qr0bp9yy] {
        background: #e8f5f6;
        color: var(--primary-bg);
    }

    .settings-nav-item.active[b-o9qr0bp9yy] {
        background: #e8f5f6;
        color: var(--primary-bg);
        font-weight: 600;
        border-left-color: var(--primary-bg);
    }

/* Contenido */
.settings-content[b-o9qr0bp9yy] {
    flex: 1;
    padding: 32px;
    overflow-y: auto;
}

/* Botón volver — solo móvil */
.btn-back-mobile[b-o9qr0bp9yy] {
    display: none;
}

/* Animaciones tabs */
.tab-panel[b-o9qr0bp9yy] {
    animation: none;
}

.tab-enter[b-o9qr0bp9yy] {
    animation: tabEnter-b-o9qr0bp9yy 0.18s ease both;
}

.tab-exit[b-o9qr0bp9yy] {
    animation: tabExit-b-o9qr0bp9yy 0.12s ease both;
}

@keyframes slideInSidebar-b-o9qr0bp9yy {
    from {
        opacity: 0;
        transform: translateX(-16px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes tabEnter-b-o9qr0bp9yy {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tabExit-b-o9qr0bp9yy {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-6px);
    }
}

/* MÓVIL — Opción A */
@media (max-width: 768px) {
    .settings-shell[b-o9qr0bp9yy] {
        display: block;
        margin: -16px;
    }

    .settings-sidebar[b-o9qr0bp9yy] {
        width: 100%;
        border-right: none;
        border-bottom: none;
        padding: 16px 0;
        animation: none;
    }

    .settings-sidebar-title[b-o9qr0bp9yy] {
        padding: 0 16px 12px;
    }

    .settings-nav-item[b-o9qr0bp9yy] {
        padding: 14px 16px;
        font-size: 0.95rem;
        border-left: none;
        border-bottom: 1px solid #f0f2f4;
        justify-content: space-between;
    }

        .settings-nav-item[b-o9qr0bp9yy]::after {
            content: "›";
            font-size: 1.3rem;
            color: #ccc;
            margin-left: auto;
        }

        .settings-nav-item:hover[b-o9qr0bp9yy],
        .settings-nav-item.active[b-o9qr0bp9yy] {
            background: #e8f5f6;
            border-left: none;
        }

    .sidebar-hidden-mobile[b-o9qr0bp9yy] {
        display: none;
    }

    .content-hidden-mobile[b-o9qr0bp9yy] {
        display: none;
    }

    .settings-content[b-o9qr0bp9yy] {
        padding: 16px;
    }

    .btn-back-mobile[b-o9qr0bp9yy] {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--primary-bg);
        background: none;
        border: none;
        cursor: pointer;
        padding: 0 0 16px 0;
        width: fit-content;
    }

        .btn-back-mobile:hover[b-o9qr0bp9yy] {
            opacity: 0.75;
        }
}
/* /Pages/Specialists/MySpecialist.razor.rz.scp.css */
.my-specialist-page[b-24yplazmza] {
    min-height: calc(100vh - 70px);
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    background: #f3f7f9;
    border-top: 0;
    /*
        Acerca el submenú My Specialist al dashboard lateral en escritorio.
    */
    margin-left: -1.75rem;
    width: calc(100% + 1.75rem);
    /*
        Lo sube para que el bloque lateral empiece justo bajo el header.
    */
    margin-top: -1.75rem;
}

.my-specialist-page__sidebar[b-24yplazmza] {
    background: #f8fbfc;
    border-right: 1px solid #c9e4e7;
    min-height: calc(100vh - 70px);
}

.my-specialist-page__content[b-24yplazmza] {
    padding: 1.75rem;
    overflow-x: hidden;
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 768px) {
    .my-specialist-page[b-24yplazmza] {
        min-height: calc(100vh - 140px);
        display: block;
        background: #f4f8fa;
        border-top: 0;
        /*
            En móvil hacemos que el bloque ocupe todo el ancho disponible,
            sin márgenes internos.
        */
        margin-left: 0;
        margin-top: 0;
        width: 100%;
    }

    .my-specialist-page__sidebar[b-24yplazmza] {
        width: 100%;
        min-height: auto;
        background: #f4f8fa;
        border-right: 0;
        border-bottom: 0;
        /*
            Esto elimina el margen visual que hacía que las filas no
            ocuparan todo el ancho.
        */
        padding: 0;
        margin: 0;
    }

    .my-specialist-page__content[b-24yplazmza] {
        padding: 1rem;
        overflow-x: hidden;
        background: #f4f8fa;
    }

    /*
        Ruta principal móvil:
        /es/especialistas/perfil

        Aquí solo se muestra el menú:
        MY SPECIALIST
        Descripción
        Formación
    */
    .my-specialist-page--menu .my-specialist-page__content[b-24yplazmza] {
        display: none;
    }

    /*
        Rutas de detalle móvil:
        /es/especialistas/perfil/descripcion
        /es/especialistas/perfil/formacion

        Aquí ocultamos el submenú y mostramos el componente.
    */
    .my-specialist-page--detail .my-specialist-page__sidebar[b-24yplazmza] {
        display: none;
    }

    .my-specialist-page--detail .my-specialist-page__content[b-24yplazmza] {
        display: block;
    }
}
.my-specialist-page__mobile-backbar[b-24yplazmza] {
    display: none;
}

.my-specialist-page__editor[b-24yplazmza] {
    width: 100%;
}

@media (max-width: 768px) {
    .my-specialist-page__mobile-backbar[b-24yplazmza] {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        min-height: auto;
        padding: 1rem 0.5rem 0.35rem;
        
        background: #f4f8fa;
        border-bottom: 0;
    }

        .my-specialist-page__mobile-backbar a[b-24yplazmza] {
            position: static;
            display: inline-flex;
            align-items: center;
            gap: 0.25rem;
            color: #2f8f96;
            font-size: 0.95rem;
            font-weight: 400;
            text-decoration: none;
            line-height:1;
            margin-left: -1.5rem;
            margin-top: -3rem;
        }

            .my-specialist-page__mobile-backbar a:hover[b-24yplazmza] {
                color: #0f747b;
            }

        .my-specialist-page__mobile-backbar i[b-24yplazmza] {
            font-size: 0.85rem;
            color: #2f8f96;
            line-height: 1;
        }

        /* Ocultamos el título centrado porque ya aparece debajo como título principal */
        .my-specialist-page__mobile-backbar span[b-24yplazmza] {
            display: none;
        }
}
/* /Pages/Specialists/SpecialistDetails.razor.rz.scp.css */
/* ── textColor ── */
.colorPrimary[b-64u5hysyy0]{
    color: var(--primary-bg);
}

/* ── HEADER ── */
.profile-photo[b-64u5hysyy0] {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border: 3px solid var(--primary-bg);
    flex-shrink: 0;
}

/* ── BADGES ── */
.badge-specialty[b-64u5hysyy0] {
    background-color: var(--primary-bg);
    color: #fff !important;
    font-size: 0.78rem;
}

.badge-field[b-64u5hysyy0] {
    background-color: #e8f5f6;
    color: #2d7a80 !important;
    border: 1px solid #c5e0e2;
    font-size: 0.75rem;
}

/* ── NOTEBOOK WRAPPER ── */
.notebook-wrapper[b-64u5hysyy0] {
    display: flex;
    align-items: stretch;
    gap: 0;
    scroll-margin-top: 16px;
}

/* ── PESTAÑAS LATERALES ── */
.notebook-tabs[b-64u5hysyy0] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-top: 10px;
    min-width: 175px;
    flex-shrink: 0;
}

.notebook-tab[b-64u5hysyy0] {
    position: relative;
    background: #e8f5f6;
    border: 1px solid #c5e0e2;
    border-right: none;
    border-radius: 8px 0 0 8px;
    padding: 11px 16px;
    text-align: left;
    font-size: 0.85rem;
    color: #555;
    cursor: pointer;
    transition: background 0.18s, color 0.18s;
    overflow: hidden;
}

    .notebook-tab[b-64u5hysyy0]::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: transparent;
        border-radius: 8px 0 0 8px;
        transition: background 0.18s;
    }

    .notebook-tab:hover[b-64u5hysyy0] {
        background: #d0ecee;
        color: var(--primary-bg);
    }

        .notebook-tab:hover[b-64u5hysyy0]::before,
        .notebook-tab.active[b-64u5hysyy0]::before {
            background: var(--primary-bg);
        }

    .notebook-tab.active[b-64u5hysyy0] {
        background: #fff;
        color: var(--primary-bg);
        font-weight: 600;
        border-right: none;
        z-index: 1;
    }

/* ── PANEL DE CONTENIDO ── */
.notebook-content[b-64u5hysyy0] {
    flex: 1;
    background: #fff;
    border: 1px solid #c5e0e2;
    border-radius: 0 10px 10px 10px;
    padding: 28px;
    min-height: 420px;
}

    .notebook-content .tab-pane[b-64u5hysyy0] {
        max-height: 520px;
        overflow-y: auto;
        overflow-x: hidden;
        padding-right: 6px;
        scrollbar-width: thin;
        scrollbar-color: #c5e0e2 transparent;
    }

        .notebook-content .tab-pane[b-64u5hysyy0]::-webkit-scrollbar {
            width: 5px;
        }

        .notebook-content .tab-pane[b-64u5hysyy0]::-webkit-scrollbar-track {
            background: transparent;
        }

        .notebook-content .tab-pane[b-64u5hysyy0]::-webkit-scrollbar-thumb {
            background-color: #c5e0e2;
            border-radius: 4px;
        }

            .notebook-content .tab-pane[b-64u5hysyy0]::-webkit-scrollbar-thumb:hover {
                background-color: #2d7a80;
            }

#tab-servicios[b-64u5hysyy0] {
    scroll-margin-top: 16px;
}

/* ── SERVICIOS ── */
.service-item[b-64u5hysyy0] {
    background: #fafafa;
    transition: box-shadow 0.15s;
}

    .service-item:hover[b-64u5hysyy0] {
        box-shadow: 0 2px 8px rgba(63, 158, 164, 0.15);
    }

/* ── BREADCRUMB ── */
.breadcrumb-page[b-64u5hysyy0] {
    background-color: #e8f5f6;
    border: 1px solid #c5e0e2;
    border-radius: 8px;
    padding: 8px 14px;
    margin-bottom: 0;
}

    .breadcrumb-page .breadcrumb-item + .breadcrumb-item[b-64u5hysyy0]::before {
        color: #2d7a80;
        font-weight: 600;
    }

    .breadcrumb-page .breadcrumb-item a[b-64u5hysyy0] {
        color: var(--primary-bg);
        text-decoration: none;
        transition: color 0.15s;
    }

        .breadcrumb-page .breadcrumb-item a:hover[b-64u5hysyy0] {
            color: #2d7a80;
            text-decoration: underline;
        }

    .breadcrumb-page .breadcrumb-item.active[b-64u5hysyy0] {
        color: #555;
        font-weight: 500;
    }

/* ── BIOGRAFÍA ── */
.biography-wrapper[b-64u5hysyy0] {
    display: block;
}

/* Checkbox completamente invisible pero funcional */
.bio-chk[b-64u5hysyy0] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* BIO: closed */
.bio-text[b-64u5hysyy0] {
    max-height: 5.6em; 
    overflow: hidden;
    transition: max-height 0.4s ease, mask-image 0.2s ease;
    -webkit-mask-image: linear-gradient(to bottom, black 55%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 55%, transparent 100%);
}

/* BIO: opened */
.bio-chk:checked ~ .bio-text[b-64u5hysyy0] {
    max-height: 2000px;
    -webkit-mask-image: none;
    mask-image: none;
}

/* Botón / label toggle */
.bio-toggle[b-64u5hysyy0] {
    color: var(--primary-bg);
    font-size: 0.82rem;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    cursor: pointer;
    transition: color 0.15s;
    margin-top: 4px;
}

    .bio-toggle:hover[b-64u5hysyy0] {
        color: #2d7a80;
    }

/*  Ver más / Ver menos */
.bio-chk:not(:checked) ~ .bio-toggle .lbl-less[b-64u5hysyy0] {
    display: none;
}

.bio-chk:checked ~ .bio-toggle .lbl-more[b-64u5hysyy0] {
    display: none;
}


/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    .notebook-wrapper[b-64u5hysyy0] {
        flex-direction: column;
    }

    .notebook-tabs[b-64u5hysyy0] {
        flex-direction: row;
        overflow-x: auto;
        gap: 4px;
        padding: 0;
        min-width: unset;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        flex-wrap: nowrap;
    }

        .notebook-tabs[b-64u5hysyy0]::-webkit-scrollbar {
            display: none;
        }

    .notebook-tab[b-64u5hysyy0] {
        border-radius: 8px 8px 0 0;
        border-right: 1px solid #c5e0e2;
        border-bottom: none;
        white-space: nowrap;
        font-size: 0.78rem;
        padding: 8px 14px;
        flex-shrink: 0;
    }

        .notebook-tab[b-64u5hysyy0]::before {
            top: 0;
            left: 0;
            right: 0;
            bottom: auto;
            width: auto;
            height: 4px;
            border-radius: 8px 8px 0 0;
        }

    .notebook-content[b-64u5hysyy0] {
        border-radius: 0 0 10px 10px;
        padding: 20px 16px;
    }

        .notebook-content .tab-pane[b-64u5hysyy0] {
            max-height: 400px;
        }

    #tab-centros[b-64u5hysyy0] {
        max-height: 550px;
    }

    .breadcrumb-page[b-64u5hysyy0] {
        background-color: transparent;
        border: none;
        padding: 4px 0;
    }
}
/* /Pages/Specialists/SpecialistSearch.razor.rz.scp.css */
.specialist-search-page[b-mzm421nr0h] {
    position: relative;
    isolation: isolate;
    min-height: 100%;
    margin-bottom: -2rem;
    padding-bottom: 2rem;
    background-color: #f3fbfc;
    background-image: url("/img/16.webp");
    background-position: center top;
    background-size: 100% auto;
    background-repeat: repeat-y;
}

.specialist-search-page[b-mzm421nr0h]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.42;
}

.search-hero[b-mzm421nr0h] {
    position: relative;
    z-index: 3;
    overflow: visible;
    min-height: 424px;
    padding: 3.6rem 1.5rem 2.75rem;
    background: url("/img/15.webp") center top / 100% auto no-repeat, rgba(0, 0, 0, 0) 40%;
}


.search-hero[b-mzm421nr0h]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

    .search-hero[b-mzm421nr0h]::after {
        content: "";
        position: absolute;
        inset: auto 0 -1px;
        z-index: 1;
        height: 9rem;
        background-size: 100% auto;
        background-repeat: repeat-y;
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.58) 38%, #000 100%);
        mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.58) 38%, #000 100%);
        pointer-events: none;
    }

.search-hero__inner[b-mzm421nr0h] {
    position: relative;
    z-index: 2;
    max-width: 1250px;
    margin: 0 auto;
    text-align: center;
}

.search-hero__title[b-mzm421nr0h] {
    margin: 0;
    color: #101829;
    font-size: clamp(2.1rem, 4vw, 3.35rem);
    font-weight: 650;
    line-height: 1.08;
}

.search-hero__subtitle[b-mzm421nr0h] {
    margin: 0.75rem auto 1.8rem;
    color: #69758a;
    font-size: clamp(1.02rem, 1.8vw, 1.25rem);
    line-height: 1.45;
}

.search-content[b-mzm421nr0h] {
    position: relative;
    z-index: 1;
    max-width: 1250px;
    margin: 0 auto;
    padding: 0.15rem 1.5rem 1.6rem;

}

.search-layout[b-mzm421nr0h] {
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 1.55rem;
    align-items: start;

}

.filters-card[b-mzm421nr0h] {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 66, 82, 0.1);
}

.search-filters__header[b-mzm421nr0h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.05rem 1.2rem 0.75rem;
    background: #fff;
    color: #101829;
    font-weight: 800;
    border-bottom: none;
}

.filter-body[b-mzm421nr0h] {
    padding: 0 1.1rem 1.15rem;
    max-height: 650px;
    overflow: hidden;
    transition: max-height 0.25s ease, opacity 0.25s ease, padding 0.25s ease;
}

.search-layout__results[b-mzm421nr0h] {
    min-width: 0;
}

.results-counter[b-mzm421nr0h] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem;
    color: #26364a;
    margin-bottom: 0.7rem;
    font-size: 0.93rem;
    font-weight: 400;
}

.results-counter strong[b-mzm421nr0h] {
    color: #101829;
    font-weight: 400;
}

.results-counter__highlight[b-mzm421nr0h] {
    color: #128f9a;
    font-weight: 400;
}

.loading-state[b-mzm421nr0h] {
    min-height: 345px;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 66, 82, 0.09);
}

.empty-state[b-mzm421nr0h] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 345px;
    padding: 3rem 1.5rem;
    text-align: center;
    color: #6b7280;
    background: #fff;
    border: 1px solid rgba(15, 118, 128, 0.08);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 66, 82, 0.09);
}

.empty-state__visual[b-mzm421nr0h] {
    position: relative;
    display: grid;
    place-items: center;
    width: 12rem;
    height: 8rem;
    margin-bottom: 1.15rem;
    color: #3F9EA4;
}

.empty-state__visual[b-mzm421nr0h]::before {
    content: "";
    position: absolute;
    inset: 1rem 1.6rem 0.5rem;
    border-radius: 999px;
    background: #e7f5f7;
}

.empty-state__visual .bi-search[b-mzm421nr0h] {
    position: relative;
    z-index: 1;
    font-size: 5.2rem;
    opacity: 0.68;
    transform: rotate(-12deg);
}

.empty-state__visual .bi-plus-square-fill[b-mzm421nr0h] {
    position: absolute;
    z-index: 2;
    left: 2.7rem;
    bottom: 1.15rem;
    font-size: 2.3rem;
    color: #55b6bd;
}

.empty-state h2[b-mzm421nr0h] {
    margin: 0;
    color: #101829;
    font-size: 1.35rem;
    font-weight: 600;
}

.empty-state p[b-mzm421nr0h] {
    margin: 0.65rem 0 0;
    color: #69758a;
    font-size: 1rem;
}

.filter-toggle-input[b-mzm421nr0h] {
    display: none;
}

.filter-toggle-btn[b-mzm421nr0h] {
    cursor: pointer;
    color: #3F9EA4;
    opacity: 0.9;
    transition: opacity 0.2s ease, transform 0.2s ease;
    line-height: 1;
}

.filter-toggle-btn:hover[b-mzm421nr0h] {
    opacity: 1;
    transform: scale(1.15);
}

.icon-plus[b-mzm421nr0h] {
    display: none;
}

.icon-minus[b-mzm421nr0h] {
    display: inline;
}

.filter-toggle-input:checked ~ .filter-body[b-mzm421nr0h] {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.filter-toggle-input:checked ~ .search-filters__header .icon-minus[b-mzm421nr0h] {
    display: none;
}

.filter-toggle-input:checked ~ .search-filters__header .icon-plus[b-mzm421nr0h] {
    display: inline;
}

[b-mzm421nr0h](.filters-clear) {
    color: #ff5a2a;
    font-weight: 700;
    text-decoration: none;
}

[b-mzm421nr0h](hr) {
    border-color: #e5edf3;
    opacity: 1;
}

[b-mzm421nr0h](.filter-group__title) {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #26364a;
    font-size: 0.93rem;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
}

[b-mzm421nr0h](.filter-group__title i) {
    display: inline-grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    background: #e9f7f8;
    color: #128f9a;
}

[b-mzm421nr0h](.filter-check) {
    display: flex;
    align-items: center;
    min-height: 2.2rem;
}

[b-mzm421nr0h](.filter-check .form-check-input) {
    width: 1.05rem;
    height: 1.05rem;
    border-color: #8cc8ce;
    border-radius: 0.25rem;
}

[b-mzm421nr0h](.filter-check .form-check-input:checked) {
    background-color: #128f9a;
    border-color: #128f9a;
}

[b-mzm421nr0h](.filter-check .form-check-label) {
    color: #526174;
    font-size: 0.92rem;
}

[b-mzm421nr0h](.filter-check:hover .form-check-label) {
    color: #087783;
}

.no-results-label[b-mzm421nr0h]{
    font-weight: 100;
}

@media (max-width: 991.98px) {
    .search-hero[b-mzm421nr0h] {
        padding-top: 2.8rem;
    }

    .search-layout[b-mzm421nr0h] {
        grid-template-columns: 1fr;
    }

    .search-layout__filters[b-mzm421nr0h] {
        order: 1;
    }

    .search-layout__results[b-mzm421nr0h] {
        order: 2;
    }
}

@media (max-width: 767.98px) {
    .search-hero[b-mzm421nr0h] {
        padding: 2.35rem 1rem 1rem;
        background: #f3fbfc;
    }

    .search-hero[b-mzm421nr0h]::after {
        display: none;
    }

    .search-content[b-mzm421nr0h] {
        padding-inline: 1rem;
    }

}
/* /Pages/Specialties.razor.rz.scp.css */
.specialties-page[b-hhvt7sccvk] {
    background:
        radial-gradient(circle at top left, rgba(13, 148, 136, 0.05), transparent 24rem),
        linear-gradient(180deg, #f6f9fa 0%, #eef5f6 100%);
    min-height: 100vh;
}

.specialties-page__container[b-hhvt7sccvk] {
    max-width: 1180px;
}

.specialties-page__intro[b-hhvt7sccvk] {
    padding-top: 0.25rem;
}

.specialties-page__title[b-hhvt7sccvk] {
    margin-bottom: 0.6rem;
    color: #0f172a;
    font-size: clamp(2rem, 4vw, 3.1rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.01em;
}

.specialties-page__subtitle[b-hhvt7sccvk] {
    color: #6b7a85;
    font-size: 1.05rem;
}

.specialties-empty[b-hhvt7sccvk] {
    padding: 2.25rem;
    border: 1px solid #d9e5e8;
    border-radius: 1.5rem;
    background: #fff;
    color: #5f6f7a;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

.specialties-support[b-hhvt7sccvk] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.4rem 1.5rem;
    border: 1px solid #c8dfe3;
    border-radius: 1rem;
    background: #eaf6f7;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.specialties-support__icon[b-hhvt7sccvk] {
    width: 3.5rem;
    height: 3.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: #0d9488;
    color: #fff;
    font-size: 1.4rem;
}

.specialties-support h2[b-hhvt7sccvk] {
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 700;
}

.specialties-support p[b-hhvt7sccvk] {
    color: #5f6f7a;
}

.specialties-support__button[b-hhvt7sccvk] {
    padding: 0.8rem 1.4rem;
    border-radius: 999px;
    background: #0d9488;
    border: 1px solid #0d9488;
    color: #fff;
    font-weight: 700;
}

.specialties-support__button:hover[b-hhvt7sccvk] {
    background: #0b7d73;
    border-color: #0b7d73;
    color: #fff;
}

@media (max-width: 767.98px) {
    .specialties-page[b-hhvt7sccvk] {
        padding-top: 0.5rem;
    }

    .specialties-support[b-hhvt7sccvk] {
        align-items: flex-start;
        flex-direction: column;
    }

    .specialties-support__button[b-hhvt7sccvk] {
        width: 100%;
        text-align: center;
    }
}
/* /Pages/SpecialtyDetails.razor.rz.scp.css */
.specialty-detail-page[b-chrogve167] {
    background:
        radial-gradient(circle at 100% 0, rgba(13, 148, 136, 0.055), transparent 26rem),
        linear-gradient(180deg, #f6f9fa 0%, #eef5f6 100%);
    min-height: 100vh;
}

.specialty-detail-page__container[b-chrogve167] {
    max-width: 1180px;
}

.specialty-detail-loading[b-chrogve167] {
    padding: 2rem;
    color: #667784;
}

.specialty-detail-header[b-chrogve167],
.specialty-detail-card[b-chrogve167] {
    padding: 1.75rem 1.8rem;
    border: 1px solid #dfe9ec;
    border-radius: 1.1rem;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.075);
}

.specialty-detail-header[b-chrogve167] {
    margin-bottom: 1.25rem;
}

.specialty-detail-header__topbar[b-chrogve167] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.45rem;
}

.specialty-detail-breadcrumb[b-chrogve167] {
    min-width: 0;
}

.specialty-detail-breadcrumb .breadcrumb[b-chrogve167] {
    flex-wrap: wrap;
}

.specialty-detail-breadcrumb .breadcrumb-item[b-chrogve167],
.specialty-detail-breadcrumb .breadcrumb-item.active[b-chrogve167] {
    color: #728490;
    font-size: 0.82rem;
    font-weight: 500;
}

.specialty-detail-breadcrumb .breadcrumb-item + .breadcrumb-item[b-chrogve167]::before {
    color: #9cb0b8;
    content: ">";
    padding-right: 0.6rem;
}

.specialty-detail-breadcrumb a[b-chrogve167] {
    color: #0d9488;
    text-decoration: none;
}

.specialty-detail-header__hero[b-chrogve167] {
    display: flex;
    align-items: center;
    gap: 1.35rem;
}

.specialty-detail-header__icon[b-chrogve167] {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f4f7f8;
}

.specialty-detail-header__title[b-chrogve167] {
    margin-bottom: 0.45rem;
    color: #0f172a;
    font-size: clamp(1.9rem, 3vw, 2.3rem);
    font-weight: 700;
    letter-spacing: -0.03em;
}

.specialty-detail-header__description[b-chrogve167] {
    max-width: 34rem;
    color: #6d7d87;
    font-size: 0.95rem;
    line-height: 1.65;
}

.specialty-detail-back-link[b-chrogve167] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
    padding: 0.55rem 0.95rem;
    border: 1px solid #cfe5e7;
    border-radius: 999px;
    background: #fff;
    color: #0d9488;
    font-size: 0.78rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.specialty-detail-back-link:hover[b-chrogve167] {
    background: #f2fbfb;
    color: #0d9488;
}

.specialty-detail-content[b-chrogve167] {
    padding-top: 1.6rem;
}


.specialty-detail-layout[b-chrogve167] {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.85fr);
    gap: 1.75rem;
}

.specialty-detail-panel h2[b-chrogve167],
.specialty-detail-panel h3[b-chrogve167] {
    color: #0f172a;
    font-weight: 600;
}

.specialty-detail-panel h2[b-chrogve167] {
    margin-bottom: 1rem;
    font-size: 1.12rem;
}

.specialty-detail-panel h3[b-chrogve167] {
    margin-top: 1.4rem;
    margin-bottom: 0.9rem;
    font-size: 1rem;
}

.specialty-detail-panel p[b-chrogve167] {
    color: #5f6f7a;
    line-height: 1.8;
}

.specialty-detail-checklist[b-chrogve167],
.specialty-detail-list[b-chrogve167] {
    display: grid;
    gap: 0.8rem;
    padding-left: 0;
    list-style: none;
}

.specialty-detail-checklist li[b-chrogve167],
.specialty-detail-list li[b-chrogve167] {
    position: relative;
    padding-left: 1.65rem;
    color: #4f6270;
    line-height: 1.6;
}

.specialty-detail-checklist li[b-chrogve167]::before,
.specialty-detail-list li[b-chrogve167]::before {
    content: "\F26E";
    position: absolute;
    left: 0;
    top: 0.05rem;
    font-family: bootstrap-icons;
    color: #0d9488;
    font-size: 0.9rem;
}

.specialty-detail-cta[b-chrogve167] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1.2rem;
    padding: 0.9rem 1.35rem;
    border-radius: 0.8rem;
    background: #0d9488;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    box-shadow: 0 16px 30px rgba(13, 148, 136, 0.22);
}

.specialty-detail-cta:hover[b-chrogve167],
.specialty-detail-cta--inline:hover[b-chrogve167] {
    color: #fff;
    background: #0b7d73;
}

.specialty-detail-illustration[b-chrogve167] {
    position: relative;
    min-height: 19rem;
    border-radius: 1.4rem;
    background:
        radial-gradient(circle at 30% 30%, #ffffff 0, #f6fbfb 38%, #eaf3f5 100%);
    border: 1px solid #dfe9ec;
    overflow: hidden;
}

.specialty-detail-illustration__badge[b-chrogve167] {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 10rem;
    height: 10rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
}

.specialty-detail-illustration__orb[b-chrogve167] {
    position: absolute;
    border-radius: 999px;
    filter: blur(2px);
}

.specialty-detail-illustration__orb--one[b-chrogve167] {
    right: 1.75rem;
    bottom: 1.5rem;
    width: 4.75rem;
    height: 4.75rem;
    background: rgba(13, 148, 136, 0.12);
}

.specialty-detail-illustration__orb--two[b-chrogve167] {
    top: 1.75rem;
    left: 1.5rem;
    width: 3.25rem;
    height: 3.25rem;
    background: rgba(232, 244, 245, 0.9);
}

.specialty-detail-cta--inline[b-chrogve167] {
    margin-top: 0.4rem;
}

@media (max-width: 991.98px) {
    .specialty-detail-layout[b-chrogve167] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .specialty-detail-header[b-chrogve167],
    .specialty-detail-card[b-chrogve167] {
        padding: 1.15rem;
        border-radius: 1rem;
    }

    .specialty-detail-header__topbar[b-chrogve167] {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 1.1rem;
    }

    .specialty-detail-header__hero[b-chrogve167] {
        align-items: flex-start;
    }

    .specialty-detail-header__icon[b-chrogve167] {
        width: 4.25rem;
        height: 4.25rem;
    }

    .specialty-detail-back-link[b-chrogve167] {
        white-space: normal;
    }

    .specialty-detail-content[b-chrogve167] {
        padding-top: 1.15rem;
    }
}
/* /Pages/SpecialtyGroupDetails.razor.rz.scp.css */
.specialties-shell[b-mej3f4hzsk] {
    background:
        radial-gradient(circle at top right, rgba(13, 148, 136, 0.055), transparent 24rem),
        linear-gradient(180deg, #f6f9fa 0%, #eef5f6 100%);
    min-height: 100vh;
}

.specialties-shell__container[b-mej3f4hzsk] {
    max-width: 1180px;
}

.specialties-loading[b-mej3f4hzsk] {
    padding: 2rem;
    color: #65737f;
}

.specialties-header[b-mej3f4hzsk],
.specialties-grid[b-mej3f4hzsk] {
    padding: 1.75rem 1.8rem;
    border: 1px solid #dfe9ec;
    border-radius: 1.1rem;
    background: #fff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.075);
}

.specialties-header[b-mej3f4hzsk] {
    margin-bottom: 1.25rem;
}

.specialties-header__topbar[b-mej3f4hzsk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.45rem;
}

.specialties-breadcrumb[b-mej3f4hzsk] {
    min-width: 0;
}

.specialties-breadcrumb .breadcrumb[b-mej3f4hzsk] {
    flex-wrap: wrap;
    gap: 0;
}

    .specialties-breadcrumb .breadcrumb-item[b-mej3f4hzsk],
    .specialties-breadcrumb .breadcrumb-item.active[b-mej3f4hzsk] {
        color: #728490;
        font-size: 0.82rem;
        font-weight: 500;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
        letter-spacing: 0.01em;
    }

.specialties-breadcrumb .breadcrumb-item + .breadcrumb-item[b-mej3f4hzsk]::before {
    color: #9cb0b8;
    content: ">";
    padding-right: 0.6rem;
}

.specialties-breadcrumb a[b-mej3f4hzsk] {
    color: #0d9488;
    text-decoration: none;
}

.specialties-header__hero[b-mej3f4hzsk] {
    display: flex;
    align-items: center;
    gap: 1.35rem;
}

.specialties-header__icon[b-mej3f4hzsk] {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #e8f4f5;
}

.specialties-header__title[b-mej3f4hzsk] {
    margin-bottom: 0.45rem;
    color: #0f172a;
    font-size: clamp(1.9rem, 3vw, 2.3rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.01em;
}

.specialties-header__description[b-mej3f4hzsk] {
    max-width: 34rem;
    color: #6d7d87;
    font-size: 0.95rem;
    line-height: 1.65;
}

.specialties-back-link[b-mej3f4hzsk] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
    padding: 0.55rem 0.95rem;
    border: 1px solid #cfe5e7;
    border-radius: 999px;
    background: #fff;
    color: #0d9488;
    font-size: 0.78rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.01em;
}

    .specialties-back-link:hover[b-mej3f4hzsk] {
        transition: ease-in-out;
        transition-duration: 0.2s;
        background: #e5f1f3;
        color: #0d9488;
    }

@media (max-width: 767.98px) {
    .specialties-header[b-mej3f4hzsk],
    .specialties-grid[b-mej3f4hzsk] {
        padding: 1.15rem;
        border-radius: 1rem;
    }

    .specialties-header__topbar[b-mej3f4hzsk] {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 1.1rem;
    }

    .specialties-header__hero[b-mej3f4hzsk] {
        align-items: flex-start;
    }

    .specialties-header__icon[b-mej3f4hzsk] {
        width: 4.25rem;
        height: 4.25rem;
    }

    .specialties-back-link[b-mej3f4hzsk] {
        white-space: normal;
    }
}
/* /Pages/Users/ForgotPassword.razor.rz.scp.css */
/* ================================
   PÁGINA GENERAL
   ================================ */

.login-page[b-7nb9w7o6w7] {
    position: relative;
    min-height: 100vh;
    padding: 2rem;
    overflow: hidden;
    /* Imagen de fondo real del proyecto */
    background-image: url("/img/new-login-register.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

    /* Capa muy suave encima de la imagen para mejorar contraste */
    .login-page[b-7nb9w7o6w7]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(63, 158, 164, 0.04);
        pointer-events: none;
    }

/* Todo el contenido debe quedar por encima del fondo */
.login-container[b-7nb9w7o6w7] {
    position: relative;
    z-index: 2;
}


/* ================================
   CONTENEDOR PRINCIPAL
   ================================ */

.login-container[b-7nb9w7o6w7] {
    width: min(1020px, calc(100vw - 3rem));
    min-height: 455px;
    background: #ffffff;
    border-radius: 18px !important;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.22) !important;
}

    .login-container > .row[b-7nb9w7o6w7] {
        min-height: 455px;
    }


/* ================================
   PANEL IZQUIERDO
   ================================ */

.login-panel[b-7nb9w7o6w7] {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(37, 121, 128, 0.98), rgba(31, 105, 112, 0.98)) !important;
}

    /* Luz interna del panel izquierdo */
    .login-panel[b-7nb9w7o6w7]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at 40% 20%, rgba(255, 255, 255, 0.16), transparent 15rem), linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent);
        pointer-events: none;
    }

    /* Contenido interno del panel izquierdo */
    .login-panel .text-center[b-7nb9w7o6w7] {
        position: relative;
        z-index: 1;
        max-width: 330px;
    }

    /* Logo */
    .login-panel img[b-7nb9w7o6w7] {
        width: 72px;
        height: 72px;
        object-fit: contain;
        margin-bottom: 0.3rem !important;
    }

    /* Título BuscadorClinic */
    .login-panel h2[b-7nb9w7o6w7] {
        margin-top: 0.25rem;
        margin-bottom: 1rem !important;
        font-size: 2rem;
        font-weight: 800 !important;
        letter-spacing: -0.035em;
        color: #ffffff;
    }

    /* Textos del panel izquierdo */
    .login-panel p[b-7nb9w7o6w7] {
        color: rgba(255, 255, 255, 0.82);
        line-height: 1.55;
    }

    /* Separador */
    .login-panel hr[b-7nb9w7o6w7] {
        max-width: 240px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Botón iniciar sesión */
    .login-panel .btn-outline-light[b-7nb9w7o6w7] {
        min-width: 175px;
        border-radius: 7px;
        font-weight: 600;
        border-color: rgba(255, 255, 255, 0.75);
        color: #ffffff;
        transition: all 0.2s ease;
    }

        .login-panel .btn-outline-light:hover[b-7nb9w7o6w7] {
            color: #236f76;
            background: #ffffff;
            border-color: #ffffff;
        }


/* ================================
   PANEL DERECHO / FORMULARIO
   ================================ */

.login-container .col-md-7[b-7nb9w7o6w7] {
    background: #ffffff !important;
}

    /* Contenedor interno del formulario */
    .login-container .col-md-7 .w-100[b-7nb9w7o6w7] {
        max-width: 610px;
        margin: 0 auto;
    }

/* Título */
.login-form__title[b-7nb9w7o6w7] {
    color: #172033;
    font-size: 2rem;
    line-height: 1.15;
    font-weight: 500 !important;
    letter-spacing: -0.035em;
}

    /* Subtítulo */
    .login-form__title + p[b-7nb9w7o6w7] {
        color: #5f6b7a !important;
        font-size: 0.95rem;
    }


/* ================================
   FORMULARIO
   ================================ */

.form-label[b-7nb9w7o6w7] {
    margin-bottom: 0.45rem;
    color: #1f2937;
    font-weight: 450 !important;
}

.form-control[b-7nb9w7o6w7] {
    height: 46px;
    border: 1px solid #d7dde5;
    border-radius: 7px;
    color: #1f2937;
    font-size: 0.98rem;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .form-control[b-7nb9w7o6w7]::placeholder {
        color: #8a94a3;
    }

    .form-control:focus[b-7nb9w7o6w7] {
        border-color: #3F9EA4;
        box-shadow: 0 0 0 0.18rem rgba(63, 158, 164, 0.16);
    }

    .form-control:disabled[b-7nb9w7o6w7] {
        background-color: #f5f7f9;
        opacity: 0.85;
    }


/* ================================
   BOTÓN PRINCIPAL NARANJA
   ================================ */

.btn-login[b-7nb9w7o6w7] {
    min-height: 54px;
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.01em;
    background: linear-gradient(90deg, #ff5934 0%, #ee3f16 100%);
    box-shadow: 0 12px 24px rgba(238, 63, 22, 0.24);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

    .btn-login:hover[b-7nb9w7o6w7] {
        color: #ffffff;
        transform: translateY(-1px);
        filter: brightness(1.02);
        box-shadow: 0 16px 30px rgba(238, 63, 22, 0.28);
    }

    .btn-login:active[b-7nb9w7o6w7] {
        transform: translateY(0);
    }

    .btn-login:disabled[b-7nb9w7o6w7] {
        opacity: 0.75;
        cursor: not-allowed;
        box-shadow: none;
    }


/* ================================
   ALERTAS
   ================================ */

.alert[b-7nb9w7o6w7] {
    border-radius: 10px;
    border: 0;
}

.alert-success[b-7nb9w7o6w7] {
    color: #166534;
    background: #dcfce7;
}

.alert-danger[b-7nb9w7o6w7] {
    color: #991b1b;
    background: #fee2e2;
}


/* ================================
   ANIMACIÓN
   ================================ */

.fade-in-card[b-7nb9w7o6w7] {
    animation: fadeInCard-b-7nb9w7o6w7 0.35s ease both;
}

@keyframes fadeInCard-b-7nb9w7o6w7 {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ================================
   RESPONSIVE
   ================================ */

@media (max-width: 767.98px) {
    .login-page[b-7nb9w7o6w7] {
        align-items: flex-start !important;
        padding: 5rem 1rem 1rem;
    }

    .login-container[b-7nb9w7o6w7] {
        width: 100%;
        min-height: auto;
        border-radius: 18px !important;
    }

        .login-container > .row[b-7nb9w7o6w7] {
            min-height: auto;
        }

    .login-panel[b-7nb9w7o6w7] {
        min-height: 295px;
        padding: 2rem 1.5rem !important;
    }

        .login-panel h2[b-7nb9w7o6w7] {
            font-size: 1.75rem;
        }

        .login-panel p[b-7nb9w7o6w7] {
            font-size: 0.95rem;
        }

    .login-container .col-md-7[b-7nb9w7o6w7] {
        padding: 2rem 1.5rem !important;
    }

    .login-form__title[b-7nb9w7o6w7] {
        font-size: 1.75rem;
    }
}

@media (max-width: 420px) {
    .login-page[b-7nb9w7o6w7] {
        padding-inline: 0.75rem;
    }

    .login-panel[b-7nb9w7o6w7] {
        padding: 1.75rem 1.25rem !important;
    }

    .login-container .col-md-7[b-7nb9w7o6w7] {
        padding: 1.75rem 1.25rem !important;
    }
}
/* /Pages/Users/Login.razor.rz.scp.css */
/* ── LAYOUT ───────────────────────────────────────── */
.login-page[b-udhdzaavbv] {
    background: url("/img/new-login-register.webp") center top / cover no-repeat;
    background-attachment: fixed;
}

.login-container[b-udhdzaavbv] {
    width: 100%;
    max-width: 860px;
    min-height: auto;
    overflow:hidden;
}
:root[b-udhdzaavbv] {
    --auth-panel-bg: linear-gradient(145deg, #337f86 0%, #2b6f75 100%);
}
.login-panel[b-udhdzaavbv],
.register-panel[b-udhdzaavbv] {
    background: var(--auth-panel-bg);
}

/* ── PANEL IZQUIERDO ──────────────────────────────── */
.login-panel[b-udhdzaavbv] {
    background: linear-gradient(145deg, #357f86 0%, #2c6f75 100%);
}

.login-panel__logo[b-udhdzaavbv] {
    opacity: 0.9;
}

/* ── FORMULARIO ───────────────────────────────────── */
.login-form__title[b-udhdzaavbv] {
    color: #1f2937;
}

.login-form__forgot[b-udhdzaavbv] {
    color: #3F9EA4;
    text-decoration: none;
}

    .login-form__forgot:hover[b-udhdzaavbv] {
        color: #2d7a80;
        text-decoration: underline;
    }

/* ── INPUTS SYNCFUSION ────────────────────────────── */
[b-udhdzaavbv] .e-input-group,
[b-udhdzaavbv] .e-input-group.e-control-wrapper {
    width: 100% !important;
    border-radius: 4px;
    border-color: #dee2e6 !important;
}

    [b-udhdzaavbv] .e-input-group:focus-within,
    [b-udhdzaavbv] .e-input-group.e-control-wrapper:focus-within {
        border-color: #3F9EA4 !important;
        box-shadow: 0 0 0 0.2rem rgba(63, 158, 164, 0.2) !important;
    }

    [b-udhdzaavbv] .e-input-group input.e-input {
        font-size: 0.9rem;
        padding: 6px 10px;
    }

/* ── BOTÓN OJO ────────────────────────────────────── */
.btn-outline-secondary[b-udhdzaavbv] {
    border-color: #dee2e6;
    color: #6b7280;
    border-radius: 4px;
}

    .btn-outline-secondary:hover[b-udhdzaavbv] {
        background-color: #f0f9fa;
        color: #3F9EA4;
        border-color: #3F9EA4;
    }

/* ── BOTÓN LOGIN (SfButton) — color primario #3F9EA4 ── */
[b-udhdzaavbv] .btn-login.e-btn {
    background-color: #ff5a2a !important;
    border-color: #ff5a2a !important;
    color: #fff !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

    [b-udhdzaavbv] .btn-login.e-btn:hover:not([disabled]) {
        background-color: #cc4822 !important;
        border-color: #cc4822 !important;
    }

    [b-udhdzaavbv] .btn-login.e-btn[disabled] {
        opacity: 0.6 !important;
        cursor: not-allowed !important;
    }

/* ── CHECKBOX ─────────────────────────────────────── */
.form-check-input:checked[b-udhdzaavbv] {
    background-color: #3F9EA4;
    border-color: #3F9EA4;
}

.form-check-input:focus[b-udhdzaavbv] {
    box-shadow: 0 0 0 0.2rem rgba(63, 158, 164, 0.25);
}

/* ── VALIDACIONES ─────────────────────────────────── */
[b-udhdzaavbv] .validation-message,
.text-danger.small[b-udhdzaavbv] {
    font-size: 0.78rem;
    margin-top: 3px;
}

/* ── FADE-IN ANIMACIÓN LOGIN ── */
.fade-in-card[b-udhdzaavbv] {
    animation: fadeInUp-b-udhdzaavbv 0.6s ease-out 0.2s both;
}

.fade-in-field[b-udhdzaavbv] {
    opacity: 0;
    transform: translateY(20px);
}

.fade-in-1[b-udhdzaavbv] {
    animation: fadeInField-b-udhdzaavbv 0.4s ease-out 0.4s both;
}

.fade-in-2[b-udhdzaavbv] {
    animation: fadeInField-b-udhdzaavbv 0.4s ease-out 0.6s both;
}

.fade-in-3[b-udhdzaavbv] {
    animation: fadeInField-b-udhdzaavbv 0.4s ease-out 0.8s both;
}

.fade-in-4[b-udhdzaavbv] {
    animation: fadeInField-b-udhdzaavbv 0.4s ease-out 1.0s both;
}

.fade-in-5[b-udhdzaavbv] {
    animation: fadeInField-b-udhdzaavbv 0.4s ease-out 1.2s both;
}

/* Keyframes */
@keyframes fadeInUp-b-udhdzaavbv {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInField-b-udhdzaavbv {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hover feedback */
[b-udhdzaavbv] .fade-in-field:hover .e-input-group,
[b-udhdzaavbv] .fade-in-field:hover .e-input-group.e-control-wrapper {
    transform: translateY(-1px);
}

/* Contenedor inicial */
.login-container[b-udhdzaavbv] {
    animation: containerSlide-b-udhdzaavbv 0.8s ease-out;
}

@keyframes containerSlide-b-udhdzaavbv {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Bonus: Spinner suave */
[b-udhdzaavbv] .btn-login .spinner-border {
    animation: spin-b-udhdzaavbv 1s linear infinite;
}

@keyframes spin-b-udhdzaavbv {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* ── RESPONSIVE ───────────────────────────────────── */
@media (max-width: 767px) {
    .login-container[b-udhdzaavbv] {
        border-radius: 0 !important;
        min-height: 100vh;
    }

    .login-panel[b-udhdzaavbv] {
        padding: 2rem !important;
    }
}
/* /Pages/Users/Register.razor.rz.scp.css */
/* ── COLORES PERSONALIZADOS ── */
.bg-primary[b-8gli9ltyud] {
    background-color: #3F9EA4 !important;
    color: white !important;
}

.bg-light-custom[b-8gli9ltyud] {
    background-color: #f8fafc !important;
}

.text-muted-custom[b-8gli9ltyud] {
    color: #94a3b8 !important;
}

/* ── LAYOUT PRINCIPAL ── */
.login-page[b-8gli9ltyud] {
    background: url("/img/new-login-register.webp") center top / cover no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
}

.login-container[b-8gli9ltyud] {
    max-width: 960px;
}

.login-panel[b-8gli9ltyud] {
    background: linear-gradient(145deg, #337f86 0%, #2b6f75 100%);
}

.login-form__title[b-8gli9ltyud] {
    color: #1f2937;
    font-size: 1.75rem;
}

.register-section-title[b-8gli9ltyud],
.register-inline-icon[b-8gli9ltyud] {
    color: #3F9EA4;
}


/* ── SYNCFUSION INPUTS ── */
[b-8gli9ltyud] .w-100.e-input-group,
[b-8gli9ltyud] .w-100.e-ddl.e-control-wrapper {
    border-radius: 8px !important;
    border: 2px solid #e5e7eb !important;
    height: 44px !important;
    transition: all 0.2s ease !important;
}

    [b-8gli9ltyud] .w-100.e-input-group:focus-within,
    [b-8gli9ltyud] .w-100.e-ddl.e-input-focus {
        border-color: #3F9EA4 !important;
        box-shadow: 0 0 0 0.25rem rgba(63,158,164,0.25) !important;
    }

[b-8gli9ltyud] .w-100 input.e-input {
    font-size: 0.95rem !important;
    padding: 0.5rem 0.75rem !important;
}

/* ── PASSWORD GROUP ── */
.password-group[b-8gli9ltyud] {
    display: flex !important;
    gap: 0.5rem !important;
}

[b-8gli9ltyud] .password-group .w-100 {
    flex-grow: 1 !important;
}

/* ── BOTONES ── */
[b-8gli9ltyud] .btn-register.e-btn {
    background: linear-gradient(145deg, #ff5a2a 0%, #e64a1f 100%) !important;
    border: none !important;
    color: white !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    height: 52px !important;
    box-shadow: 0 4px 12px rgba(255,90,42,0.3) !important;
}

    [b-8gli9ltyud] .btn-register.e-btn:hover:not(.e-disabled) {
        background: linear-gradient(145deg, #cc4822 0%, #b53f1a 100%) !important;
        box-shadow: 0 6px 20px rgba(255,90,42,0.4) !important;
    }

/* ── STEPPER ANIMADO ── */
.stepper-container[b-8gli9ltyud] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    font-size: 0.875rem;
    font-weight: 500;
}

.step-item[b-8gli9ltyud] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    opacity: 0.6;
    transition: all 0.3s ease;
}

    .step-item.active[b-8gli9ltyud] {
        opacity: 1;
        font-weight: 600;
        color: #1e293b;
    }

.step-arrow[b-8gli9ltyud] {
    color: #cbd5e1;
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0.25rem;
}

.badge.stepper-active[b-8gli9ltyud] {
    background-color: #3F9EA4 !important;
    color: white !important;
}

.badge.stepper-pending[b-8gli9ltyud] {
    background-color: #f1f5f9 !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0;
}

/* ── ANIMACIONES STEPS ── */
.step-card[b-8gli9ltyud] {
    animation: fadeInSlide-b-8gli9ltyud 0.4s ease-out;
}

@keyframes fadeInSlide-b-8gli9ltyud {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.flex-grow-1[b-8gli9ltyud] {
    flex: 1 !important;
}

/* ── FADE-IN ANIMACIÓN PRINCIPAL ── */
.fade-in-card[b-8gli9ltyud] {
    animation: fadeInUp-b-8gli9ltyud 0.6s ease-out 0.2s both;
}

.fade-in-field[b-8gli9ltyud] {
    opacity: 0;
    transform: translateY(20px);
}

.fade-in-1[b-8gli9ltyud] {
    animation: fadeInField-b-8gli9ltyud 0.4s ease-out 0.4s both;
}

.fade-in-2[b-8gli9ltyud] {
    animation: fadeInField-b-8gli9ltyud 0.4s ease-out 0.6s both;
}

.fade-in-3[b-8gli9ltyud] {
    animation: fadeInField-b-8gli9ltyud 0.4s ease-out 0.8s both;
}

.fade-in-4[b-8gli9ltyud] {
    animation: fadeInField-b-8gli9ltyud 0.4s ease-out 1.0s both;
}

.fade-in-5[b-8gli9ltyud] {
    animation: fadeInField-b-8gli9ltyud 0.4s ease-out 1.2s both;
}

/* Keyframes */
@keyframes fadeInUp-b-8gli9ltyud {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInField-b-8gli9ltyud {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hover sutil en campos para feedback */
[b-8gli9ltyud] .fade-in-field:hover .e-input-group,
[b-8gli9ltyud] .fade-in-field:hover .e-ddl.e-control-wrapper {
    transform: translateY(-1px);
}

/* ── TRIGGER ANIMACIÓN al cargar página ── */
.login-container[b-8gli9ltyud] {
    animation: containerSlide-b-8gli9ltyud 0.8s ease-out;
}

@keyframes containerSlide-b-8gli9ltyud {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .login-container[b-8gli9ltyud] {
        border-radius: 0 !important;
        min-height: 100vh !important;
    }

    .login-panel[b-8gli9ltyud] {
        padding: 2rem 1.5rem !important;
    }

    .stepper-container[b-8gli9ltyud] {
        gap: 0.75rem;
        font-size: 0.8rem;
    }
}
/* /Pages/Users/ResetPassword.razor.rz.scp.css */
/* ================================
   PÁGINA GENERAL
   ================================ */

.login-page[b-namwj0xltu] {
    position: relative;
    min-height: 100vh;
    padding: 2rem;
    overflow: hidden;
    /* Imagen de fondo real del proyecto */
    background-image: url("/img/new-login-register.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

    /* Capa muy suave encima de la imagen para mejorar contraste */
    .login-page[b-namwj0xltu]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(63, 158, 164, 0.04);
        pointer-events: none;
    }

/* Todo el contenido debe quedar por encima del fondo */
.login-container[b-namwj0xltu] {
    position: relative;
    z-index: 2;
}


/* ================================
   CONTENEDOR PRINCIPAL
   ================================ */

.login-container[b-namwj0xltu] {
    width: min(1020px, calc(100vw - 3rem));
    min-height: 455px;
    background: #ffffff;
    border-radius: 18px !important;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.22) !important;
}

    .login-container > .row[b-namwj0xltu] {
        min-height: 455px;
    }


/* ================================
   PANEL IZQUIERDO
   ================================ */

.login-panel[b-namwj0xltu] {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(37, 121, 128, 0.98), rgba(31, 105, 112, 0.98)) !important;
}

    /* Luz interna del panel izquierdo */
    .login-panel[b-namwj0xltu]::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(circle at 40% 20%, rgba(255, 255, 255, 0.16), transparent 15rem), linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent);
        pointer-events: none;
    }

    /* Contenido interno del panel izquierdo */
    .login-panel .text-center[b-namwj0xltu] {
        position: relative;
        z-index: 1;
        max-width: 330px;
    }

    /* Logo */
    .login-panel img[b-namwj0xltu] {
        width: 72px;
        height: 72px;
        object-fit: contain;
        margin-bottom: 0.3rem !important;
    }

    /* Título BuscadorClinic */
    .login-panel h2[b-namwj0xltu] {
        margin-top: 0.25rem;
        margin-bottom: 1rem !important;
        font-size: 2rem;
        font-weight: 800 !important;
        letter-spacing: -0.035em;
        color: #ffffff;
    }

    /* Textos del panel izquierdo */
    .login-panel p[b-namwj0xltu] {
        color: rgba(255, 255, 255, 0.82);
        line-height: 1.55;
    }

    /* Separador */
    .login-panel hr[b-namwj0xltu] {
        max-width: 240px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Botón iniciar sesión */
    .login-panel .btn-outline-light[b-namwj0xltu] {
        min-width: 175px;
        border-radius: 7px;
        font-weight: 600;
        border-color: rgba(255, 255, 255, 0.75);
        color: #ffffff;
        transition: all 0.2s ease;
    }

        .login-panel .btn-outline-light:hover[b-namwj0xltu] {
            color: #236f76;
            background: #ffffff;
            border-color: #ffffff;
        }


/* ================================
   PANEL DERECHO / FORMULARIO
   ================================ */

.login-container .col-md-7[b-namwj0xltu] {
    background: #ffffff !important;
}

    /* Contenedor interno del formulario */
    .login-container .col-md-7 .w-100[b-namwj0xltu] {
        max-width: 610px;
        margin: 0 auto;
    }

/* Título */
.login-form__title[b-namwj0xltu] {
    color: #172033;
    font-size: 2rem;
    line-height: 1.15;
    font-weight: 600 !important;
    letter-spacing: -0.035em;
}

    /* Subtítulo */
    .login-form__title + p[b-namwj0xltu] {
        color: #5f6b7a !important;
        font-size: 0.95rem;
    }


/* ================================
   FORMULARIO
   ================================ */

.form-label[b-namwj0xltu] {
    margin-bottom: 0.45rem;
    color: #1f2937;
    font-weight: 500 !important;
}

.form-control[b-namwj0xltu] {
    height: 46px;
    border: 1px solid #d7dde5;
    border-radius: 7px;
    color: #1f2937;
    font-size: 0.98rem;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

    .form-control[b-namwj0xltu]::placeholder {
        color: #8a94a3;
    }

    .form-control:focus[b-namwj0xltu] {
        border-color: #3F9EA4;
        box-shadow: 0 0 0 0.18rem rgba(63, 158, 164, 0.16);
    }

    .form-control:disabled[b-namwj0xltu] {
        background-color: #f5f7f9;
        opacity: 0.85;
    }


/* ================================
   BOTÓN PRINCIPAL NARANJA
   ================================ */

.btn-login[b-namwj0xltu] {
    min-height: 54px;
    border: 0;
    border-radius: 8px;
    color: #ffffff;
    font-weight: 500;
    letter-spacing: 0.01em;
    background: linear-gradient(90deg, #ff5934 0%, #ee3f16 100%);
    box-shadow: 0 12px 24px rgba(238, 63, 22, 0.24);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

    .btn-login:hover[b-namwj0xltu] {
        color: #ffffff;
        transform: translateY(-1px);
        filter: brightness(1.02);
        box-shadow: 0 16px 30px rgba(238, 63, 22, 0.28);
    }

    .btn-login:active[b-namwj0xltu] {
        transform: translateY(0);
    }

    .btn-login:disabled[b-namwj0xltu] {
        opacity: 0.75;
        cursor: not-allowed;
        box-shadow: none;
    }


/* ================================
   ALERTAS
   ================================ */

.alert[b-namwj0xltu] {
    border-radius: 10px;
    border: 0;
}

.alert-success[b-namwj0xltu] {
    color: #166534;
    background: #dcfce7;
}

.alert-danger[b-namwj0xltu] {
    color: #991b1b;
    background: #fee2e2;
}


/* ================================
   ANIMACIÓN
   ================================ */

.fade-in-card[b-namwj0xltu] {
    animation: fadeInCard-b-namwj0xltu 0.35s ease both;
}

@keyframes fadeInCard-b-namwj0xltu {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ================================
   RESPONSIVE
   ================================ */

@media (max-width: 767.98px) {
    .login-page[b-namwj0xltu] {
        align-items: flex-start !important;
        padding: 5rem 1rem 1rem;
    }

    .login-container[b-namwj0xltu] {
        width: 100%;
        min-height: auto;
        border-radius: 18px !important;
    }

        .login-container > .row[b-namwj0xltu] {
            min-height: auto;
        }

    .login-panel[b-namwj0xltu] {
        min-height: 295px;
        padding: 2rem 1.5rem !important;
    }

        .login-panel h2[b-namwj0xltu] {
            font-size: 1.75rem;
        }

        .login-panel p[b-namwj0xltu] {
            font-size: 0.95rem;
        }

    .login-container .col-md-7[b-namwj0xltu] {
        padding: 2rem 1.5rem !important;
    }

    .login-form__title[b-namwj0xltu] {
        font-size: 1.75rem;
    }
}

@media (max-width: 420px) {
    .login-page[b-namwj0xltu] {
        padding-inline: 0.75rem;
    }

    .login-panel[b-namwj0xltu] {
        padding: 1.75rem 1.25rem !important;
    }

    .login-container .col-md-7[b-namwj0xltu] {
        padding: 1.75rem 1.25rem !important;
    }
}
/* /Pages/Users/SpecialistRegister/AutonomousRegister.razor.rz.scp.css */
/* ── COLORES PERSONALIZADOS ── */
.bg-primary[b-82goumlcwy] {
    background-color: #3F9EA4 !important;
    color: white !important;
}

.bg-light-custom[b-82goumlcwy] {
    background-color: #f8fafc !important;
}

.text-muted-custom[b-82goumlcwy] {
    color: #94a3b8 !important;
}

/* ── LAYOUT PRINCIPAL ── */
.login-page[b-82goumlcwy] {
    background: url("/img/new-login-register.webp") center top / cover no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
}

.register-loading-overlay[b-82goumlcwy] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(244, 247, 248, .72);
    backdrop-filter: blur(2px);
}

.login-container[b-82goumlcwy] {
    width: 100%;
    max-width: 960px;
    min-height: 580px;
}

.login-container--register[b-82goumlcwy] {
    max-width: 1000px;
}

.login-panel[b-82goumlcwy] {
    background: linear-gradient(145deg, #337f86 0%, #2b6f75 100%);
    min-height: 580px;
}

.login-form__title[b-82goumlcwy] {
    color: #1f2937;
    font-size: 1.75rem;
}

.register-section-title[b-82goumlcwy],
.register-inline-icon[b-82goumlcwy] {
    color: #3F9EA4;
}

.register-benefits[b-82goumlcwy] {
    display: grid;
    gap: .55rem;
    max-width: 260px;
    font-size: .88rem;
}

.register-benefits span[b-82goumlcwy] {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: rgba(255, 255, 255, .88);
}

/* ── SYNCFUSION INPUTS ── */
[b-82goumlcwy] .w-100.e-input-group,
[b-82goumlcwy] .w-100.e-ddl.e-control-wrapper {
    border-radius: 8px !important;
    border: 2px solid #e5e7eb !important;
    height: 44px !important;
    transition: all 0.2s ease !important;
}

    [b-82goumlcwy] .w-100.e-input-group:focus-within,
    [b-82goumlcwy] .w-100.e-ddl.e-input-focus {
        border-color: #3F9EA4 !important;
        box-shadow: 0 0 0 0.25rem rgba(63,158,164,0.25) !important;
    }

[b-82goumlcwy] .w-100 input.e-input {
    font-size: 0.95rem !important;
    padding: 0.5rem 0.75rem !important;
}

/* ── PASSWORD GROUP ── */
.password-group[b-82goumlcwy] {
    display: flex !important;
    gap: 0.5rem !important;
}

[b-82goumlcwy] .password-group .w-100 {
    flex-grow: 1 !important;
}

/* ── BOTÓN REGISTRO (gradiente + glow) ── */
[b-82goumlcwy] .btn-register.e-btn {
    background: linear-gradient(145deg, #ff5a2a 0%, #e64a1f 100%) !important;
    border: none !important;
    color: white !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    height: 52px !important;
    box-shadow: 0 4px 12px rgba(255,90,42,0.3) !important;
}

    [b-82goumlcwy] .btn-register.e-btn:hover:not(.e-disabled) {
        background: linear-gradient(145deg, #cc4822 0%, #b53f1a 100%) !important;
        box-shadow: 0 6px 20px rgba(255,90,42,0.4) !important;
    }

.btn-register[b-82goumlcwy] {
    background: linear-gradient(145deg, #ff5a2a 0%, #e64a1f 100%);
    border: none;
    color: white;
    border-radius: 10px;
    font-weight: 600;
    height: 52px;
    box-shadow: 0 4px 12px rgba(255,90,42,0.3);
    transition: all 0.2s ease;
}

    .btn-register:hover[b-82goumlcwy] {
        background: linear-gradient(145deg, #cc4822 0%, #b53f1a 100%);
        box-shadow: 0 6px 20px rgba(255,90,42,0.4);
        color: white;
    }

/* ── STEPPER PROPIO (1 Cuenta — 2 Datos fiscales) ── */
.simple-stepper[b-82goumlcwy] {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.simple-stepper__item[b-82goumlcwy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: .35rem .75rem;
    border-radius: 999px;
    border: 1px solid #dbe4e8;
    background: #f8fafc;
    color: #64748b;
    font-size: .82rem;
    font-weight: 600;
}

.simple-stepper__item--active[b-82goumlcwy] {
    border-color: #3F9EA4;
    background: rgba(63, 158, 164, .12);
    color: #237b82;
}

.simple-stepper__item--done[b-82goumlcwy] {
    border-color: rgba(63, 158, 164, .35);
    background: rgba(63, 158, 164, .08);
    color: #237b82;
}

.simple-stepper__line[b-82goumlcwy] {
    flex: 1;
    height: 2px;
    background: #dbe4e8;
}

/* ── Step bubbles (panel lateral) ────────────────────── */
.step-bubble[b-82goumlcwy] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0;
    transition: all 0.25s ease;
}

.step-bubble--active[b-82goumlcwy] {
    background: white;
    color: #3F9EA4;
}

.step-bubble--done[b-82goumlcwy] {
    background: rgba(255, 255, 255, 0.25);
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.6);
}

.step-bubble--pending[b-82goumlcwy] {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.25);
}

/* ── ANIMACIONES ── */
.fade-in-card[b-82goumlcwy] {
    animation: fadeInUp-b-82goumlcwy 0.6s ease-out 0.2s both;
}

.fade-in-field[b-82goumlcwy] {
    opacity: 0;
    transform: translateY(20px);
}

.fade-in-1[b-82goumlcwy] {
    animation: fadeInField-b-82goumlcwy 0.4s ease-out 0.4s both;
}

.fade-in-2[b-82goumlcwy] {
    animation: fadeInField-b-82goumlcwy 0.4s ease-out 0.6s both;
}

.fade-in-3[b-82goumlcwy] {
    animation: fadeInField-b-82goumlcwy 0.4s ease-out 0.8s both;
}

.fade-in-4[b-82goumlcwy] {
    animation: fadeInField-b-82goumlcwy 0.4s ease-out 1.0s both;
}

.fade-in-5[b-82goumlcwy] {
    animation: fadeInField-b-82goumlcwy 0.4s ease-out 1.2s both;
}

@keyframes fadeInUp-b-82goumlcwy {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInField-b-82goumlcwy {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

[b-82goumlcwy] .fade-in-field:hover .e-input-group,
[b-82goumlcwy] .fade-in-field:hover .e-ddl.e-control-wrapper {
    transform: translateY(-1px);
}

.login-container[b-82goumlcwy] {
    animation: containerSlide-b-82goumlcwy 0.8s ease-out;
}

@keyframes containerSlide-b-82goumlcwy {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.flex-grow-1[b-82goumlcwy] {
    flex: 1 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .login-container[b-82goumlcwy] {
        border-radius: 0 !important;
        min-height: 100vh !important;
    }

    .login-panel[b-82goumlcwy] {
        padding: 2rem 1.5rem !important;
    }
}

@media (max-width: 767px) {

    .login-page[b-82goumlcwy] {
        padding-top: 3.5rem !important;
    }

    .steps-container[b-82goumlcwy] {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 0.65rem;
        margin: 0 auto;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: .6rem;
        scroll-padding-inline: 50%;
        scroll-snap-type: x proximity;
    }

    .step-item[b-82goumlcwy] {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        flex: 0 0 74px;
        width: 74px;
        min-height: 78px;
        margin-bottom: 0 !important;
        gap: 0.2rem;
        scroll-snap-align: center;
    }

        .step-item .step-bubble[b-82goumlcwy] {
            margin-right: 0 !important;
        }

    .step-label[b-82goumlcwy] {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        min-height: 34px;
        text-align: center;
    }

    .simple-stepper[b-82goumlcwy] {
        align-items: stretch;
    }

    .simple-stepper__line[b-82goumlcwy] {
        display: none;
    }

    .simple-stepper__item[b-82goumlcwy] {
        flex: 1;
    }
}
/* /Pages/Users/SpecialistRegister/SpecialistSelector.razor.rz.scp.css */
.register-bg[b-6rufawxlwc] {
    background: url("/img/new-login-register.webp") center top / cover no-repeat;
    background-attachment: fixed;
}

.specialist-selector-page[b-6rufawxlwc] {
    min-height: 100dvh;
}

.assistant-transition-overlay[b-6rufawxlwc] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(244, 247, 248, .7);
    backdrop-filter: blur(2px);
}

.assistant-shell[b-6rufawxlwc] {
    width: min(1000px, calc(100% - 2rem));
    min-height: 560px;
    display: grid;
    grid-template-columns: 335px 1fr;
    border-radius: 18px;
    background: #fff;
    animation: containerSlide-b-6rufawxlwc 0.8s ease-out;
}

@keyframes containerSlide-b-6rufawxlwc {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.assistant-side[b-6rufawxlwc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2.65rem;
    background: linear-gradient(145deg, #337f86 0%, #2b6f75 100%);
    color: white;
    text-align: center;
}

.assistant-brand[b-6rufawxlwc] {
    display: grid;
    justify-items: center;
}

.assistant-logo[b-6rufawxlwc] {
    margin-bottom: .85rem;
}

.assistant-side h2[b-6rufawxlwc] {
    margin: 0 0 .8rem;
    font-size: 1.85rem;
    font-weight: 700;
}

.assistant-side p[b-6rufawxlwc] {
    max-width: 220px;
    margin: 0;
    color: rgba(255, 255, 255, .82);
}

.assistant-side__divider[b-6rufawxlwc] {
    width: 100%;
    height: 1px;
    margin: 1.9rem 0 1.65rem;
    background: rgba(255, 255, 255, .25);
}

.assistant-login[b-6rufawxlwc] {
    margin-top: 2rem;
}

.assistant-benefits[b-6rufawxlwc] {
    display: grid;
    gap: .65rem;
    width: 100%;
    text-align: left;
    font-size: .9rem;
}

.assistant-benefits span[b-6rufawxlwc] {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: rgba(255, 255, 255, .88);
}

.assistant-main[b-6rufawxlwc] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
}

.assistant-kicker[b-6rufawxlwc] {
    margin-bottom: 1rem;
    color: #2f8f95;
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .08em;
}

.assistant-kicker strong[b-6rufawxlwc] {
    display: inline-grid;
    place-items: center;
    min-width: 26px;
    min-height: 26px;
    margin-inline: .25rem;
    border-radius: 50%;
    background: #3F9EA4;
    color: white;
    letter-spacing: 0;
}

.assistant-progress[b-6rufawxlwc] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 2rem;
}

.assistant-progress__item[b-6rufawxlwc] {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #8a97a5;
    font-size: .85rem;
    font-weight: 600;
}

.assistant-progress__item span[b-6rufawxlwc] {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #edf3f5;
}

.assistant-progress__item p[b-6rufawxlwc] {
    margin: 0;
}

.assistant-progress__item--done[b-6rufawxlwc] {
    color: #257f86;
}

.assistant-progress__item--done span[b-6rufawxlwc] {
    background: rgba(63, 158, 164, .14);
    color: #257f86;
}

.assistant-progress__line[b-6rufawxlwc] {
    flex: 1;
    height: 2px;
    background: #d9e3e7;
}

.assistant-progress__line--done[b-6rufawxlwc] {
    background: #3F9EA4;
}

.assistant-question[b-6rufawxlwc] {
    animation: assistant-fade-b-6rufawxlwc .26s ease both;
}

.assistant-question h1[b-6rufawxlwc] {
    margin: 0 0 .65rem;
    color: #1f2937;
    font-size: clamp(1.8rem, 3vw, 2.25rem);
    font-weight: 600;
    line-height: 1.15;
}

.assistant-question > p[b-6rufawxlwc] {
    margin: 0 0 1.5rem;
    color: #64748b;
}

.assistant-options[b-6rufawxlwc] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.assistant-option[b-6rufawxlwc] {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    min-height: 158px;
    padding: 1.25rem;
    border: 2px solid #e3ebef;
    border-radius: 14px;
    background: #fff;
    text-align: left;
    color: inherit;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.assistant-option:hover[b-6rufawxlwc] {
    transform: translateY(-2px);
    border-color: rgba(63, 158, 164, .5);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}

.assistant-option--selected[b-6rufawxlwc] {
    border-color: #3F9EA4;
    background: rgba(63, 158, 164, .07);
    box-shadow: 0 14px 34px rgba(63, 158, 164, .12);
}

.assistant-option__icon[b-6rufawxlwc] {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(63, 158, 164, .12);
    color: #2f8f95;
    font-size: 1.35rem;
}

.assistant-option strong[b-6rufawxlwc] {
    display: block;
    margin-bottom: .45rem;
    color: #1f2937;
    font-size: 1.02rem;
    font-weight: 600;
}

.assistant-option small[b-6rufawxlwc] {
    display: block;
    color: #64748b;
    font-size: .88rem;
    line-height: 1.45;
}

.assistant-option__check[b-6rufawxlwc] {
    position: absolute;
    right: 1rem;
    top: 1rem;
    color: #3F9EA4;
    opacity: 0;
    transition: opacity .18s ease;
}

.assistant-option--selected .assistant-option__check[b-6rufawxlwc] {
    opacity: 1;
}

.assistant-actions[b-6rufawxlwc] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem;
}

.btn-register[b-6rufawxlwc] {
    background: linear-gradient(145deg, #ff5a2a 0%, #e64a1f 100%);
    border: none;
    color: white;
    border-radius: 10px;
    font-weight: 600;
    height: 52px;
    box-shadow: 0 4px 12px rgba(255,90,42,0.3);
    transition: all 0.2s ease;
}

.btn-register:hover[b-6rufawxlwc] {
    color: white;
    background: linear-gradient(145deg, #cc4822 0%, #b53f1a 100%);
    box-shadow: 0 6px 20px rgba(255,90,42,0.4);
}

.assistant-note[b-6rufawxlwc] {
    margin: 1.15rem 0 0;
    color: #7a8795;
    font-size: .85rem;
    text-align: center;
}

@keyframes assistant-fade-b-6rufawxlwc {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1199px), (max-height: 820px) {
    .specialist-selector-page[b-6rufawxlwc] {
        align-items: flex-start !important;
        min-height: 100dvh;
        height: auto;
        padding-top: 4.25rem !important;
        padding-bottom: 3rem !important;
    }

    .register-bg[b-6rufawxlwc] {
        background-attachment: scroll;
    }
}

@media (max-width: 860px) {
    .assistant-shell[b-6rufawxlwc] {
        grid-template-columns: 1fr;
        width: min(640px, calc(100% - 1.5rem));
    }

    .assistant-side[b-6rufawxlwc] {
        padding: 2rem 1.5rem;
    }

    .assistant-benefits[b-6rufawxlwc] {
        max-width: 360px;
    }

    .assistant-main[b-6rufawxlwc] {
        padding: 2rem 1.5rem;
    }
}

@media (max-width: 767px) {
    .specialist-selector-page[b-6rufawxlwc] {
        padding-top: 3.75rem !important;
        padding-bottom: 2rem !important;
    }

    .assistant-options[b-6rufawxlwc] {
        grid-template-columns: 1fr;
    }

    .assistant-option[b-6rufawxlwc] {
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .assistant-shell[b-6rufawxlwc] {
        width: 100%;
        border-radius: 0;
    }

    .assistant-progress[b-6rufawxlwc] {
        align-items: flex-start;
    }

    .assistant-progress__item[b-6rufawxlwc] {
        flex-direction: column;
        align-items: flex-start;
        gap: .35rem;
    }

    .assistant-actions[b-6rufawxlwc] {
        flex-direction: column;
    }

    .assistant-actions > *[b-6rufawxlwc] {
        width: 100%;
    }
}
