@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/*
   Tipografia global do projeto.
   A fonte Kregan não está disponível localmente neste repositório.
   Para ativá-la via arquivo local, adicione o arquivo em assets/fonts/
   e descomente/ajuste o bloco abaixo com o nome correto do arquivo.

@font-face {
    font-family: "Kregan";
    src: url("../assets/fonts/Kregan.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
*/

:root {
    --cor-primaria: #0e2f44;
    --cor-primaria-rgb: 14, 47, 68;
    --cor-secundaria: #bf3a87;
    --cor-secundaria-rgb: 191, 58, 135;
    --cor-secundaria-alt: #beca2e;
    --cor-secundaria-alt-rgb: 190, 204, 16;
    --cor-detalhes: #d8d9d8;
    --cor-detalhes-rgb: 216, 217, 216;
    --color-azulclaro: var(--cor-primaria);
    --color-branco: #ffffff;
    --color-verde: var(--cor-secundaria-alt);
    --color-rosa: var(--cor-secundaria);
    --color-amarelo: var(--cor-secundaria-alt);
    --color-azul: var(--cor-primaria);
    --color-preto: #000000;
    --color-Linen: var(--cor-detalhes);
    --loading-cor-creme: #FFEFD5;
    --loading-cor-rosa-claro: #FFC0CB;
    --loading-cor-rosa-vivo: #FF69B4;
    --layout-content-max-width: 1120px;
    --layout-content-padding-inline: clamp(16px, 4vw, 32px);
    --layout-main-padding-block: clamp(24px, 4vw, 48px);
    --layout-section-padding: clamp(20px, 3.6vw, 32px);
    --layout-section-gap: clamp(18px, 3vw, 28px);
    --font-principal: "Poppins", Arial, sans-serif;
    --font-destaque: "Kregan", "Poppins", Arial, sans-serif;
} 

html,
body {
    font-family: var(--font-principal);
}

h1,
h2,
h3,
.titulo,
.title,
.menu__brandText {
    font-family: var(--font-destaque);
}


/* =========================
   Menu principal (include)
   ========================= */
/* --- Base (desktop e geral) --- */
.menu__wrapper {
    background: var(--color-branco);
    border-bottom: 1px solid rgba(var(--cor-primaria-rgb), 0.12);
    position: relative;
    z-index: 40;
}

.menu__header {
    width: min(100%, var(--layout-content-max-width));
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0.95rem var(--layout-content-padding-inline);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
}

.menu__brand {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.menu__logo {
    height: 150px;
    width: auto;
    display: block;
}

.menu__brandText {
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--color-rosa);
    letter-spacing: 0.01em;
    text-transform: lowercase;
}

.menu__nav {
    justify-self: center;
}

.menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.75rem, 2.2vw, 2.25rem);
}

.menu__link,
.menu__actionLink {
    color: var(--color-rosa);
    text-decoration: none;
    font-size: 1.30rem;
    font-weight: 600;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    position: relative;
    padding: 0.3rem 0;
    white-space: nowrap;
}

.menu__link::after,
.menu__actionLink::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 180ms ease;
    opacity: 0.7;
}

.menu__link:hover::after,
.menu__link.is-active::after,
.menu__actionLink:hover::after,
.menu__actionLink.is-active::after {
    transform: scaleX(1);
}

.menu__actions {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
}

.menu__greeting {
    color: #007BFF;
    font-size: 0.95rem;
    font-weight: 600;
    white-space: nowrap;
}

.menu__inlineForm {
    margin: 0;
}

.menu__actionLink {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}

.menu__actionLink--signup {
    padding: 0.6rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--color-rosa);
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.menu__actionLink--signup:hover,
.menu__actionLink--signup:focus-visible,
.menu__actionLink--signup.is-active {
    background: var(--color-rosa);
    color: var(--color-branco);
    border-color: var(--color-rosa);
}

.menu__badge {
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.32rem;
    border-radius: 999px;
    background: var(--color-rosa);
    color: var(--color-branco);
    font-size: 0.73rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.menu__toggle {
    display: none;
    justify-self: end;
    width: 2.6rem;
    height: 2.6rem;
    border: 1px solid rgba(var(--cor-secundaria-rgb), 0.28);
    border-radius: 0.55rem;
    background: var(--color-branco);
    cursor: pointer;
    padding: 0.55rem;
    align-items: center;
    justify-content: center;
    gap: 0.24rem;
    flex-direction: column;
}

.menu__toggleLine {
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: var(--color-rosa);
}

.menu__link:focus-visible,
.menu__actionLink:focus-visible,
.menu__toggle:focus-visible {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), 0.55);
    outline-offset: 2px;
    border-radius: 6px;
}


/* =========================
   Alerta de consultas pendentes
   ========================= */
.consultaPendenteAlert {
    position: sticky;
    top: 0.75rem;
    z-index: 45;
    width: min(100% - 2rem, 920px);
    margin: 0.75rem auto 0;
    pointer-events: none;
}

.consultaPendenteAlert__content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(180, 83, 9, 0.2);
    border-radius: 999px;
    background: linear-gradient(135deg, #fff7ed 0%, #fffbeb 100%);
    box-shadow: 0 16px 36px rgba(120, 53, 15, 0.14);
    color: #7c2d12;
    pointer-events: auto;
}

.consultaPendenteAlert__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    background: #f59e0b;
    color: #fff;
    font-weight: 800;
    line-height: 1;
}

.consultaPendenteAlert__message {
    margin: 0;
    font-size: clamp(0.92rem, 1.6vw, 1rem);
    font-weight: 600;
    line-height: 1.35;
}

.consultaPendenteAlert__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0.62rem 1rem;
    border-radius: 999px;
    background: #9a2b7d;
    color: #fff;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 10px 18px rgba(154, 43, 125, 0.24);
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.consultaPendenteAlert__action:hover,
.consultaPendenteAlert__action:focus-visible {
    background: #7f2266;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(154, 43, 125, 0.3);
}

.consultaPendenteAlert__action:focus-visible {
    outline: 3px solid rgba(245, 158, 11, 0.45);
    outline-offset: 2px;
}

@media (max-width: 640px) {
    .consultaPendenteAlert {
        top: 0.5rem;
        width: min(100% - 1rem, 920px);
        margin-top: 0.5rem;
    }

    .consultaPendenteAlert__content {
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: flex-start;
        border-radius: 1.25rem;
        padding: 0.85rem;
    }

    .consultaPendenteAlert__message {
        flex: 1 1 calc(100% - 3rem);
    }

    .consultaPendenteAlert__action {
        width: 100%;
    }
}

/* --- Mobile: NAV + ACTIONS com ENTRADA e SAÍDA (sem display:none) --- */
@media (max-width: 900px) {
    .menu__header {
        grid-template-columns: 1fr auto;
    }

    .menu__toggle {
        display: inline-flex;
    }

    /* NAV: fechado (saída) -> aberto (entrada) */
    .menu__nav {
        position: absolute;
        top: calc(100% + 1px);
        left: var(--layout-content-padding-inline);
        right: var(--layout-content-padding-inline);
        background: var(--color-branco);
        border: 1px solid rgba(var(--cor-primaria-rgb), 0.15);
        border-radius: 0.75rem;
        box-shadow: 0 10px 24px rgba(var(--cor-primaria-rgb), 0.12);
        padding: 0.8rem 0.95rem;

        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px) scale(0.98);
        pointer-events: none;

        transition:
            opacity 220ms ease,
            transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
            visibility 0s linear 220ms;
        will-change: opacity, transform;
    }

    .menu__isOpen .menu__nav {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;

        transition:
            opacity 260ms ease,
            transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1),
            visibility 0s;
    }

    /* Lista vertical no mobile */
    .menu__list {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.7rem;
    }

    /* Itens com cascata (entrada) e saída suave */
    .menu__list > li {
        opacity: 0;
        transform: translateY(-6px);
        transition: opacity 180ms ease, transform 180ms ease;
        transition-delay: 0ms; /* garante saída rápida ao fechar */
    }

    .menu__isOpen .menu__list > li {
        opacity: 1;
        transform: translateY(0);
    }

    /* Stagger (ajuste se tiver mais/menos itens) */
    .menu__isOpen .menu__list > li:nth-child(1) { transition-delay: 60ms; }
    .menu__isOpen .menu__list > li:nth-child(2) { transition-delay: 90ms; }
    .menu__isOpen .menu__list > li:nth-child(3) { transition-delay: 120ms; }
    .menu__isOpen .menu__list > li:nth-child(4) { transition-delay: 150ms; }
    .menu__isOpen .menu__list > li:nth-child(5) { transition-delay: 180ms; }
    .menu__isOpen .menu__list > li:nth-child(6) { transition-delay: 210ms; }
    .menu__isOpen .menu__list > li:nth-child(7) { transition-delay: 240ms; }
    .menu__isOpen .menu__list > li:nth-child(8) { transition-delay: 270ms; }

    /* ACTIONS no mobile: animável (sem display:none) */
    .menu__actions {
        display: inline-flex; /* mantém animável */
        position: absolute;
        top: calc(100% + 230px);
        right: var(--layout-content-padding-inline);
        background: var(--color-branco);
        border-radius: 0.5rem;
        padding: 0.45rem 0.7rem;
        border: 1px solid rgba(var(--cor-primaria-rgb), 0.12);

        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px) scale(0.98);
        pointer-events: none;

        transition:
            opacity 200ms ease,
            transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1),
            visibility 0s linear 200ms;
        will-change: opacity, transform;
    }

    .menu__isOpen .menu__actions {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;

        transition:
            opacity 240ms ease,
            transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1),
            visibility 0s;
    }
}

/* --- Acessibilidade: reduz animações se o usuário preferir --- */
@media (prefers-reduced-motion: reduce) {
    .menu__nav,
    .menu__actions,
    .menu__list > li,
    .menu__link::after,
    .menu__actionLink::after {
        transition: none !important;
    }
}

/* =========================
   Menu principal (include)
   ========================= */
/* =========================
   Home (index.php)
   ========================= */
.home__main {
    padding: var(--layout-main-padding-block) 0 clamp(40px, 7vw, 72px);
    background: var(--color-branco);
}

.home__content {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding-inline: var(--layout-content-padding-inline);
    display: grid;
    gap: clamp(28px, 4.8vw, 44px);
}

.home__hero {
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    min-height: clamp(360px, 52vw, 560px);
    box-shadow: 0 20px 50px rgba(var(--cor-primaria-rgb), 0.2);
}

.home__hero-media,
.home__hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home__hero-image {
    object-fit: cover;
}

.home__hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(100deg, rgba(var(--cor-primaria-rgb), 0.48) 0%, rgba(var(--cor-primaria-rgb), 0.18) 45%, rgba(var(--cor-secundaria-rgb), 0.32) 100%);
}

.home__hero-card {
    position: relative;
    z-index: 2;
    margin: clamp(100px, 4vw, 100px);
    width: min(390px, calc(100% - 40px));
    padding: clamp(22px, 3vw, 34px);
    border-radius: 4px;
    background: rgba(var(--cor-detalhes-rgb), 0.38);
    border: 1px solid rgba(var(--cor-detalhes-rgb), 0.48);
    box-shadow: 0 16px 36px rgba(var(--cor-primaria-rgb), 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: grid;
    gap: 16px;
}

.home__hero-logo {
    width: clamp(60px, 7vw, 70px);
    height: auto;
    justify-self: center;
}

.home__hero-title {
    margin: 0;
    color: var(--color-rosa);
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1;
    font-style: italic;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.home__hero-subtitle {
    margin: -4px 0 2px;
    color: var(--color-branco);
    max-width: 28ch;
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 600;
    justify-self: center;
    text-align: center;
}

.home__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.home__btn--primary,
.home__btn--pill {
    min-height: 54px;
    border-radius: 999px;
    padding: 0 34px;
}

.home__btn--primary {
    color: var(--cor-primaria);
    background: var(--cor-secundaria-alt);
    width: fit-content;
}

.home__hero-card .home__btn--primary {
    justify-self: center;
}

.home__btn--pill {
    color: var(--color-branco);
    background: var(--cor-secundaria);
}

.home__section {
    display: grid;
    gap: var(--layout-section-gap);
}

.home__section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.home__section-title {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(2rem, 4.5vw, 3.3rem);
    font-style: italic;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.home__cards {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 22px);
}

.home__card {
    border-radius: 24px;
    padding: clamp(20px, 2.6vw, 28px);
    min-height: clamp(170px, 23vw, 260px);
    display: grid;
    gap: 10px;
    align-content: start;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(var(--cor-primaria-rgb), 0.1);
    border: 1px solid rgba(var(--cor-detalhes-rgb), 0.7);
    transition: transform 200ms ease, box-shadow 200ms ease;
    position: relative;
    overflow: hidden;
}

.home__card:nth-child(-n+3) {
    grid-column: span 2;
}

.home__card--wide {
    grid-column: span 3;
    min-height: clamp(150px, 20vw, 220px);
}

.home__card--foundation {
    grid-template-rows: auto 1fr;
    overflow: visible;
    padding-bottom: clamp(72px, 8vw, 102px);
}

.home__card-foundation-image {
    width: min(240px, 62%);
    position: absolute;
    left: 50%;
    bottom: clamp(-56px, -4.8vw, -40px);
    transform: translateX(-50%);
    height: auto;
    object-fit: contain;
    z-index: 1;
}

.home__card-title {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.1;
}

.home__card-text {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.9);
    font-size: clamp(0.95rem, 1.6vw, 1.25rem);
    max-width: 30ch;
}

.home__card-steps {
    margin: 4px 0 0;
    padding: 0 0 0 18px;
    color: rgba(var(--cor-primaria-rgb), 0.9);
    font-size: clamp(0.9rem, 1.1vw, 1.02rem);
    line-height: 1.5;
    display: grid;
    gap: 6px;
}

.home__card-steps li::marker {
    color: var(--cor-secundaria);
}

.home__card-cta {
    margin-top: auto;
    width: fit-content;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(var(--cor-primaria-rgb), 0.08);
    color: var(--cor-primaria);
    font-weight: 700;
    font-size: 0.93rem;
    line-height: 1.1;
}

.home__card--lime {
    background: linear-gradient(155deg, rgba(var(--cor-secundaria-alt-rgb), 0.98), rgba(var(--cor-secundaria-alt-rgb), 0.9));
}

.home__card--neutral {
    background: rgba(var(--cor-detalhes-rgb), 0.42);
}

.home__card--static {
    cursor: default;
}

.home__card--highlight {
    background: linear-gradient(140deg, rgba(var(--cor-secundaria-rgb), 0.88), rgba(var(--cor-secundaria-rgb), 0.98));
}

.home__card--highlight .home__card-title,
.home__card--highlight .home__card-text {
    color: var(--color-branco);
}

.home__card--lime .home__card-cta {
    background: rgba(var(--cor-primaria-rgb), 0.12);
}

.home__card--with-icon {
    padding-bottom: clamp(82px, 11vw, 118px);
}

.home__card-icon {
    position: absolute;
    right: 18px;
    bottom: 12px;
    width: min(96px, 29%);
    height: auto;
}

.home__card--with-art {
    align-content: space-between;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.home__card-art {
    width: min(190px, 42%);
    align-self: end;
    justify-self: end;
}

.home__focus {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.5vw, 28px);
    align-items: stretch;
}

.home__focus-card,
.home__focus-media {
    border-radius: 24px;
    min-width: 0;
    min-height: 0;
    align-self: stretch;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(var(--cor-primaria-rgb), 0.12);
}

.home__focus-card {
    background: rgba(var(--cor-detalhes-rgb), 0.4);
    border: 1px solid rgba(var(--cor-detalhes-rgb), 0.75);
    padding: clamp(24px, 3vw, 34px);
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2.4vw, 28px);
}

.home__focus-media {
    position: relative;
    margin: 0;
    display: grid;
    height: auto;
}

.home__focus-label {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.74);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.home__focus-title {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(1.5rem, 2.4vw, 2.1rem);
    line-height: 1.2;
}

.home__focus-subtitle {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.88);
    font-size: clamp(1rem, 1.7vw, 1.3rem);
    line-height: 1.35;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(28px, 6vw, 88px);
}

.home__focus-card .home__btn--pill {
    box-sizing: border-box;
    width: 100%;
    justify-self: center;
    align-self: end;
}

.home__focus-media img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: inherit;
}


@media (min-width: 961px) {
    .home__focus {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: stretch;
    }

    .home__focus-card,
    .home__focus-media {
        min-height: clamp(320px, 44vw, 520px);
    }

    .home__focus-card {
        height: auto;
    }

    .home__focus-media img {
        position: absolute;
        inset: 0;
    }
}

.home__card:not(.home__card--static):hover,
.home__card:not(.home__card--static):focus-visible,
.home__btn:hover,
.home__btn:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(var(--cor-primaria-rgb), 0.2);
}

.home__card:not(.home__card--static):focus-visible,
.home__btn:focus-visible {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), 0.62);
    outline-offset: 3px;
}

.home__reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 420ms ease, transform 420ms ease;
}

.home__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 960px) {
    .home__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home__card,
    .home__card:nth-child(-n+3),
    .home__card--wide {
        grid-column: span 1;
    }

    .home__focus {
        grid-template-columns: 1fr;
    }

    .home__hero {
        min-height: clamp(340px, 65vw, 420px);
    }
}

@media (max-width: 640px) {
    .home__hero-card {
        width: calc(100% - 28px);
        margin: 14px;
    }

    .home__btn--pill,
    .home__btn--primary {
        min-height: 48px;
        padding-inline: 26px;
    }

    .home__cards {
        grid-template-columns: 1fr;
    }

    .home__card,
    .home__card:nth-child(-n+3),
    .home__card--wide {
        grid-column: span 1;
        min-height: 150px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home__reveal,
    .home__btn,
    .home__card {
        transition: none;
        transform: none;
    }

    .home__reveal {
        opacity: 1;
    }
}

/* =========================
   Home (index.php)
   ========================= */
   /* =========================
   Menu principal (include)
   ========================= */

/* =========================
   Footer (includes/rodape.php)
   ========================= */
.footer__root {
    position: relative;
    margin-top: clamp(36px, 7vw, 72px);
    padding: 0 var(--layout-content-padding-inline) clamp(18px, 3vw, 28px);
    color: var(--cor-primaria);
}

.footer__shell {
    position: relative;
    overflow: hidden;
    border-radius: clamp(16px, 2.8vw, 28px);
    background:
        radial-gradient(100% 140% at 0% 0%, rgba(var(--cor-secundaria-rgb), 0.08) 0%, rgba(var(--cor-secundaria-rgb), 0) 58%),
        radial-gradient(90% 120% at 100% 100%, rgba(var(--cor-primaria-rgb), 0.08) 0%, rgba(var(--cor-primaria-rgb), 0) 60%),
        linear-gradient(135deg, rgba(var(--cor-detalhes-rgb), 0.3) 0%, rgba(255, 255, 255, 0.96) 48%, rgba(var(--cor-detalhes-rgb), 0.25) 100%);
    box-shadow: 0 -10px 28px rgba(var(--cor-primaria-rgb), 0.08);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
}

.footer__container {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: clamp(28px, 4vw, 44px) clamp(18px, 4vw, 36px) clamp(20px, 3vw, 30px);
    position: relative;
    z-index: 2;
}

.footer__main {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.1fr;
    gap: clamp(18px, 2.4vw, 28px);
    align-items: start;
}

.footer__brand,
.footer__column {
    min-width: 0;
}

.footer__logo {
    width: min(220px, 100%);
    height: auto;
    display: block;
    margin-bottom: clamp(14px, 2vw, 20px);
}

.footer__description {
    margin: 0;
    font-size: clamp(1.02rem, 1.35vw, 1.15rem);
    line-height: 1.55;
    max-width: 30ch;
}

.footer__heading {
    margin: 0 0 14px;
    font-size: clamp(1.28rem, 1.8vw, 2rem);
    font-weight: 600;
    line-height: 1.2;
}

.footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.footer__link {
    color: inherit;
    text-decoration: none;
    line-height: 1.4;
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    opacity: 0.92;
    transition: opacity 180ms ease, transform 180ms ease;
}

.footer__link:hover {
    opacity: 1;
    transform: translateX(2px);
}

.footer__link:focus-visible,
.footer__social:focus-visible,
.footer__phone:focus-visible {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), 0.7);
    outline-offset: 3px;
    border-radius: 999px;
}

.footer__contact {
    display: grid;
    gap: 14px;
}

.footer__socials {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer__social {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cor-primaria);
    background: rgba(var(--cor-primaria-rgb), 0.1);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.16);
    transition: transform 180ms ease, background-color 180ms ease;
}

.footer__social svg,
.footer__phone svg {
    width: 20px;
    height: 20px;
    display: block;
}

.footer__social:hover {
    transform: translateY(-2px);
    background: rgba(var(--cor-secundaria-rgb), 0.16);
}

.footer__phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: inherit;
    text-decoration: none;
    font-size: clamp(1rem, 1.35vw, 1.12rem);
}

.footer__bottom {
    margin-top: clamp(24px, 3vw, 36px);
    padding-top: clamp(16px, 2.4vw, 22px);
    border-top: 1px solid rgba(var(--cor-primaria-rgb), 0.14);
    display: flex;
    gap: 12px 20px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer__bottomLinks {
    display: inline-flex;
    gap: 16px;
    align-items: center;
}

.footer__bottomLinks .footer__link + .footer__link::before {
    content: '|';
    opacity: 0.5;
    margin-right: 16px;
}

.footer__meta {
    display: grid;
    gap: 4px;
    justify-items: end;
    text-align: right;
}

.footer__copyright,
.footer__version {
    margin: 0;
    font-size: clamp(0.98rem, 1.2vw, 1.08rem);
    opacity: 0.92;
}

.footer__version {
    font-size: clamp(0.82rem, 1vw, 0.94rem);
    letter-spacing: 0.02em;
    opacity: 0.72;
}

.footer__animate {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity 500ms ease, transform 500ms ease;
}

.footer__isVisible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.footer__srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 980px) {
    .footer__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .footer__main {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer__meta {
        justify-items: start;
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .footer__animate,
    .footer__link,
    .footer__social {
        transition: none;
        transform: none;
    }

    .footer__animate {
        opacity: 1;
    }
}


/* =========================
   Footer (includes/rodape.php)
   ========================= */

   
/* =========================
   Contato (contato.php)
   ========================= */
.contato {
    padding: var(--layout-main-padding-block) 0 clamp(36px, 6vw, 72px);
}

.contato__container {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: 0 var(--layout-content-padding-inline);
    display: grid;
    gap: clamp(24px, 3.3vw, 36px);
}



.contato__hero-bg,
.contato__map-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.contato__hero-bg {
    position: absolute;
    inset: 0;
}

.contato__hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(var(--cor-primaria-rgb), 0.38), rgba(var(--cor-primaria-rgb), 0.1));
}

.contato__hero-content {
    position: relative;
    z-index: 1;
    max-width: 560px;
    padding: clamp(28px, 5vw, 58px);
    color: var(--color-preto);
}

.contato__hero-content h1 {
    margin: 0 0 12px;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    line-height: 1.08;
}

.contato__hero-content p {
    margin: 0;
    font-size: clamp(1.02rem, 1.8vw, 1.45rem);
    line-height: 1.5;
}

.contato__main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(20px, 2.8vw, 34px);
    align-items: start;
    max-width: 860px;
    margin: 0 auto;
}

.contato__card,
.contato__info-card,
.contato__map-card,
.contato__map-mini {
    background: var(--color-branco);
    border-radius: 22px;
    box-shadow: 0 14px 28px rgba(var(--cor-primaria-rgb), 0.09);
}

.contato__card {
    padding: clamp(24px, 3.8vw, 42px);
}

.contato__card h2,
.contato__info-card h2 {
    margin: 0 0 10px;
    color: var(--cor-primaria);
    font-size: clamp(1.7rem, 2.7vw, 2.9rem);
    line-height: 1.18;
}

.contato__subtitle {
    margin: 0 0 24px;
    color: rgba(var(--cor-primaria-rgb), 0.72);
    font-size: clamp(1rem, 1.25vw, 1.08rem);
    line-height: 1.58;
}

.contato__form {
    display: grid;
    gap: 14px;
}

.contato__field-group {
    display: grid;
    gap: 7px;
}

.contato__field-group label {
    color: var(--cor-primaria);
    font-weight: 600;
    font-size: 0.98rem;
}

.contato__input-wrap {
    display: flex;
    align-items: center;
    background: var(--color-branco);
    border-radius: 16px;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.16);
    box-shadow: 0 8px 14px rgba(var(--cor-primaria-rgb), 0.06);
    padding: 0 14px;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.contato__input-wrap:focus-within {
    border-color: rgba(var(--cor-secundaria-rgb), 0.52);
    box-shadow: 0 0 0 3px rgba(var(--cor-secundaria-rgb), 0.15);
}

.contato__icon {
    width: 22px;
    height: 22px;
    margin-right: 10px;
    color: rgba(var(--cor-primaria-rgb), 0.6);
    display: inline-flex;
    flex: 0 0 auto;
}

.contato__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.contato__input-wrap input,
.contato__input-wrap textarea {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--cor-primaria);
    font-size: 1rem;
    font-family: inherit;
    padding: 14px 0;
}

.contato__input-wrap textarea {
    min-height: 116px;
    resize: vertical;
}

.contato__error {
    min-height: 1.1em;
    margin: 0;
    color: var(--cor-secundaria);
    font-size: 0.88rem;
}

.contato__input-wrap input[aria-invalid="true"],
.contato__input-wrap textarea[aria-invalid="true"] {
    color: var(--cor-secundaria);
}

.contato__submit,
.contato__map-button {
    border: 0;
    border-radius: 999px;
    padding: 14px 28px;
    min-height: 52px;
    font-family: inherit;
    font-size: 1.08rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--color-branco);
    background: linear-gradient(135deg, var(--cor-secundaria), rgba(var(--cor-secundaria-rgb), 0.86));
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.contato__submit:hover,
.contato__map-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(var(--cor-secundaria-rgb), 0.3);
    filter: saturate(1.05);
}

.contato__submit:focus-visible,
.contato__map-button:focus-visible,
.contato__info-list a:focus-visible,
.contato__social-links a:focus-visible {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), 0.35);
    outline-offset: 3px;
}

.contato__info-card {
    padding: clamp(22px, 3.2vw, 34px);
}

.contato__info-list {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}

.contato__info-list li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(var(--cor-primaria-rgb), 0.12);
}

.contato__info-list li:last-child {
    border-bottom: 0;
}

.contato__badge {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-branco);
}

.contato__badge svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.contato__badge--pink { background: var(--cor-secundaria); }
.contato__badge--yellow { background: var(--cor-secundaria-alt); }
.contato__badge--green { background: #4a9f5a; }

.contato__info-list strong,
.contato__social h3 {
    display: block;
    margin: 0 0 4px;
    color: var(--cor-primaria);
    font-size: 1.1rem;
}

.contato__info-list a,
.contato__info-list span {
    color: rgba(var(--cor-primaria-rgb), 0.86);
    text-decoration: none;
    line-height: 1.45;
}

.contato__social {
    margin-top: 16px;
    padding-top: 10px;
    border-top: 1px solid rgba(var(--cor-primaria-rgb), 0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.contato__social-links {
    display: flex;
    gap: 10px;
}

.contato__social-links a {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: var(--color-branco);
    background: var(--cor-primaria);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 180ms ease, filter 180ms ease;
}

.contato__social-links a:nth-child(2) {
    background: #1f7fbf;
}

.contato__social-links a:nth-child(3) {
    background: var(--cor-secundaria);
}

.contato__social-links a:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}

.contato__social-links svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.contato__pin {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--cor-secundaria);
    color: var(--color-branco);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.contato__pin svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.contato__reveal {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    transition: opacity 500ms ease, transform 500ms ease;
}

.contato__is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (max-width: 980px) {
    .contato__main-grid {
        grid-template-columns: 1fr;
    }

    .contato__hero-content {
        max-width: 86%;
    }
}

@media (max-width: 620px) {
    .contato__card,
    .contato__info-card {
        padding: 22px 18px;
    }

    .contato__submit,
    .contato__map-button {
        width: 100%;
    }

    .contato__map-content,
    .contato__map-mini-card {
        width: calc(100% - 28px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .contato__reveal,
    .contato__submit,
    .contato__map-button,
    .contato__social-links a {
        transition: none;
        transform: none;
    }

    .contato__reveal {
        opacity: 1;
    }
}

/* =========================
   Tipos de cadastro (cadastrotipos.php)
   ========================= */
.ct__page {
    padding: clamp(18px, 3vw, 34px) 0 clamp(46px, 6vw, 72px);
    background: linear-gradient(180deg, rgba(var(--cor-primaria-rgb), 0.02) 0%, rgba(var(--cor-secundaria-rgb), 0.03) 100%);
}

.ct__container {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: 0 var(--layout-content-padding-inline);
    display: grid;
    gap: clamp(28px, 4vw, 44px);
}

.ct__hero {
    position: relative;
    width: 100vw;
    min-height: clamp(380px, 46vw, 560px);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 0;
    isolation: isolate;
    background-image: url('../img/PONTE%20IDV-13.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.ct__hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(var(--cor-primaria-rgb), 0.66) 0%, rgba(var(--cor-primaria-rgb), 0.48) 42%, rgba(var(--cor-primaria-rgb), 0.24) 100%);
}

.ct__hero-content {
    position: relative;
    z-index: 2;
    max-width: min(760px, 100%);
    padding: clamp(28px, 5vw, 62px);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ct__hero-content h1,
.ct__section-head h2,
.ct__faq-content h2 {
    margin: 0;
    color: var(--color-azul);
    line-height: 1.1;
    font-weight: 700;
}

.ct__hero-content h1 {
    font-size: clamp(2rem, 4.6vw, 4rem);
}

.ct__hero-content p,
.ct__section-head p,
.ct__tipo-card p,
.ct__benefit-card p,
.ct__faq-content p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.86);
    line-height: 1.4;
}

.ct__hero-content h1,
.ct__hero-content p {
    color: var(--color-branco);
}

.ct__hero-content p {
    font-size: clamp(1.04rem, 1.8vw, 1.96rem);
    max-width: 31ch;
    margin: 1rem auto 0;
}

.ct__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    text-decoration: none;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.ct__btn--primary {
    margin-top: 1.4rem;
    min-height: 52px;
    padding: 0.7rem 2.2rem;
    background: var(--color-rosa);
    color: var(--color-branco);
    box-shadow: 0 10px 24px rgba(var(--cor-secundaria-rgb), 0.35);
}

.ct__btn--light {
    min-height: 52px;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    color: var(--color-azul);
    box-shadow: inset 0 0 0 1px rgba(var(--cor-primaria-rgb), 0.08);
}

.ct__btn:hover {
    transform: translateY(-2px);
}

.ct__btn:focus-visible,
.ct__tipo-card:focus-within,
.ct__benefit-card:focus-within {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), 0.45);
    outline-offset: 3px;
}

.ct__section {
    display: grid;
    gap: clamp(20px, 2.9vw, 28px);
}

.ct__section-head {
    text-align: center;
    max-width: 840px;
    margin: 0 auto;
    display: grid;
    gap: 0.9rem;
}

.ct__section-head h2,
.ct__faq-content h2 {
    font-size: clamp(2.1rem, 4.1vw, 3.6rem);
}

.ct__section-head p {
    font-size: clamp(1.05rem, 1.7vw, 1.85rem);
}

.ct__cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.ct__tipo-card {
    border-radius: 26px;
    padding: clamp(18px, 2.3vw, 30px);
    box-shadow: 0 12px 24px rgba(var(--cor-primaria-rgb), 0.11);
    display: grid;
    gap: 1rem;
    align-items: start;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.ct__tipo-card:hover,
.ct__benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 28px rgba(var(--cor-primaria-rgb), 0.15);
}

.ct__tipo-card h3,
.ct__benefit-card h3 {
    margin: 0;
    color: var(--color-azul);
    font-size: clamp(1.8rem, 2.6vw, 2.6rem);
}

.ct__tipo-card p {
    font-size: clamp(1.05rem, 1.4vw, 1.5rem);
}

.ct__tipo-card img {
    width: min(62%, 220px);
    margin: auto auto 0;
    display: block;
    object-fit: contain;
    max-height: 180px;
}

.ct__tipo-card--prof {
    background: linear-gradient(180deg, rgba(var(--cor-secundaria-alt-rgb), 0.88) 0%, rgba(var(--cor-secundaria-alt-rgb), 0.76) 100%);
}

.ct__tipo-card--clin {
    background: linear-gradient(180deg, rgba(var(--cor-detalhes-rgb), 0.9) 0%, rgba(var(--cor-detalhes-rgb), 0.72) 100%);
}

.ct__tipo-card--pac {
    background: linear-gradient(180deg, rgba(var(--cor-secundaria-rgb), 0.9) 0%, rgba(var(--cor-secundaria-rgb), 0.8) 100%);
}

.ct__tipo-card--pac h3,
.ct__tipo-card--pac p {
    color: #fff;
}

.ct__benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 1.8vw, 20px);
}

.ct__benefit-card {
    border-radius: 20px;
    background: linear-gradient(120deg, rgba(var(--cor-detalhes-rgb), 0.65) 0%, rgba(var(--cor-secundaria-rgb), 0.11) 100%);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 6px 16px rgba(var(--cor-primaria-rgb), 0.08);
    padding: clamp(18px, 2vw, 24px);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.ct__benefit-icon {
    font-size: clamp(1.7rem, 2.2vw, 2.3rem);
    line-height: 1;
}

.ct__benefit-card h3 {
    font-size: clamp(1.4rem, 2vw, 2.1rem);
    margin-bottom: 0.4rem;
}

.ct__benefit-card p,
.ct__faq-content p {
    font-size: clamp(1rem, 1.4vw, 1.4rem);
}

.ct__faq {
    border-radius: 24px;
    background: linear-gradient(90deg, rgba(var(--cor-detalhes-rgb), 0.7) 0%, rgba(var(--cor-secundaria-rgb), 0.12) 100%);
    box-shadow: 0 10px 24px rgba(var(--cor-primaria-rgb), 0.1);
    padding: clamp(18px, 3vw, 34px);
    display: grid;
    gap: clamp(20px, 2vw, 30px);
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.ct__faq-content {
    display: grid;
    gap: 1rem;
}

.ct__faq-image-wrap {
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.38);
}

.ct__faq-image-wrap img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.ct__reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 560ms ease, transform 560ms ease;
}

.ct__is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 980px) {
    .ct__cards-grid {
        grid-template-columns: 1fr;
    }

    .ct__benefits-grid,
    .ct__faq {
        grid-template-columns: 1fr;
    }

    .ct__hero-content {
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ct__reveal,
    .ct__btn,
    .ct__tipo-card,
    .ct__benefit-card {
        transition: none;
        transform: none;
    }
}

/* =========================
   Sobre (sobre.php)
   ========================= */
.sobre__main {
    padding: var(--layout-main-padding-block) 0 clamp(42px, 7vw, 80px);
    background: linear-gradient(180deg, rgba(var(--cor-detalhes-rgb), 0.3), rgba(255, 255, 255, 0.92) 18%, #fff 100%);
}

.sobre__container {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding-inline: var(--layout-content-padding-inline);
    display: grid;
    gap: clamp(34px, 5vw, 56px);
}

.sobre__hero {
    position: relative;
    border-radius: 26px;
    min-height: clamp(330px, 43vw, 470px);
    overflow: hidden;
    box-shadow: 0 20px 42px rgba(var(--cor-primaria-rgb), 0.18);
}

.sobre__hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sobre__hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(var(--cor-primaria-rgb), 0.42) 0%, rgba(var(--cor-primaria-rgb), 0.2) 42%, rgba(var(--cor-secundaria-rgb), 0.2) 100%);
}

.sobre__hero-content {
    position: relative;
    z-index: 2;
    padding: clamp(28px, 6vw, 66px);
    max-width: 620px;
    display: grid;
    gap: 18px;
}

.sobre__hero h1 {
    margin: 0;
    color: var(--color-branco);
    font-size: clamp(2.2rem, 5.6vw, 4.2rem);
    font-style: italic;
    font-weight: 500;
    line-height: 1.05;
}

.sobre__hero p {
    margin: 0;
    color: rgba(255, 255, 255, 0.96);
    font-size: clamp(1rem, 1.9vw, 1.8rem);
    line-height: 1.45;
    max-width: 37ch;
}

.sobre__btn {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 34px;
    border-radius: 999px;
    text-decoration: none;
    border: 0;
    background: var(--cor-secundaria);
    color: var(--color-branco);
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: 0 12px 26px rgba(var(--cor-secundaria-rgb), 0.26);
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.sobre__btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
    box-shadow: 0 14px 28px rgba(var(--cor-secundaria-rgb), 0.34);
}

.sobre__section {
    display: grid;
    gap: clamp(18px, 3vw, 24px);
}

.sobre__section h2 {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-style: italic;
    font-weight: 500;
}

.sobre__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: clamp(22px, 3.4vw, 34px);
    align-items: start;
}

.sobre__col {
    display: grid;
    gap: 22px;
}

.sobre__col p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.9);
    line-height: 1.45;
    font-size: clamp(1rem, 1.35vw, 1.95rem);
}

.sobre__card {
    border-radius: 24px;
    border: 1px solid rgba(var(--cor-detalhes-rgb), 0.86);
    background: rgba(247, 248, 251, 0.96);
    box-shadow: 0 14px 30px rgba(var(--cor-primaria-rgb), 0.08);
}

.sobre__card h3 {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(1.45rem, 2.6vw, 2.5rem);
    font-style: italic;
    font-weight: 500;
}

.sobre__card--highlight {
    padding: clamp(20px, 2.8vw, 30px);
    display: grid;
    gap: 20px;
}

.sobre__benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.sobre__benefit-box {
    border-radius: 18px;
    padding: 16px;
    display: grid;
    gap: 10px;
}

.sobre__benefit-box--a { background: rgba(107, 148, 227, 0.16); }
.sobre__benefit-box--b { background: rgba(190, 204, 46, 0.2); }
.sobre__benefit-box--c { background: rgba(191, 58, 135, 0.1); }
.sobre__benefit-box--full { grid-column: 1 / -1; }

.sobre__benefit-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-branco);
    color: var(--cor-secundaria);
    box-shadow: inset 0 0 0 1px rgba(var(--cor-primaria-rgb), 0.08);
}

.sobre__benefit-icon svg {
    width: 26px;
    height: 26px;
}

.sobre__benefit-box h4,
.sobre__list-item h4 {
    margin: 0 0 4px;
    color: var(--cor-primaria);
    font-size: clamp(1.06rem, 1.8vw, 1.7rem);
}

.sobre__benefit-box p,
.sobre__list-item p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.88);
    font-size: clamp(0.95rem, 1.2vw, 1.35rem);
    line-height: 1.45;
}

.sobre__card--compact {
    padding: clamp(20px, 2.8vw, 30px);
    display: grid;
    gap: 16px;
}

.sobre__list-item {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(var(--cor-detalhes-rgb), 0.75);
}

.sobre__list-item:last-of-type {
    padding-bottom: 0;
    border-bottom: 0;
}

.sobre__dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    margin-top: 8px;
}

.sobre__dot--a { background: #5f95e5; }
.sobre__dot--b { background: var(--cor-secundaria-alt); }
.sobre__dot--c { background: var(--cor-secundaria); }

.sobre__photo-card {
    margin: 0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 16px 28px rgba(var(--cor-primaria-rgb), 0.14);
    min-height: clamp(240px, 28vw, 390px);
}

.sobre__photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sobre__history {
    position: relative;
    padding-top: clamp(8px, 1vw, 14px);
}

.sobre__shape {
    position: absolute;
    width: clamp(80px, 12vw, 160px);
    opacity: 0.82;
    pointer-events: none;
}

.sobre__shape--left {
    left: -12px;
    top: 36px;
}

.sobre__shape--right {
    right: -12px;
    top: 40px;
}

.sobre__timeline {
    --timeline-dot-size: 20px;
    --timeline-track-space: 34px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 1.8vw, 22px);
    overflow-x: auto;
    padding: 18px 4px calc(var(--timeline-track-space) + 12px);
    position: relative;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--cor-secundaria-rgb), 0.52) rgba(var(--cor-detalhes-rgb), 0.28);
}

.sobre__timeline::before {
    content: '';
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: calc(var(--timeline-track-space) + (var(--timeline-dot-size) / 2) - 2px);
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(var(--cor-secundaria-alt-rgb), 0.92), rgba(var(--cor-secundaria-rgb), 0.9));
    z-index: 0;
}

.sobre__timeline-card {
    position: relative;
    z-index: 1;
    border-radius: 22px;
    padding: clamp(20px, 2.1vw, 28px);
    background: rgba(250, 250, 252, 0.97);
    border: 1px solid rgba(var(--cor-detalhes-rgb), 0.86);
    box-shadow: 0 16px 26px rgba(var(--cor-primaria-rgb), 0.08);
    min-height: 180px;
    transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}

.sobre__timeline-card::after {
    content: '';
    position: absolute;
    left: clamp(26px, 3vw, 34px);
    bottom: calc((var(--timeline-track-space) * -1) + 2px);
    width: var(--timeline-dot-size);
    height: var(--timeline-dot-size);
    border-radius: 50%;
    background: var(--color-branco);
    border: 5px solid var(--cor-secundaria);
    box-shadow: 0 0 0 3px rgba(var(--cor-secundaria-rgb), 0.2);
}

.sobre__timeline-year {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--cor-secundaria);
    font-size: clamp(1.35rem, 2.5vw, 2.2rem);
    font-weight: 800;
}

.sobre__timeline-card h3 {
    margin: 0 0 8px;
    color: var(--cor-primaria);
    font-size: clamp(1.2rem, 2vw, 1.6rem);
}

.sobre__timeline-card p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.88);
    line-height: 1.45;
}

.sobre__timeline-card:hover {
    transform: translateY(-6px);
    border-color: rgba(var(--cor-secundaria-rgb), 0.35);
    box-shadow: 0 18px 30px rgba(var(--cor-primaria-rgb), 0.14);
}

.sobre__timeline::-webkit-scrollbar {
    height: 9px;
}

.sobre__timeline::-webkit-scrollbar-track {
    background: rgba(var(--cor-detalhes-rgb), 0.18);
    border-radius: 999px;
}

.sobre__timeline::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, rgba(var(--cor-secundaria-alt-rgb), 0.7), rgba(var(--cor-secundaria-rgb), 0.74));
    border-radius: 999px;
}

.sobre__brand {
    display: flex;
    justify-content: center;
    padding-top: 6px;
}

.sobre__brand img {
    width: min(250px, 58vw);
    height: auto;
}

.sobre__btn:focus-visible,
.sobre__timeline-card:focus-visible,
.sobre__list-item:focus-visible {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), 0.6);
    outline-offset: 3px;
}

.sobre__reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 520ms ease, transform 520ms ease;
}

.sobre__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 980px) {
    .sobre__grid {
        grid-template-columns: 1fr;
    }

    .sobre__hero {
        min-height: 310px;
    }
}

@media (max-width: 720px) {
    .sobre__hero-content {
        max-width: 100%;
    }

    .sobre__benefit-grid {
        grid-template-columns: 1fr;
    }

    .sobre__benefit-box--full {
        grid-column: auto;
    }

    .sobre__timeline {
        grid-auto-flow: column;
        grid-auto-columns: minmax(260px, 82vw);
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
    }

    .sobre__timeline-card {
        scroll-snap-align: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sobre__btn,
    .sobre__reveal {
        transition: none;
    }

    .sobre__reveal {
        opacity: 1;
        transform: none;
    }
}

/* =========================
   Login (conectar.php)
   ========================= */
.login__main {
    min-height: calc(100vh - 120px);
}

.login__hero {
    position: relative;
    min-height: calc(100vh - 120px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(28px, 5vw, 48px) var(--layout-content-padding-inline);
    overflow: hidden;
    isolation: isolate;
}

.login__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -3;

    opacity: 0;
    transform: scale(1.05);
    animation: bgEntrance 1.2s ease-out forwards;
}

@keyframes bgEntrance {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.login__overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 14% 80%, rgba(var(--cor-secundaria-alt-rgb), 0.18), transparent 36%),
        linear-gradient(160deg, rgba(255, 255, 255, 0.14), rgba(var(--cor-primaria-rgb), 0.2));
    z-index: -2;
}

.login__blob {
    position: absolute;
    left: clamp(-8px, -1vw, 0px);
    bottom: 0;
    width: min(270px, 45vw);
    opacity: 0.92;
    z-index: -1;
    pointer-events: none;
}

.login__container {
    width: min(100%, 500px);
}

.login__card {
    border-radius: 26px;
    padding: clamp(20px, 4vw, 30px);
    background: rgba(255, 255, 255, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 18px 45px rgba(var(--cor-primaria-rgb), 0.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    animation: login__entry 500ms ease-out both;
}

.login__header {
    text-align: center;
}

.login__logo {
    width: clamp(150px, 36vw, 220px);
    height: auto;
    object-fit: contain;
    margin-inline: auto;
    margin-bottom: 10px;
}

.login__logo-text {
    font-size: clamp(2rem, 6vw, 3rem);
    font-weight: 700;
    color: var(--color-azul);
    display: inline-block;
    margin-bottom: 10px;
}

.login__header h1 {
    color: var(--color-azul);
    font-size: clamp(1.45rem, 3.2vw, 2.2rem);
    line-height: 1.15;
    margin: 0;
}

.login__header p {
    color: rgba(var(--cor-primaria-rgb), 0.8);
    font-size: clamp(0.92rem, 1.9vw, 1.05rem);
    margin: 12px 0 0;
}

.login__form-panel {
    margin-top: clamp(22px, 4vw, 30px);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.65);
    padding: clamp(16px, 3.5vw, 24px);
    box-shadow: 0 12px 32px rgba(var(--cor-primaria-rgb), 0.12);
}

.login__form {
    display: grid;
    gap: 12px;
}

.form-group,
.login__field-group {
    position: relative;
    width: 100%;
    display: grid;
    gap: 8px;
    margin-bottom: 0;
}

.input-wrapper,
.login__input-wrap {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.18);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    padding-inline: 14px;
    min-height: 52px;
    box-sizing: border-box;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.login__input-wrap:focus-within {
    border-color: rgba(var(--cor-secundaria-rgb), 0.52);
    box-shadow: 0 0 0 4px rgba(var(--cor-secundaria-rgb), 0.12);
}

.login__icon {
    width: 20px;
    height: 20px;
    color: rgba(var(--cor-primaria-rgb), 0.55);
    flex: 0 0 auto;
    margin-right: 12px;
}

.input-wrapper input,
.login__input {
    flex: 1;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 0;
    background: transparent;
    color: var(--color-azul);
    font-size: 1.05rem;
    padding: 8px 0;
    font-family: inherit;
}

.login__input::placeholder {
    color: rgba(var(--cor-primaria-rgb), 0.5);
}

.login__input:focus {
    outline: none;
}

.login__password-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-top: 2px;
}

.login__text-link {
    align-self: center;
    color: var(--color-rosa);
    font-weight: 600;
    font-size: 0.98rem;
    text-decoration: none;
    white-space: nowrap;
}

.login__text-link:hover {
    text-decoration: underline;
}

.login__remember {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 4px 0 10px;
}

.login__remember input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--cor-secundaria-alt);
}

.login__remember label {
    color: rgba(var(--cor-primaria-rgb), 0.88);
    font-size: 0.95rem;
    font-weight: 500;
}

.login__submit {
    margin-top: 2px;
    width: 100%;
    border: 0;
    border-radius: 999px;
    padding: 14px 20px;
    font-size: clamp(1rem, 2.4vw, 1.35rem);
    font-weight: 700;
    color: var(--color-branco);
    cursor: pointer;
    background: linear-gradient(135deg, #e84ea3 0%, var(--color-rosa) 45%, #d62d8a 100%);
    box-shadow: 0 12px 24px rgba(var(--cor-secundaria-rgb), 0.32);
    transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 52px;
}

.login__submit:hover {
    transform: translateY(-1px);
    filter: saturate(1.06);
}

.login__submit:active {
    transform: translateY(0);
}

.login__spinner {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-top-color: var(--color-branco);
    position: absolute;
    right: 18px;
    opacity: 0;
}

.login__submit.is-loading .login__spinner {
    opacity: 1;
    animation: login__spin 700ms linear infinite;
}

.login__submit.is-loading .login__submit-label {
    transform: translateX(-8px);
}

.login__submit:disabled {
    cursor: progress;
    opacity: 0.9;
}

.login__divider {
    height: 1px;
    width: 100%;
    background: rgba(var(--cor-primaria-rgb), 0.14);
    margin: 10px 0 8px;
}

.login__signup-call {
    text-align: center;
    color: rgba(var(--cor-primaria-rgb), 0.85);
    font-size: 0.98rem;
    margin: 0;
}

.login__signup-link {
    text-align: center;
    color: var(--color-rosa);
    text-decoration: none;
    font-weight: 700;
    font-size: clamp(1rem, 2.5vw, 1.55rem);
    margin-bottom: 4px;
}

.login__signup-link:hover {
    text-decoration: underline;
}

.login-field,
.form-group,
.login__field-group {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.login__form .field-error {
    display: none !important;
}
.login__server-message {
    margin: 0 0 8px;
    border-radius: 10px;
    padding: 10px 12px;
    background: rgba(var(--cor-secundaria-rgb), 0.1);
    color: var(--color-azul);
    font-size: 0.92rem;
}

.login__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.login__input[aria-invalid="true"] {
    color: #811042;
}

.login__input[aria-invalid="true"]::placeholder {
    color: rgba(129, 16, 66, 0.55);
}

.login__input:focus-visible,
.login__text-link:focus-visible,
.login__remember input[type="checkbox"]:focus-visible,
.login__submit:focus-visible,
.login__signup-link:focus-visible {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), 0.38);
    outline-offset: 2px;
    border-radius: 10px;
}

@keyframes login__entry {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes login__spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 680px) {
    .login__hero,
    .login__main {
        min-height: auto;
    }

    .login__card {
        border-radius: 22px;
    }

    .login__form-panel {
        border-radius: 20px;
    }

    .login__password-row {
        grid-template-columns: 1fr;
    }

    .login__text-link {
        justify-self: start;
        margin-left: 0;
        white-space: normal;
    }

    .login__input {
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .login__card,
    .login__input-wrap,
    .login__submit,
    .login__spinner {
        animation: none;
        transition: none;
    }
}

/* =========================
   Página Encontre v2
   ========================= */
.encontre2 {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: clamp(24px, 4vw, 48px) var(--layout-content-padding-inline) clamp(56px, 7vw, 80px);
    display: grid;
    gap: clamp(34px, 6vw, 64px);
}

.encontre2__section {
    display: grid;
    gap: clamp(16px, 2.4vw, 24px);
}

.encontre2__hero {
    position: relative;
    min-height: clamp(250px, 36vw, 380px);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 38px rgba(var(--cor-primaria-rgb), 0.14);
    isolation: isolate;
    display: grid;
    align-items: center;
    justify-items: center;
    text-align: center;
    padding: clamp(24px, 5vw, 44px);
}

.encontre2__heroMedia {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
    opacity: 1;
    mix-blend-mode: normal;
}

.encontre2__heroOverlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: transparent;
    background-blend-mode: normal;
}


.encontre2__heroContent {
    position: relative;
    z-index: 2;
    max-width: 680px;
}

.encontre2__hero h1 {
    margin: 0 0 0.45em;
    color: var(--cor-primaria);
    font-size: clamp(2.2rem, 6.4vw, 4rem);
    font-weight: 600;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.encontre2__hero p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.86);
    font-size: clamp(1rem, 2.1vw, 1.5rem);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.encontre2__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2.6vw, 24px);
}

.encontre2__choiceCard {
    border-radius: 24px;
    padding: clamp(18px, 2.6vw, 28px);
    box-shadow: 0 14px 32px rgba(var(--cor-primaria-rgb), 0.11);
    display: grid;
    gap: 1rem;
    align-content: start;
    justify-items: center;
    text-align: center;
    transition: transform 240ms ease, box-shadow 240ms ease, filter 240ms ease;
}

.encontre2__choiceCard:only-child {
    grid-column: 1 / -1;
    width: min(100%, 960px);
    justify-self: center;
}

.encontre2__choiceCard--profissionais {
    background: url("/img/PONTE IDV-18.png") center / cover no-repeat;
    min-height: clamp(320px, 32vw, 420px);
    padding-block: clamp(56px, 7vw, 96px);
}

.encontre2__choiceCard--split {
    grid-template-columns: minmax(280px, 48%) minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    justify-items: stretch;
    overflow: hidden;
    padding: 0;
    text-align: left;
    background: var(--color-branco);
    min-height: clamp(360px, 36vw, 470px);
}

.encontre2__choiceCard--split:only-child {
    width: min(100%, 1080px);
}

.encontre2__choiceMedia {
    min-height: 100%;
    overflow: hidden;
    background: rgba(var(--cor-primaria-rgb), 0.08);
}

.encontre2__choiceCard--vagas {
    background: linear-gradient(160deg, rgba(var(--cor-secundaria-alt-rgb), 0.18), rgba(255, 255, 255, 0.88));
}

.encontre2__choiceImageWrap {
    width: min(180px, 46%);
    justify-self: center;
    overflow: hidden;
    border-radius: 22px;
}

.encontre2__choiceImage {
    width: 100%;
    height: auto;
    display: block;
    transform: scale(1);
    transform-origin: center;
    transition: transform 480ms cubic-bezier(0.22, 1, 0.36, 1), filter 480ms ease;
    will-change: transform;
}

.encontre2__choiceImage--cover {
    width: 100%;
    height: 100%;
    min-height: clamp(360px, 36vw, 470px);
    object-fit: cover;
    object-position: center;
}

.encontre2__choiceContent--split {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: clamp(14px, 2vw, 22px);
    padding: clamp(28px, 5vw, 70px);
}

.encontre2__choiceDivider {
    display: block;
    width: min(220px, 62%);
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(var(--cor-secundaria-rgb), 1), rgba(var(--cor-secundaria-rgb), 0.35));
}

.encontre2__choiceCard:hover .encontre2__choiceImage,
.encontre2__choiceCard:focus-within .encontre2__choiceImage {
    transform: scale(1.12);
    filter: saturate(1.05);
}

.encontre2__choiceContent h3 {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(1.4rem, 2.8vw, 2.05rem);
    line-height: 1.15;
}

.encontre2__choiceContent p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.86);
    font-size: clamp(1rem, 1.9vw, 1.2rem);
    line-height: 1.45;
}

.encontre2__btn {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    padding: 0.78rem 1.6rem;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    font-weight: 700;
    line-height: 1;
    transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

.encontre2__btn--rosa {
    color: var(--color-branco);
    background: linear-gradient(130deg, rgba(var(--cor-secundaria-rgb), 1), rgba(var(--cor-secundaria-rgb), 0.82));
}

.encontre2__choiceCard--profissionais .encontre2__choiceContent h3 {
    font-size: clamp(1.75rem, 3.4vw, 2.55rem);
}

.encontre2__choiceCard--profissionais .encontre2__choiceContent p {
    font-size: clamp(1.18rem, 2.25vw, 1.45rem);
    line-height: 1.42;
}

.encontre2__choiceCard--profissionais .encontre2__btn--rosa {
    display: flex;
    width: max-content;
    min-width: 234px;
    margin-inline: auto;
    padding: 0.95rem 2.2rem;
    font-size: clamp(1.22rem, 2vw, 1.58rem);
}

.encontre2__choiceCard--split .encontre2__choiceContent h3 {
    max-width: 540px;
    font-size: clamp(1.8rem, 3.2vw, 2.8rem);
    font-weight: 700;
}

.encontre2__choiceCard--split .encontre2__choiceContent p {
    max-width: 620px;
    font-size: clamp(1rem, 1.6vw, 1.22rem);
}

.encontre2__choiceCard--split .encontre2__btn--rosa {
    margin-inline: 0;
}

.encontre2__btn--amarelo {
    color: var(--cor-primaria);
    background: linear-gradient(130deg, rgba(var(--cor-secundaria-alt-rgb), 0.96), rgba(var(--cor-secundaria-alt-rgb), 0.76));
}

.encontre2__choiceCard:hover,
.encontre2__choiceCard:focus-within,
.encontre2__featureCard:hover,
.encontre2__cta:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 34px rgba(var(--cor-primaria-rgb), 0.17);
}

.encontre2__choiceCard:hover,
.encontre2__choiceCard:focus-within,
.encontre2__featureCard:hover {
    filter: brightness(1.015);
}

.encontre2__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 20px rgba(var(--cor-primaria-rgb), 0.2);
}

.encontre2__btn:focus-visible,
.encontre2__choiceCard a:focus-visible {
    outline: 3px solid rgba(var(--cor-primaria-rgb), 0.45);
    outline-offset: 3px;
}

.encontre2__sectionHeading {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
}

.encontre2__sectionHeading h2,
.encontre2__cta h2 {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 600;
}

.encontre2__sectionHeading p,
.encontre2__cta p {
    margin: 0.6rem 0 0;
    color: rgba(var(--cor-primaria-rgb), 0.84);
    font-size: clamp(1rem, 1.9vw, 1.45rem);
}

.encontre2__features {
    width: 100%;
    max-width: 100%;
    overflow: visible;
    border-radius: 30px;
    padding: clamp(18px, 3vw, 30px);
    background: transparent;
    border: 0;
    box-shadow: none;
}

.encontre2__featuresGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible;
    transform: none;
}

.encontre2__featureCard {
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    transform: none;
    min-height: 248px;
    padding: clamp(20px, 2.4vw, 28px);
    border: 1.5px solid rgba(var(--cor-secundaria-rgb), 0.62);
    border-radius: 26px;
    background: #ffffff;
    box-shadow:
        0 0 0 1px rgba(var(--cor-secundaria-rgb), 0.10),
        0 0 18px rgba(var(--cor-secundaria-rgb), 0.25),
        0 12px 28px rgba(var(--cor-secundaria-rgb), 0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease, border-color 220ms ease;
}

.encontre2__featureCard:hover,
.encontre2__featureCard:focus-within {
    transform: translateY(-4px);
    box-shadow:
        0 0 0 1px rgba(var(--cor-secundaria-rgb), 0.18),
        0 0 24px rgba(var(--cor-secundaria-rgb), 0.36),
        0 16px 32px rgba(var(--cor-secundaria-rgb), 0.16);
    border-color: rgba(var(--cor-secundaria-rgb), 0.78);
    filter: brightness(1.01);
}

.encontre2__featureIcon {
    width: clamp(62px, 6vw, 78px);
    height: clamp(62px, 6vw, 78px);
    object-fit: contain;
    margin: 0 auto 1rem;
    display: block;
}

.encontre2__featureCard h3 {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(1.25rem, 1.9vw, 1.6rem);
    font-weight: 700;
}

.encontre2__featureCard p {
    margin: 0.55rem 0 0;
    color: rgba(var(--cor-primaria-rgb), 0.84);
    font-size: clamp(0.98rem, 1.4vw, 1.12rem);
    line-height: 1.5;
}

.encontre2__cta {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    padding: clamp(20px, 4vw, 38px);
    background: var(--color-branco);
    background-blend-mode: normal;
    box-shadow: 0 16px 34px rgba(var(--cor-primaria-rgb), 0.12);
    display: grid;
    grid-template-columns: 1fr minmax(240px, 36%);
    gap: clamp(18px, 2.6vw, 28px);
    align-items: center;
}

.encontre2__cta::before,
.encontre2__cta::after {
    content: none;
}

.encontre2__ctaContent,
.encontre2__ctaImageWrap {
    position: relative;
    z-index: 1;
}

.encontre2__ctaImage {
    width: 100%;
    max-width: 380px;
    margin-left: auto;
    display: block;
    height: auto;
    filter: none;
    opacity: 1;
    mix-blend-mode: normal;
}

.encontre2__reveal {
    opacity: 1;
    transform: none;
}

.js-enabled .encontre2__reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 500ms ease, transform 500ms ease;
}

.js-enabled .encontre2__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.js-enabled .encontre2__hero.encontre2__reveal,
.js-enabled .encontre2__cta.encontre2__reveal {
    opacity: 1;
    transform: none;
}

.encontre2__animatedCard {
    opacity: 1;
    transform: none;
}

.js-enabled .encontre2__animatedCard {
    opacity: 0;
    transform: translateY(60px);
    transition:
        opacity 0.8s ease var(--animation-delay, 0ms),
        transform 0.8s ease var(--animation-delay, 0ms),
        box-shadow 220ms ease,
        filter 220ms ease,
        border-color 220ms ease;
    will-change: opacity, transform;
}

.js-enabled .encontre2__animatedCard.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.js-enabled .encontre2__animatedCard.is-visible:hover,
.js-enabled .encontre2__animatedCard.is-visible:focus-within {
    transform: translateY(-4px);
}

.encontre2__srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 980px) {
    .encontre2__choices,
    .encontre2__cta {
        grid-template-columns: 1fr;
    }

    .encontre2__choiceImageWrap {
        width: min(150px, 48%);
    }

    .encontre2__choiceCard--split {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .encontre2__choiceMedia {
        min-height: clamp(240px, 56vw, 380px);
    }

    .encontre2__choiceImage--cover {
        min-height: clamp(240px, 56vw, 380px);
    }

    .encontre2__ctaImage {
        margin: 0 auto;
        max-width: min(340px, 100%);
    }

    .encontre2__featuresGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 640px) {
    .encontre2__hero {
        border-radius: 20px;
    }

    .encontre2__btn {
        width: 100%;
    }

    .encontre2__choiceContent--split {
        padding: 24px 20px 28px;
    }

    .encontre2__choiceCard--split .encontre2__btn--rosa {
        min-width: 0;
        width: 100%;
    }

    .encontre2__features {
        border-radius: 24px;
        padding: 16px;
    }

    .encontre2__featuresGrid {
        grid-template-columns: 1fr;
    }
}


@media (prefers-reduced-motion: reduce) {
    .encontre2__reveal,
    .encontre2__reveal.is-visible,
    .encontre2__animatedCard,
    .encontre2__animatedCard.is-visible,
    .encontre2__choiceCard,
    .encontre2__choiceImage,
    .encontre2__featureCard,
    .encontre2__btn,
    .encontre2__cta {
        opacity: 1 !important;
        transition: none !important;
        transform: none !important;
    }
}


/* cadastro.php */
.cad__page {
    background: #f5f6fb;
}

.cad__page--has-bg {
    background-image: url('/img/bg-cadastro.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.cad__main {
    position: relative;
}

.cad__hero-wrap {
    padding: 2rem 1rem 1rem;
}

.cad__hero {
    max-width: 1240px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(27, 48, 89, 0.08);
    display: grid;
    grid-template-columns: minmax(320px, 44%) 1fr;
    overflow: hidden;
}

.cad__hero-media {
    display: grid;
    place-items: center;
    min-height: 100%;
    background: #e8eefc;
}

.cad__hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 24px 0 0 24px;
}

.cad__hero-content {
    padding: 2rem 2rem 1.6rem;
}

.cad__title {
    color: #20305d;
    font-size: clamp(1.7rem, 2.2vw, 3rem);
    font-weight: 500;
    margin: 0;
}

.cad__title span {
    display: block;
    font-weight: 800;
    margin-top: 0.35rem;
}

.cad__subtitle {
    margin-top: 1rem;
    color: #4f5f85;
    font-size: 1.1rem;
}

.cad__form { margin-top: 1rem; }

.cad__field {
    position: relative;
}

.cad__field .form-label,
.cad__checkblock > .form-label,
.cad__profissoes label,
.cad__agenda + label,
.cad__form > .mb-3 > .form-label {
    color: #243867;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.cad__icon {
    position: absolute;
    left: 14px;
    top: 43px;
    width: 20px;
    height: 20px;
    color: #93a2c4;
    z-index: 2;
}

.cad__icon svg { width: 100%; height: 100%; fill: currentColor; }

.cad__field input,
.cad__field textarea,
.cad__field select,
#modeloAgenda,
#containerProfissoes select,
#formFile {
    width: 100%;
    border-radius: 14px;
    border: 1px solid #d8deee;
    min-height: 50px;
    padding-left: 44px;
    background-color: #fff;
}

.cad__field--no-icon select {
    padding-left: 0.95rem;
}

.cad__field textarea {
    min-height: 120px;
    padding-top: 0.85rem;
}

.cad__field--cep .cad__icon {
    left: 10px;
}

.cad__field--cep input {
    padding-left: 34px;
    padding-right: 0.6rem;
    font-size: 0.95rem;
}


@media (min-width: 768px) {
    .cad__form .cad__field--cidade {
        width: 41.666667%;
        max-width: 41.666667%;
        flex: 0 0 41.666667%;
    }

    .cad__form .cad__field--cep {
        width: 25%;
        max-width: 25%;
        flex: 0 0 25%;
    }
}

.cad__select select,
#containerProfissoes select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #90a0c8 50%), linear-gradient(135deg, #90a0c8 50%, transparent 50%);
    background-position: calc(100% - 22px) calc(1.1em + 2px), calc(100% - 16px) calc(1.1em + 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.cad__field input:focus-visible,
.cad__field textarea:focus-visible,
.cad__field select:focus-visible,
#modeloAgenda:focus-visible,
#formFile:focus-visible,
#flg_aceite_lgpd:focus-visible,
.addProfissao:focus-visible,
#botaoCprofissional:focus-visible,
.cad__login-link a:focus-visible {
    outline: 3px solid rgba(206, 67, 150, 0.25);
    outline-offset: 1px;
    border-color: #ce4396;
    box-shadow: none;
}

.cad__field-group--two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.cad__checkblock {
    border: 1px solid #e2e7f3;
    border-radius: 16px;
    padding: 0.8rem 1rem 0.5rem;
    background: #fdfdff;
}

.cad__choice-grid,
.cad__agenda {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.55rem 1rem;
}

.cad__agenda .dia {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 42px;
    padding: 0.45rem 0.65rem;
    border: 1px solid #d8deee;
    border-radius: 10px;
    background: #ffffff;
}

.cad__agenda .dia .form-check-input {
    margin-top: 0;
    flex-shrink: 0;
}

.cad__agenda .dia .form-check-label {
    margin-bottom: 0;
    color: #1e2e57;
    font-weight: 500;
    cursor: pointer;
}

.cad__choice-stack { display: grid; gap: 0.75rem; }

.cad__modalidade-list {
    display: grid;
    gap: 0.35rem;
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid #d8deee;
    border-radius: 12px;
    background: #ffffff;
    padding: 0.9rem 1rem;
}

.cad__modalidade-option {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #1e2e57;
    font-size: 1.05rem;
    cursor: pointer;
}

.cad__modalidade-option .form-check-input {
    margin-top: 0;
    flex-shrink: 0;
}

.cad__select-multiple {
    min-height: 170px;
    padding: 0.65rem 0.75rem;
}

.cad__help {
    display: block;
    margin-top: 0.45rem;
    color: #6b7280;
    font-size: 0.85rem;
}

.cad__conselho-item {
    border: 1px solid #e6ebf6;
    border-radius: 12px;
    padding: 0.75rem 0.85rem;
    background: #ffffff;
}

.cad__conselho-item .form-check {
    margin-bottom: 0;
}

.cad__conselho-item .form-check-label {
    cursor: pointer;
}

.cad__subfield { margin-top: 0.55rem; }

.is-hidden {
    display: none;
}

.cad__error { font-size: 0.85rem; }

.cad__profissoes {
    border: 1px dashed #d5ddec;
    border-radius: 16px;
    padding: 1rem;
}

.colecaoProfissao {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.colecaoProfissao.clone {
    position: relative;
}

.removeProfissao {
    position: absolute;
    top: -0.65rem;
    left: 0;
    border: 0;
    background: transparent;
    color: #1f2e56;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.removeProfissao:hover {
    color: #ce4396;
}

.addProfissao {
    border: 0;
    border-radius: 999px;
    padding: 0.65rem 1.25rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(90deg, #de5aa4, #c13c90);
    transition: transform .2s ease, box-shadow .2s ease;
}

.addProfissao:hover,
#botaoCprofissional:hover,
.cad__benefit-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(42, 63, 110, 0.16);
}

.cad__terms {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

.cad__terms .form-label {
    margin: 0;
    font-weight: 500;
}

#botaoCprofissional {
    width: 100%;
    min-height: 52px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #e85ba8, #cc418f);
    font-size: 1.1rem;
    font-weight: 800;
}

.cad__login-link {
    text-align: center;
    color: #526287;
    margin-bottom: 0;
}

.cad__login-link a {
    color: #cc418f;
    text-decoration: none;
    font-weight: 700;
}

.cad__benefits {
    max-width: 1240px;
    margin: 1.4rem auto 3rem;
    padding: 0 1rem;
}

.cad__benefits-title {
    text-align: center;
    color: #20305d;
    font-size: clamp(1.8rem, 2.3vw, 3rem);
    margin-bottom: 1.8rem;
}

.cad__benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.cad__benefit-card {
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(49, 66, 107, 0.09);
    padding: 1.2rem;
    transition: transform .25s ease, box-shadow .25s ease;
}

.cad__benefit-card:nth-child(1) { background: #f9f5e8; }
.cad__benefit-card:nth-child(2) { background: #edf0ff; }
.cad__benefit-card:nth-child(3) { background: #fde8f3; }

.cad__benefit-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-grid;
    place-items: center;
    background: rgba(255,255,255,.7);
    color: #4b66a1;
}

.cad__benefit-icon svg { width: 26px; height: 26px; fill: currentColor; }

.cad__benefit-card h3 {
    margin: .85rem 0 .55rem;
    color: #1f305c;
}

.cad__benefit-card p {
    margin: 0;
    color: #44557a;
}

/*
   Mantém o conteúdo visível por padrão.
   Antes, essa regra escondia blocos importantes (como o formulário de cadastro)
   quando o JS de reveal não executava.
*/
.cad__reveal {
    opacity: 1;
    transform: none;
    transition: opacity .55s ease, transform .55s ease;
}

.cad__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 992px) {
    .cad__hero {
        grid-template-columns: 1fr;
    }

    .cad__hero-media img {
        max-height: 420px;
        border-radius: 24px 24px 0 0;
    }

    .colecaoProfissao,
    .cad__benefits-grid,
    .cad__field-group--two {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cad__reveal,
    .cad__reveal.is-visible,
    .cad__benefit-card,
    .addProfissao,
    #botaoCprofissional {
        transition: none !important;
        transform: none !important;
    }
}

.cadclinica__page {
    background: linear-gradient(180deg, #f5f2ff 0%, #fff8fc 100%);
    background-image: var(--cadclinica-bg-image, none);
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
}

.cadclinica__main {
    padding-bottom: 4rem;
}

.cadclinica__container {
    width: min(1180px, 100% - 2rem);
    margin: 2rem auto;
}

.cadclinica__card {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(6px);
    border-radius: 2rem;
    box-shadow: 0 20px 60px rgba(var(--cor-primaria-rgb), 0.1);
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    align-items: stretch;
    overflow: hidden;
}

.cadclinica__illustrationWrap {
    background: linear-gradient(170deg, #e6efff 0%, #fce8f4 100%);
    display: flex;
    min-height: 100%;
    overflow: hidden;
}

.cadclinica__illustration {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.cadclinica__content {
    padding: clamp(1.4rem, 3vw, 2.4rem);
}

.cadclinica__title {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.15;
    color: var(--color-azul);
    font-weight: 700;
}

.cadclinica__subtitle {
    margin: .9rem 0 1.4rem;
    color: rgba(var(--cor-primaria-rgb), .8);
    font-size: 1.05rem;
}

.cadclinica__profiImage {
    display: block;
    width: min(220px, 100%);
    margin: 0 0 1.2rem;
    border-radius: 1rem;
    box-shadow: 0 10px 24px rgba(var(--cor-primaria-rgb), .15);
    object-fit: cover;
}

.cadclinica__form { width: 100%; }

.cadclinica__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem 1rem;
}

.cadclinica__grid--nested {
    grid-column: 1 / -1;
}

.cadclinica__field {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    opacity: 1;
    transform: translateY(0);
}

.cadclinica__field.is-visible,
.cadclinica__fadeup.is-visible,
.cadclinica__beneficio.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.cadclinica__field--full { grid-column: 1 / -1; }

.cadclinica__field .form-label {
    margin: 0;
    color: var(--color-azul);
    font-weight: 600;
}

.cadclinica__inputWrap {
    position: relative;
}

.cadclinica__icon {
    position: absolute;
    left: .8rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.2rem;
    height: 1.2rem;
    color: rgba(var(--cor-primaria-rgb), .45);
    z-index: 2;
}

.cadclinica__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.cadclinica__inputWrap input,
.cadclinica__inputWrap select,
.cadclinica__field textarea,
.cadclinica__field > input[type='url'],
.cadclinica__field > input[type='file'] {
    border-radius: 14px;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.16);
    min-height: 52px;
    box-shadow: 0 6px 16px rgba(var(--cor-primaria-rgb), .06);
}

.cadclinica__inputWrap input,
.cadclinica__inputWrap select,
.cadclinica__field > input[type='url'] { padding-left: 2.6rem; }

.cadclinica__field textarea {
    min-height: 110px;
    padding: .8rem 1rem;
}

.cadclinica__field input:focus,
.cadclinica__field select:focus,
.cadclinica__field textarea:focus {
    border-color: rgba(var(--cor-secundaria-rgb), .65);
    box-shadow: 0 0 0 4px rgba(var(--cor-secundaria-rgb), .12);
}

.cadclinica__sectionTitle {
    grid-column: 1 / -1;
    margin: 1.3rem 0 .2rem;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    color: var(--color-azul);
}

.cadclinica__checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem .9rem;
    padding: .8rem;
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.11);
    border-radius: 14px;
}

.cadclinica__specialtyItem {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .25rem .45rem;
    align-items: start;
}

.cadclinica__specialtyCnpj {
    grid-column: 1 / -1;
    display: grid;
    gap: .25rem;
    margin-top: .25rem;
    padding: .65rem;
    border-radius: 12px;
    background: rgba(var(--cor-primaria-rgb), .04);
    border: 1px solid rgba(var(--cor-primaria-rgb), .09);
}

.cadclinica__specialtyCnpj[hidden] {
    display: none;
}

.cadclinica__specialtyCnpj label {
    margin: 0;
    font-size: .82rem;
    font-weight: 700;
    color: #51607c;
}

#autorizo.cadclinica__checkConsent {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin-top: .3rem;
}

#autorizo.cadclinica__checkConsent input {
    margin-top: .2rem;
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--color-rosa);
}

#autorizo.cadclinica__checkConsent label {
    margin: 0;
    font-weight: 500;
}

.cadclinica__actions {
    text-align: center;
    margin-top: .4rem;
}

#botaoClinicas {
    width: min(440px, 100%);
    min-height: 56px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #d6459a 0%, #bf3a87 100%);
    font-size: 1.15rem;
    font-weight: 700;
    box-shadow: 0 14px 25px rgba(var(--cor-secundaria-rgb), .3);
    transition: transform .2s ease, box-shadow .2s ease;
}

#botaoClinicas:hover,
#botaoClinicas:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 28px rgba(var(--cor-secundaria-rgb), .38);
}

.cadclinica__loginText {
    margin-top: 1rem;
    font-size: 1.1rem;
    color: var(--color-azul);
}

.cadclinica__loginText a {
    color: var(--color-rosa);
    font-weight: 700;
    text-decoration: none;
}

.cadclinica__beneficios {
    margin-top: 2.5rem;
}

.cadclinica__beneficiosTitle {
    text-align: center;
    font-size: clamp(1.7rem, 3.3vw, 2.7rem);
    color: var(--color-azul);
    margin-bottom: 1.4rem;
}

.cadclinica__beneficiosGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.cadclinica__beneficio {
    border-radius: 1.1rem;
    padding: 1.2rem;
    box-shadow: 0 10px 22px rgba(var(--cor-primaria-rgb), .09);
    transition: transform .2s ease, box-shadow .2s ease;
    opacity: 0;
    transform: translateY(14px);
}

.cadclinica__beneficio:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 26px rgba(var(--cor-primaria-rgb), .14);
}

.cadclinica__beneficio h3 {
    font-size: 1.45rem;
    margin: .45rem 0;
    color: var(--color-azul);
}

.cadclinica__beneficio p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), .8);
}

.cadclinica__beneficioIcon {
    font-size: 1.7rem;
}

.cadclinica__beneficio--a { background: #fff8e8; }
.cadclinica__beneficio--b { background: #f1f1ff; }
.cadclinica__beneficio--c { background: #ffe8f5; }

.cadclinica__fadeup {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 991px) {
    .cadclinica__card {
        grid-template-columns: 1fr;
    }

    .cadclinica__illustration {
        max-height: 420px;
    }
}

@media (max-width: 767px) {
    .cadclinica__grid,
    .cadclinica__beneficiosGrid,
    .cadclinica__checks {
        grid-template-columns: 1fr;
    }

    .cadclinica__content {
        padding: 1.1rem;
    }
}

/* =========================
   Cadastro Pacientes
   ========================= */
.cadpac__page {
    background: #f6f3fa;
}

.cadpac__page--has-bg {
    background-image: url('/img/bg-cadastro.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.cadpac__section {
    position: relative;
    padding: clamp(24px, 5vw, 56px) 0 clamp(36px, 6vw, 70px);
    background: linear-gradient(135deg, rgba(248, 246, 255, 0.92) 0%, rgba(253, 251, 255, 0.88) 40%, rgba(244, 239, 255, 0.92) 100%);
    background-image: var(--cadpac-bg-image), linear-gradient(135deg, rgba(248, 246, 255, 0.92) 0%, rgba(253, 251, 255, 0.88) 40%, rgba(244, 239, 255, 0.92) 100%);
    background-size: cover;
    background-position: center;
}

.cadpac__section--with-hero-image {
    isolation: isolate;
}

.cadpac__container {
    width: min(100%, 1240px);
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 28px);
}

.cadpac__card {
    display: grid;
    grid-template-columns: minmax(320px, 44%) minmax(0, 1fr);
    align-items: stretch;
    border-radius: 26px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 20px 50px rgba(27, 35, 86, 0.12);
    border: 1px solid rgba(173, 167, 197, 0.25);
    backdrop-filter: blur(2px);
}

.cadpac__media {
    min-height: 100%;
    display: grid;
    place-items: center;
    background: #e8eefc;
}

.cadpac__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.cadpac__content {
    padding: clamp(20px, 3vw, 40px);
}

.cadpac__intro {
    margin-bottom: clamp(14px, 2vw, 24px);
}

.cadpac__eyebrow {
    margin: 0;
    color: #243b74;
    font-size: clamp(1.5rem, 2.8vw, 2.1rem);
    line-height: 1.2;
}

.cadpac__intro h1 {
    margin: 0;
    color: #0a2a63;
    font-size: clamp(1.8rem, 3vw, 2.9rem);
    font-weight: 800;
    line-height: 1.1;
}

.cadpac__intro > p {
    margin: 12px 0 0;
    color: #4d5873;
    font-size: clamp(0.98rem, 1.8vw, 1.25rem);
    max-width: 60ch;
}

.cadpac__form .form-label {
    font-size: 0.9rem;
    color: #324166;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.cadpac__field {
    margin-bottom: 0.1rem;
}

.cadpac__control {
    position: relative;
}

.cadpac__icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #8aa1d8;
    width: 20px;
    height: 20px;
    pointer-events: none;
    z-index: 2;
}

.cadpac__icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.cadpac__form .form-control,
.cadpac__form .form-select {
    min-height: 52px;
    border-radius: 16px;
    border: 1px solid #d9def0;
    box-shadow: 0 4px 14px rgba(85, 96, 132, 0.08);
    padding-left: 44px;
    font-size: 1rem;
    color: #2f3f63;
}

.cadpac__form .form-select {
    background-position: right 1rem center;
}

.cadpac__form .form-control:focus,
.cadpac__form .form-select:focus {
    border-color: rgba(var(--cor-secundaria-rgb), 0.62);
    box-shadow: 0 0 0 4px rgba(var(--cor-secundaria-rgb), 0.18);
}

.cadpac__field .invalid-feedback {
    color: #b53673;
    font-size: 0.82rem;
}

.cadpac__field--radio .cadpac__radioGroup {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    background: #fff;
    border: 1px solid #d9def0;
    border-radius: 16px;
    padding: 14px 16px;
    box-shadow: 0 4px 14px rgba(85, 96, 132, 0.08);
}

.cadpac__field--radio .form-check {
    padding-left: 1.5rem;
    margin: 0;
}

.cadpac__field--radio .form-check-label {
    color: #39486f;
}

.cadpac__subheading {
    margin-top: clamp(8px, 1.5vw, 16px);
}

.cadpac__subheading h2 {
    margin: 0;
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    color: #1f3568;
    font-weight: 700;
}

.cadpac__checkWrap .mb-3 {
    margin-bottom: 0 !important;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cadpac__checkWrap input[type="checkbox"] {
    margin-top: 0.3rem;
    accent-color: var(--color-rosa);
}

.cadpac__checkWrap .form-label {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.4;
}

#botaoClinicas {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #c62f86, #e45aa2);
    font-size: 1.2rem;
    font-weight: 700;
    box-shadow: 0 12px 24px rgba(198, 47, 134, 0.3);
    transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

#botaoClinicas:hover,
#botaoClinicas:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(198, 47, 134, 0.35);
    filter: brightness(1.03);
}

.cadpac__signin p {
    margin: 0;
    text-align: center;
    color: #3d4663;
    font-size: 1.08rem;
}

.cadpac__signin a {
    color: #bc2f83;
    font-weight: 700;
    text-decoration: none;
}

.cadpac__signin a:hover,
.cadpac__signin a:focus-visible {
    text-decoration: underline;
}

.cadpac__beneficios {
    padding: clamp(26px, 5vw, 48px) clamp(14px, 3vw, 24px) 0;
    max-width: 1240px;
    margin: 0 auto;
}

.cadpac__beneficios h2 {
    text-align: center;
    margin: 0 0 clamp(16px, 3vw, 24px);
    color: #1f3568;
    font-size: clamp(1.9rem, 4vw, 3rem);
}

.cadpac__beneficiosGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 22px);
}

.cadpac__beneficio {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 190px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(170, 177, 206, 0.3);
    padding: clamp(16px, 2.6vw, 24px);
    box-shadow: 0 10px 26px rgba(39, 53, 94, 0.1);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.cadpac__beneficio:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(39, 53, 94, 0.15);
}

.cadpac__beneficioIcon {
    width: 46px;
    height: 46px;
    color: #bc2f83;
}

.cadpac__beneficioIcon svg {
    width: 100%;
    height: 100%;
}

.cadpac__beneficio h3 {
    margin: 10px 0 8px;
    color: #162f65;
    font-size: 1.35rem;
}

.cadpac__beneficio p {
    margin: 0;
    color: #495777;
    font-size: 1.02rem;
}

.cadpac__reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 560ms ease, transform 560ms cubic-bezier(0.21, 0.61, 0.35, 1);
}

.cadpac__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .cadpac__reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 992px) {
    .cadpac__card {
        grid-template-columns: 1fr;
    }

    .cadpac__media img {
        max-height: 420px;
    }

    .cadpac__beneficiosGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .cadpac__beneficiosGrid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   Admin Base Layout
   ========================= */
.admin-layout {
    display: flex;
    width: 100%;
    min-height: 100vh;
    background:
        linear-gradient(180deg, rgba(var(--cor-secundaria-rgb), 0.08), rgba(var(--cor-primaria-rgb), 0.05)),
        url('/img/temaPP.jpg') no-repeat;
    background-size: cover;
    background-position: center;
    gap: 24px;
    padding: clamp(16px, 3vw, 28px);
    align-items: flex-start;
}

.admin-sidebar {
    width: 260px;
    flex-shrink: 0;
    position: sticky;
    top: 16px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.82));
    box-shadow: 0 18px 36px rgba(var(--cor-primaria-rgb), 0.12);
    padding: 18px 14px;
    display: grid;
    gap: 16px;
}

.admin-sidebar-logo {
    display: flex;
    justify-content: center;
}

.admin-sidebar-logo img {
    width: min(170px, 100%);
    height: auto;
}

.admin-menu {
    display: grid;
    gap: 6px;
}

.admin-menu a {
    display: block;
    text-decoration: none;
    color: var(--cor-primaria);
    font-weight: 600;
    border-radius: 12px;
    padding: 11px 12px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.admin-menu a:hover,
.admin-menu a:focus-visible,
.admin-menu a.active {
    background: rgba(var(--cor-secundaria-rgb), 0.14);
    color: var(--cor-secundaria);
    transform: translateX(2px);
    outline: none;
}

.admin-user {
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.12);
    padding: 14px;
    display: grid;
    gap: 10px;
}

.admin-content {
    flex: 1;
    padding: 40px;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 16px;
    min-width: 0;
}

.cards-admin {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.admin-content table,
.adminTable {
    width: 100%;
}

/* =========================
   Admin Dashboard
   ========================= */
.admin__page {
    background:
        linear-gradient(180deg, rgba(var(--cor-secundaria-rgb), 0.08), rgba(var(--cor-primaria-rgb), 0.05)),
        url('/img/adm.jpg') center/cover no-repeat fixed;
    min-height: 100vh;
    padding: clamp(16px, 3vw, 28px);
}

.admin__layout {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: clamp(14px, 2vw, 24px);
}

.admin__sidebar {
    position: sticky;
    top: 18px;
    align-self: start;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.72));
    box-shadow: 0 18px 36px rgba(var(--cor-primaria-rgb), 0.12);
    padding: 18px 14px;
    backdrop-filter: blur(5px);
}

.admin__brand {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.admin__brandLogo { width: min(170px, 100%); height: auto; }

.admin__menuList { list-style: none; margin: 0; padding: 8px 0; display: grid; gap: 6px; }

.admin__menuLink {
    display: block;
    text-decoration: none;
    color: var(--cor-primaria);
    font-weight: 600;
    border-radius: 12px;
    padding: 11px 12px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.admin__menuLink:hover,
.admin__menuLink:focus-visible,
.admin__menuLink.is-active {
    background: rgba(var(--cor-secundaria-rgb), 0.14);
    color: var(--cor-secundaria);
    transform: translateX(2px);
    outline: none;
}

.admin__profileCard {
    margin-top: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.12);
    padding: 14px;
    display: grid;
    justify-items: center;
    gap: 4px;
}

.admin__avatar,
.admin__miniAvatar {
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(var(--cor-secundaria-rgb), 0.25);
}

.admin__avatar { width: 68px; height: 68px; }
.admin__miniAvatar { width: 40px; height: 40px; }

.admin__content { display: grid; gap: 16px; min-width: 0; }

.admin__topbar,
.admin__panelCard,
.admin__metricCard {
    border-radius: 18px;
    background: rgba(255,255,255,0.88);
    box-shadow: 0 12px 26px rgba(var(--cor-primaria-rgb), 0.08);
}

.admin__topbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
}

.admin__topbar h1 {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.08;
}

.admin__topbar p {
    margin: 8px 0 0;
    color: rgba(var(--cor-primaria-rgb), 0.74);
    font-size: clamp(1.08rem, 2vw, 1.35rem);
    line-height: 1.45;
}

.admin__topbarActions { display: flex; align-items: center; gap: 8px; }
.admin__searchWrap { display: inline-flex; }
.admin__searchInput {
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.2);
    border-radius: 999px;
    padding: 10px 14px;
    min-width: min(42vw, 260px);
}

.admin__iconBtn,
.admin__btn {
    border: 0;
    border-radius: 12px;
    padding: 10px 14px;
    background: linear-gradient(120deg, var(--cor-secundaria), #d461a3);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.admin__btn--ghost {
    background: transparent;
    color: var(--cor-primaria);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.24);
}

.admin__btn--logout { width: 100%; }
.admin__sidebarToggle { display: none; }

.admin__cardsGrid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin__metricCard { padding: 16px; }
.admin__metricCard h2 { margin: 0; color: var(--cor-primaria); font-size: clamp(1.6rem, 3vw, 2.1rem); }
.admin__metricCard p { margin: 6px 0 0; color: rgba(var(--cor-primaria-rgb), 0.8); }

.admin__gridTwo {
    display: grid;
    gap: 14px;
    grid-template-columns: 1.5fr 1fr;
    align-items: start;
}

.admin__panelCard { padding: 16px; min-width: 0; }

.admin__panelCard--pendingUsers {
    width: min(100%, 620px);
    min-height: auto;
    padding: clamp(18px, 2.4vw, 24px);
    border: 1px solid rgba(var(--cor-secundaria-rgb), 0.14);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.82)),
        radial-gradient(circle at top right, rgba(var(--cor-secundaria-rgb), 0.16), transparent 42%);
    box-shadow: 0 18px 38px rgba(var(--cor-primaria-rgb), 0.11);
}

.admin__panelCard--pendingUsers .admin__panelHead h3 {
    font-size: clamp(1.05rem, 2vw, 1.28rem);
    line-height: 1.25;
}

.admin__panelCard--pendingUsers .admin__listClean {
    margin-top: 14px;
}

.admin__panelCard--pendingUsers .admin__listClean li {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px 14px;
    border: 1px solid rgba(var(--cor-secundaria-rgb), 0.10);
    background: rgba(var(--cor-secundaria-rgb), 0.07);
}

.admin__panelCard--pendingUsers .admin__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 14px;
    padding-inline: 18px;
    border-radius: 13px;
}
.admin__inactiveWebSection { display: none !important; }
.admin__panelHead { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.admin__panelHead h3,
.admin__panelHead h1 { margin: 0; color: var(--cor-primaria); }

.admin__periodTabs { display: flex; gap: 6px; flex-wrap: wrap; }
.admin__periodTabs button {
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.2);
    background: #fff;
    padding: 6px 10px;
    border-radius: 9px;
    cursor: pointer;
}
.admin__periodTabs button.is-active { background: rgba(var(--cor-secundaria-rgb), 0.18); border-color: transparent; }


.admin__listClean { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.admin__listClean li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px;
    border-radius: 10px;
    background: rgba(var(--cor-secundaria-rgb), 0.08);
}

.admin__status {
    border-radius: 999px;
    padding: 4px 8px;
    font-style: normal;
    font-size: .85rem;
    font-weight: 700;
}

.admin__status--ativo { background: rgba(34, 166, 96, 0.2); color: #1f6f48; }
.admin__status--novo { background: rgba(242, 199, 52, 0.3); color: #7c6208; }
.admin__status--pendente { background: rgba(var(--cor-secundaria-rgb), 0.24); color: #8f205f; }

.admin__moduleGrid {
    margin-top: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.admin__moduleGrid article {
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.12);
    border-radius: 12px;
    background: #fff;
    padding: 12px;
}

.admin__moduleGrid h4 { margin: 0 0 6px; color: var(--cor-primaria); }
.admin__moduleGrid p { margin: 0; color: rgba(var(--cor-primaria-rgb), .77); }

.admin__linkAction {
    color: var(--cor-secundaria);
    font-weight: 700;
    text-decoration: none;
}

.admin__srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.admin__formCard { max-width: 960px; }
.admin__flash { border-radius: 10px; padding: 10px 12px; font-weight: 600; }
.admin__flash.is-success { background: rgba(34, 166, 96, 0.12); color: #205e3f; }
.admin__flash.is-error { background: rgba(223, 79, 79, 0.12); color: #812222; }

.admin__formGrid { margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin__field { display: grid; gap: 6px; }
.admin__field label { font-weight: 700; color: var(--cor-primaria); }
.admin__field input,
.admin__field select {
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.22);
    border-radius: 10px;
    padding: 10px;
}

.admin__field input[readonly] {
    background: rgba(var(--cor-primaria-rgb), 0.06);
    color: #5f6f73;
    cursor: not-allowed;
}

.admin__fieldHint {
    color: #6a7a7e;
    font-size: 0.86rem;
}

.admin__actions { grid-column: 1 / -1; display: flex; gap: 10px; flex-wrap: wrap; }


.admin__topbar--stacked {
    display: grid;
    gap: 14px;
}

.admin__topbarFilters {
    display: grid;
    gap: 10px;
}

.admin__periodTabs--status button {
    text-transform: capitalize;
}

.admin__status--bloqueado { background: rgba(223, 79, 79, 0.2); color: #852222; }

.admin__hint {
    margin: 12px 0 0;
    color: rgba(var(--cor-primaria-rgb), 0.75);
    font-size: .92rem;
}

.adminTable__wrap {
    margin-top: 12px;
    width: 100%;
    overflow-x: auto;
}

.adminTable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 1100px;
}

.adminTable th,
.adminTable td {
    text-align: left;
    padding: 11px 10px;
    border-bottom: 1px solid rgba(var(--cor-primaria-rgb), 0.1);
    vertical-align: middle;
}

.adminTable thead th {
    font-size: .86rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: rgba(var(--cor-primaria-rgb), .72);
    background: rgba(var(--cor-secundaria-rgb), 0.08);
    position: sticky;
    top: 0;
}

.adminTable__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(var(--cor-secundaria-rgb), .22);
}

.adminTable__actions {
    display: grid;
    gap: 8px;
    min-width: 184px;
}

.adminTable__formAction {
    display: block;
}

.adminTable__formAction .admin__btn,
.adminTable__actions .admin__btn {
    width: 100%;
    text-align: center;
}

.adminTable__empty {
    text-align: center !important;
    color: rgba(var(--cor-primaria-rgb), .75);
}

.admin__btn--danger {
    background: linear-gradient(120deg, #d14a4a, #b62626);
}

.admin__btn--success {
    background: linear-gradient(120deg, #2aaf67, #1c8d50);
}

@media (max-width: 1020px) {
    .admin-layout {
        flex-direction: column;
    }

    .admin-sidebar {
        width: 100%;
        position: static;
    }

    .admin-content {
        padding: 20px;
    }

    .cards-admin {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin__layout { grid-template-columns: 1fr; }
    .admin__sidebar { position: static; display: none; }
    .admin__sidebar.is-open { display: block; }
    .admin__sidebarToggle {
        display: inline-block;
        border: 0;
        background: var(--cor-primaria);
        color: #fff;
        padding: 10px 12px;
        border-radius: 12px;
        cursor: pointer;
    }
    .admin__cardsGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin__gridTwo { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .cards-admin { grid-template-columns: 1fr; }

    .admin__cardsGrid,
    .admin__formGrid { grid-template-columns: 1fr; }
    .admin__topbarActions { width: 100%; }
    .admin__searchWrap,
    .admin__searchInput { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .admin__menuLink,
    .admin__iconBtn,
    .admin__btn { transition: none !important; }
}

/* =========================
   Profissionais (redesign visual)
   ========================= */
.profissionais__page {
    position: relative;
    overflow: clip;
    padding: clamp(26px, 4.2vw, 56px) 0 clamp(36px, 5vw, 70px);
    background:
        radial-gradient(circle at 8% 6%, rgba(var(--cor-secundaria-rgb), 0.08), transparent 38%),
        radial-gradient(circle at 90% 4%, rgba(var(--cor-primaria-rgb), 0.08), transparent 35%),
        #fbf9ff;
}

.profissionais__container {
    max-width: 1120px;
    margin: 0 auto;
}

.profissionais__header {
    margin-bottom: clamp(18px, 2vw, 24px);
}

.profissionais__title {
    margin: 0 0 clamp(16px, 2.6vw, 24px);
    color: #1d2f66;
    font-size: clamp(1.8rem, 2.8vw, 3rem);
    font-weight: 700;
    letter-spacing: -0.015em;
}

.profissionais__filters {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.14);
    border-radius: 24px;
    box-shadow: 0 15px 32px rgba(var(--cor-primaria-rgb), 0.09);
    padding: clamp(14px, 2.4vw, 20px);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(170px, 240px) minmax(250px, 1fr) auto;
    align-items: end;
}

.profissionais__searchField .form-label {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.32rem;
    color: rgba(var(--cor-primaria-rgb), 0.72);
}

.profissionais__searchField .form-select,
.profissionais__searchField .form-control {
    height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.2);
    color: rgba(var(--cor-primaria-rgb), 0.92);
    font-weight: 500;
    background-color: #fff;
}

.profissionais__searchField .form-select:focus,
.profissionais__searchField .form-control:focus {
    border-color: rgba(var(--cor-secundaria-rgb), 0.6);
    box-shadow: 0 0 0 0.2rem rgba(var(--cor-secundaria-rgb), 0.14);
}

.profissionais__inputWrap {
    position: relative;
}

.profissionais__inputWrap .form-control {
    padding-right: 2.8rem;
}

.profissionais__searchIcon {
    position: absolute;
    right: 0.95rem;
    top: 50%;
    width: 1.18rem;
    height: 1.18rem;
    transform: translateY(-50%);
    color: rgba(var(--cor-primaria-rgb), 0.56);
    pointer-events: none;
}

.profissionais__searchIcon svg {
    width: 100%;
    height: 100%;
}

.profissionais__filterActions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.profissionais__btn {
    border-radius: 999px;
    border: 1px solid transparent;
    padding: 0.65rem 1.2rem;
    font-weight: 600;
    line-height: 1;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.profissionais__btn--buscar {
    background: #e5ce49;
    border-color: #e5ce49;
    color: #28356b;
}

.profissionais__btn--buscar:hover,
.profissionais__btn--buscar:focus-visible {
    background: #d6be34;
    border-color: #d6be34;
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(214, 190, 52, 0.28);
}

.profissionais__btn--clinicas,
.profissionais__btn--profissionais {
    background: linear-gradient(110deg, var(--color-rosa), #d431a8);
    border-color: var(--color-rosa);
    color: var(--color-branco);
    text-decoration: none;
    box-shadow: 0 8px 16px rgba(var(--cor-secundaria-rgb), 0.22);
}

.profissionais__btn--clinicas:hover,
.profissionais__btn--clinicas:focus-visible,
.profissionais__btn--profissionais:hover,
.profissionais__btn--profissionais:focus-visible {
    background: linear-gradient(110deg, #a83077, #c62a9c);
    color: var(--color-branco);
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(var(--cor-secundaria-rgb), 0.28);
}

.profissionais__btn--secundario {
    background: rgba(var(--cor-primaria-rgb), 0.08);
    border-color: rgba(var(--cor-primaria-rgb), 0.16);
    color: rgba(var(--cor-primaria-rgb), 0.83);
}

.profissionais__btn--secundario:hover,
.profissionais__btn--secundario:focus-visible {
    background: rgba(var(--cor-primaria-rgb), 0.14);
    transform: translateY(-1px);
}

.profissionais__result {
    margin: 14px 0 14px;
    color: rgba(var(--cor-primaria-rgb), 0.86);
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    font-weight: 600;
}

.profissionais__list {
    display: grid;
    gap: 14px;
}

.profissionais__card {
    display: grid;
    grid-template-columns: 138px 1fr auto;
    gap: clamp(12px, 2vw, 22px);
    padding: clamp(12px, 1.8vw, 18px);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.12);
    border-radius: 24px;
    box-shadow: 0 10px 22px rgba(var(--cor-primaria-rgb), 0.08);
    background:
        linear-gradient(130deg, rgba(var(--cor-secundaria-rgb), 0.06) 0%, rgba(var(--cor-primaria-rgb), 0.02) 54%, rgba(var(--cor-secundaria-alt-rgb), 0.08) 100%),
        #fff;
    align-items: center;
    opacity: 0;
    transform: translateY(14px);
    transition: transform 240ms ease, box-shadow 240ms ease, opacity 240ms ease;
}

.profissionais__card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.profissionais__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 26px rgba(var(--cor-primaria-rgb), 0.11);
}

.profissionais__avatar {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.1);
    background: #f4f6f8;
    aspect-ratio: 1 / 1;
}

.profissionais__avatarImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profissionais__name {
    font-size: clamp(1.22rem, 2vw, 1.7rem);
    line-height: 1.15;
    margin: 0;
    color: #26346b;
    font-weight: 700;
}

.profissionais__speciality,
.profissionais__meta,
.profissionais__description {
    margin: 0;
}

.profissionais__speciality {
    margin-top: 0.38rem;
    font-size: 1.05rem;
    font-weight: 600;
    color: rgba(var(--cor-primaria-rgb), 0.88);
}

.profissionais__meta {
    margin-top: 0.38rem;
    color: rgba(var(--cor-primaria-rgb), 0.77);
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.profissionais__description {
    margin-top: 0.5rem;
    color: rgba(var(--cor-primaria-rgb), 0.73);
    max-width: 66ch;
}

.profissionais__actions {
    min-width: 220px;
    display: grid;
    justify-items: end;
    gap: 0.8rem;
}

.profissionais__rating {
    display: grid;
    justify-items: end;
    gap: 0.3rem;
}

.profissionais__stars {
    display: inline-flex;
    gap: 0.18rem;
    color: #e4cb38;
}

.profissionais__stars svg {
    width: 16px;
    height: 16px;
}

.profissionais__ratingText {
    border-radius: 999px;
    padding: 0.28rem 0.72rem;
    font-size: 0.82rem;
    background: rgba(228, 203, 56, 0.26);
    color: #7f6b00;
}

.profissionais__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.profissionais__buttons .chat-button,
.profissionais__buttons .saber-mais-button {
    border-radius: 999px;
    border: 0;
    padding: 0.62rem 1rem;
    font-weight: 600;
}

.profissionais__buttons .chat-button {
    background: rgba(var(--cor-primaria-rgb), 0.9);
}

.profissionais__buttons .chat-button:hover,
.profissionais__buttons .chat-button:focus-visible {
    background: rgba(var(--cor-primaria-rgb), 1);
    transform: translateY(-1px);
}

.profissionais__buttons .chat-button--disabled,
.profissionais__buttons .chat-button--disabled:hover,
.profissionais__buttons .chat-button--disabled:focus-visible {
    background: #9ca3af;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.86;
    transform: none;
}

.profissionais__chatApprovalNotice {
    flex-basis: 100%;
    color: #8a4b00;
    font-size: 0.86rem;
    line-height: 1.35;
    text-align: right;
}

.profissionais__buttons .saber-mais-button {
    background: linear-gradient(110deg, #d431a8, #bf3a87);
    box-shadow: 0 8px 15px rgba(var(--cor-secundaria-rgb), 0.32);
}

.profissionais__buttons .saber-mais-button:hover,
.profissionais__buttons .saber-mais-button:focus-visible {
    background: linear-gradient(110deg, #c62a9c, #a83077);
    transform: translateY(-2px);
}

.profissionais__buttons .saber-mais-button span {
    margin-left: 0.35rem;
}

.profissionais__card :is(a, button):focus-visible,
.profissionais__filters :is(a, input, select, button):focus-visible {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), 0.46);
    outline-offset: 2px;
}

@media (max-width: 992px) {
    .profissionais__filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profissionais__filterActions {
        grid-column: span 2;
        justify-content: flex-start;
    }

    .profissionais__card {
        grid-template-columns: 108px 1fr;
    }

    .profissionais__actions {
        grid-column: 1 / -1;
        justify-items: flex-start;
    }

    .profissionais__rating,
    .profissionais__buttons {
        justify-items: flex-start;
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .profissionais__filters {
        grid-template-columns: 1fr;
    }

    .profissionais__filterActions {
        grid-column: auto;
    }

    .profissionais__card {
        grid-template-columns: 1fr;
    }

    .profissionais__avatar {
        width: min(160px, 100%);
    }

    .profissionais__actions {
        min-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .profissionais__card,
    .profissionais__btn,
    .profissionais__buttons .chat-button,
    .profissionais__buttons .saber-mais-button {
        transition: none !important;
    }

    .profissionais__card {
        opacity: 1;
        transform: none;
    }
}

/* =========================
   Avaliações do profissional
   ========================= */
.reviews-section {
    margin-top: 1.5rem;
    padding: clamp(1.15rem, 2vw, 1.75rem);
    border: 1px solid #e8eaed;
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 255, 0.96)),
        #fff;
    box-shadow:
        0 1px 2px rgba(60, 64, 67, 0.1),
        0 8px 24px rgba(60, 64, 67, 0.08);
}

.reviews-section .btn {
    border-radius: 999px;
    font-weight: 600;
    min-height: 40px;
    padding-inline: 1rem;
}

.reviews-section .btn-outline-primary {
    border-color: #d2e3fc;
    color: #1a73e8;
    background: #fff;
}

.reviews-section .btn-outline-primary:hover,
.reviews-section .btn-outline-primary:focus-visible {
    border-color: #1a73e8;
    background: #e8f0fe;
    color: #174ea6;
}

.reviews-summary-grid {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.reviews-summary-grid > div:first-child {
    display: grid;
    gap: 0.45rem;
    align-content: start;
}

.reviews-average {
    font-size: clamp(2.5rem, 5vw, 3.6rem);
    line-height: 0.95;
    font-weight: 500;
    color: #202124;
    letter-spacing: -0.04em;
}

.reviews-total {
    color: #5f6368;
    font-size: 0.95rem;
}

.review-stars {
    --rating-width: 0%;
    position: relative;
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0.16rem;
    color: #dadce0;
    white-space: nowrap;
}

.review-stars::before {
    content: "★★★★★";
}

.review-stars .filled {
    position: absolute;
    inset: 0 auto 0 0;
    overflow: hidden;
    width: var(--rating-width, 0%);
    color: #fbbc04;
    white-space: nowrap;
    letter-spacing: 0.16rem;
    pointer-events: none;
}

.reviews-histogram {
    display: grid;
    gap: 0.6rem;
}

.histogram-row {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 0.7rem;
    color: #3c4043;
    font-size: 0.95rem;
}

.histogram-track {
    position: relative;
    height: 10px;
    border-radius: 999px;
    background: #edf0f2;
    overflow: hidden;
}

.histogram-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #fbbc04, #f9ab00);
    transition: width 0.25s ease;
}

.reviews-list {
    display: grid;
    gap: 1rem;
}

.review-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 0.95rem;
    align-items: start;
    padding: 1rem 0;
    border-top: 1px solid #eceff1;
}

.review-card:first-child {
    border-top: 0;
    padding-top: 0.2rem;
}

.review-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #e8f0fe, #d2e3fc);
    color: #174ea6;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
}

.review-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.45rem;
}

.review-header > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-width: 0;
}

.review-header > div > span:first-child {
    color: #202124;
    font-size: 0.98rem;
    font-weight: 600;
}

.review-date {
    color: #5f6368;
    font-size: 0.86rem;
    white-space: nowrap;
}

.review-comment {
    color: #3c4043;
    font-size: 0.95rem;
    line-height: 1.65;
    word-break: break-word;
}

.review-read-more {
    display: inline-flex;
    align-items: center;
    margin-top: 0.4rem;
    color: #1a73e8;
    font-weight: 600;
    cursor: pointer;
}

.review-read-more:hover,
.review-read-more:focus-visible {
    color: #174ea6;
    text-decoration: underline;
}

.reviews-actions {
    display: flex;
    justify-content: center;
    padding-top: 0.5rem;
}

.reviews-actions .btn-outline-secondary {
    border-color: #dadce0;
    color: #3c4043;
    background: #fff;
}

.reviews-actions .btn-outline-secondary:hover,
.reviews-actions .btn-outline-secondary:focus-visible {
    border-color: #c7c9cc;
    background: #f8f9fa;
    color: #202124;
}

.review-modal .modal-dialog {
    max-width: 560px;
}

.review-modal .modal-content {
    border: 1px solid #e8eaed;
    border-radius: 28px;
    overflow: hidden;
    box-shadow:
        0 2px 10px rgba(60, 64, 67, 0.18),
        0 18px 48px rgba(60, 64, 67, 0.18);
}

.review-modal .modal-header,
.review-modal .modal-footer {
    border-color: #eef1f4;
    padding-inline: clamp(1.2rem, 2vw, 1.75rem);
}

.review-modal .modal-header {
    padding-top: 1.25rem;
    padding-bottom: 1rem;
}

.review-modal .modal-body {
    padding: 0.5rem clamp(1.2rem, 2vw, 1.75rem) 1.35rem;
}

.review-modal .modal-title {
    color: #202124;
    font-size: 1.35rem;
    font-weight: 600;
}

.review-modal .form-label {
    color: #3c4043;
    font-weight: 600;
}

#review-stars-picker {
    display: inline-flex;
    gap: 0.4rem !important;
    padding: 0.55rem 0.7rem;
    border: 1px solid #e8eaed;
    border-radius: 999px;
    background: #f8f9fa;
}

.star-option {
    font-size: 1.9rem;
    line-height: 1;
    color: #dadce0;
    cursor: pointer;
    transition: transform 0.15s ease, color 0.15s ease;
    user-select: none;
}

.star-option.hovered,
.star-option.active {
    color: #fbbc04;
}

.star-option:hover {
    transform: translateY(-1px) scale(1.05);
}

#review-observacao.form-control {
    border: 1px solid #dadce0;
    border-radius: 18px;
    min-height: 140px;
    padding: 0.95rem 1rem;
    box-shadow: none;
}

#review-observacao.form-control:focus {
    border-color: #1a73e8;
    box-shadow: 0 0 0 4px rgba(26, 115, 232, 0.12);
}

.review-modal .form-text {
    color: #5f6368;
}

.review-modal .alert {
    border-radius: 16px;
    margin-bottom: 0;
}

.review-modal #submit-review {
    background: #1a73e8;
    border-color: #1a73e8;
    box-shadow: none;
}

.review-modal #submit-review:hover,
.review-modal #submit-review:focus-visible {
    background: #1558b0;
    border-color: #1558b0;
}

@media (max-width: 767px) {
    .reviews-summary-grid {
        grid-template-columns: 1fr;
    }

    .review-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .review-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 0.8rem;
    }

    .review-avatar {
        width: 42px;
        height: 42px;
    }

    .review-modal .modal-dialog {
        margin: 0.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .histogram-fill,
    .star-option {
        transition: none !important;
    }
}

/* =========================
   Perfil novo (perfil.php)
   ========================= */
.perfilNovo__page {
    background:
        radial-gradient(1200px 500px at 90% 0%, rgba(var(--cor-secundaria-rgb), 0.10), transparent 60%),
        radial-gradient(900px 440px at 8% 35%, rgba(var(--cor-secundaria-alt-rgb), 0.12), transparent 60%),
        linear-gradient(180deg, #fff, #fdf9ff 35%, #fbf8ff);
    padding: clamp(24px, 4vw, 48px) 0 clamp(48px, 7vw, 80px);
}

.perfilNovo__container {
    width: min(100%, 1140px);
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 30px);
}

.perfilNovo__heroCard,
.perfilNovo__card,
.perfilNovo__statusCard {
    border-radius: 24px;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 12px 40px rgba(var(--cor-primaria-rgb), 0.09);
}

.perfilNovo__heroCard {
    display: grid;
    grid-template-columns: minmax(210px, 270px) minmax(0, 1fr);
    gap: clamp(18px, 3vw, 28px);
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(245, 234, 255, 0.86));
    padding: clamp(18px, 3vw, 28px);
    position: relative;
    overflow: hidden;
}

.perfilNovo__heroCard::after {
    content: '';
    position: absolute;
    inset: auto -120px -140px auto;
    width: 320px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--cor-secundaria-rgb), 0.18), transparent 64%);
    pointer-events: none;
}

.perfilNovo__avatarWrap {
    aspect-ratio: 4 / 5;
    border-radius: 22px;
    overflow: hidden;
    background: #f1f1f4;
}

.perfilNovo__avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.perfilNovo__heroContent { display: grid; gap: 10px; align-content: center; }
.perfilNovo__title {
    margin: 0;
    color: var(--color-azul);
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    line-height: 1.08;
    display: flex;
    align-items: center;
    gap: .55rem;
}

.perfilNovo__verified {
    width: 30px;
    height: 30px;
    display: inline-flex;
    color: #53a2ff;
}

.perfilNovo__verified svg,
.perfilNovo__meta svg,
.perfilNovo__contactList svg { width: 100%; height: 100%; fill: currentColor; }

.perfilNovo__subtitle { margin: 0; font-size: clamp(1.08rem, 2.2vw, 1.85rem); color: #2a3b5c; font-weight: 600; }
.perfilNovo__meta {
    margin: 0;
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #5b6083;
    font-weight: 500;
}

.perfilNovo__meta svg { width: 18px; height: 18px; color: #7b83a9; }


.perfilNovo__heroActions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.perfilNovo__conselhoWrap {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.perfilNovo__conselhoLabel {
    color: #5f6487;
    font-size: .98rem;
    font-weight: 700;
}

.perfilNovo__contactPill {
    border: 1px solid rgba(var(--cor-primaria-rgb), .14);
    border-radius: 999px;
    background: #fff;
    min-height: 52px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    color: #3a4165;
    font-size: 1.1rem;
    font-weight: 700;
}

.perfilNovo__cta,
.perfilNovo__ghostBtn,
.perfilNovo__textLink,
.perfilNovo__textButton {
    text-decoration: none;
    border: 1px solid #e5acd4;
    background: #eadceb;
    color: #8c2f69;
    border-radius: 999px;
    min-height: 52px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}

.perfilNovo__cta:hover,
.perfilNovo__cta:focus-visible,
.perfilNovo__ghostBtn:hover,
.perfilNovo__ghostBtn:focus-visible,
.perfilNovo__textLink:hover,
.perfilNovo__textLink:focus-visible,
.perfilNovo__textButton:hover,
.perfilNovo__textButton:focus-visible {
    transform: translateY(-1px);
    background: #f0e3f0;
    border-color: #dca1cd;
    box-shadow: 0 6px 16px rgba(var(--cor-secundaria-rgb), .16);
}

.perfilNovo__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.perfilNovo__badge {
    border-radius: 999px;
    background: rgba(var(--cor-primaria-rgb), .08);
    color: #334162;
    font-size: .88rem;
    font-weight: 700;
    padding: 6px 12px;
}

.perfilNovo__statusGrid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.perfilNovo__statusCard {
    background: linear-gradient(120deg, rgba(255, 243, 224, 0.72), rgba(255, 255, 255, .95));
    padding: 16px;
    display: block;
}
.perfilNovo__statusCard:nth-child(2) { background: linear-gradient(120deg, rgba(246, 252, 235, .88), rgba(255, 255, 255, .95)); }
.perfilNovo__statusCard:nth-child(3) { background: linear-gradient(120deg, rgba(248, 235, 255, .85), rgba(255, 255, 255, .95)); }


.perfilNovo__statusCard h2 { margin: 0; font-size: 1.2rem; color: #2d3557; }
.perfilNovo__statusCard p { margin: 2px 0 0; color: #606995; }

.perfilNovo__section { margin-top: clamp(28px, 4vw, 40px); }
.perfilNovo__sectionTitle { margin-bottom: 16px; color: var(--color-azul); font-size: clamp(1.7rem, 2.8vw, 2.6rem); }

.perfilNovo__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.perfilNovo__card {
    padding: clamp(18px, 2.3vw, 24px);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(246, 236, 255, 0.7));
}

.perfilNovo__card--full {
    grid-column: 1 / -1;
}

.perfilNovo__card h3 { margin: 0 0 12px; font-size: clamp(1.25rem, 2.4vw, 2rem); color: #222f55; }
.perfilNovo__text,
.perfilNovo__card p,
.perfilNovo__card li { color: #3f4669; line-height: 1.55; }

.perfilNovo__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.perfilNovo__chip {
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(var(--cor-secundaria-alt-rgb), .22);
    color: #4d4f30;
    font-weight: 700;
}
.perfilNovo__chip--soft { background: rgba(var(--cor-secundaria-rgb), .14); color: #7c3064; }

.perfilNovo__specialtyList { display: grid; gap: 14px; }
.perfilNovo__specialtyItem {
    padding: 12px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .10);
    border-radius: 14px;
    background: rgba(255, 255, 255, .72);
}
.perfilNovo__specialtyTitle {
    margin: 0 0 10px;
    color: #27355f;
    font-weight: 700;
}
.perfilNovo__specialtyLabel {
    margin: 8px 0 8px;
    color: #57608b;
    font-size: .92rem;
    font-weight: 700;
}

.perfilNovo__contactList { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.perfilNovo__contactList li { display: flex; align-items: center; gap: 10px; }
.perfilNovo__contactList svg { width: 19px; height: 19px; color: #bf3a87; }

.perfilNovo__socialIntro {
    margin: 0 0 16px;
    color: #626c93;
    line-height: 1.65;
}

.perfilNovo__socialSummary {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.perfilNovo__socialItem {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .10);
    background: rgba(255, 255, 255, .78);
}

.perfilNovo__socialIcon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--cor-secundaria-rgb), .18);
    color: #9b3173;
    font-size: 1.1rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}

.perfilNovo__socialItem strong {
    display: block;
    margin-bottom: 4px;
    color: #1f2d58;
    font-size: 1rem;
}

.perfilNovo__socialItem p {
    margin: 0;
    color: #626c93;
    line-height: 1.55;
}

.perfilNovo__experienceList { display: grid; gap: 10px; }
.perfilNovo__experienceCard {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .10);
    background: rgba(255, 255, 255, .8);
    transition: transform .2s ease, box-shadow .2s ease;
}

.perfilNovo__experienceCard:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(var(--cor-primaria-rgb), .10); }
.perfilNovo__experienceIcon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(var(--cor-secundaria-rgb), .18);
    color: #9b3173;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.perfilNovo__experienceArrow { color: rgba(var(--cor-primaria-rgb), .45); font-size: 1.3rem; }
.perfilNovo__experienceCard strong { display: block; font-size: 1.1rem; color: #1f2d58; }
.perfilNovo__experienceCard p,
.perfilNovo__experienceCard small { margin: 0; color: #626c93; }
.perfilNovo__experienceContent {
    min-width: 0;
}
.perfilNovo__experienceActions {
    justify-self: end;
}
.perfilNovo__experienceViewBtn {
    font-weight: 700;
    color: #9b3173;
}
.perfilNovo__experienceViewBtn[aria-expanded="true"] {
    color: #7f245e;
}
.perfilNovo__experienceDetails {
    grid-column: 2 / -1;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px dashed rgba(var(--cor-primaria-rgb), .14);
}
.perfilNovo__experienceDescription {
    margin-bottom: 6px !important;
    line-height: 1.5;
}
.perfilNovo__cardActions {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}
.perfilNovo__textButton {
    cursor: pointer;
}
body.perfilNovo__modalOpen {
    overflow: hidden;
}
.perfilNovo__modalOverlay {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(25, 32, 57, .35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
    z-index: 1050;
}
.perfilNovo__modalOverlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.perfilNovo__modalPanel {
    width: min(680px, 100%);
    max-height: min(80vh, 700px);
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .12);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 28px 60px rgba(var(--cor-primaria-rgb), .18);
    overflow: hidden;
}
.perfilNovo__modalHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 22px 14px;
}
.perfilNovo__modalHeader h4 {
    margin: 0;
    color: #1f2d58;
    font-size: 1.3rem;
}
.perfilNovo__modalClose {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    background: rgba(var(--cor-primaria-rgb), .08);
    color: #1f2d58;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}
.perfilNovo__modalBody {
    padding: 0 22px 22px;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}
.perfilNovo__modalExperienceList {
    display: grid;
    gap: 12px;
}
.perfilNovo__modalExperienceItem {
    border: 1px solid rgba(var(--cor-primaria-rgb), .12);
    border-radius: 14px;
    background: #fff;
    padding: 14px;
}
.perfilNovo__modalExperienceItem strong {
    display: block;
    margin-bottom: 4px;
    color: #1f2d58;
}
.perfilNovo__modalExperienceItem p,
.perfilNovo__modalExperienceItem small {
    margin: 0;
    color: #626c93;
}
.perfilNovo__modalExperienceDescription {
    margin: 8px 0 0;
    color: #4f5985;
    line-height: 1.5;
    white-space: pre-line;
}

.experienciaForm__body {
    background: linear-gradient(180deg, #f7f4fb 0%, #f0eff7 100%);
}

.experienciaForm__page {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: clamp(24px, 5vw, 48px) var(--layout-content-padding-inline);
}

.experienciaForm__container {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(var(--cor-primaria-rgb), .1);
    border-radius: 22px;
    padding: clamp(18px, 3.8vw, 30px);
    box-shadow: 0 18px 45px rgba(var(--cor-primaria-rgb), .08);
}

.experienciaForm__header h1 {
    margin: 0 0 6px;
    color: #1f2d58;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.experienciaForm__header p {
    margin: 0 0 22px;
    color: #626c93;
}

.experienciaForm__alert {
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 14px;
}

.experienciaForm__alert ul {
    margin: 0;
    padding-left: 18px;
}

.experienciaForm__alert--error {
    background: rgba(207, 46, 46, .08);
    color: #8f2323;
    border: 1px solid rgba(207, 46, 46, .28);
}

.experienciaForm__alert--success {
    background: rgba(31, 139, 76, .1);
    color: #166038;
    border: 1px solid rgba(31, 139, 76, .3);
}

.experienciaEdit__list {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.experienciaEdit__item {
    display: grid;
    gap: 4px;
    text-decoration: none;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .15);
    background: rgba(255, 255, 255, .8);
    color: #3f4669;
    transition: border-color .2s ease, transform .2s ease;
}

.experienciaEdit__item strong {
    color: #1f2d58;
}

.experienciaEdit__item:hover,
.experienciaEdit__item:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(var(--cor-secundaria-rgb), .4);
}

.experienciaEdit__item.is-active {
    border-color: rgba(var(--cor-secundaria-rgb), .55);
    box-shadow: 0 8px 16px rgba(var(--cor-primaria-rgb), .08);
}

.experienciaForm__form {
    display: grid;
    gap: 14px;
}

.experienciaForm__grid {
    display: grid;
    gap: 12px;
}

.experienciaForm__grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.experienciaForm__grid--three {
    grid-template-columns: 2fr 100px 150px;
}

.experienciaForm__field {
    display: grid;
    gap: 6px;
}

.experienciaForm__field label {
    font-weight: 600;
    color: #28386a;
    font-size: .95rem;
}

.experienciaForm__field input,
.experienciaForm__field select,
.experienciaForm__field textarea {
    border: 1px solid rgba(var(--cor-primaria-rgb), .2);
    border-radius: 10px;
    padding: 10px 12px;
    width: 100%;
    background: #fff;
}

.experienciaForm__checkboxGroup {
    border: 1px solid rgba(var(--cor-primaria-rgb), .2);
    border-radius: 10px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    background: #fff;
}

.experienciaForm__checkboxOption {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .14);
    background: #fbfbff;
    color: #2a3660;
    font-size: .95rem;
    cursor: pointer;
}

.experienciaForm__checkboxOption input[type='checkbox'] {
    width: 17px;
    height: 17px;
    accent-color: var(--color-rosa);
}

.experienciaForm__field textarea {
    resize: vertical;
    min-height: 120px;
}

.experienciaForm__field--checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.experienciaForm__field--checkbox input[type='checkbox'] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-rosa);
}

.experienciaForm__actions {
    margin-top: 4px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.experienciaForm__btn {
    border-radius: 999px;
    padding: 10px 16px;
    border: 1px solid transparent;
    font-weight: 600;
    text-decoration: none;
}

.experienciaForm__btn--ghost {
    border-color: rgba(var(--cor-primaria-rgb), .2);
    color: #33457e;
    background: #fff;
}

.experienciaForm__btn--primary {
    border-color: var(--color-rosa);
    background: var(--color-rosa);
    color: #fff;
}

.formacaoEdit__list {
    display: grid;
    gap: 16px;
}

.formacaoEdit__card {
    display: grid;
    gap: 10px;
}

.formacaoEdit__deleteForm {
    display: flex;
    justify-content: flex-end;
}

.formacaoEdit__deleteBtn {
    color: #8f2323;
    border-color: rgba(207, 46, 46, .24);
    background: rgba(207, 46, 46, .08);
}

.perfilNovo__schedule { display: grid; gap: 8px; }
.perfilNovo__scheduleItem {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(var(--cor-primaria-rgb), .05);
}

.perfilNovo__next,
.perfilNovo__muted { color: #6f7398; }

.perfilNovo__list { margin: 8px 0 14px 1.2rem; }
.perfilNovo__inlineActions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.perfilNovo__ghostBtn { text-decoration: none; }

.perfilNovo__clinicasList {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.perfilNovo__clinicaItem {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .10);
    border-radius: 20px;
    background: rgba(255, 255, 255, .78);
}

.perfilNovo__clinicaInfo {
    display: grid;
    gap: 6px;
}

.perfilNovo__clinicaInfo strong {
    color: #1f2d58;
    font-size: 1.12rem;
}

.perfilNovo__clinicaInfo span {
    color: #626c93;
}

.perfilNovo__clinicaMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.perfilNovo__clinicaMeta span {
    border-radius: 999px;
    background: rgba(var(--cor-primaria-rgb), .07);
    color: #334162;
    font-size: .88rem;
    font-weight: 700;
    padding: 6px 10px;
}

.perfilNovo__clinicaAside {
    display: grid;
    justify-items: end;
    gap: 10px;
}

.perfilNovo__clinicaValor {
    color: #1f2d58;
    font-size: 1rem;
    text-align: right;
}

.perfilNovo__clinicaBtn {
    min-height: 44px;
    padding: 0 18px;
    white-space: nowrap;
}

.horaVinculo__page {
    background: linear-gradient(180deg, #fff, #fbf8ff);
}

.horaVinculo__container {
    width: min(100%, 1140px);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 48px) clamp(16px, 4vw, 30px) clamp(48px, 7vw, 80px);
}

.horaVinculo__hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    padding: clamp(20px, 3vw, 28px);
    border-radius: 24px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .08);
    background: linear-gradient(120deg, rgba(255, 255, 255, .96), rgba(245, 234, 255, .86));
    box-shadow: 0 12px 40px rgba(var(--cor-primaria-rgb), .09);
}

.horaVinculo__eyebrow {
    display: inline-flex;
    margin-bottom: 8px;
    color: #8c2f69;
    font-weight: 800;
    letter-spacing: 0;
}

.horaVinculo__hero h1 {
    margin: 0;
    color: var(--color-azul);
    font-size: clamp(1.7rem, 3.2vw, 2.8rem);
}

.horaVinculo__hero p {
    margin: 8px 0 0;
    color: #5b6083;
    font-weight: 600;
}

.horaVinculo__back,
.horaVinculo__form button,
.horaVinculo__miniBtn {
    border: 1px solid #e5acd4;
    background: #eadceb;
    color: #8c2f69;
    border-radius: 999px;
    min-height: 46px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 800;
}

.horaVinculo__grid {
    display: grid;
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
    gap: 16px;
    margin-top: 18px;
}

.horaVinculo__card {
    padding: clamp(18px, 2.5vw, 24px);
    border-radius: 24px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .08);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 40px rgba(var(--cor-primaria-rgb), .08);
}

.horaVinculo__card h2 {
    margin: 0 0 16px;
    color: #222f55;
    font-size: 1.35rem;
}

.horaVinculo__form {
    display: grid;
    gap: 12px;
}

.horaVinculo__form label {
    color: #31405f;
    font-weight: 800;
}

.horaVinculo__form input,
.horaVinculo__form select {
    width: 100%;
    min-height: 46px;
    border: 1px solid rgba(97, 112, 180, .22);
    border-radius: 16px;
    background: #f9fbff;
    color: #1f2a45;
    padding: 10px 14px;
}

.horaVinculo__formRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.horaVinculo__alert {
    margin-top: 16px;
    border-radius: 16px;
    padding: 14px 16px;
    font-weight: 700;
}

.horaVinculo__alert--success {
    background: #edf9f3;
    color: #176a4d;
    border: 1px solid rgba(23, 106, 77, .18);
}

.horaVinculo__alert--error {
    background: #fff0f3;
    color: #9a2845;
    border: 1px solid rgba(154, 40, 69, .18);
}

.horaVinculo__tableWrap {
    width: 100%;
    overflow-x: auto;
}

.horaVinculo__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 680px;
}

.horaVinculo__table th,
.horaVinculo__table td {
    padding: 12px;
    border-bottom: 1px solid rgba(97, 112, 180, .14);
    color: #3f4669;
    text-align: left;
    vertical-align: middle;
}

.horaVinculo__table th {
    color: #222f55;
    font-weight: 800;
}

.horaVinculo__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.horaVinculo__miniBtn {
    min-height: 38px;
    padding: 0 12px;
    cursor: pointer;
}

.horaVinculo__miniBtn--danger {
    border-color: rgba(154, 40, 69, .25);
    background: #fff0f3;
    color: #9a2845;
}

.horaVinculo__empty {
    color: #6f7398;
}

.perfilNovo__reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .55s ease, transform .55s ease;
}

.perfilNovo__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 991px) {
    .perfilNovo__heroCard,
    .perfilNovo__grid,
    .perfilNovo__statusGrid,
    .horaVinculo__grid {
        grid-template-columns: 1fr;
    }

    .perfilNovo__heroActions > * { width: 100%; }

    .experienciaForm__grid--two,
    .experienciaForm__grid--three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .perfilNovo__sectionTitle { margin-bottom: 12px; }
    .perfilNovo__card h3 { font-size: 1.5rem; }
    .perfilNovo__socialItem { grid-template-columns: 1fr; }
    .perfilNovo__socialIcon { width: 36px; height: 36px; }
    .perfilNovo__clinicaItem,
    .horaVinculo__formRow {
        grid-template-columns: 1fr;
    }
    .perfilNovo__clinicaAside {
        justify-items: stretch;
    }
    .perfilNovo__clinicaValor {
        text-align: left;
    }
    .perfilNovo__clinicaBtn,
    .horaVinculo__back {
        width: 100%;
    }
    .horaVinculo__hero {
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .perfilNovo__reveal,
    .perfilNovo__cta,
    .perfilNovo__ghostBtn,
    .perfilNovo__experienceCard {
        transition: none;
    }
}

/* =========================
   Perfil da Clínica (perfiClinicca.php)
   ========================= */
.perfilClinica__page {
    background: linear-gradient(180deg, rgba(var(--cor-primaria-rgb), 0.06), rgba(var(--cor-detalhes-rgb), 0.35));
    color: var(--cor-primaria);
}

.perfilClinica__container {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(1.2rem, 3vw, 2rem) 0 clamp(3rem, 6vw, 4.5rem);
    display: grid;
    gap: clamp(1rem, 2.2vw, 1.5rem);
}

.perfilClinica__section {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .35s ease, transform .35s ease;
}

.perfilClinica__section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.perfilClinica__heroCard,
.perfilClinica__card {
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 18px 45px rgba(var(--cor-primaria-rgb), 0.09);
}

.perfilClinica__heroCard {
    position: relative;
    overflow: hidden;
    min-height: 320px;
}

.perfilClinica__cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.perfilClinica__heroOverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(6, 21, 34, .78) 0%, rgba(var(--cor-primaria-rgb), .5) 45%, rgba(var(--cor-secundaria-rgb), .3) 100%);
}

.perfilClinica__head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: end;
    min-height: 320px;
    padding: clamp(1.2rem, 2.8vw, 2rem);
    color: #fff;
}

.perfilClinica__logo {
    width: clamp(84px, 10vw, 118px);
    height: clamp(84px, 10vw, 118px);
    border-radius: 18px;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, .6);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.26);
}

.perfilClinica__heroInfo h1 {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    line-height: 1.2;
}

.perfilClinica__heroInfo p { margin: .2rem 0 .55rem; }

.perfilClinica__verified,
.perfilClinica__badge,
.perfilClinica__pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .02em;
}

.perfilClinica__verified {
    font-size: .8rem;
    padding: .4rem .7rem;
    color: var(--cor-primaria);
    background: rgba(var(--cor-secundaria-alt-rgb), .9);
}

.perfilClinica__ratingWrap {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
    font-size: .93rem;
}

.perfilClinica__star { color: rgba(255, 255, 255, .45); font-size: 1rem; }
.perfilClinica__star.is-active { color: #ffd53d; }
.perfilClinica__reviews .perfilClinica__star { color: rgba(var(--cor-primaria-rgb), .25); }
.perfilClinica__reviews .perfilClinica__star.is-active { color: #f7b924; }

.perfilClinica__contact {
    display: grid;
    justify-items: end;
    gap: .55rem;
}

.perfilClinica__btn {
    text-decoration: none;
    border-radius: 12px;
    padding: .74rem 1rem;
    background: var(--cor-secundaria);
    color: #fff;
    font-weight: 700;
    border: 1px solid transparent;
    transition: .2s ease;
}

.perfilClinica__btn:hover {
    transform: translateY(-1px);
    background: var(--cor-primaria);
}

.perfilClinica__pill {
    background: rgba(255, 255, 255, .16);
    color: #fff;
    padding: .56rem .8rem;
    font-size: .9rem;
    text-decoration: none;
}

.perfilClinica__grid {
    display: grid;
    grid-template-columns: 1.7fr 1fr;
    gap: 1rem;
}

.perfilClinica__card {
    padding: clamp(1rem, 2vw, 1.35rem);
}

.perfilClinica__card h2 {
    margin: 0 0 .7rem;
    font-size: 1.24rem;
}

.perfilClinica__platformYears {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--cor-secundaria);
}

.perfilClinica__badge {
    margin-top: .75rem;
    background: rgba(var(--cor-secundaria-rgb), .13);
    color: var(--cor-secundaria);
    padding: .4rem .74rem;
    font-size: .82rem;
}

.perfilClinica__infoList {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .55rem;
}

.perfilClinica__infoActions {
    margin-top: 1rem;
    display: flex;
    gap: .55rem;
}

.perfilClinica__btn--ghost {
    background: transparent;
    border-color: rgba(var(--cor-primaria-rgb), .24);
    color: var(--cor-primaria);
}

.perfilClinica__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.perfilClinica__specialtyList {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .65rem;
}

.perfilClinica__specialtyInfo {
    display: grid;
    gap: .3rem;
    align-content: start;
    padding: .7rem;
    border-radius: 14px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .08);
    background: #fff;
}

.perfilClinica__chip {
    border-radius: 999px;
    padding: .5rem .74rem;
    background: rgba(var(--cor-primaria-rgb), .08);
    color: var(--cor-primaria);
    font-weight: 600;
    font-size: .88rem;
}

.perfilClinica__specialtyCnpj {
    color: #68718f;
    font-size: .85rem;
    font-weight: 700;
}

/* Mantém a seção de equipe no código de perfiClinicca.php, mas inativa na web. */
.perfilClinica__team--inactive {
    display: none;
}

.perfilClinica__teamGrid,
.perfilClinica__reviewsGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
}

.perfilClinica__teamCard,
.perfilClinica__reviewCard {
    border-radius: 16px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .08);
    background: #fff;
    padding: .9rem;
}

.perfilClinica__teamCard img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: .55rem;
}

.perfilClinica__teamCard h3,
.perfilClinica__reviewCard h3 { margin: 0 0 .35rem; font-size: 1rem; }
.perfilClinica__teamCard p,
.perfilClinica__reviewCard p { margin: 0 0 .6rem; font-size: .92rem; }

.perfilClinica__teamCard a {
    text-decoration: none;
    font-weight: 700;
    color: var(--cor-secundaria);
}

.perfilClinica__reviewHead {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .5rem;
}

.perfilClinica__reviewHead img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
}

.perfilClinica__notFound {
    text-align: center;
    padding: 2rem 1rem;
}

@media (max-width: 980px) {
    .perfilClinica__head,
    .perfilClinica__grid,
    .perfilClinica__teamGrid,
    .perfilClinica__reviewsGrid {
        grid-template-columns: 1fr;
    }

    .perfilClinica__contact {
        justify-items: start;
    }
}

/* =========================
   Editar perfil profissional
   ========================= */
body.editarPerfil__body {
    background:
        radial-gradient(circle at top left, rgba(var(--cor-secundaria-rgb), 0.10), transparent 32%),
        radial-gradient(circle at top right, rgba(var(--cor-secundaria-alt-rgb), 0.14), transparent 28%),
        linear-gradient(180deg, #fffdfd 0%, #f7f8fc 56%, #f5f6fb 100%);
}

.editarPerfil__page {
    padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(4rem, 6vw, 5.5rem);
    position: relative;
    overflow: clip;
}

.editarPerfil__container {
    width: min(100% - 2rem, 1120px);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.editarPerfil__header {
    margin-bottom: 1.75rem;
}

.editarPerfil__eyebrow,
.editarPerfil__sectionEyebrow,
.editarPerfil__miniLabel,
.editarPerfil__mapLabel {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(var(--cor-primaria-rgb), 0.62);
}

.editarPerfil__title {
    margin: 0.35rem 0 0.7rem;
    font-size: clamp(2.1rem, 5vw, 3.3rem);
    line-height: 1;
    color: var(--cor-primaria);
    letter-spacing: -0.04em;
}

.editarPerfil__subtitle {
    margin: 0;
    max-width: 720px;
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(var(--cor-primaria-rgb), 0.68);
}

.editarPerfil__tabs,
.editarPerfil__hero,
.editarPerfil__card,
.editarPerfil__mapCard,
.editarPerfil__sideCard {
    position: relative;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 24px 64px rgba(var(--cor-primaria-rgb), 0.10);
}

.editarPerfil__tabs,
.editarPerfil__hero,
.editarPerfil__card {
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.editarPerfil__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.85rem;
    margin-bottom: 1.25rem;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.82);
}

.editarPerfil__tab {
    flex: 1 1 210px;
    min-height: 56px;
    border: 0;
    border-radius: 18px;
    background: transparent;
    color: rgba(var(--cor-primaria-rgb), 0.62);
    font-weight: 700;
    padding: 0.95rem 1.15rem;
    transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.editarPerfil__tab:hover,
.editarPerfil__tab:focus-visible,
.editarPerfil__tab.is-active {
    background: linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.13), rgba(var(--cor-secundaria-alt-rgb), 0.18));
    color: var(--cor-primaria);
    box-shadow: inset 0 0 0 1px rgba(var(--cor-secundaria-rgb), 0.12), 0 12px 24px rgba(var(--cor-primaria-rgb), 0.08);
    transform: translateY(-1px);
    outline: none;
}

.editarPerfil__hero {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: center;
    padding: clamp(1.5rem, 3vw, 2.2rem);
    margin-bottom: 1.4rem;
    border-radius: 32px;
    background:
        radial-gradient(circle at top left, rgba(var(--cor-secundaria-alt-rgb), 0.18), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(245, 247, 252, 0.90));
    overflow: hidden;
}

.editarPerfil__hero::before,
.editarPerfil__card::before,
.editarPerfil__mapCard::before,
.editarPerfil__sideCard::before {
    content: '';
    position: absolute;
    inset: auto auto 0 0;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(var(--cor-secundaria-rgb), 0.10), transparent 72%);
    transform: translate(-25%, 35%);
    pointer-events: none;
}

.editarPerfil__heroVisual {
    position: relative;
}

.editarPerfil__avatar {
    width: clamp(96px, 16vw, 142px);
    height: clamp(96px, 16vw, 142px);
    border-radius: 32px;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.75);
    box-shadow: 0 24px 50px rgba(var(--cor-primaria-rgb), 0.16);
    background: #fff;
}

.editarPerfil__avatarFallback {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--cor-primaria), var(--cor-secundaria));
    color: #fff;
    font-size: clamp(1.85rem, 3vw, 2.6rem);
    font-weight: 800;
}

.editarPerfil__heroContent h2 {
    margin: 0.3rem 0 0.45rem;
    font-size: clamp(1.7rem, 3.4vw, 2.4rem);
    line-height: 1.1;
    color: var(--cor-primaria);
}

.editarPerfil__heroSpecialty {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.72);
    font-size: 1.02rem;
}

.editarPerfil__heroMeta,
.editarPerfil__heroDetails,
.editarPerfil__mapMeta,
.editarPerfil__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.editarPerfil__badge,
.editarPerfil__heroPill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 700;
    padding: 0.56rem 0.85rem;
}

.editarPerfil__badge svg,
.editarPerfil__heroPill svg {
    width: 15px;
    height: 15px;
    fill: currentColor;
}

.editarPerfil__badge--verified {
    color: var(--cor-primaria);
    background: rgba(var(--cor-secundaria-alt-rgb), 0.28);
}

.editarPerfil__badge--soft,
.editarPerfil__heroPill--muted {
    background: rgba(var(--cor-primaria-rgb), 0.08);
    color: rgba(var(--cor-primaria-rgb), 0.7);
}

.editarPerfil__heroPill {
    background: rgba(255, 255, 255, 0.72);
    color: var(--cor-primaria);
    box-shadow: inset 0 0 0 1px rgba(var(--cor-primaria-rgb), 0.06);
}

.editarPerfil__card {
    border-radius: 36px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 249, 253, 0.94));
    padding: clamp(1.2rem, 2.8vw, 2rem);
    overflow: hidden;
}

.editarPerfil__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.82fr);
    gap: clamp(1.3rem, 2.5vw, 1.8rem);
}

.editarPerfil__mainColumn,
.editarPerfil__sidebar,
.editarPerfil__stack,
.editarPerfil__profissoesList {
    display: grid;
    gap: 1.25rem;
}

.editarPerfil__section {
    display: none;
    gap: 1.25rem;
}

.editarPerfil__section.is-active {
    display: grid;
}

.editarPerfil__sectionHeader {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.3rem;
}

.editarPerfil__sectionTitle,
.editarPerfil__mapTitle {
    margin: 0.35rem 0 0;
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    color: var(--cor-primaria);
}

.editarPerfil__fields {
    display: grid;
    gap: 1rem;
}

.editarPerfil__fields--twoCols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.editarPerfil__field {
    display: grid;
    gap: 0.55rem;
}

.editarPerfil__field--full,
.editarPerfil__field--conselhos {
    grid-column: 1 / -1;
}

.editarPerfil__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-weight: 700;
    color: var(--cor-primaria);
    margin-bottom: 0;
}

.editarPerfil__label span {
    font-size: 0.82rem;
    color: rgba(var(--cor-primaria-rgb), 0.58);
    font-weight: 600;
}

.editarPerfil__inputWrap {
    display: flex;
    align-items: center;
    min-height: 58px;
    border-radius: 20px;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.10);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 28px rgba(var(--cor-primaria-rgb), 0.05);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    overflow: hidden;
}

.editarPerfil__inputWrap:focus-within {
    border-color: rgba(var(--cor-secundaria-rgb), 0.45);
    box-shadow: 0 0 0 4px rgba(var(--cor-secundaria-rgb), 0.12), 0 16px 30px rgba(var(--cor-primaria-rgb), 0.08);
    transform: translateY(-1px);
}

.editarPerfil__inputWrap .form-control,
.editarPerfil__inputWrap .form-select {
    min-height: 58px;
    border: 0;
    border-radius: 20px;
    background: transparent;
    box-shadow: none;
    padding: 0.9rem 1rem;
    color: var(--cor-primaria);
}

.editarPerfil__inputWrap .form-control:focus,
.editarPerfil__inputWrap .form-select:focus {
    box-shadow: none;
}

.editarPerfil__inputWrap--textarea {
    align-items: stretch;
}

.editarPerfil__inputWrap--textarea .form-control {
    min-height: 180px;
    resize: vertical;
    padding-top: 1rem;
    line-height: 1.7;
}

.editarPerfil__descriptionHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.editarPerfil__counter,
.editarPerfil__fieldHint {
    font-size: 0.84rem;
    color: rgba(var(--cor-primaria-rgb), 0.56);
}

.editarPerfil__profissaoBlock,
.editarPerfil__choiceCard,
.editarPerfil__mapCard,
.editarPerfil__sideCard {
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08) !important;
    box-shadow: 0 18px 36px rgba(var(--cor-primaria-rgb), 0.06);
}

.editarPerfil__profissaoBlock {
    padding: 1.15rem !important;
}

.editarPerfil__profissaoHeader {
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.editarPerfil__inlineAction {
    text-decoration: none;
    font-weight: 700;
}

.editarPerfil__choiceGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.editarPerfil__choiceCard,
.editarPerfil__agendaItem {
    padding: 0.95rem 1rem;
}

.editarPerfil__choiceCard .form-check,
.editarPerfil__agendaItem {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
}

.editarPerfil__choiceCard .form-check-label,
.editarPerfil__agendaItem .form-check-label {
    margin: 0;
    color: var(--cor-primaria);
    font-weight: 600;
}

.editarPerfil__agendaWrap {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.editarPerfil__agendaWrap--hours {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.editarPerfil__choiceCard .form-check-input,
.editarPerfil__agendaItem .form-check-input {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    border-color: rgba(var(--cor-primaria-rgb), 0.2);
}

.editarPerfil__choiceCard .form-check-input:checked,
.editarPerfil__agendaItem .form-check-input:checked {
    background-color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
}

.editarPerfil__conselhoNumero.is-hidden {
    display: none;
}

.editarPerfil__inputWrap--file .form-control {
    padding-block: 0.7rem;
}

.editarPerfil__photoPreviewWrap {
    padding: 0.35rem;
    border-radius: 24px;
    display: inline-flex;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 16px 30px rgba(var(--cor-primaria-rgb), 0.08);
}

.editarPerfil__photoPreview {
    width: 116px;
    height: 116px;
    object-fit: cover;
    border-radius: 22px;
}

.editarPerfil__mapCard,
.editarPerfil__sideCard {
    padding: 1.35rem;
    overflow: hidden;
}

.editarPerfil__mapHeader,
.editarPerfil__sideCardHeader {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.editarPerfil__mapVisual {
    min-height: 240px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.12), rgba(255, 255, 255, 0.66)),
        linear-gradient(90deg, rgba(var(--cor-primaria-rgb), 0.07) 1px, transparent 1px),
        linear-gradient(rgba(var(--cor-primaria-rgb), 0.07) 1px, transparent 1px);
    background-size: auto, 32px 32px, 32px 32px;
    position: relative;
    overflow: hidden;
    margin-bottom: 1rem;
}

.editarPerfil__mapGrid {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 14% 20%, rgba(var(--cor-secundaria-alt-rgb), 0.18), transparent 18%),
        radial-gradient(circle at 82% 16%, rgba(var(--cor-secundaria-rgb), 0.12), transparent 20%),
        radial-gradient(circle at 70% 80%, rgba(var(--cor-primaria-rgb), 0.10), transparent 18%);
}

.editarPerfil__mapPin {
    position: absolute;
    left: 50%;
    top: 48%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    display: grid;
    place-items: center;
    box-shadow: 0 20px 35px rgba(var(--cor-primaria-rgb), 0.14);
    z-index: 1;
}

.editarPerfil__mapPin svg {
    width: 34px;
    height: 34px;
    fill: var(--cor-secundaria);
}

.editarPerfil__mapAddress p {
    margin: 0 0 1rem;
    color: rgba(var(--cor-primaria-rgb), 0.72);
    line-height: 1.7;
}

.editarPerfil__mapInfo {
    flex: 1 1 140px;
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem 1rem;
    border-radius: 20px;
    background: rgba(var(--cor-primaria-rgb), 0.04);
}

.editarPerfil__mapInfo strong,
.editarPerfil__summaryList strong {
    color: var(--cor-primaria);
    font-size: 0.96rem;
}

.editarPerfil__summaryList {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.85rem;
}

.editarPerfil__summaryList li {
    display: grid;
    gap: 0.3rem;
    padding: 0.95rem 1rem;
    border-radius: 20px;
    background: rgba(var(--cor-primaria-rgb), 0.04);
}

.editarPerfil__summaryList span {
    color: rgba(var(--cor-primaria-rgb), 0.58);
    font-size: 0.83rem;
    font-weight: 600;
}

.editarPerfil__actions {
    justify-content: flex-end;
    padding-top: 0.5rem;
}

.editarPerfil__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0.9rem 1.35rem;
    border-radius: 18px;
    font-weight: 700;
    text-decoration: none;
    border-width: 1px;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.editarPerfil__btn:hover,
.editarPerfil__btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 28px rgba(var(--cor-primaria-rgb), 0.14);
}

.editarPerfil__btn--primary {
    background: linear-gradient(135deg, var(--cor-secundaria), #d14a98);
    border-color: transparent;
}

.editarPerfil__btn--secondary,
.editarPerfil__btn--ghost {
    background: rgba(255, 255, 255, 0.86);
    color: var(--cor-primaria);
    border-color: rgba(var(--cor-primaria-rgb), 0.14);
}

.editarPerfil__btn--map {
    width: 100%;
}

.editarPerfil__btn.is-disabled {
    pointer-events: none;
    opacity: 0.72;
}

.editarPerfil__fadeUp {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 500ms ease, transform 500ms ease;
}

.editarPerfil__fadeUp.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 991px) {
    .editarPerfil__grid,
    .editarPerfil__agendaWrap,
    .editarPerfil__choiceGrid,
    .editarPerfil__fields--twoCols {
        grid-template-columns: 1fr;
    }

    .editarPerfil__tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: thin;
    }

    .editarPerfil__tab {
        flex: 0 0 auto;
        min-width: 220px;
    }
}

@media (max-width: 767px) {
    .editarPerfil__page {
        padding-top: 1.8rem;
    }

    .editarPerfil__container {
        width: min(100% - 1rem, 1120px);
    }

    .editarPerfil__hero,
    .editarPerfil__card {
        border-radius: 26px;
    }

    .editarPerfil__hero {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }

    .editarPerfil__heroMeta,
    .editarPerfil__heroDetails,
    .editarPerfil__actions,
    .editarPerfil__mapHeader,
    .editarPerfil__sideCardHeader,
    .editarPerfil__descriptionHeader {
        justify-content: center;
    }

    .editarPerfil__actions {
        flex-direction: column-reverse;
    }

    .editarPerfil__btn,
    .editarPerfil__actions .editarPerfil__btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .editarPerfil__tab,
    .editarPerfil__inputWrap,
    .editarPerfil__btn,
    .editarPerfil__fadeUp {
        transition: none !important;
    }

    .editarPerfil__fadeUp {
        opacity: 1 !important;
        transform: none !important;
    }
}


/* =========================
   Perfil do paciente
   ========================= */
.perfilPaciente__page {
    background:
        radial-gradient(circle at top left, rgba(var(--cor-secundaria-rgb), 0.12), transparent 34%),
        linear-gradient(180deg, #f8fbff 0%, #f4f6fb 48%, #edf2f9 100%);
    color: var(--cor-primaria);
}

.perfilPaciente__container {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: clamp(24px, 4vw, 48px) var(--layout-content-padding-inline) clamp(48px, 6vw, 72px);
    display: grid;
    gap: clamp(22px, 3vw, 32px);
}

.perfilPaciente__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
    gap: 1.5rem;
    align-items: stretch;
}

.perfilPaciente__eyebrow {
    margin: 0 0 0.65rem;
    color: var(--color-rosa);
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.perfilPaciente__hero h1,
.perfilPaciente__sectionHeader h2,
.perfilPaciente__summaryTitle {
    margin: 0;
}

.perfilPaciente__hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.06;
}

.perfilPaciente__lead,
.perfilPaciente__sectionHeader p,
.perfilPaciente__addressCard p,
.perfilPaciente__emptyState p,
.perfilPaciente__heroBadge span {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), 0.72);
    line-height: 1.65;
}

.perfilPaciente__heroBadge,
.perfilPaciente__card {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 24px 50px rgba(var(--cor-primaria-rgb), 0.08);
    backdrop-filter: blur(14px);
}

.perfilPaciente__heroBadge {
    padding: 1.2rem 1.25rem;
    border-radius: 1.4rem;
    display: flex;
    gap: 0.95rem;
    align-items: center;
    align-self: end;
}

.perfilPaciente__heroBadge strong {
    display: block;
    margin-bottom: 0.2rem;
}

.perfilPaciente__heroBadgeContent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

.perfilPaciente__heroBadgeAction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.6rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(84, 110, 255, 0.2);
    background: rgba(255, 255, 255, 0.92);
    color: #3f4ec4;
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.perfilPaciente__heroBadgeAction:hover,
.perfilPaciente__heroBadgeAction:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(76, 96, 255, 0.16);
    border-color: rgba(84, 110, 255, 0.36);
}

.perfilPaciente__heroBadgeIcon,
.perfilPaciente__icon,
.perfilPaciente__emptyIcon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.perfilPaciente__heroBadgeIcon {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.16), rgba(var(--cor-primaria-rgb), 0.18));
    color: var(--color-rosa);
}

.perfilPaciente__heroBadgeIcon svg,
.perfilPaciente__icon svg {
    width: 1.3rem;
    height: 1.3rem;
}

.perfilPaciente__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 28px);
}

.perfilPaciente__card {
    border-radius: 1.6rem;
    padding: clamp(20px, 2.5vw, 28px);
    opacity: 1;
    transform: translateY(0);
    transition: transform 360ms ease, opacity 360ms ease, box-shadow 220ms ease;
}

.perfilPaciente__page.perfilPaciente__enhanced .perfilPaciente__card {
    opacity: 0;
    transform: translateY(18px);
}

.perfilPaciente__page.perfilPaciente__enhanced .perfilPaciente__card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.perfilPaciente__card:hover {
    box-shadow: 0 28px 58px rgba(var(--cor-primaria-rgb), 0.12);
}

.perfilPaciente__section--highlight {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(241, 246, 255, 0.92));
}

.perfilPaciente__sectionHeader {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 1.35rem;
}

.perfilPaciente__list {
    display: grid;
    gap: 1rem;
}

.perfilPaciente__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.95rem;
    align-items: start;
    padding: 0.95rem 1rem;
    border-radius: 1.1rem;
    background: rgba(var(--cor-primaria-rgb), 0.03);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.06);
}

.perfilPaciente__item--compact {
    min-width: min(100%, 340px);
}

.perfilPaciente__icon {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 0.95rem;
    background: linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.14), rgba(var(--cor-primaria-rgb), 0.12));
    color: var(--color-rosa);
}

.perfilPaciente__icon--accent {
    background: linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.24), rgba(var(--cor-primaria-rgb), 0.18));
}

.perfilPaciente__label {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 0.88rem;
    color: rgba(var(--cor-primaria-rgb), 0.62);
}

.perfilPaciente__item strong,
.perfilPaciente__addressCard strong,
.perfilPaciente__emptyState strong,
.perfilPaciente__summary li {
    color: var(--cor-primaria);
}

.perfilPaciente__emptyState {
    min-height: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    padding: 1.1rem 1.15rem;
    border-radius: 1.2rem;
    border: 1px dashed rgba(var(--cor-primaria-rgb), 0.22);
    background: linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.06), rgba(var(--cor-primaria-rgb), 0.04));
}

.perfilPaciente__emptyIcon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    background: rgba(var(--cor-secundaria-rgb), 0.14);
    color: var(--color-rosa);
    font-size: 1.65rem;
    line-height: 1;
}

.perfilPaciente__addressCard {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.05rem 1.1rem;
    border-radius: 1.2rem;
    background: linear-gradient(135deg, rgba(var(--cor-primaria-rgb), 0.045), rgba(var(--cor-secundaria-rgb), 0.06));
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
}

.perfilPaciente__contactRow {
    margin-top: 1rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.perfilPaciente__map {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 3rem;
    padding: 0.75rem 1.15rem;
    border-radius: 999px;
    text-decoration: none;
    color: var(--color-branco);
    background: linear-gradient(135deg, var(--cor-primaria), var(--color-rosa));
    box-shadow: 0 16px 30px rgba(var(--cor-primaria-rgb), 0.16);
    transition: transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

.perfilPaciente__map:hover,
.perfilPaciente__map:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(var(--cor-primaria-rgb), 0.2);
    opacity: 0.98;
}

.perfilPaciente__summary {
    background: linear-gradient(135deg, rgba(var(--cor-primaria-rgb), 0.97), rgba(35, 82, 110, 0.94));
    color: var(--color-branco);
}

.perfilPaciente__sectionHeader--summary p,
.perfilPaciente__summary li,
.perfilPaciente__summary .perfilPaciente__summaryTitle {
    color: rgba(255, 255, 255, 0.9);
}

.perfilPaciente__summaryGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.perfilPaciente__summaryBlock {
    padding: 1.1rem 1.15rem;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.perfilPaciente__summaryTitle {
    display: inline-block;
    margin-bottom: 0.75rem;
    font-size: 1.03rem;
    font-weight: 700;
}

.perfilPaciente__summaryBlock ul {
    margin: 0;
    padding-left: 1rem;
    display: grid;
    gap: 0.55rem;
}

.perfilPaciente__map:focus-visible,
.perfilPaciente__card:focus-within {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), 0.55);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .perfilPaciente__hero,
    .perfilPaciente__grid,
    .perfilPaciente__summaryGrid {
        grid-template-columns: 1fr;
    }

    .perfilPaciente__heroBadgeContent {
        flex-direction: column;
        align-items: flex-start;
    }

    .perfilPaciente__heroBadge {
        align-self: stretch;
    }
}

@media (max-width: 640px) {
    .perfilPaciente__container {
        padding-top: 1.4rem;
    }

    .perfilPaciente__card {
        border-radius: 1.25rem;
        padding: 1rem;
    }

    .perfilPaciente__contactRow {
        align-items: stretch;
    }

    .perfilPaciente__map {
        width: 100%;
    }
}

/* =========================================================
   Rede Social (redesocial.php)
   ========================================================= */
.redeSocial__page {
    background:
        radial-gradient(circle at top left, rgba(var(--cor-secundaria-rgb), 0.16), transparent 34%),
        radial-gradient(circle at top right, rgba(var(--cor-primaria-rgb), 0.12), transparent 28%),
        linear-gradient(180deg, #f6f8ff 0%, #fcfdff 38%, #f7f8fc 100%);
}

.redeSocial__container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: clamp(110px, 14vw, 140px) 0 clamp(48px, 6vw, 88px);
}

.redeSocial__hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 28px;
    padding: clamp(28px, 5vw, 44px);
    border: 1px solid rgba(131, 99, 179, 0.12);
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 244, 255, 0.86));
    box-shadow: 0 28px 60px rgba(26, 38, 82, 0.08);
}

.redeSocial__heroGlow {
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    filter: blur(12px);
    opacity: 0.55;
    pointer-events: none;
}

.redeSocial__heroGlow--left {
    top: -120px;
    left: -70px;
    background: rgba(235, 95, 150, 0.12);
}

.redeSocial__heroGlow--right {
    right: -90px;
    bottom: -130px;
    background: rgba(99, 110, 250, 0.13);
}

.redeSocial__heroContent {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 14px;
    max-width: 720px;
}

.redeSocial__eyebrow,
.redeSocial__sectionEyebrow {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(var(--cor-secundaria-rgb), 0.12);
    color: #8c2f69;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.redeSocial__heroContent h1 {
    margin: 0;
    color: #1f2857;
    font-size: clamp(2rem, 4vw, 3.3rem);
    line-height: 1.1;
}

.redeSocial__heroContent p {
    margin: 0;
    color: #566182;
    font-size: 1.03rem;
    line-height: 1.7;
}

.redeSocial__heroChips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.redeSocial__chip,
.redeSocial__sectionBadge,
.redeSocial__postTypeTag,
.redeSocial__widgetCount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(108, 120, 166, 0.16);
    color: #4d567a;
    font-size: 0.88rem;
    font-weight: 700;
}

.redeSocial__alert {
    margin-bottom: 22px;
    padding: 15px 18px;
    border-radius: 18px;
    border: 1px solid transparent;
    font-weight: 600;
    box-shadow: 0 12px 28px rgba(24, 38, 82, 0.05);
}

.redeSocial__alert--success {
    background: rgba(75, 181, 111, 0.12);
    border-color: rgba(75, 181, 111, 0.22);
    color: #1f6d37;
}

.redeSocial__alert--warning {
    background: rgba(255, 191, 71, 0.14);
    border-color: rgba(255, 191, 71, 0.25);
    color: #8b5c00;
}

.redeSocial__alert--error {
    background: rgba(234, 84, 85, 0.12);
    border-color: rgba(234, 84, 85, 0.22);
    color: #9a2c2c;
}

.redeSocial__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(280px, 0.95fr);
    gap: 24px;
    align-items: start;
}

.redeSocial__mainColumn,
.redeSocial__sidebar,
.redeSocial__feed {
    display: grid;
    gap: 24px;
}

.redeSocial__composer,
.redeSocial__post,
.redeSocial__widget {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(125, 137, 180, 0.12);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 250, 255, 0.95));
    box-shadow: 0 22px 50px rgba(26, 38, 82, 0.08);
}

.redeSocial__composer::before,
.redeSocial__post::before,
.redeSocial__widget::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.06), transparent 30%, rgba(var(--cor-primaria-rgb), 0.05));
    opacity: 0.9;
    pointer-events: none;
}

.redeSocial__composer > *,
.redeSocial__post > *,
.redeSocial__widget > * {
    position: relative;
    z-index: 1;
}

.redeSocial__composer {
    padding: 24px;
    gap: 18px;
}

.redeSocial__composerHead,
.redeSocial__postAuthor,
.redeSocial__followItem,
.redeSocial__widgetHead,
.redeSocial__sectionHead,
.redeSocial__postHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.redeSocial__composerHead {
    justify-content: flex-start;
}

.redeSocial__composerHead strong,
.redeSocial__postAuthor strong,
.redeSocial__followItem strong,
.redeSocial__personCard strong {
    color: #26325e;
    font-size: 1rem;
}

.redeSocial__composerHead p,
.redeSocial__followItem span,
.redeSocial__personCard span,
.redeSocial__postMeta,
.redeSocial__readOnlyHint {
    margin: 0;
    color: #6b7698;
    font-size: 0.92rem;
    line-height: 1.5;
}

.redeSocial__avatar {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 10px 22px rgba(74, 84, 121, 0.15);
    background: #eef1fb;
}

.redeSocial__avatar--lg {
    width: 68px;
    height: 68px;
    min-width: 68px;
}

.redeSocial__composerForm,
.redeSocial__editForm {
    display: grid;
    gap: 16px;
}

.redeSocial__composerField textarea,
.redeSocial__editForm textarea,
.redeSocial__select {
    width: 100%;
    border: 1px solid rgba(126, 138, 178, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    color: #28355f;
    font: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.redeSocial__composerField textarea,
.redeSocial__editForm textarea {
    min-height: 118px;
    padding: 20px 22px;
    resize: vertical;
    line-height: 1.65;
}

.redeSocial__composerField textarea:focus,
.redeSocial__editForm textarea:focus,
.redeSocial__select:focus,
.redeSocial__tool:focus,
.redeSocial__primaryButton:focus,
.redeSocial__ghostButton:focus,
.redeSocial__actionBtn:focus,
.redeSocial__widgetLink:focus,
.redeSocial__ownerBtn:focus,
.redeSocial__uploadLabel:focus-within {
    outline: none;
    border-color: rgba(var(--cor-secundaria-rgb), 0.45);
    box-shadow: 0 0 0 4px rgba(var(--cor-secundaria-rgb), 0.12);
}

.redeSocial__composerFoot,
.redeSocial__composerTools,
.redeSocial__postActions,
.redeSocial__postStats,
.redeSocial__ownerActions,
.redeSocial__editFoot,
.redeSocial__editActions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.redeSocial__composerFoot {
    justify-content: space-between;
}

.redeSocial__tool,
.redeSocial__actionBtn,
.redeSocial__ownerBtn,
.redeSocial__ghostButton,
.redeSocial__primaryButton,
.redeSocial__uploadLabel,
.redeSocial__widgetLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 999px;
    padding: 12px 18px;
    border: 1px solid rgba(118, 131, 178, 0.16);
    background: rgba(255, 255, 255, 0.88);
    color: #4c5578;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.redeSocial__tool:hover,
.redeSocial__actionBtn:hover,
.redeSocial__ownerBtn:hover,
.redeSocial__ghostButton:hover,
.redeSocial__primaryButton:hover,
.redeSocial__uploadLabel:hover,
.redeSocial__widgetLink:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(26, 38, 82, 0.08);
}

.redeSocial__tool.is-active,
.redeSocial__primaryButton {
    background: linear-gradient(135deg, rgba(var(--cor-secundaria-rgb), 0.92), rgba(232, 95, 151, 0.82));
    border-color: transparent;
    color: #fff;
}

.redeSocial__ghostButton,
.redeSocial__ownerBtn,
.redeSocial__uploadLabel,
.redeSocial__widgetLink {
    background: rgba(245, 247, 255, 0.92);
}

.redeSocial__ownerBtn--danger {
    color: #a63737;
}

.redeSocial__uploadLabel {
    position: relative;
    overflow: hidden;
}

.redeSocial__uploadLabel input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.redeSocial__sectionHead {
    padding: 0 2px;
}

.redeSocial__sectionHead h2,
.redeSocial__widgetHead h3 {
    margin: 6px 0 0;
    color: #24305c;
}

.redeSocial__post {
    padding: 24px;
    display: grid;
    gap: 18px;
}

.redeSocial__postHead {
    align-items: flex-start;
}

.redeSocial__postAuthor {
    justify-content: flex-start;
}

.redeSocial__postTopActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.redeSocial__postMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.redeSocial__postBody p {
    margin: 0;
    color: #374265;
    font-size: 1rem;
    line-height: 1.8;
}

.redeSocial__postMedia {
    margin-top: 16px;
    border-radius: 24px;
    overflow: hidden;
    background: #eff2fb;
}

.redeSocial__postMedia img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.redeSocial__postFooter {
    display: grid;
    gap: 14px;
    padding-top: 18px;
    border-top: 1px solid rgba(122, 132, 170, 0.12);
}

.redeSocial__postStats {
    color: #687394;
    font-size: 0.92rem;
}

.redeSocial__actionBtn {
    flex: 1 1 150px;
    background: rgba(246, 248, 255, 0.92);
}

.redeSocial__actionBtn svg {
    width: 18px;
    height: 18px;
}

.redeSocial__readOnlyHint {
    width: 100%;
    padding: 12px 16px;
    border-radius: 18px;
    background: rgba(241, 244, 255, 0.84);
    border: 1px dashed rgba(124, 136, 176, 0.24);
}

.redeSocial__inlineForm {
    margin: 0;
}

.redeSocial__editFoot {
    justify-content: space-between;
}

.redeSocial__select {
    max-width: 180px;
    padding: 12px 16px;
}

.redeSocial__sidebar {
    position: sticky;
    top: 110px;
}

.redeSocial__widget {
    padding: 22px;
}

.redeSocial__followList,
.redeSocial__peopleGrid {
    display: grid;
    gap: 14px;
}

.redeSocial__followItem {
    justify-content: flex-start;
    padding: 12px;
    border-radius: 20px;
    background: rgba(247, 249, 255, 0.92);
    border: 1px solid rgba(118, 132, 182, 0.12);
}

.redeSocial__peopleGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.redeSocial__peopleGrid--followers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.redeSocial__personCard {
    display: grid;
    justify-items: start;
    gap: 10px;
    padding: 14px;
    border-radius: 22px;
    background: rgba(247, 249, 255, 0.92);
    border: 1px solid rgba(118, 132, 182, 0.12);
}

.redeSocial__personCard--compact {
    justify-items: center;
    text-align: center;
}

.redeSocial__personCard strong {
    display: block;
}

.redeSocial__widgetLink {
    margin-top: 16px;
    width: fit-content;
}

.redeSocial__post.is-demo {
    border-style: dashed;
}

@media (max-width: 1024px) {
    .redeSocial__layout {
        grid-template-columns: 1fr;
    }

    .redeSocial__sidebar {
        position: static;
    }
}

@media (max-width: 720px) {
    .redeSocial__container {
        width: min(100% - 20px, 1180px);
        padding-top: 104px;
    }

    .redeSocial__hero,
    .redeSocial__composer,
    .redeSocial__post,
    .redeSocial__widget {
        border-radius: 24px;
    }

    .redeSocial__composerFoot,
    .redeSocial__postActions,
    .redeSocial__editFoot,
    .redeSocial__postHead,
    .redeSocial__widgetHead,
    .redeSocial__sectionHead {
        align-items: stretch;
        flex-direction: column;
    }

    .redeSocial__composerTools,
    .redeSocial__editActions,
    .redeSocial__ownerActions,
    .redeSocial__postTopActions {
        width: 100%;
    }

    .redeSocial__tool,
    .redeSocial__actionBtn,
    .redeSocial__ownerBtn,
    .redeSocial__ghostButton,
    .redeSocial__primaryButton,
    .redeSocial__uploadLabel,
    .redeSocial__widgetLink,
    .redeSocial__select {
        width: 100%;
        justify-content: center;
    }

    .redeSocial__peopleGrid,
    .redeSocial__peopleGrid--followers {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .redeSocial__tool,
    .redeSocial__actionBtn,
    .redeSocial__ownerBtn,
    .redeSocial__ghostButton,
    .redeSocial__primaryButton,
    .redeSocial__uploadLabel,
    .redeSocial__widgetLink,
    .redeSocial__composerField textarea,
    .redeSocial__editForm textarea,
    .redeSocial__select {
        transition: none;
    }
}

/* =========================
   Agenda, cobrança e notas
   ========================= */
.agendaPage__body {
    background: linear-gradient(180deg, #f7fbff 0%, #eef4ff 100%);
}

.agendaPage__container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 128px 0 72px;
}

.agendaPage__container--professional {
    padding-bottom: 96px;
}

.agendaPage__hero,
.agendaPage__card,
.agendaPage__appointmentCard,
.agendaPage__dayCard,
.admin__tableWrap {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(84, 110, 255, 0.12);
    box-shadow: 0 18px 48px rgba(35, 53, 114, 0.08);
    border-radius: 26px;
}

.agendaPage__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 28px;
    margin-bottom: 24px;
}

.agendaPage__eyebrow {
    margin: 0 0 10px;
    color: #5e6ad2;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.agendaPage__hero h1 {
    margin: 0 0 10px;
    font-size: clamp(2rem, 4vw, 2.8rem);
    color: #18203a;
}

.agendaPage__hero p,
.agendaPage__sectionHead p,
.admin__panelSubtitle {
    margin: 0;
    color: #5c6887;
}

.agendaPage__ghostLink,
.perfilPaciente__inlineLink,
.perfilPaciente__primaryLink,
.agendaPage__button,
.admin__table .admin__btn,
.editarPerfil__billingOption {
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.agendaPage__ghostLink,
.perfilPaciente__inlineLink,
.perfilPaciente__primaryLink {
    text-decoration: none;
}

.agendaPage__ghostLink,
.perfilPaciente__inlineLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(84, 110, 255, 0.18);
    color: #4050c6;
    background: rgba(255, 255, 255, 0.85);
    font-weight: 600;
}

.agendaPage__grid {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 24px;
}

.agendaPage__card,
.agendaPage__listPanel,
.perfilPaciente__dashboardGrid {
    display: grid;
    gap: 18px;
}

.agendaPage__card,
.agendaPage__listPanel {
    padding: 24px;
}

.agendaPage__sectionHead,
.perfilPaciente__sectionHeader--between,
.perfilNovo__cardHead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.agendaPage__searchForm,
.agendaPage__filters {
    display: grid;
    gap: 16px;
}

.agendaPage__filters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
}

.agendaPage__fieldWrap {
    display: grid;
    gap: 8px;
}

.agendaPage__fieldWrap--wide {
    grid-column: span 2;
}

.agendaPage__label {
    color: #31405f;
    font-size: 0.95rem;
    font-weight: 700;
}

.agendaPage__input,
.agendaPage__textarea {
    width: 100%;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(97, 112, 180, 0.22);
    background: #f9fbff;
    color: #1f2a45;
    font: inherit;
}

.agendaPage__textarea {
    resize: vertical;
    min-height: 110px;
}

.agendaPage__notesForm--locked {
    gap: 12px;
}

.agendaPage__lockedMessage {
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(97, 112, 180, 0.18);
    background: #f3f6ff;
    color: #5c6887;
    font-weight: 600;
}

.agendaPage__button,
.perfilPaciente__primaryLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border: none;
    border-radius: 16px;
    background: linear-gradient(135deg, #4c60ff 0%, #7a5cff 100%);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(76, 96, 255, 0.22);
}

.agendaPage__button:hover,
.perfilPaciente__primaryLink:hover,
.agendaPage__ghostLink:hover,
.perfilPaciente__inlineLink:hover,
.editarPerfil__billingOption:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(76, 96, 255, 0.18);
}

.agendaPage__button--secondary {
    background: #eef2ff;
    color: #3443b8;
    box-shadow: none;
}

.agendaPage__button--danger {
    background: linear-gradient(135deg, #ff6d87 0%, #ff8760 100%);
}

.agendaPage__button--success {
    background: linear-gradient(135deg, #1aa772 0%, #33c28d 100%);
}

.agendaPage__list,
.perfilPaciente__notificationList,
.perfilPaciente__paymentsList,
.perfilPaciente__miniAgenda,
.perfilNovo__appointmentList {
    display: grid;
    gap: 14px;
}

.agendaPage__professionalCard,
.perfilPaciente__notificationItem,
.perfilPaciente__paymentItem,
.perfilPaciente__miniAgendaItem,
.perfilNovo__appointmentItem,
.agendaPage__appointmentCard {
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(89, 108, 191, 0.12);
    background: #f8faff;
}

.agendaPage__professionalCard {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    text-decoration: none;
    color: inherit;
}

.agendaPage__professionalCard.is-active {
    border-color: rgba(76, 96, 255, 0.45);
    background: rgba(76, 96, 255, 0.08);
}

.agendaPage__professionalCard strong,
.perfilPaciente__miniAgendaItem strong,
.perfilPaciente__notificationItem strong,
.perfilPaciente__paymentItem strong,
.perfilNovo__appointmentItem strong,
.agendaPage__appointmentCard h3 {
    display: block;
    margin-bottom: 4px;
    color: #1f2940;
}

.agendaPage__professionalCard span,
.agendaPage__professionalCard small,
.perfilPaciente__miniAgendaItem span,
.perfilPaciente__miniAgendaItem small,
.perfilPaciente__notificationItem p,
.perfilPaciente__notificationItem small,
.perfilPaciente__paymentItem p,
.perfilPaciente__paymentItem small,
.perfilNovo__appointmentItem span,
.perfilNovo__appointmentItem small,
.agendaPage__notesPreview {
    color: #5a6788;
}

.agendaPage__selectedSummary {
    padding: 18px 20px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(76, 96, 255, 0.08) 0%, rgba(122, 92, 255, 0.08) 100%);
    border: 1px solid rgba(76, 96, 255, 0.12);
}

.agendaPage__selectedSummary strong,
.agendaPage__selectedSummary span,
.agendaPage__selectedSummary small {
    display: block;
}

.agendaPage__days {
    display: grid;
    gap: 16px;
}

.agendaPage__dayCard {
    padding: 18px;
}

.agendaPage__dayCard header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.agendaPage__dayCard h3 {
    margin: 0;
    color: #1d2740;
}

.agendaPage__dayCard header span {
    color: #5a6788;
    font-size: 0.95rem;
}

.agendaPage__slots,
.agendaPage__actionsGrid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.agendaPage__slotForm,
.agendaPage__inlineForm,
.perfilPaciente__paymentForm {
    margin: 0;
}

.agendaPage__inlineForm {
    flex: 1 1 220px;
}

.agendaPage__inlineForm .agendaPage__button,
.agendaPage__notesForm .agendaPage__button {
    width: 100%;
}

.agendaPage__notesForm {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.agendaPage__notesForm--stacked {
    align-items: start;
}

.agendaPage__slotButton {
    min-width: 80px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(76, 96, 255, 0.22);
    background: #fff;
    color: #4150cb;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.agendaPage__slotButton:hover {
    background: rgba(76, 96, 255, 0.08);
}

.agendaPage__flash {
    margin-bottom: 20px;
    padding: 16px 18px;
    border-radius: 18px;
    font-weight: 600;
}

.agendaPage__flash--success {
    background: rgba(25, 167, 114, 0.12);
    color: #157652;
    border: 1px solid rgba(25, 167, 114, 0.18);
}

.agendaPage__flash--error {
    background: rgba(255, 109, 135, 0.12);
    color: #b33a53;
    border: 1px solid rgba(255, 109, 135, 0.18);
}

.agendaPage__empty,
.agendaPage__empty--panel {
    padding: 20px;
    border-radius: 20px;
    background: #f8faff;
    border: 1px dashed rgba(97, 112, 180, 0.24);
}

.agendaPage__appointmentTop,
.agendaPage__pillRow,
.perfilPaciente__paymentItem {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.agendaPage__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(76, 96, 255, 0.12);
    color: #3f4ec4;
    font-size: 0.85rem;
    font-weight: 700;
}

.agendaPage__pill--soft {
    background: rgba(122, 92, 255, 0.09);
}

.perfilPaciente__dashboardGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 28px;
}

.perfilPaciente__section--payments {
    align-content: start;
}

.notificacoesPaciente__page .perfilPaciente__container {
    padding-bottom: 88px;
}

.notificacoesPaciente__hero {
    margin-bottom: 22px;
}

.notificacoesPaciente__list {
    gap: 16px;
}

.notificacoesPaciente__item {
    background: #f6f8ff;
}


.cadastroPacienteEdit__container {
    max-width: 1040px;
}

.cadastroPacienteEdit__header {
    display: grid;
    gap: 0.65rem;
}

.cadastroPacienteEdit__card {
    padding: clamp(20px, 2.8vw, 32px);
}

.cadastroPacienteEdit__form,
.cadastroPacienteEdit__grid {
    display: grid;
    gap: 16px;
}

.cadastroPacienteEdit__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cadastroPacienteEdit__field--wide {
    grid-column: span 2;
}

.cadastroPacienteEdit__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.perfilPaciente__emptyState--compact {
    padding: 0;
    border: none;
    background: transparent;
}

.perfilPaciente__notificationItem p,
.perfilPaciente__paymentItem p {
    margin: 0 0 4px;
}

.perfilNovo__appointmentItem,
.perfilPaciente__miniAgendaItem {
    display: grid;
    gap: 4px;
}

.editarPerfil__billingChoices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.editarPerfil__billingOption {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(97, 112, 180, 0.18);
    background: #f8faff;
    cursor: pointer;
    font-weight: 600;
    color: #233257;
}

.editarPerfil__billingOption input {
    margin: 0;
}

.admin__tableWrap {
    overflow-x: auto;
}

.admin__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.admin__table th,
.admin__table td {
    padding: 14px 12px;
    text-align: left;
    border-bottom: 1px solid rgba(97, 112, 180, 0.12);
    color: #24304e;
}

.admin__table th {
    color: #526181;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.admin__tableMuted {
    color: #7b86a2;
    font-size: 0.92rem;
}

@media (max-width: 1024px) {
    .agendaPage__grid,
    .perfilPaciente__dashboardGrid {
        grid-template-columns: 1fr;
    }

    .agendaPage__filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .agendaPage__fieldWrap--wide {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .agendaPage__container {
        width: min(100% - 20px, 1180px);
        padding-top: 110px;
    }

    .agendaPage__hero,
    .agendaPage__sectionHead,
    .perfilPaciente__sectionHeader--between,
    .perfilNovo__cardHead,
    .agendaPage__appointmentTop,
    .agendaPage__pillRow,
    .perfilPaciente__paymentItem {
        flex-direction: column;
        align-items: stretch;
    }

    .agendaPage__filters,
    .editarPerfil__billingChoices {
        grid-template-columns: 1fr;
    }

    .agendaPage__fieldWrap--wide {
        grid-column: span 1;
    }

    .cadastroPacienteEdit__grid {
        grid-template-columns: 1fr;
    }

    .cadastroPacienteEdit__field--wide {
        grid-column: span 1;
    }

    .cadastroPacienteEdit__actions {
        flex-direction: column;
    }

    .agendaPage__button,
    .agendaPage__ghostLink,
    .perfilPaciente__primaryLink,
    .perfilPaciente__inlineLink {
        width: 100%;
    }
}

/* =========================
   Suporte ao paciente e admin
   ========================= */
.supportPage__grid {
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
}

.supportPage__summaryCard,
.supportPage__formCard,
.adminSupport__panel {
    align-content: start;
}

.supportPage__detailList {
    display: grid;
    gap: 14px;
}

.supportPage__detailItem {
    padding: 16px 18px;
    border-radius: 18px;
    background: #f8faff;
    border: 1px solid rgba(89, 108, 191, 0.12);
}

.supportPage__detailItem span,
.supportPage__hint,
.adminSupport__content small {
    display: block;
    color: #5a6788;
}

.supportPage__detailItem strong {
    display: block;
    margin-top: 4px;
    color: #1f2940;
}

.perfilPaciente__miniAgendaItem--support {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.perfilPaciente__supportLink {
    flex-shrink: 0;
}

.adminSupport__head {
    align-items: flex-start;
}

.adminSupport__list {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.adminSupport__list--compact {
    gap: 12px;
}

.adminSupport__item {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid rgba(89, 108, 191, 0.12);
    background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(248,250,255,0.98));
}

.adminSupport__item--compact {
    flex-wrap: wrap;
}

.adminSupport__content {
    flex: 1 1 520px;
    display: grid;
    gap: 8px;
}

.adminSupport__content p {
    margin: 0;
    color: #354361;
    line-height: 1.6;
}

.adminSupport__metaRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.adminSupport__metaRow strong {
    color: #1f2940;
    font-size: 1.04rem;
}

.adminSupport__actions {
    display: grid;
    gap: 10px;
    align-content: start;
    min-width: min(100%, 250px);
}

.adminSupport__actions .agendaPage__inlineForm {
    width: 100%;
}

.adminSupport__actions .agendaPage__button {
    width: 100%;
}

@media (max-width: 1024px) {
    .supportPage__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .perfilPaciente__miniAgendaItem--support,
    .adminSupport__item,
    .adminSupport__metaRow {
        flex-direction: column;
        align-items: stretch;
    }

    .adminSupport__actions,
    .perfilPaciente__supportLink {
        width: 100%;
    }
}

/* =========================
   Página de planos
   ========================= */
.planosPage__body {
    background: #f3f4f6;
}

.planosPage__page {
    width: 100%;
}

.planosPage__container {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: clamp(24px, 4vw, 52px) var(--layout-content-padding-inline) clamp(56px, 8vw, 86px);
    display: grid;
    gap: 30px;
}

.planosPage__hero {
    display: grid;
    grid-template-columns: 1.2fr minmax(260px, 380px);
    gap: 28px;
    align-items: center;
    border-radius: 34px;
    padding: clamp(26px, 4vw, 42px);
    background: linear-gradient(136deg, #cc4b8c 2%, #8f35c2 58%, #6220a7 100%);
    color: var(--color-branco);
}

.planosPage__heroContent { display: grid; gap: 14px; }
.planosPage__title { margin: 0; font-size: clamp(2.2rem, 4.4vw, 4rem); line-height: 1.02; }
.planosPage__hero p { margin: 0; max-width: 620px; color: rgba(255, 255, 255, 0.92); }

.planosPage__eyebrow {
    width: fit-content; margin: 0; font-size: .84rem; font-weight: 700;
    border-radius: 999px; padding: 7px 14px;
    background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.26);
}

.planosPage__heroActions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.planosPage__heroBtn,
.planosPage__statusBadge,
.planosPage__ghostButton,
.planosPage__button,
.planosPage__currentLabel,
.planosPage__pill { border-radius: 999px; font-weight: 700; }

.planosPage__heroBtn,
.planosPage__statusBadge,
.planosPage__ghostButton { padding: 12px 22px; text-decoration: none; border: 1px solid transparent; }
.planosPage__statusBadge { background: #fff; color: #a61f66; }
.planosPage__statusBadge.is-active { background: #d4ff6b; color: #4f4f00; }
.planosPage__heroBtn { background: #d9ef50; color: #4a4f0d; }
.planosPage__ghostButton { background: rgba(255,255,255,.1); color:#fff; border-color: rgba(255,255,255,.36); }

.planosPage__heroMedia { border-radius: 24px; padding: 10px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.32); }
.planosPage__heroMedia img,
.planosPage__faqMedia img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 18px; }

.planosPage__flash { border-radius: 14px; padding: 16px 18px; font-weight: 600; border: 1px solid transparent; }
.planosPage__flash--success { background: rgba(44, 167, 96, 0.12); border-color: rgba(44, 167, 96, 0.2); color: #11663b; }
.planosPage__flash--error { background: rgba(191, 58, 135, 0.12); border-color: rgba(191, 58, 135, 0.22); color: #8a1452; }

.planosPage__summaryGrid { margin-top: -74px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.planosPage__summaryCard,
.planosPage__planCard,
.planosPage__emptyState,
.planosPage__faqItem { background: #fff; border-radius: 20px; border: 1px solid #ececf4; box-shadow: 0 18px 34px rgba(37, 34, 72, .06); }
.planosPage__summaryCard { padding: 22px; display: grid; gap: 9px; }
.planosPage__summaryLabel { font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; color: #7b7f91; font-weight: 700; }
.planosPage__summaryValue { font-size: 2rem; color: #11131d; line-height: 1.1; }

.planosPage__section { display:grid; gap:22px; }
.planosPage__sectionHeader { display: flex; justify-content: space-between; gap: 20px; align-items: end; }
.planosPage__sectionHeader h2 { margin:0 0 8px; font-size: clamp(2rem, 3vw, 2.8rem); }
.planosPage__sectionHeader p { margin:0; color:#5d6271; max-width: 620px; }
.planosPage__billingToggle { display:flex; border-radius:999px; background:#fff; padding: 6px; border: 1px solid #e7e7f1; }
.planosPage__billingToggle span { padding: 10px 14px; border-radius:999px; font-size:.92rem; color:#585c6c; }
.planosPage__billingToggle .is-active { background:#f6f0fa; color:#9c145d; font-weight:700; }

.planosPage__plansGrid { display:grid; gap: 18px; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); }
.planosPage__planCard { position: relative; padding: 26px; display:grid; gap:20px; }
.planosPage__planCardPopular { border: 2px solid #a81667; transform: translateY(-6px); }
.planosPage__popularBadge {
    position: absolute; left: 50%; transform: translate(-50%,-50%); top: 0;
    background: #a81667; color: #fff; padding: 6px 16px; border-radius: 999px;
    font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700;
}
.planosPage__cardTop { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.planosPage__planName { margin: 10px 0 8px; font-size: 2rem; color:#161926; }
.planosPage__priceBlock { text-align:right; display:grid; gap:4px; }
.planosPage__price { font-size: 2.2rem; color:#11131d; }
.planosPage__pill { padding: 8px 14px; background: #ece9ff; color: #5d32b2; display: inline-flex; }

.planosPage__benefitsList,
.planosPage__features { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.planosPage__features { border-top: 1px solid #efeff4; padding-top: 14px; }
.planosPage__benefitsList li,
.planosPage__features span { position: relative; padding-left: 24px; color:#2f3445; }
.planosPage__benefitsList li::before,
.planosPage__features span::before { content:'✓'; position:absolute; left:0; color:#788617; font-weight:700; }
.planosPage__button { width: 100%; border: 0; padding: 14px 22px; background: linear-gradient(135deg,#9f1d63,#7a2bbb); color:#fff; box-shadow: 0 14px 24px rgba(140, 35, 120, .25); cursor:pointer; }
.planosPage__currentLabel { padding: 10px 16px; background:#f5f6fb; color:#6d7284; display:inline-flex; }

.planosPage__faq { display:grid; grid-template-columns: 1.08fr minmax(280px,520px); gap: 28px; align-items: center; margin-top: 12px; }
.planosPage__faqContent h2 { margin:0 0 12px; font-size: clamp(2rem,3vw,2.6rem); }
.planosPage__faqContent > p { margin: 0 0 20px; color:#5d6271; max-width: 560px; }
.planosPage__faqItem { padding: 20px; margin-bottom: 14px; }
.planosPage__faqItem h3 { margin: 0 0 8px; font-size: 1.06rem; }
.planosPage__faqItem p { margin: 0; color:#666c7e; }
.planosPage__faqMedia { min-height: 420px; border-radius: 36px; overflow: hidden; }

@media (max-width: 1100px) {
    .planosPage__summaryGrid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 0; }
    .planosPage__hero { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
    .planosPage__sectionHeader { flex-direction: column; align-items: flex-start; }
    .planosPage__cardTop,
    .planosPage__faq { grid-template-columns: 1fr; display:grid; }
    .planosPage__priceBlock { text-align:left; }
    .planosPage__heroActions { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
    .planosPage__summaryGrid { grid-template-columns: 1fr; }
    .planosPage__summaryValue,
    .planosPage__price { font-size: 1.75rem; }
}

/* =========================================================
   Aprovação administrativa (clínicas e profissionais)
   ========================================================= */
.verification-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: 8px;
    border-radius: 50%;
    background: #6aa5ff;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    box-shadow: 0 6px 16px rgba(30, 85, 175, .28);
}

.approval-alert {
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 16px;
    border: 1px solid transparent;
}

.approval-alert strong { display: block; margin-bottom: 4px; }
.approval-alert p { margin: 0; }
.approval-alert--warning { background: #fff6db; border-color: #f5d77d; color: #6a4b00; }
.approval-alert--error { background: #ffe6ea; border-color: #f3a0ae; color: #6c1f2f; }

.adminAprovacoes__page {
    min-height: 100vh;
    margin: 0;
    padding: clamp(28px, 4vw, 52px) var(--layout-content-padding-inline) clamp(52px, 6vw, 78px);
    background: #f5f6f8;
    color: #14181d;
}

.adminAprovacoes__container {
    width: min(100%, 1160px);
    margin: 0 auto;
}

.adminAprovacoes__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: clamp(42px, 5vw, 64px);
}

.adminAprovacoes__heroText { max-width: 820px; }

.adminAprovacoes__title {
    margin: 0 0 8px;
    color: #14181d;
    font-family: var(--font-principal);
    font-size: clamp(2.45rem, 5.1vw, 4.25rem);
    font-weight: 800;
    letter-spacing: -0.06em;
    line-height: .94;
}

.adminAprovacoes__subtitle {
    max-width: 780px;
    margin: 0;
    color: #342331;
    font-size: clamp(1.05rem, 1.7vw, 1.45rem);
    line-height: 1.45;
}

.adminAprovacoes__back,
.adminAprovacoes__backBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex: 0 0 auto;
    min-height: 58px;
    padding: 0 30px;
    border-radius: 999px;
    background: var(--cor-secundaria);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 14px 24px rgba(var(--cor-secundaria-rgb), .25);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.adminAprovacoes__back:hover,
.adminAprovacoes__backBtn:hover {
    transform: translateY(-2px);
    background: #ad2e79;
    box-shadow: 0 18px 30px rgba(var(--cor-secundaria-rgb), .32);
}

.adminAprovacoes__layout {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(320px, 1fr);
    gap: clamp(30px, 4vw, 50px);
    align-items: start;
}

.adminAprovacoes__mainColumn,
.adminAprovacoes__sideColumn { min-width: 0; }
.adminAprovacoes__mainColumn { display: grid; gap: 40px; }
.adminAprovacoes__sideColumn { display: grid; gap: 40px; }

.adminAprovacoes__sectionHeader {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 26px;
}

.adminAprovacoes__sectionHeader--side { margin-bottom: 22px; }

.adminAprovacoes__sectionAccent {
    width: 9px;
    height: 40px;
    border-radius: 999px;
    background: var(--cor-secundaria);
}

.adminAprovacoes__sectionAccent--green { background: #687900; }

.adminAprovacoes__sectionTitle {
    margin: 0;
    color: #12161b;
    font-family: var(--font-principal);
    font-size: clamp(1.35rem, 2.1vw, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.adminAprovacoes__countBadge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 16px;
    border-radius: 999px;
    background: #ffd7e8;
    color: #8f0754;
    font-weight: 800;
}

.adminAprovacoes__approvalList { display: grid; gap: 30px; }
.adminAprovacoes__approvalList--side { gap: 18px; }

.adminAprovacoes__approvalCard,
.adminAprovacoes__emptyCard {
    border-radius: 30px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 22px 42px rgba(24, 31, 38, .06);
}

.adminAprovacoes__approvalCard {
    padding: 30px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .5s ease, transform .5s ease, box-shadow .22s ease;
}

.adminAprovacoes__approvalCard:hover { box-shadow: 0 26px 48px rgba(24, 31, 38, .09); }
.adminAprovacoes__isVisible { opacity: 1; transform: translateY(0); }

.adminAprovacoes__approvalCard--clinic { padding: 22px; border-radius: 24px; }

.adminAprovacoes__cardTop {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 22px;
    align-items: start;
}

.adminAprovacoes__cardTop--side { grid-template-columns: 64px minmax(0, 1fr); }

.adminAprovacoes__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: #e4f53d;
    color: #657406;
    font-size: 1.75rem;
    font-weight: 800;
    box-shadow: inset 0 0 0 1px rgba(101, 116, 6, .08);
}

.adminAprovacoes__avatar--clinic { background: #ffd8e9; color: #6b274d; width: 60px; height: 60px; font-size: 1.25rem; }

.adminAprovacoes__cardInfo { min-width: 0; }
.adminAprovacoes__name { margin: 0 0 8px; color: #101418; font-family: var(--font-principal); font-size: clamp(1.25rem, 2vw, 1.55rem); font-weight: 800; line-height: 1.1; }
.adminAprovacoes__meta { margin: 3px 0; color: #4d3b4a; font-size: 1rem; line-height: 1.35; overflow-wrap: anywhere; }

.adminAprovacoes__actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.adminAprovacoes__actions--side { justify-content: flex-start; margin-top: 18px; }
.adminAprovacoes__actions form { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adminAprovacoes__actions input[type='text'] {
    width: 150px;
    min-height: 38px;
    border: 1px solid #e5e6e8;
    border-radius: 999px;
    padding: 0 13px;
    background: #f7f8f9;
    color: #3d303a;
    font-family: var(--font-principal);
}

.adminAprovacoes__btn,
.adminAprovacoes__approveBtn,
.adminAprovacoes__rejectBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    border: 0;
    border-radius: 999px;
    padding: 0 24px;
    cursor: pointer;
    font-family: var(--font-principal);
    font-size: 1rem;
    font-weight: 800;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.adminAprovacoes__btn:hover { transform: translateY(-1px); }
.adminAprovacoes__btn--ok,
.adminAprovacoes__approveBtn { background: #e7f440; color: #66710a; }
.adminAprovacoes__btn--danger,
.adminAprovacoes__rejectBtn { background: #eceeef; color: #4d3b48; }

.adminAprovacoes__detailsWrap {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #f0ecef;
}

.adminAprovacoes__detailsWrap summary { list-style: none; }
.adminAprovacoes__detailsWrap summary::-webkit-details-marker { display: none; }

.adminAprovacoes__detailsBtn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #b20d6c;
    cursor: pointer;
    font-weight: 800;
}

.adminAprovacoes__detailsBtn::before { content: '⌄'; font-size: 1.3rem; line-height: 1; transition: transform .2s ease; }
.adminAprovacoes__detailsWrap[open] .adminAprovacoes__detailsBtn::before { transform: rotate(180deg); }

.adminAprovacoes__details {
    display: grid;
    gap: 6px;
    max-height: 240px;
    margin: 14px 0 0;
    padding: 0 0 0 18px;
    overflow: auto;
    color: #4c4f55;
    font-size: .92rem;
}

.adminAprovacoes__detailHighlight {
    color: #33363d;
}

.adminAprovacoes__emptyCard {
    display: grid;
    place-items: center;
    min-height: 210px;
    padding: 28px;
    border: 2px dashed #eadde5;
    color: #3c2837;
    text-align: center;
}

.adminAprovacoes__emptyCard strong { max-width: 260px; font-size: 1.15rem; line-height: 1.35; }
.adminAprovacoes__emptyCard span { margin-top: 14px; color: #91868e; line-height: 1.35; }
.adminAprovacoes__emptyCard--clinics { min-height: 276px; background: transparent; box-shadow: none; }
.adminAprovacoes__emptyIcon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 6px; border-radius: 50%; background: #e6e7e8; color: #aaaeb3; font-size: 2.05rem; }

.adminAprovacoes__summaryCard {
    padding: 34px 30px 30px;
    border-radius: 30px;
    background: #b42b7d;
    color: #fff;
    box-shadow: 0 22px 34px rgba(180, 43, 125, .26);
}

.adminAprovacoes__summaryCard h2 { margin: 0 0 2px; color: #fff; font-family: var(--font-principal); font-size: 1.45rem; font-weight: 800; }
.adminAprovacoes__summaryCard p { margin: 0; color: #ffd7eb; }
.adminAprovacoes__summaryGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 32px 0 0; }
.adminAprovacoes__summaryItem { min-height: 108px; padding: 22px 20px; border-radius: 18px; background: rgba(255, 255, 255, .14); }
.adminAprovacoes__summaryItem strong { display: block; font-size: 2rem; line-height: 1; }
.adminAprovacoes__summaryItem span { display: block; margin-top: 12px; color: #ffd7eb; font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.adminAprovacoes__notesCard {
    padding: 30px;
    border-radius: 30px;
    background: #dedfe0;
    color: #11161a;
}

.adminAprovacoes__notesCard h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; font-family: var(--font-principal); font-size: 1.05rem; font-weight: 800; }
.adminAprovacoes__notesCard h2::before { content: 'ⓘ'; color: #6d760d; font-size: .9rem; }
.adminAprovacoes__notesCard div { padding: 22px; border-radius: 18px; background: #fff; color: #3b3038; line-height: 1.55; }

.adminAprovacoes__flash { padding: 14px 18px; border-radius: 16px; margin-bottom: 24px; font-weight: 700; }
.adminAprovacoes__flash--success { background: #e8f8ee; color: #1e5f3e; }
.adminAprovacoes__flash--error { background: #ffe8ee; color: #7d2037; }

.adminAprovacoes__back:focus-visible,
.adminAprovacoes__btn:focus-visible,
.adminAprovacoes__detailsBtn:focus-visible,
.adminAprovacoes__actions input[type='text']:focus-visible {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), .35);
    outline-offset: 3px;
}

@media (max-width: 1060px) {
    .adminAprovacoes__layout { grid-template-columns: 1fr; }
    .adminAprovacoes__sideColumn { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .adminAprovacoes__sideColumn > section:first-child { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
    .adminAprovacoes__header { align-items: flex-start; flex-direction: column; }
    .adminAprovacoes__cardTop { grid-template-columns: 72px minmax(0, 1fr); }
    .adminAprovacoes__actions { grid-column: 1 / -1; justify-content: flex-start; }
    .adminAprovacoes__avatar { width: 64px; height: 64px; font-size: 1.35rem; }
    .adminAprovacoes__sideColumn { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .adminAprovacoes__page { padding-inline: 14px; }
    .adminAprovacoes__sectionHeader { flex-wrap: wrap; }
    .adminAprovacoes__approvalCard { padding: 22px; border-radius: 24px; }
    .adminAprovacoes__cardTop { grid-template-columns: 1fr; }
    .adminAprovacoes__actions,
    .adminAprovacoes__actions form,
    .adminAprovacoes__btn,
    .adminAprovacoes__actions input[type='text'] { width: 100%; }
    .adminAprovacoes__summaryGrid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .adminAprovacoes__approvalCard,
    .adminAprovacoes__back,
    .adminAprovacoes__btn { transition: none; }
    .adminAprovacoes__approvalCard { opacity: 1; transform: none; }
}

/* =========================
   Agenda profissional (novo design)
   ========================= */
.agendaPro__body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    background: #f5f7fb;
    color: #18203a;
    font-family: var(--font-principal);
}

.agendaPro__body > .menu__wrapper,
.agendaPro__body > .footer__root {
    flex: 0 0 100%;
    width: 100%;
}

.agendaPro__body h1,
.agendaPro__body h2,
.agendaPro__body h3 {
    font-family: var(--font-destaque);
}

.agendaPro__sidebar {
    flex: 0 0 260px;
    width: 260px;
    min-height: auto;
    align-self: stretch;
    position: relative;
    padding: 24px;
    background: #f8fafc;
    border-right: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.agendaPro__brand {
    display: block;
}

.agendaPro__brandIcon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #d13f8d, #f075af);
}

.agendaPro__brand h1 {
    margin: 0;
    color: #c13382;
    font-size: 1.1rem;
}

.agendaPro__brand p {
    margin: 3px 0 0;
    color: #7b849c;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.agendaPro__nav {
    display: grid;
    gap: 8px;
}

.agendaPro__nav a {
    text-decoration: none;
    padding: 10px 12px;
    border-radius: 10px;
    color: #67738f;
    font-weight: 700;
}

.agendaPro__nav a.is-active,
.agendaPro__nav a:hover {
    background: #fff;
    color: #c13382;
}

.agendaPro__newButton {
    margin-top: auto;
    text-decoration: none;
    text-align: center;
    padding: 13px 14px;
    border-radius: 12px;
    background: #f3d9e8;
    color: #7d2a58;
    font-weight: 800;
}

.agendaPro__main {
    flex: 1 1 calc(100% - 260px);
    min-width: 0;
    padding: 24px 28px;
}

.agendaPro__topBar {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    border-radius: 18px;
    padding: 18px 22px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 20px;
}

.agendaPro__titleLogo {
    display: block;
    color: #d13f8d;
    font-weight: 900;
    font-style: italic;
    margin-bottom: 4px;
}

.agendaPro__topBar h2 {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vw, 2.3rem);
}

.agendaPro__backLink {
    color: #445582;
    text-decoration: none;
    font-weight: 700;
}

.agendaPro__filters {
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    border-radius: 18px;
    padding: 18px;
    margin-bottom: 20px;
}

.agendaPro__filtersForm {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr auto;
    gap: 10px;
}

.agendaPro__filtersForm input,
.agendaPro__filtersForm select,
.agendaPro__notesForm textarea {
    width: 100%;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.16);
    background: #f8faff;
    border-radius: 12px;
    padding: 12px 13px;
    color: #24304e;
    font: inherit;
    box-sizing: border-box;
}

.agendaPro__filtersForm button,
.agendaPro__btn {
    border: none;
    border-radius: 12px;
    padding: 12px 14px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.agendaPro__filtersForm button {
    background: #e8d5f7;
    color: #5b3684;
}

.agendaPro__list {
    display: grid;
    gap: 16px;
}

.agendaPro__card {
    border-radius: 20px;
    padding: 18px;
    background: #fff;
    border-left: 6px solid #6b7bf0;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
}

.agendaPro__card.is-finalized {
    background: #f5f7fb;
    border-left-color: #93a0b8;
}

.agendaPro__card.is-canceled {
    background: #fff4f6;
    border-left-color: #f192a3;
}

.agendaPro__card header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.agendaPro__patient {
    display: flex;
    gap: 12px;
    align-items: center;
}

.agendaPro__patient > span {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #edd8ff;
    color: #5f3a84;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.agendaPro__patient h3,
.agendaPro__patient p {
    margin: 0;
}

.agendaPro__patient p {
    color: #617192;
    margin-top: 3px;
}

.agendaPro__chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.agendaPro__chip {
    background: #d8f1e6;
    color: #1f7a53;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
}

.agendaPro__chip--soft {
    background: #e5eafe;
    color: #4057b3;
}

.agendaPro__obs {
    margin: 14px 0;
    color: #586582;
}

.agendaPro__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.agendaPro__btn--danger {
    background: #ffe0e7;
    color: #a82949;
}

.agendaPro__btn--ok {
    background: #d9f4e8;
    color: #157351;
}

.agendaPro__btn--soft {
    background: #edf1ff;
    color: #374fb5;
}

.agendaPro__notesForm {
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.agendaPro__notesForm label {
    font-weight: 700;
    color: #2c3a59;
}

.agendaPro__locked {
    margin-top: 12px;
    background: #eef2fa;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.14);
    border-radius: 12px;
    padding: 12px;
    color: #5b6885;
    font-weight: 600;
}

.agendaPro__flash {
    margin-bottom: 16px;
    border-radius: 12px;
    padding: 12px 14px;
    font-weight: 700;
}

.agendaPro__flash--success {
    background: #dff5ea;
    color: #126243;
}

.agendaPro__flash--error {
    background: #ffe3ea;
    color: #9f2545;
}

.agendaPro__empty {
    background: #fff;
    border: 1px dashed rgba(var(--cor-primaria-rgb), 0.22);
    border-radius: 18px;
    padding: 16px;
}

@media (max-width: 980px) {
    .agendaPro__body {
        display: block;
    }

    .agendaPro__sidebar {
        flex-basis: auto;
        position: static;
        width: auto;
        min-height: 0;
        border-right: none;
        border-bottom: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    }

    .agendaPro__filtersForm {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .agendaPro__main {
        padding: 16px;
    }

    .agendaPro__topBar {
        flex-direction: column;
        align-items: flex-start;
    }

    .agendaPro__filtersForm {
        grid-template-columns: 1fr;
    }
}

/* =========================
   Agenda profissional (mockup UX)
   ========================= */
.agendaProf__page {
    display: block;
    background: #eef0f3;
    color: #1c1f28;
}

.agendaProf__container {
    max-width: 1120px;
    width: min(100% - 32px, 1120px);
    margin: 18px auto 36px;
    padding: 0;
}

.agendaProf__layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}

.agendaProf__sideMenu {
    background: #dfe3e9;
    border-radius: 0 0 24px 24px;
    padding: 30px 18px;
    display: grid;
    gap: 12px;
    position: sticky;
    top: 110px;
}

.agendaProf__sideLink {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 14px;
    min-height: 60px;
    padding: 0 12px;
    color: #566f94;
    font-size: 1.28rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.agendaProf__sideLink .material-symbols-outlined {
    font-size: 1.75rem;
}

.agendaProf__sideLink span:last-child {
    min-width: 0;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.agendaProf__sideLink:not(.agendaProf__sideLink--back) span:last-child {
    white-space: nowrap;
    overflow-wrap: normal;
}

.agendaProf__sideLink--back {
    margin-top: 6px;
}

.agendaProf__sideLink.is-active {
    background: #ffffff;
    color: #e11f82;
    box-shadow: 0 6px 16px rgba(65, 76, 95, 0.08);
}

.agendaProf__sideLink:hover,
.agendaProf__sideLink:focus-visible {
    background: rgba(255, 255, 255, 0.72);
    color: #425673;
}

.agendaProf__content {
    min-width: 0;
}

.agendaProf__header {
    margin-bottom: 20px;
    border: 0;
    background: transparent;
    padding: 0;
}

.agendaProf__title {
    font-size: clamp(2rem, 4vw, 3.55rem);
    line-height: 1.04;
    margin: 0;
    color: #10131a;
}

.agendaProf__subtitle {
    margin: 10px 0 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #553543;
    font-size: clamp(1rem, 1.3vw, 2rem);
}

.agendaProf__subtitle .material-symbols-outlined {
    font-size: 1.3rem;
}

.agendaProf__viewSwitch {
    display: inline-flex;
    align-items: center;
    background: transparent;
    border-radius: 999px;
    gap: 12px;
}

.agendaProf__newBtn {
    border: none;
    background: #beca2e;
    color: #1d2308;
    border-radius: 999px;
    font-weight: 800;
    min-width: 220px;
    min-height: 52px;
    padding: 12px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.agendaProf__newBtn .material-symbols-outlined {
    font-size: 1.3rem;
}

.agendaProf__newBtn:hover,
.agendaProf__newBtn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(112, 121, 30, 0.24);
}

.agendaProf__bulkDeleteForm {
    display: inline-flex;
}

.agendaProf__deleteAllBtn {
    border: none;
    background: #fff;
    color: #8f1f47;
    border: 1px solid #d7b3c1;
    border-radius: 999px;
    font-weight: 800;
    min-width: 190px;
    min-height: 52px;
    padding: 12px 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.agendaProf__deleteAllBtn .material-symbols-outlined {
    font-size: 1.2rem;
}

.agendaProf__deleteAllBtn:hover,
.agendaProf__deleteAllBtn:focus-visible {
    transform: translateY(-1px);
    border-color: #bf6d8a;
    box-shadow: 0 10px 22px rgba(154, 37, 88, 0.16);
}

.agendaProf__filters {
    border: 0;
    border-radius: 24px;
    padding: 0;
    background: transparent;
}

.agendaProf__filters .agendaPro__filtersForm {
    grid-template-columns: minmax(210px, 1.3fr) minmax(190px, 1fr) minmax(180px, 1fr) minmax(220px, auto);
    gap: 16px;
}

.agendaProf__filter {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f6f7f9;
    border: 1px solid #eceef1;
    border-radius: 18px;
    padding: 0 16px;
    min-height: 64px;
}

.agendaProf__filter svg,
.agendaProf__filterBtn svg {
    width: 21px;
    height: 21px;
    fill: #8c9ab0;
    flex: 0 0 21px;
}

.agendaProf__filter input,
.agendaProf__filter select {
    border: 0;
    background: transparent;
    padding: 0;
    min-height: 62px;
}

.agendaProf__filterBtn {
    border: 0;
    border-radius: 18px;
    background: #d7e34d;
    color: #474718;
    font-size: 1.85rem;
    font-weight: 800;
    min-height: 64px;
    padding: 8px 22px;
    display: inline-flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.agendaProf__list {
    margin-top: 18px;
    gap: 22px;
}

.agendaProf__item {
    border: 1px solid #e8e9ed;
    border-left-width: 5px;
    border-radius: 28px;
    padding: 26px;
    display: grid;
    grid-template-columns: 128px 1fr;
    gap: 24px;
    background: #f8f9fb;
    box-shadow: 0 14px 36px rgba(31, 37, 54, 0.04);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .45s ease, transform .45s ease, box-shadow .25s ease;
}

.agendaProf__item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.agendaProf__item:hover {
    box-shadow: 0 16px 44px rgba(31, 37, 54, 0.08);
}

.agendaProf__item.is-scheduled { border-left-color: #aa2f83; }
.agendaProf__item.is-finalized { border-left-color: #9aa3b2; background: #f2f4f8; }
.agendaProf__item.is-canceled { border-left-color: #d58b8a; background: #f9f0f1; }

.agendaProf__time {
    border-right: 1px solid #e4e7ec;
    padding-right: 14px;
    display: grid;
    align-content: center;
    gap: 8px;
}

.agendaProf__timeMain {
    margin: 0;
    font-size: clamp(1.85rem, 2.7vw, 2.95rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #111521;
}

.agendaProf__timeMeta {
    margin: 0;
    color: #8c97a9;
    font-weight: 800;
    font-size: 0.78rem;
    letter-spacing: .2em;
}

.agendaProf__bodyCard header { align-items: center; }

.agendaProf__patient .agendaProf__avatar {
    width: 58px;
    height: 58px;
    font-size: 1.75rem;
    background: #f0d4e4;
    color: #371628;
}

.agendaProf__patientInfo h3 {
    font-size: clamp(1.55rem, 2.2vw, 2rem);
    line-height: 1.1;
    color: #111521;
}

.agendaProf__patientInfo p {
    margin-top: 6px;
    color: #6a7488;
    font-size: 1.15rem;
}

.agendaProf__patientClinic {
    margin-top: 4px;
    color: #4d6287;
    font-size: 0.96rem;
    font-weight: 700;
}

.agendaProf__meta { margin-left: auto; }

.agendaProf__badge {
    border-radius: 12px;
    padding: 10px 14px;
    font-size: .95rem;
    text-transform: uppercase;
}

.agendaProf__badge--status {
    font-weight: 800;
}

.agendaProf__badge--status-agendado {
    background: #f4d7eb;
    color: #7a1f5b;
}

.agendaProf__badge--status-finalizado {
    background: #e8edf5;
    color: #4d5b71;
}

.agendaProf__badge--status-cancelado {
    background: #ffd9dc;
    color: #a3161f;
    border: 1px solid #f3aab0;
}

.agendaProf__badge--status-default {
    background: #eef1f6;
    color: #4f5b70;
}

.agendaProf__badge--pay {
    background: #dce7f6;
    color: #314765;
}

.agendaProf__consultBtn {
    border-radius: 12px;
    padding: 10px 14px;
    font-size: .95rem;
    text-transform: uppercase;
    font-weight: 800;
    text-decoration: none;
    background: #e2f0ff;
    color: #2b4c7a;
    transition: transform .2s ease, box-shadow .2s ease;
}

.agendaProf__consultBtn:hover,
.agendaProf__consultBtn:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(43, 76, 122, 0.2);
}

.agendaProf__consultBtn--blocked {
    background: #f3e5e5;
    color: #8a3d3d;
}

.agendaProf__consultBtn--blocked:hover,
.agendaProf__consultBtn--blocked:focus-visible {
    box-shadow: 0 8px 18px rgba(138, 61, 61, 0.18);
}

.agendaProf__consultBtn--disabled {
    background: #eceff4;
    color: #7a8293;
    box-shadow: none;
    transform: none;
    pointer-events: none;
}

.agendaProf__note {
    background: #eff1f4;
    border: 1px solid #e2e5ea;
    border-radius: 16px;
    margin: 16px 0;
    padding: 14px 16px;
}

.agendaProf__clinicNotice {
    margin: 14px 0 8px;
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid #cfdaf0;
    background: #eaf1ff;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #324a73;
    font-weight: 700;
}

.agendaProf__clinicNotice .material-symbols-outlined {
    font-size: 1.15rem;
}

.agendaProf__clinicNotice p {
    margin: 0;
    font-size: 0.95rem;
}

.agendaProf__note .agendaPro__obs {
    margin: 0;
    font-size: 1.08rem;
    color: #4f5566;
    font-style: italic;
}

.agendaProf__actions {
    gap: 14px;
    margin-bottom: 10px;
}

.agendaProf__toast {
    position: fixed;
    top: 22px;
    left: 50%;
    transform: translate(-50%, -18px);
    z-index: 1200;
    width: min(92vw, 680px);
    padding: 14px 18px;
    border-radius: 14px;
    border: 1px solid #f5c3c3;
    background: #fff0f0;
    color: #7a2323;
    text-align: center;
    font-weight: 700;
    font-size: 0.98rem;
    box-shadow: 0 12px 24px rgba(122, 35, 35, 0.14);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.agendaProf__toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.agendaProf__action {
    border-radius: 999px;
    padding: 13px 20px;
    font-size: 1.14rem;
}

.agendaPro__notesForm textarea {
    border-radius: 16px;
    min-height: 96px;
}

.agendaPro__locked {
    border-radius: 16px;
    font-size: 1rem;
    background: #edf0f6;
}

.agendaProf__summaryGrid {
    margin-top: 30px;
    display: grid;
    grid-template-columns: 1.8fr 1fr;
    gap: 20px;
}

.agendaProf__summaryCard {
    border-radius: 32px;
    padding: 34px;
    position: relative;
    overflow: hidden;
    color: #fff;
}

.agendaProf__summaryEyebrow {
    margin: 0;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: .13em;
    font-weight: 800;
    opacity: .9;
}

.agendaProf__summaryCard h3 {
    margin: 14px 0 8px;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
}

.agendaProf__summaryText {
    margin: 0;
    font-size: 1.1rem;
}

.agendaProf__summaryCard svg {
    position: absolute;
    right: 18px;
    bottom: -14px;
    width: 130px;
    height: 130px;
    opacity: .18;
    fill: currentColor;
}

.agendaProf__summaryCard--performance {
    background: linear-gradient(135deg, #982f82, #c14b93);
}

.agendaProf__summaryCard--break {
    background: #d7e34d;
    color: #505616;
}

.agendaProf__summaryCard--break svg {
    width: 74px;
    height: 74px;
    right: 24px;
    bottom: 20px;
    opacity: .35;
}

@media (max-width: 980px) {
    .agendaProf__container { width: min(100% - 20px, 1120px); }
    .agendaProf__layout { grid-template-columns: 1fr; }
    .agendaProf__sideMenu {
        position: static;
        border-radius: 22px;
        padding: 16px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .agendaProf__filters .agendaPro__filtersForm { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .agendaProf__summaryGrid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .agendaProf__sideMenu { grid-template-columns: 1fr; }
    .agendaProf__sideLink { min-height: 54px; font-size: 1.1rem; }
    .agendaProf__header { flex-direction: column; align-items: flex-start; }
    .agendaProf__viewSwitch { width: 100%; flex-wrap: wrap; }
    .agendaProf__newBtn,
    .agendaProf__bulkDeleteForm { width: 100%; min-width: 0; }
    .agendaProf__deleteAllBtn { width: 100%; min-width: 0; }
    .agendaProf__item { grid-template-columns: 1fr; padding: 20px; gap: 14px; }
    .agendaProf__time { border-right: 0; border-bottom: 1px solid #e4e7ec; padding: 0 0 12px; }
    .agendaProf__meta { width: 100%; margin-left: 0; }
}

@media (max-width: 640px) {
    .agendaProf__filters .agendaPro__filtersForm { grid-template-columns: 1fr; }
    .agendaProf__action { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .agendaProf__item { transition: none !important; }
}

/* ===== Atendimento Consulta ===== */
.atendimentoConsulta__page {
    background: #eceeef;
}

.atendimentoConsulta__container,
.atendimentoConsulta__main {
    width: min(100% - 24px, 1280px);
    margin: 28px auto 36px;
}

.atendimentoConsulta__main {
    display: grid;
    gap: 18px;
}

.atendimentoConsulta__header {
    background: #f6f6f7;
    border-radius: 18px;
    padding: clamp(18px, 2.4vw, 28px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.atendimentoConsulta__patientBlock {
    display: flex;
    align-items: center;
    gap: 18px;
}

.atendimentoConsulta__avatar {
    width: 96px;
    height: 96px;
    border-radius: 18px;
    border: 3px solid #ddb9d2;
    color: #a21f6f;
    font-weight: 800;
    font-size: 2.1rem;
    display: grid;
    place-items: center;
    background: #f2e8ef;
}

.atendimentoConsulta__patientInfo {
    display: grid;
    gap: 8px;
}

.atendimentoConsulta__name {
    margin: 0;
    font-size: clamp(1.5rem, 2.8vw, 3rem);
    line-height: 1.04;
    color: #151515;
}

.atendimentoConsulta__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    color: #4f3b46;
    font-size: 1.04rem;
}

.atendimentoConsulta__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #d6de4c;
    border-radius: 999px;
    padding: 5px 14px;
    font-weight: 700;
    color: #1f2903;
}

.atendimentoConsulta__statusDot {
    width: 10px;
    height: 10px;
    border-radius: 99px;
    background: #8b921b;
}

.atendimentoConsulta__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.atendimentoConsulta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 999px;
    min-height: 56px;
    padding: 12px 32px;
    font-weight: 800;
    font-size: 1.03rem;
    line-height: 1.2;
    border: 2px solid transparent;
    transition: transform .18s ease, box-shadow .2s ease, filter .2s ease;
    cursor: pointer;
}

.atendimentoConsulta__btn--header {
    min-width: 190px;
}

.atendimentoConsulta__btn:hover,
.atendimentoConsulta__btn:focus-visible {
    transform: translateY(-1px);
}

.atendimentoConsulta__btn:focus-visible,
.atendimentoConsulta__historyBtn:focus-visible,
.atendimentoConsulta__toggleItem:focus-visible,
.atendimentoConsulta__timelineContent a:focus-visible {
    outline: 3px solid #7b2c60;
    outline-offset: 2px;
}

.atendimentoConsulta__btnSecondary {
    background: transparent;
    border-color: #e2c4d7;
    color: #9d256b;
}

.atendimentoConsulta__btnPrimary {
    color: #fff;
    background: linear-gradient(90deg, #ad2a79 0%, #b72474 100%);
    box-shadow: 0 8px 14px rgba(154, 36, 104, 0.25);
}

.atendimentoConsulta__btnGhost {
    color: #6f5b64;
    background: #f2eff2;
    border-color: #d8ccd4;
}

.atendimentoConsulta__btnPrimaryAlt {
    color: #fff;
    background: linear-gradient(90deg, #7f2264 0%, #9a2b77 100%);
    box-shadow: 0 8px 14px rgba(127, 34, 100, 0.24);
}

.atendimentoConsulta__footerActions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 4px 8px 2px;
    flex-wrap: wrap;
}

.atendimentoConsulta__actionForm {
    margin: 0;
    display: inline-flex;
}

.atendimentoConsultaModal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 1600;
}

.atendimentoConsultaModal.is-open {
    display: block;
}

.atendimentoConsultaModal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 10, 14, 0.62);
}

.atendimentoConsultaModal__dialog {
    position: relative;
    width: min(100% - 32px, 560px);
    margin: 12vh auto 0;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid #e6d8e0;
    box-shadow: 0 18px 50px rgba(29, 13, 25, 0.28);
    z-index: 1;
}

.atendimentoConsultaModal__dialog h2 {
    margin: 0;
    color: #2f1827;
    font-size: 1.4rem;
}

.atendimentoConsultaModal__dialog p {
    margin: 10px 0 0;
    color: #5a4752;
    font-size: 1rem;
}

.atendimentoConsultaModal__actions {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.atendimentoConsulta__layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 0.95fr);
    gap: 16px;
}

.atendimentoConsulta__left,
.atendimentoConsulta__right {
    display: grid;
    gap: 16px;
    align-content: start;
}

.atendimentoConsulta__topCards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.atendimentoConsulta__card,
.atendimentoConsulta__criticalCard {
    background: #f7f7f8;
    border-radius: 18px;
    padding: 24px;
    border: 1px solid #e6e3e7;
    transition: box-shadow .22s ease, transform .2s ease;
}

.atendimentoConsulta__card:hover,
.atendimentoConsulta__criticalCard:hover {
    box-shadow: 0 12px 28px rgba(33, 19, 31, 0.08);
}

.atendimentoConsulta__cardTitle {
    margin: 0;
    color: #301b28;
    font-size: clamp(1.1rem, 1.8vw, 1.6rem);
    letter-spacing: .02em;
}

.atendimentoConsulta__fieldList {
    margin-top: 16px;
    display: grid;
    gap: 12px;
}

.atendimentoConsulta__field {
    display: grid;
    gap: 8px;
}

.atendimentoConsulta__field label {
    color: #a0216d;
    font-size: .95rem;
    font-weight: 700;
    text-transform: uppercase;
}

.atendimentoConsulta__field--display {
    grid-template-columns: 1fr auto;
    align-items: center;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #ece8ed;
    padding: 14px 16px;
}

.atendimentoConsulta__field--display label {
    color: #3f3139;
    text-transform: none;
    font-size: 2rem;
    font-weight: 500;
}

.atendimentoConsulta__field--display p {
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    color: #16161a;
}

.atendimentoConsulta__toggle {
    background: #d3d4d5;
    border-radius: 999px;
    padding: 5px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    margin: 18px 0 12px;
}

.atendimentoConsulta__toggleItem {
    border: 0;
    border-radius: 999px;
    min-height: 44px;
    background: transparent;
    cursor: pointer;
    font-weight: 700;
    color: #4b3942;
}

.atendimentoConsulta__toggleItem--active {
    background: #fff;
    color: #b11b75;
}

.atendimentoConsulta__linkBox {
    border: 2px solid #c13182;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
}

.atendimentoConsulta__meetField {
    margin-bottom: 12px;
}

.atendimentoConsulta__meetField--hidden {
    display: none;
}

.atendimentoConsulta__input {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    border: 1px solid #cdd0d5;
    border-radius: 10px;
    min-height: 44px;
    padding: 10px 12px;
    background: #fff;
    color: #1f1f25;
    font-size: 1.4rem;
}

.atendimentoConsulta__input::placeholder {
    color: #7f8086;
}

.atendimentoConsulta__linkValue {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #222;
    font-size: 1.75rem;
    overflow-wrap: anywhere;
}

.atendimentoConsulta__meetPreview {
    margin-top: 10px;
    background: #f6edf4;
    border: 1px solid #e8c8dc;
    border-radius: 10px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 1.25rem;
}

.atendimentoConsulta__meetPreview--hidden {
    display: none;
}

.atendimentoConsulta__meetPreview span {
    color: #68284d;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.atendimentoConsulta__meetPreview a {
    color: #9f0d63;
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.atendimentoConsulta__meetPreview a:hover,
.atendimentoConsulta__meetPreview a:focus-visible {
    text-decoration: underline;
}

.atendimentoConsulta__card--large {
    gap: 18px;
}

.atendimentoConsulta__recordForm {
    display: grid;
    gap: 12px;
}

.atendimentoConsulta__cardHead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.atendimentoConsulta__cardHead--tight {
    margin-bottom: 8px;
}

.atendimentoConsulta__toolbar {
    display: inline-flex;
    gap: 10px;
}

.atendimentoConsulta__toolbar button {
    border: 0;
    background: transparent;
    color: #4c293d;
    font-weight: 700;
    font-size: 1.6rem;
    width: 38px;
    height: 38px;
}

.atendimentoConsulta__textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    display: block;
    border: 0;
    border-radius: 14px;
    background: #ececee;
    padding: 18px;
    min-height: 320px;
    resize: vertical;
    color: #2d2a2d;
    font-size: 1.35rem;
}

.atendimentoConsulta__textarea--small {
    min-height: 120px;
}

.atendimentoConsulta__subTitle {
    margin: 6px 0 0;
    color: #391f2e;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: 1.7rem;
}

.atendimentoConsulta__field--soft {
    margin-top: 10px;
}

.atendimentoConsulta__feedback {
    margin: 0;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 1.3rem;
    font-weight: 600;
}

.atendimentoConsulta__feedback--success {
    background: #e7f8ec;
    border: 1px solid #8ed4a5;
    color: #155b2c;
}

.atendimentoConsulta__feedback--error {
    background: #ffefef;
    border: 1px solid #efb0b0;
    color: #8b1f1f;
}

.atendimentoConsulta__timeline {
    margin-top: 10px;
    display: grid;
    gap: 18px;
    position: relative;
}

.atendimentoConsulta__timeline::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: #dfccd7;
}

.atendimentoConsulta__timelineItem {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 10px;
}

.atendimentoConsulta__timelineDot {
    margin-top: 9px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #9d8994;
    border: 2px solid #9d8994;
    z-index: 1;
}

.atendimentoConsulta__timelineDot--active {
    background: #ce3d89;
    border-color: #f5c0db;
}

.atendimentoConsulta__timelineContent {
    padding-bottom: 2px;
}

.atendimentoConsulta__timelineDate {
    margin: 0 0 4px;
    text-transform: uppercase;
    font-size: .86rem;
    font-weight: 800;
    color: #b33f83;
}

.atendimentoConsulta__timelineContent h3 {
    margin: 0;
    color: #121019;
    font-size: 1.1rem;
}

.atendimentoConsulta__timelineContent p {
    margin: 4px 0 8px;
    color: #43323a;
}

.atendimentoConsulta__timelineContent a {
    color: #b11f71;
    text-decoration: none;
    font-weight: 800;
    text-transform: uppercase;
    font-size: .95rem;
}

.atendimentoConsulta__historyBtn {
    width: 100%;
    margin-top: 10px;
    border-radius: 14px;
    border: 2px dashed #b7a4af;
    min-height: 58px;
    font-weight: 800;
    font-size: 1.08rem;
    color: #3e2834;
    background: transparent;
}

.atendimentoConsulta__criticalCard {
    color: #fff;
    background: linear-gradient(165deg, #cc2d87 0%, #b94389 100%);
    border: 0;
}

.atendimentoConsulta__criticalCard .atendimentoConsulta__cardTitle {
    color: #ffe8f7;
    text-transform: uppercase;
    font-size: 1.1rem;
    letter-spacing: .08em;
    margin-bottom: 18px;
}

.atendimentoConsulta__criticalItem {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 12px;
    align-items: center;
    margin-bottom: 12px;
}

.atendimentoConsulta__criticalIcon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 1.6rem;
}

.atendimentoConsulta__criticalItem p {
    margin: 0;
    color: #fbdcf0;
}

.atendimentoConsulta__criticalItem strong {
    font-size: 1.35rem;
}

.atendimentoConsulta__billingType {
    margin: 12px 0 4px;
    color: #8f1f66;
    font-weight: 800;
    font-size: 1.1rem;
}

.atendimentoConsulta__billingRule {
    margin: 0 0 12px;
    color: #4b3942;
}

.atendimentoConsulta__billingCurrent {
    margin: 0 0 12px;
    color: #2a2128;
}

.atendimentoConsulta__billingCurrent strong {
    color: #9f0d63;
}

.atendimentoConsulta__valueForm {
    display: grid;
    gap: 10px;
}

.atendimentoConsulta__animate[data-animate="fade-up"] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .45s ease, transform .45s ease;
}

.atendimentoConsulta__animate.is-visible[data-animate="fade-up"] {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1120px) {
    .atendimentoConsulta__layout { grid-template-columns: 1fr; }
    .atendimentoConsulta__right { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .atendimentoConsulta__header {
        flex-direction: column;
        align-items: flex-start;
    }
    .atendimentoConsulta__actions { width: 100%; }
    .atendimentoConsulta__btn { flex: 1; }
    .atendimentoConsulta__actionForm { flex: 1; }
    .atendimentoConsulta__btn--header { min-width: 0; }
    .atendimentoConsulta__footerActions { justify-content: stretch; }
    .atendimentoConsulta__topCards,
    .atendimentoConsulta__right { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .atendimentoConsulta__patientBlock { align-items: flex-start; }
    .atendimentoConsulta__avatar {
        width: 74px;
        height: 74px;
        font-size: 1.45rem;
    }
    .atendimentoConsulta__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .atendimentoConsulta__btn { width: 100%; }
    .atendimentoConsulta__actionForm { width: 100%; }
    .atendimentoConsulta__footerActions {
        flex-direction: column;
        padding: 0;
    }
    .atendimentoConsulta__card,
    .atendimentoConsulta__criticalCard { padding: 18px; }
    .atendimentoConsulta__textarea {
        min-height: 240px;
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .atendimentoConsulta__animate[data-animate="fade-up"],
    .atendimentoConsulta__btn,
    .atendimentoConsulta__card,
    .atendimentoConsulta__criticalCard {
        transition: none !important;
        transform: none !important;
    }
    .atendimentoConsulta__animate[data-animate="fade-up"] {
        opacity: 1 !important;
    }
}

/* ===== Novo Agendamento ===== */
.novoAgendamento__page {
    background:
        radial-gradient(720px 360px at 4% 2%, rgba(176, 53, 132, 0.08), transparent 65%),
        radial-gradient(680px 340px at 96% 12%, rgba(197, 207, 73, 0.1), transparent 68%),
        #eff1f4;
}

.novoAgendamento__container {
    width: min(100% - 34px, 1280px);
    margin: 28px auto 52px;
    display: grid;
    gap: 24px;
}

.novoAgendamento__header {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid #e3e6ed;
    border-radius: 28px;
    box-shadow: 0 16px 44px rgba(20, 28, 45, 0.08);
    padding: clamp(22px, 3vw, 36px);
    display: grid;
    gap: 14px;
    position: relative;
    overflow: hidden;
}

.novoAgendamento__header::after {
    content: '';
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    right: -90px;
    top: -90px;
    background: radial-gradient(circle at center, rgba(176, 53, 132, 0.18), transparent 70%);
}

.novoAgendamento__backLink {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #7d2a73;
    font-weight: 700;
}

.novoAgendamento__backLink:hover,
.novoAgendamento__backLink:focus-visible {
    text-decoration: underline;
}

.novoAgendamento__title {
    margin: 0;
    font-size: clamp(2rem, 3.3vw, 3.55rem);
    line-height: 1.06;
    color: #12151f;
}

.novoAgendamento__subtitle {
    margin: 0;
    color: #505866;
    font-size: clamp(1rem, 1.25vw, 1.4rem);
}

.novoAgendamento__steps {
    margin-top: 8px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.novoAgendamento__step {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #586071;
    font-weight: 700;
}

.novoAgendamento__step:not(:last-child)::after {
    content: '';
    width: clamp(34px, 7vw, 82px);
    height: 1px;
    background: #cfd4de;
    margin-left: 4px;
}

.novoAgendamento__stepNumber {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e5ea;
    color: #212530;
    font-size: 1.25rem;
}

.novoAgendamento__step--active .novoAgendamento__stepNumber {
    background: linear-gradient(145deg, #8f2b72, #b53788);
    color: #fff;
}

.novoAgendamento__stepLabel {
    font-size: 1.05rem;
}

.novoAgendamento__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.9fr);
    gap: 24px;
    align-items: start;
}

.novoAgendamento__column {
    display: grid;
    gap: 24px;
}

.novoAgendamento__form { margin: 0; }

.novoAgendamento__card,
.novoAgendamento__summary {
    border-radius: 24px;
    border: 1px solid #e1e4ea;
    background: #f8f9fb;
    box-shadow: 0 14px 38px rgba(18, 27, 46, 0.07);
    padding: clamp(20px, 2.6vw, 34px);
}

.novoAgendamento__card {
    display: grid;
    gap: 18px;
}

.novoAgendamento__cardTitle {
    margin: 0;
    color: #9f2e76;
    letter-spacing: 0.06em;
    font-size: 1.02rem;
    font-weight: 800;
}

.novoAgendamento__field,
.novoAgendamento__fieldGroup {
    display: grid;
    gap: 8px;
}

.novoAgendamento__field--hidden {
    display: none;
}

.novoAgendamento__label,
.novoAgendamento__fieldGroup label {
    font-size: 0.98rem;
    font-weight: 700;
    color: #2f3442;
}

.novoAgendamento__inputWrap {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 60px;
    border: 1px solid #d8dde7;
    border-radius: 16px;
    padding: 0 14px;
    background: #eef0f4;
}

.novoAgendamento__inputWrap .material-symbols-outlined {
    color: #7e8697;
    font-size: 24px;
}

.novoAgendamento__inputWrap input,
.novoAgendamento__inputWrap select,
.novoAgendamento__inputWrap textarea,
.novoAgendamento__fieldGroup input,
.novoAgendamento__fieldGroup select,
.novoAgendamento__fieldGroup textarea {
    width: 100%;
    border: 0;
    background: transparent;
    color: #1d2230;
    font: inherit;
    min-height: 56px;
}

.novoAgendamento__inputWrap textarea,
.novoAgendamento__fieldGroup textarea {
    min-height: 130px;
    resize: vertical;
    padding-top: 14px;
}

.novoAgendamento__inputWrap input:focus-visible,
.novoAgendamento__inputWrap select:focus-visible,
.novoAgendamento__inputWrap textarea:focus-visible,
.novoAgendamento__fieldGroup input:focus-visible,
.novoAgendamento__fieldGroup select:focus-visible,
.novoAgendamento__fieldGroup textarea:focus-visible {
    outline: none;
}

.novoAgendamento__inputWrap:focus-within,
.novoAgendamento__fieldGroup input:focus-visible,
.novoAgendamento__fieldGroup select:focus-visible,
.novoAgendamento__fieldGroup textarea:focus-visible {
    border-color: #b43787;
    box-shadow: 0 0 0 4px rgba(180, 55, 135, 0.15);
    background: #fff;
}

.novoAgendamento__inputWrap--select {
    position: relative;
}

.novoAgendamento__inputWrap--select .material-symbols-outlined {
    pointer-events: none;
    margin-right: 2px;
}

.novoAgendamento__inputWrap--select select {
    appearance: none;
}

.novoAgendamento__patientList {
    display: grid;
    gap: 12px;
}

.novoAgendamento__patientItem {
    border-radius: 18px;
    border: 1px solid #d6dae3;
    padding: 16px;
    background: #f1f3f7;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.novoAgendamento__patientItem:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(40, 47, 64, 0.08);
}

.novoAgendamento__patientItem--active {
    border-color: rgba(162, 45, 122, 0.34);
    background: linear-gradient(135deg, rgba(173, 53, 130, 0.11), rgba(255, 255, 255, 0.82));
}

.novoAgendamento__patientAvatar {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 800;
    background: #f2d9e8;
    color: #8e296e;
}

.novoAgendamento__patientInfo {
    display: grid;
    gap: 4px;
}

.novoAgendamento__patientInfo strong {
    font-size: 1.24rem;
    color: #212531;
}

.novoAgendamento__patientInfo span {
    color: #676f7f;
}

.novoAgendamento__patientCheck .material-symbols-outlined {
    font-size: 30px;
    color: #ad3582;
}

.novoAgendamento__formGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.novoAgendamento__field--full {
    grid-column: 1 / -1;
}

.novoAgendamento__calendar {
    display: grid;
    gap: 16px;
}

.novoAgendamento__calendarHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.novoAgendamento__calendarHeader strong {
    font-size: 2rem;
    line-height: 1.1;
    color: #181d28;
}

.novoAgendamento__calendarNav {
    display: inline-flex;
    gap: 8px;
}

.novoAgendamento__calendarNav .material-symbols-outlined {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #60697b;
    background: #eceff4;
}

.novoAgendamento__calendarGrid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    text-align: center;
    color: #8b91a0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: .05em;
}

.novoAgendamento__fieldRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.novoAgendamento__slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.novoAgendamento__repeatBox {
    margin-top: 4px;
    display: grid;
    gap: 12px;
}

.novoAgendamento__repeatToggle {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #2f3442;
    font-weight: 700;
}

.novoAgendamento__repeatToggle input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #ad3582;
}

.novoAgendamento__repeatControls {
    display: grid;
    gap: 8px;
}

.novoAgendamento__repeatControls--hidden {
    display: none;
}

.novoAgendamento__slot {
    min-height: 54px;
    border: 1px solid #d8dce4;
    border-radius: 14px;
    background: #eceff4;
    color: #222833;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s ease;
}

.novoAgendamento__slot:hover,
.novoAgendamento__slot:focus-visible,
.novoAgendamento__slotActive {
    border-color: #ad3582;
    color: #9f2f75;
    box-shadow: inset 0 0 0 2px rgba(173, 53, 130, 0.17);
    background: #fff;
}

.novoAgendamento__summary {
    background: linear-gradient(145deg, #151922 8%, #0f121a 100%);
    border: 1px solid #222a38;
    color: #eef0f6;
    display: grid;
    gap: 18px;
}

.novoAgendamento__summaryTitle {
    margin: 0;
    font-size: clamp(1.6rem, 2.7vw, 2.2rem);
}

.novoAgendamento__summaryRow {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid rgba(148, 161, 182, 0.24);
    padding-top: 14px;
    color: #c2c9d4;
}

.novoAgendamento__summaryValue {
    color: #ffffff;
    font-size: 1.26rem;
    text-align: right;
}

.novoAgendamento__actions {
    margin-top: 8px;
    display: grid;
    gap: 12px;
}

.novoAgendamento__confirmBtn {
    min-height: 62px;
    border-radius: 999px;
    border: 0;
    background: #cedf4b;
    color: #273007;
    font-weight: 800;
    font-size: 1.45rem;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(6, 8, 13, 0.35);
    transition: transform .2s ease;
}

.novoAgendamento__confirmBtn:hover,
.novoAgendamento__confirmBtn:focus-visible {
    transform: translateY(-1px);
}

.novoAgendamento__cancelLink {
    color: #bec5d1;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
}

.novoAgendamento__cancelLink:hover,
.novoAgendamento__cancelLink:focus-visible {
    text-decoration: underline;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.novoAgendamento__card,
.novoAgendamento__summary {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .45s ease, transform .45s ease;
}

.novoAgendamento__card--visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1080px) {
    .novoAgendamento__layout {
        grid-template-columns: 1fr;
    }

    .novoAgendamento__summary {
        order: 3;
    }
}

@media (max-width: 760px) {
    .novoAgendamento__container {
        width: min(100% - 20px, 1280px);
        margin-top: 16px;
    }

    .novoAgendamento__steps {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 2px;
    }

    .novoAgendamento__step {
        flex: 0 0 auto;
    }

    .novoAgendamento__stepLabel {
        font-size: 0.95rem;
    }

    .novoAgendamento__fieldRow,
    .novoAgendamento__formGrid {
        grid-template-columns: 1fr;
    }

    .novoAgendamento__slots {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .novoAgendamento__confirmBtn {
        width: 100%;
        font-size: 1.28rem;
    }

    .novoAgendamento__calendarHeader strong {
        font-size: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .novoAgendamento__card,
    .novoAgendamento__summary,
    .novoAgendamento__slot,
    .novoAgendamento__patientItem,
    .novoAgendamento__confirmBtn {
        transition: none !important;
        transform: none !important;
    }
}

/* ===== Home da Agenda do Profissional ===== */
.homeAgendaP__page {
    background:
        radial-gradient(620px 300px at 7% 6%, rgba(182, 52, 129, 0.08), transparent 62%),
        radial-gradient(560px 240px at 95% 16%, rgba(167, 175, 64, 0.12), transparent 65%),
        #f2f3f6;
}

.homeAgendaP__container {
    width: calc(100% - 32px);
    max-width: none;
    margin: 22px auto 52px;
}

.homeAgendaP__layout {
    display: grid;
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.homeAgendaP__content {
    display: grid;
    gap: 22px;
}

.homeAgendaP__header {
    display: grid;
    gap: 8px;
}

.homeAgendaP__eyebrow {
    margin: 0;
    font-size: .76rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #7b6a74;
    font-weight: 700;
}

.homeAgendaP__title,
.homeAgendaP__header h1 {
    margin: 0;
    font-size: clamp(2rem, 3.6vw, 3.3rem);
    line-height: 1.04;
    color: #14171f;
    font-weight: 800;
}

.homeAgendaP__subtitle {
    margin: 0;
    color: #4b4451;
    font-size: clamp(1rem, 1.4vw, 1.6rem);
}

.homeAgendaP__heroGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.homeAgendaP__metricCard {
    position: relative;
    border-radius: 28px;
    padding: 26px 28px;
    background: #fcfcfd;
    border: 1px solid #ececf1;
    box-shadow: 0 10px 30px rgba(20, 23, 31, 0.06);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}

.homeAgendaP__metricCard::after {
    content: '';
    position: absolute;
    right: -42px;
    top: -42px;
    width: 124px;
    height: 124px;
    border-radius: 50%;
    background: rgba(180, 86, 145, 0.08);
}

.homeAgendaP__metricCard:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 34px rgba(20, 23, 31, 0.1);
}

.homeAgendaP__metricIcon {
    width: 40px;
    height: 40px;
    color: #a72f7f;
    margin-bottom: 18px;
}

.homeAgendaP__metricIcon svg {
    width: 100%;
    height: 100%;
}

.homeAgendaP__metricLabel {
    margin: 0;
    font-size: .92rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #3f2f39;
    font-weight: 700;
}

.homeAgendaP__metricValue {
    margin: 8px 0 0;
    font-size: clamp(1.8rem, 2.4vw, 2.9rem);
    line-height: 1.1;
    color: #131721;
    font-weight: 800;
}

.homeAgendaP__metricHint {
    margin: 10px 0 0;
    color: #596075;
    font-weight: 600;
}

.homeAgendaP__nextPatientCard {
    background: linear-gradient(140deg, #b02b7e 0%, #cc3c89 100%);
    border: 0;
    box-shadow: 0 18px 38px rgba(176, 43, 126, 0.35);
}

.homeAgendaP__nextPatientCard .homeAgendaP__metricIcon,
.homeAgendaP__nextPatientCard .homeAgendaP__metricLabel,
.homeAgendaP__nextPatientCard .homeAgendaP__metricValue,
.homeAgendaP__nextPatientCard .homeAgendaP__metricHint {
    color: #fff;
}

.homeAgendaP__nextPatientCard .homeAgendaP__metricHint {
    color: rgba(255, 255, 255, .92);
}

.homeAgendaP__metricProgress {
    margin-top: 14px;
    height: 9px;
    border-radius: 999px;
    background: #e6e7eb;
    overflow: hidden;
}

.homeAgendaP__metricProgress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #677100, #8f9d21);
}

.homeAgendaP__mainGrid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(310px, 1fr);
    gap: 20px;
    align-items: start;
}

.homeAgendaP__chartCard,
.homeAgendaP__sideCard,
.homeAgendaP__tipCard,
.homeAgendaP__card {
    border-radius: 30px;
    background: #fcfcfd;
    border: 1px solid #ececf1;
    box-shadow: 0 12px 30px rgba(20, 23, 31, 0.06);
}

.homeAgendaP__chartCard {
    padding: 30px 30px 24px;
}

.homeAgendaP__chartHeader {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 26px;
}

.homeAgendaP__chartHeader h2 {
    margin: 0;
    color: #14171f;
    font-size: clamp(1.5rem, 2.2vw, 2.3rem);
}

.homeAgendaP__chartHeader p {
    margin: 4px 0 0;
    color: #4b4451;
}

.homeAgendaP__chartArea {
    padding-top: 8px;
}

.homeAgendaP__calendarActions {
    display: inline-flex;
    gap: 10px;
}

.homeAgendaP__calendarNav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: #f0f1f3;
    color: #17181c;
    font-size: 1.95rem;
    line-height: 1;
    text-decoration: none;
}

.homeAgendaP__calendarWeekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.homeAgendaP__calendarWeekdays span {
    font-size: 0.88rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #3b3037;
    text-align: center;
}

.homeAgendaP__calendarGrid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}

.homeAgendaP__calendarDay {
    min-height: 82px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    position: relative;
}

.homeAgendaP__calendarDay strong {
    font-size: 1.9rem;
    font-weight: 700;
    color: #18181d;
    line-height: 1;
}

.homeAgendaP__calendarDot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: transparent;
}

.homeAgendaP__calendarDay.has-events {
    background: #f0ebf0;
}

.homeAgendaP__calendarDay.has-events strong {
    color: #ae1f76;
}

.homeAgendaP__calendarCount {
    font-size: 0.78rem;
    line-height: 1;
    color: #ae1f76;
    font-weight: 700;
}

.homeAgendaP__calendarDay.has-events .homeAgendaP__calendarDot {
    background: #ae1f76;
}

.homeAgendaP__calendarDay.is-today {
    background: linear-gradient(145deg, #b02279, #7f0d52);
    box-shadow: 0 12px 24px rgba(176, 34, 121, 0.34);
}

.homeAgendaP__calendarDay.is-today strong,
.homeAgendaP__calendarDay.is-today .homeAgendaP__calendarCount {
    color: #fff;
}

.homeAgendaP__calendarToday {
    position: absolute;
    top: -8px;
    right: 8px;
    padding: 2px 7px;
    border-radius: 6px;
    background: #d7e54d;
    color: #16181c;
    font-weight: 700;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.homeAgendaP__calendarDay.is-muted strong {
    color: #bcb7bc;
}

.homeAgendaP__sideStack {
    display: grid;
    gap: 18px;
}

.homeAgendaP__sideCard,
.homeAgendaP__tipCard,
.homeAgendaP__card {
    padding: 24px;
}

.homeAgendaP__cardHead {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}

.homeAgendaP__cardHead h2 {
    margin: 0;
    color: #161924;
    font-size: clamp(1.25rem, 1.8vw, 1.95rem);
}

.homeAgendaP__cardHead p {
    margin: 6px 0 0;
    color: #595062;
}

.homeAgendaP__cardHead a {
    text-decoration: none;
    color: #b02b7e;
    font-weight: 800;
    letter-spacing: .02em;
    transition: opacity .2s ease;
}

.homeAgendaP__cardHead a:hover,
.homeAgendaP__cardHead a:focus-visible {
    opacity: .8;
}

.homeAgendaP__appointmentList {
    display: grid;
    gap: 11px;
}

.homeAgendaP__performanceBox {
    margin-bottom: 16px;
    border: 1px solid #ececf1;
    border-radius: 16px;
    background: #f7f7fa;
    padding: 14px 14px 12px;
}

.homeAgendaP__performanceHead {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 12px;
}

.homeAgendaP__performanceHead strong {
    color: #1d1f2a;
    font-size: 0.92rem;
}

.homeAgendaP__performanceHead small {
    color: #6e6370;
    font-weight: 700;
}

.homeAgendaP__performanceChart {
    display: grid;
    gap: 8px;
}

.homeAgendaP__performanceRow {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) 28px;
    gap: 10px;
    align-items: center;
}

.homeAgendaP__performanceRow span {
    color: #4f4b5c;
    font-weight: 600;
    font-size: 0.86rem;
}

.homeAgendaP__performanceTrack {
    position: relative;
    border-radius: 999px;
    background: #e7e8ee;
    height: 8px;
    overflow: hidden;
}

.homeAgendaP__performanceFill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #9d2b74, #c64692);
}

.homeAgendaP__performanceRow small {
    text-align: right;
    color: #5f5564;
    font-weight: 700;
}

.homeAgendaP__appointmentItem {
    border-radius: 16px;
    border: 1px solid #ececf1;
    background: #f7f7fa;
    padding: 12px 14px;
    display: grid;
    gap: 4px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.homeAgendaP__sideCard .homeAgendaP__appointmentItem {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.homeAgendaP__sideCard .homeAgendaP__appointmentItem:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(23, 25, 35, 0.08);
}

.homeAgendaP__appointmentAvatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, #2d425f, #4f6f8f);
}

.homeAgendaP__appointmentInfo {
    display: grid;
    gap: 2px;
}

.homeAgendaP__appointmentItem strong {
    color: #1a1d26;
    font-size: 1.02rem;
}

.homeAgendaP__appointmentItem span {
    color: #5e5667;
}

.homeAgendaP__appointmentItem small {
    color: #6e6370;
    font-weight: 700;
}

.homeAgendaP__tipCard {
    position: relative;
    overflow: hidden;
    background: #e9eccd;
    border-color: #e1e5bf;
}

.homeAgendaP__tipCard::after {
    content: '';
    position: absolute;
    width: 160px;
    height: 160px;
    right: -48px;
    bottom: -48px;
    border-radius: 50%;
    background: rgba(111, 118, 43, 0.18);
}

.homeAgendaP__tipCard h3 {
    margin: 0 0 12px;
    font-size: 2rem;
    color: #4e550d;
}

.homeAgendaP__tipCard p {
    margin: 0;
    color: #55610f;
    max-width: 92%;
}

.homeAgendaP__tipCard p + p {
    margin-top: 8px;
}

.homeAgendaP__floatingAction {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #b02b7e;
    color: #fff;
    font-size: 2.2rem;
    line-height: 1;
    box-shadow: 0 16px 26px rgba(176, 43, 126, 0.28);
}

.homeAgendaP__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}


.homeAgendaP__card--pagamentos {
    padding: 20px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 12px 24px rgba(22, 26, 41, 0.08);
}

.homeAgendaP__pagamentosHead {
    align-items: flex-start;
    margin-bottom: 18px;
}

.homeAgendaP__pagamentosIcon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 1.55rem;
    background: #f1f3f8;
    color: #ad287b;
}

.homeAgendaP__pagamentosList {
    display: grid;
    gap: 14px;
}

.homeAgendaP__pagamentoItem {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.homeAgendaP__pagamentoMain {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.homeAgendaP__pagamentoAvatar {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    font-weight: 800;
    color: #7b2f5f;
    background: #eecde0;
    flex-shrink: 0;
}

.homeAgendaP__pagamentoItem:nth-child(even) .homeAgendaP__pagamentoAvatar {
    color: #304a68;
    background: #cfe0f8;
}

.homeAgendaP__pagamentoInfo {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.homeAgendaP__pagamentoInfo strong {
    color: #111218;
    font-size: clamp(1.06rem, 1.15vw, 1.3rem);
}

.homeAgendaP__pagamentoInfo span {
    color: #5d5468;
    font-size: 0.94rem;
}

.homeAgendaP__pagamentoMeta {
    text-align: right;
    display: grid;
    justify-items: end;
    gap: 6px;
    flex-shrink: 0;
}

.homeAgendaP__pagamentoValor {
    font-size: 1.18rem;
    font-weight: 800;
    color: #111218;
}

.homeAgendaP__pagamentoStatus {
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.homeAgendaP__pagamentoStatus--pago {
    background: #d8f4dc;
    color: #1f6a30;
}

.homeAgendaP__pagamentoStatus--pendente {
    background: #efe7b5;
    color: #403512;
}

.homeAgendaP__pagamentosMore {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 16px;
    padding: 18px 20px;
    border-top: 1px solid #ececf3;
    border-radius: 0 0 14px 14px;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 0.03em;
    color: #b02b7e;
    background: #fafaff;
    box-sizing: border-box;
}

.homeAgendaP__empty {
    margin: 0;
    color: #5e5667;
}

.homeAgendaP__reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: transform .5s ease, opacity .5s ease;
}

.homeAgendaP__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.homeAgendaP__cardHead a:focus-visible,
.homeAgendaP__floatingAction:focus-visible,
.homeAgendaP__metricCard:focus-within {
    outline: 2px solid #b02b7e;
    outline-offset: 2px;
}

@media (max-width: 1180px) {
    .homeAgendaP__mainGrid {
        grid-template-columns: 1fr;
    }

    .homeAgendaP__floatingAction {
        position: static;
        transform: none;
        margin-top: 14px;
    }
}

@media (max-width: 980px) {
    .homeAgendaP__layout {
        grid-template-columns: 1fr;
    }

    .homeAgendaP__heroGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homeAgendaP__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .homeAgendaP__container {
        width: min(100% - 24px, 1280px);
    }

    .homeAgendaP__heroGrid {
        grid-template-columns: 1fr;
    }

    .homeAgendaP__calendarActions {
        gap: 8px;
    }

    .homeAgendaP__calendarNav {
        width: 40px;
        height: 40px;
        font-size: 1.5rem;
    }

    .homeAgendaP__calendarGrid,
    .homeAgendaP__calendarWeekdays {
        gap: 8px;
    }

    .homeAgendaP__calendarDay {
        min-height: 68px;
    }

    .homeAgendaP__calendarDay strong {
        font-size: 1.4rem;
    }

    .homeAgendaP__tipCard h3 {
        font-size: 1.7rem;
    }

    .homeAgendaP__performanceRow {
        grid-template-columns: 74px minmax(0, 1fr) 28px;
        gap: 8px;
    }

    .homeAgendaP__card--pagamentos {
        padding: 18px;
    }

    .homeAgendaP__pagamentoItem {
        flex-wrap: wrap;
    }

    .homeAgendaP__pagamentoMeta {
        width: 100%;
        justify-items: start;
        text-align: left;
        padding-left: 70px;
    }

    .homeAgendaP__pagamentosMore {
        width: 100%;
        margin-top: 14px;
        border-radius: 0 0 12px 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .homeAgendaP__metricCard,
    .homeAgendaP__appointmentItem,
    .homeAgendaP__reveal {
        transition: none;
    }

    .homeAgendaP__reveal {
        opacity: 1;
        transform: none;
    }
}

/* ===== Experiencia / Formação acadêmica ===== */
.experienciaForm__body {
  background: radial-gradient(1200px 500px at -10% 10%, rgba(210, 227, 104, 0.2), transparent 60%), #f1f0f4;
}

.experienciaForm__page {
  padding: 2rem 1rem 4rem;
}

.experienciaForm__container {
  max-width: 1120px;
  margin: 0 auto;
}

.experienciaForm__header {
  margin-bottom: 2rem;
}

.experienciaForm__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.4rem 1rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #445100;
  background: #d5e65d;
}

.experienciaForm__title,
.experienciaForm__header h1 {
  margin: 1rem 0 0.5rem;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.06;
  color: #11131a;
  font-weight: 800;
}

.experienciaForm__subtitle,
.experienciaForm__header p {
  margin: 0;
  max-width: 900px;
  font-size: clamp(1rem, 1.6vw, 1.9rem);
  color: #3d3340;
}

.experienciaForm__card {
  position: relative;
  padding: clamp(1.25rem, 2vw, 2.25rem);
  border-radius: 2rem;
  background: linear-gradient(160deg, #fcfbfd 0%, #f5f5f8 100%);
  box-shadow: 0 18px 48px rgba(18, 19, 31, 0.08);
  animation: experienciaFadeUp 480ms ease both;
}

.experienciaForm__card::before {
  content: '';
  position: absolute;
  inset: auto auto -40px -30px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(214, 229, 95, 0.25), rgba(214, 229, 95, 0));
  pointer-events: none;
}

.experienciaForm__form {
  position: relative;
  display: grid;
  gap: 1.35rem;
  z-index: 1;
}

.experienciaForm__section {
  display: grid;
  gap: 0.8rem;
}

.experienciaForm__label,
.experienciaForm__field label {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #3b2732;
}

.experienciaForm__grid--profile {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.2rem;
}

.experienciaForm__field--full {
  grid-column: 1 / -1;
}

.experienciaForm__fieldWrap {
  position: relative;
}

.experienciaForm__field input,
.experienciaForm__field select,
.experienciaForm__field textarea {
  width: 100%;
  border-radius: 0.95rem;
  border: 1px solid #e5e3eb;
  background: #eeedf2;
  padding: 0.88rem 1rem;
  color: #1f1f28;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.experienciaForm__field select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #5d4d59 50%), linear-gradient(135deg, #5d4d59 50%, transparent 50%);
  background-position: calc(100% - 22px) calc(50% - 2px), calc(100% - 16px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 2.6rem;
}

.experienciaForm__field input::placeholder,
.experienciaForm__field textarea::placeholder {
  color: #8c7d8a;
}

.experienciaForm__field textarea,
.experienciaForm__textarea textarea {
  min-height: 160px;
  resize: vertical;
}

.experienciaForm__field input:focus,
.experienciaForm__field select:focus,
.experienciaForm__field textarea:focus {
  outline: none;
  border-color: #b1277a;
  background: #f4f1f7;
  box-shadow: 0 0 0 4px rgba(177, 39, 122, 0.14);
}

.experienciaForm__degreeGroup,
.experienciaForm__checkboxGroup {
  display: flex;
  flex-wrap: wrap;
  gap: 0.72rem;
}

.experienciaForm__degreeOption,
.experienciaForm__checkboxOption {
  position: relative;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #dfdde6;
  color: #493744;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.experienciaForm__degreeOption input,
.experienciaForm__checkboxOption input[type='checkbox'] {
  position: absolute;
  opacity: 0;
  inset: 0;
  margin: 0;
  cursor: pointer;
}

.experienciaForm__degreeOption span,
.experienciaForm__checkboxOption span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.68rem 1.5rem;
  border-radius: inherit;
}

.experienciaForm__degreeOption:has(input:checked),
.experienciaForm__checkboxOption:has(input:checked) {
  color: #fff;
  background: linear-gradient(160deg, #b01873, #cc4b93);
  box-shadow: 0 10px 18px rgba(166, 22, 107, 0.25);
}

.experienciaForm__degreeOption:hover,
.experienciaForm__checkboxOption:hover {
  transform: translateY(-1px);
}

.experienciaForm__field--date .experienciaForm__fieldWrap input {
  padding-right: 2.8rem;
}

.experienciaForm__icon {
  position: absolute;
  right: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6b5664;
  width: 1.15rem;
  height: 1.15rem;
  pointer-events: none;
}

.experienciaForm__icon svg {
  width: 100%;
  height: 100%;
}

.experienciaForm__toggleRow {
  padding: 0.65rem 1rem;
  border: 1px solid #e5e3eb;
  border-radius: 0.95rem;
  background: #f0eff3;
}

.experienciaForm__toggleLabel {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 700;
  color: #1d1a22;
  cursor: pointer;
}

.experienciaForm__toggleLabel input {
  position: absolute;
  opacity: 0;
}

.experienciaForm__toggleControl {
  width: 3rem;
  height: 1.65rem;
  border-radius: 999px;
  background: #d6d5db;
  position: relative;
  transition: background 0.2s ease;
}

.experienciaForm__toggleControl::after {
  content: '';
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0.2rem;
  transform: translateY(-50%);
  transition: transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

.experienciaForm__toggleLabel input:checked + .experienciaForm__toggleControl {
  background: #b62e7e;
}

.experienciaForm__toggleLabel input:checked + .experienciaForm__toggleControl::after {
  transform: translate(1.35rem, -50%);
}

.experienciaForm__actions {
  margin-top: 0.6rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.9rem;
}

.experienciaForm__btn {
  border: 0;
  border-radius: 999px;
  padding: 0.82rem 1.5rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.experienciaForm__btnGhost,
.experienciaForm__btn--ghost {
  color: #b01873;
  background: transparent;
}

.experienciaForm__btnPrimary,
.experienciaForm__btn--primary {
  color: #fff;
  background: linear-gradient(160deg, #b01873, #cc418d);
  min-width: 280px;
  box-shadow: 0 10px 20px rgba(176, 24, 115, 0.28);
}

.experienciaForm__btnPrimary svg {
  width: 1rem;
  height: 1rem;
}

.experienciaForm__btn:hover {
  transform: translateY(-2px);
}

.experienciaForm__btn:focus-visible,
.experienciaForm__degreeOption:focus-within,
.experienciaForm__toggleLabel:focus-within {
  outline: 3px solid rgba(177, 39, 122, 0.32);
  outline-offset: 2px;
}

.experienciaForm__alert {
  margin-bottom: 1rem;
}

@keyframes experienciaFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 992px) {
  .experienciaForm__grid--profile {
    grid-template-columns: 1fr;
  }

  .experienciaForm__actions {
    justify-content: space-between;
  }
}

@media (max-width: 640px) {
  .experienciaForm__page {
    padding: 1.2rem 0.6rem 2.5rem;
  }

  .experienciaForm__card {
    border-radius: 1.3rem;
    padding: 1rem;
  }

  .experienciaForm__degreeOption span,
  .experienciaForm__checkboxOption span {
    padding: 0.62rem 1rem;
    font-size: 0.92rem;
  }

  .experienciaForm__actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .experienciaForm__btnPrimary,
  .experienciaForm__btn--primary {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .experienciaForm__card,
  .experienciaForm__btn,
  .experienciaForm__degreeOption,
  .experienciaForm__checkboxOption {
    animation: none;
    transition: none;
  }
}

/* =========================
   Agenda paciente - redesign visual
   ========================= */
.agendaPaciente__page {
    background: radial-gradient(circle at top left, #f9f7ff 0%, #f3f4fa 44%, #f1f2f7 100%);
}

.agendaPaciente__container {
    width: min(1280px, calc(100% - 40px));
    padding-top: 122px;
    padding-bottom: 84px;
}

.agendaPaciente__header {
    align-items: center;
    border-radius: 30px;
    padding: clamp(24px, 3vw, 36px);
    margin-bottom: 26px;
}

.agendaPaciente__title {
    margin: 0;
    font-size: clamp(2rem, 3.9vw, 3.6rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #161826;
}

.agendaPaciente__subtitle {
    margin: 10px 0 0;
    max-width: 760px;
    font-size: clamp(1rem, 1.4vw, 1.56rem);
    color: #4b3b43;
}

.agendaPaciente__layout {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(460px, 1.28fr) minmax(280px, 0.9fr);
    gap: 24px;
    align-items: start;
}

.agendaPaciente__column {
    display: grid;
    gap: 18px;
    align-content: start;
}

.agendaPaciente__card {
    border-radius: 26px;
    border-color: rgba(22, 24, 38, 0.07);
    box-shadow: 0 12px 28px rgba(17, 24, 39, 0.06);
    background: rgba(255, 255, 255, 0.95);
    gap: 16px;
}

.agendaPaciente__cardHead h2 {
    margin: 0;
    color: #1a1b2c;
    font-size: clamp(1.2rem, 1.5vw, 2rem);
}

.agendaPaciente__cardHead p {
    margin-top: 4px;
}

.agendaPaciente__badge {
    align-self: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: #d6e13f;
    color: #4b5310;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.agendaPaciente__filters {
    gap: 14px;
}

.agendaPaciente__field {
    gap: 6px;
}

.agendaPaciente__label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    color: #962268;
}

.agendaPaciente__inputWrap {
    position: relative;
}

.agendaPaciente__inputIcon {
    position: absolute;
    left: 14px;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    color: #a82272;
    opacity: 0.95;
}

.agendaPaciente__inputIcon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.agendaPaciente__input {
    min-height: 62px;
    padding-left: 42px;
    border-radius: 14px;
    background: #ececf3;
    border-color: transparent;
}

.agendaPaciente__select {
    appearance: none;
    cursor: pointer;
    padding-right: 40px;
}

.agendaPaciente__button {
    width: 100%;
    min-height: 54px;
    border-radius: 16px;
    background: linear-gradient(135deg, #aa1974 0%, #cb3a8d 100%);
    box-shadow: 0 14px 24px rgba(170, 25, 116, 0.2);
}

.agendaPaciente__modeSwitch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 6px;
    border-radius: 18px;
    background: #ececf3;
}

.agendaPaciente__modeSwitch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.agendaPaciente__modeSwitch label {
    min-height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    text-align: center;
    color: #5d6276;
    font-size: 0.82rem;
    font-weight: 800;
    cursor: pointer;
}

.agendaPaciente__modeSwitch input:checked + label {
    color: #fff;
    background: linear-gradient(135deg, #a7186f 0%, #c13a88 100%);
    box-shadow: 0 10px 18px rgba(167, 24, 111, 0.22);
}

.agendaPaciente__professionalList {
    gap: 18px;
}

.agendaPaciente__professionalList--cards {
    gap: 28px;
}

.agendaPaciente__professionalCard {
    border-radius: 18px;
    border-color: rgba(39, 17, 57, 0.08);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.05);
    padding: 18px;
}

.agendaPaciente__professionalCard--active,
.agendaPaciente__professionalCard.is-active {
    color: #fff;
    border-color: rgba(170, 25, 116, 0.4);
    background: linear-gradient(135deg, #a7186f 0%, #bb2c81 100%);
}

.agendaPaciente__professionalAvatar {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-weight: 800;
    color: #7f0f57;
    background: linear-gradient(135deg, #ffd9f0 0%, #f4f7ff 100%);
    border: 2px solid rgba(168, 33, 114, 0.14);
}

.agendaPaciente__professionalCard--active .agendaPaciente__professionalAvatar {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.16);
}

.agendaPaciente__professionalInfo {
    display: grid;
    gap: 2px;
    flex: 1;
}

.agendaPaciente__clinicSection {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(127, 15, 87, 0.16);
    display: grid;
    gap: 6px;
}

.agendaPaciente__clinicSection p {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
}

.agendaPaciente__clinicSection ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 3px;
}

.agendaPaciente__clinicSection li {
    font-size: 12px;
    line-height: 1.35;
}

.agendaPaciente__professionalCard--active span,
.agendaPaciente__professionalCard--active small {
    color: rgba(255, 255, 255, 0.88);
}

.agendaPaciente__professionalCard--active .agendaPaciente__clinicSection {
    border-top-color: rgba(255, 255, 255, 0.34);
}

.agendaPaciente__professionalCard--active .agendaPaciente__clinicSection p,
.agendaPaciente__professionalCard--active .agendaPaciente__clinicSection li,
.agendaPaciente__professionalCard--active .agendaPaciente__clinicSection small {
    color: rgba(255, 255, 255, 0.92);
}

.agendaPaciente__layout--profissao {
    grid-template-columns: minmax(520px, 1.45fr) minmax(360px, 0.95fr);
}

.agendaPaciente__layout--profissao .agendaPaciente__column--left {
    gap: 22px;
}

.agendaPaciente__layout--profissao .agendaPaciente__column--center {
    grid-column: 1;
}

.agendaPaciente__layout--profissao .agendaPaciente__column--right {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.agendaPaciente__resultCard {
    display: grid;
    grid-template-columns: 184px minmax(0, 1fr);
    gap: 28px;
    padding: 30px;
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(22, 24, 38, 0.08);
    border: 1px solid rgba(24, 22, 38, 0.04);
}

.agendaPaciente__resultCard.is-active {
    outline: 3px solid rgba(177, 28, 121, 0.22);
}

.agendaPaciente__resultPhoto {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 26px;
    overflow: hidden;
    background: linear-gradient(135deg, #a61962 0%, #d44993 100%);
}

.agendaPaciente__resultPhoto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.agendaPaciente__resultContent {
    min-width: 0;
    display: grid;
    gap: 18px;
}

.agendaPaciente__resultTop {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.agendaPaciente__resultTop h3 {
    margin: 0;
    color: #11131d;
    font-size: clamp(1.45rem, 2.1vw, 2.05rem);
    line-height: 1.1;
}

.agendaPaciente__resultTop p {
    margin: 6px 0 0;
    color: #a7186f;
    font-weight: 700;
}

.agendaPaciente__rating {
    flex: 0 0 auto;
    min-width: 74px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #1d2230;
    background: #ececef;
    font-weight: 800;
}

.agendaPaciente__clinicList {
    display: grid;
    gap: 12px;
}

.agendaPaciente__clinicItem {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 18px;
    background: #eef0f2;
    color: #171924;
}

.agendaPaciente__clinicItem--nearest {
    background: #fbfddd;
    border: 1px solid #edf2a4;
}

.agendaPaciente__clinicItem strong,
.agendaPaciente__clinicItem small {
    display: block;
}

.agendaPaciente__clinicItem strong {
    font-size: 1.02rem;
}

.agendaPaciente__clinicItem small {
    margin-top: 3px;
    color: #4e5060;
}

.agendaPaciente__clinicItem em {
    padding: 7px 12px;
    border-radius: 8px;
    background: #edf4a5;
    color: #5b650d;
    font-style: normal;
    font-size: 0.76rem;
    font-weight: 900;
    text-align: center;
}

.agendaPaciente__clinicMeta {
    display: grid;
    justify-items: end;
    gap: 10px;
}

.agendaPaciente__pin {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #687400;
    font-weight: 900;
    font-size: 1.15rem;
}

.agendaPaciente__resultActions {
    display: grid;
    grid-template-columns: max-content;
    gap: 14px;
    align-items: center;
}

.agendaPaciente__availability {
    align-self: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: #ddeb37;
    color: #596100;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.agendaPaciente__scheduleNow {
    min-height: 58px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    background: linear-gradient(135deg, #a7186f 0%, #c3408d 100%);
    box-shadow: 0 14px 24px rgba(167, 24, 111, 0.22);
}

.agendaPaciente__scheduleNow--clinic {
    min-height: 42px;
    padding: 0 18px;
    font-size: 0.9rem;
    box-shadow: none;
}

.agendaPaciente__mapPanel {
    min-height: 430px;
    border-radius: 38px;
    overflow: hidden;
    position: relative;
    background: #81989b;
    box-shadow: 0 18px 44px rgba(22, 24, 38, 0.08);
}

.agendaPaciente__mapGrid {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(35deg, transparent 48%, rgba(255,255,255,0.16) 49%, rgba(255,255,255,0.16) 51%, transparent 52%),
        linear-gradient(120deg, transparent 48%, rgba(255,255,255,0.13) 49%, rgba(255,255,255,0.13) 51%, transparent 52%),
        repeating-linear-gradient(12deg, rgba(255,255,255,0.1) 0 2px, transparent 2px 28px),
        repeating-linear-gradient(102deg, rgba(255,255,255,0.09) 0 2px, transparent 2px 34px);
}

.agendaPaciente__mapMarker,
.agendaPaciente__mapUser {
    position: absolute;
    display: grid;
    justify-items: center;
    gap: 7px;
}

.agendaPaciente__mapMarker span,
.agendaPaciente__mapUser span {
    width: 72px;
    height: 54px;
    border-radius: 24px;
    border: 5px solid #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #aa2b78;
    box-shadow: 0 12px 22px rgba(20, 25, 30, 0.16);
}

.agendaPaciente__mapMarker small,
.agendaPaciente__mapUser small {
    padding: 6px 10px;
    border-radius: 8px;
    background: #fff;
    color: #a7186f;
    font-weight: 800;
}

.agendaPaciente__mapUser span {
    width: 60px;
    height: 70px;
    border-radius: 28px;
    background: #697500;
}

.agendaPaciente__mapUser small {
    color: #fff;
    background: #171924;
}

.agendaPaciente__mapMarker--1 { left: 42%; top: 28%; }
.agendaPaciente__mapMarker--2 { left: 20%; top: 68%; }
.agendaPaciente__mapMarker--3 { left: 66%; top: 54%; }
.agendaPaciente__mapUser { left: 60%; top: 46%; }

.agendaPaciente__locationCard {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 26px 30px;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(22, 24, 38, 0.08);
}

.agendaPaciente__locationCard > span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #697500;
}

.agendaPaciente__locationCard p {
    margin: 0;
    color: #2e313f;
}

.agendaPaciente__locationCard a {
    color: #a7186f;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.82rem;
}

.agendaPaciente__googleMap {
    width: 100%;
    min-height: 430px;
    height: clamp(360px, 42vw, 520px);
}

.agendaPaciente__mapMessage,
.agendaPaciente__mapNotice {
    position: absolute;
    inset: auto 22px 22px 22px;
    z-index: 2;
    padding: 18px 20px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.94);
    color: #2e313f;
    box-shadow: 0 14px 32px rgba(22, 24, 38, 0.14);
}

.agendaPaciente__mapMessage {
    inset: 22px;
    display: grid;
    place-content: center;
    text-align: center;
    gap: 6px;
}

.agendaPaciente__mapMessage p,
.agendaPaciente__mapInfo p,
.agendaPaciente__nearestCard p {
    margin: 0;
}

.agendaPaciente__mapInfo {
    display: grid;
    gap: 10px;
    max-width: 280px;
    color: #2e313f;
}

.agendaPaciente__mapInfo h3 {
    margin: 0;
    color: #171727;
    font-size: 1rem;
}

.agendaPaciente__mapInfo ul {
    margin: 0;
    padding-left: 18px;
}

.agendaPaciente__mapInfoAction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: #a7186f;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.agendaPaciente__nearestCard {
    display: grid;
    gap: 14px;
    padding: 26px 30px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(22, 24, 38, 0.08);
    color: #2e313f;
}

.agendaPaciente__nearestCard h2 {
    margin: 0;
    color: #171727;
    font-size: 1.2rem;
}

.agendaPaciente__nearestCard > strong {
    color: #a7186f;
    font-size: 1.05rem;
}

.agendaPaciente__nearestCard > span {
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: #fbfddd;
    color: #697500;
    font-weight: 900;
}

.agendaPaciente__nearestCard ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.agendaPaciente__nearestCard li {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f7f4f8;
}

.agendaPaciente__nearestCard small {
    color: #707487;
}

.agendaPaciente__scheduleCard {
    padding-bottom: 24px;
}

.agendaPaciente__calendarNav {
    display: inline-flex;
    gap: 14px;
    align-self: flex-start;
}

.agendaPaciente__calendarNav span {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(22, 24, 38, 0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #171727;
    font-size: 1.5rem;
    line-height: 1;
}

.agendaPaciente__selectedSummary {
    border-radius: 18px;
    background: #f6f3fb;
    border-color: rgba(158, 24, 110, 0.14);
}

.agendaPaciente__calendar {
    display: grid;
    gap: 14px;
}

.agendaPaciente__day {
    border-radius: 20px;
    border: 1px solid rgba(22, 24, 38, 0.06);
    background: #fff;
    box-shadow: none;
}

.agendaPaciente__dayActive {
    border-color: rgba(170, 25, 116, 0.24);
    background: linear-gradient(180deg, rgba(233, 182, 218, 0.24) 0%, rgba(255, 255, 255, 0.92) 58%);
}

.agendaPaciente__day header span {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    color: #7d879c;
}

.agendaPaciente__slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.agendaPaciente__slotForm {
    width: 100%;
}

.agendaPaciente__slot {
    width: 100%;
    min-height: 54px;
    border-radius: 14px;
    border-color: transparent;
    background: #ebebf1;
    color: #1f1f2f;
    font-size: 1.06rem;
}

.agendaPaciente__slot:hover,
.agendaPaciente__slot:focus-visible {
    border-color: rgba(200, 214, 44, 0.7);
    background: #d8e84f;
    color: #373d00;
}

.agendaPaciente__confirmHint {
    margin: 4px 0 0;
    color: #6a7187;
    font-size: 0.95rem;
}

.agendaPaciente__confirm {
    min-height: 62px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(1.15rem, 1.9vw, 2rem);
    font-weight: 800;
    color: #fff;
    background: linear-gradient(135deg, #b81d79 0%, #ce3d8f 100%);
    box-shadow: 0 16px 26px rgba(180, 33, 121, 0.24);
}

.agendaPaciente__eventsCard {
    background: #f6f6fc;
}

.agendaPaciente__eventsList {
    display: grid;
    gap: 14px;
}

.agendaPaciente__eventItem {
    border-radius: 18px;
    border-color: rgba(34, 33, 57, 0.08);
    background: #fff;
    padding: 16px;
    display: grid;
    gap: 10px;
}

.agendaPaciente__eventItem--highlight {
    box-shadow: inset 4px 0 0 #b21d78;
}

.agendaPaciente__eventMeta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.agendaPaciente__eventDate {
    font-size: 0.83rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #b21d78;
    font-weight: 800;
}

.agendaPaciente__eventMenu {
    color: #5f6275;
    font-size: 1rem;
}

.agendaPaciente__eventDoctor {
    margin: 2px 0 4px;
    color: #44485f;
}

.agendaPaciente__eventAction {
    width: 100%;
}

.agendaPaciente__historyLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-decoration: none;
    color: #a7186f;
    letter-spacing: 0.1em;
    font-weight: 800;
    font-size: 0.9rem;
    padding-top: 4px;
}

.agendaPaciente__healthTip {
    background: linear-gradient(135deg, #4f5db4 0%, #5c6ec9 100%);
    color: #fff;
    gap: 10px;
}

.agendaPaciente__healthTip h2,
.agendaPaciente__healthTip p {
    color: #fff;
    margin: 0;
}

.agendaPaciente__ghostLink {
    border-color: rgba(167, 24, 111, 0.2);
    color: #8d0d5d;
}

.agendaPaciente__empty {
    border-radius: 20px;
    background: #f5f6fb;
}

.agendaPaciente__reveal {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.agendaPaciente__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1180px) {
    .agendaPaciente__layout {
        grid-template-columns: minmax(250px, 1fr) minmax(0, 1.3fr);
    }

    .agendaPaciente__layout--profissao {
        grid-template-columns: 1fr;
    }

    .agendaPaciente__layout--profissao .agendaPaciente__column--center,
    .agendaPaciente__layout--profissao .agendaPaciente__column--right {
        grid-column: auto;
        grid-row: auto;
    }

    .agendaPaciente__column--right {
        grid-column: span 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .agendaPaciente__layout--profissao .agendaPaciente__column--right {
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .agendaPaciente__container {
        width: min(100% - 20px, 1280px);
    }

    .agendaPaciente__layout,
    .agendaPaciente__column--right {
        grid-template-columns: 1fr;
    }

    .agendaPaciente__resultCard {
        grid-template-columns: 132px minmax(0, 1fr);
        gap: 18px;
        padding: 22px;
        border-radius: 28px;
    }

    .agendaPaciente__resultActions {
        grid-template-columns: 1fr 58px;
    }

    .agendaPaciente__availability {
        grid-column: 1 / -1;
        width: max-content;
    }

    .agendaPaciente__slots {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .agendaPaciente__header {
        padding: 22px;
        align-items: flex-start;
    }

    .agendaPaciente__googleMap {
        min-height: 340px;
        height: 62vh;
    }

    .agendaPaciente__nearestCard,
    .agendaPaciente__locationCard {
        padding: 22px;
        border-radius: 20px;
    }

    .agendaPaciente__slots {
        grid-template-columns: 1fr;
    }

    .agendaPaciente__resultCard,
    .agendaPaciente__clinicItem,
    .agendaPaciente__resultActions,
    .agendaPaciente__locationCard {
        grid-template-columns: 1fr;
    }

    .agendaPaciente__resultPhoto {
        max-width: 180px;
    }

    .agendaPaciente__clinicItem em {
        justify-self: start;
    }

    .agendaPaciente__confirm {
        font-size: 1.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agendaPaciente__reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* =========================
   Notificações Paciente (novo design)
   ========================= */
.notificacoesPaciente__page {
    background:
        radial-gradient(900px 420px at 12% -12%, rgba(var(--cor-secundaria-rgb), 0.07), transparent 56%),
        radial-gradient(680px 340px at 98% 0%, rgba(var(--cor-secundaria-alt-rgb), 0.08), transparent 62%),
        #f4f5fa;
    min-height: 100vh;
}

.notificacoesPaciente__container {
    width: min(100%, var(--layout-content-max-width));
    margin: 0 auto;
    padding: clamp(28px, 4vw, 42px) var(--layout-content-padding-inline) 92px;
}

.notificacoesPaciente__header {
    display: grid;
    gap: 10px;
    margin-bottom: clamp(18px, 3vw, 30px);
}

.notificacoesPaciente__title {
    margin: 0;
    color: #161823;
    font-size: clamp(2rem, 4.35vw, 3.72rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.notificacoesPaciente__subtitle {
    margin: 0;
    max-width: 820px;
    color: #3e2d35;
    font-size: clamp(1rem, 1.65vw, 2rem);
    line-height: 1.45;
}

.notificacoesPaciente__groupWrapper {
    padding: clamp(18px, 2.8vw, 30px);
    background: transparent;
    border: none;
    box-shadow: none;
}

.notificacoesPaciente__intro {
    margin-bottom: 8px;
}

.notificacoesPaciente__groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
    gap: clamp(16px, 2vw, 24px);
    align-items: start;
    margin-top: 24px;
}

.notificacoesPaciente__group {
    min-width: 0;
    padding: clamp(16px, 2.4vw, 24px);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.58);
    box-shadow: 0 12px 30px rgba(24, 30, 58, 0.05);
}

.notificacoesPaciente__groupHeader {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.notificacoesPaciente__groupTitle {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
    color: #85266d;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.notificacoesPaciente__groupCount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(var(--cor-secundaria-rgb), 0.1);
    color: #85266d;
    font-size: 0.84rem;
    font-weight: 800;
    white-space: nowrap;
}

.notificacoesPaciente__groupLine {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, rgba(var(--cor-secundaria-rgb), 0.28), rgba(var(--cor-secundaria-rgb), 0.08));
}

.notificacoesPaciente__list {
    display: grid;
    gap: 18px;
    max-height: min(62vh, 680px);
    overflow-y: auto;
    padding-right: 6px;
    scrollbar-gutter: stable;
}

.notificacoesPaciente__list::-webkit-scrollbar {
    width: 8px;
}

.notificacoesPaciente__list::-webkit-scrollbar-track {
    background: rgba(var(--cor-secundaria-rgb), 0.08);
    border-radius: 999px;
}

.notificacoesPaciente__list::-webkit-scrollbar-thumb {
    background: rgba(var(--cor-secundaria-rgb), 0.38);
    border-radius: 999px;
}

.notificacoesPaciente__card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(14px, 2vw, 24px);
    align-items: flex-start;
    padding: clamp(16px, 2.6vw, 26px);
    border-radius: 24px;
    border: 1px solid rgba(25, 31, 48, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(251, 251, 255, 0.94));
    box-shadow: 0 12px 24px rgba(24, 30, 58, 0.06);
    transform: translateY(14px);
    opacity: 0;
    transition: transform 360ms ease, opacity 360ms ease, box-shadow 220ms ease;
}

.notificacoesPaciente__card.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.notificacoesPaciente__card:hover {
    box-shadow: 0 18px 36px rgba(24, 30, 58, 0.12);
    transform: translateY(-2px);
}

.notificacoesPaciente__cardAccent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    border-radius: 5px;
    background: #b9adc8;
}

.notificacoesPaciente__icon {
    width: clamp(58px, 6.1vw, 72px);
    height: clamp(58px, 6.1vw, 72px);
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #8f355f;
    background: #f7dce9;
}

.notificacoesPaciente__icon svg {
    width: clamp(28px, 2.7vw, 34px);
    height: clamp(28px, 2.7vw, 34px);
}

.notificacoesPaciente__content {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.notificacoesPaciente__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.notificacoesPaciente__heading {
    margin: 0;
    min-width: 0;
    color: #141621;
    font-size: clamp(1.28rem, 1.65vw, 1.72rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

.notificacoesPaciente__text {
    margin: 0;
    color: #3c2d35;
    font-size: clamp(1rem, 1.2vw, 1.18rem);
    line-height: 1.55;
    overflow-wrap: anywhere;
    word-break: normal;
}

.notificacoesPaciente__time {
    flex-shrink: 0;
    min-width: 58px;
    text-align: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #ececf2;
    color: #54474f;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1;
}

.notificacoesPaciente__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

.notificacoesPaciente__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 3px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8d2767;
    background: #f2dce8;
}

.notificacoesPaciente__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    color: var(--color-rosa);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.notificacoesPaciente__link::after {
    content: '↗';
    font-size: 0.9em;
}

.notificacoesPaciente__dateLabel {
    color: #736873;
    font-size: 0.87rem;
    font-weight: 600;
}

.notificacoesPaciente__card--agendamento .notificacoesPaciente__cardAccent {
    background: #bc2b77;
}

.notificacoesPaciente__card--agendamento .notificacoesPaciente__icon {
    background: #f4d8e7;
    color: #a71f6a;
}

.notificacoesPaciente__card--agendamento .notificacoesPaciente__tag:nth-child(2n) {
    background: #d8e563;
    color: #4f560f;
}

.notificacoesPaciente__card--pagamento .notificacoesPaciente__cardAccent {
    background: #657500;
}

.notificacoesPaciente__card--pagamento .notificacoesPaciente__icon {
    background: #d4ea4b;
    color: #506000;
}

.notificacoesPaciente__card--pagamento .notificacoesPaciente__link {
    color: #aa1f71;
}

.notificacoesPaciente__card--consulta .notificacoesPaciente__cardAccent {
    background: #3750ab;
}

.notificacoesPaciente__card--consulta .notificacoesPaciente__icon {
    background: #d6ddf6;
    color: #3c50a0;
}

.notificacoesPaciente__card--consulta .notificacoesPaciente__tag {
    background: #e1e7fb;
    color: #2f448e;
}

.notificacoesPaciente__card--outros .notificacoesPaciente__cardAccent {
    background: #d6b9c8;
}

.notificacoesPaciente__card--outros .notificacoesPaciente__icon {
    background: #ececf2;
    color: #644f5a;
}

.notificacoesPaciente__footer {
    display: flex;
    justify-content: center;
    margin-top: clamp(28px, 4.4vw, 42px);
}

.notificacoesPaciente__backBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 58px;
    min-width: min(100%, 270px);
    padding: 14px 28px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(135deg, #a81f72 0%, #cb3f90 100%);
    color: #fff;
    font-size: clamp(1.04rem, 1.52vw, 1.3rem);
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 14px 24px rgba(var(--cor-secundaria-rgb), 0.22);
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.notificacoesPaciente__backBtn:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 30px rgba(var(--cor-secundaria-rgb), 0.3);
}

.notificacoesPaciente__backBtn svg {
    width: 20px;
    height: 20px;
}

.notificacoesPaciente__backBtn:focus-visible,
.notificacoesPaciente__link:focus-visible {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), 0.36);
    outline-offset: 2px;
    border-radius: 12px;
}

.notificacoesPaciente__emptyState {
    background: rgba(255, 255, 255, 0.8);
    border: 1px dashed rgba(var(--cor-primaria-rgb), 0.2);
    border-radius: 18px;
    padding: 20px;
}

@media (max-width: 1100px) {
    .notificacoesPaciente__groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .notificacoesPaciente__card {
        border-radius: 20px;
        gap: 12px;
        padding: 16px;
    }

    .notificacoesPaciente__heading {
        font-size: clamp(1.18rem, 1.8vw, 1.4rem);
    }

    .notificacoesPaciente__text {
        font-size: 1rem;
    }
}

@media (max-width: 620px) {
    .notificacoesPaciente__groups {
        grid-template-columns: 1fr;
    }

    .notificacoesPaciente__groupWrapper {
        padding: 10px 0;
    }

    .notificacoesPaciente__groups {
        margin-top: 18px;
    }

    .notificacoesPaciente__list {
        max-height: none;
        overflow-y: visible;
        padding-right: 0;
    }

    .notificacoesPaciente__card {
        grid-template-columns: 1fr;
    }

    .notificacoesPaciente__icon {
        width: 56px;
        height: 56px;
    }

    .notificacoesPaciente__top {
        flex-wrap: wrap;
    }

    .notificacoesPaciente__time {
        order: 3;
    }

    .notificacoesPaciente__backBtn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .notificacoesPaciente__card,
    .notificacoesPaciente__backBtn {
        transition: none !important;
    }

    .notificacoesPaciente__card {
        opacity: 1;
        transform: none;
    }
}

/* =========================
   Perfil do paciente (layout novo)
   ========================= */
.perfilPacienteNovo__page {
    background:
        radial-gradient(circle at top left, rgba(var(--cor-secundaria-rgb), 0.08), transparent 32%),
        radial-gradient(circle at top right, rgba(var(--cor-primaria-rgb), 0.06), transparent 30%),
        rgba(var(--cor-detalhes-rgb), 0.42);
}

.perfilPacienteNovo__container {
    width: min(1280px, 100%);
    gap: clamp(22px, 3vw, 34px);
}

.perfilPacienteNovo__heroGrid {
    display: grid;
    grid-template-columns: minmax(320px, 1.1fr) minmax(340px, 1.1fr) minmax(280px, 0.95fr);
    gap: clamp(16px, 2vw, 22px);
    align-items: stretch;
}

.perfilPacienteNovo__heroCard,
.perfilPacienteNovo__detailsCard,
.perfilPacienteNovo__responsibleCard {
    position: relative;
    border-radius: 24px;
    background: var(--color-branco);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 18px 42px rgba(var(--cor-primaria-rgb), 0.08);
    padding: clamp(18px, 2.2vw, 28px);
}

.perfilPacienteNovo__heroCard::before,
.perfilPacienteNovo__detailsCard::before,
.perfilPacienteNovo__responsibleCard::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(150deg, rgba(255,255,255,0.46), rgba(255,255,255,0));
}

.perfilPacienteNovo__heroMain {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.perfilPacienteNovo__heroName {
    margin: 0;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
}

.perfilPacienteNovo__status {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--color-rosa);
}

.perfilPacienteNovo__miniStats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.perfilPacienteNovo__miniStat {
    padding: 0.95rem 0.9rem;
    border-radius: 15px;
    background: rgba(var(--cor-primaria-rgb), 0.04);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.07);
    display: grid;
    gap: 0.28rem;
}

.perfilPacienteNovo__heroActions {
    margin-top: 0.35rem;
}

.perfilPacienteNovo__linkBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.72rem 1.15rem;
    border-radius: 999px;
    text-decoration: none;
    color: var(--color-branco);
    background: linear-gradient(135deg, var(--cor-primaria), var(--color-rosa));
    box-shadow: 0 12px 24px rgba(var(--cor-primaria-rgb), 0.2);
}

.perfilPacienteNovo__middleColumn {
    display: grid;
    gap: clamp(16px, 1.8vw, 22px);
}

.perfilPacienteNovo__appointmentCard {
    background: linear-gradient(
        155deg,
        rgba(var(--cor-secundaria-rgb), 1),
        rgba(var(--cor-secundaria-rgb), 0.93) 52%,
        rgba(var(--cor-secundaria-rgb), 0.85) 100%
    );
    color: var(--color-branco);
}

.perfilPacienteNovo__appointmentCard h2,
.perfilPacienteNovo__appointmentCard p,
.perfilPacienteNovo__appointmentCard a {
    color: inherit;
}

.perfilPacienteNovo__appointmentTop {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.perfilPacienteNovo__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.2);
}

.perfilPacienteNovo__appointmentTitle {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
}

.perfilPacienteNovo__appointmentMeta {
    margin: 0.15rem 0 0;
    color: rgba(255, 255, 255, 0.9);
}

.perfilPacienteNovo__appointmentActions {
    margin-top: 1.2rem;
    display: grid;
    gap: 0.75rem;
}

.perfilPacienteNovo__ctaBtn {
    display: inline-flex;
    width: 100%;
    min-height: 52px;
    border-radius: 999px;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--color-branco);
    color: var(--cor-secundaria);
    font-size: 1.2rem;
    font-weight: 800;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.perfilPacienteNovo__ctaBtn:hover,
.perfilPacienteNovo__ctaBtn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 15px 24px rgba(0, 0, 0, 0.14);
}

.perfilPacienteNovo__hiddenList {
    margin-top: 1rem;
    display: grid;
    gap: 0.55rem;
}

.perfilPacienteNovo__agendaItem {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.perfilPacienteNovo__agendaItem strong,
.perfilPacienteNovo__agendaItem span {
    display: block;
    color: rgba(255,255,255,0.95);
}

.perfilPacienteNovo__notificationsCard {
    display: grid;
    gap: 1rem;
}

.perfilPacienteNovo__notificationsHead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.7rem;
}

.perfilPacienteNovo__notificationsList {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.perfilPacienteNovo__notificationItem {
    padding: 0.95rem;
    border-radius: 14px;
    background: rgba(var(--cor-primaria-rgb), 0.05);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.06);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.55rem;
}

.perfilPacienteNovo__notificationItem strong,
.perfilPacienteNovo__notificationItem p {
    margin: 0;
}

.perfilPacienteNovo__notificationItem p {
    color: rgba(var(--cor-primaria-rgb), 0.66);
    font-size: 0.95rem;
}

.perfilPacienteNovo__notificationDot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    margin-top: 0.45rem;
    background: var(--color-rosa);
}

.perfilPacienteNovo__notificationItem--muted .perfilPacienteNovo__notificationDot {
    background: rgba(var(--cor-primaria-rgb), 0.24);
}

.perfilPacienteNovo__paymentCard {
    border-left: 4px solid var(--cor-secundaria-alt);
    display: grid;
    align-content: start;
    gap: 0.95rem;
}

.perfilPacienteNovo__paymentCard h2,
.perfilPacienteNovo__paymentMain p {
    margin: 0;
}

.perfilPacienteNovo__paymentTitle {
    font-size: 1.28rem;
    font-weight: 700;
}

.perfilPacienteNovo__paymentMeta {
    color: rgba(var(--cor-primaria-rgb), 0.68);
}

.perfilPacienteNovo__paymentsList {
    display: grid;
    gap: 0.75rem;
}

.perfilPacienteNovo__paymentItem {
    padding-top: 0.72rem;
    border-top: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    display: grid;
    gap: 0.35rem;
}

.perfilPacienteNovo__paymentItem strong,
.perfilPacienteNovo__paymentItem small {
    display: block;
}

.perfilPacienteNovo__paymentForm {
    margin-top: 0.28rem;
}

.perfilPacienteNovo__textBtn {
    border: 0;
    background: transparent;
    color: var(--color-rosa);
    font-weight: 800;
    padding: 0;
    cursor: pointer;
}

.perfilPacienteNovo__sectionGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 24px);
}

.perfilPacienteNovo__section {
    display: grid;
    gap: 0.9rem;
}

.perfilPacienteNovo__sectionTitle {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.perfilPacienteNovo__sectionTitle h2 {
    margin: 0;
    font-size: clamp(1.65rem, 2vw, 2.15rem);
}

.perfilPacienteNovo__sectionIcon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-rosa);
    background: rgba(var(--cor-secundaria-rgb), 0.2);
}

.perfilPacienteNovo__sectionIcon svg {
    width: 20px;
    height: 20px;
}

.perfilPacienteNovo__detailsCard,
.perfilPacienteNovo__responsibleCard {
    padding: clamp(18px, 2.4vw, 30px);
}

.perfilPacienteNovo__detailsGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.perfilPacienteNovo__detailItem {
    display: grid;
    gap: 0.3rem;
}

.perfilPacienteNovo__detailItem--full {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(var(--cor-primaria-rgb), 0.11);
}

.perfilPacienteNovo__detailLabel {
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    font-weight: 800;
    text-transform: uppercase;
    color: rgba(var(--cor-primaria-rgb), 0.56);
}

.perfilPacienteNovo__detailValue {
    font-size: clamp(1rem, 1.2vw, 1.08rem);
    color: var(--cor-primaria);
}

.perfilPacienteNovo__responsibleHead {
    margin-bottom: 1rem;
    border-radius: 16px;
    background: rgba(var(--cor-secundaria-alt-rgb), 0.25);
    padding: 0.9rem;
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.perfilPacienteNovo__responsibleAvatar {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.8rem;
    color: var(--color-branco);
    background: var(--cor-secundaria-alt);
}

.perfilPacienteNovo__responsibleMeta {
    display: grid;
    gap: 0.25rem;
}

.perfilPacienteNovo__responsibleMeta strong,
.perfilPacienteNovo__responsibleMeta span {
    margin: 0;
}

.perfilPacienteNovo__responsibleMeta span {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(var(--cor-primaria-rgb), 0.72);
    font-size: 0.8rem;
    font-weight: 800;
}

.perfilPacienteNovo__reveal {
    opacity: 1;
    transform: none;
    transition: transform 320ms ease, opacity 320ms ease, box-shadow 240ms ease;
}

.perfilPaciente__page.perfilPaciente__enhanced .perfilPacienteNovo__reveal {
    opacity: 0;
    transform: translateY(16px);
}

.perfilPaciente__page.perfilPaciente__enhanced .perfilPacienteNovo__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.perfilPacienteNovo__heroCard:hover,
.perfilPacienteNovo__detailsCard:hover,
.perfilPacienteNovo__responsibleCard:hover {
    box-shadow: 0 24px 46px rgba(var(--cor-primaria-rgb), 0.12);
}

.perfilPacienteNovo__linkBtn:focus-visible,
.perfilPacienteNovo__ctaBtn:focus-visible,
.perfilPacienteNovo__textBtn:focus-visible,
.perfilPacienteNovo__heroCard a:focus-visible {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), 0.66);
    outline-offset: 3px;
}

@media (max-width: 1180px) {
    .perfilPacienteNovo__heroGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .perfilPacienteNovo__paymentCard {
        grid-column: 1 / -1;
    }
}

@media (max-width: 920px) {
    .perfilPacienteNovo__heroGrid,
    .perfilPacienteNovo__sectionGrid,
    .perfilPacienteNovo__notificationsList,
    .perfilPacienteNovo__detailsGrid {
        grid-template-columns: 1fr;
    }

    .perfilPacienteNovo__miniStats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .perfilPacienteNovo__container {
        padding-top: 1.25rem;
    }

    .perfilPacienteNovo__heroCard,
    .perfilPacienteNovo__detailsCard,
    .perfilPacienteNovo__responsibleCard {
        border-radius: 18px;
    }

    .perfilPacienteNovo__miniStats {
        grid-template-columns: 1fr;
    }

    .perfilPacienteNovo__ctaBtn {
        font-size: 1.05rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .perfilPacienteNovo__reveal,
    .perfilPacienteNovo__heroCard,
    .perfilPacienteNovo__detailsCard,
    .perfilPacienteNovo__responsibleCard,
    .perfilPacienteNovo__ctaBtn {
        transition: none !important;
    }

    .perfilPaciente__page.perfilPaciente__enhanced .perfilPacienteNovo__reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* =========================
   Editar Cadastro Clínica (layout premium)
   ========================= */
.editarClinica__page {
    background: linear-gradient(180deg, #f4f2f8 0%, #f2f0f7 100%);
}

.editarClinica__main {
    padding-bottom: clamp(40px, 7vw, 96px);
}

.editarClinica__container {
    width: min(1180px, calc(100% - 2.5rem));
    margin: clamp(24px, 4vw, 56px) auto;
}

.editarClinica__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.editarClinica__title {
    margin: 0;
    color: #161823;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1.05;
    font-weight: 800;
}

.editarClinica__subtitle {
    margin: 0.65rem 0 0;
    font-size: clamp(1rem, 1.4vw, 1.8rem);
    color: #40363f;
    font-weight: 500;
}

.editarClinica__form {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 3vw, 28px);
}

.editarClinica__section {
    position: relative;
}

.editarClinica__sectionHead {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    padding-left: 4px;
}

.editarClinica__sectionBar {
    width: 5px;
    height: 44px;
    border-radius: 999px;
    background: linear-gradient(180deg, #cb0d76 0%, #9f065f 100%);
    box-shadow: 0 8px 18px rgba(203, 13, 118, 0.24);
}

.editarClinica__sectionHead--address .editarClinica__sectionBar {
    background: linear-gradient(180deg, #7a8f00 0%, #546603 100%);
    box-shadow: 0 8px 18px rgba(84, 102, 3, 0.25);
}

.editarClinica__sectionTitle {
    margin: 0;
    color: #9f065f;
    letter-spacing: .08em;
    font-size: clamp(1.3rem, 2vw, 2rem);
    font-weight: 800;
}

.editarClinica__sectionHead--address .editarClinica__sectionTitle {
    color: #4e6100;
}

.editarClinica__card {
    position: relative;
    background: rgba(255, 255, 255, 0.72);
    border-radius: 24px;
    padding: clamp(18px, 3.1vw, 40px);
    border: 1px solid rgba(26, 26, 34, 0.05);
    box-shadow: 0 8px 30px rgba(39, 24, 49, 0.08);
    overflow: hidden;
}

.editarClinica__card::after {
    content: "";
    position: absolute;
    inset: auto -120px -120px auto;
    width: 240px;
    height: 240px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(197, 156, 255, 0.2), transparent 70%);
    pointer-events: none;
}

.editarClinica__grid {
    display: grid;
    gap: 18px 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.editarClinica__grid--nested {
    grid-column: 1 / -1;
}

.editarClinica__grid--address {
    grid-template-columns: 1fr 2.1fr 1fr 1fr .5fr;
}

.editarClinica__field {
    gap: 8px;
}

.editarClinica__field--full {
    grid-column: 1 / -1;
}

.editarClinica__field--cep {
    grid-column: span 1;
}

.editarClinica__field--endereco {
    grid-column: span 4;
}

.editarClinica__field--complemento {
    grid-column: span 2;
}

.editarClinica__field--cidade {
    grid-column: span 2;
}

.editarClinica__field--estado {
    grid-column: span 1;
}

.editarClinica__label,
.editarClinica__field .form-label {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .9rem;
    font-weight: 700;
    color: #4b3943;
}

.editarClinica__inputWrap {
    position: relative;
}

.editarClinica__inputWrap::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    pointer-events: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.editarClinica__inputWrap input,
.editarClinica__inputWrap select,
.editarClinica__inputWrap textarea,
.editarClinica__field > input[type='file'] {
    min-height: 68px;
    border-radius: 18px;
    border: 1px solid rgba(46, 30, 58, 0.08);
    background: #efedf4;
    color: #1d1e29;
    box-shadow: 0 6px 18px rgba(36, 18, 49, 0.06);
    padding: 0.95rem 1.15rem;
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.editarClinica__inputWrap textarea {
    min-height: 140px;
    resize: vertical;
}

.editarClinica__inputWrap input:focus,
.editarClinica__inputWrap select:focus,
.editarClinica__inputWrap textarea:focus,
.editarClinica__field > input[type='file']:focus {
    border-color: rgba(206, 26, 127, 0.45);
    box-shadow: 0 0 0 4px rgba(206, 26, 127, 0.14), 0 10px 24px rgba(43, 24, 66, 0.12);
    outline: 0;
}

.editarClinica__subSectionTitle {
    margin: 10px 0 2px;
    grid-column: 1 / -1;
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    color: #2f2e4a;
    letter-spacing: .01em;
    border-top: 1px solid rgba(74, 46, 82, 0.12);
    padding-top: 18px;
}

.editarClinica__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 14px;
    margin-top: 6px;
}

.editarClinica__loginText {
    margin: 0;
}

.editarClinica__btn {
    border-radius: 999px;
    min-height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.editarClinica__btnGhost {
    min-width: 220px;
    color: #a3136f;
    border: 1px solid rgba(163, 19, 111, 0.23);
    background: rgba(255, 255, 255, 0.7);
}

.editarClinica__btnPrimary {
    min-width: 260px;
}

.editarClinica__btn:hover,
.editarClinica__btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(80, 30, 84, 0.2);
}

.editarClinica__fadeUp {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .5s ease, transform .5s ease;
}

.editarClinica__fadeUp.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1024px) {
    .editarClinica__grid--address {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .editarClinica__field--cep,
    .editarClinica__field--endereco,
    .editarClinica__field--complemento,
    .editarClinica__field--cidade,
    .editarClinica__field--estado {
        grid-column: span 1;
    }
}

@media (max-width: 767px) {
    .editarClinica__container {
        width: min(1180px, calc(100% - 1.2rem));
    }

    .editarClinica__grid,
    .editarClinica__grid--address,
    .editarClinica__grid--nested {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .editarClinica__field--cep,
    .editarClinica__field--endereco,
    .editarClinica__field--complemento,
    .editarClinica__field--cidade,
    .editarClinica__field--estado {
        grid-column: 1 / -1;
    }

    .editarClinica__actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .editarClinica__btn,
    .editarClinica__btnGhost,
    .editarClinica__btnPrimary,
    #botaoClinicas {
        width: 100%;
        min-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .editarClinica__fadeUp {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .editarClinica__btn {
        transition: none !important;
    }
}

/* =========================
   Página Saúde (saude.php)
   ========================= */
.saudePage__page {
    background: #f4f4f8;
    padding: clamp(22px, 3.4vw, 42px) 0 clamp(34px, 4vw, 56px);
}

.saudePage__container {
    width: min(100%, 1420px);
    margin: 0 auto;
    padding: 0 clamp(16px, 3vw, 28px);
}

.saudePage__hero {
    background: #f9fafb;
    border-radius: 28px;
    box-shadow: 0 22px 54px rgba(var(--cor-primaria-rgb), 0.08);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    margin-bottom: clamp(26px, 4vw, 44px);
}

.saudePage__heroContent {
    padding: clamp(28px, 4vw, 54px);
}

.saudePage__heroBadge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
    color: #5f6914;
    background: rgba(var(--cor-secundaria-alt-rgb), 0.8);
    border-radius: 999px;
    padding: 0.42rem 0.78rem;
    margin-bottom: 1.2rem;
}

.saudePage__heroTitle {
    font-size: clamp(2rem, 4.6vw, 4.1rem);
    line-height: 0.98;
    letter-spacing: -0.03em;
    color: #101318;
    margin: 0;
    max-width: 11ch;
}

.saudePage__heroTitle span {
    color: var(--color-rosa);
    font-style: italic;
}

.saudePage__heroText {
    margin: 1.35rem 0 0;
    font-size: clamp(1rem, 1.7vw, 1.36rem);
    line-height: 1.55;
    color: rgba(var(--cor-primaria-rgb), 0.86);
    max-width: 54ch;
}

.saudePage__heroActions {
    margin-top: clamp(20px, 2.8vw, 32px);
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.saudePage__heroBtn {
    border-radius: 999px;
    padding: 0.8rem 1.35rem;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

.saudePage__heroBtn:hover {
    transform: translateY(-2px);
}

.saudePage__heroBtn--primary {
    background: var(--color-rosa);
    color: var(--color-branco);
    box-shadow: 0 10px 24px rgba(var(--cor-secundaria-rgb), 0.3);
}

.saudePage__heroBtn--secondary {
    background: rgba(var(--cor-secundaria-alt-rgb), 0.85);
    color: #2a3007;
}

.saudePage__heroMedia {
    min-height: 320px;
    position: relative;
}

.saudePage__heroMedia::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, #f9fafb 2%, rgba(249, 250, 251, 0) 32%);
}

.saudePage__heroMedia img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.saudePage__sectionHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.saudePage__sectionTitle {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.2rem);
    color: #131820;
}

.saudePage__cardsRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.35rem;
}

.saudePage__layout {
    display: grid;
    grid-template-columns: minmax(0, 2.35fr) minmax(260px, 0.85fr);
    gap: clamp(18px, 2.5vw, 30px);
}

.saudePage__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 1.8vw, 20px);
}

.saudePage__grid > .saudePage__card:only-child {
    grid-column: 1 / -1;
    max-width: 720px;
    width: 100%;
}

.saudePage__card {
    background: #f8f8fb;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(var(--cor-primaria-rgb), 0.06);
    display: flex;
    flex-direction: column;
}

.saudePage__cardImage {
    aspect-ratio: 16 / 9;
    width: 100%;
    overflow: hidden;
}

.saudePage__cardImage svg,
.saudePage__cardImage img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.saudePage__cardBody {
    padding: 1.1rem 1.2rem 1.2rem;
}

.saudePage__cardCategory {
    display: inline-flex;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    font-size: 0.7rem;
    color: var(--color-rosa);
    font-weight: 700;
    margin-bottom: 0.52rem;
}

.saudePage__cardTitle {
    margin: 0;
    color: #121820;
    font-size: clamp(1.04rem, 1.3vw, 1.3rem);
    line-height: 1.3;
}

.saudePage__cardMeta {
    margin: 0.6rem 0 0;
    color: #6f7884;
    font-size: 0.88rem;
}

.saudePage__cardExcerpt {
    margin: 0.8rem 0 0;
    color: #404958;
    font-size: 0.94rem;
    line-height: 1.5;
}

.saudePage__cardLink {
    margin-top: 0.95rem;
    display: inline-flex;
    text-decoration: none;
    color: var(--color-rosa);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.82rem;
}

.saudePage__cardLink::after {
    content: '→';
    margin-left: 0.35rem;
}

.saudePage__fullPosts {
    margin-top: 1.15rem;
}

.saudePage__postDetail {
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.1);
    border-radius: 16px;
    padding: 1.1rem 1.2rem;
    margin-bottom: 0.85rem;
}

.saudePage__pagination {
    margin-top: 1.35rem;
}

.saudePage__pagination--belowTitle {
    margin: 0 0 1.35rem;
}

.saudePage__sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.saudePage__widget {
    background: #f8f8fb;
    border-radius: 18px;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 8px 24px rgba(var(--cor-primaria-rgb), 0.05);
    padding: 1rem;
}

.saudePage__widgetTitle {
    margin: 0 0 0.95rem;
    font-size: 1.28rem;
    color: #111820;
    position: relative;
    padding-left: 1rem;
}

.saudePage__widgetTitle::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.58em;
    width: 0.72rem;
    height: 2px;
    background: var(--color-rosa);
}

.saudePage__recentList {
    list-style: none;
    margin: 0;
    padding: 0;
}

.saudePage__recentItem {
    border-top: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
}

.saudePage__recentItem a {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    padding: 0.72rem 0;
}

.saudePage__recentThumb {
    width: 64px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
}

.saudePage__recentContent h6 {
    color: #111820;
    font-size: 0.92rem;
    line-height: 1.3;
}


@media (max-width: 1100px) {
    .saudePage__hero {
        grid-template-columns: 1fr;
    }

    .saudePage__heroMedia {
        min-height: 300px;
    }

    .saudePage__heroMedia::before {
        background: linear-gradient(180deg, #f9fafb 4%, rgba(249, 250, 251, 0) 34%);
    }

    .saudePage__layout,
    .saudePage__cardsRow,
    .saudePage__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .saudePage__heroTitle {
        max-width: 100%;
    }

    .saudePage__heroContent {
        padding: 1.25rem;
    }

    .saudePage__widgetTitle {
        font-size: 1.14rem;
    }
}

/* =========================
   Pacientes da agenda profissional
   ========================= */
.agendaPacientes__page {
    background: #eef0f3;
}

.agendaPacientes__content {
    display: grid;
    gap: 18px;
}

.agendaPacientes__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.agendaPacientes__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.agendaPacientes__summaryCard {
    background: #f8f9fb;
    border: 1px solid #e7e9ee;
    border-radius: 20px;
    padding: 18px 20px;
    box-shadow: 0 10px 24px rgba(30, 35, 48, 0.05);
}

.agendaPacientes__summaryCard p {
    margin: 0;
    color: #646f83;
    font-size: 0.92rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
}

.agendaPacientes__summaryCard strong {
    display: block;
    margin-top: 8px;
    font-size: clamp(1.6rem, 2.8vw, 2.5rem);
    line-height: 1;
    color: #10141f;
}

.agendaPacientes__filters .agendaPacientes__filtersForm {
    grid-template-columns: minmax(300px, 1.35fr) minmax(190px, 1fr) minmax(170px, auto);
}

.agendaPacientes__list {
    display: grid;
    gap: 16px;
}

.agendaPacientes__card {
    background: #f8f9fb;
    border: 1px solid #e5e8ed;
    border-radius: 24px;
    padding: 20px 22px;
    box-shadow: 0 12px 30px rgba(19, 28, 45, 0.05);
    display: grid;
    gap: 16px;
}

.agendaPacientes__identity {
    display: flex;
    align-items: center;
    gap: 14px;
}

.agendaPacientes__avatar {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f0d4e4;
    color: #4d2140;
    font-size: 1.4rem;
    font-weight: 900;
}

.agendaPacientes__identity h2 {
    margin: 0;
    font-size: clamp(1.2rem, 2vw, 1.7rem);
    color: #121723;
}

.agendaPacientes__identity p {
    margin: 4px 0 0;
    color: #5f6777;
    font-size: 0.98rem;
}

.agendaPacientes__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    margin: 0;
}

.agendaPacientes__meta div {
    background: #eef1f6;
    border: 1px solid #dfe4ec;
    border-radius: 14px;
    padding: 10px 12px;
}

.agendaPacientes__meta dt {
    margin: 0;
    font-size: 0.82rem;
    color: #6e7788;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 700;
}

.agendaPacientes__meta dd {
    margin: 5px 0 0;
    color: #252b38;
    font-size: 1rem;
    word-break: break-word;
}

.agendaPacientes__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.agendaPacientes__stats span {
    background: #ffffff;
    border: 1px solid #dfe3ea;
    color: #465065;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 0.87rem;
    font-weight: 700;
}

@media (max-width: 980px) {
    .agendaPacientes__summary {
        grid-template-columns: 1fr;
    }

    .agendaPacientes__filters .agendaPacientes__filtersForm {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .agendaPacientes__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .agendaPacientes__header .agendaProf__newBtn {
        width: 100%;
        min-width: 0;
    }

    .agendaPacientes__meta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .agendaPacientes__filters .agendaPacientes__filtersForm {
        grid-template-columns: 1fr;
    }
}

/* =========================
   Redesign | pacientesAgendaP.php
   ========================= */
.pacientesAgendaP__page {
    background: radial-gradient(1400px 420px at 10% -10%, #f5f6f8 0%, #eceff2 50%, #e7eaee 100%);
}

.pacientesAgendaP__container {
    width: min(100% - 40px, 1280px);
}

.pacientesAgendaP__content {
    gap: 26px;
    padding-bottom: 26px;
}

.pacientesAgendaP__header {
    align-items: flex-start;
}

.pacientesAgendaP__headingGroup {
    display: grid;
    gap: 6px;
}

.pacientesAgendaP__title {
    font-size: clamp(2rem, 4.2vw, 3.1rem);
    letter-spacing: -0.025em;
    line-height: 1.04;
}

.pacientesAgendaP__subtitle {
    color: #4f4350;
    font-size: clamp(1rem, 1.7vw, 1.55rem);
}

.pacientesAgendaP__filterButton {
    border-radius: 999px;
    min-width: 160px;
    box-shadow: 0 14px 36px rgba(47, 53, 64, 0.09);
}

.pacientesAgendaP__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pacientesAgendaP__summaryCard {
    border-radius: 22px;
    background: #f4f5f7;
}

.pacientesAgendaP__topbar {
    background: transparent;
    border: 0;
    padding: 0;
    box-shadow: none;
}

.pacientesAgendaP__filtersGrid {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.pacientesAgendaP__filterCard {
    border: 1px solid #e2e5ea;
    border-radius: 24px;
    background: #f4f5f7;
    padding: 16px 18px;
    box-shadow: 0 10px 24px rgba(34, 38, 48, 0.05);
    display: grid;
    gap: 10px;
    flex: 1 1 560px;
    min-width: min(100%, 320px);
}

.pacientesAgendaP__filterTitle {
    margin: 0;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: .11em;
    color: #4c3745;
    font-weight: 700;
}

.pacientesAgendaP__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pacientesAgendaP__chip {
    position: relative;
    border-radius: 9px;
    background: #e1e3e7;
    color: #322733;
    font-weight: 700;
    min-width: 94px;
    text-align: center;
    cursor: pointer;
}

.pacientesAgendaP__chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pacientesAgendaP__chip span {
    display: block;
    padding: 11px 14px;
    line-height: 1;
}

.pacientesAgendaP__chip.is-active {
    background: #d6df43;
    color: #202311;
}

.pacientesAgendaP__chip--ghost { min-width: auto; }

.pacientesAgendaP__searchWrap {
    border-radius: 14px;
    min-height: 56px;
    background: #fff;
}


.pacientesAgendaP__actionsWrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex: 0 0 auto;
    margin-left: auto;
}

.pacientesAgendaP__submitBtn,
.pacientesAgendaP__clearBtn {
    height: 54px;
    border-radius: 14px;
    padding: 0 22px;
    font-size: 1.02rem;
    line-height: 1;
    font-weight: 700;
}

.pacientesAgendaP__submitBtn {
    min-width: 144px;
    margin-top: 0;
    gap: 8px;
    background: linear-gradient(135deg, #b11e79, #8e2d71);
    color: #fff;
}

.pacientesAgendaP__submitBtn svg {
    width: 18px;
    height: 18px;
}

.pacientesAgendaP__clearBtn {
    min-width: 112px;
    border: 1px solid #d6dbe3;
    background: #ffffff;
    color: #4c3745;
    text-decoration: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.pacientesAgendaP__clearBtn:hover {
    background: #f5f7fa;
}

.pacientesAgendaP__listWrapper {
    background: #dee1e6;
    border: 1px solid #d8dce2;
    border-radius: 28px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
    padding: 34px;
}

.pacientesAgendaP__list {
    display: grid;
    gap: 18px;
}

.pacientesAgendaP__item {
    position: relative;
    border-radius: 20px;
    border: 1px solid #d9dde4;
    background: #f9f9fa;
    box-shadow: 0 6px 15px rgba(39, 49, 65, 0.05);
    display: grid;
    grid-template-columns: minmax(280px, 1.2fr) minmax(340px, 1.8fr) minmax(180px, 1fr);
    gap: 14px;
    align-items: center;
    opacity: 0;
    transform: translateY(12px);
    transition: transform .45s ease, opacity .45s ease, box-shadow .22s ease;
}

.pacientesAgendaP__item.is-visible {
    opacity: 1;
    transform: none;
}

.pacientesAgendaP__item:hover {
    box-shadow: 0 14px 34px rgba(37, 46, 62, 0.1);
}

.pacientesAgendaP__itemAccent::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    border-radius: 20px 0 0 20px;
    background: linear-gradient(180deg, #b11e79, #ce5ea5);
}

.pacientesAgendaP__identity { gap: 16px; }

.pacientesAgendaP__avatar {
    width: 72px;
    height: 72px;
    background: #e7dce3;
    color: #9f206f;
    font-size: 2rem;
    position: relative;
}

.pacientesAgendaP__avatar::after {
    content: '';
    position: absolute;
    right: -3px;
    bottom: -3px;
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #768000;
}

.pacientesAgendaP__avatarText { font-weight: 800; }

.pacientesAgendaP__name {
    margin: 0;
    font-size: clamp(1.4rem, 2vw, 2.1rem);
    color: #15171e;
}

.pacientesAgendaP__meta {
    margin: 5px 0 0;
    font-size: 1.02rem;
    color: #3f3540;
}

.pacientesAgendaP__tagGroup {
    margin-top: 8px;
    min-height: 24px;
}

.pacientesAgendaP__columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.pacientesAgendaP__column {
    background: transparent !important;
    border: 0 !important;
    padding: 2px 4px !important;
}

.pacientesAgendaP__columnLabel {
    font-size: 1.03rem !important;
    letter-spacing: .13em !important;
    color: #806b78 !important;
}

.pacientesAgendaP__columnValue {
    margin-top: 6px !important;
    font-size: 2rem;
    font-weight: 700;
    color: #171a22 !important;
}

.pacientesAgendaP__tag {
    border-radius: 6px;
    padding: 5px 10px;
    font-size: .88rem;
    line-height: 1;
    font-weight: 700;
    display: inline-block;
    border: 1px solid transparent;
}

.pacientesAgendaP__tag--novo { background: #ecdbe8; color: #8e2d71; }
.pacientesAgendaP__tag--andamento { background: #d5df43; color: #4d5700; }
.pacientesAgendaP__tag--cancelado { background: #f7d9d8; color: #a7181e; }
.pacientesAgendaP__tag--finalizado { background: #d2e0ef; color: #2a4664; }

.pacientesAgendaP__actions {
    justify-content: flex-end;
    gap: 8px;
}

.pacientesAgendaP__actions span {
    border-radius: 999px;
    background: #ffffff;
}

.pacientesAgendaP__profileBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #b11e79, #8e2d71);
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.pacientesAgendaP__profileBtn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(142, 45, 113, 0.28);
}

.pacientesAgendaP__empty {
    border-radius: 22px;
    background: #fff;
}

.pacientesAgendaP__pagination,
.pacientesAgendaP__pageBtn,
.pacientesAgendaP__pageBtnActive,
.pacientesAgendaP__selectWrap,
.pacientesAgendaP__profileBtn,
.pacientesAgendaP__moreBtn,
.pacientesAgendaP__itemAccent,
.pacientesAgendaP__column,
.pacientesAgendaP__content {
    /* classes reservadas para manter consistência do componente */
}

@media (max-width: 1080px) {
    .pacientesAgendaP__filtersGrid { align-items: stretch; }
    .pacientesAgendaP__filterCard { flex: 1 1 100%; }
    .pacientesAgendaP__actionsWrap { margin-left: 0; justify-content: flex-start; }
    .pacientesAgendaP__item { grid-template-columns: 1fr; }
    .pacientesAgendaP__actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
    .pacientesAgendaP__container { width: min(100% - 24px, 1280px); }
    .pacientesAgendaP__header { flex-direction: column; }
    .pacientesAgendaP__filterButton { width: 100%; justify-content: center; }
    .pacientesAgendaP__summary { grid-template-columns: 1fr; }
    .pacientesAgendaP__filtersGrid { gap: 12px; }
    .pacientesAgendaP__actionsWrap { justify-content: flex-start; flex-wrap: wrap; width: 100%; }
    .pacientesAgendaP__submitBtn,
    .pacientesAgendaP__clearBtn { flex: 1 1 180px; }
    .pacientesAgendaP__listWrapper { padding: 18px; border-radius: 20px; }
    .pacientesAgendaP__avatar { width: 62px; height: 62px; }
    .pacientesAgendaP__columns { grid-template-columns: 1fr; }
}


/* =========================
   Perfil | perfilAgendaP.php
   ========================= */
.perfilAgendaP__page {
    background:
        radial-gradient(820px 280px at 96% -2%, rgba(var(--cor-secundaria-rgb), 0.12), transparent 66%),
        radial-gradient(720px 260px at 6% -8%, rgba(var(--cor-secundaria-alt-rgb), 0.12), transparent 70%),
        #eceff3;
}

.perfilAgendaP__container {
    width: min(100% - 40px, 1240px);
}

.perfilAgendaP__content {
    display: grid;
    gap: clamp(18px, 2vw, 28px);
    padding-bottom: 30px;
}

.perfilAgendaP__topGrid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(16px, 2vw, 24px);
}

.perfilAgendaP__identityCard,
.perfilAgendaP__consultCard,
.perfilAgendaP__recordCard,
.perfilAgendaP__files {
    border-radius: 22px;
    border: 1px solid #dde1e9;
    box-shadow: 0 16px 34px rgba(44, 51, 64, 0.09);
}

.perfilAgendaP__identityCard {
    background: #f7f8fb;
    padding: clamp(18px, 2vw, 30px);
    display: grid;
    gap: 24px;
}

.perfilAgendaP__identityHead {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: start;
    gap: clamp(14px, 1.8vw, 22px);
}

.perfilAgendaP__avatar {
    width: clamp(88px, 10vw, 140px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: linear-gradient(160deg, #ac2a79, #91216a);
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 700;
    font-size: clamp(1.7rem, 2.7vw, 2.8rem);
    letter-spacing: .04em;
    box-shadow: 0 10px 22px rgba(145, 33, 106, .26);
}

.perfilAgendaP__title {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.75rem);
    line-height: 1.12;
    letter-spacing: .01em;
    color: #13151c;
}

.perfilAgendaP__subtitle {
    margin: 10px 0 0;
    color: #463948;
    font-size: clamp(.95rem, 1.35vw, 1.28rem);
    line-height: 1.32;
    max-width: 36ch;
}

.perfilAgendaP__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    white-space: nowrap;
    padding: 10px 12px;
    border-radius: 6px;
    background: #d1df48;
    color: #2f3410;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.perfilAgendaP__quickStats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.perfilAgendaP__statCard {
    min-height: 154px;
    border-radius: 16px;
    background: #eceef2;
    padding: 14px 14px 16px;
    display: grid;
    align-content: start;
    gap: 10px;
}

.perfilAgendaP__statCard span {
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: .82rem;
    color: #3f3342;
    font-weight: 700;
}

.perfilAgendaP__statCard strong {
    font-size: clamp(1.3rem, 1.9vw, 2.1rem);
    line-height: 1.18;
    color: #a21f72;
}

.perfilAgendaP__backBtn {
    border: 0;
    text-decoration: none;
    font-weight: 700;
    border-radius: 999px;
    padding: 12px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.perfilAgendaP__mainGrid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .9fr);
    gap: clamp(16px, 2vw, 24px);
}

.perfilAgendaP__sectionHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.perfilAgendaP__sectionHead h2,
.perfilAgendaP__recordCard h2,
.perfilAgendaP__files h2 {
    margin: 0;
    font-size: clamp(1.5rem, 2.4vw, 2.9rem);
}

.perfilAgendaP__backBtn {
    background: transparent;
    color: #a21f72;
    padding: 0;
}

.perfilAgendaP__timeline {
    position: relative;
    display: grid;
    gap: 16px;
    padding-left: 22px;
}

.perfilAgendaP__timeline::before {
    content: '';
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 0;
    width: 2px;
    background: #d3d8df;
}

.perfilAgendaP__timelineItem {
    position: relative;
}

.perfilAgendaP__timelineItem::before {
    content: '';
    position: absolute;
    top: 20px;
    left: -27px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #b62580;
    border: 3px solid #eef1f5;
}

.perfilAgendaP__consultCard {
    background: #f8f8fa;
    padding: clamp(16px, 1.8vw, 24px);
}

.perfilAgendaP__consultTop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.perfilAgendaP__dateBadge {
    border-radius: 8px;
    background: #eceef2;
    font-size: .86rem;
    padding: 6px 10px;
    font-weight: 700;
    color: #433547;
}

.perfilAgendaP__consultStatus {
    color: #5e650f;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .85rem;
    font-weight: 700;
}

.perfilAgendaP__consultCard h3 {
    margin: 14px 0 10px;
    font-size: clamp(1.2rem, 2vw, 2rem);
}

.perfilAgendaP__consultCard p {
    margin: 0;
    color: #342939;
}

.perfilAgendaP__tags {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.perfilAgendaP__tag {
    display: inline-flex;
    border-radius: 999px;
    padding: 6px 12px;
    background: #f2e8ee;
    color: #932268;
    font-size: .86rem;
    font-weight: 600;
}

.perfilAgendaP__sideCol {
    display: grid;
    gap: 16px;
    align-content: start;
}

.perfilAgendaP__recordCard,
.perfilAgendaP__files {
    background: #f8f8fa;
    padding: clamp(16px, 1.8vw, 24px);
}

.perfilAgendaP__recordCard {
    border-top: 5px solid #b62580;
}

.perfilAgendaP__sectionHead--record {
    margin-bottom: 16px;
}

.perfilAgendaP__verMaisBtn {
    border-radius: 999px;
    padding: 8px 14px;
    background: #f2e8f7;
    color: #7f2571;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1;
}

.perfilAgendaP__verMaisBtn:hover {
    background: #e6d6ef;
    color: #6d1f61;
}

.perfilAgendaP__prontuarioHint {
    margin: 14px 0 0;
    font-size: 0.82rem;
    color: #6b5f73;
}

.perfilAgendaP__recordGroup h3 {
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .98rem;
    color: #342a36;
}

.perfilAgendaP__recordGroup + .perfilAgendaP__recordGroup {
    margin-top: 14px;
}

.perfilAgendaP__recordGroup p {
    margin: 0;
    border-radius: 10px;
    border: 1px solid #e4d1de;
    padding: 12px;
    color: #951f6a;
    background: #f5edf2;
}

.perfilAgendaP__prontuarioItem {
    border: 1px solid #e3d7eb;
    border-radius: 14px;
    padding: 14px;
    background: #fff;
}

.perfilAgendaP__prontuarioItem + .perfilAgendaP__prontuarioItem {
    margin-top: 14px;
}

.perfilAgendaP__prontuarioHead {
    display: grid;
    gap: 6px;
    margin-bottom: 8px;
}

.perfilAgendaP__prontuarioBadge {
    display: inline-flex;
    width: fit-content;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f2e8f7;
    color: #7f2571;
    font-size: 0.78rem;
    font-weight: 700;
}

.perfilAgendaP__prontuarioMeta {
    color: #665970;
    font-size: 0.82rem;
    font-weight: 600;
}

.perfilAgendaP__prescriptionList {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
}

.perfilAgendaP__files .perfilAgendaP__sectionHead {
    margin-bottom: 14px;
}

.perfilAgendaP__uploadBtn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 0;
    background: #d1df48;
    color: #364009;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.perfilAgendaP__fileItem {
    border-radius: 16px;
    border: 1px solid #e3e6ed;
    background: #fff;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.perfilAgendaP__fileItem + .perfilAgendaP__fileItem {
    margin-top: 10px;
}

.perfilAgendaP__fileIcon {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    background: #f3e6ef;
    color: #a02473;
    font-weight: 700;
    display: grid;
    place-items: center;
}

.perfilAgendaP__fileInfo {
    min-width: 0;
}

.perfilAgendaP__fileItem strong {
    display: block;
    color: #13161c;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.perfilAgendaP__fileItem small {
    color: #5e5460;
}

.perfilAgendaP__filesEmpty {
    border: 1px dashed #d8dde8;
    border-radius: 16px;
    color: #5e5460;
    display: grid;
    gap: 8px;
    justify-items: center;
    padding: 22px 16px;
    text-align: center;
}

.perfilAgendaP__filesEmpty .material-symbols-outlined {
    color: #a02473;
    font-size: 34px;
}

.perfilAgendaP__filesEmpty p {
    margin: 0;
    font-weight: 700;
}

.perfilAgendaP__billingCard {
    margin-top: 16px;
    border-radius: 28px;
    background: #f4f3f5;
    border: 1px solid #ece8ed;
    padding: 28px;
    position: relative;
    overflow: hidden;
}

.perfilAgendaP__billingCard::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 5px;
    background: linear-gradient(90deg, #ba267f 0%, #d1df48 100%);
}

.perfilAgendaP__billingHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.perfilAgendaP__billingCard h3 {
    margin: 0;
    font-size: clamp(1.35rem, 1.2rem + .4vw, 1.9rem);
    color: #aa1f78;
    font-weight: 700;
}

.perfilAgendaP__billingHeadIcon {
    color: #d39abc;
    font-size: 2rem;
}

.perfilAgendaP__billingDescription {
    margin: 8px 0 0;
    color: #3e323a;
    font-size: 1.05rem;
}

.perfilAgendaP__billingCurrent {
    margin: 12px 0 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e7e5e8;
    color: #3f2f38;
    font-size: .92rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-radius: 999px;
    padding: 8px 14px;
}

.perfilAgendaP__billingCurrentDot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #bb6697;
}

.perfilAgendaP__billingForm {
    margin-top: 18px;
}

.perfilAgendaP__billingOptions {
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.perfilAgendaP__billingOption {
    border: 0;
    border-radius: 999px;
    padding: 12px 24px;
    background: #e9e9ec;
    color: #3f2f38;
    font-size: 1.08rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 18px rgba(24, 13, 21, 0.03);
}

.perfilAgendaP__billingOption input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #ad1f78;
    flex-shrink: 0;
}

.perfilAgendaP__billingOption.is-active {
    background: #b3267c;
    color: #fff;
    box-shadow: 0 10px 24px rgba(179, 38, 124, 0.28);
}

/* =========================
   Prontuário | prontuarioPaciente.php
   ========================= */
.prontuarioPaciente__page {
    background: #eceff3;
}

.prontuarioPaciente__container {
    width: min(100% - 32px, 1260px);
    position: relative;
}

.prontuarioPaciente__content {
    display: grid;
    gap: 22px;
    padding-bottom: 90px;
}

.prontuarioPaciente__card--shell {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.prontuarioPaciente__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 26px;
}

.prontuarioPaciente__title {
    margin: 0;
    font-size: clamp(2rem, 3vw, 3.3rem);
    line-height: 1.02;
    font-weight: 800;
    color: #131720;
}

.prontuarioPaciente__subtitle {
    margin: 12px 0 0;
    max-width: 760px;
    font-size: clamp(1rem, 1.25vw, 1.2rem);
    line-height: 1.48;
    color: #50424e;
}

.prontuarioPaciente__resume {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.prontuarioPaciente__resume span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 8px 14px;
    background: #f3e7f1;
    color: #8c1e66;
    font-size: 0.83rem;
    letter-spacing: 0.03em;
    font-weight: 700;
}

.prontuarioPaciente__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
    margin-bottom: 22px;
    padding: 16px;
    border: 1px solid #dde1e8;
    border-radius: 20px;
    background: #f7f7f8;
}

.prontuarioPaciente__filterField {
    display: grid;
    gap: 6px;
    min-width: min(220px, 100%);
}

.prontuarioPaciente__filterField span {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #67546a;
    font-weight: 700;
}

.prontuarioPaciente__filterField input {
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid #cfd4dc;
    background: #fff;
    color: #202027;
    font-size: 0.95rem;
    padding: 8px 12px;
}

.prontuarioPaciente__filterField input:focus-visible {
    outline: 3px solid rgba(212, 30, 117, 0.2);
    outline-offset: 1px;
}

.prontuarioPaciente__filterActions {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.prontuarioPaciente__filterBtn {
    min-height: 44px;
    padding: 8px 20px;
    font-size: 0.92rem;
}

.prontuarioPaciente__filterClear {
    min-height: 44px;
    padding: 9px 16px;
    border-radius: 999px;
    border: 1px solid #efd1df;
    background: #fff;
    color: #c11670;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
}

.prontuarioPaciente__featuredCard {
    background: #f8f8f8;
    border-radius: 36px;
    border: 1px solid #dde1e6;
    box-shadow: 0 10px 30px rgba(41, 46, 56, 0.07);
    padding: clamp(18px, 2.2vw, 32px);
    display: grid;
    gap: 24px;
}

.prontuarioPaciente__patientHead {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: center;
}

.prontuarioPaciente__avatar {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    background: #f0dbe9;
    color: #c21875;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 2rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.prontuarioPaciente__avatar--sm {
    width: 62px;
    height: 62px;
    font-size: 1.6rem;
    border-radius: 19px;
    color: #657200;
    background: #e9efd8;
}

.prontuarioPaciente__patientName {
    margin: 0;
    font-size: clamp(1.3rem, 1.8vw, 2rem);
    line-height: 1.15;
    color: #121722;
}

.prontuarioPaciente__meta {
    margin: 8px 0 0;
    color: #5c5060;
    font-size: 0.98rem;
}

.prontuarioPaciente__patientMetaSide {
    justify-self: end;
    display: grid;
    gap: 8px;
    text-align: right;
}

.prontuarioPaciente__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    min-height: 32px;
    padding: 6px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #d7df4d;
    color: #202605;
}

.prontuarioPaciente__badge--finalizado,
.prontuarioPaciente__badge--consulta\ de\ retorno {
    background: #d7df4d;
    color: #202605;
}

.prontuarioPaciente__badge--cancelado {
    background: #f9dce8;
    color: #972759;
}

.prontuarioPaciente__badge--emergência,
.prontuarioPaciente__badge--emergencia {
    background: #ffe2d9;
    color: #a0361a;
}

.prontuarioPaciente__badge--primeira\ consulta,
.prontuarioPaciente__badge--agendado {
    background: #e4e7ef;
    color: #445064;
}

.prontuarioPaciente__date {
    color: #d11a74;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
}

.prontuarioPaciente__summaryBox {
    background: #f1f2f4;
    border-radius: 24px;
    padding: 20px 24px;
    border: 1px solid #e8eaee;
}

.prontuarioPaciente__detailsGrid {
    display: grid;
    gap: 14px;
}

.prontuarioPaciente__recordBlock {
    display: grid;
    gap: 2px;
}

.prontuarioPaciente__summaryTitle {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.78rem;
    color: #5a4655;
    font-weight: 700;
}

.prontuarioPaciente__summaryText {
    margin: 10px 0 0;
    color: #202027;
    font-size: 1rem;
    line-height: 1.55;
}

.prontuarioPaciente__quickActions {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.prontuarioPaciente__quickActionsLeft {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.prontuarioPaciente__primaryBtn {
    border-radius: 999px;
    min-height: 52px;
    padding: 10px 28px;
    background: linear-gradient(135deg, #d11a74, #b42f86);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(157, 25, 89, 0.25);
}

.prontuarioPaciente__list {
    margin-top: 20px;
    display: grid;
    gap: 20px;
}

.prontuarioPaciente__itemCard {
    background: #f4f4f6;
}

.prontuarioPaciente__item {
    background: #f7f7f7;
    border-radius: 26px;
    border: 1px solid #dde1e6;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: minmax(200px, 320px) minmax(260px, 1fr) minmax(160px, auto) auto;
    align-items: center;
    gap: 16px;
}

.prontuarioPaciente__itemInfo {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
}

.prontuarioPaciente__itemContent {
    display: grid;
    gap: 7px;
}

.prontuarioPaciente__itemDate {
    text-align: right;
    display: grid;
    gap: 10px;
    justify-items: end;
}

.prontuarioPaciente__itemDate .prontuarioPaciente__date {
    font-size: 1rem;
}

.prontuarioPaciente__arrowBtn {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    border: 1px solid #efc4d8;
    color: #d11a74;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: #fff;
}

.prontuarioPaciente__arrowBtn .material-symbols-outlined {
    font-size: 1.7rem;
}

.prontuarioPaciente__loadMore {
    margin: 18px auto 0;
    min-height: 52px;
    border-radius: 999px;
    border: 1px solid #d7dbe2;
    background: #f0f2f5;
    color: #101317;
    font-size: 1rem;
    font-weight: 700;
    padding: 12px 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.prontuarioPaciente__floatingBtn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 58px;
    height: 58px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #d11a74, #b42f86);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 18px 34px rgba(158, 28, 97, 0.25);
    z-index: 20;
}

.prontuarioPaciente__floatingBtn .material-symbols-outlined {
    font-size: 1.9rem;
}

.prontuarioPaciente__empty {
    border: 1px dashed #cfd4dc;
    border-radius: 24px;
    padding: 28px;
    background: #f7f7f8;
}

.prontuarioPaciente__empty h2 {
    margin: 0;
    font-size: 1.4rem;
}

.prontuarioPaciente__empty p {
    margin: 10px 0 0;
    color: #5f5265;
}

.prontuarioPaciente__legacyBlock {
    display: none;
}

.prontuarioPaciente__fadeUp {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.55s ease, transform 0.55s ease;
}

.prontuarioPaciente__fadeUp.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.prontuarioPaciente__actionIcon,
.prontuarioPaciente__arrowBtn,
.prontuarioPaciente__primaryBtn,
.prontuarioPaciente__loadMore,
.prontuarioPaciente__floatingBtn,
.prontuarioPaciente__item {
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.prontuarioPaciente__item:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(44, 49, 62, 0.08);
}

.prontuarioPaciente__actionIcon:hover,
.prontuarioPaciente__actionIcon:focus-visible,
.prontuarioPaciente__arrowBtn:hover,
.prontuarioPaciente__arrowBtn:focus-visible,
.prontuarioPaciente__primaryBtn:hover,
.prontuarioPaciente__primaryBtn:focus-visible,
.prontuarioPaciente__loadMore:hover,
.prontuarioPaciente__loadMore:focus-visible,
.prontuarioPaciente__floatingBtn:hover,
.prontuarioPaciente__floatingBtn:focus-visible {
    transform: translateY(-2px);
}

.prontuarioPaciente__actionIcon:focus-visible,
.prontuarioPaciente__arrowBtn:focus-visible,
.prontuarioPaciente__primaryBtn:focus-visible,
.prontuarioPaciente__loadMore:focus-visible,
.prontuarioPaciente__floatingBtn:focus-visible {
    outline: 3px solid rgba(212, 30, 117, 0.34);
    outline-offset: 2px;
}

@media (max-width: 1080px) {
    .prontuarioPaciente__patientHead {
        grid-template-columns: auto 1fr;
    }

    .prontuarioPaciente__patientMetaSide {
        grid-column: 1 / -1;
        justify-self: start;
        text-align: left;
    }

    .prontuarioPaciente__item {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .prontuarioPaciente__itemDate {
        justify-items: start;
        text-align: left;
    }

    .prontuarioPaciente__arrowBtn {
        justify-self: end;
    }
}

@media (max-width: 760px) {
    .prontuarioPaciente__container {
        width: min(100% - 18px, 1260px);
    }

    .prontuarioPaciente__header {
        flex-direction: column;
    }

    .prontuarioPaciente__featuredCard {
        border-radius: 24px;
    }

    .prontuarioPaciente__filters {
        padding: 14px;
    }

    .prontuarioPaciente__filterField {
        width: 100%;
    }

    .prontuarioPaciente__quickActions {
        align-items: stretch;
    }

    .prontuarioPaciente__quickActionsLeft {
        justify-content: space-between;
    }

    .prontuarioPaciente__primaryBtn,
    .prontuarioPaciente__loadMore {
        width: 100%;
    }

    .prontuarioPaciente__avatar,
    .prontuarioPaciente__avatar--sm {
        width: 56px;
        height: 56px;
        font-size: 1.5rem;
        border-radius: 16px;
    }

    .prontuarioPaciente__floatingBtn {
        right: 14px;
        bottom: 14px;
        width: 52px;
        height: 52px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .prontuarioPaciente__fadeUp,
    .prontuarioPaciente__actionIcon,
    .prontuarioPaciente__arrowBtn,
    .prontuarioPaciente__primaryBtn,
    .prontuarioPaciente__loadMore,
    .prontuarioPaciente__floatingBtn,
    .prontuarioPaciente__item {
        transition: none !important;
        transform: none !important;
    }

    .prontuarioPaciente__fadeUp {
        opacity: 1;
    }
}

.perfilAgendaP__billingOption.is-active input {
    accent-color: #fff;
}

.perfilAgendaP__billingEmpty {
    margin-top: 8px;
    color: #6f7890;
    display: block;
}

.perfilAgendaP__billingFeedback {
    margin: 20px 0 0;
    font-size: 1rem;
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.perfilAgendaP__billingFeedback.is-success {
    color: #3f4825;
    background: #e1e2d8;
    border-left: 4px solid #657200;
}

.perfilAgendaP__billingFeedback.is-error {
    color: #8f0e30;
    background: #ffe9ef;
    border-left: 4px solid #d3365e;
}

.perfilAgendaP__saveBillingBtn {
    margin-top: 18px;
    width: 100%;
    border: 0;
    border-radius: 999px;
    background: #d1df48;
    color: #364009;
    font-weight: 700;
    font-size: 1.08rem;
    min-height: 66px;
    padding: 14px 18px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 10px 24px rgba(161, 178, 46, .28);
}

.perfilAgendaP__saveBillingBtn .material-symbols-outlined {
    font-size: 1.7rem;
}

.perfilAgendaP__saveBillingBtn:hover {
    filter: brightness(.98);
}

.perfilAgendaP__fadeUp {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity 340ms ease, transform 380ms ease;
}

.perfilAgendaP__fadeUp.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.perfilAgendaP__consultCard:hover,
.perfilAgendaP__fileItem:hover,
.perfilAgendaP__uploadBtn:hover {
    transform: translateY(-2px);
}

.perfilAgendaP__consultCard,
.perfilAgendaP__fileItem,
.perfilAgendaP__uploadBtn {
    transition: transform .2s ease, box-shadow .2s ease;
}

.perfilAgendaP__uploadBtn:focus-visible,
.perfilAgendaP__backBtn:focus-visible {
    outline: 2px solid rgba(var(--cor-secundaria-rgb), .6);
    outline-offset: 2px;
}

/* =========================
   Arquivos do paciente | arquivosPacientes.php
   ========================= */
.arquivosPaciente__page {
    background:
        radial-gradient(760px 340px at 98% -4%, rgba(var(--cor-secundaria-rgb), .12), transparent 70%),
        radial-gradient(620px 260px at 0% -10%, rgba(var(--cor-secundaria-alt-rgb), .10), transparent 72%),
        #eceff3;
}

.arquivosPaciente__container {
    width: min(100% - 40px, 1240px);
}

.arquivosPaciente__content {
    display: grid;
    gap: 18px;
    padding-bottom: 30px;
}

.arquivosPaciente__card {
    background: #f8f8fa;
    border-radius: 22px;
    border: 1px solid #dde1e9;
    box-shadow: 0 16px 34px rgba(44, 51, 64, 0.09);
    padding: clamp(16px, 1.8vw, 24px);
}

.arquivosPaciente__card--header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.arquivosPaciente__eyebrow {
    margin: 0;
    color: #7f2571;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    font-size: .76rem;
}

.arquivosPaciente__card--header h1 {
    margin: 8px 0 0;
    font-size: clamp(1.45rem, 2vw, 2.2rem);
    color: #251d2a;
}

.arquivosPaciente__subtitle {
    margin: 8px 0 0;
    color: #5e5460;
}

.arquivosPaciente__grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.arquivosPaciente__fileCard {
    display: flex;
    align-items: center;
    gap: 14px;
}

.arquivosPaciente__fileType {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: #f3e6ef;
    color: #a02473;
    font-weight: 700;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.arquivosPaciente__fileCard h2 {
    margin: 0;
    font-size: 1rem;
    color: #191e28;
}

.arquivosPaciente__fileCard p {
    margin: 6px 0 0;
    color: #5e5460;
}

.arquivosPaciente__card--timeline {
    display: flex;
    align-items: center;
    gap: 14px;
}

.arquivosPaciente__card--timeline .material-symbols-outlined {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #d1df48;
    color: #364009;
}

.arquivosPaciente__card--timeline h2 {
    margin: 0;
    font-size: 1.05rem;
}

.arquivosPaciente__card--timeline p {
    margin: 4px 0 0;
    color: #5e5460;
}

@media (max-width: 1080px) {
    .perfilAgendaP__mainGrid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .perfilAgendaP__container {
        width: min(100% - 20px, 1240px);
    }

    .perfilAgendaP__identityHead {
        grid-template-columns: 1fr;
    }

    .perfilAgendaP__subtitle {
        max-width: none;
    }

    .perfilAgendaP__status {
        justify-self: start;
    }

    .perfilAgendaP__quickStats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .perfilAgendaP__billingCard {
        padding: 20px;
        border-radius: 22px;
    }

    .perfilAgendaP__billingOption {
        padding: 10px 16px;
    }

    .arquivosPaciente__container {
        width: min(100% - 20px, 1240px);
    }

    .arquivosPaciente__card--header {
        flex-direction: column;
    }

    .arquivosPaciente__grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 560px) {
    .perfilAgendaP__quickStats {
        grid-template-columns: 1fr;
    }

    .perfilAgendaP__timeline {
        padding-left: 16px;
    }

    .perfilAgendaP__timelineItem::before {
        left: -21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .perfilAgendaP__fadeUp,
    .perfilAgendaP__consultCard,
    .perfilAgendaP__fileItem,
    .perfilAgendaP__uploadBtn {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ===== Configurações da Agenda Profissional ===== */
.confgAgenda__page {
  background:
    radial-gradient(900px 420px at 95% -5%, rgba(177, 39, 122, 0.12), transparent 65%),
    radial-gradient(880px 460px at -5% 102%, rgba(176, 201, 92, 0.2), transparent 62%),
    #f2f0f5;
}

.confgAgenda__container {
  max-width: 1120px;
  width: min(100% - 32px, 1120px);
  margin: 18px auto 36px;
  padding: 0;
}

.confgAgenda__layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}

.confgAgenda__content {
  min-width: 0;
  width: 100%;
}

.confgAgenda__card {
  border-radius: 1.6rem;
  border: 1px solid #ece6f0;
  background: linear-gradient(160deg, #ffffff 0%, #f7f5fa 100%);
  box-shadow: 0 16px 40px rgba(28, 23, 35, 0.08);
  padding: clamp(1.2rem, 1.8vw, 2rem);
  display: grid;
  gap: 1.3rem;
}

.confgAgenda__header h1 {
  margin: 0.5rem 0 0.55rem;
  font-size: clamp(1.5rem, 2.8vw, 2.35rem);
  color: #221926;
}

.confgAgenda__header p {
  margin: 0;
  color: #5e5364;
  max-width: 68ch;
}

.confgAgenda__eyebrow {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(177, 39, 122, 0.14);
  color: #8e1f63;
  font-weight: 700;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.36rem 0.82rem;
}

.confgAgenda__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.confgAgenda__item {
  text-decoration: none;
  border-radius: 1rem;
  border: 1px solid #ece4ef;
  background: #fff;
  color: inherit;
  padding: 0.95rem 1rem;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 0.8rem;
  align-items: start;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.confgAgenda__item .material-symbols-outlined {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  color: #8d1f62;
  background: #f8eaf3;
}

.confgAgenda__item h2 {
  margin: 0.15rem 0 0.22rem;
  font-size: 1rem;
  color: #2b1f31;
}

.confgAgenda__item p {
  margin: 0;
  color: #61576a;
  font-size: 0.93rem;
}

.confgAgenda__item:hover,
.confgAgenda__item:focus-visible {
  transform: translateY(-2px);
  border-color: #ddb8d2;
  box-shadow: 0 12px 24px rgba(120, 84, 110, 0.16);
}

.confgAgenda__footer {
  border-top: 1px solid #eee7f2;
  padding-top: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.confgAgenda__footer p {
  margin: 0;
  color: #4f4456;
}

.confgAgenda__footer a {
  text-decoration: none;
  font-weight: 700;
  color: #8e1f63;
}

.confgAgenda__footer a:hover,
.confgAgenda__footer a:focus-visible {
  text-decoration: underline;
}

@media (max-width: 980px) {
  .confgAgenda__container,
  .configAgenda__container {
    width: min(100% - 20px, 1120px);
  }

  .confgAgenda__layout {
    grid-template-columns: 1fr;
  }

  .confgAgenda__grid {
    grid-template-columns: 1fr;
  }
}

/* confgAgenda.php - redesign visual */
.configAgenda__page {
  background: #eef0f3;
}

.configAgenda__container {
  max-width: 1120px;
  width: min(100% - 32px, 1120px);
  margin: 18px auto 36px;
  padding: 0;
}

.configAgenda__content {
  min-width: 0;
  width: 100%;
}

.configAgenda__header {
  margin-bottom: 24px;
}

.configAgenda__title {
  margin: 0;
  font-size: clamp(2rem, 2vw + 1rem, 3.3rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #15151d;
}

.configAgenda__subtitle {
  margin: 12px 0 6px;
  color: #5a3f4d;
  font-size: clamp(1rem, 1vw + .65rem, 1.9rem);
}

.configAgenda__layoutGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}

.configAgenda__sidebar,
.configAgenda__main {
  display: grid;
  gap: 20px;
  align-content: start;
}

.configAgenda__card {
  border-radius: 22px;
  border: 1px solid rgba(101, 34, 68, 0.08);
  background: #f7f8fa;
  box-shadow: 0 14px 30px rgba(20, 18, 35, .06);
  padding: 26px;
}

.configAgenda__cardTitle {
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: 1.03rem;
  color: #4e3340;
}

.configAgenda__selectWrap {
  display: block;
  position: relative;
}

.configAgenda__selectWrap::after {
  content: 'expand_more';
  font-family: 'Material Symbols Outlined';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #9f2f7b;
  pointer-events: none;
}

.configAgenda__selectWrap select {
  width: 100%;
  border: 0;
  border-radius: 16px;
  background: #dde0e3;
  min-height: 64px;
  padding: 0 52px 0 18px;
  font-size: 2rem;
  font-size: clamp(1rem, 1vw + .7rem, 2rem);
  color: #1f1f27;
  appearance: none;
}

.configAgenda__helper {
  color: #594651;
  line-height: 1.45;
  margin: 16px 0 0;
}

.configAgenda__billingOption {
  display: block;
  border: 2px solid #d4d8dd;
  border-radius: 18px;
  text-decoration: none;
  color: #2a1d24;
  padding: 16px;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.configAgenda__billingOption + .configAgenda__billingOption {
  margin-top: 12px;
}

.configAgenda__billingOptionActive,
.configAgenda__billingOption:hover,
.configAgenda__billingOption:focus-visible {
  border-color: #b32078;
  box-shadow: 0 8px 16px rgba(179, 32, 120, .14);
  transform: translateY(-1px);
}

.configAgenda__billingOption strong {
  display: block;
  font-size: 1.2rem;
  margin-bottom: 8px;
}

.configAgenda__billingOption p {
  margin: 0;
  color: #66545e;
}

.configAgenda__intervalCard {
  padding: 0;
  overflow: hidden;
}

.configAgenda__intervalHeader {
  background: linear-gradient(135deg, #d14c9e 0%, #b9408f 100%);
  color: #fff;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding: 26px;
}

.configAgenda__intervalHeader h2 {
  margin: 0;
  font-size: clamp(1.5rem, 1vw + 1rem, 2.25rem);
}

.configAgenda__intervalHeader p {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, .86);
}

.configAgenda__clock {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: rgba(255, 255, 255, .27);
  font-size: 1.8rem;
}

.configAgenda__intervalList {
  padding: 22px 26px;
  display: grid;
  gap: 14px;
}

.configAgenda__intervalForm {
  display: grid;
}

.configAgenda__flash {
  margin: 22px 26px 0;
}

.configAgenda__durationBox {
  margin: 0 26px 8px;
  border: 1px solid #ead8e3;
  background: #fbf6fa;
  border-radius: 16px;
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.configAgenda__durationBox h3 {
  margin: 0;
  font-size: 1rem;
  color: #342130;
}

.configAgenda__durationBox p {
  margin: 6px 0 0;
  color: #66545e;
}

.configAgenda__durationSelect {
  border: 1px solid #d9c2cf;
  border-radius: 999px;
  min-height: 44px;
  padding: 0 16px;
  font-weight: 700;
  color: #4a2d3b;
  background: #fff;
}


.configAgenda__emptyIntervals {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  border: 1px dashed #dcb8cc;
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  color: #5f3447;
}

.configAgenda__emptyIntervals[hidden] {
  display: none;
}

.configAgenda__emptyIntervals .material-symbols-outlined {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0e2ee;
  color: #a12683;
  font-size: 1.8rem;
}

.configAgenda__emptyIntervals h3 {
  margin: 0 0 6px;
  color: #342130;
  font-size: 1.06rem;
}

.configAgenda__emptyIntervals p {
  margin: 0;
  color: #65535c;
  line-height: 1.45;
}

.configAgenda__intervalItem {
  display: grid;
  grid-template-columns: auto minmax(140px, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.configAgenda__intervalIcon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eef0d5;
  color: #606503;
  font-size: 1.4rem;
}

.configAgenda__intervalItem:nth-child(2) .configAgenda__intervalIcon {
  background: #f0e2ee;
  color: #a12683;
}

.configAgenda__intervalInfo h3 {
  margin: 0;
  font-size: 1.03rem;
}

.configAgenda__intervalTitleInput {
  width: 100%;
  border: 1px solid #d5d9de;
  border-radius: 12px;
  background: #fff;
  color: #2a2230;
  padding: 10px 12px;
  font-weight: 700;
}

.configAgenda__intervalInfo p {
  margin: 8px 0 0;
  color: #65535c;
}

.configAgenda__timeRange {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border-radius: 999px;
  padding: 10px;
  border: 1px solid rgba(66, 37, 51, 0.1);
}

.configAgenda__timePill {
  background: #d8dbde;
  border-radius: 999px;
  min-width: 88px;
  text-align: center;
  font-weight: 700;
  padding: 10px 14px;
}

.configAgenda__timeInput {
  border: 0;
  outline: none;
}

.configAgenda__timeInput::-webkit-calendar-picker-indicator {
  cursor: pointer;
}

.configAgenda__deleteBtn {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  color: #bd181f;
  text-decoration: none;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.configAgenda__addInterval {
  margin: 8px 26px 22px;
  border: 2px dashed #dcb8cc;
  border-radius: 20px;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  letter-spacing: .08em;
  font-weight: 800;
  color: #5f3447;
  background: transparent;
  width: calc(100% - 52px);
  cursor: pointer;
}

.configAgenda__srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.configAgenda__actions {
  border-top: 1px solid rgba(83, 51, 63, .12);
  background: rgba(255, 255, 255, .7);
  padding: 20px 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.configAgenda__notice {
  margin: 0;
  color: #5f6c10;
  font-weight: 600;
}

.configAgenda__buttonRow {
  display: flex;
  gap: 12px;
}

.configAgenda__btn {
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
}

.configAgenda__btnGhost {
  color: #4e2f3f;
  border: 1px solid #d4c5cc;
  background: #fff;
}

.configAgenda__btnPrimary {
  color: #475100;
  background: #cfe143;
}

.configAgenda__calendarSync {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.configAgenda__syncIcon {
  width: 76px;
  height: 76px;
  border-radius: 16px;
  background: #f0dced;
  color: #b13d88;
  display: grid;
  place-items: center;
  font-size: 1.8rem;
}

.configAgenda__calendarSync h2 {
  margin: 0 0 8px;
}

.configAgenda__calendarSync p {
  margin: 0 0 14px;
  color: #5e4f57;
}

.configAgenda__calendarSync a {
  color: #aa1f78;
  font-weight: 700;
  text-decoration: none;
}

.configAgenda__anim {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s ease;
}

.configAgenda__anim.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .configAgenda__anim {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1120px) {
  .configAgenda__layoutGrid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .configAgenda__durationBox,
  .configAgenda__actions,
  .configAgenda__buttonRow,
  .configAgenda__emptyIntervals,
  .configAgenda__intervalItem {
    display: grid;
    grid-template-columns: 1fr;
  }

  .configAgenda__timeRange {
    justify-content: center;
    border-radius: 18px;
  }

  .configAgenda__btn {
    width: 100%;
  }
}

/* ================================
   Todas as Consultas | consultasanAgenda.php
   ================================ */
 .consultasAgenda__page {
    background: #eceef1;
}

.consultasAgenda__container {
    width: min(100% - 36px, 1280px);
}

.consultasAgenda__content {
    display: grid;
    gap: 24px;
    align-content: start;
    padding-bottom: 42px;
}

.consultasAgenda__topGrid {
    display: grid;
    gap: 22px;
}

.consultasAgenda__patientCard {
    border-radius: 22px;
    border: 1px solid #dde0e7;
    background: #f3f4f6;
    padding: clamp(18px, 2.2vw, 32px);
    display: flex;
    align-items: center;
    gap: 24px;
}

.consultasAgenda__avatar {
    width: 94px;
    height: 94px;
    border-radius: 18px;
    background: #d5df4e;
    color: #485000;
    display: grid;
    place-items: center;
    font-size: 3rem;
    font-weight: 700;
    flex-shrink: 0;
}

.consultasAgenda__patientInfo {
    width: 100%;
    display: grid;
    gap: 14px;
}

.consultasAgenda__identityRow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.consultasAgenda__patientName {
    margin: 0;
    font-size: clamp(2.2rem, 3.1vw, 4rem);
    line-height: 1.05;
    color: #111114;
}

.consultasAgenda__badge {
    border-radius: 999px;
    background: #ecc3d5;
    color: #5b1f3f;
    font-size: 1.4rem;
    line-height: 1;
    padding: 8px 14px;
    font-weight: 600;
}

.consultasAgenda__meta {
    display: flex;
    gap: 16px 24px;
    flex-wrap: wrap;
}

.consultasAgenda__metaItem {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #494454;
    font-size: 2rem;
}

.consultasAgenda__metaItem .material-symbols-outlined {
    font-size: 17px;
}

.consultasAgenda__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.consultasAgenda__backBtn {
    text-decoration: none;
    border-radius: 12px;
    border: 1px solid #d2d4d9;
    background: #d9dbde;
    color: #1f1f21;
    font-weight: 700;
    padding: 11px 18px;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.consultasAgenda__backBtn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 18px rgba(38, 39, 49, .13);
    filter: brightness(.98);
}

.consultasAgenda__backBtn:focus-visible,
.consultasAgenda__attachment:focus-visible,
.consultasAgenda__filter select:focus-visible,
.consultasAgenda__filterBtn:focus-visible,
.consultasAgenda__loadMore:focus-visible,
.consultasAgenda__floatingAdd:focus-visible {
    outline: 2px solid #9c1d6b;
    outline-offset: 2px;
}

.consultasAgenda__backBtn--soft {
    background: #e2e3e6;
}

.consultasAgenda__timelineHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.consultasAgenda__title {
    margin: 0;
    font-size: clamp(2.7rem, 3vw, 4rem);
    color: #111315;
}

.consultasAgenda__filters {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.consultasAgenda__filter {
    display: grid;
    gap: 6px;
}

.consultasAgenda__filter label {
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #3f3a47;
}

.consultasAgenda__filter select {
    border: 1px solid #d0d2d7;
    border-radius: 12px;
    background: #f4f5f7;
    color: #1c1c20;
    height: 42px;
    min-width: 170px;
    padding: 0 12px;
}

.consultasAgenda__filterBtn {
    width: 44px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid #d0d2d7;
    background: #f4f5f7;
    color: #302c37;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.consultasAgenda__filterBtn svg {
    width: 18px;
    height: 18px;
}

.consultasAgenda__timeline {
    position: relative;
    display: grid;
    gap: 18px;
    padding-left: 30px;
}

.consultasAgenda__timelineLine {
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #d1d3d8;
}

.consultasAgenda__timelineItem {
    position: relative;
    padding-left: 14px;
}

.consultasAgenda__timelineDot {
    position: absolute;
    left: -15px;
    top: 22px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #eceef1;
    z-index: 2;
}

.consultasAgenda__timelineDot--finalizado { background: #9b1f71; }
.consultasAgenda__timelineDot--cancelado { background: #d81a1a; }
.consultasAgenda__timelineDot--agendado { background: #de8bbf; }

.consultasAgenda__consultCard {
    border-radius: 18px;
    border: 1px solid #dddfe5;
    background: #f7f7f8;
    box-shadow: 0 8px 16px rgba(37, 42, 59, .05);
    padding: clamp(16px, 2vw, 22px);
    display: grid;
    gap: 12px;
    transition: transform .25s ease, box-shadow .25s ease;
}

.consultasAgenda__consultCard:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(37, 42, 59, .11);
}

.consultasAgenda__consultCardCancelled {
    border-style: dashed;
    border-color: #e4caca;
    opacity: .9;
}

.consultasAgenda__consultTop {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.consultasAgenda__date {
    color: #9c145f;
    font-size: 2.4rem;
    font-weight: 700;
}

.consultasAgenda__status {
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    display: inline-flex;
    margin-top: 8px;
}

.consultasAgenda__status--agendado {
    background: #eef4ff;
    color: #345c94;
}

.consultasAgenda__status--finalizado {
    background: #d4dd4f;
    color: #4f5700;
}

.consultasAgenda__status--cancelado {
    background: #ffdcdc;
    color: #962626;
}

.consultasAgenda__consultTitle {
    margin: 0;
    color: #111317;
    font-size: clamp(2.8rem, 2.7vw, 3.8rem);
    line-height: 1.2;
}

.consultasAgenda__consultCardCancelled .consultasAgenda__consultTitle {
    font-style: italic;
    color: #73616a;
}

.consultasAgenda__attachments {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.consultasAgenda__attachment {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    border: 1px solid #d2d5db;
    padding: 6px 10px;
    color: #3f3848;
    background: #fff;
    font-size: 1.55rem;
}

.consultasAgenda__attachment svg {
    width: 14px;
    height: 14px;
}

.consultasAgenda__noteBox {
    border-radius: 12px;
    background: #ebecf0;
    padding: 15px;
}

.consultasAgenda__noteTitle {
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 1.2rem;
    color: #544d5b;
}

.consultasAgenda__noteText {
    margin: 0;
    color: #2a2730;
    font-size: 1.85rem;
    line-height: 1.5;
}

.consultasAgenda__empty {
    margin: 0;
    border-radius: 14px;
    border: 1px dashed #cfc9d6;
    background: #f7f5fa;
    color: #5a5264;
    padding: 16px;
}

.consultasAgenda__floatingAdd {
    position: fixed;
    right: 30px;
    bottom: 32px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 0;
    background: #d4dd4f;
    color: #535a00;
    font-size: 3.6rem;
    line-height: 1;
    box-shadow: 0 14px 26px rgba(67, 73, 17, .28);
    z-index: 10;
}

.consultasAgenda__loadMore {
    justify-self: center;
    border-radius: 999px;
    border: 2px solid #a2166f;
    background: transparent;
    color: #9f206f;
    font-size: 2rem;
    padding: 14px 34px;
}

.consultasAgenda__fadeUp {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s ease, transform .5s ease;
}

.consultasAgenda__fadeUp.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .consultasAgenda__fadeUp {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 980px) {
    .consultasAgenda__topGrid {
        grid-template-columns: 1fr;
    }

    .consultasAgenda__timelineHeader {
        flex-direction: column;
        align-items: flex-start;
    }

    .consultasAgenda__filters {
        width: 100%;
        flex-wrap: wrap;
    }
}

@media (max-width: 760px) {
    .consultasAgenda__container {
        width: min(100% - 18px, 1280px);
    }

    .consultasAgenda__patientCard {
        flex-direction: column;
        align-items: flex-start;
    }

    .consultasAgenda__attachments {
        justify-content: flex-start;
    }

    .consultasAgenda__consultTop {
        flex-direction: column;
    }

    .consultasAgenda__floatingAdd {
        width: 56px;
        height: 56px;
        right: 16px;
        bottom: 16px;
    }

    .consultasAgenda__loadMore {
        width: 100%;
    }
}

/* =========================
   Loading Page
   ========================= */
.loading-page {
    margin: 0;
    min-height: 100vh;
    background: linear-gradient(135deg, var(--loading-cor-creme) 0%, var(--loading-cor-rosa-claro) 48%, var(--loading-cor-rosa-vivo) 100%);
    position: relative;
    overflow: hidden;
}

.loading-page--overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: all;
}

body.loading-active {
    overflow: hidden;
}

.loading-page__container {
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: clamp(0.9rem, 2.4vw, 1.6rem);
    position: relative;
    z-index: 2;
    padding: clamp(18px, 4vw, 40px);
    box-sizing: border-box;
}

.loading-page__content,
.loadingScreen__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.75rem, 1.8vw, 1.15rem);
    text-align: center;
}

.loading-page__text,
.loadingScreen__title {
    margin: 0;
    font-family: var(--font-principal);
    font-size: clamp(1.15rem, 2.2vw, 1.7rem);
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #fff;
    text-align: center;
    text-shadow: 0 4px 18px rgba(20, 8, 22, 0.58);
}

.loading-earth,
.loadingScreen__spinner {
    width: clamp(72px, 11vw, 118px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: clamp(6px, 1vw, 10px) solid rgba(226, 89, 162, 0.95);
    border-top-color: rgba(255, 255, 255, 0.32);
    border-right-color: rgba(226, 89, 162, 0.38);
    background: transparent;
    box-shadow: 0 0 34px rgba(226, 89, 162, 0.36), inset 0 0 20px rgba(255, 255, 255, 0.12);
    animation: loading-spinner-rotate 0.95s linear infinite;
}

.loading-earth--medium {
    width: clamp(64px, 10vw, 96px);
}

.loading-earth::before,
.loading-earth::after {
    content: none;
}

.loadingScreen__page {
    isolation: isolate;
}

.loadingScreen__container {
    z-index: 2;
}

.loadingScreen__content {
    max-width: min(90vw, 420px);
    padding: clamp(1.25rem, 4vw, 2rem);
    border-radius: 28px;
    background: rgba(42, 14, 40, 0.18);
    backdrop-filter: blur(2px);
}

.loadingScreen__dots {
    display: inline-flex;
    min-width: 0.8em;
    justify-content: flex-start;
    vertical-align: baseline;
}

.loadingScreen__dot {
    display: inline-block;
    animation: loading-dot-jump 1s ease-in-out infinite;
    will-change: transform;
}

.loadingScreen__dot:nth-child(2) {
    animation-delay: 0.2s;
}

.loadingScreen__dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes loading-spinner-rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes loading-dot-jump {
    0%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-0.38em);
    }
}

@media (max-width: 720px) {
    .loading-earth,
    .loadingScreen__spinner {
        width: clamp(64px, 22vw, 104px);
    }

    .loadingScreen__content {
        border-radius: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .loading-earth,
    .loadingScreen__spinner,
    .loadingScreen__dot {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* arquivosPacientes.php */
.arquivosPacientes__page { background: #f3f4f6; }
.arquivosPacientes__container .agendaProf__layout { align-items: flex-start; }
.arquivosPacientes__content { max-width: 980px; width: 100%; padding-bottom: 40px; }
.arquivosPacientes__header, .arquivosPacientes__uploadBox, .arquivosPacientes__categoryBar, .arquivosPacientes__fileItem, .arquivosPacientes__empty {
    background: #fff; border-radius: 26px;
}
.arquivosPacientes__header { display:flex; justify-content:space-between; gap:24px; padding: 18px 0 10px; background: transparent; }
.arquivosPacientes__badge { display:inline-block; background:#f2c6db; color:#9f2f71; font-weight:700; letter-spacing:.12em; font-size:13px; padding:8px 12px; border-radius:6px; margin:0 10px 0 0; }
.arquivosPacientes__id { display:inline-block; color:#7f6973; font-weight:600; }
.arquivosPacientes__patientName { margin: 12px 0 10px; font-size: clamp(2rem,4vw,3.6rem); line-height:1.05; }
.arquivosPacientes__meta { display:flex; gap:24px; color:#523a43; margin:0; }
.arquivosPacientes__meta span { display:inline-flex; align-items:center; gap:8px; }
.arquivosPacientes__meta .material-symbols-outlined { font-size:19px; }
.arquivosPacientes__consultBtn { align-self:center; display:inline-flex; align-items:center; gap:10px; background:#d4df43; color:#4b4f0e; border-radius:999px; padding:16px 30px; font-weight:800; text-decoration:none; }
.arquivosPacientes__uploadBox { margin-top:18px; border:2px dashed #e2bfd0; text-align:center; padding:60px 20px; background:#f9fafb; }
.arquivosPacientes__uploadIcon { display:inline-grid; place-items:center; width:82px; height:82px; margin:0 auto 16px; border-radius:50%; background:#f4d1e3; color:#9f2f71; }
.arquivosPacientes__uploadTitle { font-size:42px; max-width: 760px; margin: 0 auto 8px; font-size: clamp(1.6rem,2.6vw,2.2rem); }
.arquivosPacientes__uploadText { margin:0 auto 24px; color:#5e4650; max-width:650px; }
.arquivosPacientes__selectBtn { display:inline-block; border:1px solid #dbb9cb; color:#171717; padding:14px 32px; border-radius:999px; text-decoration:none; font-weight:700; background:#fff; cursor:pointer; }
.arquivosPacientes__selectBtn:disabled { cursor:not-allowed; opacity:.55; }
.arquivosPacientes__formGrid { display:grid; grid-template-columns: minmax(0,1.5fr) minmax(180px,.7fr); column-gap:32px; row-gap:16px; max-width:780px; margin:0 auto 22px; text-align:left; }
.arquivosPacientes__field { display:flex; flex-direction:column; gap:8px; min-width:0; color:#513842; font-weight:800; }
.arquivosPacientes__fieldWide { grid-column: 1 / -1; }
.arquivosPacientes__field input, .arquivosPacientes__field select { box-sizing:border-box; width:100%; border:1px solid #e1c3d2; border-radius:16px; background:#fff; color:#231b1f; padding:14px 16px; font:inherit; }
.arquivosPacientes__field input[type="file"] { padding:11px 14px; }
.arquivosPacientes__alert { margin:16px 0; border-radius:18px; padding:15px 18px; font-weight:800; }
.arquivosPacientes__alertSuccess { background:#eef7d0; color:#4f5e00; border:1px solid #d5df44; }
.arquivosPacientes__alertError { background:#fff0f4; color:#9f2f71; border:1px solid #efb8cd; }
.arquivosPacientes__categoryBar { margin-top:26px; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:30px; }
.arquivosPacientes__categoryLabel { margin:0 0 12px; color:#79616b; font-weight:700; letter-spacing:.12em; }
.arquivosPacientes__chips { display:flex; gap:10px; flex-wrap:wrap; }
.arquivosPacientes__chip { background:#eaebee; border-radius:999px; padding:10px 20px; font-weight:700; color:#56434c; text-decoration:none; }
.arquivosPacientes__chipActive { background:#ad2f79; color:#fff; }
.arquivosPacientes__sendBtn { display:inline-block; background:linear-gradient(135deg,#ad2f79,#ca4c86); color:#fff; padding:20px 46px; border-radius:999px; font-size:36px; font-size: clamp(1.1rem,1.8vw,2rem); font-weight:800; text-decoration:none; white-space:nowrap; }
.arquivosPacientes__historyHeader { display:flex; justify-content:space-between; align-items:center; margin:50px 0 20px; }
.arquivosPacientes__historyTitle { margin:0; font-size:42px; font-size: clamp(1.7rem,2.4vw,2.3rem); }
.arquivosPacientes__period { background:#edeef1; color:#78606a; padding:10px 16px; border-radius:999px; font-weight:700; }
.arquivosPacientes__fileList { display:flex; flex-direction:column; gap:18px; }
.arquivosPacientes__fileItem { display:flex; align-items:center; gap:18px; padding:20px 24px; }
.arquivosPacientes__fileIcon { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; font-weight:800; background:#f7e8f0; color:#a33676; }
.arquivosPacientes__fileInfo { flex:1; min-width:0; }
.arquivosPacientes__fileName { margin:0 0 6px; font-size:1.65rem; }
.arquivosPacientes__fileMeta { margin:0; color:#715a63; font-weight:600; }
.arquivosPacientes__fileDescription { margin:8px 0 0; color:#806672; }
.arquivosPacientes__fileActions { display:flex; gap:10px; }
.arquivosPacientes__viewBtn, .arquivosPacientes__downloadBtn { text-decoration:none; border-radius:12px; padding:14px 20px; font-weight:800; }
.arquivosPacientes__viewBtn { background:#eef0f2; color:#1d1d1d; }
.arquivosPacientes__downloadBtn { background:#d5df44; color:#4a4f0e; }
.arquivosPacientes__empty { display:grid; justify-items:center; gap:8px; padding:36px 24px; text-align:center; color:#684f5a; }
.arquivosPacientes__empty .material-symbols-outlined { color:#ad2f79; font-size:44px; }
.arquivosPacientes__empty h3 { margin:0; color:#231b1f; }
.arquivosPacientes__empty p { margin:0; max-width:520px; }
[data-animate="fade-up"] { opacity:0; transform:translateY(14px); transition: opacity .45s ease, transform .45s ease; }
[data-animate="fade-up"].is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { [data-animate="fade-up"] { opacity:1; transform:none; transition:none; } }
@media (max-width: 1024px) {
    .arquivosPacientes__categoryBar { flex-wrap:wrap; }
}
@media (max-width: 768px) {
    .arquivosPacientes__header { flex-direction:column; }
    .arquivosPacientes__consultBtn, .arquivosPacientes__sendBtn { width:100%; justify-content:center; }
    .arquivosPacientes__formGrid { grid-template-columns:1fr; }
    .arquivosPacientes__fileItem { flex-wrap:wrap; }
    .arquivosPacientes__fileActions { width:100%; }
    .arquivosPacientes__viewBtn, .arquivosPacientes__downloadBtn { flex:1; text-align:center; }
}


.pagamentosProfissional__page {
    background: #f3f3f5;
    color: #16171d;
}

.pagamentosProfissional__container { display: grid; gap: 20px; }
.agendaProf__content.pagamentosProfissional__container { max-width: 1180px; width: 100%; }
.pagamentosProfissional__header { padding: 10px 2px 4px; }
.pagamentosProfissional__title { margin: 0; font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.08; }
.pagamentosProfissional__subtitle { margin: 10px 0 0; font-size: clamp(1rem, 1.4vw, 1.95rem); color: #4d4f58; }

.pagamentosProfissional__summaryGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pagamentosProfissional__summaryCard {
    background: #fff;
    border: 1px solid #e6e7ec;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 8px 20px rgba(18, 19, 34, .04);
}
.pagamentosProfissional__summaryCard--receita { border-left: 5px solid #b2db2d; }
.pagamentosProfissional__summaryLabel { margin: 0 0 18px; text-transform: uppercase; letter-spacing: .04em; font-weight: 800; color: #676973; }
.pagamentosProfissional__summaryValue { margin: 0; font-size: clamp(1.9rem, 2.6vw, 3rem); font-weight: 800; }
.pagamentosProfissional__summaryHint { margin: 4px 0 0; color: #4d4f58; }

.pagamentosProfissional__filtersCard { display: grid; align-content: center; gap: 10px; }
.pagamentosProfissional__statusTabs {
    display: inline-flex;
    padding: 6px;
    border-radius: 12px;
    background: #eff0f3;
    gap: 6px;
}
.pagamentosProfissional__statusTab {
    padding: 8px 14px;
    border-radius: 9px;
    font-weight: 700;
    color: #4f515a;
}
.pagamentosProfissional__statusTab.is-active { background: #fff; color: #17181d; box-shadow: 0 2px 8px rgba(22, 24, 34, .12); }

.pagamentosProfissional__list { display: grid; gap: 16px; }
.pagamentosProfissional__listHead { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.pagamentosProfissional__listHead h2 { margin: 0; }
.pagamentosProfissional__listHead a { color: #7c2f9f; font-weight: 700; text-decoration: none; }

.pagamentosProfissional__patientCard { background: #fff; border: 1px solid #e6e7ec; border-radius: 20px; overflow: hidden; }
.pagamentosProfissional__patientHead { padding: 28px; display: flex; gap: 16px; align-items: center; }
.pagamentosProfissional__avatar {
    width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center;
    background: #ecc7de; color: #8d2a6a; font-size: 1.8rem; font-weight: 800; flex-shrink: 0;
}
.pagamentosProfissional__patientInfo { min-width: 0; }
.pagamentosProfissional__patientName { margin: 0; font-size: clamp(1.25rem, 2.2vw, 2rem); }
.pagamentosProfissional__patientMeta { margin: 4px 0 0; color: #5a5d67; }

.pagamentosProfissional__transaction {
    border-top: 1px solid #ececf1;
    padding: 22px 28px;
    display: grid;
    gap: 14px;
    align-items: center;
    grid-template-columns: 64px minmax(0, 1fr) auto auto;
}
.pagamentosProfissional__transactionIcon {
    width: 52px; height: 52px; border-radius: 12px; background: #d4e046; color: #59600f;
    display: grid; place-items: center;
}
.pagamentosProfissional__transactionInfo { min-width: 0; }
.pagamentosProfissional__transactionTitle { display: block; font-size: clamp(1rem, 1.8vw, 1.9rem); }
.pagamentosProfissional__transactionDate { color: #5d6069; }
.pagamentosProfissional__badge { padding: 8px 12px; border-radius: 4px; font-weight: 800; text-transform: uppercase; font-size: .84rem; }
.pagamentosProfissional__badge--pago { background: #d6e53b; color: #222606; }
.pagamentosProfissional__badge--pendente { background: #d5d6da; color: #2f3037; }
.pagamentosProfissional__amount { font-size: clamp(1.2rem, 1.9vw, 2rem); white-space: nowrap; }
.pagamentosProfissional__feedback {
    margin: 0;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid #b7d76d;
    background: #f4f9dc;
    color: #2a330f;
    font-weight: 700;
}
.pagamentosProfissional__statusForm { justify-self: end; }
.pagamentosProfissional__statusBtn {
    border: 0;
    border-radius: 8px;
    padding: 9px 12px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity .2s ease;
}
.pagamentosProfissional__statusBtn:hover { opacity: .86; }
.pagamentosProfissional__statusBtn--pago { background: #b2db2d; color: #1d2205; }
.pagamentosProfissional__statusBtn--pendente { background: #dadce2; color: #272932; }
.pagamentosProfissional__vazio { margin: 0; color: #666873; background: #fff; border: 1px solid #e6e7ec; border-radius: 20px; padding: 20px; }

[data-animate="fade-up"] { opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .45s ease; }
[data-animate="fade-up"].is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
    [data-animate="fade-up"] { opacity: 1; transform: none; transition: none; }
}

.pagamentosProfissional__summaryCard,
.pagamentosProfissional__patientCard,
.pagamentosProfissional__statusTab,
.pagamentosProfissional__listHead a { transition: all .25s ease; }
.pagamentosProfissional__summaryCard:hover,
.pagamentosProfissional__patientCard:hover { box-shadow: 0 14px 28px rgba(18, 19, 34, .08); transform: translateY(-2px); }
.pagamentosProfissional__listHead a:hover { opacity: .78; }

@media (max-width: 1080px) { .pagamentosProfissional__summaryGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .pagamentosProfissional__summaryGrid { grid-template-columns: 1fr; }
    .pagamentosProfissional__patientHead { padding: 18px; }
    .pagamentosProfissional__transaction { grid-template-columns: 52px 1fr; padding: 18px; }
    .pagamentosProfissional__badge, .pagamentosProfissional__amount, .pagamentosProfissional__statusForm { grid-column: 2; justify-self: start; }
}


/* perfilPaciente redesign */
.perfilPaciente__page{background:#f1f2f4;}
.perfilPaciente__container{max-width:1200px;margin:0 auto;padding:28px 18px 56px;display:grid;gap:28px;}
.perfilPaciente__header,.perfilPaciente__card,.perfilPaciente__detailsCard,.perfilPaciente__responsibleCard{background:#fff;border-radius:28px;box-shadow:0 10px 26px rgba(16,24,40,.07);padding:26px;}
.perfilPaciente__header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;}
.perfilPaciente__title{font-size:3.2rem;line-height:1.1;margin:12px 0;}
.perfilPaciente__meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:#4b4248;}
.perfilPaciente__editBtn,.perfilPaciente__cardAction{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 24px;text-decoration:none;border:none;cursor:pointer;font-weight:700;}
.perfilPaciente__editBtn{background:#ba3e8f;color:#fff;min-width:220px;}
.perfilPaciente__cardsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.perfilPaciente__appointmentCard{background:linear-gradient(180deg,#bf3f91,#a52e81);color:#fff;}
.perfilPaciente__appointmentCard .perfilPaciente__cardAction{background:#fff;color:#a52e81;}
.perfilPaciente__notificationsCard{background:#f8f8fa;}
.perfilPaciente__paymentsCard{background:#e8efc7;}
.perfilPaciente__paymentsCard .perfilPaciente__cardAction{background:#d8e546;color:#4f5f00;}
.perfilPaciente__cardTitle{font-size:2rem;margin-bottom:16px;}
.perfilPaciente__inlineLink{font-weight:700;color:#a52e81;text-decoration:none;}
.perfilPaciente__sectionsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.perfilPaciente__sectionTitle{display:flex;align-items:center;gap:12px;font-size:2rem;margin:0 0 18px;}
.perfilPaciente__sectionAccent{width:58px;height:5px;border-radius:999px;background:#ba3e8f;display:inline-block;}
.perfilPaciente__detailsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.perfilPaciente__detailItem{display:grid;gap:4px;}
.perfilPaciente__detailLabel{text-transform:uppercase;letter-spacing:.09em;color:#5c4f56;font-size:.82rem;}
.perfilPaciente__detailValue{font-weight:700;color:#161617;}
.perfilPaciente__responsibleInfo{margin-bottom:16px;}
.perfilPaciente__responsibleMeta span{background:#efedf1;border-radius:999px;padding:3px 10px;display:inline-block;margin-top:6px;}
.perfilPaciente__reveal{opacity:0;transform:translateY(20px);transition:.45s ease;}
.perfilPaciente__reveal.is-visible{opacity:1;transform:none;}
@media (max-width:1024px){.perfilPaciente__cardsGrid{grid-template-columns:repeat(2,minmax(0,1fr));}.perfilPaciente__sectionsGrid{grid-template-columns:1fr;}}
@media (max-width:700px){.perfilPaciente__header{flex-direction:column;}.perfilPaciente__title{font-size:2.4rem;}.perfilPaciente__cardsGrid,.perfilPaciente__detailsGrid{grid-template-columns:1fr;}.perfilPaciente__editBtn{width:100%;}}

/* =========================
   Contato Page redesign (contato.php)
   ========================= */
.contatoPage__page {
    background:
        radial-gradient(circle at 12% 8%, rgba(var(--cor-secundaria-alt-rgb), .16), transparent 28%),
        radial-gradient(circle at 86% 20%, rgba(var(--cor-secundaria-rgb), .08), transparent 28%),
        #f4f6f7;
    color: #111216;
    overflow: hidden;
}

.contatoPage__container {
    width: min(100%, 1100px);
    gap: clamp(46px, 6vw, 72px);
}

.contatoPage__hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .98fr) minmax(320px, 1fr);
    align-items: center;
    gap: clamp(28px, 5vw, 68px);
    min-height: 420px;
    padding-top: clamp(18px, 3vw, 34px);
}

.contatoPage__heroContent {
    max-width: 520px;
    padding: 0;
}

.contatoPage__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 5px 16px;
    border-radius: 999px;
    background: var(--cor-secundaria-alt);
    color: #394100;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.contatoPage__title {
    margin: 28px 0 18px;
    color: #111216;
    font-size: clamp(2.85rem, 6vw, 5.12rem);
    line-height: .96;
    letter-spacing: -.065em;
    font-weight: 900;
}

.contatoPage__title span {
    display: block;
    color: var(--cor-secundaria);
}

.contatoPage__subtitle,
.contatoPage__formIntro {
    margin: 0;
    color: rgba(17, 18, 22, .82);
    font-size: clamp(1.05rem, 1.65vw, 1.28rem);
    line-height: 1.42;
    max-width: 505px;
}

.contatoPage__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.contatoPage__chip {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    min-height: 45px;
    padding: 10px 18px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .06);
    border-radius: 11px;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 10px 26px rgba(20, 22, 28, .04);
    color: #111216;
    font-size: .92rem;
    font-weight: 600;
}

.contatoPage__chip svg {
    width: 20px;
    height: 20px;
    fill: var(--cor-secundaria);
}

.contatoPage__chip:nth-child(2) svg {
    fill: #596000;
}

.contatoPage__heroMedia {
    position: relative;
    min-height: 390px;
    overflow: visible;
}

.contatoPage__heroMedia.contato-online-visual {
    animation: contatoFloatLoop 6s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
}

.contatoPage__heroArt {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    min-height: 350px;
    margin-left: auto;
    border-radius: 42px;
    background:
        radial-gradient(circle at 40% 35%, rgba(255, 255, 255, .82), transparent 28%),
        radial-gradient(circle at 50% 50%, rgba(175, 209, 155, .42), transparent 48%),
        linear-gradient(135deg, rgba(236, 241, 235, .96), rgba(247, 250, 249, .88));
    box-shadow: 18px 14px 0 rgba(var(--cor-secundaria-rgb), .08), 0 28px 44px rgba(22, 28, 38, .09);
    overflow: hidden;
}

.contatoPage__heroImage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .13;
    mix-blend-mode: multiply;
    filter: saturate(.75) contrast(.95);
}

.contatoPage__heroImage.contato-online-visual__image {
    animation: contatoImageGlowLoop 7s ease-in-out infinite;
    transform-origin: center;
    will-change: transform, filter, opacity;
}

.contatoPage__floatingCard {
    position: absolute;
    left: 4px;
    bottom: 18px;
    z-index: 5;
    transform-origin: center;
    width: min(210px, 48%);
    padding: 22px 24px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 18px 34px rgba(30, 35, 45, .16);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.contatoPage__floatingCard.contato-online-card {
    animation: contatoCardPulseLoop 4.5s ease-in-out infinite;
    will-change: transform, box-shadow;
}

.contatoPage__floatingCard strong {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
    color: #4d5300;
    font-size: .72rem;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.contatoPage__floatingCard strong::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cor-secundaria-alt);
}

.contatoPage__floatingCard span {
    display: block;
    color: #111216;
    font-size: .82rem;
    line-height: 1.35;
}


@keyframes contatoFloatLoop {
    0%,
    100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-10px) scale(1.015);
    }
}

@keyframes contatoImageGlowLoop {
    0%,
    100% {
        transform: scale(1);
        filter: saturate(.75) contrast(.95) brightness(1) blur(0);
        opacity: .13;
    }

    50% {
        transform: scale(1.025);
        filter: saturate(.86) contrast(.98) brightness(1.08) blur(.25px);
        opacity: .18;
    }
}

@keyframes contatoCardPulseLoop {
    0%,
    100% {
        transform: translateY(0);
        box-shadow: 0 18px 34px rgba(30, 35, 45, .16);
    }

    50% {
        transform: translateY(-6px);
        box-shadow: 0 24px 48px rgba(30, 35, 45, .2);
    }
}

.contatoPage__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(315px, .82fr);
    gap: clamp(26px, 3vw, 34px);
    align-items: start;
    max-width: none;
    margin: 0;
}

.contatoPage__formCard {
    padding: clamp(28px, 4vw, 48px);
    border-radius: 30px;
    box-shadow: 0 28px 60px rgba(18, 22, 32, .06);
}

.contatoPage__formCard h2 {
    margin-bottom: 26px;
    color: #07080a;
    font-size: clamp(2rem, 3vw, 2.35rem);
    letter-spacing: -.04em;
}

.contatoPage__formIntro {
    display: none;
}

.contatoPage__formGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 17px;
}

.contatoPage__field {
    grid-column: 1 / -1;
    gap: 8px;
}

.contatoPage__field--half {
    grid-column: span 1;
}

.contatoPage__label,
.contato__field-group label.contatoPage__label {
    color: #111216;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.contatoPage__inputWrap,
.contato__input-wrap.contatoPage__inputWrap {
    min-height: 58px;
    border: 0;
    border-radius: 10px;
    background: #dfe1e3;
    box-shadow: none;
    padding: 0 16px;
}

.contatoPage__inputWrap:focus-within,
.contato__input-wrap.contatoPage__inputWrap:focus-within {
    box-shadow: 0 0 0 3px rgba(var(--cor-secundaria-rgb), .18), 0 14px 30px rgba(18, 22, 32, .06);
    background: #fff;
}

.contatoPage__inputWrap .contato__icon {
    display: none;
}

.contatoPage__inputWrap input,
.contatoPage__inputWrap textarea,
.contato__input-wrap.contatoPage__inputWrap input,
.contato__input-wrap.contatoPage__inputWrap textarea {
    color: #111216;
    padding: 17px 0;
    font-size: 1.02rem;
}

.contatoPage__inputWrap input::placeholder,
.contatoPage__inputWrap textarea::placeholder {
    color: #8d7582;
    opacity: 1;
}

.contatoPage__textarea,
.contato__input-wrap.contatoPage__textarea {
    min-height: 150px;
    align-items: flex-start;
}

.contatoPage__textarea textarea {
    min-height: 142px;
}

.contatoPage__submit,
.contato__submit.contatoPage__submit {
    grid-column: 1 / -1;
    gap: 14px;
    width: 100%;
    min-height: 57px;
    margin-top: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ba2f86, var(--cor-secundaria));
    box-shadow: 0 14px 22px rgba(var(--cor-secundaria-rgb), .22);
    font-size: .98rem;
}

.contatoPage__submit svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.contatoPage__sideCards {
    display: grid;
    gap: 22px;
}

.contatoPage__contactCard {
    min-height: 210px;
    padding: clamp(26px, 3vw, 32px);
    border-radius: 28px;
    background: #e7e8ea;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.contatoPage__contactCardPrimary {
    min-height: 260px;
    background: var(--cor-secundaria-alt);
    color: #596000;
}

.contatoPage__contactCard--emergency {
    background: #fff5f4;
    border: 1px solid #f0cdc8;
}

.contatoPage__contactIcon {
    width: 49px;
    height: 49px;
    margin-bottom: 25px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(92, 99, 0, .12);
    color: #596000;
}

.contatoPage__contactIcon--pink {
    background: #ffd0e6;
    color: #a90066;
}

.contatoPage__contactIcon--danger {
    background: #ffd8d3;
    color: #b90000;
}

.contatoPage__contactIcon svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
}

.contatoPage__contactTitle {
    margin: 0 0 9px;
    color: #101115;
    font-size: clamp(1.45rem, 2.1vw, 1.74rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.contatoPage__contactCardPrimary .contatoPage__contactTitle {
    color: #596000;
}

.contatoPage__contactText {
    margin: 0;
    color: rgba(17, 18, 22, .78);
    font-size: 1rem;
    line-height: 1.45;
}

.contatoPage__contactCardPrimary .contatoPage__contactText {
    color: rgba(82, 88, 0, .82);
}

.contatoPage__contactLink {
    margin-top: auto;
    color: var(--cor-secundaria);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 800;
}

.contatoPage__contactLink:hover {
    text-decoration: underline;
}

.contatoPage__contactLink--button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 45px;
    padding: 12px 26px;
    border-radius: 999px;
    background: #626900;
    color: #fff;
    box-shadow: 0 12px 22px rgba(85, 91, 0, .16);
}

.contatoPage__contactLink--button:hover {
    text-decoration: none;
    transform: translateY(-1px);
}

.contatoPage__contactLink--phone {
    color: #d60000;
    font-size: 1.62rem;
    letter-spacing: .02em;
}

.contatoPage__contactLink:focus-visible {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), .32);
    outline-offset: 4px;
    border-radius: 10px;
}

@media (max-width: 980px) {
    .contatoPage__hero,
    .contatoPage__layout {
        grid-template-columns: 1fr;
    }

    .contatoPage__heroContent,
    .contato__hero-content.contatoPage__heroContent {
        max-width: 720px;
    }

    .contatoPage__heroMedia {
        min-height: 340px;
    }

    .contatoPage__heroArt {
        margin: 0;
        width: 100%;
    }

    .contatoPage__sideCards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .contatoPage__contactCard,
    .contatoPage__contactCardPrimary {
        min-height: 240px;
    }
}

@media (max-width: 760px) {
    .contatoPage__page {
        padding-top: 18px;
    }

    .contatoPage__title {
        letter-spacing: -.045em;
    }

    .contatoPage__chips,
    .contatoPage__sideCards,
    .contatoPage__formGrid {
        grid-template-columns: 1fr;
    }

    .contatoPage__chip,
    .contatoPage__field--half {
        width: 100%;
        grid-column: 1 / -1;
    }

    .contatoPage__heroMedia {
        min-height: 300px;
    }

    .contatoPage__heroArt {
        min-height: 285px;
        border-radius: 28px;
    }

    .contatoPage__floatingCard {
        left: 18px;
        bottom: -18px;
        width: min(245px, calc(100% - 36px));
    }

    .contatoPage__formCard,
    .contato__card.contatoPage__formCard {
        padding: 26px 18px;
        border-radius: 24px;
    }

    .contatoPage__contactCard,
    .contatoPage__contactCardPrimary {
        min-height: 220px;
    }
}

@media (max-width: 480px) {
    .contatoPage__hero {
        min-height: auto;
    }

    .contatoPage__title {
        font-size: clamp(2.45rem, 16vw, 3.45rem);
    }

}

@media (prefers-reduced-motion: reduce) {
    .contatoPage__heroMedia.contato-online-visual,
    .contatoPage__heroImage.contato-online-visual__image,
    .contatoPage__floatingCard.contato-online-card {
        animation: none !important;
        transform: none !important;
    }

    .contatoPage__contactLink--button:hover {
        transform: none;
    }
}

/* =========================
   Editar Cadastro Paciente
   ========================= */
.editarCadastroPaciente__page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 18% 10%, rgba(var(--cor-secundaria-rgb), 0.08), transparent 28rem),
        linear-gradient(180deg, #f7f8f8 0%, #f3f5f5 100%);
    color: #14171a;
}

.editarCadastroPaciente__container {
    width: min(100%, 1180px);
    box-sizing: border-box;
    display: block;
    max-width: none;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 46px) var(--layout-content-padding-inline) clamp(42px, 6vw, 72px);
}

.editarCadastroPaciente__form {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3vw, 34px);
}

.editarCadastroPaciente__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(20px, 4vw, 56px);
}

.editarCadastroPaciente__headingGroup {
    min-width: 0;
}

.editarCadastroPaciente__title {
    margin: 0;
    color: #11161a;
    font-family: var(--font-principal);
    font-size: clamp(2.25rem, 4.4vw, 3.55rem);
    font-weight: 700;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

.editarCadastroPaciente__subtitle {
    margin: 0.85rem 0 0;
    color: rgba(45, 26, 39, 0.88);
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.5;
}

.editarCadastroPaciente__subtitle strong {
    color: var(--cor-secundaria);
    font-weight: 600;
}

.editarCadastroPaciente__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(14px, 2vw, 24px);
    flex: 0 0 auto;
}

.editarCadastroPaciente__btn {
    min-height: 54px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 0.9rem clamp(1.4rem, 3vw, 2.35rem);
    font-family: var(--font-principal);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.editarCadastroPaciente__btn:hover {
    transform: translateY(-2px);
}

.editarCadastroPaciente__btn:focus-visible {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), 0.3);
    outline-offset: 4px;
}

.editarCadastroPaciente__btnGhost {
    color: #3f2634;
    background: transparent;
}

.editarCadastroPaciente__btnGhost:hover {
    color: var(--cor-secundaria);
    background: rgba(var(--cor-secundaria-rgb), 0.08);
}

.editarCadastroPaciente__btnPrimary {
    color: #fff;
    background: linear-gradient(135deg, var(--cor-secundaria), #b2367d);
    box-shadow: 0 14px 24px rgba(var(--cor-secundaria-rgb), 0.24), inset 0 1px 0 rgba(255,255,255,0.22);
}

.editarCadastroPaciente__btnPrimary:hover {
    box-shadow: 0 18px 30px rgba(var(--cor-secundaria-rgb), 0.28), inset 0 1px 0 rgba(255,255,255,0.28);
}

.editarCadastroPaciente__layout {
    display: grid;
    grid-template-columns: minmax(0, 2.05fr) minmax(300px, 0.95fr);
    gap: clamp(22px, 3vw, 38px);
    align-items: stretch;
}

.editarCadastroPaciente__card,
.editarCadastroPaciente__mainCard,
.editarCadastroPaciente__responsibleCard {
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: clamp(22px, 3vw, 32px);
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 24px 60px rgba(23, 32, 38, 0.06);
    backdrop-filter: blur(8px);
}

.editarCadastroPaciente__mainCard {
    padding: clamp(28px, 4vw, 42px);
}

.editarCadastroPaciente__sideColumn {
    display: flex;
    flex-direction: column;
    gap: clamp(22px, 3vw, 38px);
}

.editarCadastroPaciente__sideColumn .editarCadastroPaciente__card {
    padding: clamp(26px, 3.5vw, 38px);
}

.editarCadastroPaciente__cardHead {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: clamp(28px, 4vw, 44px);
}

.editarCadastroPaciente__cardHead--responsible {
    margin-bottom: 0;
}

.editarCadastroPaciente__iconBox {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
}

.editarCadastroPaciente__iconBox--pink {
    color: var(--cor-secundaria);
    background: rgba(var(--cor-secundaria-rgb), 0.13);
}

.editarCadastroPaciente__iconBox--green {
    color: #5e650f;
    background: rgba(var(--cor-secundaria-alt-rgb), 0.2);
}

.editarCadastroPaciente__iconBox--blue {
    color: var(--cor-primaria);
    background: rgba(var(--cor-primaria-rgb), 0.1);
}

.editarCadastroPaciente__cardTitle {
    margin: 0;
    color: #101418;
    font-family: var(--font-principal);
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

.editarCadastroPaciente__cardSubtitle {
    margin: 0.35rem 0 0;
    color: rgba(29, 29, 31, 0.52);
    font-size: 0.9rem;
    line-height: 1.35;
}

.editarCadastroPaciente__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 30px) clamp(22px, 3vw, 32px);
}

.editarCadastroPaciente__grid--contact {
    grid-template-columns: 1fr;
    gap: 28px;
}

.editarCadastroPaciente__grid--responsible {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.8vw, 30px);
}

.editarCadastroPaciente__field,
.agendaPage__fieldWrap.editarCadastroPaciente__field {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}

.editarCadastroPaciente__field--wide {
    grid-column: 1 / -1;
}

.editarCadastroPaciente__label,
.agendaPage__label.editarCadastroPaciente__label {
    color: rgba(47, 38, 45, 0.88);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.105em;
    line-height: 1.25;
    text-transform: uppercase;
}

.editarCadastroPaciente__inputWrap {
    display: block;
}

.editarCadastroPaciente__input,
.editarCadastroPaciente__textarea,
.agendaPage__input.editarCadastroPaciente__input {
    width: 100%;
    min-height: 66px;
    box-sizing: border-box;
    border: 1px solid transparent;
    border-radius: 9px;
    background: #e3e5e6;
    color: #12161a;
    box-shadow: none;
    font-family: var(--font-principal);
    font-size: clamp(0.98rem, 1.3vw, 1.08rem);
    font-weight: 400;
    line-height: 1.45;
    padding: 1rem 1.15rem;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

select.editarCadastroPaciente__input,
.agendaPage__input.editarCadastroPaciente__input:is(select) {
    appearance: auto;
    cursor: pointer;
}

.editarCadastroPaciente__input[readonly] {
    color: rgba(18, 22, 26, 0.8);
}

.editarCadastroPaciente__input::placeholder,
.editarCadastroPaciente__textarea::placeholder {
    color: rgba(18, 22, 26, 0.38);
}

.editarCadastroPaciente__input:focus,
.editarCadastroPaciente__textarea:focus,
.agendaPage__input.editarCadastroPaciente__input:focus {
    outline: none;
    border-color: rgba(var(--cor-secundaria-rgb), 0.55);
    background: #eef0f1;
    box-shadow: 0 0 0 4px rgba(var(--cor-secundaria-rgb), 0.13);
}

.editarCadastroPaciente__statusCard {
    min-height: 254px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: #fff;
    background: linear-gradient(145deg, #c94b95 0%, var(--cor-secundaria) 100%);
    box-shadow: 0 24px 48px rgba(var(--cor-secundaria-rgb), 0.22);
}

.editarCadastroPaciente__statusCard .editarCadastroPaciente__cardTitle {
    color: #fff;
    margin-top: 22px;
}

.editarCadastroPaciente__statusIcon {
    color: #fff;
}

.editarCadastroPaciente__statusText {
    max-width: 31ch;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.98rem;
    line-height: 1.58;
}

.editarCadastroPaciente__responsibleCard {
    grid-column: 1 / -1;
    padding: clamp(26px, 3.7vw, 38px);
}

.editarCadastroPaciente__responsibleHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: clamp(28px, 4vw, 44px);
}

.editarCadastroPaciente__toggle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: rgba(47, 38, 45, 0.9);
    font-size: 0.98rem;
    font-weight: 400;
    line-height: 1.2;
    cursor: pointer;
    user-select: none;
}

.editarCadastroPaciente__toggleInput {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    clip-path: inset(50%);
}

.editarCadastroPaciente__toggleVisual {
    position: relative;
    width: 50px;
    height: 26px;
    border-radius: 999px;
    background: #d9dee2;
    box-shadow: inset 0 1px 2px rgba(10, 20, 30, 0.12);
    transition: background-color 180ms ease, box-shadow 180ms ease;
}

.editarCadastroPaciente__toggleVisual::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(10, 20, 30, 0.18);
    transition: transform 180ms ease;
}

.editarCadastroPaciente__toggleInput:checked + .editarCadastroPaciente__toggleVisual {
    background: var(--cor-secundaria);
    box-shadow: 0 6px 14px rgba(var(--cor-secundaria-rgb), 0.24);
}

.editarCadastroPaciente__toggleInput:checked + .editarCadastroPaciente__toggleVisual::after {
    transform: translateX(24px);
}

.editarCadastroPaciente__toggleInput:focus-visible + .editarCadastroPaciente__toggleVisual {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), 0.25);
    outline-offset: 4px;
}

.editarCadastroPaciente__flash {
    margin-bottom: 22px;
}

.editarCadastroPaciente__reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 520ms ease, transform 520ms ease;
}

.editarCadastroPaciente__reveal--visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 980px) {
    .editarCadastroPaciente__layout {
        grid-template-columns: 1fr;
    }

    .editarCadastroPaciente__sideColumn {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .editarCadastroPaciente__grid--responsible {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .editarCadastroPaciente__container {
        padding-top: 24px;
    }

    .editarCadastroPaciente__header,
    .editarCadastroPaciente__responsibleHeader {
        flex-direction: column;
        align-items: stretch;
    }

    .editarCadastroPaciente__actions {
        width: 100%;
        justify-content: stretch;
    }

    .editarCadastroPaciente__btn {
        width: 100%;
    }

    .editarCadastroPaciente__grid,
    .editarCadastroPaciente__grid--personal,
    .editarCadastroPaciente__grid--responsible,
    .editarCadastroPaciente__sideColumn {
        grid-template-columns: 1fr;
    }

    .editarCadastroPaciente__mainCard,
    .editarCadastroPaciente__sideColumn .editarCadastroPaciente__card,
    .editarCadastroPaciente__responsibleCard {
        padding: 24px;
        border-radius: 24px;
    }

    .editarCadastroPaciente__input,
    .editarCadastroPaciente__textarea,
    .agendaPage__input.editarCadastroPaciente__input {
        min-height: 58px;
    }
}

@media (max-width: 520px) {
    .editarCadastroPaciente__actions {
        flex-direction: column-reverse;
        gap: 10px;
    }

    .editarCadastroPaciente__cardHead {
        margin-bottom: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .editarCadastroPaciente__btn,
    .editarCadastroPaciente__input,
    .editarCadastroPaciente__textarea,
    .editarCadastroPaciente__toggleVisual,
    .editarCadastroPaciente__toggleVisual::after,
    .editarCadastroPaciente__reveal {
        transition: none;
    }

    .editarCadastroPaciente__btn:hover,
    .editarCadastroPaciente__reveal {
        transform: none;
    }
}

/* =========================
   Adicionar profissionais à equipe da clínica
   ========================= */
.perfilClinica__sectionHeader {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.perfilClinica__sectionHeader h2 {
    margin-bottom: .25rem;
}

.perfilClinica__sectionHeader p,
.perfilClinica__emptyTeam {
    margin: 0;
    color: #67708d;
}

.perfilClinica__btn--add {
    background: var(--cor-secundaria);
    color: #fff;
    box-shadow: 0 10px 22px rgba(var(--cor-secundaria-rgb), .22);
}

.perfilClinica__teamCard {
    text-align: center;
    min-height: auto;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: .35rem;
}

.perfilClinica__teamCard p {
    color: #68718f;
    line-height: 1.4;
}

.perfilClinica__alert {
    border-radius: 12px;
    margin-bottom: .9rem;
    padding: .72rem .9rem;
    font-weight: 600;
}

.perfilClinica__alert--success {
    background: rgba(18, 166, 86, .12);
    border: 1px solid rgba(18, 166, 86, .28);
    color: #0f7a3f;
}

.perfilClinica__alert--error {
    background: rgba(217, 49, 49, .12);
    border: 1px solid rgba(217, 49, 49, .26);
    color: #a92a2a;
}

.perfilClinica__teamActionForm {
    margin: .2rem 0 0;
}

.perfilClinica__teamRemoveBtn {
    border: 1px solid rgba(209, 54, 105, .45);
    background: #fff;
    color: #d13669;
    border-radius: 10px;
    padding: .35rem .8rem;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.2;
    transition: .2s ease;
}

.perfilClinica__teamRemoveBtn:hover {
    background: #d13669;
    color: #fff;
}

.adicionarPro__page {
    background: linear-gradient(180deg, rgba(var(--cor-primaria-rgb), .06), rgba(var(--cor-detalhes-rgb), .35));
    color: var(--cor-primaria);
}

.adicionarPro__container {
    width: min(1040px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(1.4rem, 4vw, 2.4rem) 0 clamp(3rem, 6vw, 4.5rem);
    display: grid;
    gap: 1rem;
}

.adicionarPro__hero,
.adicionarPro__panel {
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb), .08);
    box-shadow: 0 18px 45px rgba(var(--cor-primaria-rgb), .09);
}

.adicionarPro__hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: clamp(1.2rem, 3vw, 2rem);
}

.adicionarPro__eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: .5rem;
    border-radius: 999px;
    padding: .35rem .75rem;
    background: rgba(var(--cor-secundaria-rgb), .12);
    color: var(--cor-secundaria);
    font-weight: 800;
    font-size: .82rem;
}

.adicionarPro__hero h1 {
    margin: 0 0 .4rem;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.adicionarPro__hero p {
    margin: 0;
    color: #66708e;
}

.adicionarPro__back,
.adicionarPro__search button,
.adicionarPro__add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 0;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.adicionarPro__back {
    flex: 0 0 auto;
    padding: .85rem 1.1rem;
    background: rgba(var(--cor-primaria-rgb), .08);
    color: var(--cor-primaria);
}

.adicionarPro__panel {
    padding: clamp(1rem, 2.5vw, 1.4rem);
}

.adicionarPro__search {
    display: grid;
    gap: .55rem;
    margin-bottom: 1rem;
}

.adicionarPro__search label {
    font-weight: 800;
    color: #25335f;
}

.adicionarPro__searchRow {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .75rem;
}

.adicionarPro__search input {
    width: 100%;
    min-height: 46px;
    border-radius: 14px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .16);
    padding: 0 1rem;
    color: #25335f;
    background: #fbfcff;
}

.adicionarPro__card form {
    display: grid;
    gap: .45rem;
    min-width: 230px;
}

.adicionarPro__selectLabel {
    font-size: .78rem;
    font-weight: 800;
    color: #51607c;
}

.adicionarPro__select {
    width: 100%;
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .16);
    padding: 0 .8rem;
    color: #25335f;
    background: #fbfcff;
}

.adicionarPro__search button,
.adicionarPro__add {
    min-height: 46px;
    padding: 0 1.2rem;
    background: var(--cor-secundaria);
    color: #fff;
    box-shadow: 0 10px 22px rgba(var(--cor-secundaria-rgb), .2);
}

.adicionarPro__back:hover,
.adicionarPro__search button:hover,
.adicionarPro__add:hover {
    transform: translateY(-1px);
}

.adicionarPro__add:disabled {
    cursor: not-allowed;
    opacity: .58;
    box-shadow: none;
    background: #8a91a8;
}

.adicionarPro__list {
    display: grid;
    gap: .85rem;
}

.adicionarPro__card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: .9rem;
    border-radius: 18px;
    border: 1px solid rgba(var(--cor-primaria-rgb), .08);
    background: linear-gradient(180deg, #fff, #fbfcff);
}

.adicionarPro__card img {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(var(--cor-secundaria-rgb), .16);
}

.adicionarPro__info h2 {
    margin: 0 0 .25rem;
    font-size: 1.05rem;
    color: #25335f;
}

.adicionarPro__info p,
.adicionarPro__empty {
    margin: 0;
    color: #68718f;
}

.adicionarPro__alert {
    border-radius: 16px;
    padding: .85rem 1rem;
    font-weight: 700;
}

.adicionarPro__alert--success {
    background: rgba(31, 139, 76, .1);
    color: #17613a;
    border: 1px solid rgba(31, 139, 76, .25);
}

.adicionarPro__alert--error {
    background: rgba(207, 46, 46, .09);
    color: #8f2323;
    border: 1px solid rgba(207, 46, 46, .25);
}

@media (max-width: 720px) {
    .perfilClinica__sectionHeader,
    .adicionarPro__hero,
    .adicionarPro__card {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .adicionarPro__searchRow {
        grid-template-columns: 1fr;
    }

    .adicionarPro__card {
        text-align: center;
        justify-items: center;
    }
}

/* =========================
   Avaliação da clínica
   ========================= */
.perfilClinica__reviewButton {
    width: fit-content;
    margin-top: .7rem;
    border: 1px solid rgba(255, 255, 255, .46);
    border-radius: 999px;
    padding: .58rem .95rem;
    background: rgba(255, 255, 255, .16);
    color: #fff;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.perfilClinica__reviewButton:hover,
.perfilClinica__reviewButton:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, .75);
    background: rgba(255, 255, 255, .24);
}

.perfilClinica__reviewModal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: none;
    place-items: center;
    padding: 1rem;
}

.perfilClinica__reviewModal.is-open {
    display: grid;
}

.perfilClinica__reviewBackdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 18, 31, .62);
    backdrop-filter: blur(4px);
}

.perfilClinica__reviewDialog {
    position: relative;
    z-index: 1;
    width: min(100%, 540px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 22px 70px rgba(5, 19, 33, .26);
}

.perfilClinica__reviewDialog h2 {
    margin: 0;
    padding: 1.35rem 4rem 1.15rem 1.8rem;
    border-bottom: 1px solid #e8edf3;
    color: #252a33;
    font-size: clamp(1.28rem, 3vw, 1.55rem);
    font-weight: 800;
}

.perfilClinica__reviewDialog form {
    padding: 0 1.8rem 1.35rem;
}

.perfilClinica__reviewClose {
    position: absolute;
    top: 1.05rem;
    right: 1.05rem;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: #777f8b;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.perfilClinica__reviewClose:hover,
.perfilClinica__reviewClose:focus-visible {
    color: #252a33;
}

.perfilClinica__reviewLabel {
    display: block;
    margin: .9rem 0 .55rem;
    color: #363b45;
    font-weight: 800;
}

.perfilClinica__starsPicker {
    display: flex;
    gap: .35rem;
    align-items: center;
    margin-bottom: .85rem;
    border: 1px solid #e1e6ee;
    border-radius: 999px;
    padding: .55rem .85rem;
    background: #f8fafc;
}

.perfilClinica__starOption {
    border: 0;
    padding: 0;
    background: transparent;
    color: #d7dce2;
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
    transition: color .18s ease, transform .18s ease;
}

.perfilClinica__starOption.is-active,
.perfilClinica__starOption:hover,
.perfilClinica__starOption:focus-visible {
    color: #f7b924;
    transform: translateY(-1px) scale(1.04);
}

.perfilClinica__reviewTextarea {
    width: 100%;
    min-height: 132px;
    resize: vertical;
    border: 1px solid rgba(var(--cor-primaria-rgb), .18);
    border-radius: 16px;
    padding: .85rem 1rem;
    color: var(--cor-primaria);
    font: inherit;
    outline: none;
}

.perfilClinica__reviewTextarea:focus {
    border-color: rgba(var(--cor-secundaria-rgb), .72);
    box-shadow: 0 0 0 .22rem rgba(var(--cor-secundaria-rgb), .16);
}

.perfilClinica__reviewHint {
    margin: .4rem 0 .8rem;
    color: #667085;
    font-size: .88rem;
}

.perfilClinica__reviewAlert {
    margin-bottom: .8rem;
    border-radius: 14px;
    padding: .75rem .9rem;
    font-weight: 700;
}

.perfilClinica__reviewAlert--error {
    background: #fff1f1;
    color: #a61b1b;
}

.perfilClinica__reviewAlert--success {
    background: #ecfdf3;
    color: #027a48;
}

.perfilClinica__reviewAlert--info {
    background: rgba(var(--cor-secundaria-rgb), .11);
    color: var(--cor-primaria);
}

.perfilClinica__reviewActions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
    margin: 1rem -1.8rem -1.35rem;
    padding: 1rem 1.8rem;
    border-top: 1px solid #e8edf3;
    background: #fff;
}

.perfilClinica__reviewActions .perfilClinica__btn {
    border-radius: 6px;
    padding: .65rem .9rem;
    cursor: pointer;
}

.perfilClinica__reviewActions .perfilClinica__btn:disabled {
    cursor: wait;
    opacity: .76;
}

.perfilClinica__reviewActions .perfilClinica__btn--ghost {
    border-color: transparent;
    background: #737b86;
    color: #fff;
}

.perfilClinica__reviewActions .perfilClinica__btn--ghost:hover,
.perfilClinica__reviewActions .perfilClinica__btn--ghost:focus-visible {
    background: #5d6672;
    color: #fff;
}

@media (max-width: 560px) {
    .perfilClinica__reviewActions {
        justify-content: stretch;
    }

    .perfilClinica__reviewActions .perfilClinica__btn {
        flex: 1 1 150px;
        text-align: center;
    }
}

/* =========================
   Card moderno de avaliações da clínica
   ========================= */
.perfilClinica__photosGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.perfilClinica__photosGrid img {
    width: 100%;
    min-height: 160px;
    aspect-ratio: 16 / 10;
    border-radius: 18px;
    object-fit: cover;
    border: 1px solid #e5e7eb;
}

.perfilClinica__reviews {
    padding: clamp(1.25rem, 3vw, 1.85rem);
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(15, 23, 42, .08);
}

.perfilClinica__reviewsHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.perfilClinica__reviewsHeader h2 {
    margin: 0;
    color: #262a33;
    font-size: clamp(1.05rem, 2.4vw, 1.22rem);
    font-weight: 800;
}

.perfilClinica__reviewButton--card {
    margin: 0;
    border: 1px solid rgba(var(--cor-secundaria-rgb), .18);
    border-radius: 999px;
    padding: .72rem 1.25rem;
    background: linear-gradient(135deg, var(--cor-primaria), var(--cor-secundaria));
    color: #fff;
    box-shadow: 0 12px 24px rgba(var(--cor-primaria-rgb), .16);
    backdrop-filter: none;
}

.perfilClinica__reviewButton--card:hover,
.perfilClinica__reviewButton--card:focus-visible {
    border-color: rgba(var(--cor-secundaria-rgb), .32);
    background: linear-gradient(135deg, #16435f, #cf4b99);
    color: #fff;
    box-shadow: 0 16px 28px rgba(var(--cor-secundaria-rgb), .2);
}

.perfilClinica__reviewsSummary {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(280px, 1.45fr);
    gap: clamp(1.2rem, 4vw, 2.4rem);
    align-items: start;
}

.perfilClinica__reviewsScore strong {
    display: block;
    color: #24262d;
    font-size: clamp(3.2rem, 8vw, 4.75rem);
    line-height: .95;
    letter-spacing: -.07em;
    font-weight: 800;
}

.perfilClinica__ratingWrap--reviews {
    margin-top: .65rem;
    gap: .18rem;
}

.perfilClinica__ratingWrap--reviews .perfilClinica__star {
    color: #d7dbe1;
    font-size: 1.1rem;
}

.perfilClinica__ratingWrap--reviews .perfilClinica__star.is-active {
    color: #f5b51b;
}

.perfilClinica__reviewsScore p {
    margin: .55rem 0 0;
    color: #666b76;
    font-size: 1rem;
}

.perfilClinica__reviewsBars {
    display: grid;
    gap: .82rem;
    padding-top: .2rem;
}

.perfilClinica__reviewsBarRow {
    display: grid;
    grid-template-columns: 18px minmax(120px, 1fr) 30px;
    gap: .75rem;
    align-items: center;
}

.perfilClinica__reviewsBarLabel,
.perfilClinica__reviewsBarTotal {
    color: #535862;
    font-weight: 800;
    line-height: 1;
}

.perfilClinica__reviewsBarTotal {
    text-align: right;
    font-weight: 500;
}

.perfilClinica__reviewsBarTrack {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf0f3;
}

.perfilClinica__reviewsBarFill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f5b51b, #ffd66b);
    transition: width .25s ease;
}

.perfilClinica__reviewsList {
    display: grid;
    gap: 1rem;
    margin-top: clamp(1.4rem, 3vw, 2rem);
}

.perfilClinica__reviewItem {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding-top: .2rem;
}

.perfilClinica__reviewAvatar {
    display: inline-grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: #dfe9ff;
    color: #2555c7;
    font-weight: 800;
    letter-spacing: .02em;
}

.perfilClinica__reviewItem h3 {
    margin: 0;
    color: #2f3440;
    font-size: 1.03rem;
    font-weight: 700;
}

.perfilClinica__reviewItem p {
    margin: .45rem 0 0;
    color: #666b76;
    font-size: .98rem;
    line-height: 1.5;
}

.perfilClinica__reviewItemHeader {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.perfilClinica__reviewItemHeader .perfilClinica__ratingWrap--reviews {
    margin-top: 0;
}

@media (max-width: 860px) {
    .perfilClinica__reviewsSummary,
    .perfilClinica__photosGrid {
        grid-template-columns: 1fr;
    }

    .perfilClinica__reviewsScore {
        text-align: left;
    }
}

@media (max-width: 560px) {
    .perfilClinica__reviews {
        border-radius: 20px;
        padding: 1.1rem;
    }

    .perfilClinica__reviewsHeader {
        align-items: flex-start;
    }

    .perfilClinica__reviewButton--card {
        padding: .6rem .9rem;
    }

    .perfilClinica__reviewsBarRow {
        grid-template-columns: 16px minmax(0, 1fr) 24px;
        gap: .55rem;
    }

    .perfilClinica__reviewItem {
        gap: .75rem;
    }
}

/* =========================
   Pagamentos do paciente (pagamentosPaciente.php)
   ========================= */
.pagamentosPaciente__page {
    background: #f3f4f6;
    color: var(--cor-primaria);
}

.pagamentosPaciente__container {
    width: min(100%, var(--layout-content-max-width));
    box-sizing: border-box;
    margin: 0 auto;
    padding: var(--layout-main-padding-block) var(--layout-content-padding-inline);
    display: grid;
    gap: var(--layout-section-gap);
}

.pagamentosPaciente__hero,
.pagamentosPaciente__summaryCard,
.pagamentosPaciente__card,
.pagamentosPaciente__empty {
    background: var(--color-branco);
    border: 1px solid rgba(var(--cor-primaria-rgb), .08);
    border-radius: 28px;
    box-shadow: 0 16px 34px rgba(var(--cor-primaria-rgb), .08);
}

.pagamentosPaciente__hero {
    padding: clamp(24px, 4vw, 40px);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

.pagamentosPaciente__eyebrow,
.pagamentosPaciente__summaryLabel {
    margin: 0 0 8px;
    color: var(--cor-secundaria);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    font-size: .82rem;
}

.pagamentosPaciente__title {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(2.2rem, 4vw, 4.2rem);
    line-height: 1;
}

.pagamentosPaciente__subtitle {
    max-width: 680px;
    margin: 14px 0 0;
    color: rgba(var(--cor-primaria-rgb), .72);
    font-size: clamp(1rem, 1.6vw, 1.25rem);
}

.pagamentosPaciente__backBtn,
.pagamentosPaciente__payBtn,
.pagamentosPaciente__empty a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 0;
    border-radius: 999px;
    padding: 12px 24px;
    text-decoration: none;
    cursor: pointer;
    font-weight: 800;
    transition: transform 220ms ease, box-shadow 220ms ease, opacity 220ms ease;
}

.pagamentosPaciente__backBtn,
.pagamentosPaciente__empty a {
    background: rgba(var(--cor-secundaria-rgb), .1);
    color: var(--cor-secundaria);
}

.pagamentosPaciente__summaryGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.pagamentosPaciente__summaryCard {
    padding: 26px;
}

.pagamentosPaciente__summaryCard--total {
    border-left: 6px solid var(--cor-secundaria-alt);
}

.pagamentosPaciente__summaryValue {
    display: block;
    color: var(--cor-primaria);
    font-size: clamp(2rem, 3.2vw, 3.4rem);
    line-height: 1;
}

.pagamentosPaciente__list {
    display: grid;
    gap: 16px;
}

.pagamentosPaciente__card {
    padding: clamp(18px, 3vw, 28px);
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto auto;
    gap: 18px;
    align-items: center;
}

.pagamentosPaciente__cardIcon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: rgba(var(--cor-secundaria-alt-rgb), .28);
    color: var(--cor-primaria);
    font-weight: 900;
}

.pagamentosPaciente__cardInfo h2,
.pagamentosPaciente__cardInfo p,
.pagamentosPaciente__empty h2,
.pagamentosPaciente__empty p {
    margin: 0;
}

.pagamentosPaciente__cardInfo p,
.pagamentosPaciente__empty p {
    color: rgba(var(--cor-primaria-rgb), .68);
}

.pagamentosPaciente__amount {
    color: var(--cor-primaria);
    font-size: clamp(1.35rem, 2.2vw, 2.25rem);
    white-space: nowrap;
}

.pagamentosPaciente__payBtn {
    background: var(--cor-secundaria-alt);
    color: var(--cor-primaria);
    min-width: 128px;
}

.pagamentosPaciente__backBtn:hover,
.pagamentosPaciente__payBtn:hover,
.pagamentosPaciente__empty a:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 20px rgba(var(--cor-primaria-rgb), .12);
}

.pagamentosPaciente__empty {
    padding: clamp(28px, 5vw, 48px);
    text-align: center;
    display: grid;
    justify-items: center;
    gap: 12px;
}

.perfilPaciente__paymentAmount {
    margin: 0 0 10px;
    color: var(--cor-primaria);
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 860px) {
    .pagamentosPaciente__hero,
    .pagamentosPaciente__card {
        grid-template-columns: 1fr;
    }

    .pagamentosPaciente__hero {
        flex-direction: column;
    }

    .pagamentosPaciente__summaryGrid {
        grid-template-columns: 1fr;
    }

    .pagamentosPaciente__amount,
    .pagamentosPaciente__form {
        justify-self: start;
    }
}

/* Emissão de nota do serviço */
.pagamentosProfissional__statusBtn--nota {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--cor-secundaria);
    color: var(--color-branco);
    text-decoration: none;
    white-space: nowrap;
}

.emissaoNota__page {
    background: rgba(var(--cor-detalhes-rgb), .35);
    color: var(--cor-primaria);
}

.emissaoNota__container {
    width: 100%;
    max-width: 1180px;
    display: grid;
    gap: 20px;
}

.emissaoNota__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    padding: 10px 2px 4px;
}

.emissaoNota__eyebrow,
.emissaoNota__label {
    margin: 0 0 8px;
    color: var(--cor-secundaria);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.emissaoNota__title {
    margin: 0;
    color: var(--cor-primaria);
    font-size: clamp(2rem, 3vw, 3.2rem);
    line-height: 1.08;
}

.emissaoNota__subtitle {
    max-width: 760px;
    margin: 10px 0 0;
    color: rgba(var(--cor-primaria-rgb), .72);
    font-size: clamp(1rem, 1.3vw, 1.4rem);
}

.emissaoNota__backBtn,
.emissaoNota__empty a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 12px 20px;
    background: var(--cor-primaria);
    color: var(--color-branco);
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.emissaoNota__backBtn:hover,
.emissaoNota__empty a:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 22px rgba(var(--cor-primaria-rgb), .16);
}

.emissaoNota__feedback {
    margin: 0;
    padding: 12px 16px;
    border-radius: 12px;
    font-weight: 800;
}

.emissaoNota__feedback--success {
    border: 1px solid rgba(var(--cor-secundaria-alt-rgb), .65);
    background: rgba(var(--cor-secundaria-alt-rgb), .18);
    color: var(--cor-primaria);
}

.emissaoNota__feedback--error {
    border: 1px solid rgba(var(--cor-secundaria-rgb), .34);
    background: rgba(var(--cor-secundaria-rgb), .10);
    color: var(--cor-secundaria);
}

.emissaoNota__paper,
.emissaoNota__empty {
    background: var(--color-branco);
    border: 1px solid rgba(var(--cor-primaria-rgb), .10);
    border-radius: 24px;
    box-shadow: 0 14px 32px rgba(var(--cor-primaria-rgb), .08);
}

.emissaoNota__paper {
    display: grid;
    gap: 22px;
    padding: clamp(22px, 4vw, 36px);
}

.emissaoNota__paperTop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(var(--cor-primaria-rgb), .10);
}

.emissaoNota__number {
    color: var(--cor-primaria);
    font-size: clamp(1.35rem, 2.2vw, 2.3rem);
}

.emissaoNota__status {
    border-radius: 999px;
    padding: 10px 16px;
    background: var(--cor-secundaria-alt);
    color: var(--cor-primaria);
    font-weight: 900;
    text-transform: uppercase;
}

.emissaoNota__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.emissaoNota__box,
.emissaoNota__service {
    border: 1px solid rgba(var(--cor-primaria-rgb), .10);
    border-radius: 18px;
    padding: 18px;
    background: rgba(var(--cor-detalhes-rgb), .18);
}

.emissaoNota__box h2,
.emissaoNota__service h2,
.emissaoNota__empty h2,
.emissaoNota__box p,
.emissaoNota__empty p {
    margin: 0;
}

.emissaoNota__box h2,
.emissaoNota__service h2 {
    margin-bottom: 12px;
    color: var(--cor-secundaria);
    font-size: 1.25rem;
}

.emissaoNota__box p + p {
    margin-top: 8px;
}

.emissaoNota__service {
    display: grid;
    gap: 12px;
}

.emissaoNota__serviceRow {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(var(--cor-primaria-rgb), .10);
}

.emissaoNota__serviceRow span {
    color: rgba(var(--cor-primaria-rgb), .68);
}

.emissaoNota__serviceRow--total {
    border-bottom: 0;
    font-size: 1.35rem;
}

.emissaoNota__integrationNote {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 18px;
    padding: 16px;
    background: rgba(var(--cor-secundaria-alt-rgb), .20);
}

.emissaoNota__integrationNote .material-symbols-outlined {
    color: var(--cor-secundaria);
    font-size: 2rem;
}

.emissaoNota__integrationNote p {
    margin: 0;
    color: rgba(var(--cor-primaria-rgb), .78);
    font-weight: 700;
}

.emissaoNota__empty {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: clamp(28px, 5vw, 48px);
    text-align: center;
}

.emissaoNota__empty .material-symbols-outlined {
    color: var(--cor-secundaria);
    font-size: 3rem;
}

.emissaoNota__empty p {
    max-width: 620px;
    color: rgba(var(--cor-primaria-rgb), .70);
}

@media (max-width: 760px) {
    .emissaoNota__header,
    .emissaoNota__paperTop,
    .emissaoNota__serviceRow {
        flex-direction: column;
        align-items: flex-start;
    }

    .emissaoNota__grid {
        grid-template-columns: 1fr;
    }
}

.profissional-agenda-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.profissional-agenda-actions__btn {
    text-transform: lowercase;
}

.profissional-agenda-actions__btn--inactive {
    display: none;
}

/* =========================
   Administração da clínica
   ========================= */
.admClinicaBody { margin: 0; background: #eceff3; }
.admClinicaLayout { display: flex; min-height: 100vh; font-family: var(--font-principal); }
.admClinicaSidebar { width: 280px; background: #c94e97; color: #fff; padding: 28px 20px; display: flex; flex-direction: column; }
.admClinicaSidebar h1 { font-size: 2rem; margin: 0 0 24px; }
.admClinicaSidebar h1 span { display: block; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; opacity: .8; }
.admClinicaSidebar nav { display: grid; gap: 10px; }
.admClinicaSidebar nav a { color: #fff; text-decoration: none; padding: 10px 12px; border-radius: 12px; font-weight: 600; }
.admClinicaSidebar nav a.active, .admClinicaSidebar nav a:hover { background: #fff; color: #c94e97; }
.admClinicaNovoAgendamento { margin-top: auto; display: inline-block; background: #fff; color: #c94e97; padding: 12px 14px; border-radius: 14px; text-decoration: none; font-weight: 700; }
.admClinicaMain { flex: 1; padding: 24px; }
.admClinicaTopbar { display: grid; grid-template-columns: 180px 1fr auto; gap: 18px; align-items: center; margin-bottom: 20px; }
.admClinicaTopbar h2 { margin: 0; }
.admClinicaSearch input { width: 100%; border: 0; border-radius: 999px; background: #fff; padding: 12px 16px; }
.admClinicaCards { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 14px; margin-bottom: 20px; }
.admClinicaCards article { background: #fff; border-radius: 14px; padding: 18px; }
.admClinicaCards article strong { display: block; font-size: 2rem; }
.admClinicaCards article.receita { background: #c94e97; color: #fff; }
.admClinicaGrid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.admClinicaTabelaWrap, .admClinicaSolicitacoes { background: #fff; border-radius: 14px; overflow: hidden; }
.admClinicaTabelaWrap h3, .admClinicaSolicitacoes h3 { margin: 0; padding: 18px; }
.admClinicaTabela { width: 100%; border-collapse: collapse; }
.admClinicaTabela th, .admClinicaTabela td { text-align: left; padding: 12px 18px; border-top: 1px solid #edf0f2; }
.admClinicaSolicitacoes article { padding: 14px 18px; border-top: 1px solid #edf0f2; display: grid; gap: 4px; }
@media (max-width: 992px) {
  .admClinicaLayout { flex-direction: column; }
  .admClinicaSidebar { width: auto; }
  .admClinicaGrid { grid-template-columns: 1fr; }
  .admClinicaCards { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
}
.admClinicaSidebarPerfil { display: grid; justify-items: start; gap: 8px; margin: 2px 0 20px; }
.admClinicaSidebarPerfil img,
.admClinicaSidebarPerfilFallback { width: 56px; height: 56px; border-radius: 50%; background: #fff; object-fit: cover; display: grid; place-items: center; color: #c94e97; font-weight: 700; font-size: 1.2rem; }
.admClinicaSidebarPerfil strong { font-size: 1rem; line-height: 1.2; color: #fff; }

/* =========================
   Profissionais vinculados (ADM Clínica)
   ========================= */
.profissionaisVinculados {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.profissionaisVinculados__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb), .12);
    border-radius: 16px;
    padding: 1rem 1.2rem;
}
.profissionaisVinculados__header h1 { margin: 0; color: var(--cor-primaria); font-size: 1.5rem; }
.profissionaisVinculados__header p { margin: .35rem 0 0; color: #516171; }
.profissionaisVinculados__novo { background: var(--cor-secundaria); color: #fff; text-decoration:none; padding:.7rem 1rem; border-radius:999px; font-weight:600; }
.profissionaisVinculados__cards { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:.8rem; }
.profissionaisVinculados__cards article{background:#fff; border:1px solid rgba(var(--cor-primaria-rgb), .12); border-radius:14px; padding:1rem;}
.profissionaisVinculados__cards strong{font-size:1.5rem; color:var(--cor-primaria); display:block;}
.profissionaisVinculados__cards span{color:#516171; font-size:.92rem;}
.profissionaisVinculados__filtros form{display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto; gap:.65rem; background:#fff; border:1px solid rgba(var(--cor-primaria-rgb), .12); padding:.9rem; border-radius:14px;}
.profissionaisVinculados__filtros input,
.profissionaisVinculados__filtros select,
.profissionaisVinculados__filtros button{border:1px solid rgba(var(--cor-primaria-rgb), .22); border-radius:10px; padding:.62rem .7rem; font:inherit;}
.profissionaisVinculados__filtros button{background:var(--cor-primaria); color:#fff; font-weight:600;}
.profissionaisVinculados__tableWrap{background:#fff; border:1px solid rgba(var(--cor-primaria-rgb), .12); border-radius:14px; padding:.65rem; overflow-x:auto;}
.profissionaisVinculados__table{width:100%; border-collapse:collapse; min-width:900px;}
.profissionaisVinculados__table th, .profissionaisVinculados__table td{padding:.72rem; border-bottom:1px solid rgba(var(--cor-primaria-rgb), .08); vertical-align:middle;}
.profissionaisVinculados__profissionalCell{display:flex; gap:.65rem; align-items:center;}
.profissionaisVinculados__avatar{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--cor-secundaria-rgb), .12);color:var(--cor-secundaria);font-weight:700;}
.profissionaisVinculados__profissionalCell small,.profissionaisVinculados__doc{display:block;color:#657588;font-size:.83rem;}
.profissionaisVinculados__status{padding:.28rem .6rem; border-radius:999px; font-size:.78rem; font-weight:700;}
.profissionaisVinculados__status.is-ativo{background:#d1fae5;color:#065f46;}
.profissionaisVinculados__status.is-pendente{background:#fef3c7;color:#92400e;}
.profissionaisVinculados__status.is-inativo{background:#e5e7eb;color:#374151;}
.profissionaisVinculados__acoes{display:flex; flex-wrap:wrap; gap:.45rem;}
.profissionaisVinculados__acoes a,.profissionaisVinculados__acoes button{border:1px solid rgba(var(--cor-primaria-rgb), .22); background:#fff; color:var(--cor-primaria); border-radius:8px; padding:.32rem .58rem; font-size:.8rem; text-decoration:none;}
.profissionaisVinculados__acoes button{cursor:pointer;}
.profissionaisVinculados__empty{text-align:center; padding:2rem 1rem;}
.profissionaisVinculados__empty a{display:inline-block; margin-top:.7rem; background:var(--cor-secundaria); color:#fff; padding:.65rem 1rem; border-radius:999px; text-decoration:none;}
.profissionaisVinculados__alert{padding:.75rem .9rem; border-radius:10px; font-weight:600;}
.profissionaisVinculados__alert.is-success{background:#dcfce7; color:#166534;}
.profissionaisVinculados__alert.is-error{background:#fee2e2; color:#991b1b;}
@media (max-width: 1080px){
    .profissionaisVinculados__cards{grid-template-columns:repeat(2,minmax(0,1fr));}
    .profissionaisVinculados__filtros form{grid-template-columns:1fr 1fr;}
}
@media (max-width: 680px){
    .profissionaisVinculados__header{flex-direction:column; align-items:flex-start;}
    .profissionaisVinculados__cards{grid-template-columns:1fr;}
    .profissionaisVinculados__filtros form{grid-template-columns:1fr;}
}

/* ===== Banco de Pacientes (Clínica) ===== */
.pacientesClinicasPage{display:flex;flex-direction:column;gap:18px}
.pacientesClinicas__header h1{margin:0;font-size:1.6rem;color:#0f172a}
.pacientesClinicas__cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px}
.pacientesClinicas__cards article{background:#fff;border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:4px}
.pacientesClinicas__cards strong{font-size:1.4rem;color:#1d4ed8}
.pacientesClinicas__cards span{color:#475569;font-size:.9rem}
.pacientesClinicas__filters form{background:#fff;border-radius:14px;padding:14px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.pacientesClinicas__filters input,.pacientesClinicas__filters select{height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;background:#fff;color:#0f172a}
.pacientesClinicas__filters button{height:42px;border:0;border-radius:10px;background:#1d4ed8;color:#fff;padding:0 16px;font-weight:600}
.pacientesClinicas__tableWrap{background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.06);overflow:auto}
.pacientesClinicas__table{width:100%;border-collapse:collapse;min-width:860px}
.pacientesClinicas__table th,.pacientesClinicas__table td{padding:12px 14px;border-bottom:1px solid #e2e8f0;text-align:left}
.pacientesClinicas__table th{font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;color:#64748b}
.pacientesClinicas__badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600}
.pacientesClinicas__badge--ativo{background:#dcfce7;color:#166534}
.pacientesClinicas__badge--pendente{background:#fef3c7;color:#92400e}
.pacientesClinicas__badge--inativo{background:#fee2e2;color:#991b1b}
.pacientesClinicas__btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:8px;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-weight:600;font-size:.85rem}
.pacientesClinicas__btn.is-disabled{opacity:.6;cursor:not-allowed}
.pacientesClinicas__pagination{display:flex;gap:8px;flex-wrap:wrap}
.pacientesClinicas__pagination a{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;color:#1e293b;text-decoration:none;border:1px solid #cbd5e1}
.pacientesClinicas__pagination a.is-active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.pacientesClinicas__erro{margin:0;padding:16px;color:#991b1b}
@media (max-width:1024px){.pacientesClinicas__cards{grid-template-columns:repeat(2,minmax(140px,1fr))}.pacientesClinicas__filters form{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pacientesClinicas__cards{grid-template-columns:1fr}.pacientesClinicas__filters form{grid-template-columns:1fr}.pacientesClinicas__filters button{width:100%}}

/* =========================
   Agenda da clínica (ADM)
   ========================= */
.agendaClinicaMain { padding: 26px; }
.agendaGrid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr); gap: 18px; align-items: start; }
.agendaCalendarCard,
.agendaDayAppointments,
.agendaLembretes {
    background: #fff;
    border-radius: 18px;
    padding: 18px;
    border: 1px solid rgba(22, 36, 62, .08);
    box-shadow: 0 10px 28px rgba(17, 24, 39, .06);
}
.agendaSidebar { display: grid; gap: 16px; }
.agendaHeader { display: flex; justify-content: space-between; gap: 16px; align-items: start; margin-bottom: 16px; }
.agendaHeader h2 { margin: 0 0 4px; font-size: clamp(1.5rem, 2.5vw, 2rem); color: #101828; text-transform: capitalize; }
.agendaHeader p { margin: 0; color: #667085; }
.agendaBtn { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; text-decoration: none; background: #c94e97; color: #fff; font-weight: 700; padding: 9px 14px; }
.agendaWeekdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; margin-bottom: 10px; }
.agendaWeekdays span { text-align: center; font-size: .79rem; font-weight: 700; letter-spacing: .03em; color: #6b7280; }
.agendaDays { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.agendaDay {
    min-height: 84px;
    border-radius: 14px;
    background: #f7f8fb;
    border: 1px solid #e6e9f0;
    padding: 8px;
    display: grid;
    align-content: space-between;
    gap: 6px;
    text-decoration: none;
    color: #1f2937;
}
.agendaDay strong { font-size: .96rem; }
.agendaDay .dotCount {
    display: inline-flex;
    align-items: center;
    font-size: .73rem;
    font-weight: 700;
    color: #7f2b5e;
    background: rgba(201, 78, 151, .16);
    border-radius: 999px;
    padding: 2px 8px;
    width: fit-content;
}
.agendaDay.today { border-color: #c94e97; }
.agendaDay.selected { background: #fff0f8; border-color: #b23680; box-shadow: inset 0 0 0 1px rgba(178, 54, 128, .12); }
.agendaDay.disabled { opacity: .35; pointer-events: none; }
.cardHeader { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.cardHeader h3 { margin: 0; font-size: 1.25rem; color: #101828; }
.cardHeader a { color: #b23680; font-weight: 700; text-decoration: none; }
.agendaFilterForm select,
.addLembreteForm input,
.addLembreteForm select {
    height: 40px;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
    padding: 0 10px;
    font: inherit;
}
.agendaFilterForm select { width: 100%; max-width: 220px; margin-bottom: 10px; }
.apptItem {
    width: 100%;
    border: 1px solid #e4e7ec;
    border-radius: 12px;
    background: #fff;
    padding: 10px;
    margin-top: 10px;
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    gap: 10px;
    align-items: center;
    text-align: left;
    cursor: pointer;
}
.apptItem .time { font-weight: 700; color: #7f2b5e; }
.apptItem .avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(201, 78, 151, .16);
    color: #7f2b5e;
    font-weight: 800;
}
.apptItem .meta { display: grid; }
.apptItem .meta small { color: #667085; }
.statusTag { padding: 4px 9px; border-radius: 999px; font-size: .73rem; font-weight: 800; }
.status-agendado { background: #dcfce7; color: #166534; }
.status-cancelado { background: #fee2e2; color: #991b1b; }
.status-finalizado { background: #e0ecff; color: #1e40af; }
.emptyState { margin: 10px 0 0; color: #667085; }
.addLembreteForm { display: grid; grid-template-columns: minmax(0, 1fr) 140px 120px auto; gap: 6px; }
.addLembreteForm button { border: 0; border-radius: 10px; background: #c94e97; color: #fff; font-weight: 700; min-width: 38px; }
.lembreteItem { margin-top: 8px; display: flex; align-items: center; gap: 8px; border: 1px solid #eceff3; border-radius: 10px; padding: 8px 10px; }
.checkBtn { border: 0; background: transparent; font-size: 1rem; color: #b23680; cursor: pointer; }
.lembreteItem.done span { text-decoration: line-through; color: #98a2b3; }
.agendaModal { position: fixed; inset: 0; background: rgba(2, 6, 23, .45); display: none; align-items: center; justify-content: center; padding: 20px; z-index: 999; }
.agendaModal.open { display: flex; }
.agendaModalContent { width: min(560px, 100%); background: #fff; border-radius: 16px; padding: 20px; position: relative; }
.agendaModalContent h3 { margin-top: 0; }
.closeModal { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; font-size: 1.8rem; cursor: pointer; color: #667085; }

@media (max-width: 1180px) {
    .agendaGrid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
    .agendaClinicaMain { padding: 16px; }
    .agendaWeekdays,
    .agendaDays { gap: 5px; }
    .agendaDay { min-height: 72px; }
    .apptItem { grid-template-columns: auto 1fr auto; }
    .apptItem .avatar { display: none; }
    .addLembreteForm { grid-template-columns: 1fr; }
}

/* =========================
   Dashboard Financeiro Clínica
   ========================= */
.financeiroClinica__page {
    background: #f5f6f8;
    min-height: 100vh;
    padding: clamp(20px, 3vw, 36px) var(--layout-content-padding-inline) 48px;
}

.financeiroClinica__container {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.financeiroClinica__title {
    margin: 0 0 26px;
    font-size: clamp(2rem, 2.8vw, 2.6rem);
    color: #212121;
}

.financeiroClinica__cardsTop {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 22px;
    margin-bottom: 24px;
    max-width: 700px;
}

.financeiroClinica__card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(19, 30, 44, 0.08);
    padding: 22px 24px;
}

.financeiroClinica__card--receita { border-bottom: 4px solid #bf3a87; }
.financeiroClinica__card--receber { border-bottom: 4px solid #d4322e; }

.financeiroClinica__cardLabel { color: #5e5560; margin: 0 0 10px; font-size: 1.05rem; }
.financeiroClinica__cardValue { display: block; font-size: clamp(2rem, 2.8vw, 2.8rem); margin-bottom: 8px; color: #1f1f25; }
.financeiroClinica__cardHint { color: #6d6a72; font-size: 0.95rem; }

.financeiroClinica__cardCategoria { max-width: 420px; margin-bottom: 28px; }
.financeiroClinica__subtitle { margin: 0 0 18px; font-size: 1.65rem; color: #252129; }

.financeiroClinica__categoriaItem { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 8px; }
.financeiroClinica__categoriaTexto { display: inline-flex; align-items: center; gap: 10px; color: #262626; }
.financeiroClinica__dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.financeiroClinica__dot--magenta { background: #ab2d79; }
.financeiroClinica__dot--lima { background: #6d7d03; }
.financeiroClinica__dot--azul { background: #42566f; }

.financeiroClinica__barra { height: 9px; border-radius: 999px; background: #e4e5e9; overflow: hidden; margin-bottom: 14px; }
.financeiroClinica__barraFill { display: block; height: 100%; }
.financeiroClinica__barraFill--magenta { background: #ab2d79; }
.financeiroClinica__barraFill--lima { background: #6d7d03; }
.financeiroClinica__barraFill--azul { background: #42566f; }

.financeiroClinica__tableWrap {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(19, 30, 44, 0.08);
    overflow: auto;
}

.financeiroClinica__table { width: 100%; border-collapse: collapse; min-width: 920px; }
.financeiroClinica__table thead th {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.74rem;
    color: #6b6270;
    background: #f6f4f7;
    text-align: left;
    padding: 16px 18px;
}
.financeiroClinica__table tbody td { padding: 16px 18px; border-top: 1px solid #efedf1; color: #302d34; font-size: 1rem; }

.financeiroClinica__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 14px;
    font-weight: 700;
    font-size: 0.75rem;
}
.financeiroClinica__status--pago { background: #caefd9; color: #148044; }
.financeiroClinica__status--pendente { background: #f5e3cb; color: #cf6100; }
.financeiroClinica__status--cancelado { background: #f4dde1; color: #cd1f33; }

.financeiroClinica__acao { border: 0; background: transparent; font-size: 1.6rem; line-height: 1; color: #5f4d59; cursor: pointer; }

@media (max-width: 768px) {
    .financeiroClinica__page { padding-top: 14px; }
    .financeiroClinica__title { font-size: 1.8rem; }
}

/* Dashboard administrativo da clínica */
.admClinicaBody { background: #f3f5fb; }
.admClinicaMain { padding: clamp(16px, 2vw, 28px); }
.admClinicaTopbar { grid-template-columns: 1fr auto; }
.admClinicaHero { background: #fff; border: 1px solid #e8ebf2; border-radius: 18px; box-shadow: 0 8px 24px rgba(31, 41, 55, .06); padding: 16px 18px; }
.admClinicaTopbarSubtitle { margin: 6px 0 0; color: #596174; font-size: .95rem; }
.admClinicaTopbarDate { margin: 8px 0 0; font-weight: 700; color: #374151; }
.admClinicaPerfil { background: #fff; border: 1px solid #e8ebf2; border-radius: 999px; padding: 10px 14px; font-weight: 700; color: #7f2b5e; height: fit-content; }
.admClinicaCards { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
.admCardMetric { border: 1px solid #e6eaf0; box-shadow: 0 8px 20px rgba(26,42,77,.06); display: grid; gap: 4px; }
.admCardMetric .icon { font-size: 1.2rem; }
.admCardMetric strong { color: #1f2937; }
.admCardMetric small { color: #5e6678; font-weight: 600; line-height: 1.35; }
.admCardMetric.receita { background: linear-gradient(135deg, #c94e97, #913ed9); color: #fff; border: 0; }
.admCardMetric.receita strong, .admCardMetric.receita small { color: rgba(255,255,255,.95); }
.admFiltrosWrap { background: #fff; border: 1px solid #e6eaf0; border-radius: 14px; padding: 12px; margin-bottom: 16px; }
.admFiltrosForm { display: grid; grid-template-columns: 2fr 1fr 1fr auto auto; gap: 10px; }
.admFiltrosForm input, .admFiltrosForm select, .admFiltrosForm button, .admFiltrosForm a {
    height: 42px; border-radius: 10px; border: 1px solid #d4d8e3; padding: 0 12px; font: inherit;
}
.admFiltrosForm button { background: #2d5bff; color: #fff; border-color: #2d5bff; font-weight: 700; cursor: pointer; }
.admFiltrosForm a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #475569; background: #f8fafc; font-weight: 600; }
.admConsultaDestaque { margin-bottom: 16px; border: 1px solid #f2d0e4; background: #fff7fc; color: #70244f; border-radius: 12px; padding: 11px 14px; font-size: .95rem; }
.admDashboardGrid { align-items: start; }
.admCardHeader { display: flex; align-items: center; justify-content: space-between; padding: 18px; border-bottom: 1px solid #edf0f2; }
.admCardHeader h3 { margin: 0; }
.admCardHeader span { font-size: .85rem; color: #70788c; font-weight: 600; }
.admTabelaResponsiva { overflow-x: auto; }
.admLinkDetalhes { color: #6d2bf7; font-weight: 700; text-decoration: none; white-space: nowrap; }
.admLinkDetalhes:hover { text-decoration: underline; }
.admNotificacoesWrap { padding-bottom: 14px; }
.admNotificacoesLista,
.admNotificacoesExpandida { display: grid; gap: 10px; padding: 14px 16px; }
.admNotificacaoItem { border: 1px solid #e6eaf0; border-radius: 12px; padding: 12px; background: #fafbff; }
.admNotificacaoItem.naoLida { border-left: 4px solid #c94e97; }
.admNotificacaoItem h4 { margin: 0 0 6px; font-size: .98rem; }
.admNotificacaoItem p { margin: 0 0 8px; color: #465068; font-size: .92rem; }
.admNotificacaoItem small { color: #70788c; font-size: .8rem; }
.admVerMaisBtn { margin: 0 16px 8px; border: 0; background: #eef1ff; color: #5327c9; border-radius: 10px; padding: 10px 12px; font-weight: 700; cursor: pointer; }
.admVerMaisBtn:hover { background: #e3e8ff; }

@media (max-width: 1100px) {
  .admFiltrosForm { grid-template-columns: 1fr 1fr; }
  .admClinicaTopbar { grid-template-columns: 1fr; }
  .admClinicaTabela th,
  .admClinicaTabela td { min-width: 120px; }
}
@media (max-width: 640px) {
  .admFiltrosForm { grid-template-columns: 1fr; }
}

/* =========================
   Tela de entrada
   ========================= */
.entrada-page {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: var(--color-preto);
    margin: 0;
}

.entrada-page * {
    box-sizing: border-box;
}

.entrada-video {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: var(--color-preto);
}

.btn-pular {
    position: fixed;
    top: clamp(14px, 3vw, 20px);
    right: clamp(14px, 3vw, 20px);
    z-index: 10;
    padding: 10px 18px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.45);
    color: var(--color-branco);
    font-family: var(--font-principal);
    font-size: 14px;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: background 0.2s ease, border-color 0.2s ease;
}

.btn-pular:hover,
.btn-pular:focus-visible {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.75);
    outline: none;
}

/* =========================
   Sobre Page redesign (sobre.php)
   ========================= */
.sobrePage__page,
.sobrePage__page * {
    box-sizing: border-box;
}

.sobrePage__page {
    --sobre-pink: #bf2f83;
    --sobre-purple: #8d2a7a;
    --sobre-lime: #d7df6d;
    --sobre-ink: #111318;
    --sobre-muted: #667085;
    --sobre-surface: #f4f6f7;
    padding: var(--layout-main-padding-block) 0 clamp(56px, 8vw, 110px);
    background:
        radial-gradient(circle at 17% 5%, rgba(215, 223, 109, 0.22), transparent 25%),
        radial-gradient(circle at 84% 7%, rgba(191, 47, 131, 0.12), transparent 24%),
        linear-gradient(180deg, #fbfcfc 0%, #f2f5f6 35%, #f7f8f8 100%);
    color: var(--sobre-ink);
}

.sobrePage__container {
    width: min(100% - (var(--layout-content-padding-inline) * 2), 1220px);
    max-width: 1220px;
    padding-inline: 0;
    gap: clamp(58px, 8vw, 96px);
}

.sobrePage__hero {
    min-height: auto;
    overflow: visible;
    box-shadow: none;
    border-radius: 0;
    padding: clamp(58px, 9vw, 122px) clamp(18px, 4vw, 60px) clamp(34px, 6vw, 70px);
    text-align: center;
    display: grid;
    justify-items: center;
    gap: 18px;
    isolation: isolate;
}

.sobrePage__heroGlow {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 48% 10%, rgba(255, 255, 255, 0.95), transparent 38%),
        radial-gradient(ellipse at 12% 62%, rgba(215, 223, 109, 0.18), transparent 28%),
        radial-gradient(ellipse at 78% 72%, rgba(191, 47, 131, 0.09), transparent 28%);
    filter: blur(2px);
}

.sobrePage__hero .sobrePage__eyebrow {
    margin: 0;
    color: var(--sobre-ink);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sobrePage__hero .sobrePage__title {
    margin: 0;
    color: var(--sobre-ink);
    font-size: clamp(2.45rem, 6vw, 5.65rem);
    font-style: normal;
    font-weight: 900;
    letter-spacing: -0.07em;
    line-height: 0.92;
    overflow: hidden;
    text-wrap: balance;
}

.sobrePage__titleLine,
.sobrePage__titleAccent {
    display: inline-block;
}

.sobrePage__titleLine {
    animation: slide-in-left 900ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.sobrePage__titleAccent {
    color: var(--sobre-pink);
    font-style: italic;
    font-weight: 800;
    letter-spacing: -0.055em;
    animation: slide-in-right 900ms cubic-bezier(0.22, 1, 0.36, 1) 120ms both;
}

@keyframes slide-in-left {
    0% {
        transform: translateX(-200%);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes slide-in-right {
    0% {
        transform: translateX(200%);
    }
    100% {
        transform: translateX(0);
    }
}

.sobrePage__hero .sobrePage__subtitle {
    margin: 0;
    width: min(100%, 620px);
    color: var(--sobre-ink);
    font-size: clamp(1rem, 1.6vw, 1.16rem);
    line-height: 1.55;
}

.sobrePage__missionVision {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(22px, 3vw, 34px);
}

.sobrePage__parallaxZone {
    position: relative;
    isolation: isolate;
}

.sobrePage__parallaxZone::before,
.sobrePage__parallaxZone::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border-radius: 999px;
    filter: blur(2px);
    opacity: 0.78;
    transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.35), 0);
}

.sobrePage__missionVision::before {
    width: clamp(120px, 16vw, 230px);
    height: clamp(120px, 16vw, 230px);
    left: -7%;
    top: -18%;
    background: radial-gradient(circle, rgba(191, 47, 131, 0.12), transparent 68%);
}

.sobrePage__missionVision::after {
    width: clamp(140px, 18vw, 260px);
    height: clamp(140px, 18vw, 260px);
    right: -8%;
    bottom: -28%;
    background: radial-gradient(circle, rgba(215, 223, 109, 0.18), transparent 70%);
}

.sobrePage__values::before {
    width: clamp(150px, 19vw, 280px);
    height: clamp(150px, 19vw, 280px);
    left: 6%;
    top: 10%;
    background: radial-gradient(circle, rgba(215, 223, 109, 0.12), transparent 72%);
}

.sobrePage__values::after {
    width: clamp(140px, 18vw, 260px);
    height: clamp(140px, 18vw, 260px);
    right: 2%;
    bottom: -16%;
    background: radial-gradient(circle, rgba(191, 47, 131, 0.10), transparent 72%);
}

.sobrePage__parallaxItem {
    --parallax-y: 0px;
    transform: translate3d(0, var(--parallax-y), 0);
    will-change: transform;
}

.sobrePage__infoCard {
    min-height: 245px;
    padding: clamp(28px, 4vw, 46px);
    border-radius: 10px;
    border-left: 3px solid var(--sobre-pink);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 58px rgba(17, 19, 24, 0.055);
    display: grid;
    align-content: center;
    gap: 14px;
    transition: box-shadow 220ms ease;
}

.sobrePage__infoCard--lime { border-left-color: var(--sobre-lime); }
.sobrePage__infoCard:hover { box-shadow: 0 28px 70px rgba(17, 19, 24, 0.09); }

.sobrePage__infoIcon,
.sobrePage__valueIcon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--sobre-pink);
    background: rgba(191, 47, 131, 0.09);
}

.sobrePage__infoCard--lime .sobrePage__infoIcon { color: #899200; background: rgba(215, 223, 109, 0.22); }
.sobrePage__infoIcon svg,
.sobrePage__valueIcon svg { width: 22px; height: 22px; }

.sobrePage__infoTitle,
.sobrePage__sectionTitle,
.sobrePage__journeyIntro h2 {
    margin: 0;
    color: var(--sobre-ink);
    font-style: normal;
    font-weight: 800;
    letter-spacing: -0.035em;
}

.sobrePage__infoTitle { font-size: clamp(1.3rem, 2vw, 1.72rem); }
.sobrePage__infoText { margin: 0; color: var(--sobre-muted); font-size: 1rem; line-height: 1.65; }

.sobrePage__values {
    display: grid;
    justify-items: center;
    gap: 18px;
    text-align: center;
}

.sobrePage__sectionTitle { font-size: clamp(1.85rem, 3vw, 2.55rem); }
.sobrePage__sectionUnderline { width: 78px; height: 4px; border-radius: 999px; background: var(--sobre-pink); }

.sobrePage__valuesGrid {
    width: 100%;
    margin-top: clamp(26px, 4vw, 46px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 4vw, 64px);
}

.sobrePage__valueItem {
    display: grid;
    justify-items: center;
    gap: 13px;
    padding: 8px clamp(8px, 2vw, 18px);
}

.sobrePage__valueIcon { width: 58px; height: 58px; border-radius: 50%; background: #e9ecef; }
.sobrePage__valueTitle { margin: 0; color: var(--sobre-ink); font-size: 1.09rem; font-weight: 800; }
.sobrePage__valueText { margin: 0; color: var(--sobre-muted); font-size: 0.95rem; line-height: 1.55; }

.sobrePage__imageBanner {
    position: relative;
    min-height: clamp(340px, 40vw, 505px);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(17, 19, 24, 0.14);
}

.sobrePage__imageBanner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sobrePage__imageOverlay { position: absolute; inset: 0; background: none; pointer-events: none; }
.sobrePage__imageContent { position: relative; z-index: 1; min-height: inherit; padding: clamp(28px, 5vw, 48px); display: grid; align-content: end; max-width: 720px; color: #fff; }
.sobrePage__imageContent h2 { margin: 0 0 12px; font-size: clamp(1.85rem, 4vw, 3.35rem); line-height: 1; letter-spacing: -0.045em; }
.sobrePage__imageContent p { margin: 0; max-width: 620px; font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.62; color: rgba(255,255,255,.92); }

.sobrePage__journey {
    grid-template-columns: 0.72fr 1.28fr;
    align-items: start;
    gap: clamp(34px, 6vw, 82px);
    padding: clamp(36px, 6vw, 70px) 0;
}

.sobrePage__journeyIntro { position: sticky; top: 110px; display: grid; gap: 16px; }
.sobrePage__journeyIntro h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.05; }
.sobrePage__journeyIntro p { margin: 0; color: var(--sobre-muted); line-height: 1.65; font-size: 1rem; }

.sobrePage__timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
    overflow: visible;
    padding: 0 0 0 34px;
    scrollbar-width: auto;
}

.sobrePage__timeline::before {
    left: 9px;
    right: auto;
    top: 10px;
    bottom: 10px;
    width: 1px;
    height: auto;
    background: rgba(17, 19, 24, 0.08);
}

.sobrePage__timelineItem {
    min-height: auto;
    padding: 0 0 0 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.sobrePage__timelineItem::after { display: none; }
.sobrePage__timelineDot { position: absolute; left: -30px; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--sobre-pink); box-shadow: 0 0 0 6px #f2f5f6; }
.sobrePage__timelineYear { margin: 0 0 7px; color: var(--sobre-pink); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.sobrePage__timelineTitle { margin: 0 0 10px; color: var(--sobre-ink); font-size: clamp(1.12rem, 1.7vw, 1.45rem); font-weight: 800; }
.sobrePage__timelineText { margin: 0; color: var(--sobre-muted); line-height: 1.6; }
.sobrePage__timelineItem:hover { transform: none; box-shadow: none; }

@media (prefers-reduced-motion: reduce) {
    .sobrePage__titleLine,
    .sobrePage__titleAccent {
        animation: none;
    }

    .sobrePage__parallaxItem,
    .sobrePage__parallaxZone::before,
    .sobrePage__parallaxZone::after {
        transform: none;
        will-change: auto;
    }
}

@media (max-width: 900px) {
    .sobrePage__missionVision,
    .sobrePage__valuesGrid,
    .sobrePage__journey { grid-template-columns: 1fr; }
    .sobrePage__journeyIntro { position: static; }
}

@media (max-width: 640px) {
    .sobrePage__container { gap: 48px; }
    .sobrePage__hero { padding-inline: 0; }
    .sobrePage__missionVision { gap: 18px; }
    .sobrePage__infoCard { min-height: auto; }
    .sobrePage__imageBanner { border-radius: 18px; }
    .sobrePage__timeline { padding-left: 24px; }
    .sobrePage__timelineDot { left: -20px; }
}

/* =========================
   Chat page
   ========================= */
.chatPage__page {
    --chatPage-pink: var(--cor-secundaria);
    --chatPage-pink-rgb: var(--cor-secundaria-rgb);
    --chatPage-lime: var(--cor-secundaria-alt);
    --chatPage-ink: #15151d;
    --chatPage-muted: #73727c;
    --chatPage-soft: #f6f7f9;
    --chatPage-bubble: #eceef1;
    width: min(100%, 1440px);
    height: calc(100vh - 132px);
    min-height: 640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    overflow: hidden;
    background: var(--color-branco);
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.07);
    box-shadow: 0 24px 70px rgba(var(--cor-primaria-rgb), 0.08);
}

.chatPage__sidebar {
    min-width: 0;
    background: var(--color-branco);
    border-right: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.chatPage__sidebarTop {
    padding: 32px 24px 30px;
    display: grid;
    gap: 28px;
}

.chatPage__sidebarTitle {
    margin: 0;
    color: var(--chatPage-pink);
    font-family: var(--font-principal);
    font-size: 1.08rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.chatPage__backLink {
    width: fit-content;
    min-height: 42px;
    padding: 0 18px 0 14px;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--color-branco);
    color: var(--chatPage-ink);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(var(--cor-primaria-rgb), 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, color 180ms ease, background 180ms ease;
}

.chatPage__backLink::before {
    content: "‹";
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--chatPage-pink-rgb), 0.1);
    color: var(--chatPage-pink);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1;
    transition: background 180ms ease, color 180ms ease;
}

.chatPage__backLink:hover,
.chatPage__backLink:focus-visible {
    border-color: rgba(var(--chatPage-pink-rgb), 0.28);
    background: linear-gradient(135deg, var(--color-branco), rgba(var(--chatPage-pink-rgb), 0.06));
    color: var(--chatPage-pink);
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(var(--chatPage-pink-rgb), 0.16);
    transform: translateY(-2px);
}

.chatPage__backLink:hover::before,
.chatPage__backLink:focus-visible::before {
    background: var(--chatPage-pink);
    color: var(--color-branco);
}

.chatPage__search {
    min-height: 56px;
    padding: 0 18px;
    border-radius: 999px;
    background: #eef0f3;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #3c3a43;
    transition: box-shadow 180ms ease, background 180ms ease;
}

.chatPage__search:focus-within {
    background: var(--color-branco);
    box-shadow: 0 0 0 3px rgba(var(--chatPage-pink-rgb), 0.16), inset 0 0 0 1px rgba(var(--chatPage-pink-rgb), 0.35);
}

.chatPage__searchIcon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: currentColor;
}

.chatPage__searchInput {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--chatPage-ink);
    font: 400 1rem/1.2 var(--font-principal);
}

.chatPage__searchInput::placeholder { color: #55525c; }

.chatPage__contacts {
    flex: 1;
    overflow-y: auto;
    padding: 0 0 18px;
}

.chatPage__contact {
    position: relative;
    min-height: 88px;
    padding: 16px 18px 16px 16px;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    color: inherit;
    text-decoration: none;
    transition: background 180ms ease, transform 180ms ease;
}

.chatPage__contact:hover {
    background: rgba(var(--chatPage-pink-rgb), 0.055);
    transform: translateX(2px);
}

.chatPage__contactActive {
    background: rgba(var(--chatPage-pink-rgb), 0.09);
}

.chatPage__contactActive::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background: var(--chatPage-pink);
}

.chatPage__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(135deg, var(--chatPage-pink), #d5529c);
    color: var(--color-branco);
    font-weight: 800;
    letter-spacing: -0.05em;
}

.chatPage__avatar img,
img.chatPage__avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

img.chatPage__avatar {
    display: block;
}

.chatPage__contactInfo {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.chatPage__contactName {
    color: var(--chatPage-ink);
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chatPage__contactPreview {
    color: var(--chatPage-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chatPage__contactMeta {
    align-self: start;
    padding-top: 6px;
    display: grid;
    justify-items: end;
    gap: 12px;
    color: #55525c;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
}

.chatPage__unreadDot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--chatPage-pink);
}

.chatPage__main {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    background: var(--chatPage-soft);
}

.chatPage__header {
    min-height: 92px;
    padding: 18px clamp(18px, 3vw, 36px);
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--color-branco);
    border-bottom: 1px solid rgba(var(--cor-primaria-rgb), 0.08);
    box-shadow: 0 4px 18px rgba(var(--cor-primaria-rgb), 0.04);
    z-index: 2;
}

.chatPage__headerAvatar {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
}

.chatPage__headerInfo {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.chatPage__headerName {
    color: var(--chatPage-ink);
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.chatPage__iconBtn {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--chatPage-pink);
    cursor: pointer;
    transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.chatPage__iconBtn svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.chatPage__iconBtn:hover {
    background: rgba(var(--chatPage-pink-rgb), 0.09);
    transform: translateY(-1px);
}

.chatPage__iconBtn:focus-visible,
.chatPage__sendBtn:focus-visible,
.chatPage__contact:focus-visible,
.chatPage__composerInput:focus-visible {
    outline: 3px solid rgba(var(--chatPage-pink-rgb), 0.35);
    outline-offset: 3px;
}

.chatPage__backBtn { display: none; }

.chatPage__messages {
    min-height: 0;
    padding: 36px clamp(20px, 4vw, 42px) 40px;
    overflow-y: auto;
    background:
        radial-gradient(circle at 24% 8%, rgba(var(--chatPage-pink-rgb), 0.035), transparent 26%),
        var(--chatPage-soft);
}

.chatPage__dateDivider {
    width: fit-content;
    margin: 0 auto 28px;
    padding: 7px 18px;
    border-radius: 999px;
    background: #e7e9ec;
    color: #43414a;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.chat-message,
.chatPage__message {
    display: flex;
    margin: 0 0 26px;
    animation: chatPageFadeIn 260ms ease both;
}

.chat-message--incoming,
.chatPage__messageIncoming { justify-content: flex-start; }

.chat-message--outgoing,
.chatPage__messageOutgoing { justify-content: flex-end; }

.chat-message__bubble,
.chatPage__messageBubble {
    max-width: min(760px, 72%);
    display: grid;
    gap: 8px;
}

.chat-message__text {
    padding: 18px 20px;
    border-radius: 22px;
    font-size: 0.98rem;
    line-height: 1.55;
    box-shadow: 0 10px 24px rgba(var(--cor-primaria-rgb), 0.04);
}

.chat-message--incoming .chat-message__text {
    border-bottom-left-radius: 7px;
    background: var(--chatPage-bubble);
    color: var(--chatPage-ink);
}

.chat-message--outgoing .chat-message__text {
    border-bottom-right-radius: 7px;
    background: linear-gradient(135deg, var(--chatPage-pink), #a62a78);
    color: var(--color-branco);
    box-shadow: 0 14px 28px rgba(var(--chatPage-pink-rgb), 0.24);
}

.chat-message__meta,
.chatPage__messageTime {
    color: #55525c;
    font-size: 0.75rem;
}

.chat-message--outgoing .chat-message__meta,
.chatPage__messageOutgoing .chatPage__messageTime {
    text-align: right;
}

.chatPage__messageRead {
    margin-left: 4px;
    color: var(--chatPage-pink);
}

.chatPage__attachment {
    border-left: 4px solid rgba(var(--chatPage-pink-rgb), 0.35);
    border-radius: 16px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #e8eaed;
    color: var(--chatPage-ink);
}

.chatPage__attachmentIcon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--chatPage-pink-rgb), 0.11);
    color: var(--chatPage-pink);
}

.chatPage__attachmentInfo {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.chatPage__composer {
    margin: 0;
    padding: 26px clamp(20px, 3vw, 32px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    background: var(--color-branco);
}

.chatPage__composerInput {
    grid-column: 1;
    min-height: 64px;
    width: 100%;
    min-width: 0;
    border: 0;
    border-radius: 18px;
    outline: 0;
    padding: 0 22px;
    background: #f0f1f4;
    color: var(--chatPage-ink);
    font: 400 1rem/1.35 var(--font-principal);
    box-shadow: inset 0 0 0 1px rgba(var(--cor-primaria-rgb), 0.04), 0 8px 20px rgba(var(--cor-primaria-rgb), 0.06);
}

.chatPage__sendBtn {
    grid-column: 2;
}

.chatPage__composerInput::placeholder { color: #777480; }

.chatPage__sendBtn {
    width: 54px;
    height: 54px;
    border: 0;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--chatPage-pink), #a72b79);
    color: var(--color-branco);
    box-shadow: 0 10px 22px rgba(var(--chatPage-pink-rgb), 0.32);
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.chatPage__sendBtn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(var(--chatPage-pink-rgb), 0.38);
}

.chatPage__composerInput:disabled,
.chatPage__sendBtn:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.chatPage__sendBtn:disabled:hover {
    box-shadow: 0 10px 22px rgba(var(--chatPage-pink-rgb), 0.18);
    transform: none;
}

.chatPage__approvalNotice {
    margin: 0 clamp(20px, 3vw, 32px) 16px;
    padding: 14px 18px;
    border: 1px solid rgba(180, 83, 9, 0.24);
    border-radius: 16px;
    background: #fff7ed;
    color: #8a4b00;
    font-weight: 600;
}

.chat-warning {
    position: fixed;
    top: 96px;
    left: 50%;
    z-index: 1000;
    transform: translate(-50%, -12px);
    opacity: 0;
    pointer-events: none;
    padding: 12px 18px;
    border-radius: 999px;
    background: var(--chatPage-pink, var(--cor-secundaria));
    color: var(--color-branco);
    box-shadow: 0 16px 32px rgba(var(--cor-secundaria-rgb), 0.28);
    transition: opacity 180ms ease, transform 180ms ease;
}

.chat-warning.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

@keyframes chatPageFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1024px) {
    .chatPage__page {
        grid-template-columns: 280px minmax(0, 1fr);
        height: calc(100vh - 112px);
    }

    .chatPage__messageBubble,
    .chat-message__bubble {
        max-width: 82%;
    }
}

@media (max-width: 760px) {
    .chatPage__page {
        grid-template-columns: 1fr;
        height: calc(100vh - 92px);
        min-height: 560px;
        border-inline: 0;
    }

    .chatPage__sidebar {
        display: none;
    }

    .chatPage__backBtn {
        display: inline-flex;
    }

    .chatPage__header {
        min-height: 78px;
        padding-inline: 12px;
        gap: 10px;
    }

    .chatPage__avatar {
        width: 48px;
        height: 48px;
    }

    .chatPage__headerAvatar {
        flex-basis: 48px;
    }

    .chatPage__messages {
        padding: 24px 14px 28px;
    }

    .chatPage__messageBubble,
    .chat-message__bubble {
        max-width: 88%;
    }

    .chatPage__composer {
        padding: 14px 12px;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }

    .chatPage__sendBtn {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .chatPage__contact,
    .chatPage__iconBtn,
    .chatPage__sendBtn,
    .chat-warning,
    .chat-message,
    .chatPage__message {
        animation: none !important;
        transition: none !important;
    }
}

/* =========================
   Página de conversas
   ========================= */
.conversasPage__page {
    min-height: calc(100vh - 96px);
    background: #f7f8fa;
    color: #171923;
    padding: clamp(24px, 4vw, 42px) var(--layout-content-padding-inline);
}

.conversasPage__container {
    width: min(100%, 1420px);
    margin: 0 auto;
}

.conversasPage__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: clamp(22px, 3vw, 32px);
}

.conversasPage__title {
    margin: 0 0 0.35rem;
    color: #111827;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.045em;
}

.conversasPage__subtitle {
    margin: 0;
    color: #4b5563;
    font-size: clamp(0.95rem, 1.15vw, 1.05rem);
    font-weight: 500;
}

.conversasPage__subtitle strong {
    color: var(--color-rosa);
    font-weight: 700;
}

.conversasPage__tabs {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.06);
    border-radius: 999px;
    background: var(--color-branco);
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}

.conversasPage__tabs::-webkit-scrollbar { display: none; }

.conversasPage__tab {
    flex: 0 0 auto;
    border-radius: 999px;
    color: #2f3747;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.78rem 1.35rem;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.conversasPage__tab:hover,
.conversasPage__tab:focus-visible,
.conversasPage__tabActive {
    background: #fff7fb;
    color: var(--color-rosa);
    box-shadow: inset 0 0 0 1px rgba(var(--cor-secundaria-rgb), 0.06);
}

.conversasPage__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(18px, 2.6vw, 30px);
    align-items: stretch;
}

.conversasPage__listCard {
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.06);
    border-radius: 24px;
    background: var(--color-branco);
    box-shadow: 0 16px 45px rgba(15, 23, 42, 0.045);
    overflow: hidden;
}

.conversasPage__listHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.55rem 1.75rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.conversasPage__listTitle {
    margin: 0;
    color: #111827;
    font-size: 1.08rem;
    font-weight: 800;
}

.conversasPage__sort {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--color-rosa);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.conversasPage__conversations { display: grid; }

.conversasPage__conversation {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    min-height: 82px;
    padding: 0 1rem 0 1.25rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.055);
    transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.conversasPage__conversation:last-child { border-bottom: 0; }

.conversasPage__conversation:hover,
.conversasPage__conversation:focus-within,
.conversasPage__conversationActive {
    background: linear-gradient(90deg, rgba(var(--cor-secundaria-rgb), 0.07), rgba(255, 255, 255, 0));
}

.conversasPage__conversation:hover { transform: translateY(-1px); }

.conversasPage__conversationLink {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    color: inherit;
    text-decoration: none;
    padding: 0.9rem 0;
}

.conversasPage__avatarWrap {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.conversasPage__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    background: #f7d7ea;
    color: transparent;
    border: 0;
}

.conversasPage__avatarInitials {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f2937;
    font-size: 0.94rem;
    font-weight: 800;
    pointer-events: none;
    z-index: -1;
}

.conversasPage__avatarOnline {
    position: absolute;
    right: -1px;
    bottom: 1px;
    width: 11px;
    height: 11px;
    border: 2px solid var(--color-branco);
    border-radius: 999px;
    background: var(--color-verde);
    box-shadow: 0 0 0 2px rgba(var(--cor-secundaria-alt-rgb), 0.16);
}

.conversasPage__conversationInfo {
    min-width: 0;
    display: grid;
    gap: 0.22rem;
}

.conversasPage__conversationName {
    overflow: hidden;
    color: #111827;
    font-size: 0.94rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conversasPage__conversationPreview {
    overflow: hidden;
    color: #5f6675;
    font-size: 0.82rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conversasPage__conversationMeta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    color: #606777;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.conversasPage__unreadDot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--color-rosa);
    box-shadow: 0 0 0 4px rgba(var(--cor-secundaria-rgb), 0.1);
}

.conversasPage__deleteForm { margin: 0; }

.conversasPage__deleteButton {
    border: 1px solid rgba(var(--cor-secundaria-rgb), 0.16);
    border-radius: 999px;
    background: #fff7fb;
    color: var(--color-rosa);
    font-size: 0.73rem;
    font-weight: 800;
    padding: 0.45rem 0.7rem;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.conversasPage__deleteButton:hover,
.conversasPage__deleteButton:focus-visible {
    background: var(--color-rosa);
    border-color: var(--color-rosa);
    color: var(--color-branco);
}

.conversasPage__emptyList {
    margin: 1.5rem;
    padding: 1rem;
    border-radius: 16px;
    background: #eef7ff;
    color: #24537a;
    font-weight: 600;
}

.conversasPage__fadeItem {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 420ms ease, transform 420ms ease;
}

.conversasPage__fadeItem.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.conversasPage__tab:focus-visible,
.conversasPage__conversationLink:focus-visible,
.conversasPage__deleteButton:focus-visible,
.conversasPage__sort:focus-visible {
    outline: 3px solid rgba(var(--cor-secundaria-rgb), 0.28);
    outline-offset: 3px;
}

@media (max-width: 1040px) {
    .conversasPage__header { flex-direction: column; }
    .conversasPage__tabs { width: 100%; }
}

@media (max-width: 820px) {
    .conversasPage__page { padding-inline: 1rem; }
    .conversasPage__layout { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .conversasPage__listHeader { align-items: flex-start; flex-direction: column; }
    .conversasPage__conversation { grid-template-columns: 1fr; padding-right: 1.25rem; }
    .conversasPage__conversationLink { grid-template-columns: 50px minmax(0, 1fr); }
    .conversasPage__conversationMeta { grid-column: 2; justify-content: flex-start; }
    .conversasPage__deleteForm { padding: 0 0 0.95rem 58px; }
}

@media (prefers-reduced-motion: reduce) {
    .conversasPage__fadeItem,
    .conversasPage__conversation,
    .conversasPage__tab,
    .conversasPage__deleteButton {
        transition: none;
    }

    .conversasPage__conversation:hover {
        transform: none;
    }
}

.chatPage__headerType {
    color: #667085;
    font-size: .85rem;
    line-height: 1.2;
}

.chatPage__emptyState,
.chatPage__emptyMessages {
    align-items: center;
    color: #667085;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .65rem;
    justify-content: center;
    padding: 2rem;
    text-align: center;
}

.chatPage__emptyState h2 {
    color: #1f2937;
    font-size: 1.25rem;
    margin: 0;
}

.chatPage__emptyState p {
    margin: 0;
}

.chatPage__emptyState a {
    color: #2a9d8f;
    font-weight: 700;
    text-decoration: none;
}

.chatPage__composer textarea.chatPage__composerInput {
    min-height: 48px;
    padding-top: .85rem;
    resize: none;
}

.conversasPage__searchForm {
    align-items: center;
    display: flex;
    gap: .5rem;
}

.conversasPage__searchForm input {
    border: 1px solid #d0d5dd;
    border-radius: 999px;
    color: #1f2937;
    min-height: 38px;
    min-width: min(260px, 52vw);
    padding: 0 .9rem;
}

.conversasPage__searchForm button {
    background: #2a9d8f;
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    min-height: 38px;
    padding: 0 1rem;
}

.conversasPage__avatarFallback {
    align-items: center;
    background: #e7f4f2;
    color: #264653;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
}

.conversasPage__unreadCount {
    align-items: center;
    background: #2a9d8f;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 800;
    justify-content: center;
    line-height: 1;
    min-height: 22px;
    min-width: 22px;
    padding: 0 .4rem;
}

@media (max-width: 640px) {
    .conversasPage__searchForm {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .conversasPage__searchForm input,
    .conversasPage__searchForm button {
        width: 100%;
    }
}

/* Feedback global de cadastros */
.cadastro-feedback {
    border-radius: 14px;
    font-weight: 700;
    margin: 0 0 1rem;
    padding: .85rem 1rem;
}

.cadastro-feedback--erro {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #9f1239;
}

/* =========================
   Clínicas cadastradas
   ========================= */
.profissionais__filters--clinicas {
    grid-template-columns: minmax(260px, 1fr) auto;
}

.profissionais__meta--block {
    display: flex;
    width: 100%;
}

.profissionais__metaIcon {
    flex: 0 0 auto;
    font-weight: 700;
}

.clinicas__emptyMessage {
    margin: 18px 0 0;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    color: rgba(var(--cor-primaria-rgb), 0.82);
    font-weight: 600;
    box-shadow: 0 10px 22px rgba(var(--cor-primaria-rgb), 0.06);
}

@media (max-width: 992px) {
    .profissionais__filters--clinicas {
        grid-template-columns: 1fr;
    }

    .profissionais__filters--clinicas .profissionais__filterActions {
        grid-column: auto;
    }
}

.profissionais__pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
    margin-top: 1.5rem;
}

.profissionais__pageLink {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb), 0.16);
    border-radius: 999px;
    color: var(--cor-primaria);
    display: inline-flex;
    font-weight: 800;
    height: 40px;
    justify-content: center;
    min-width: 40px;
    padding: 0 .85rem;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.profissionais__pageLink:hover,
.profissionais__pageLink.is-active {
    background: var(--cor-primaria);
    color: #fff;
    transform: translateY(-1px);
}

/* =========================
   Ícone do site / Favicon
   ========================= */
:root {
    --ponte-site-icon-size: 2.75rem;
    --ponte-site-icon-radius: 50%;
    --ponte-site-icon-fit: contain;
}

.ponte-site-icon {
    border-radius: var(--ponte-site-icon-radius);
    display: inline-block;
    height: var(--ponte-site-icon-size);
    object-fit: var(--ponte-site-icon-fit);
    width: var(--ponte-site-icon-size);
}

.adminAprovacoes__confirmCheck {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  font-weight: 700;
  color: var(--text-muted, #667085);
}

/* =========================
   Admin - Testes do Sistema
   ========================= */
.adminTests__content {
    gap: 1.25rem;
}

.adminTests__topbar {
    align-items: flex-start;
    gap: 1rem;
}

.adminTests__eyebrow {
    color: var(--cor-primaria, #442b7a);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin: 0 0 .35rem;
    text-transform: uppercase;
}

.adminTests__runForm {
    flex-shrink: 0;
}

.adminTests__runButton {
    box-shadow: 0 12px 28px rgba(var(--cor-primaria-rgb, 68, 43, 122), .18);
    white-space: nowrap;
}

.adminTests__notice {
    background: linear-gradient(135deg, rgba(var(--cor-primaria-rgb, 68, 43, 122), .09), rgba(255, 255, 255, .96));
    border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .14);
    border-radius: 18px;
    color: var(--cor-primaria, #442b7a);
    font-weight: 600;
    padding: 1rem 1.15rem;
}

.adminTests__summary {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.adminTests__summaryCard {
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .1);
    border-radius: 20px;
    box-shadow: 0 12px 26px rgba(var(--cor-primaria-rgb, 68, 43, 122), .07);
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-height: 112px;
    padding: 1rem;
}

.adminTests__summaryCard span {
    color: #667085;
    font-size: .83rem;
    font-weight: 800;
    text-transform: uppercase;
}

.adminTests__summaryCard strong {
    color: var(--cor-primaria, #442b7a);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.1;
}

.adminTests__summaryCard--ok strong { color: #15803d; }
.adminTests__summaryCard--fail strong { color: #b42318; }
.adminTests__summaryCard--warn strong { color: #b7791f; }

.adminTests__empty h2,
.adminTests__results h2 {
    color: var(--cor-primaria, #442b7a);
    margin: 0;
}

.adminTests__tableWrap {
    overflow-x: auto;
    width: 100%;
}

.adminTests__table {
    border-collapse: collapse;
    min-width: 1040px;
    width: 100%;
}

.adminTests__table th,
.adminTests__table td {
    border-bottom: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .09);
    padding: .9rem .8rem;
    text-align: left;
    vertical-align: top;
}

.adminTests__table th {
    color: var(--cor-primaria, #442b7a);
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.adminTests__row--reprovado { background: rgba(180, 35, 24, .045); }
.adminTests__row--alerta { background: rgba(183, 121, 31, .055); }
.adminTests__row--aprovado { background: rgba(21, 128, 61, .035); }

.adminTests__badge {
    border-radius: 999px;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 900;
    padding: .35rem .7rem;
    text-transform: uppercase;
}

.adminTests__badge--aprovado {
    background: #dcfce7;
    color: #166534;
}

.adminTests__badge--reprovado {
    background: #fee4e2;
    color: #b42318;
}

.adminTests__badge--alerta,
.adminTests__badge--nao_executado {
    background: #fef3c7;
    color: #92400e;
}

.adminTests__details {
    margin-top: .6rem;
}

.adminTests__details summary {
    color: var(--cor-primaria, #442b7a);
    cursor: pointer;
    font-weight: 800;
}

.adminTests__details p {
    background: rgba(var(--cor-primaria-rgb, 68, 43, 122), .06);
    border-radius: 12px;
    margin: .5rem 0 0;
    padding: .75rem;
}

.adminTests code {
    background: rgba(var(--cor-primaria-rgb, 68, 43, 122), .07);
    border-radius: 8px;
    color: var(--cor-primaria, #442b7a);
    padding: .16rem .35rem;
}

@media (max-width: 1200px) {
    .adminTests__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .adminTests__topbar {
        align-items: stretch;
        flex-direction: column;
    }

    .adminTests__runButton,
    .adminTests__runForm {
        width: 100%;
    }

    .adminTests__summary {
        grid-template-columns: 1fr;
    }

    .adminTests__table,
    .adminTests__table thead,
    .adminTests__table tbody,
    .adminTests__table th,
    .adminTests__table td,
    .adminTests__table tr {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .adminTests__table thead {
        display: none;
    }

    .adminTests__row {
        border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .12);
        border-radius: 18px;
        margin-bottom: 1rem;
        overflow: hidden;
    }

    .adminTests__table td {
        border-bottom: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .08);
        padding: .8rem 1rem;
    }

    .adminTests__table td::before {
        color: #667085;
        content: attr(data-label);
        display: block;
        font-size: .72rem;
        font-weight: 900;
        letter-spacing: .04em;
        margin-bottom: .25rem;
        text-transform: uppercase;
    }
}

/* Admin Testes - relatório técnico expansível */
.adminTests__list {
    display: grid;
    gap: 1rem;
}

.adminTests__result {
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .12);
    border-left: 6px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .28);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(35, 24, 68, .08);
    overflow: hidden;
}

.adminTests__result--aprovado { border-left-color: #1f9d63; }
.adminTests__result--reprovado { border-left-color: #d92d20; }
.adminTests__result--alerta { border-left-color: #f79009; }

.adminTests__resultMain {
    align-items: center;
    display: grid;
    gap: .85rem;
    grid-template-columns: auto minmax(150px, .8fr) minmax(220px, 1.6fr) auto auto;
    padding: 1rem;
}

.adminTests__resultTitle {
    display: grid;
    gap: .2rem;
}

.adminTests__resultTitle strong {
    color: var(--cor-primaria, #442b7a);
    font-size: .98rem;
}

.adminTests__resultTitle span,
.adminTests__resultTime {
    color: #667085;
    font-size: .84rem;
    font-weight: 800;
}

.adminTests__resultMessage {
    color: #344054;
    margin: 0;
}

.adminTests__detailsButton {
    background: rgba(var(--cor-primaria-rgb, 68, 43, 122), .08);
    border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .16);
    border-radius: 999px;
    color: var(--cor-primaria, #442b7a);
    cursor: pointer;
    font-weight: 900;
    padding: .55rem .9rem;
}

.adminTests__detailsButton:hover,
.adminTests__detailsButton:focus-visible {
    background: var(--cor-primaria, #442b7a);
    color: #fff;
    outline: none;
}

.adminTests__detailsPanel {
    background: linear-gradient(180deg, rgba(var(--cor-primaria-rgb, 68, 43, 122), .045), rgba(255, 255, 255, .96));
    border-top: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .1);
    padding: 1rem;
}

.adminTests__alertNote {
    background: rgba(247, 144, 9, .12);
    border: 1px solid rgba(247, 144, 9, .25);
    border-radius: 14px;
    color: #8a4b00;
    font-weight: 800;
    margin: 0 0 1rem;
    padding: .8rem 1rem;
}

.adminTests__highlightGrid,
.adminTests__detailsGrid {
    display: grid;
    gap: .85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.adminTests__highlightGrid {
    margin-bottom: 1rem;
}

.adminTests__highlightGrid section,
.adminTests__detailsGrid > div {
    background: #fff;
    border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .1);
    border-radius: 14px;
    padding: .9rem;
}

.adminTests__highlightGrid span,
.adminTests__detailsGrid dt {
    color: #667085;
    display: block;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
    margin-bottom: .35rem;
    text-transform: uppercase;
}

.adminTests__highlightGrid strong,
.adminTests__detailsGrid dd {
    color: #2f2548;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

.adminTests__detailsGridWide {
    grid-column: 1 / -1;
}

@media (max-width: 980px) {
    .adminTests__resultMain,
    .adminTests__highlightGrid,
    .adminTests__detailsGrid {
        grid-template-columns: 1fr;
    }

    .adminTests__detailsButton {
        justify-self: start;
    }
}

/* Recuperação de senha */
.passwordReset {
    align-items: center;
    background: linear-gradient(135deg, rgba(var(--cor-primaria-rgb, 68, 43, 122), .10), rgba(255,255,255,.96)), url('/img/ceu.jpeg') center/cover fixed;
    display: flex;
    justify-content: center;
    min-height: 78vh;
    padding: clamp(2rem, 5vw, 4rem) 1rem;
}

.passwordReset__card {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .12);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(47, 37, 72, .18);
    max-width: 520px;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    width: min(100%, 520px);
}

.passwordReset__card--center { text-align: center; }
.passwordReset__logo { display: block; height: 58px; margin: 0 auto 1rem; object-fit: contain; }
.passwordReset__eyebrow { color: var(--cor-primaria, #442b7a); font-size: .78rem; font-weight: 900; letter-spacing: .08em; margin: 0 0 .35rem; text-transform: uppercase; }
.passwordReset h1 { color: #2f2548; font-size: clamp(1.8rem, 4vw, 2.45rem); margin: 0 0 .55rem; }
.passwordReset p { color: #667085; line-height: 1.55; }
.passwordReset__form { display: grid; gap: .8rem; margin-top: 1.2rem; }
.passwordReset__form label { color: #2f2548; font-weight: 800; }
.passwordReset__form input[type="email"],
.passwordReset__form input[type="password"],
.passwordReset__form input[type="text"] {
    border: 1px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .20);
    border-radius: 16px;
    font: inherit;
    padding: .95rem 1rem;
    width: 100%;
}
.passwordReset__form input:focus-visible { border-color: var(--cor-primaria, #442b7a); box-shadow: 0 0 0 4px rgba(var(--cor-primaria-rgb, 68, 43, 122), .14); outline: none; }
.passwordReset__form small { color: #667085; }
.passwordReset__form button,
.passwordReset__buttonLink {
    background: var(--cor-primaria, #442b7a);
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    margin-top: .5rem;
    padding: .95rem 1.25rem;
    text-decoration: none;
}
.passwordReset__form button:hover,
.passwordReset__form button:focus-visible,
.passwordReset__buttonLink:hover,
.passwordReset__buttonLink:focus-visible { background: #2f2548; outline: 3px solid rgba(var(--cor-primaria-rgb, 68, 43, 122), .2); }
.passwordReset__back { color: var(--cor-primaria, #442b7a); display: inline-block; font-weight: 800; margin-top: 1rem; }
.passwordReset__message { border-radius: 16px; font-weight: 800; padding: .9rem 1rem; }
.passwordReset__message--success { background: #ecfdf3; border: 1px solid #abefc6; color: #067647; }
.passwordReset__message--error { background: #fef3f2; border: 1px solid #fecdca; color: #b42318; }
.passwordReset__toggle { align-items: center; display: inline-flex; gap: .5rem; font-weight: 700 !important; }
.passwordReset__requirements { color: #667085; display: grid; gap: .25rem; margin: .25rem 0; padding-left: 1.25rem; }
.passwordReset__requirements li.is-ok { color: #067647; font-weight: 800; }
@media (max-width: 640px) { .passwordReset { align-items: stretch; padding-top: 1rem; } .passwordReset__card { border-radius: 22px; } }

/* Gerenciamento de administradores */
.adminManage .admin__content {
  display: grid;
  gap: 24px;
}

.adminManage__form {
  max-width: 100%;
}

.adminManage__list {
  overflow: hidden;
}

.adminManage__table td,
.adminManage__table th {
  vertical-align: middle;
}

.adminManage__principal {
  background: rgba(180, 52, 116, 0.06);
}

.adminManage__badge {
  display: inline-flex;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(180, 52, 116, 0.14);
  color: #8f2b5c;
  font-size: 0.75rem;
  font-weight: 700;
}

.admin__btn--small {
  min-height: auto;
  padding: 8px 12px;
  font-size: 0.9rem;
}

@media (max-width: 900px) {
  .adminManage__table thead {
    display: none;
  }

  .adminManage__table,
  .adminManage__table tbody,
  .adminManage__table tr,
  .adminManage__table td {
    display: block;
    width: 100%;
  }

  .adminManage__table tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding: 12px 0;
  }

  .adminManage__table td {
    border: 0;
    padding: 7px 10px;
  }
}

/* Validação centralizada de formulários */
.is-invalid {
  border-color: #d92d6b !important;
  box-shadow: 0 0 0 3px rgba(217, 45, 107, 0.14) !important;
  outline: none !important;
}
.field-error {
  position: static;
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 6px;
  padding: 0 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--cor-rosa-escuro, #b4235f);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
  box-sizing: border-box;
  z-index: auto;
}
.field-error[hidden],
.field-error:empty { display: none; }

/* Cadastro de administradores */
.admin__fieldError {
  color: #b4235f;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0.35rem 0 0;
}
