:root {
:root {
    --cuidar-verde: #176b4d;
    --cuidar-areia: #f7f4ed;
}

body {
    background: var(--cuidar-areia) !important;
}

.text-success-emphasis {
    color: var(--cuidar-verde) !important;
}

.card {
    border-radius: 1rem;
}

.cuidar-nav-links .nav-link {
    color: var(--bs-secondary-color);
    font-weight: 500;
}

.cuidar-nav-links .nav-link:hover,
.cuidar-nav-links .nav-link:focus {
    color: var(--bs-primary);
}

.cuidar-scroll-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.cuidar-scroll-tabs .nav-link {
    white-space: nowrap;
}

.cuidar-autocomplete-results {
    inset-inline: 0;
    max-height: 14rem;
    overflow-y: auto;
}

.cuidar-timeline .list-group-item {
    padding-block: 1rem;
}

@media (max-width: 1199.98px) {
    .cuidar-nav-links {
        max-height: 55vh;
        overflow-y: auto;
        padding-block: 0.75rem;
    }

    .cuidar-nav-links .nav-link {
        border-radius: 0.5rem;
        padding-inline: 0.75rem;
    }

    .cuidar-nav-links .nav-link:hover,
    .cuidar-nav-links .nav-link:focus {
        background: rgba(var(--bs-primary-rgb), 0.08);
    }
}

@media (max-width: 575.98px) {
    .cuidar-main {
        padding-top: 1.5rem !important;
        padding-bottom: 2rem !important;
    }

    .card-body,
    .card-footer,
    .card-header {
        padding-inline: 1rem !important;
    }

    .cuidar-page-header .btn,
    .cuidar-form-actions .btn,
    .cuidar-case-actions .btn {
        width: 100%;
    }

    .cuidar-form-actions,
    .cuidar-case-actions {
        align-items: stretch;
    }

    .cuidar-scroll-tabs {
        padding-inline: 0.75rem !important;
    }

    .cuidar-scroll-tabs .nav-link {
        font-size: 0.875rem;
    }

    .cuidar-timeline time,
    .cuidar-timeline .small {
        overflow-wrap: anywhere;
    }

    .cuidar-main > .d-flex.justify-content-between.align-items-center,
    .cuidar-main > section > .d-flex.justify-content-between.align-items-center {
        align-items: stretch !important;
        flex-direction: column;
        gap: 1rem;
    }

    .cuidar-main > .d-flex.justify-content-between.align-items-center > .btn,
    .cuidar-main > section > .d-flex.justify-content-between.align-items-center > .btn {
        width: 100%;
    }

    .card-header.d-flex.justify-content-between {
        align-items: flex-start !important;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .btn-group {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .btn-group > .btn {
        flex: 1 1 auto;
    }
}

/* CUIDAR — navegação principal */
.cuidar-navbar .cuidar-nav-links .nav-link {
    border-radius: 0.5rem;
    margin: 0.2rem 0.1rem;
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.cuidar-navbar .cuidar-nav-links .nav-link:hover {
    background-color: #f1f5ff;
    color: #0d6efd;
}

.cuidar-navbar .cuidar-nav-links .nav-link.active {
    background-color: #e8f1ff;
    color: #0d6efd;
}

@media (max-width: 1199.98px) {
    .cuidar-navbar .cuidar-nav-links {
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
    }

    .cuidar-navbar .cuidar-nav-links .nav-link {
        margin: 0.1rem 0;
    }
}

/* CUIDAR — destaque da página atual */
.cuidar-navbar .cuidar-nav-links .nav-link.active {
    background-color: #e8f1ff !important;
    color: #0d6efd !important;
    border-radius: 0.5rem;
    font-weight: 700 !important;
}

/* =========================================================
   CUIDAR - AJUSTES EXCLUSIVOS PARA CELULAR
   ========================================================= */

/* =========================================================
   CUIDAR — REFINO FINAL DOS CASOS NO CELULAR
   ========================================================= */

@media screen and (max-width: 767.98px) {

    main.cuidar-main table.cuidar-casos-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
        margin-top: -.35rem;
    }

    /* Pessoa */
    main.cuidar-main table.cuidar-casos-table th:nth-child(2),
    main.cuidar-main table.cuidar-casos-table td:nth-child(2) {
        width: 43% !important;
        padding-left: .45rem !important;
        padding-right: .35rem !important;
    }

    /* Título */
    main.cuidar-main table.cuidar-casos-table th:nth-child(3),
    main.cuidar-main table.cuidar-casos-table td:nth-child(3) {
        width: 27% !important;
        padding-left: .35rem !important;
        padding-right: .35rem !important;
        font-size: .92rem;
        line-height: 1.15;
    }

    /* Ações */
    main.cuidar-main table.cuidar-casos-table th:nth-child(6),
    main.cuidar-main table.cuidar-casos-table td:nth-child(6) {
        width: 30% !important;
        padding-left: .25rem !important;
        padding-right: .25rem !important;
        white-space: nowrap;
    }

    /* Foto */
    main.cuidar-main table.cuidar-casos-table td:nth-child(2) img {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    /* Nome */
    main.cuidar-main table.cuidar-casos-table td:nth-child(2) a {
        font-size: .9rem !important;
        line-height: 1.1;
        overflow-wrap: anywhere;
    }

    /* Evita que a célula da pessoa fique excessivamente alta */
    main.cuidar-main table.cuidar-casos-table tbody td {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important;
    }

    /* Botões lado a lado e compactos */
    main.cuidar-main table.cuidar-casos-table td:nth-child(6) > a,
    main.cuidar-main table.cuidar-casos-table td:nth-child(6) > form {
        display: inline-block !important;
        margin: 0 !important;
        vertical-align: middle;
    }

    main.cuidar-main table.cuidar-casos-table td:nth-child(6) .btn {
        font-size: .78rem !important;
        padding: .28rem .45rem !important;
        line-height: 1.2;
        white-space: nowrap;
    }
}

/* =========================================================
   CUIDAR — CASOS PASTORAIS MOBILE
   Somente: foto + nome social + título + ações
   ========================================================= */

@media screen and (max-width: 767.98px) {

    main.cuidar-main table.cuidar-casos-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    /* Oculta Número, Situação e Responsável */
    main.cuidar-main table.cuidar-casos-table thead th:nth-child(1),
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(1),
    main.cuidar-main table.cuidar-casos-table thead th:nth-child(4),
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(4),
    main.cuidar-main table.cuidar-casos-table thead th:nth-child(5),
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(5) {
        display: none !important;
    }

    /* Pessoa */
    main.cuidar-main table.cuidar-casos-table thead th:nth-child(2),
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(2) {
        display: table-cell !important;
    }

    /* Título */
    main.cuidar-main table.cuidar-casos-table thead th:nth-child(3),
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(3) {
        display: table-cell !important;
    }

    /* Ações */
    main.cuidar-main table.cuidar-casos-table thead th:nth-child(6),
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(6) {
        display: table-cell !important;
        white-space: nowrap;
    }

    /* Pessoa ocupa o espaço disponível */
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(2) {
        width: 1%;
        white-space: nowrap;
    }

    /* Título ocupa o espaço restante */
    main.cuidar-main table.cuidar-casos-table tbody td:nth-child(3) {
        width: auto !important;
    }

    /* Foto maior e alinhada */
    main.cuidar-main table.cuidar-casos-table td:nth-child(2) img {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
    }
}


@media (max-width: 575.98px) {

    /* Área Cadastro Central / Pessoas */
    .cuidar-main > section:first-child {
        margin-bottom: .8rem !important;
        gap: .5rem !important;
    }

    .cuidar-main > section:first-child .text-uppercase {
        font-size: .68rem !important;
        margin-bottom: .1rem !important;
        letter-spacing: .03em;
    }

    .cuidar-main > section:first-child h1 {
        font-size: 1.35rem !important;
        margin-bottom: .15rem !important;
    }

    .cuidar-main > section:first-child p.text-secondary {
        font-size: .74rem !important;
        line-height: 1.25 !important;
    }

    .cuidar-main > section:first-child .btn {
        width: auto !important;
        align-self: flex-start;
        padding: .4rem .7rem !important;
        font-size: .78rem !important;
    }

    /* Cartão de filtros */
    .cuidar-main > section.card {
        margin-bottom: .8rem !important;
    }

    /* Botão Filtros */
    .cuidar-main .card-header .btn[data-bs-target="#filtrosPessoas"] {
        min-height: 42px !important;
        height: 42px !important;
        padding: .35rem .75rem !important;
        font-size: .82rem !important;
    }

    .cuidar-main .card-header .btn[data-bs-target="#filtrosPessoas"] .small {
        font-size: .7rem !important;
    }

    /* Filtros abertos */
    .cuidar-main #filtrosPessoas > .card-body {
        padding: .75rem !important;
    }

    .cuidar-main #filtrosPessoas form {
        row-gap: .65rem !important;
    }

    .cuidar-main #filtrosPessoas .form-label {
        font-size: .75rem !important;
        margin-bottom: .2rem !important;
    }

    .cuidar-main #filtrosPessoas .form-control,
    .cuidar-main #filtrosPessoas .form-select {
        font-size: .82rem !important;
        min-height: 38px !important;
        padding-top: .35rem !important;
        padding-bottom: .35rem !important;
    }

    .cuidar-main #filtrosPessoas .form-check-label {
        font-size: .76rem !important;
    }

    .cuidar-main #filtrosPessoas .btn {
        font-size: .78rem !important;
        padding: .4rem .7rem !important;
    }
}


/* =========================================================
   CUIDAR - CABEÇALHO MOBILE
   Somente telas menores que 1200px
   ========================================================= */

@media (max-width: 1199.98px) {

    /* Área superior do cabeçalho */
    header > .container > .d-flex.flex-column.flex-lg-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "brand menu"
            "user user";
        align-items: start !important;
        gap: .35rem .75rem !important;
        padding-top: .65rem !important;
        padding-bottom: .65rem !important;
    }

    /* CUIDAR + descrição */
    header > .container > .d-flex.flex-column.flex-lg-row > div:first-child {
        grid-area: brand;
        text-align: left !important;
        min-width: 0;
    }

    header > .container > .d-flex.flex-column.flex-lg-row > div:first-child .fs-3 {
        font-size: 1.55rem !important;
    }

    header > .container > .d-flex.flex-column.flex-lg-row > div:first-child .small {
        font-size: .7rem !important;
        line-height: 1.15 !important;
    }

    /* Área do usuário */
    header > .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) {
        grid-area: user;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: .55rem !important;
    }

    /* Foto */
    header > .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) img,
    header > .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > div {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }

    /* Saudação */
    header > .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > span {
        display: block !important;
        min-width: 0;
        font-size: .78rem !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Minha conta e Sair */
    header > .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > a,
    header > .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > form {
        display: none !important;
    }

    /* O botão Sair e Minha conta ficam mais abaixo,
       através dos elementos existentes */
    
    /* Menu */
    header .cuidar-navbar {
        position: absolute;
        top: .55rem;
        right: 0;
        margin: 0 !important;
    }

    header .cuidar-navbar .navbar-toggler {
        width: 44px;
        height: 44px;
        margin: 0 !important;
    }

    header .cuidar-navbar .navbar-toggler:focus {
        box-shadow: 0 0 0 .15rem rgba(13,110,253,.15);
    }
}

@media (min-width: 1200px) {

    /* Garantia: desktop permanece inalterado */
    header .cuidar-navbar .navbar-toggler {
        display: none;
    }
}


/* =========================================================
   CUIDAR - ORGANIZAÇÃO FINAL DO CABEÇALHO MOBILE
   ========================================================= */

@media (max-width: 1199.98px) {

    header.cuidar-header {
        position: relative;
    }

    /* Marca à esquerda + menu à direita */
    header .container > .d-flex.flex-column.flex-lg-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "brand menu"
            "user user";
        align-items: start !important;
        gap: .35rem .75rem !important;
        padding-top: .65rem !important;
        padding-bottom: .65rem !important;
    }

    /* Marca */
    header .container > .d-flex.flex-column.flex-lg-row > div:first-child {
        grid-area: brand !important;
        text-align: left !important;
        min-width: 0 !important;
    }

    header .container > .d-flex.flex-column.flex-lg-row > div:first-child .fs-3 {
        font-size: 1.55rem !important;
    }

    header .container > .d-flex.flex-column.flex-lg-row > div:first-child .small {
        font-size: .7rem !important;
        line-height: 1.15 !important;
    }

    /* Área do usuário */
    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) {
        grid-area: user !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 38px minmax(0, 1fr) auto auto;
        grid-template-rows: auto auto;
        grid-template-areas:
            "foto saudacao conta sair"
            "foto acoes    acoes  acoes";
        align-items: center !important;
        column-gap: .5rem !important;
        row-gap: .1rem !important;
    }

    /* Foto */
    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) img,
    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > div {
        grid-area: foto !important;
        width: 38px !important;
        height: 38px !important;
        flex: none !important;
    }

    /* Saudação */
    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > span {
        grid-area: saudacao !important;
        display: block !important;
        min-width: 0 !important;
        font-size: .78rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Minha conta */
    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > a {
        grid-area: conta !important;
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #6c757d !important;
        font-size: .75rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }

    /* Sair */
    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > form {
        grid-area: sair !important;
        display: block !important;
        margin: 0 !important;
    }

    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) > form button {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #6c757d !important;
        font-size: .75rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    /* Menu */
    header .cuidar-navbar {
        grid-area: menu !important;
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header .cuidar-navbar .navbar-toggler {
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    /* Remove a área artificial de ações */
    header .cuidar-navbar + * {
        margin-top: .1rem !important;
    }
}

@media (max-width: 575.98px) {

    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) {
        grid-template-columns: 38px minmax(0, 1fr) auto auto;
        column-gap: .45rem !important;
    }

    header .container > .d-flex.flex-column.flex-lg-row > div:first-child .fs-3 {
        font-size: 1.55rem !important;
    }

    header .container > .d-flex.flex-column.flex-lg-row > div:first-child .small {
        font-size: .7rem !important;
    }
}


/* =========================================================
   CUIDAR - POSIÇÃO FINAL DO MENU NO MOBILE
   ========================================================= */

@media (max-width: 1199.98px) {

    header {
        position: relative !important;
    }

    header .cuidar-navbar {
        position: absolute !important;
        top: .55rem !important;
        right: max(12px, calc((100% - 960px) / 2)) !important;
        z-index: 20;
        margin: 0 !important;
        padding: 0 !important;
    }

    header .cuidar-navbar .navbar-toggler {
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    /* Deixa espaço visual para o botão no topo */
    header .container > .d-flex.flex-column.flex-lg-row
        > div:first-child {
        padding-right: 3.5rem;
    }
}

@media (max-width: 575.98px) {

    header .cuidar-navbar {
        top: .5rem !important;
        right: 12px !important;
    }

    header .container > .d-flex.flex-column.flex-lg-row
        > div:first-child {
        padding-right: 3.25rem;
    }
}


/* =========================================================
   AJUSTE DO MENU MOBILE - POSIÇÃO NO CANTO DIREITO
   ========================================================= */

@media (max-width: 1199.98px) {

    header .cuidar-navbar {
        width: auto !important;
        display: block !important;
        position: absolute !important;
        top: .55rem !important;
        right: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 100;
    }

    header .cuidar-navbar .navbar-toggler {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: .25rem .5rem !important;
    }
}


/* =========================================================
   CUIDAR - MENU MOBILE ABERTO EM LARGURA TOTAL
   ========================================================= */

@media (max-width: 1199.98px) {

    header.cuidar-header {
        position: relative !important;
    }

    /* A nav deixa de ocupar espaço próprio */
    header .cuidar-navbar {
        position: static !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Botão continua no canto superior direito */
    header .cuidar-navbar .navbar-toggler {
        position: absolute !important;
        top: .55rem !important;
        right: 12px !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        z-index: 1050 !important;
    }

    /* Menu aberto ocupa toda a largura do cabeçalho */
    header #navegacao-principal {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background: #fff !important;
        z-index: 1040 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: 0 .25rem .5rem rgba(0,0,0,.08);
    }

    header #navegacao-principal .cuidar-nav-links {
        width: 100% !important;
        padding: .4rem .75rem !important;
        border-top: 1px solid rgba(0,0,0,.08) !important;
    }

    header #navegacao-principal .nav-link {
        padding: .55rem .75rem !important;
        margin: .05rem 0 !important;
        border-radius: .4rem;
    }
}


/* =========================================================
   CUIDAR — AJUSTE DE ESPAÇAMENTO MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    main.cuidar-main {
        padding-top: 1rem !important;
        padding-bottom: 2rem !important;
    }

    main.cuidar-main > section:first-child,
    main.cuidar-main > div:first-child {
        margin-bottom: 1.25rem !important;
    }

    main.cuidar-main h1 {
        margin-top: 0 !important;
    }
}

/* =========================================================
   CUIDAR — ESPAÇAMENTO MOBILE PADRONIZADO
   Todos os itens do menu
   ========================================================= */

@media (max-width: 767.98px) {

    /* Reduz o espaço entre o cabeçalho e o conteúdo
       em todas as páginas */
    main.cuidar-main {
        padding-top: 1rem !important;
        padding-bottom: 2rem !important;
    }

    /* Aproxima o título/subtítulo do cabeçalho */
    main.cuidar-main > section:first-child,
    main.cuidar-main > div:first-child {
        margin-top: 0 !important;
        margin-bottom: 1.25rem !important;
    }
}


/* =========================================================
   CUIDAR — ESPAÇAMENTO SUPERIOR MOBILE
   Padronização de todas as telas
   ========================================================= */

@media (max-width: 767.98px) {

    /* Espaço entre o cabeçalho e o início da página */
    main.cuidar-main {
        padding-top: 1rem !important;
    }

    /* Cabeçalho interno das páginas */
    main.cuidar-main > .mb-4:first-child,
    main.cuidar-main > section.mb-4:first-child,
    main.cuidar-main > .cuidar-page-header:first-child {
        margin-bottom: 1rem !important;
    }

    /* Cabeçalhos que usam flex + mb-4 */
    main.cuidar-main > div.d-flex.mb-4:first-child,
    main.cuidar-main > section.d-flex.mb-4:first-child {
        margin-bottom: 1rem !important;
    }

    /* Evita que o título fique afastado do cabeçalho */
    main.cuidar-main h1 {
        margin-top: 0 !important;
    }
}


/* =========================================================
   CUIDAR — COMPACTAÇÃO DOS CABEÇALHOS NO MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    main.cuidar-main {
        padding-top: .75rem !important;
    }

    /* Cabeçalho de páginas que começa com div/section */
    main.cuidar-main > div.mb-4:first-child,
    main.cuidar-main > section.mb-4:first-child,
    main.cuidar-main > div.d-flex.mb-4:first-child,
    main.cuidar-main > section.d-flex.mb-4:first-child,
    main.cuidar-main > div.d-flex.flex-wrap.mb-4:first-child,
    main.cuidar-main > section.d-flex.flex-wrap.mb-4:first-child,
    main.cuidar-main > div.d-flex.flex-column.mb-4:first-child,
    main.cuidar-main > section.d-flex.flex-column.mb-4:first-child {
        margin-bottom: .9rem !important;
    }

    /* Título */
    main.cuidar-main > div:first-child h1,
    main.cuidar-main > section:first-child h1 {
        margin-top: 0 !important;
    }

    /* Subtítulo */
    main.cuidar-main > div:first-child h1 + p,
    main.cuidar-main > section:first-child h1 + p {
        margin-bottom: 0 !important;
    }

    /* Evita que o primeiro bloco crie espaço excessivo */
    main.cuidar-main > div:first-child,
    main.cuidar-main > section:first-child {
        margin-top: 0 !important;
    }
}


/* =========================================================
   CUIDAR — CABEÇALHOS DAS PÁGINAS NO MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    /* Aproxima o conteúdo do cabeçalho principal */
    main.cuidar-main {
        padding-top: .75rem !important;
    }

    /* Reduz o espaçamento dos cabeçalhos das páginas */
    main.cuidar-main .mb-4 {
        margin-bottom: 1rem !important;
    }

    /* O primeiro bloco de cada tela fica ainda mais compacto */
    main.cuidar-main > .mb-4,
    main.cuidar-main > .d-flex.mb-4,
    main.cuidar-main > .d-flex.flex-wrap.mb-4,
    main.cuidar-main > section.mb-4,
    main.cuidar-main > section.d-flex.mb-4,
    main.cuidar-main > section.d-flex.flex-wrap.mb-4 {
        margin-bottom: .75rem !important;
    }
}



/* =========================================================
   CUIDAR — ESPAÇAMENTO FINAL DAS PÁGINAS NO MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    main.cuidar-main {
        padding-top: .75rem !important;
    }

    /* Primeiro bloco de conteúdo de todas as páginas */
    main.cuidar-main > *:first-child {
        margin-top: 0 !important;
        margin-bottom: .75rem !important;
    }

    /* Cabeçalhos que possuem espaçamento Bootstrap */
    main.cuidar-main > *:first-child.mb-4 {
        margin-bottom: .75rem !important;
    }

    /* Títulos */
    main.cuidar-main > *:first-child h1 {
        margin-top: 0 !important;
    }
}


/* TESTE DEFINITIVO CUIDAR MOBILE */
@media (max-width: 767.98px) {
    main.cuidar-main {
        padding-top: 0.25rem !important;
    }

    main.cuidar-main > * {
        margin-top: 0 !important;
    }

    main.cuidar-main > *:first-child {
        margin-bottom: 0.5rem !important;
    }
}


/* =========================================================
   CUIDAR — FILTROS COMPACTOS NO MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    /* Cabeçalho do painel de filtros */
    main.cuidar-main .card-header {
        padding: 0 !important;
    }

    /* Botão "Filtros / Expandir opções" */
    main.cuidar-main .card-header > button {
        width: 100% !important;
        min-height: 58px !important;
        padding: .75rem 1rem !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: .75rem !important;
        white-space: nowrap !important;
    }

    /* Texto dos filtros */
    main.cuidar-main .card-header > button > span {
        display: block !important;
        white-space: nowrap !important;
    }

    /* "Expandir opções" */
    main.cuidar-main .card-header > button > span:last-child {
        margin-left: auto !important;
        text-align: right !important;
    }
}


/* =========================================================
   CUIDAR — FILTROS MOBILE
   Botões que possuem card-header diretamente
   ========================================================= */

@media (max-width: 767.98px) {

    main.cuidar-main button.card-header {
        width: 100% !important;
        min-height: 58px !important;
        padding: .75rem 1rem !important;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: space-between !important;

        gap: .75rem !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    main.cuidar-main button.card-header > span {
        display: block !important;
        white-space: nowrap !important;
    }

    main.cuidar-main button.card-header > span:last-child {
        margin-left: auto !important;
        text-align: right !important;
    }
}


/* =========================================================
   CUIDAR — IGREJAS MOBILE
   No celular: somente foto + nome
   Desktop permanece inalterado
   ========================================================= */

@media (max-width: 767.98px) {

    .cuidar-igrejas-table th:nth-child(n+2),
    .cuidar-igrejas-table td:nth-child(n+2) {
        display: none !important;
    }

    .cuidar-igrejas-table th:first-child,
    .cuidar-igrejas-table td:first-child {
        width: 100%;
    }

    .cuidar-igrejas-table td:first-child > div {
        gap: .75rem !important;
    }

    .cuidar-igrejas-table td:first-child img,
    .cuidar-igrejas-table td:first-child > div > div:first-child {
        width: 48px !important;
        height: 48px !important;
        flex: 0 0 48px !important;
    }
}


/* =========================================================
   IGREJAS — MOBILE: SOMENTE FOTO E NOME
   ========================================================= */

@media screen and (max-width: 767.98px) {

    table.cuidar-igrejas-table th:nth-child(2),
    table.cuidar-igrejas-table td:nth-child(2),
    table.cuidar-igrejas-table th:nth-child(3),
    table.cuidar-igrejas-table td:nth-child(3),
    table.cuidar-igrejas-table th:nth-child(4),
    table.cuidar-igrejas-table td:nth-child(4),
    table.cuidar-igrejas-table th:nth-child(5),
    table.cuidar-igrejas-table td:nth-child(5),
    table.cuidar-igrejas-table th:nth-child(6),
    table.cuidar-igrejas-table td:nth-child(6) {
        display: none !important;
    }

    table.cuidar-igrejas-table {
        width: 100% !important;
        min-width: 0 !important;
    }

    table.cuidar-igrejas-table th:first-child,
    table.cuidar-igrejas-table td:first-child {
        display: table-cell !important;
        width: 100% !important;
    }
}


/* =========================================================
   CUIDAR — IGREJAS MOBILE — REGRA DEFINITIVA
   ========================================================= */

@media screen and (max-width: 767.98px) {

    main.cuidar-main table.cuidar-igrejas-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    main.cuidar-main table.cuidar-igrejas-table thead th:nth-child(2),
    main.cuidar-main table.cuidar-igrejas-table tbody td:nth-child(2),
    main.cuidar-main table.cuidar-igrejas-table thead th:nth-child(3),
    main.cuidar-main table.cuidar-igrejas-table tbody td:nth-child(3),
    main.cuidar-main table.cuidar-igrejas-table thead th:nth-child(4),
    main.cuidar-main table.cuidar-igrejas-table tbody td:nth-child(4),
    main.cuidar-main table.cuidar-igrejas-table thead th:nth-child(5),
    main.cuidar-main table.cuidar-igrejas-table tbody td:nth-child(5),
    main.cuidar-main table.cuidar-igrejas-table thead th:nth-child(6),
    main.cuidar-main table.cuidar-igrejas-table tbody td:nth-child(6) {
        display: none !important;
    }

    main.cuidar-main table.cuidar-igrejas-table thead th:first-child,
    main.cuidar-main table.cuidar-igrejas-table tbody td:first-child {
        display: table-cell !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    main.cuidar-main table.cuidar-igrejas-table td:first-child > div {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
    }
}

/* =========================================================
   CUIDAR — REFINO DO DASHBOARD E CABEÇALHO MOBILE
   Não altera a versão desktop.
   ========================================================= */

@media screen and (max-width: 767.98px) {

    /* -----------------------------------------------------
       CABEÇALHO — somente Minha conta / Sair
       CUIDAR, subtítulo, foto e nome permanecem inalterados
       ----------------------------------------------------- */

    header .container > .d-flex.flex-column.flex-lg-row > div:nth-child(2) {
        grid-template-columns: 38px minmax(0, 1fr) auto auto !important;
        column-gap: .45rem !important;
        row-gap: 0 !important;
    }

    /* Minha conta */
    header .container > .d-flex.flex-column.flex-lg-row
        > div:nth-child(2) > a {
        grid-area: conta !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
        font-size: .78rem !important;
        line-height: 1.2 !important;
        color: #0d6efd !important;
        text-decoration: none !important;
        font-weight: 500 !important;
    }

    /* Sair */
    header .container > .d-flex.flex-column.flex-lg-row
        > div:nth-child(2) > form {
        grid-area: sair !important;
        display: block !important;
        margin: 0 !important;
    }

    header .container > .d-flex.flex-column.flex-lg-row
        > div:nth-child(2) > form button {
        color: #dc3545 !important;
        font-size: .78rem !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
    }


    /* -----------------------------------------------------
       DASHBOARD — bloco inicial
       ----------------------------------------------------- */

    main.cuidar-main .cuidar-dashboard-intro {
        margin-bottom: 1rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro
        .badge {
        margin-bottom: .4rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro
        p {
        font-size: 1rem !important;
        line-height: 1.45 !important;
        margin-bottom: .75rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro
        .d-flex.gap-2 {
        gap: .5rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro
        .btn {
        padding: .45rem .9rem !important;
        font-size: .95rem !important;
    }


    /* -----------------------------------------------------
       INDICADORES
       ----------------------------------------------------- */

    main.cuidar-main .cuidar-dashboard-indicators {
        row-gap: .7rem !important;
        margin-bottom: 1rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators
        .card {
        min-height: 0 !important;
        border-radius: 1rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators
        .card-body {
        padding: .9rem 1rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators
        .small {
        font-size: .95rem !important;
        line-height: 1.25 !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators
        .display-6 {
        font-size: 2rem !important;
        line-height: 1.05 !important;
        margin-top: .25rem !important;
    }


    /* -----------------------------------------------------
       CARDS INFERIORES
       ----------------------------------------------------- */

    main.cuidar-main .cuidar-dashboard-panels {
        row-gap: .8rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels
        .card {
        border-radius: 1rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels
        .card-header {
        padding: .75rem 1rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels
        .card-header h2 {
        font-size: 1.05rem !important;
        line-height: 1.2 !important;
    }

    main.cuidar-main .cuidar-dashboard-panels
        .card-header a {
        font-size: .9rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels
        .list-group-item {
        padding: .75rem 1rem !important;
        font-size: .92rem !important;
        line-height: 1.35 !important;
    }

    main.cuidar-main .cuidar-dashboard-panels
        .list-group-item small {
        font-size: .8rem !important;
    }
}


/* =========================================================
   CUIDAR — REFINO DEFINITIVO DO CABEÇALHO MOBILE
   ========================================================= */

@media screen and (max-width: 767.98px) {

    /* Mantém Minha conta e Sair juntos e alinhados */
    .cuidar-user-actions {
        margin-left: auto !important;
        margin-top: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: .65rem !important;
        flex-shrink: 0 !important;
    }

    .cuidar-user-actions a {
        color: #0d6efd !important;
        font-size: .78rem !important;
        font-weight: 500 !important;
    }

    .cuidar-user-actions form {
        margin: 0 !important;
        padding: 0 !important;
    }

    .cuidar-user-actions form button {
        color: #dc3545 !important;
        font-size: .78rem !important;
        font-weight: 500 !important;
        cursor: pointer;
    }

    .cuidar-user-actions a:hover {
        color: #0a58ca !important;
    }

    .cuidar-user-actions form button:hover {
        color: #bb2d3b !important;
    }


    /* -----------------------------------------------------
       DASHBOARD — proporção geral
       ----------------------------------------------------- */

    main.cuidar-main {
        padding-top: .75rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro {
        margin-bottom: .9rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .badge {
        font-size: .78rem !important;
        padding: .35rem .55rem !important;
        margin-bottom: .35rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro p {
        font-size: .92rem !important;
        line-height: 1.35 !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .d-flex.gap-2 {
        margin-top: .6rem !important;
        gap: .45rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .btn {
        padding: .4rem .75rem !important;
        font-size: .85rem !important;
    }


    /* -----------------------------------------------------
       INDICADORES — mais compactos
       ----------------------------------------------------- */

    main.cuidar-main .cuidar-dashboard-indicators {
        margin-left: -.25rem !important;
        margin-right: -.25rem !important;
        row-gap: .55rem !important;
        margin-bottom: .9rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators > div {
        padding-left: .25rem !important;
        padding-right: .25rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .card {
        border-radius: .75rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .card-body {
        padding: .7rem .8rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .small {
        font-size: .82rem !important;
        line-height: 1.15 !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .display-6 {
        font-size: 1.7rem !important;
        line-height: 1 !important;
        margin-top: .2rem !important;
    }


    /* -----------------------------------------------------
       CARDS DO DASHBOARD
       ----------------------------------------------------- */

    main.cuidar-main .cuidar-dashboard-panels {
        row-gap: .65rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .card {
        border-radius: .75rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .card-header {
        padding: .65rem .8rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .card-header h2 {
        font-size: .95rem !important;
        line-height: 1.2 !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .card-header a {
        font-size: .78rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .list-group-item {
        padding: .65rem .8rem !important;
        font-size: .85rem !important;
        line-height: 1.3 !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .list-group-item small {
        font-size: .74rem !important;
    }
}


/* =========================================================
   CUIDAR — AJUSTE VISUAL FINAL MOBILE
   ========================================================= */

@media screen and (max-width: 767.98px) {

    /* -----------------------------------------------------
       CABEÇALHO
       ----------------------------------------------------- */

    header.cuidar-header .cuidar-header-top {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "brand menu"
            "user user" !important;
        align-items: start !important;
        gap: .25rem .6rem !important;
        padding: .55rem 0 !important;
    }

    /* Marca: volta para a esquerda */
    header.cuidar-header .cuidar-brand {
        grid-area: brand !important;
        text-align: left !important;
        min-width: 0 !important;
        padding-right: 3.2rem !important;
    }

    /* Não alterar o CUIDAR, apenas garantir seu alinhamento */
    header.cuidar-header .cuidar-brand .fs-3 {
        text-align: left !important;
    }

    /* Subtítulo compacto, sem aumentar o cabeçalho */
    header.cuidar-header .cuidar-brand .small {
        display: block !important;
        font-size: .72rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
    }


    /* -----------------------------------------------------
       MENU
       ----------------------------------------------------- */

    header.cuidar-header .cuidar-navbar {
        grid-area: menu !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header.cuidar-header .cuidar-navbar .cuidar-menu-button,
    header.cuidar-header .cuidar-navbar .navbar-toggler {
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }


    /* -----------------------------------------------------
       USUÁRIO — tudo em UMA única linha
       ----------------------------------------------------- */

    header.cuidar-header .cuidar-user {
        grid-area: user !important;
        width: 100% !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: .5rem !important;
        margin: 0 !important;
    }

    /* Foto permanece no tamanho atual */
    header.cuidar-header .cuidar-user-photo {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }

    /* Nome volta a aparecer no celular */
    header.cuidar-header .cuidar-user-info {
        display: block !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        line-height: 1.2 !important;
    }

    header.cuidar-header .cuidar-user-info > .small {
        display: block !important;
        font-size: .78rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Minha conta + Sair */
    header.cuidar-header .cuidar-user-actions {
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: .65rem !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }

    /* Minha conta */
    header.cuidar-header .cuidar-user-actions a {
        display: inline-block !important;
        color: #0d6efd !important;
        background: transparent !important;
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        font-size: .78rem !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    /* Formulário Sair */
    header.cuidar-header .cuidar-user-actions form {
        display: inline-block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Sair — somente texto vermelho */
    header.cuidar-header .cuidar-user-actions form button {
        display: inline-block !important;
        color: #dc3545 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        font-size: .78rem !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }


    /* -----------------------------------------------------
       DASHBOARD — compactação
       ----------------------------------------------------- */

    main.cuidar-main {
        padding-top: .65rem !important;
        padding-bottom: 1.25rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro {
        margin-bottom: .8rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .badge {
        margin-bottom: .35rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro p {
        font-size: .95rem !important;
        line-height: 1.35 !important;
        margin-bottom: .65rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .d-flex.gap-2 {
        margin-top: .45rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .btn {
        padding: .4rem .75rem !important;
        font-size: .9rem !important;
    }


    /* Indicadores */
    main.cuidar-main .cuidar-dashboard-indicators {
        row-gap: .55rem !important;
        margin-bottom: .8rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .card-body {
        padding: .7rem .85rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .small {
        font-size: .9rem !important;
        line-height: 1.2 !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .display-6 {
        font-size: 1.8rem !important;
        line-height: 1 !important;
    }


    /* Cards inferiores */
    main.cuidar-main .cuidar-dashboard-panels {
        row-gap: .65rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .card-header {
        padding: .65rem .8rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .card-header h2 {
        font-size: 1rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .card-header a {
        font-size: .85rem !important;
    }

    main.cuidar-main .cuidar-dashboard-panels .list-group-item {
        padding: .65rem .8rem !important;
    }
}


/* CUIDAR — números dos indicadores alinhados à direita no celular */
@media screen and (max-width: 767.98px) {
    main.cuidar-main .cuidar-dashboard-indicators .display-6 {
        text-align: right !important;
    }
}


/* CUIDAR — título e número dos indicadores na mesma linha no celular */
@media screen and (max-width: 767.98px) {

    main.cuidar-main .cuidar-dashboard-indicators .card-body {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: .75rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .small {
        margin: 0 !important;
        flex: 1 1 auto !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators .display-6 {
        margin: 0 !important;
        flex: 0 0 auto !important;
        text-align: right !important;
    }
}


/* CUIDAR — reduzir espaçamento do botão Pesquisar no celular */
@media screen and (max-width: 767.98px) {

    main.cuidar-main .cuidar-dashboard-intro {
        margin-bottom: .55rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .d-flex.gap-2 {
        margin-top: .3rem !important;
        margin-bottom: .25rem !important;
    }

    main.cuidar-main .cuidar-dashboard-intro .btn {
        padding-top: .35rem !important;
        padding-bottom: .35rem !important;
    }

    main.cuidar-main .cuidar-dashboard-indicators {
        margin-bottom: .65rem !important;
    }
}


/* CUIDAR — aproxima Pesquisar dos indicadores no celular */
@media screen and (max-width: 767.98px) {

    main.cuidar-main > .cuidar-dashboard-intro {
        margin-bottom: .35rem !important;
    }

    main.cuidar-main > .cuidar-dashboard-intro + .cuidar-dashboard-indicators {
        margin-top: 0 !important;
    }

    main.cuidar-main > .cuidar-dashboard-intro + .cuidar-dashboard-indicators {
        padding-top: 0 !important;
    }
}


/* =========================================================
   CUIDAR — RESTAURAÇÃO DO CABEÇALHO DESKTOP
   Não interfere no mobile.
   ========================================================= */

@media screen and (min-width: 1200px) {

    /* Linha superior do cabeçalho */
    header.cuidar-header .cuidar-header-top {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 1rem !important;
        padding: .5rem 0 !important;
    }

    /* Marca à esquerda */
    header.cuidar-header .cuidar-brand {
        text-align: left !important;
        min-width: 0 !important;
        padding-right: 0 !important;
    }

    /* Usuário à direita */
    header.cuidar-header .cuidar-user {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        width: auto !important;
        gap: .5rem !important;
        margin: 0 !important;
    }

    /* Foto */
    header.cuidar-header .cuidar-user-photo {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    /* Nome */
    header.cuidar-header .cuidar-user-info {
        display: block !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }

    header.cuidar-header .cuidar-user-info > .small {
        display: inline !important;
        font-size: .875rem !important;
        white-space: nowrap !important;
    }

    /* Ações */
    header.cuidar-header .cuidar-user-actions {
        display: flex !important;
        align-items: center !important;
        gap: .35rem !important;
        margin: 0 0 0 .25rem !important;
        flex-shrink: 0 !important;
    }

    /* Minha conta */
    header.cuidar-header .cuidar-user-actions a {
        display: inline-block !important;
        color: #0d6efd !important;
        background: transparent !important;
        border: 1px solid #0d6efd !important;
        border-radius: .25rem !important;
        padding: .25rem .5rem !important;
        font-size: .875rem !important;
        line-height: 1.5 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    /* Sair */
    header.cuidar-header .cuidar-user-actions form {
        margin: 0 !important;
    }

    header.cuidar-header .cuidar-user-actions form button {
        display: inline-block !important;
        color: #dc3545 !important;
        background: transparent !important;
        border: 1px solid #dc3545 !important;
        border-radius: .25rem !important;
        padding: .25rem .5rem !important;
        font-size: .875rem !important;
        line-height: 1.5 !important;
        white-space: nowrap !important;
    }

    /* Menu não aparece no desktop */
    header.cuidar-header .cuidar-navbar .navbar-toggler {
        display: none !important;
    }

    /* Navegação horizontal */
    header.cuidar-header .cuidar-navbar {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    header.cuidar-header #navegacao-principal {
        display: block !important;
    }
}



/* ==========================================================
   IDENTIDADE VISUAL CUIDAR — OPBB ALAGOAS
   2026-08-29
   ========================================================== */

/* Marca no cabeçalho */
.cuidar-brand-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    line-height: 1;
}

.cuidar-brand-symbol {
    width: 38px;
    height: 38px;
    object-fit: contain;
    flex: 0 0 38px;
}

.cuidar-brand-name {
    font-size: 1.85rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

/* ==========================================================
   TELA DE LOGIN
   ========================================================== */

.cuidar-login-body {
    min-height: 100vh;
    margin: 0;
    background-color: #f7f4ed;
    background-image: url("/assets/img/cuidar-login-bg.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

/* No login, o fundo assume a tela inteira */
.cuidar-login-body .cuidar-header {
    display: none;
}

.cuidar-login-body .cuidar-main {
    width: 100%;
    max-width: none;
    min-height: 100vh;
    margin: 0;
    padding: 2rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Área do formulário */
.cuidar-login-body .cuidar-main > section {
    width: 100%;
    max-width: 480px;
    margin: 0;
    padding: 0 !important;
}

/* Cartão */
.cuidar-login-body .card {
    border: 0 !important;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.16) !important;
    backdrop-filter: blur(5px);
}

.cuidar-login-body .card-body {
    padding: 2.4rem !important;
}

.cuidar-login-body h1 {
    color: #0b4657;
    font-weight: 700;
}

.cuidar-login-body .text-primary {
    color: #0b4657 !important;
}

.cuidar-login-body .btn-primary {
    border: 0;
    background: #0b4657;
    border-color: #0b4657;
    font-weight: 600;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.cuidar-login-body .btn-primary:hover,
.cuidar-login-body .btn-primary:focus {
    background: #083947;
    border-color: #083947;
}

.cuidar-login-body .form-control {
    min-height: 46px;
    border-radius: 9px;
}

.cuidar-login-body .form-control:focus {
    border-color: #d39d17;
    box-shadow: 0 0 0 0.2rem rgba(211, 157, 23, 0.16);
}

/* ==========================================================
   RESPONSIVIDADE
   ========================================================== */

@media (max-width: 575.98px) {

    .cuidar-brand-title {
        gap: 6px;
    }

    .cuidar-brand-symbol {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .cuidar-brand-name {
        font-size: 1.55rem;
    }

    .cuidar-login-body {
        background-position: center center;
        background-attachment: scroll;
    }

    .cuidar-login-body .cuidar-main {
        padding: 1rem !important;
    }

    .cuidar-login-body .card-body {
        padding: 1.5rem !important;
    }
}


/* ==========================================================
   AJUSTE DA MARCA CUIDAR
   ========================================================== */

.cuidar-brand-title {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    line-height: 1;
}

.cuidar-brand-symbol {
    width: 38px;
    height: 58px;
    object-fit: contain;
    object-position: center;
    flex: 0 0 38px;
    transform: translateY(8px);
}

.cuidar-brand-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.cuidar-brand-name {
    font-size: 1.85rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.cuidar-brand-subtitle {
    margin-top: 4px;
    line-height: 1.15;
    white-space: nowrap;
}

/* ==========================================================
   LOGIN — FUNDO PASTORAL
   ========================================================== */

body.cuidar-login-body {
    min-height: 100vh !important;
    margin: 0 !important;
    background-color: #f7f4ed !important;
    background-image: url("/assets/img/cuidar-login-bg.jpg?v=20260829-02") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-attachment: fixed !important;
}

body.cuidar-login-body .cuidar-main {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 2rem !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;
}

body.cuidar-login-body .cuidar-main > section {
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.cuidar-login-body .cuidar-header {
    display: none !important;
}

body.cuidar-login-body .card {
    border: 0 !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.18) !important;
    backdrop-filter: blur(5px);
}

@media (max-width: 575.98px) {

    .cuidar-brand-title {
        gap: 6px;
    }

    .cuidar-brand-symbol {
        width: 32px;
        height: 48px;
        flex-basis: 32px;
        transform: translateY(6px);
    }

    .cuidar-brand-name {
        font-size: 1.55rem;
    }

    .cuidar-brand-subtitle {
        font-size: .72rem;
        white-space: normal;
    }

    body.cuidar-login-body {
        background-attachment: scroll !important;
        background-position: center center !important;
    }

    body.cuidar-login-body .cuidar-main {
        padding: 1rem !important;
    }
}


/* ==========================================================
   AJUSTE FINAL — FUNDO DE LOGIN RESPONSIVO
   ========================================================== */

body.cuidar-login-body {
    background-image: url("/assets/img/cuidar-login-bg-desktop.jpg?v=20260829-03") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* Ícone do cabeçalho — ligeiramente mais alto */
.cuidar-brand-symbol {
    transform: translateY(2px) !important;
}

/* Celular: usa composição vertical própria */
@media (max-width: 767.98px) {

    body.cuidar-login-body {
        background-image: url("/assets/img/cuidar-login-bg-mobile.jpg?v=20260829-03") !important;
        background-position: center center !important;
        background-size: cover !important;
        background-attachment: scroll !important;
    }

    .cuidar-brand-symbol {
        transform: translateY(2px) !important;
    }
}

/* ==========================================================
   CUIDAR — POSICIONAMENTO DO LOGIN
   Desktop: formulário à direita
   Mobile: formulário centralizado
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main {
        justify-content: flex-end !important;
        padding-right: clamp(5rem, 10vw, 11rem) !important;
        padding-left: 2rem !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        margin-left: auto !important;
        margin-right: 0 !important;
    }

}

@media (max-width: 767.98px) {

    body.cuidar-login-body .cuidar-main {
        justify-content: center !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        margin-left: auto !important;
        margin-right: auto !important;
    }

}

/* ==========================================================
   CUIDAR — CAIXA DE LOGIN HORIZONTAL
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main > section {
        width: 520px !important;
        max-width: 520px !important;
        flex: 0 0 520px !important;
    }

    body.cuidar-login-body .card {
        width: 520px !important;
        max-width: 520px !important;
        min-height: 480px !important;
        margin: 0 !important;
        border-radius: 20px !important;
    }

    body.cuidar-login-body .card-body {
        padding: 2.5rem 2.75rem !important;
    }

    body.cuidar-login-body h1 {
        font-size: 1.85rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    body.cuidar-login-body .form-control {
        width: 100% !important;
    }

    body.cuidar-login-body .btn-primary {
        width: 100% !important;
    }
}

/* ==========================================================
   CELULAR
   ========================================================== */

@media (max-width: 767.98px) {

    body.cuidar-login-body .cuidar-main > section {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
    }

    body.cuidar-login-body .card {
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        border-radius: 18px !important;
    }

    body.cuidar-login-body .card-body {
        padding: 1.75rem 1.5rem !important;
    }

    body.cuidar-login-body h1 {
        white-space: normal !important;
        font-size: 1.65rem !important;
        line-height: 1.2 !important;
    }
}


/* ==========================================================
   CUIDAR — POSIÇÃO DEFINITIVA DO LOGIN NO DESKTOP
   A caixa fica à direita e o fundo fica livre à esquerda.
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
        padding-left: 2rem !important;
        padding-right: clamp(3rem, 8vw, 9rem) !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        width: 520px !important;
        max-width: 520px !important;
        flex: 0 0 520px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.cuidar-login-body .card {
        width: 520px !important;
        max-width: 520px !important;
        margin: 0 !important;
    }

}

/* ==========================================================
   CELULAR — mantém centralizado
   ========================================================== */

@media (max-width: 767.98px) {

    body.cuidar-login-body .cuidar-main {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 1rem !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        margin: 0 auto !important;
    }

    body.cuidar-login-body .card {
        width: 100% !important;
        max-width: 100% !important;
    }

}


/* ==========================================================
   CUIDAR — RECUO DA CAIXA DE LOGIN NO DESKTOP
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main {
        padding-right: clamp(4rem, 5vw, 6rem) !important;
    }

}

/* ==========================================================
   CUIDAR — AFASTAMENTO VISUAL DA FAIXA AZUL
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main > section {
        transform: translateX(-90px) !important;
    }

}


/* ==========================================================
   CUIDAR — POSIÇÃO FINAL DA CAIXA DE LOGIN
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main > section {
        position: relative !important;
        right: 90px !important;
        transform: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main > section {
        right: 180px !important;
    }

}

/* ==========================================================
   CUIDAR — LOGIN MOBILE MAIS COMPACTO
   ========================================================== */

@media (max-width: 767.98px) {

    body.cuidar-login-body .cuidar-main {
        padding-left: 7.5% !important;
        padding-right: 7.5% !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 1 auto !important;
    }

    body.cuidar-login-body .card {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 18px !important;
    }

    body.cuidar-login-body .card-body {
        padding: 1.5rem 1.35rem !important;
    }

    body.cuidar-login-body h1 {
        font-size: 1.5rem !important;
        line-height: 1.2 !important;
    }

}

/* ==========================================================
   CUIDAR — LOGIN MOBILE COMPACTO / QUASE QUADRADO
   ========================================================== */

@media (max-width: 767.98px) {

    body.cuidar-login-body .cuidar-main {
        padding: 1rem !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        width: 72vw !important;
        max-width: 390px !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        margin: 0 auto !important;
    }

    body.cuidar-login-body .card {
        width: 100% !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        border-radius: 18px !important;
    }

    body.cuidar-login-body .card-body {
        padding: 1.35rem 1.25rem !important;
    }

    body.cuidar-login-body .card-body > p:first-child {
        font-size: .78rem !important;
        margin-bottom: .45rem !important;
    }

    body.cuidar-login-body h1 {
        font-size: 1.28rem !important;
        line-height: 1.15 !important;
        margin-bottom: .7rem !important;
    }

    body.cuidar-login-body .card-body > p.mb-4 {
        font-size: .82rem !important;
        line-height: 1.35 !important;
        margin-bottom: 1rem !important;
    }

    body.cuidar-login-body .mb-3 {
        margin-bottom: .65rem !important;
    }

    body.cuidar-login-body .mb-4 {
        margin-bottom: .85rem !important;
    }

    body.cuidar-login-body .form-label {
        font-size: .82rem !important;
        margin-bottom: .3rem !important;
    }

    body.cuidar-login-body .form-control {
        min-height: 40px !important;
        height: 40px !important;
        padding: .35rem .65rem !important;
        font-size: .85rem !important;
    }

    body.cuidar-login-body .btn-primary {
        min-height: 42px !important;
        height: 42px !important;
        padding: .35rem .5rem !important;
        font-size: .85rem !important;
    }

    body.cuidar-login-body .mt-4 {
        margin-top: .85rem !important;
    }

    body.cuidar-login-body .mt-4 a {
        font-size: .78rem !important;
    }
}

/* ==========================================================
   CUIDAR — EFEITO FROSTED GLASS NO LOGIN MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    body.cuidar-login-body .card {
        background: rgba(255, 255, 255, 0.76) !important;
        border: 1px solid rgba(255, 255, 255, 0.72) !important;
        box-shadow:
            0 18px 45px rgba(0, 0, 0, 0.16),
            inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;

        backdrop-filter: blur(10px) saturate(115%);
        -webkit-backdrop-filter: blur(10px) saturate(115%);
    }

    body.cuidar-login-body .card-body {
        background: transparent !important;
    }

}

/* ==========================================================
   CUIDAR — MAIS TRANSPARÊNCIA NO LOGIN MOBILE
   ========================================================== */

@media (max-width: 767.98px) {

    body.cuidar-login-body .card {
        background: rgba(255, 255, 255, 0.62) !important;
        border-color: rgba(255, 255, 255, 0.60) !important;

        backdrop-filter: blur(7px) saturate(120%);
        -webkit-backdrop-filter: blur(7px) saturate(120%);

        box-shadow:
            0 18px 45px rgba(0, 0, 0, 0.14),
            inset 0 1px 0 rgba(255, 255, 255, 0.65) !important;
    }

}

/* ==========================================================
   CUIDAR — VERSÃO FINAL DO LOGIN MOBILE
   PCP + FROSTED GLASS
   ========================================================== */

@media (max-width: 767.98px) {

    body.cuidar-login-body .card {
        background: rgba(255, 255, 255, 0.70) !important;
        border: 1px solid rgba(255, 255, 255, 0.78) !important;

        backdrop-filter: blur(8px) saturate(118%);
        -webkit-backdrop-filter: blur(8px) saturate(118%);

        box-shadow:
            0 18px 45px rgba(0, 0, 0, 0.15),
            inset 0 1px 0 rgba(255, 255, 255, 0.80) !important;
    }

    body.cuidar-login-body .card-body {
        background: transparent !important;
    }

    body.cuidar-login-body h1 {
        font-size: 1.28rem !important;
        line-height: 1.18 !important;
        letter-spacing: -0.02em;
    }

}

/* ==========================================================
   CUIDAR — AJUSTE FINAL DO LOGIN DESKTOP
   Mantém a caixa corretamente alinhada à direita.
   O layout mobile permanece inalterado.
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main {
        padding-right: clamp(3rem, 5vw, 6rem) !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        position: relative !important;
        right: 0 !important;
        transform: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* ==========================================================
   CUIDAR — RECUO FINAL DO LOGIN DESKTOP
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        right: 60px !important;
    }
}


/* ==========================================================
   CUIDAR — AJUSTE DE POSIÇÃO DO LOGIN DESKTOP
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        right: 120px !important;
    }
}


/* ==========================================================
   CUIDAR — POSIÇÃO FINAL DO LOGIN DESKTOP
   Equilíbrio entre o logotipo e a borda direita.
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        right: 20px !important;
    }
}


/* ==========================================================
   CUIDAR — AJUSTE FINAL DO LOGIN DESKTOP
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        right: 50px !important;
    }
}


/* ==========================================================
   CUIDAR — POSIÇÃO DEFINITIVA DO LOGIN DESKTOP
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        right: 95px !important;
    }
}


/* ==========================================================
   CUIDAR — AJUSTE FINAL DO LOGIN DESKTOP
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        right: 105px !important;
    }
}


/* ==========================================================
   CUIDAR — LOGIN DESKTOP | VERSÃO 460 PX
   Caixa mais compacta e equilibrada com o logotipo.
   Mobile permanece inalterado.
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main {
        justify-content: flex-end !important;
        padding-right: clamp(3rem, 5vw, 6rem) !important;
        padding-left: 2rem !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        width: 460px !important;
        max-width: 460px !important;
        flex: 0 0 460px !important;

        position: relative !important;
        right: 0 !important;
        transform: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
    }

    body.cuidar-login-body .card {
        width: 460px !important;
        max-width: 460px !important;
        margin: 0 !important;
        border-radius: 20px !important;
    }

}


/* ==========================================================
   CUIDAR — TÍTULO DO LOGIN
   Permite quebra natural para evitar overflow horizontal.
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body h1 {
        white-space: normal !important;
        font-size: 1.75rem !important;
        line-height: 1.2 !important;
    }

    body.cuidar-login-body {
        overflow-x: hidden !important;
    }
}


/* ==========================================================
   CUIDAR — LOGIN | NOVA COMPOSIÇÃO VISUAL
   Referência: cartão compacto, elegante e equilibrado.
   Mobile permanece com as regras existentes.
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body {
        overflow-x: hidden !important;
    }

    body.cuidar-login-body .cuidar-main {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
        padding-left: 2rem !important;
        padding-right: 4.5rem !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        width: 400px !important;
        max-width: 400px !important;
        flex: 0 0 400px !important;

        position: relative !important;
        right: 0 !important;
        transform: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body.cuidar-login-body .cuidar-login-card {
        width: 400px !important;
        max-width: 400px !important;
        margin: 0 !important;

        border-radius: 20px !important;
    }

    body.cuidar-login-body .cuidar-login-card .card-body {
        padding: 2.25rem 2.25rem !important;
    }

    body.cuidar-login-body .cuidar-login-card h1 {
        font-size: 1.75rem !important;
        line-height: 1.18 !important;
        letter-spacing: -0.02em;
        white-space: normal !important;
    }

    body.cuidar-login-body .cuidar-login-card > .card-body > p:first-child {
        margin-bottom: .65rem !important;
    }

    body.cuidar-login-body .cuidar-login-card > .card-body > p.mb-4 {
        line-height: 1.45 !important;
        margin-bottom: 1.35rem !important;
    }

    body.cuidar-login-body .cuidar-login-input {
        position: relative;
    }

    body.cuidar-login-body .cuidar-login-input .form-control {
        width: 100% !important;
        height: 52px !important;
        min-height: 52px !important;

        padding-left: 3.1rem !important;
        padding-right: 3rem !important;

        border-radius: 10px !important;
        font-size: .95rem !important;
    }

    body.cuidar-login-body .cuidar-login-input .form-control::placeholder {
        color: #6c757d;
        opacity: .9;
    }

    body.cuidar-login-body .cuidar-login-input-icon {
        position: absolute;
        left: 1rem;
        top: 50%;
        z-index: 2;

        width: 20px;
        height: 20px;

        transform: translateY(-50%);

        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;

        color: #52636d;
        pointer-events: none;
    }

    body.cuidar-login-password-toggle {
        position: absolute;
        right: .8rem;
        top: 50%;
        z-index: 3;

        width: 32px;
        height: 32px;

        padding: 0;
        border: 0;
        background: transparent;

        transform: translateY(-50%);

        color: #52636d;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    body.cuidar-login-password-toggle svg {
        width: 20px;
        height: 20px;

        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    body.cuidar-login-password-toggle:hover {
        color: #0d5264;
    }

    body.cuidar-login-card .form-label {
        margin-bottom: .45rem !important;
    }

    body.cuidar-login-card .mb-3 {
        margin-bottom: 1.05rem !important;
    }

    body.cuidar-login-card .mb-4 {
        margin-bottom: 1.3rem !important;
    }

    body.cuidar-login-submit {
        height: 52px !important;
        min-height: 52px !important;

        border-radius: 8px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: .65rem !important;

        font-weight: 600 !important;
    }

    body.cuidar-login-submit svg {
        width: 19px;
        height: 19px;

        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

}


/* ==========================================================
   CUIDAR — CORREÇÃO DOS CONTROLES DO LOGIN
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-login-password-toggle {
        position: absolute !important;
        right: .8rem !important;
        top: 50% !important;
        z-index: 3 !important;

        width: 32px !important;
        height: 32px !important;

        padding: 0 !important;
        margin: 0 !important;

        border: 0 !important;
        background: transparent !important;

        transform: translateY(-50%) !important;

        color: #52636d !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.cuidar-login-body .cuidar-login-password-toggle svg {
        display: block !important;

        width: 20px !important;
        height: 20px !important;

        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.cuidar-login-body .cuidar-login-submit {
        width: 100% !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;

        padding: .75rem 1rem !important;
        margin: 0 !important;

        border-radius: 8px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: .65rem !important;

        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    body.cuidar-login-body .cuidar-login-submit svg {
        display: block !important;

        width: 19px !important;
        height: 19px !important;
        min-width: 19px !important;
        min-height: 19px !important;

        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;

        flex: 0 0 19px !important;
    }

}


/* ==========================================================
   CUIDAR — LOGIN DESKTOP
   Redução proporcional do cartão completo.
   ========================================================== */

@media (min-width: 768px) {

    body.cuidar-login-body .cuidar-main {
        padding-right: 5rem !important;
    }

    body.cuidar-login-body .cuidar-main > section {
        transform: scale(0.88) !important;
        transform-origin: right center !important;
    }

}


/* ==========================================================
   CUIDAR — LOGIN DESKTOP
   Pequeno deslocamento da caixa para a esquerda.
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        transform: translateX(-35px) scale(0.88) !important;
    }
}


/* ==========================================================
   CUIDAR — LOGIN DESKTOP
   Ajuste de equilíbrio horizontal
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        transform: translateX(-75px) scale(0.88) !important;
    }
}


/* ==========================================================
   CUIDAR — LOGIN DESKTOP
   Ajuste fino do posicionamento horizontal.
   ========================================================== */

@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        transform: translateX(-95px) scale(0.88) !important;
    }
}


/* ==========================================================
   CUIDAR — CORREÇÃO DOS ÍCONES NO LOGIN MOBILE
   Não altera o desktop.
   ========================================================== */

@media (max-width: 767.98px) {

    /* Ícone de usuário e cadeado dos campos */
    body.cuidar-login-body .cuidar-login-input-icon {
        position: absolute !important;
        left: .75rem !important;
        top: 50% !important;
        z-index: 2 !important;

        width: 18px !important;
        height: 18px !important;
        max-width: 18px !important;
        max-height: 18px !important;

        transform: translateY(-50%) !important;

        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;

        color: #52636d !important;

        pointer-events: none !important;
    }

    /* Campos */
    body.cuidar-login-body .cuidar-login-input .form-control {
        height: 40px !important;
        min-height: 40px !important;

        padding-left: 2.55rem !important;
        padding-right: 2.55rem !important;

        font-size: .85rem !important;
    }

    /* Botão mostrar/ocultar senha */
    body.cuidar-login-body .cuidar-login-password-toggle {
        position: absolute !important;
        right: .45rem !important;
        top: 50% !important;
        z-index: 3 !important;

        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;

        padding: 0 !important;
        margin: 0 !important;

        border: 0 !important;
        background: transparent !important;

        transform: translateY(-50%) !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        color: #52636d !important;
    }

    body.cuidar-login-body .cuidar-login-password-toggle svg {
        display: block !important;

        width: 18px !important;
        height: 18px !important;
        max-width: 18px !important;
        max-height: 18px !important;

        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    /* Botão de acesso */
    body.cuidar-login-body .cuidar-login-submit {
        width: 100% !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;

        padding: .35rem .5rem !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: .45rem !important;

        font-size: .85rem !important;
        line-height: 1.2 !important;
    }

    body.cuidar-login-body .cuidar-login-submit svg {
        display: block !important;

        width: 17px !important;
        height: 17px !important;
        min-width: 17px !important;
        min-height: 17px !important;
        max-width: 17px !important;
        max-height: 17px !important;

        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;

        flex: 0 0 17px !important;
    }

}

/* ==========================================================
   CUIDAR — ÚLTIMO USUÁRIO NA TELA DE LOGIN
   ========================================================== */

.cuidar-last-login {
    margin: -0.35rem 0 1.25rem;
    padding: .75rem .85rem;

    border: 1px solid rgba(13, 82, 100, .12);
    border-radius: 12px;

    background: rgba(248, 250, 251, .85);
}

.cuidar-last-login-label {
    margin-bottom: .45rem;

    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;

    color: #6c757d;
}

.cuidar-last-login-user {
    width: 100%;

    padding: .15rem;
    border: 0;
    background: transparent;

    display: flex;
    align-items: center;
    gap: .7rem;

    text-align: left;
    cursor: pointer;
}

.cuidar-last-login-photo-wrap {
    width: 46px;
    height: 46px;
    min-width: 46px;

    overflow: hidden;
    border-radius: 50%;

    border: 2px solid rgba(13, 82, 100, .14);

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eef3f5;
}

.cuidar-last-login-photo,
.cuidar-last-login-initial {
    width: 100%;
    height: 100%;
}

.cuidar-last-login-photo {
    display: block;
    object-fit: cover;
}

.cuidar-last-login-initial {
    align-items: center;
    justify-content: center;

    font-size: 1rem;
    font-weight: 700;

    color: #0d5264;
}

.cuidar-last-login-info {
    min-width: 0;

    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.cuidar-last-login-info strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-size: .88rem;
    color: #0d5264;
}

.cuidar-last-login-info small {
    font-size: .68rem;
    color: #6c757d;
}

.cuidar-last-login-user:hover {
    opacity: .82;
}

.cuidar-last-login-other {
    margin-top: .35rem;
    padding: 0;

    border: 0;
    background: transparent;

    font-size: .68rem;
    color: #0d6efd;

    cursor: pointer;
}

.cuidar-last-login-other:hover {
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .cuidar-last-login {
        margin-bottom: 1rem;
    }
}

/* ==========================================================

/* ==========================================================
   CUIDAR — AJUSTE FINAL DO CARTÃO DE ÚLTIMO ACESSO
   ========================================================== */

body.cuidar-login-body .cuidar-last-login-user {
    appearance: none !important;
    -webkit-appearance: none !important;

    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;

    margin: 0 !important;
    padding: .15rem !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .7rem !important;

    text-align: left !important;
    font: inherit !important;
    color: inherit !important;

    box-shadow: none !important;
}

body.cuidar-login-body .cuidar-last-login-photo-wrap {
    flex: 0 0 46px !important;

    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
    border-radius: 50% !important;
}

body.cuidar-login-body .cuidar-last-login-photo {
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;

    object-fit: cover !important;
}

body.cuidar-login-body .cuidar-last-login-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.cuidar-login-body .cuidar-last-login-info strong,
body.cuidar-login-body .cuidar-last-login-info small {
    display: block !important;
}

body.cuidar-login-body .cuidar-last-login-other {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: inline-block !important;

    width: auto !important;
    min-width: 0 !important;

    margin: .35rem 0 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    box-shadow: none !important;

    font: inherit !important;
    font-size: .68rem !important;
    color: #0d6efd !important;

    cursor: pointer !important;
}


/* CUIDAR — ajuste de altura do login após inclusão do último acesso */
@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        transform: translateX(-95px) scale(0.82) !important;
        transform-origin: center center !important;
    }
}


/* CUIDAR — posicionamento vertical do login */
@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        transform: translate(-95px, -35px) scale(0.82) !important;
        transform-origin: center center !important;
    }
}


/* CUIDAR — subir verticalmente a caixa de login */
@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        position: relative !important;
        top: -40px !important;
        transform: translateX(-95px) scale(0.82) !important;
        transform-origin: center center !important;
    }
}


/* CUIDAR — escala final da caixa de login */
@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        position: relative !important;
        top: -40px !important;
        transform: translateX(-95px) scale(0.75) !important;
        transform-origin: center center !important;
    }
}


/* CUIDAR — subir mais a caixa de login */
@media (min-width: 768px) {
    body.cuidar-login-body .cuidar-main > section {
        position: relative !important;
        top: -100px !important;
        transform: translateX(-95px) scale(0.75) !important;
        transform-origin: center center !important;
    }
}


/* ==========================================================
   CUIDAR — ÍCONES DOS CAMPOS DE LOGIN NO MOBILE
   ========================================================== */
@media (max-width: 767.98px) {

    .cuidar-login-input {
        position: relative !important;
        width: 100% !important;
    }

    .cuidar-login-input .cuidar-login-input-icon {
        position: absolute !important;
        left: 14px !important;
        top: 50% !important;
        width: 20px !important;
        height: 20px !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        z-index: 2 !important;
        pointer-events: none !important;
    }

    .cuidar-login-input .form-control {
        padding-left: 44px !important;
    }

    .cuidar-login-input .cuidar-login-password-toggle {
        position: absolute !important;
        right: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 3 !important;
        margin: 0 !important;
    }

    .cuidar-login-input input[type="password"],
    .cuidar-login-input input[type="text"] {
        padding-right: 48px !important;
    }
}

