:root {
    /* 1. As suas novas cores (Paleta Limpa) */
    --azul-medico: #0284c7;
    /* REMOVER: --fundo-limpo: #f8fafc; */
    /* ADICIONAR: */ --fundo-limpo: #DFD7C8; /* Fundo mais denso para gerar contraste com os cartões brancos */
    --texto-escuro: #1e293b;
    --branco: #ffffff;
    --bege: #f5f5dc;
    --dourado: #d4af37;

    /* 2. Mapeamento para as variáveis que o seu sistema já obedece */
    --cor-primaria: var(--azul-medico);
    --cor-fundo: var(--fundo-limpo);
    --card-bg: var(--bege);
    --text-color: var(--texto-escuro);
    
    /* ADICIONAR: Variáveis de apoio para eliminar hardcode */
    --borda-quente: #CCC3AD;
    --borda-grafite: #4b5563; /* Grafite escuro para alta definição de limites */
    --bg-secundario: #EBE6DC;
    --sombra-quente: rgba(140, 127, 112, 0.06);
    --borda-laranja: #FF8F00;
    
    
    --cor-sucesso: #198754;
    --cor-alerta: #ffc107;
    --cor-perigo: #dc3545;
    --cor-secundaria: #6c757d;
    
      /* 🧩 TEA: Agora 100% no Azul Oficial de Conscientização */
    --cor-tea-base: #0284c7; /* Azul Turquesa/Clínico vivo */
    --cor-tea-texto: #0369a1; /* Azul Escuro para leitura perfeita */
    --cor-tea-bg: rgba(2, 132, 199, 0.12); /* Fundo azul suave */

    /* 🧓 IDOSOS (60+): Ganha a nova paleta em Tons Pastéis (Bege/Areia suave) */
    --cor-idoso-base: #D4B483; /* Tom areia/pastel denso o suficiente para a borda */
    --cor-idoso-texto: #705429; /* Marrom escuro para garantir leitura fácil */
    --cor-idoso-bg: rgba(212, 180, 131, 0.15); /* Fundo pastel translúcido */
}

/* =========================================================================
   ✨ ANIMAÇÃO DE DESTAQUE NA BUSCA (PULSO INFINITO BLINDADO)
   ========================================================================= */

/* 1. Anima o crescimento e a borda do cartão (que não sofrem bloqueio do sistema) */
@keyframes pulseBlinkCard {
    0% { 
        outline: 3px solid rgba(214, 51, 132, 0);
        transform: scale(1); 
    }
    50% { 
        outline: 3px solid rgba(214, 51, 132, 1);
        outline-offset: -1px;
        transform: scale(1.02); 
    }
    100% { 
        outline: 3px solid rgba(214, 51, 132, 0);
        transform: scale(1); 
    }
}

/* 2. Anima a sombra e o fundo em uma "camada fantasma" livre de !important */
@keyframes pulseBlinkGlow {
    0% { 
        box-shadow: 0 0 0 0 rgba(214, 51, 132, 0.8), inset 0 0 0 0 rgba(214, 51, 132, 0); 
        background-color: rgba(214, 51, 132, 0);
    }
    50% { 
        box-shadow: 0 0 0 20px rgba(214, 51, 132, 0), inset 0 0 40px 10px rgba(214, 51, 132, 0.15); 
        background-color: rgba(214, 51, 132, 0.15); /* Tingimento rosa translúcido (Adapta-se ao Claro e Escuro) */
    }
    100% { 
        box-shadow: 0 0 0 0 rgba(214, 51, 132, 0), inset 0 0 0 0 rgba(214, 51, 132, 0); 
        background-color: rgba(214, 51, 132, 0);
    }
}

.piscar-destaque {
    animation: pulseBlinkCard 1s ease-in-out infinite !important; 
    position: relative;
    z-index: 1050 !important; 
    cursor: pointer;
}

/* Protege os textos e botões para não serem "tingidos" pelo lençol rosa */
.piscar-destaque > * {
    position: relative;
    z-index: 1;
}

/* A MÁGICA: Lençol translúcido que atua exatamente entre o fundo rígido e os textos */
.piscar-destaque::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 0; 
    animation: pulseBlinkGlow 1s ease-in-out infinite !important;
}

/* =========================================================================
   🎛️ BLINDAGEM DO SWITCH DE ENCAIXES (LARANJA PURO SEM OPACIDADE)
   ========================================================================= */
/* Aplica em Modo Claro e Escuro simultaneamente */
body .form-switch .form-check-input {
    border-color: #fd7e14 !important; /* Borda laranja sem opacidade */
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='6' fill='%23fd7e14'/%3E%3C/svg%3E") !important;
}

body .form-switch .form-check-input:checked {
    background-color: #fd7e14 !important; /* Fundo laranja quando ativo */
    border-color: #fd7e14 !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='6' fill='%23fff'/%3E%3C/svg%3E") !important; /* Botão interno branco */
}

/* =========================================================================
   SWITCH ESPECÍFICO: BIRD ID (AMARELO WARNING)
   ========================================================================= */
body .form-switch .form-check-input.switch-birdid {
    border-color: var(--bs-gray-500) !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='6' fill='rgba(173, 181, 189, 1)'/%3E%3C/svg%3E") !important;
}

body .form-switch .form-check-input.switch-birdid:checked {
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='6' fill='%23fff'/%3E%3C/svg%3E") !important;
}

/* =================================================================================
   1. CORREÇÃO DO FUNDO GERAL (Profundidade Aveludada)
   ================================================================================= */
html, body {
    background-color: var(--cor-fundo) !important;
}

/* =================================================================================
   2. FORÇA NAVBAR E CARTÕES AO OFF-WHITE (COM SOMBRAS E BORDAS QUENTES)
   ================================================================================= */
body:not(.dark-mode) .bg-white,
body:not(.dark-mode) .navbar,
body:not(.dark-mode) .card {
    background-color: var(--card-bg) !important;
    
    /* REMOVER: border: 1px solid #E8E3D8 !important; */
    /* ADICIONAR: */ border: 1px solid var(--borda-quente) !important; 
    
    /* REMOVER: box-shadow: 0 4px 15px rgba(140, 127, 112, 0.06) !important; */
    /* ADICIONAR: */ box-shadow: 0 4px 15px var(--sombra-quente) !important;
}

/* Devolvemos um bege intermediário (cor de areia clara) para gerar contraste interno (Ex: Cabeçalho do Turno) */
body:not(.dark-mode) .bg-light {
    /* REMOVER: background-color: #EBE6DC !important; */
    /* ADICIONAR: */ background-color: var(--bg-secundario) !important;
}

/* Força as linhas divisórias e bordas internas a respeitarem a paleta quente */
body:not(.dark-mode) .border-bottom,
body:not(.dark-mode) .border-top,
body:not(.dark-mode) .border-start,
body:not(.dark-mode) .border-end,
/*body:not(.dark-mode) .border {
    border-color: var(--borda-quente) !important;
}*/
body:not(.dark-mode) .list-group-item {
    border-color: #000000 !important; /* Força o preto puro nas divisórias */
}

/* =================================================================================
   3. CORREÇÃO DAS TABELAS (Bordas aquecidas)
   ================================================================================= */
body:not(.dark-mode) .table {
    --bs-table-bg: transparent;
    background-color: transparent !important;
}
body:not(.dark-mode) .table th,
body:not(.dark-mode) .table td {
    background-color: transparent !important;
    /* REMOVER: border-bottom-color: #E8E3D8 !important; */
    /* ADICIONAR: */ border-bottom-color: var(--borda-quente) !important;
}
body:not(.dark-mode) .table-light th,
body:not(.dark-mode) .table-light td {
    /* REMOVER: background-color: #EBE6DC !important; */
    /* ADICIONAR: */ background-color: var(--bg-secundario) !important;
}

/* =================================================================================
   CORREÇÃO GLOBAL PARA FIREFOX (Remove a borda pontilhada interna nos botões)
   ================================================================================= */
button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
    border: 0;
    padding: 0;
}

.navbar-custom {
    -webkit-box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.bilate-header-brand {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
}

.bilate-header-brand-icon {
    display: block;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    object-fit: contain;
}

.bilate-header-brand-copy {
    display: grid;
    min-width: 0;
    line-height: 1;
}

.bilate-header-brand-name {
    color: var(--bilate-public-teal-dark, #0d5e65);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.34rem;
    font-weight: 700;
    line-height: 1.05;
    white-space: nowrap;
}

.bilate-header-brand-complement {
    color: var(--bilate-public-gold, #c9972e);
    font-size: .67rem;
    font-weight: 500;
    letter-spacing: .15em;
    line-height: 1.25;
    margin-top: .23rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.organization-brand-logo-editor {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.organization-brand-logo-controls {
    flex: 0 1 520px;
    max-width: 520px;
    min-width: min(100%, 320px);
}

.organization-brand-logo-preview {
    align-items: center;
    background: #fff;
    border: 1px solid var(--borda-quente);
    border-radius: 12px;
    display: inline-flex;
    flex: 0 0 88px;
    height: 88px;
    justify-content: center;
    padding: .5rem;
    width: 88px;
}

.organization-brand-logo-preview-wrap {
    align-items: center;
    display: grid;
    gap: .3rem;
    justify-items: center;
}

.organization-brand-logo-preview-wrap > small {
    color: #65727a;
    font-size: .68rem;
}

.organization-brand-logo-preview img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.unit-card-trade-name {
    display: grid;
    gap: .15rem;
}

.unit-card-trade-name > small {
    color: #65727a;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

@media (max-width: 575.98px) {
    .bilate-header-brand {
        gap: .4rem;
        font-size: 1rem;
    }

    .bilate-header-brand-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .bilate-header-brand-name {
        font-size: 1.08rem;
    }

    .bilate-header-brand-complement {
        font-size: .57rem;
        letter-spacing: .11em;
    }

    .organization-brand-logo-editor {
        align-items: stretch;
        flex-direction: column;
    }
}

.card-custom {
    -webkit-border-radius: 15px;
    border-radius: 15px;
    /*border: none;*/
    border: 1px solid var(--borda-quente) !important; /* Adiciona a borda padrão do sistema */
    -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.04);
    box-shadow: 0 5px 15px rgba(0,0,0,0.04);
    -webkit-transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
    transition: transform 0.2s, box-shadow 0.2s;
    background-color: var(--card-bg, #ffffff);
}

.card-custom:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

body:not(.dark-mode) .text-gold { 
    color: #c49a1d !important; /* Um dourado um tom mais fechado para leitura */
    text-shadow: 0px 1px 2px rgba(0,0,0,0.15) !important; /* Sombra sutil que descola o texto do fundo */
}
body:not(.dark-mode) .text-info,    body:not(.dark-mode) .card .text-info { color: var(--dourado) !important; }

/* ============================================================================================ */
/* Correção de especificidade para os blocos de KPI do Dashboard */
body:not(.dark-mode) .card.card-custom {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--borda-grafite) !important; /* MUDANÇA: Força o Grafite */
}
body.dark-mode .card.card-custom {
    background-color: var(--card-bg) !important;
    border: 1px solid #333333 !important;
}
/* ============================================================================================*/

/* =================================================================================
   AJUSTE DE CABEÇALHO DOS CARTÕES (Evitando hardcoded no HTML)
   ================================================================================= */
.card-custom .card-header {
    background-color: transparent !important; 
    /* REMOVER: border-bottom: 1px solid #E8E3D8; */
    /* ADICIONAR: */ border-bottom: 1px solid var(--borda-quente);
}

/* Garante que no Modo Escuro a linha divisória do título fique correta */
body.dark-mode .card-custom .card-header {
    border-bottom-color: #333333 !important;
}

/*
.bg-pendente {
    background-color: #fff9e6;
    border: 1px solid #ffc107;
}

.bg-tomado {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    opacity: 0.8;
}*/

/* =================================================================================
   ACESSIBILIDADE: ZOOM E ALTO CONTRASTE (WCAG)
   ================================================================================= */

html.zoom-ativo {
    font-size: 125% !important; 
}

body.alto-contraste {
    background-color: #000000 !important;
    color: #ffffff !important;
}

body.alto-contraste .bg-white,
body.alto-contraste .bg-light,
body.alto-contraste .card,
body.alto-contraste .card-custom,
body.alto-contraste .navbar,
body.alto-contraste .footer {
    background-color: #121212 !important; 
    color: #ffffff !important;
    border: 2px solid #ffff00 !important; 
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

body.alto-contraste .text-dark,
body.alto-contraste .text-muted,
body.alto-contraste .text-primary,
body.alto-contraste .text-secondary,
body.alto-contraste h1, body.alto-contraste h2, body.alto-contraste h3, 
body.alto-contraste h4, body.alto-contraste h5, body.alto-contraste h6,
body.alto-contraste .navbar-brand,
body.alto-contraste a {
    color: #ffff00 !important; 
}

body.alto-contraste .btn, 
body.alto-contraste .form-control {
    background-color: #000000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
}

body.alto-contraste .btn:hover {
    background-color: #ffff00 !important;
    color: #000000 !important;
}

body.alto-contraste .bg-pendente,
body.alto-contraste .bg-tomado,
body.alto-contraste .badge {
    background-color: #000000 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}

/* =================================================================================
   DARK MODE CORRIGIDO
   ================================================================================= */

body.dark-mode {
    --cor-fundo: #121212;      
    --card-bg: #1e1e1e;        
    --text-color: #e0e0e0;     
    --cor-primaria: #4791ff;   
    
    /* Variáveis injetadas para corrigir os alertas e fundos internos */
    --bg-secundario: #2a2a2a; 
    --borda-quente: #444444;
    --sombra-quente: rgba(0, 0, 0, 0.5);
}

body.dark-mode {
    background-color: var(--cor-fundo) !important;
    color: var(--text-color) !important;
}

body.dark-mode .card,
body.dark-mode .card-custom,
body.dark-mode .bg-white,
body.dark-mode .bg-light {
    background-color: var(--card-bg) !important;
    color: var(--text-color) !important;
}

/* =================================================================================
   BOTÕES PERSONALIZADOS
   ================================================================================= */
.btn-laranja {
    background-color: #fd7e14 !important;
    border-color: #fd7e14 !important;
    color: #ffffff !important;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
}

.btn-laranja:hover {
    background-color: #e37112 !important; /* Laranja levemente mais escuro no hover */
    border-color: #d66a10 !important;
    color: #ffffff !important;
}

/* Garante que o ícone dentro do botão continue branco */
.btn-laranja i {
    color: #ffffff !important;
}

/* =================================================================================
   BOTÃO TOGGLE (Modo Escuro - Ajustado para Safari/iOS)
   ================================================================================= */
.theme-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
    margin: 0;
}

.theme-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.theme-switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #9ca3af !important;
    -webkit-transition: .4s;
    transition: .4s;
    -webkit-border-radius: 34px;
    border-radius: 34px;
}

.theme-switch .slider:before {
    position: absolute;
    content: "\f185"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    color: #f39c12; 
    -webkit-border-radius: 50%;
    border-radius: 50%;
    
    /* Safari Flexbox Fix */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    
    font-size: 12px;
    -webkit-transition: .4s;
    transition: .4s;
}

.theme-switch input:checked + .slider {
    background-color: #333; 
}

.theme-switch input:checked + .slider:before {
    -webkit-transform: translateX(24px);
    -ms-transform: translateX(24px);
    transform: translateX(24px);
    content: "\f186"; 
    color: #333; 
}

/* =================================================================================
   CORREÇÃO DE TEXTOS E TABELAS NO DARK MODE
   ================================================================================= */

body.dark-mode .text-dark {
    color: #ffffff !important;
}
body.dark-mode .text-muted {
    color: #a0a0a0 !important; 
}

body.dark-mode .table {
    color: var(--text-color) !important;
}
body.dark-mode .table-light,
body.dark-mode .table-light th,
body.dark-mode .table-light td,
body.dark-mode .table th,
body.dark-mode .table td {
    background-color: var(--card-bg) !important;
    color: var(--text-color) !important;
    border-bottom-color: #333 !important;
}
body.dark-mode .table-hover tbody tr:hover td {
    background-color: #2c2c2c !important; 
}

/*
body.dark-mode .bg-pendente {
    background-color: #2d2600 !important; 
    border-color: #ffc107 !important;
    color: #e0e0e0 !important;
}
body.dark-mode .bg-tomado {
    background-color: #151515 !important; 
    border-color: #333 !important;
    color: #888888 !important;
}
*/
body.dark-mode .alert-secondary {
    background-color: #2c2c2c !important;
    border-color: #444 !important;
    color: #ffffff !important;
}

body.dark-mode .navbar-custom {
    background-color: #1a1a1a !important;
    border-bottom: 1px solid #333 !important;
}

/* =================================================================================
   CORREÇÕES DE CONTRASTE (Menus, Listas, Receitas e Exames)
   ================================================================================= */

body.dark-mode .dropdown-menu {
    background-color: var(--card-bg) !important;
    border: 1px solid #444 !important;
}



body.dark-mode .dropdown-item,
body.dark-mode .dropdown-item a,
body.dark-mode .dropdown-item span,
body.dark-mode .dropdown-item i {
    color: #ffffff !important; 
}

body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
    background-color: #3a3a3a !important;
    color: #ffffff !important;
}

body.dark-mode .dropdown-toggle {
    color: #ffffff !important;
}

body.dark-mode .card p,
body.dark-mode .card span,
body.dark-mode .card strong,
body.dark-mode .card b,
body.dark-mode .card li {
    color: var(--text-color) !important;
}

body:not(.dark-mode) .list-group-item {
    background-color: transparent !important;
    border-color: var(--borda-quente) !important;
}

body.dark-mode .list-group-item {
    background-color: var(--card-bg) !important;
    color: var(--text-color) !important;
    border-color: #333 !important;
}

body.dark-mode .modal-content {
    background-color: var(--card-bg) !important;
    color: var(--text-color) !important;
    border-color: #444 !important;
}
body.dark-mode .modal-header,
body.dark-mode .modal-footer {
    border-color: #333 !important;
}

body.dark-mode .modal-backdrop.show {
    opacity: 0.35;
}

body.dark-mode .modal .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
    opacity: 0.85;
}

body.dark-mode .modal .btn-close:hover,
body.dark-mode .modal .btn-close:focus {
    opacity: 1;
}

body.dark-mode hr {
    border-color: #555 !important;
    opacity: 0.5;
}
body.dark-mode i {
    color: inherit; 
}

body.dark-mode .alert-info, 
body.dark-mode .bg-light {
    background-color: #2a2a2a !important;
    color: var(--text-color) !important;
    border-color: #444 !important;
}

/* =================================================================================
   BLINDAGEM DO BOTÕES BOOTSTRAP (OUTLINE BUTTONS) PARA O MÉDICO
   ================================================================================= */

body.dark-mode .text-primary, body.dark-mode .card .text-primary { color: #6ea8fe !important; }
body.dark-mode .text-gold, body.dark-mode .card .text-gold { color: var(--dourado) !important; }
body.dark-mode .text-success, body.dark-mode .card .text-success { color: #75b798 !important; }
/*body.dark-mode .text-info,    body.dark-mode .card .text-info    { color: #6edff6 !important; }*/
body.dark-mode .text-info,    body.dark-mode .card .text-info    { color: var(--dourado) !important; }
body.dark-mode .text-warning, body.dark-mode .card .text-warning { color: #ffda6a !important; }
body.dark-mode .text-danger,  body.dark-mode .card .text-danger  { color: #ea868f !important; }

body.dark-mode .btn.card-custom.btn-outline-primary,
body.dark-mode .btn.card-custom.btn-outline-primary * {
    color: #6ea8fe !important;
    border-color: #6ea8fe !important;
}
body.dark-mode .btn.card-custom.btn-outline-primary:hover,
body.dark-mode .btn.card-custom.btn-outline-primary:hover * {
    background-color: #6ea8fe !important;
    color: #121212 !important;
}

body.dark-mode .btn.card-custom.btn-outline-success,
body.dark-mode .btn.card-custom.btn-outline-success * {
    color: #75b798 !important;
    border-color: #75b798 !important;
}
body.dark-mode .btn.card-custom.btn-outline-success:hover,
body.dark-mode .btn.card-custom.btn-outline-success:hover * {
    background-color: #75b798 !important;
    color: #121212 !important;
}

body.dark-mode .btn.card-custom.btn-outline-info,
body.dark-mode .btn.card-custom.btn-outline-info * {
    color: #6edff6 !important;
    border-color: #6edff6 !important;
}
body.dark-mode .btn.card-custom.btn-outline-info:hover,
body.dark-mode .btn.card-custom.btn-outline-info:hover * {
    background-color: #6edff6 !important;
    color: #121212 !important;
}

body.dark-mode .btn.card-custom.btn-outline-secondary,
body.dark-mode .btn.card-custom.btn-outline-secondary * {
    color: #a8b2b7 !important;
    border-color: #a8b2b7 !important;
}
body.dark-mode .btn.card-custom.btn-outline-secondary:hover,
body.dark-mode .btn.card-custom.btn-outline-secondary:hover * {
    background-color: #a8b2b7 !important;
    color: #121212 !important;
}

/* =================================================================================
   ESTILIZAÇÃO ISOLADA: COMPONENTE DE ACESSO RÁPIDO (EXATO BOOTSTRAP + SAFARI FIX)
   ================================================================================= */

/* --- MODO CLARO (Padrão) --- */
.btn-card-opcao {
    display: block;
    width: 100%;
    -webkit-border-radius: 15px;
    border-radius: 15px;
    
    /* background-color: #ffffff; */
    background-color: var(--card-bg); /* Puxa o bege clarinho */
    
    -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.04);
    box-shadow: 0 5px 15px rgba(0,0,0,0.04);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    text-align: center;
    
    /* RESET PERFEITO PARA SAFARI E IOS */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid transparent; 
    font-family: inherit;
    font-size: 1rem;
    outline: none;
    margin: 0; /* Remove margens extras do Safari */
    line-height: normal; /* Evita que o Safari distorça a altura do botão */
    text-decoration: none;
}

.btn-card-opcao:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/* Cores e Hovers EXATOS do Bootstrap (Modo Claro) */
.opcao-agendar  { border-color: #0d6efd; color: #0d6efd; }
.opcao-agendar i { color: #0d6efd; }
.opcao-agendar:hover { background-color: #0d6efd; color: #ffffff; border-color: #0d6efd; }
.opcao-agendar:hover i { color: #ffffff; }

.opcao-receitas { border-color: #198754; color: #198754; }
.opcao-receitas i { color: #198754; }
.opcao-receitas:hover { background-color: #198754; color: #ffffff; border-color: #198754; }
.opcao-receitas:hover i { color: #ffffff; }

.opcao-sinais  { border-color: #0dcaf0; color: #0dcaf0; }
.opcao-sinais i { color: #0dcaf0; }
.opcao-sinais:hover { background-color: #0dcaf0; color: #000000; border-color: #0dcaf0; } 
.opcao-sinais:hover i { color: #000000; }

.opcao-faturas { border-color: #6c757d; color: #6c757d; }
.opcao-faturas i { color: #6c757d; }
.opcao-faturas:hover { background-color: #6c757d; color: #ffffff; border-color: #6c757d; }
.opcao-faturas:hover i { color: #ffffff; }

/* --- MODO ESCURO (Mantendo a Identidade Visual Original intacta) --- */
body.dark-mode .secao-acesso-rapido .titulo-secao {
    color: #ffffff !important;
}

body.dark-mode .btn-card-opcao {
    background-color: #1e1e1e !important; 
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

body.dark-mode .opcao-agendar { border-color: #0d6efd !important; color: #0d6efd !important; }
body.dark-mode .opcao-agendar i { color: #0d6efd !important; }
body.dark-mode .opcao-agendar:hover { background-color: #0d6efd !important; color: #ffffff !important; border-color: #0d6efd !important; }
body.dark-mode .opcao-agendar:hover i { color: #ffffff !important; }

body.dark-mode .opcao-receitas { border-color: #198754 !important; color: #198754 !important; }
body.dark-mode .opcao-receitas i { color: #198754 !important; }
body.dark-mode .opcao-receitas:hover { background-color: #198754 !important; color: #ffffff !important; border-color: #198754 !important; }
body.dark-mode .opcao-receitas:hover i { color: #ffffff !important; }

body.dark-mode .opcao-sinais { border-color: #0dcaf0 !important; color: #0dcaf0 !important; }
body.dark-mode .opcao-sinais i { color: #0dcaf0 !important; }
body.dark-mode .opcao-sinais:hover { background-color: #0dcaf0 !important; color: #000000 !important; border-color: #0dcaf0 !important; }
body.dark-mode .opcao-sinais:hover i { color: #000000 !important; }

body.dark-mode .opcao-faturas { border-color: #6c757d !important; color: #6c757d !important; }
body.dark-mode .opcao-faturas i { color: #6c757d !important; }
body.dark-mode .opcao-faturas:hover { background-color: #6c757d !important; color: #ffffff !important; border-color: #6c757d !important; }
body.dark-mode .opcao-faturas:hover i { color: #ffffff !important; }

/* =================================================================================
   ESTILIZAÇÃO DAS ABAS ESTILO PASTA/FICHÁRIO
   ================================================================================= */

/* --- Configuração da Barra de Abas --- */
#perfilTabs.nav-tabs {
    border-bottom: 0px solid transparent !important; /* CORRIGIDO: Mata a linha do Bootstrap definitivamente */
    gap: 6px;
    padding-left: 10px;
    margin-bottom: 0 !important;
}

/* --- ESTADO PADRÃO / INATIVO --- */
#perfilTabs.nav-tabs .nav-link {
    border: none !important;
    font-weight: bold !important;
    color: #555555 !important; 
    background-color: #e9ecef !important; 
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
    border-bottom-left-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
    padding: 12px 24px;
    transition: background-color 0.2s, color 0.2s;
    
    /* NOVO: Necessário para a aba tampar a linha branca */
    position: relative; 
    z-index: 0; 
}

/* SÓ A ABA ATIVA FICA POR CIMA DA BORDA */
#perfilTabs.nav-tabs .nav-link.active {
    z-index: 2 !important; 
}

/* Efeito hover nas abas inativas */
#perfilTabs.nav-tabs .nav-link:hover:not(.active) {
    background-color: #d6d8db !important;
    color: #222222 !important;
}

/* --- ESTADO ATIVO: ABA 1 E 2 --- */
#cartao-perfil ul.nav-tabs button#dados-tab.active {
    background-color: var(--cor-primaria) !important;
    color: var(--card-bg) !important; 
}

/*#cartao-perfil ul.nav-tabs button#medicamentos-tab.active {
    background-color: var(--cor-alerta) !important;
    color: var(--card-bg) !important;
}*/
/* Aba Uso Contínuo (Vermelha) */
#cartao-perfil ul.nav-tabs button#medicamentos-tab.active {
    background-color: var(--cor-perigo) !important;
    color: var(--card-bg) !important;
}

/* Aba Grade de Horários (Amarela, voltando ao padrão original) */
#cartao-perfil ul.nav-tabs button#agenda-tab.active {
    background-color: var(--cor-alerta) !important;
    color: var(--text-color) !important;
}

/* --- NOVAS ABAS ATIVAS --- */
/* Aba Endereço (Verde) */
#cartao-perfil ul.nav-tabs button#endereco-tab.active { 
    background-color: var(--cor-sucesso) !important; 
    color: var(--card-bg) !important; 
}
#cartao-perfil:has(#endereco-tab.active) #perfilTabsContent { 
    border: 3px solid var(--cor-sucesso) !important; 
    border-top-left-radius: 10px !important; 
}

/* Aba Convênio (Verde -> Sucesso) */
#cartao-perfil ul.nav-tabs button#convenio-tab.active { 
    background-color: var(--cor-sucesso) !important; 
    color: var(--card-bg) !important; 
}
#cartao-perfil:has(#convenio-tab.active) #perfilTabsContent { 
    border: 3px solid var(--cor-sucesso) !important; 
    border-top-left-radius: 10px !important; 
}

/* Aba Contatos e Cuidadores (Vermelho) */
#cartao-perfil ul.nav-tabs button#contatos-tab.active { 
    background-color: var(--cor-perigo) !important; 
    color: var(--card-bg) !important; 
}
#cartao-perfil:has(#contatos-tab.active) #perfilTabsContent { 
    border: 3px solid var(--cor-perigo) !important; 
    border-top-left-radius: 10px !important; 
}

/* REGRAS PARA O MODO ESCURO DAS NOVAS ABAS */
body.dark-mode #cartao-perfil ul.nav-tabs button#endereco-tab.active { background-color: #198754 !important; color: #ffffff !important; }
body.dark-mode #cartao-perfil:has(#endereco-tab.active) #perfilTabsContent { border-color: #198754 !important; }

body.dark-mode #cartao-perfil ul.nav-tabs button#convenio-tab.active { background-color: #198754 !important; color: #ffffff !important; }
body.dark-mode #cartao-perfil:has(#convenio-tab.active) #perfilTabsContent { border-color: #198754 !important; }

body.dark-mode #cartao-perfil ul.nav-tabs button#contatos-tab.active { background-color: #dc3545 !important; color: #ffffff !important; }
body.dark-mode #cartao-perfil:has(#contatos-tab.active) #perfilTabsContent { border-color: #dc3545 !important; }

/* --- CONTENT AREA: BORDAS MÁGICAS --- */
#perfilTabsContent {
    /* background-color: #ffffff; */
    background-color: var(--card-bg); /* Puxa o bege clarinho */
    
    padding: 30px; 
    border-radius: 0 10px 10px 10px; 
    transition: border 0.3s ease-in-out;
    
    /* CORRIGIDO: Puxa 3px para cima (a exata espessura da nossa borda) */
    margin-top: -3px; 
    position: relative; 
    z-index: 1; /* Fica abaixo da aba */
}

/* Quando a aba Azul está ativa */
#cartao-perfil:has(#dados-tab.active) #perfilTabsContent {
    border: 3px solid var(--cor-primaria) !important;
    border-top-left-radius: 10px !important; 
}

/* Quando a aba Laranja está ativa */
/*#cartao-perfil:has(#medicamentos-tab.active) #perfilTabsContent {
    border: 3px solid var(--cor-alerta) !important;
    border-top-left-radius: 10px !important; 
}*/
/* Quando a aba de Uso Contínuo (Vermelha) está ativa */
#cartao-perfil:has(#medicamentos-tab.active) #perfilTabsContent {
    border: 3px solid var(--cor-perigo) !important;
    border-top-left-radius: 10px !important; 
}

/* Quando a aba de Grade de Horários (Amarela) está ativa */
#cartao-perfil:has(#agenda-tab.active) #perfilTabsContent {
    border: 3px solid var(--cor-alerta) !important;
    border-top-left-radius: 10px !important; 
}

/* --- ABA EXCLUSIVA DO MÉDICO: ATUAÇÃO PROFISSIONAL (VERDE ESMERALDA) --- */
#perfilTabs.nav-tabs button#profissional-tab.active {
    background-color: var(--cor-sucesso) !important;
    color: var(--card-bg) !important;
}
#cartao-perfil:has(#profissional-tab.active) #perfilTabsContent {
    border: 3px solid var(--cor-sucesso) !important;
    border-top-left-radius: 10px !important;
}

/* --- ABA EXCLUSIVA DO MÉDICO: LOCAIS DE ATENDIMENTO (GRAFITE/SECUNDÁRIA) --- */
#perfilTabs.nav-tabs button#locais-tab.active {
    background-color: var(--cor-secundaria) !important;
    color: var(--card-bg) !important;
}
#cartao-perfil:has(#locais-tab.active) #perfilTabsContent {
    border: 3px solid var(--cor-secundaria) !important;
    border-top-left-radius: 10px !important;
}

/* --- ABA EXCLUSIVA DO MÉDICO: PERFIL PÚBLICO (VIOLETA) --- */
#perfilTabs.nav-tabs button#publico-tab.active {
    background-color: #6f42c1 !important;
    color: #ffffff !important;
}
#cartao-perfil:has(#publico-tab.active) #perfilTabsContent {
    border: 3px solid #6f42c1 !important;
    border-top-left-radius: 10px !important;
}

/* Compatibilidade Dark Mode para as novas abas do médico */
body.dark-mode #perfilTabs.nav-tabs button#profissional-tab.active { background-color: #198754 !important; color: #fff !important; }
body.dark-mode #perfilTabs.nav-tabs button#locais-tab.active { background-color: #6c757d !important; color: #fff !important; }
body.dark-mode #perfilTabs.nav-tabs button#publico-tab.active { background-color: #6f42c1 !important; color: #fff !important; }
body.dark-mode #cartao-perfil:has(#profissional-tab.active) #perfilTabsContent { border-color: #198754 !important; }
body.dark-mode #cartao-perfil:has(#locais-tab.active) #perfilTabsContent { border-color: #6c757d !important; }
body.dark-mode #cartao-perfil:has(#publico-tab.active) #perfilTabsContent { border-color: #6f42c1 !important; }

/* =================================================================================
   COMPATIBILIDADE PARA MODO ALTO CONTRASTE 
   ================================================================================= */
body.alto-contraste #perfilTabs.nav-tabs .nav-link {
    color: #ffffff !important; 
    background-color: #222222 !important; 
    border: 2px solid #555555 !important;
    border-bottom: none !important;
}

body.alto-contraste #perfilTabs.nav-tabs .nav-link:hover:not(.active) {
    background-color: #444444 !important;
}

body.alto-contraste #perfilTabs.nav-tabs #dados-tab.active,
body.alto-contraste #perfilTabs.nav-tabs #medicamentos-tab.active,
body.alto-contraste #perfilTabs.nav-tabs #publico-tab.active {
    border: 2px solid #ffff00 !important;
    border-bottom: none !important;
}

body.alto-contraste #cartao-perfil:has(#dados-tab.active) #perfilTabsContent,
body.alto-contraste #cartao-perfil:has(#medicamentos-tab.active) #perfilTabsContent,
body.alto-contraste #cartao-perfil:has(#publico-tab.active) #perfilTabsContent {
    border-color: #ffff00 !important;
    background-color: #000000 !important;
}

/* =================================================================================
   COMPATIBILIDADE PARA MODO ESCURO (DARK MODE)
   ================================================================================= */
/* Fundo do conteúdo (fichário) no modo escuro */
body.dark-mode #perfilTabsContent {
    background-color: #212529 !important; 
    color: #f8f9fa !important;
}

/* Abas inativas no modo escuro */
body.dark-mode #cartao-perfil .nav-tabs .nav-link {
    background-color: #2c2c2c !important;
    color: #adb5bd !important;
}

/* Efeito hover nas abas inativas do modo escuro */
body.dark-mode #cartao-perfil .nav-tabs .nav-link:hover:not(.active) {
    background-color: #3a3a3a !important;
    color: #ffffff !important;
}

/* Força cores vibrantes das abas ativas no modo escuro */
body.dark-mode #cartao-perfil ul.nav-tabs button#dados-tab.active {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

body.dark-mode #cartao-perfil ul.nav-tabs button#medicamentos-tab.active {
    background-color: #fd7e14 !important;
    color: #ffffff !important;
}

/* Força cores das bordas no modo escuro */
body.dark-mode #cartao-perfil:has(#dados-tab.active) #perfilTabsContent {
    border-color: #0d6efd !important;
}

body.dark-mode #cartao-perfil:has(#medicamentos-tab.active) #perfilTabsContent {
    border-color: #fd7e14 !important;
}

/* =================================================================================
   ESTILOS DOS REMÉDIOS (Checklist Diária)
   ================================================================================= */
/* --- Modo Claro (Padrão) --- */
.custom-remedio-card.bg-pendente {
    background-color: #ffffff;
    border-left: 5px solid #ffc107 !important; /* Faixa lateral amarela */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.custom-remedio-card.bg-tomado {
    background-color: #f8f9fa;
    border-left: 5px solid #198754 !important; /* Faixa lateral verde */
    opacity: 0.7;
}

.custom-remedio-card.bg-pendente:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

/* --- Modo Escuro (Dark Mode) --- */
body.dark-mode .custom-remedio-card.bg-pendente {
    background-color: #262626 !important; /* Fundo cinza escuro, limpo */
    border-left: 5px solid #ffc107 !important;
    color: #ffffff !important;
}
body.dark-mode .custom-remedio-card.bg-tomado {
    background-color: #1a1a1a !important; /* Fundo mais escuro para parecer inativo */
    border-left: 5px solid #198754 !important;
    opacity: 0.5;
}

/* Ajuste do contraste do texto "Tomar às..." no modo escuro */
body.dark-mode .custom-remedio-card .text-danger {
    color: #ff6b6b !important; /* Um vermelho mais suave/pastel para não cansar a vista */
}


/* ==========================================================================
   MÓDULO: AGENDA DIÁRIA (CARTÕES DE HORÁRIOS BLINDADOS)
   ========================================================================== */

/* 1. DISPONÍVEL (Ativos para marcação) */
body:not(.dark-mode) div.slot-disponivel,
body:not(.dark-mode) .card.slot-disponivel { 
    background-color: #e6f2ff !important; 
    border: 1px solid var(--borda-grafite) !important; /* Grafite unificado */
    border-left: 5px solid var(--cor-primaria) !important;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.1) !important; 
}

/* 2. PASSADO / ENCERRADO */
body:not(.dark-mode) div.slot-passado,
body:not(.dark-mode) .card.slot-passado { 
    background-color: var(--bg-secundario) !important; 
    border: 1px solid var(--borda-grafite) !important; /* Grafite unificado */
    border-left: 5px solid var(--cor-secundaria) !important;
    opacity: 1 !important; 
    box-shadow: none !important;
}

/* 3. OCUPADO / AGENDADO */
body:not(.dark-mode) div.slot-ocupado,
body:not(.dark-mode) .card.slot-ocupado { 
    background-color: #f0fdf4 !important; 
    border: 1px solid var(--borda-grafite) !important; /* Grafite unificado */
    border-left: 5px solid var(--cor-sucesso) !important;
    box-shadow: none !important;
}

/* 4. BLOQUEADO */
body:not(.dark-mode) div.slot-bloqueado,
body:not(.dark-mode) .card.slot-bloqueado { 
    background-color: #fff1f2 !important; 
    border: 1px solid var(--borda-grafite) !important; /* Grafite unificado */
    border-left: 5px solid var(--cor-perigo) !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

/* Tratamento Escuro (Dark Mode) */
body.dark-mode div.slot-disponivel, body.dark-mode .card.slot-disponivel { background-color: rgba(2, 132, 199, 0.15) !important; border-color: #555 !important; }
body.dark-mode div.slot-passado, body.dark-mode .card.slot-passado { background-color: #1e293b !important; border-color: #444 !important; opacity: 0.5 !important; }
body.dark-mode div.slot-ocupado, body.dark-mode .card.slot-ocupado { background-color: rgba(25, 135, 84, 0.15) !important; border-color: #555 !important; }
body.dark-mode div.slot-bloqueado, body.dark-mode .card.slot-bloqueado { background-color: rgba(220, 53, 69, 0.15) !important; border-color: #555 !important; }

/* =========================================================================
   🎨 AUTOCOMPLETES CLÍNICOS UNIFICADOS (ALTO CONTRASTE MASTER)
   ========================================================================= */
.autocomplete-wrapper {
    position: relative;
}

.cid-dropdown-flutuante,
.med-dropdown-flutuante {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    min-width: 100%;
    max-width: 750px;
    max-height: 290px;
    overflow-y: auto;
    background-color: var(--card-bg);
    border: 1px solid var(--borda-quente);
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem var(--sombra-quente);
    margin-top: 3px;
}

/* --- ESTILO DOS ITENS --- */
.cid-dropdown-item,
.med-dropdown-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0.75rem 1rem;
    color: var(--card-bg) !important; 
    text-decoration: none;
    white-space: normal;
    background-color: var(--cor-sucesso) !important;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s ease-in-out, filter 0.2s ease-in-out;
}

/* HOVER GERAL (Usa filtro para escurecer a variável base) */
.cid-dropdown-item:hover,
.med-dropdown-item:hover {
    background-color: var(--cor-sucesso) !important;
    filter: brightness(0.85); /* Escurece a cor principal automaticamente no hover */
}

/* HOVER GERAL (Usa filtro para escurecer a variável base) */
.cid-dropdown-item:hover,
.med-dropdown-item:hover {
    background-color: var(--cor-sucesso) !important;
    filter: brightness(0.85); /* Escurece a cor principal automaticamente no hover */
}

.med-dropdown-item:first-child { 
    border-top-left-radius: 6px; 
    border-top-right-radius: 6px; 
    
}
.med-dropdown-item:last-child { 
    border-bottom-left-radius: 6px; 
    border-bottom-right-radius: 6px; 
    border-bottom: none; 
    
}

/* Estilo Customizado para a Lista de Medicamentos */
/*.med-dropdown-item {
    /*background-color: #198754 !important; /* Verde Bootstrap */
    /*color: #ffffff !important; /* Força o texto a ser branco */
    /*border-bottom: 1px solid rgba(255, 255, 255, 0.15); /* Linha sutil separando os remédios */
    /*cursor: pointer;
    /*transition: background-color 0.2s ease-in-out; /* Efeito suave na troca de cor */
/*}

/* O Segredo do Hover Verde */
/*.med-dropdown-item:hover {
    background-color: #105933 !important; /* Verde Sucesso Bootstrap */
/*}*/

/* ==========================================================================
   CLASSES DE APOIO (ALERTAS E AVISOS DO PRONTUÁRIO)
   ========================================================================== */

/* Fundo amarelo muito claro para advertências */
.bg-alerta-suave {
    background-color: #fff8e1 !important; /* Amarelo clarinho seguro */
}

/* Borda amarela forte */
.border-alerta {
    border: 1px solid var(--cor-alerta) !important;
}

/* Fundo vermelho muito claro para bloqueios */
.bg-perigo-suave {
    background-color: #fff1f2 !important; /* Vermelho clarinho seguro */
}

/* Borda vermelha forte */
.border-perigo {
    border: 1px solid var(--cor-perigo) !important;
}

/* Correção para o Dark Mode (inverte a cor do texto e usa opacidade) */
body.dark-mode .bg-alerta-suave,
body.dark-mode .bg-perigo-suave {
    color: #ffffff !important;
}
body.dark-mode .bg-alerta-suave {
    background-color: rgba(255, 193, 7, 0.15) !important;
    border-color: rgba(255, 193, 7, 0.4) !important;
}
body.dark-mode .bg-perigo-suave {
    background-color: rgba(220, 53, 69, 0.15) !important;
    border-color: rgba(220, 53, 69, 0.4) !important;
}


/* =========================================================================
   📝 EDITOR VISUAL (SUMMERNOTE) - AJUSTES E MODO ESCURO
   ========================================================================= */

/* --- Configurações Globais do Editor --- */
.note-resizebar { 
    display: none !important; /* Remove a alça inferior */
}

/* Altura e Scroll interno do Editor */
.note-editable { 
    min-height: 500px !important; 
    max-height: 500px !important; /* TRANCADO: Não passa de 500px */
    overflow-y: auto !important;  /* ATIVADO: Força a scrollbar quando passa de 500px */
    
    /* ADICIONE ESTA LINHA: 1.5 é o padrão, 1.8 ou 2.0 deixa o texto mais espaçado | 1.2 (padrão de leitura) ou 1.0 (bem junto) */
    /*line-height: 1.2 !important;*/
}

/* Reduz o espaço gigante que o Bootstrap coloca entre os parágrafos */
.note-editable p {
    margin-bottom:  0 !important;/*0.5rem !important; /* Se quiser zero espaço, mude para 0 !important */
}

/* --- ESTILO "NOTEPAD" MODO CLARO (PADRÃO) --- */
body:not(.dark-mode) .note-editor.note-frame {
    border: 1px solid #cccccc !important;
    border-radius: 0 !important;
}

body:not(.dark-mode) .note-editor .note-editable {
    background-color: #ffffff !important; 
    color: #000000 !important; 
    min-height: 500px !important; 
    max-height: 500px !important; 
    overflow-y: auto !important;
    font-family: 'Consolas', 'Courier New', monospace !important; 
}

body:not(.dark-mode) .note-toolbar {
    background-color: #f0f0f0 !important; 
    border-bottom: 1px solid #cccccc !important;
}

/* Transforma o container Fullscreen num Flexbox inteligente e respeita o Footer */
.note-editor.note-frame.fullscreen {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 60px !important; /* 🔥 A MÁGICA: Para 60px antes do fim para mostrar o Footer */
    height: auto !important;
    width: auto !important;
    z-index: 9999 !important;
    background-color: var(--card-bg) !important;
}

/* Faz a área de edição preencher apenas o espaço vazio, sem vazar para fora do monitor */
.note-editor.note-frame.fullscreen .note-editing-area {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* O texto adapta-se perfeitamente e a scrollbar para na borda exata */
.note-editor.note-frame.fullscreen .note-editable {
    flex: 1 !important;
    height: auto !important;
    max-height: none !important;
}

/* Força a barra de ferramentas a ser Flexbox para isolar o Fullscreen na direita */
.note-toolbar {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 5px;
}
.note-toolbar .note-view {
    margin-left: auto !important; /* Empurra o botão de Fullscreen para a extrema direita */
}

/* --- MODO ESCURO (Dark Mode) --- */
body.dark-mode .note-editor.note-frame {
    border-color: #FF8F00 !important; /* Borda limitadora no dark mode */
}

body.dark-mode .note-editor .note-editable {
    /* Usando uma cor mais clara que o fundo padrão para dar contraste à caixa de texto */
    background-color: #2b3035 !important; 
    color: #f8f9fa !important;
}

/* Fundo por trás do editor em tela cheia */
body.dark-mode .note-editor.note-frame.fullscreen {
    background-color: #121212 !important; 
}

/* Mantém a "folha" de digitação destacada e com a cor correta */
body.dark-mode .note-editor.note-frame.fullscreen .note-editable {
    background-color: #2b3035 !important; 
}

/* Fundo da barra de ferramentas */
body.dark-mode .note-toolbar {
    background-color: #1e1e1e !important; /* Cor do var(--card-bg) */
    border-bottom: 1px solid #333 !important;
}

/* Botões da barra de ferramentas (Fundo Escuro e Ícones Claros) */
body.dark-mode .note-toolbar .note-btn {
    background-color: #2c2c2c !important;
    border-color: #444 !important;
}

/* MÁGICA 2: Corrige os ícones "fantasmas" forçando-os a serem brancos e 100% opacos no escuro */
body.dark-mode .note-toolbar .note-btn,
body.dark-mode .note-toolbar .note-btn *, 
body.dark-mode .note-toolbar .note-btn::after,
body.dark-mode .note-toolbar .note-btn .note-icon-caret {
    color: #f8f9fa !important; 
    opacity: 1 !important; 
}

/* Highlight / Focus no botão no Modo Escuro */
body.dark-mode .note-toolbar .note-btn:hover,
body.dark-mode .note-toolbar .note-btn.active {
    background-color: #444 !important;
    color: #ffffff !important;
}

/* Texto de exemplo (placeholder) */
body.dark-mode .note-placeholder {
    color: #888888 !important; 
}


/* =========================================================================
   ✨ SCROLLBAR PERSONALIZADA DO EDITOR VISUAL (SUMMERNOTE)
   ========================================================================= */

/* Compatibilidade para Chrome, Edge, Safari e Opera */
.note-editable::-webkit-scrollbar {
    width: 18px !important; /* 👈 AGORA SIM! PODE MUDAR ESTE VALOR À VONTADE */
}

/* O "Trilho" (Fundo da barra) - Laranja escuro esmaecido */
.note-editable::-webkit-scrollbar-track {
    background-color: rgba(204, 115, 0, 0.15) !important; 
    border-radius: 0 4px 4px 0 !important;
}

/* O "Polegar" (A barra que se move) - Laranja FF8F00 */
.note-editable::-webkit-scrollbar-thumb {
    background-color: #FF8F00 !important;
    border-radius: 10px !important;
    
    /* Cria o "espaço vazio" em volta do polegar (deve crescer proporcionalmente à largura da barra) */
    border: 4px solid rgba(204, 115, 0, 0.15) !important; 
    
    /* Impede que o fundo do trilho vaze pelas bordas do polegar */
    background-clip: padding-box !important; 
}

/* Cor do polegar ao passar o mouse */
.note-editable::-webkit-scrollbar-thumb:hover {
    background-color: #e68100 !important;
}

/* Compatibilidade nativa (Firefox e navegadores modernos) */
.note-editable {
    /* MUDANÇA VITAL: O 'auto' libera o navegador para respeitar os seus X pixels ali de cima */
    scrollbar-width: auto !important; 
    scrollbar-color: #FF8F00 rgba(204, 115, 0, 0.15) !important;
    line-height: 1.5 !important;
    
}

.dropdown-menu {
        z-index: 9999 !important;
    }
    
/* 🔥 MÁGICA DO Z-INDEX: Quando um menu abrir, o card pula para a frente da tela e nunca mais é cortado! */
    .card-custom { position: relative; }
    .card-custom:has(.dropdown-menu.show) {
        z-index: 1060 !important;
    }
    .d-flex.border.rounded:has(.dropdown-menu.show) {
        z-index: 1060 !important;
        position: relative;
    }
    
/* CSS para o switch no arquivo main.css */
input.form-check-input.switch-destaque:checked {
    background-color: #FF8F00 !important;
    border-color: #FF8F00 !important;
}

input.form-check-input.switch-destaque {
    border-color: rgba(255, 255, 255, 0.6) !important;
}

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

/* ==========================================================================
   TEXTURA AVELUDADA NOS CARTÕES (APENAS MODO CLARO)
   ========================================================================== */
body:not(.dark-mode) .card,
body:not(.dark-mode) .card-custom {
    position: relative;
    background-color: var(--card-bg) !important; /* Força o bege antes da textura */
    background-image: 
        radial-gradient(at 18% 12%, rgba(255, 255, 255, 0.25) 0px, transparent 50%), /* Luz reduzida */
        radial-gradient(at 85% 82%, rgba(212, 175, 55, 0.08) 0px, transparent 50%) !important; /* Sombra com toque dourado */
}

body:not(.dark-mode) .card::before,
body:not(.dark-mode) .card-custom::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    /* Corrigi a URL do seu SVG que estava faltando o fechamento da tag xmlns */
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");
    pointer-events: none; /* Permite clicar nos elementos abaixo */
    border-radius: inherit; /* MÁGICA: Faz a textura respeitar as bordas arredondadas do cartão */
    z-index: 0;
}

/* Garante que o conteúdo do cartão fique por cima da textura */
body:not(.dark-mode) .card > *,
body:not(.dark-mode) .card-custom > * {
    position: relative;
    z-index: 1;
}

/* =================================================================================
   CORREÇÃO DO BOTÃO MENU (HAMBÚRGUER) NO DARK MODE
   ================================================================================= */
body.dark-mode .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.3) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .navbar-toggler-icon {
    /* Inverte a cor do ícone SVG nativo do Bootstrap (de preto para branco puro) */
    filter: invert(1) grayscale(100%) brightness(200%) !important;
}


/* =================================================================================
   BORDAS COLORIDAS PARA OS CARDS DE KPI (DASHBOARD)
   ================================================================================= */
/* Modo Claro */
body:not(.dark-mode) .card.kpi-primary { border: 1px solid var(--cor-primaria) !important; }
body:not(.dark-mode) .card.kpi-warning { border: 1px solid var(--cor-alerta) !important; }
body:not(.dark-mode) .card.kpi-success { border: 1px solid var(--cor-sucesso) !important; }
body:not(.dark-mode) .card.kpi-info    { border: 1px solid var(--dourado) !important; }

/* Modo Escuro (Acompanhando as cores pastelizadas que definimos antes) */
body.dark-mode .card.kpi-primary { border: 1px solid #6ea8fe !important; }
body.dark-mode .card.kpi-warning { border: 1px solid #ffda6a !important; }
body.dark-mode .card.kpi-success { border: 1px solid #75b798 !important; }
body.dark-mode .card.kpi-info    { border: 1px solid var(--dourado) !important; }



/* =========================================================================
   🎨 DESTAQUES DA PRÓXIMA CONSULTA (BLINDAGEM DE ESPECIFICIDADE)
   ========================================================================= */

/* --- MODO CLARO (Padrão) --- */

/* Estado 1: Tem consulta agendada - Azul suave destacado */
body:not(.dark-mode) .card.card-custom.card-consulta-agendada {
    background-color: #e0f2fe !important; /* Azul celeste bem suave e limpo */
    border: 1px solid #0284c7 !important; /* Borda azul oficial */
}
/* Deixa a caixinha interna semi-transparente para o azul do cartão aparecer no fundo */
body:not(.dark-mode) .card.card-custom.card-consulta-agendada .bg-light {
    background-color: rgba(255, 255, 255, 0.4) !important;
}

/* Estado 2: Consulta Iniciada / Ao Vivo - Verde clínico com Pulsação */
body:not(.dark-mode) .card.card-custom.card-consulta-ao-vivo {
    background-color: #dcfce7 !important; /* Fundo verde-clínico suave */
    border: 1px solid #22c55e !important; /* Borda verde viva */
    animation: pulsaBordaAtendimento 2s infinite !important;
}
body:not(.dark-mode) .card.card-custom.card-consulta-ao-vivo .bg-light {
    background-color: rgba(255, 255, 255, 0.5) !important;
}


/* --- MODO ESCURO (Dark Mode) --- */

body.dark-mode .card.card-custom.card-consulta-agendada {
    background-color: rgba(2, 132, 199, 0.15) !important;
    border: 1px solid #0284c7 !important;
}
body.dark-mode .card.card-custom.card-consulta-agendada .bg-light {
    background-color: rgba(0, 0, 0, 0.2) !important;
}

body.dark-mode .card.card-custom.card-consulta-ao-vivo {
    background-color: rgba(34, 197, 94, 0.15) !important;
    border: 1px solid #22c55e !important;
    animation: pulsaBordaAtendimentoDark 2s infinite !important;
}
body.dark-mode .card.card-custom.card-consulta-ao-vivo .bg-light {
    background-color: rgba(0, 0, 0, 0.2) !important;
}


/* --- ANIMAÇÕES DE PULSAÇÃO DO BOX-SHADOW --- */
@keyframes pulsaBordaAtendimento {
    0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.5); }
    70% { box-shadow: 0 0 0 15px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

@keyframes pulsaBordaAtendimentoDark {
    0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6); }
    70% { box-shadow: 0 0 0 15px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}


/* =========================================================================
   ⚡ LIBERAÇÃO DE OVERFLOW PARA DROPDOWNS EM TABELAS RESPONSIVAS
   ========================================================================= */
/* Quando houver um dropdown aberto, a tabela temporariamente perde as travas de limite */
.table-responsive:has(.dropdown-menu.show) {
    overflow: visible !important;
}

/* Garante que o menu dropdown flutue acima de absolutamente qualquer elemento do painel */
.table-responsive .dropdown-menu.show {
    z-index: 1070 !important;
}



/* =========================================================================
   🔲 CORREÇÃO DE HOVER (FEEDBACK VISUAL) NOS DOCUMENTOS DO PACIENTE
   ========================================================================= */
/* Alvo: Itens de menu dentro da tabela de histórico no Modo Claro */
body:not(.dark-mode) .table .dropdown-menu .dropdown-item {
    padding: 0.5rem 1rem !important;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

body:not(.dark-mode) .table .dropdown-menu .dropdown-item:hover {
    background-color: #0d6efd !important; /* Força o azul oficial do Bootstrap */
    color: #ffffff !important; /* Força o texto a ficar branco puro para dar contraste */
}

/* Garante que o ícone esquerdo também mude para branco no momento do hover */
body:not(.dark-mode) .table .dropdown-menu .dropdown-item:hover i {
    color: #ffffff !important;
}


/* =========================================================================
   UX: FEEDBACK VISUAL (HOVER E DESLOCAMENTO) NOS DROPDOWNS DO SISTEMA
   ========================================================================= */

/* 1. Botão do Dropdown (Feedback Tátil Base) */
body:not(.dark-mode) .dropdown .btn-outline-secondary.dropdown-toggle:hover {
    background-color: var(--bg-secundario) !important;
    border-color: var(--borda-grafite) !important;
    box-shadow: 0 2px 8px var(--sombra-quente) !important;
    transition: all 0.2s ease-in-out;
}

/* 2. Formatação Base do Item do Dropdown */
.dropdown-menu .dropdown-item {
    transition: background-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
    border-radius: 4px;
    margin: 2px 6px;
    width: calc(100% - 12px);
}

/* 3. A MÁGICA: Deslocamento Suave à Direita no Hover (Feedback de Seleção) */
body:not(.dark-mode) .dropdown-menu .dropdown-item:hover,
body.dark-mode .dropdown-menu .dropdown-item:hover {
    transform: translateX(4px); /* Puxa o item levemente para a direita */
    cursor: pointer;
}

/* 4. Cores no Modo Claro: Fundo bege + Preserva a cor original do link */
body:not(.dark-mode) .dropdown-menu .dropdown-item:hover {
    background-color: var(--bg-secundario) !important;
    /* Removemos a troca de cor de texto para não sobrescrever as classes text-danger, text-success nativas */
}

/* 5. Cores no Modo Escuro (Preserva a harmonia) */
body.dark-mode .dropdown-menu .dropdown-item:hover {
    background-color: #3a3a3a !important;
}

/* 6. Cores no Alto Contraste (Respeita as bordas amarelas) */
body.alto-contraste .dropdown-menu .dropdown-item:hover {
    background-color: #ffff00 !important;
    color: #000000 !important;
    transform: translateX(6px); /* Deslocamento levemente maior no Alto Contraste para destacar mais */
}
body.alto-contraste .dropdown-menu .dropdown-item:hover i {
    color: #000000 !important;
}

/* =========================================================================
   UX & ACESSIBILIDADE: DATA E HORA DO SISTEMA (UNIFICADO)
   ========================================================================= */

.relogio-estavel {
    font-family: inherit !important; /* Adota a fonte moderna do sistema */
    font-style: normal !important;   /* Remove o itálico estilo jornal */
    font-weight: 600 !important;     /* Dá um peso ideal de leitura */
    font-size: 1.1rem !important;    /* Tamanho equilibrado */
    color: var(--text-color); 
    display: inline-block;
}

/* 1. CORREÇÃO DE CORES (Escuro e Alto-Contraste) */
body.dark-mode .relogio-estavel {
    color: #cbd5e1; /* Modo Escuro Padrão */
}
body.alto-contraste .relogio-estavel,
body.high-contrast .relogio-estavel {
    color: inherit !important; /* Herda o Amarelo/Texto do seu tema de acessibilidade automaticamente */
}

/* 2. COMPORTAMENTO DE RESPONSIVIDADE E ZOOM */
@media (min-width: 1351px) {
    .position-lg-absolute {
        position: absolute !important;
    }
}
@media (max-width: 1350px) { 
    /* Se a tela encolher ou o usuário der zoom, desativa o absoluto para não atropelar os menus */
    body .relogio-estavel.position-lg-absolute {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        margin: 10px auto !important;
        display: block !important;
        width: 100% !important;
    }
}


/* ====================================================================
   PADRONIZAÇÃO DOS DOCUMENTOS CLÍNICOS (ATESTADOS E EXAMES)
   ==================================================================== */
.cabecalho-receita { 
    text-align: center; 
    border-bottom: 2px solid #2c3e50; 
    padding-bottom: 15px; 
    margin-bottom: 40px; 
}

.titulo-doc { 
    font-size: 1.8rem; 
    font-weight: bold; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    margin-bottom: 30px; 
    text-align: center; 
    color: #000 !important; 
}

/* =========================================================================
   📜 MODAL TCLE (TERMO DE CONSENTIMENTO) - ACESSIBILIDADE WCAG 2.2
   ========================================================================= */
.tcle-caixa-leitura {
    max-height: 45vh;
    overflow-y: auto;
    background-color: var(--card-bg);
    border: 2px solid var(--borda-quente);
    border-radius: 8px;
    padding: 24px;
    font-size: 1.15rem; /* Fonte grande para idosos */
    line-height: 1.7;
    color: var(--text-color);
    box-shadow: inset 0 4px 10px var(--sombra-quente);
}

.tcle-destaque-menor {
    background-color: var(--bg-alerta-suave);
    border-left: 6px solid var(--cor-alerta);
    padding: 18px;
    border-radius: 6px;
    margin-bottom: 20px;
    color: var(--text-color);
}

.tcle-destaque-menor h5 {
    font-weight: 800;
    color: var(--texto-escuro);
    margin-bottom: 10px;
}

body.dark-mode .tcle-caixa-leitura {
    background-color: #1a1a1a;
    border-color: #444;
}

/* Scrollbar larga e visível para facilitar o uso por idosos */
.tcle-caixa-leitura::-webkit-scrollbar {
    width: 14px;
}
.tcle-caixa-leitura::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
    border-radius: 8px;
}
.tcle-caixa-leitura::-webkit-scrollbar-thumb {
    background-color: var(--cor-primaria);
    border-radius: 8px;
    border: 3px solid var(--card-bg);
}


/* =========================================================================
   🔒 TRAVA JURÍDICA DO PRONTUÁRIO (TELEMEDICINA)
   ========================================================================= */
.prontuario-travado {
    pointer-events: none;
    opacity: 0.3;
    filter: blur(3px);
    transition: all 0.4s ease-in-out;
}

.prontuario-destravado {
    pointer-events: auto;
    opacity: 1;
    filter: blur(0);
    transition: all 0.4s ease-in-out;
}

/* Correção de Leitura e Contraste para o Modal do Protocolo no Dark Mode */
body.dark-mode .modal-protocolo-leitura {
    background-color: #2b3035 !important;
    border-color: #4b5563 !important;
    color: #f8f9fa !important;
}

body.dark-mode .modal-protocolo-leitura p,
body.dark-mode .modal-protocolo-leitura span,
body.dark-mode .modal-protocolo-leitura strong {
    color: #e2e8f0 !important;
}

body.dark-mode .box-impeditivo {
    background-color: rgba(220, 53, 69, 0.1) !important;
    border-color: #dc3545 !important;
}


/* =========================================================================
   🛡️ CORREÇÕES DE ALERTAS (MODO ESCURO)
   ========================================================================= */
body.dark-mode .bg-warning.bg-opacity-10 {
    background-color: rgba(255, 193, 7, 0.15) !important;
    border-color: rgba(255, 193, 7, 0.4) !important;
}

body.dark-mode .modal-protocolo-leitura .bg-light {
    background-color: #212529 !important;
    border-color: #4b5563 !important;
}

body.dark-mode .modal-protocolo-leitura .bg-white {
    background-color: #2b3035 !important;
    border-color: #4b5563 !important;
}

/* =========================================================================
   🛡️ CORREÇÃO DO TEXTAREA DE IMPEDIMENTO (MODO ESCURO)
   ========================================================================= */
body.dark-mode .box-impeditivo textarea.form-control {
    background-color: #212529 !important;
    color: #f8f9fa !important;
    border-color: #dc3545 !important;
}

body.dark-mode .box-impeditivo textarea.form-control::placeholder {
    color: #adb5bd !important;
    opacity: 1; /* Garante que o texto de exemplo fique visível */
}


/* =========================================================================
   🪧 UX: CORREÇÃO GLOBAL DOS TEXTOS DE EXEMPLO (PLACEHOLDERS)
   ========================================================================= */

/* --- MODO CLARO (Padrão) --- */
.form-control::placeholder,
textarea.form-control::placeholder,
input.form-control::placeholder {
    color: #9ca3af !important;     /* Cinza suave para parecer "marca d'água" */
    font-style: italic !important; /* Inclinado para diferenciar do texto digitado */
    font-weight: 400 !important;   /* Força a remoção de qualquer negrito */
    opacity: 0.8 !important;       /* Deixa levemente translúcido */
}

/* --- MODO ESCURO (Dark Mode) --- */
body.dark-mode .form-control::placeholder,
body.dark-mode textarea.form-control::placeholder,
body.dark-mode input.form-control::placeholder,
body.dark-mode .box-impeditivo textarea.form-control::placeholder {
    color: #858c93 !important;     /* Cinza médio/claro adaptado para não ofuscar o fundo escuro */
    font-style: italic !important; 
    font-weight: 400 !important;
    opacity: 0.7 !important;
}

/* --- CORREÇÃO DO SUMMERNOTE (Caixas de Texto Rico do Prontuário) --- */
.note-placeholder {
    color: #9ca3af !important;
    font-style: italic !important;
    font-weight: 400 !important;
}
body.dark-mode .note-placeholder {
    color: #858c93 !important;
}

/* ---------------------------------------------------
   BOTÕES E BADGES: TEA (NEURODIVERGÊNCIA)
--------------------------------------------------- */

.btn-outline-tea {
    color: var(--cor-tea-texto) !important;
    border-color: var(--cor-tea-base) !important;
    background-color: transparent !important;
    box-shadow: 0 4px 12px rgba(90, 131, 194, 0.15) !important; 
}
.btn-outline-tea.btn-horario:hover {
    background-color: var(--cor-tea-base) !important;
    border-color: var(--cor-tea-base) !important;
    transform: translateY(-3px); 
}
.btn-outline-tea.btn-horario:hover .text-dark { color: #ffffff !important; }

.badge-tea {
    background-color: var(--cor-tea-bg) !important;
    color: var(--cor-tea-texto) !important;
    border: 1px solid var(--cor-tea-base) !important;
}
.btn-outline-tea.btn-horario:hover .badge-tea {
    background-color: #ffffff !important;
    color: var(--cor-tea-base) !important;
    border-color: #ffffff !important;
}

/* Garante que o badge do TEA no HTML use as cores certas */
.badge-tea-azul {
    background-color: var(--cor-tea-base) !important;
    color: #ffffff !important;
}

/* ---------------------------------------------------
   BOTÕES E BADGES: IDOSOS (60+) EM TONS PASTÉIS
--------------------------------------------------- */
.btn-outline-idoso {
    color: var(--cor-idoso-texto) !important;
    border-color: var(--cor-idoso-base) !important;
    background-color: transparent !important;
    box-shadow: 0 4px 12px rgba(212, 180, 131, 0.15) !important; 
}
.btn-outline-idoso.btn-horario:hover {
    background-color: var(--cor-idoso-base) !important;
    border-color: var(--cor-idoso-base) !important;
    transform: translateY(-3px); 
}
.btn-outline-idoso.btn-horario:hover .text-dark { color: #ffffff !important; }

.badge-idoso {
    background-color: var(--cor-idoso-bg) !important;
    color: var(--cor-idoso-texto) !important;
    border: 1px solid var(--cor-idoso-base) !important;
}
.btn-outline-idoso.btn-horario:hover .badge-idoso {
    background-color: #ffffff !important;
    color: var(--cor-idoso-base) !important;
    border-color: #ffffff !important;
}

/* ========================================================================== */
/* MÁGICA DA LEGENDA DINÂMICA (Só mostra se o respectivo botão existir)       */
/* ========================================================================== */

/* Se a tela TIVER um botão de Idoso OU de TEA, mostra a caixa cinza de fundo */
body:has(.btn-outline-idoso) #caixa-legenda-prioridades,
body:has(.btn-outline-tea) #caixa-legenda-prioridades {
    display: flex !important;
}

/* Se a tela TIVER um botão de Idoso, mostra só a etiqueta 60+ */
body:has(.btn-outline-idoso) #legenda-idoso {
    display: inline-block !important;
}

/* Se a tela TIVER um botão de TEA, mostra só a etiqueta TEA */
body:has(.btn-outline-tea) #legenda-tea {
    display: inline-block !important;
}

/* =========================================================================
   ✨ ESTÉTICA DAS SUB-ABAS DE ENDEREÇO (Igual às Abas Principais)
   ========================================================================= */
.tabs-enderecos {
    border-bottom: none !important;
    gap: 6px;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    position: relative;
}

.tabs-enderecos .nav-link {
    border: none !important;
    font-weight: bold !important;
    color: #64748b !important; /* Texto grafite suave nas inativas */
    background-color: #e9ecef !important; /* Fundo cinza nas inativas */
    border-radius: 8px 8px 0 0 !important;
    padding: 8px 16px;
    transition: all 0.2s ease;
    margin-bottom: 0 !important;
    position: relative;
    z-index: 0; /* Camada Fundo: A linha azul vai passar por cima da bordinha delas */
}

.tabs-enderecos .nav-link:hover:not(.active) {
    background-color: #d6d8db !important;
    color: #1e293b !important;
}

/* 🌟 ABA ATIVA: Azul Sólida e Fundida com a Caixa */
.tabs-enderecos .nav-link.active {
    background-color: var(--cor-primaria) !important;
    color: #ffffff !important;
    z-index: 2 !important; /* Camada Frente: Salta por cima da linha azul e se funde com ela */
}

/* 🌟 CAIXA DE CONTEÚDO: Borda envelopando e passando por baixo das abas */
.conteudo-abas-enderecos {
    background-color: var(--bg-secundario);
    border: 2px solid var(--cor-primaria) !important; /* Borda azul igual à da foto */
    padding: 20px;
    border-radius: 0 8px 8px 8px; /* Canto reto só onde a aba ativa pode nascer */
    margin-top: -2px !important; /* O truque: Puxa a caixa 2px para cima para a borda colar nas abas */
    position: relative;
    z-index: 1; /* Camada Meio: Fica sobre as inativas, mas sob a ativa */
}

/* =========================================================================
   MODO ESCURO (DARK MODE) - Fiel à imagem enviada
   ========================================================================= */
body.dark-mode .tabs-enderecos .nav-link { 
    background-color: #2c2c2c !important; 
    color: #94a3b8 !important; 
}

body.dark-mode .tabs-enderecos .nav-link:hover:not(.active) { 
    background-color: #3a3a3a !important; 
    color: #ffffff !important; 
}

/* Aba Ativa no Modo Escuro (Azul Sólida com texto branco) */
body.dark-mode .tabs-enderecos .nav-link.active {
    background-color: var(--cor-primaria) !important;
    color: #ffffff !important; 
}

/* Caixa de Conteúdo no Modo Escuro */
body.dark-mode .conteudo-abas-enderecos { 
    background-color: #212529 !important; /* Fundo escuro interno */
    border-color: var(--cor-primaria) !important; /* Mantém a borda azul envelopando */
}

/* =========================================================================
   CORREÇÃO DEFINITIVA: ABA DE ENDEREÇO SÓLIDA NO MODO ESCURO
   ========================================================================= */
body.dark-mode .tabs-enderecos .nav-link.active,
body.dark-mode #cartao-perfil .tabs-enderecos .nav-link.active {
    background-color: var(--cor-primaria) !important; /* Fundo totalmente azul */
    color: #ffffff !important; /* Texto branco */
    border: 1px solid var(--cor-primaria) !important; /* Contorno azul */
    border-bottom-color: var(--cor-primaria) !important; /* Fecha o quadrado embaixo com azul */
}



/* ==========================================
   CORREÇÕES DO SUMMERNOTE (EDITOR DE TEXTO)
   ========================================== */

/* 1. Esconde o quadrado dividido de cor recente */
.note-color .note-current-color-button {
    display: none !important;
}

/* 2. Formatação do Botão "COR" (Corrigindo o corte do texto) */
.note-color .dropdown-toggle {
    width: auto !important;
    min-width: 65px !important;               /* Dá espaço suficiente para a palavra não espremer */
    border-radius: 0.375rem !important;
    padding: 0.4rem 0.6rem !important;
    background-color: #ffffff !important;
    border: 1px solid #ced4da !important;
    color: #212529 !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    white-space: nowrap !important;           /* EVITA CORTAR O TEXTO */
}

.note-color .dropdown-toggle::before {
    content: "COR" !important;
    font-family: Arial, sans-serif !important;
    margin-right: 6px !important;
    letter-spacing: 0.5px !important;
}

.note-color .dropdown-toggle:hover {
    background-color: #f8f9fa !important;
    border-color: #b0b5b9 !important;
    color: #0d6efd !important;
}

/* 3. Força os Títulos (Headings) a ignorarem tamanhos de fonte herdados (como o 15px) */
.note-editable h1 { font-size: 2.5rem !important; font-weight: bold !important; line-height: 1.2 !important; }
.note-editable h2 { font-size: 2.0rem !important; font-weight: bold !important; line-height: 1.2 !important; }
.note-editable h3 { font-size: 1.75rem !important; font-weight: bold !important; line-height: 1.2 !important; }
.note-editable h4 { font-size: 1.5rem !important; font-weight: bold !important; line-height: 1.2 !important; }
.note-editable h5 { font-size: 1.25rem !important; font-weight: bold !important; line-height: 1.2 !important; }
.note-editable h6 { font-size: 1rem !important; font-weight: bold !important; line-height: 1.2 !important; }


/* ==========================================
   CORREÇÃO DA PALETA DE CORES DO SUMMERNOTE (V2.0)
   ========================================== */

/* 1. Esconde a divisão de cor recente no botão principal da barra */
.note-color .note-current-color-button { display: none !important; }

/* 2. Formatação Geral do Menu Dropdown */
.note-color .dropdown-menu {
    min-width: 260px !important; /* Dá espaço para os textos respirarem */
    padding: 12px 15px !important;
}

/* 3. Títulos (Fundo / Fonte) */
.note-color .dropdown-menu .note-palette-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    margin: 8px 0 10px 0 !important;
    text-align: center !important;
    border-bottom: 2px solid rgba(0,0,0,0.08);
    padding-bottom: 6px;
    color: var(--text-color, #212529) !important;
}

.dark-mode .note-color .dropdown-menu .note-palette-title {
    border-bottom: 2px solid rgba(255,255,255,0.1);
    color: #f8f9fa !important;
}

/* 4. Botões de Ação (Transparente, Restaurar, Selecionar) */
.note-color .dropdown-menu .note-color-reset,
.note-color .dropdown-menu .note-color-select {
    font-size: 13px !important;
    font-weight: bold !important;
    padding: 6px !important;
    margin: 8px 0 !important;
    text-align: center !important;
    background-color: #f8f9fa !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    color: #212529 !important;
    cursor: pointer !important;
    width: 100% !important;
    display: block !important;
    transition: all 0.2s ease;
}

.note-color .dropdown-menu .note-color-reset:hover,
.note-color .dropdown-menu .note-color-select:hover {
    background-color: #e2e6ea !important;
}

.dark-mode .note-color .dropdown-menu .note-color-reset,
.dark-mode .note-color .dropdown-menu .note-color-select {
    background-color: #343a40 !important;
    border-color: #495057 !important;
    color: #f8f9fa !important;
}

.dark-mode .note-color .dropdown-menu .note-color-reset:hover,
.dark-mode .note-color .dropdown-menu .note-color-select:hover {
    background-color: #495057 !important;
}

/* 5. A Grade de Cores (Colmeia Fixa) */
.note-color-palette {
    line-height: 1 !important;
    margin: 0 auto !important;
    display: table !important; 
}

.note-color-row {
    display: block !important;
    height: 24px !important;
}

.note-color-palette .note-color-btn {
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: 1px !important;
    border: 1px solid rgba(150, 150, 150, 0.4) !important;
    border-radius: 4px !important;
    display: inline-block !important;
    float: left !important;
}

.dark-mode .note-color-palette .note-color-btn {
    border-color: rgba(255, 255, 255, 0.2) !important;
}


/* ==========================================
   FORÇA A ANIMAÇÃO DOS ÍCONES DE CARREGAMENTO
   ========================================== */
.fa-spin {
    -webkit-animation: fa-spin 1.5s infinite linear !important;
    animation: fa-spin 1.5s infinite linear !important;
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@-webkit-keyframes fa-spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

/* =========================================================================
   CONTRASTE DOS AVISOS DE PAGAMENTO E DO EDITOR LOCAL
   ========================================================================= */
.bilate-payment-pending {
    background-color: #fff3cd !important;
    border-color: #d39e00 !important;
    color: #3d2e00 !important;
}

.bilate-payment-pending h6,
.bilate-payment-pending p,
.bilate-payment-pending strong {
    color: #3d2e00 !important;
}

.bilate-editor-local {
    background-color: #fff3cd !important;
    border-color: #d39e00 !important;
    color: #4a3600 !important;
}

.bilate-editor-local strong {
    color: #332500 !important;
}

body.dark-mode .bilate-payment-pending {
    background-color: #332b00 !important;
    border-color: #ffd43b !important;
    color: #fff3bf !important;
}

body.dark-mode .bilate-payment-pending h6,
body.dark-mode .bilate-payment-pending p,
body.dark-mode .bilate-payment-pending strong {
    color: #fff3bf !important;
}

body.dark-mode .bilate-editor-local {
    background-color: #332b00 !important;
    border-color: #ffd43b !important;
    color: #fff3bf !important;
}

body.dark-mode .bilate-editor-local strong {
    color: #ffe066 !important;
}

/* ==========================================================
   BOTÃO VOLTAR AO TOPO
   ========================================================== */
.scroll-top-link {
    text-decoration: none;
}

.scroll-top-control .topo {
    position: fixed;
    right: -80px;
    bottom: 20px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(60, 112, 128, 0.90);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.30);
    cursor: pointer;
    z-index: 9999;
    transition: right 0.4s ease-in-out, background 0.2s ease, transform 0.2s ease;
}

.scroll-top-control .topo svg {
    width: 24px;
    height: 24px;
    fill: #ffffff;
    pointer-events: none;
}

.scroll-top-control.show-button .topo {
    right: 20px;
}

.scroll-top-control .topo:hover {
    background: rgba(255, 152, 0, 0.95);
    transform: translateY(-2px);
}

.scroll-top-link:focus-visible .topo {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
}

@media (max-width: 1024px) {
    .scroll-top-control .topo {
        width: 40px;
        height: 40px;
        right: -60px;
        bottom: 12px;
    }

    .scroll-top-control .topo svg {
        width: 20px;
        height: 20px;
    }

    .scroll-top-control.show-button .topo {
        right: 12px;
    }
}

@media (max-width: 600px) {
    .scroll-top-control .topo {
        width: 36px;
        height: 36px;
        right: -55px;
        bottom: 8px;
    }

    .scroll-top-control .topo svg {
        width: 18px;
        height: 18px;
    }

    .scroll-top-control.show-button .topo {
        right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-top-control .topo {
        transition: none;
    }
}

/* =========================================================
   Central de Pacientes — detalhes de Status / Risco
   ========================================================= */
.patient-risk-status-trigger {
    appearance: none;
    font: inherit;
    cursor: pointer;
    line-height: 1.2;
    transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.patient-risk-status-trigger:hover {
    filter: saturate(1.15);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(20, 40, 55, 0.16);
}

.patient-risk-status-trigger:focus-visible {
    outline: 3px solid rgba(13, 110, 253, 0.35);
    outline-offset: 2px;
}

.patient-risk-details-modal .modal-content {
    color: var(--texto-principal, var(--text-color));
    background: var(--card-bg);
    border: 1px solid var(--borda-quente);
    border-radius: 18px;
    overflow: hidden;
}

.patient-risk-details-header {
    align-items: flex-start;
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.18), rgba(220, 53, 69, 0.10));
    border-bottom: 1px solid var(--borda-quente);
    padding: 1.25rem 1.5rem;
}

.patient-risk-details-kicker {
    display: block;
    margin-bottom: 0.2rem;
    color: #9a6700;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.patient-risk-details-summary {
    margin-bottom: 1rem;
    color: var(--texto-secundario, #6c757d);
    font-weight: 700;
}

.patient-risk-reasons {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.patient-risk-reason-item {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding: 0.95rem 1rem;
    background: var(--bg-secundario);
    border: 1px solid var(--borda-quente);
    border-radius: 12px;
}

.patient-risk-reason-number {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    color: #704d00;
    background: rgba(255, 193, 7, 0.24);
    border-radius: 50%;
    font-size: 0.82rem;
    font-weight: 800;
}

.patient-risk-reason-text {
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.patient-risk-reason-empty {
    padding: 1rem;
    color: var(--texto-secundario, #6c757d);
    background: var(--bg-secundario);
    border: 1px dashed var(--borda-quente);
    border-radius: 12px;
}

body.dark-mode .patient-risk-details-kicker {
    color: #ffd166;
}

body.dark-mode .patient-risk-reason-number {
    color: #fff4cc;
    background: rgba(255, 193, 7, 0.20);
}

/* =========================================================
   Tela pública de login — Bilate Serviços Médicos
   Toda a apresentação específica do index.php fica centralizada aqui.
   ========================================================= */
.login-page-container {
    width: min(1640px, calc(100vw - 32px));
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.login-card-column {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
}

.login-family-visual {
    background-image: url('../img/login-familia-servicos-medicos-v1.png?v=0.1.46.16');
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #f4efe4;
    min-height: 550px;
}

.login-brand-visual {
    display: block;
    width: auto;
    max-width: 100%;
    height: 190px;
    max-height: 190px;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
    object-position: center center;
    border-radius: 12px;
    background: #ffffff;
}

.login-accessibility-trigger {
    background: transparent;
}

.login-accessibility-check {
    display: none;
}

.login-card-shell {
    border-radius: 15px;
    overflow: hidden;
    min-height: 550px;
}

body.dark-mode .login-brand-visual {
    background: #ffffff;
}


@media (min-width: 1400px) {
    .login-family-visual {
        flex: 0 0 72%;
        max-width: 72%;
    }

    .login-card-shell > .row > .card-body {
        flex: 0 0 28%;
        max-width: 28%;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .login-family-visual {
        flex: 0 0 66%;
        max-width: 66%;
    }

    .login-card-shell > .row > .card-body {
        flex: 0 0 34%;
        max-width: 34%;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .login-family-visual {
        flex: 0 0 58%;
        max-width: 58%;
    }

    .login-card-shell > .row > .card-body {
        flex: 0 0 42%;
        max-width: 42%;
    }
}

@media (max-width: 991.98px) {
    .login-brand-visual {
        height: 170px;
        max-height: 170px;
    }
}

/* ==========================================================
   Perfil da recepção / colaboradores
   ========================================================== */
.staff-profile-page {
    max-width: 1680px;
    margin-inline: auto;
}

.staff-profile-shell {
    overflow: hidden;
}

.staff-profile-tabs {
    gap: .25rem;
}

.staff-profile-tabs .nav-link {
    font-weight: 700;
    color: var(--bs-body-color);
}

.staff-profile-tabs .nav-link.active {
    color: var(--bs-primary);
}

.staff-profile-avatar {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(13, 110, 253, .35);
    box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .12);
    background: var(--bs-body-bg);
}

.staff-profile-dl dt,
.staff-profile-dl dd {
    margin-bottom: .65rem;
}

.staff-profile-dl dt {
    font-weight: 700;
}

.staff-list-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 0;
    border-bottom: 1px solid rgba(108, 117, 125, .2);
}

.staff-list-row:last-child {
    border-bottom: 0;
}

.password-strength-progress {
    height: 6px;
}

.password-strength-progress .progress-bar {
    width: 0;
    transition: width .5s ease;
}

.password-requirements {
    font-size: .76rem;
    color: var(--bs-secondary-color);
}

@media (max-width: 767.98px) {
    .staff-profile-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: .25rem;
    }

    .staff-profile-tabs .nav-link {
        white-space: nowrap;
    }

    .staff-profile-avatar {
        width: 92px;
        height: 92px;
    }
}

/* ========================================================================== */
/* Bilate 0.1.45 — Site público médico, perfis e artigos                     */
/* ========================================================================== */
:root{
    --bilate-public-teal:#167f86;
    --bilate-public-teal-dark:#0d5e65;
    --bilate-public-teal-soft:#e8f6f5;
    --bilate-public-gold:#c9972e;
    --bilate-public-gold-soft:#fff7df;
    --bilate-public-ink:#1e2934;
    --bilate-public-muted:#687582;
    --bilate-public-line:#dbe5e5;
    --bilate-public-paper:#ffffff;
    --bilate-public-bg:#f7f8f5;
}

.public-site-admin-page .card-custom,
.public-profile-editor-page .card-custom,
.medical-article-editor-page .card-custom{overflow:hidden}
.public-doctor-admin-card{display:flex;gap:16px;padding:18px;border:1px solid rgba(35,97,106,.2);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(235,248,246,.76));box-shadow:0 12px 30px rgba(18,67,72,.08)}
.public-doctor-admin-avatar{flex:0 0 76px;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#d5efec,#fff3cf);border:2px solid rgba(201,151,46,.32);color:var(--bilate-public-teal);font-size:1.8rem}
.public-doctor-admin-avatar img{width:100%;height:100%;object-fit:cover}
.public-doctor-admin-card .min-w-0{min-width:0}
.public-medical-admin-table thead th{padding:14px 18px;color:#576772;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dde6e6;background:rgba(236,247,245,.55)}
.public-medical-admin-table tbody td{padding:15px 18px;border-color:#e5eceb}
.public-profile-editor-photo{width:180px;height:180px;margin:0 auto;overflow:hidden;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#e1f3f1,#fff1c9);border:3px solid rgba(201,151,46,.36);font-size:4rem;color:var(--bilate-public-teal)}
.public-profile-editor-photo img{width:100%;height:100%;object-fit:cover}
.public-medical-fixed-data{display:grid;gap:0;margin:0 0 18px}
.public-medical-fixed-data>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #e4ebea}
.public-medical-fixed-data dt{color:#687781;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.public-medical-fixed-data dd{margin:0;font-weight:700;color:#26343c}

.medical-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.medical-editor-main,.medical-editor-side{min-width:0}
.medical-editor-side{position:sticky;top:105px}
.medical-editor-panel .card-body{min-width:0}
.medical-editor-help{font-size:.76rem;color:#6c7a84;text-align:right}
.medical-editor-cover-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#f4f6f5;border:1px solid #dde5e4;border-radius:12px}
.medical-editor-history{display:grid;gap:12px}
.medical-editor-history>div{padding-bottom:12px;border-bottom:1px solid #e2e9e8}
.medical-editor-history>div:last-child{padding-bottom:0;border-bottom:0}
.medical-editor-history strong{display:block;text-transform:capitalize}
.medical-editor-history small{display:block;color:#78858e;margin-top:3px}
.medical-editor-history p{margin:6px 0 0;color:#67747c;font-size:.82rem}

/* Summernote avançado, exclusivo dos artigos médicos. */
.medical-article-editor-form .note-editor.note-frame{border:1px solid #b9c9c8;border-radius:12px;overflow:visible;background:#fff;color:#1f2d35;box-shadow:0 4px 16px rgba(24,76,80,.06)}
.medical-article-editor-form .note-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;border-bottom:1px solid #d4dfde;background:linear-gradient(180deg,#f8fbfb,#edf5f4);border-radius:12px 12px 0 0}
.medical-article-editor-form .note-toolbar>.note-btn-group{margin:0 2px 2px 0}
.medical-article-editor-form .note-btn{min-height:32px;border-color:#c5d2d1;background:#fff;color:#33434b}
.medical-article-editor-form .note-btn:hover,.medical-article-editor-form .note-btn:focus{background:#e7f3f2;color:#0d646b;border-color:#90b8b5}
.medical-article-editor-form .note-editing-area .note-editable{min-height:520px;padding:22px;background:#fff;color:#1d2a32;line-height:1.72;font-size:1rem;font-family:var(--bs-body-font-family,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)!important}
.medical-article-editor-form .note-editing-area .note-editable *{}
.medical-article-editor-form .note-editing-area .note-editable img,.medical-article-inline-image{display:block;max-width:100%;height:auto;margin:22px auto;border-radius:10px}
.medical-article-editor-form .note-statusbar{background:#edf4f3;border-radius:0 0 12px 12px}
.medical-article-editor-form .note-dropdown-menu{background:#fff;color:#1d2a32;z-index:1080}
.medical-article-editor-form .note-editor.note-frame.fullscreen{z-index:9999}
.medical-article-editor-form .note-editing-area .note-editable p.has-dropcap::first-letter,
.public-medical-article-content p.has-dropcap::first-letter{float:left;font-size:4.2rem;line-height:.78;padding:.13em .12em 0 0;color:inherit;font-weight:800}
.note-dropcap-icon{display:inline-block;font-family:Georgia,serif;font-weight:900;font-size:1.12rem;line-height:1}
.note-dropcap-button.note-btn{min-width:34px}
.note-format-painter{display:inline-grid!important;place-items:center;min-width:36px}
.note-format-painter-icon{width:19px;height:19px;display:block}
.note-format-painter.is-format-painter-armed{color:#07353a!important;background:linear-gradient(135deg,#aee8e3,#ffe4a0)!important;border-color:#63aaa4!important;box-shadow:0 0 0 2px rgba(39,141,146,.15)}
.bilate-summernote-toast{position:fixed;right:22px;bottom:22px;z-index:12050;max-width:min(420px,calc(100vw - 30px));padding:13px 15px;border:1px solid #7ca7a4;border-radius:13px;background:#153d42;color:#eefafa;box-shadow:0 18px 55px rgba(0,0,0,.28);font-size:.82rem;line-height:1.5;opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s ease}.bilate-summernote-toast.is-visible{opacity:1;transform:none}.note-editor.note-frame .note-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.note-editor.note-frame .note-toolbar>.note-btn-group{margin:0 2px 2px 0}.note-editor.note-frame .note-editing-area .note-editable p.has-dropcap::first-letter{float:left;font-size:4.2rem;line-height:.78;padding:.13em .12em 0 0;color:inherit;font-weight:800}
.telemedicine-text-settings-card{overflow:visible;border:1px solid var(--borda-quente)!important}.telemedicine-text-settings-card .note-editor{overflow:visible}.telemedicine-verbal-protocol-copy{font-size:1.05rem;line-height:1.6}.telemedicine-verbal-protocol-copy p:last-child{margin-bottom:0}
.note-block-format-icon{display:inline-block;min-width:17px;font-size:1.18rem;font-weight:800;line-height:1}
.editor-load-warning{display:grid;gap:5px;padding:12px 14px;border:1px solid #c79637;border-radius:10px;background:#fff6d8;color:#654a13}
.editor-toast-stack{position:fixed;right:22px;bottom:22px;z-index:12050;display:grid;gap:10px;width:min(420px,calc(100vw - 30px));pointer-events:none}
.editor-toast{pointer-events:auto;padding:13px 15px;border:1px solid #7ca7a4;border-radius:13px;background:#153d42;color:#eefafa;box-shadow:0 18px 55px rgba(0,0,0,.28);font-size:.82rem;line-height:1.5}
.editor-toast-success{border-color:#4d9c75;color:#d8f8e8}.editor-toast-warning{border-color:#c5953b;color:#fff0bd}
.note-modal.portal-editor-modal{z-index:11000!important;padding:20px 12px!important;background:rgba(9,26,29,.68)!important;backdrop-filter:blur(7px)}
.note-modal.portal-editor-modal .note-modal-content{width:min(650px,calc(100vw - 24px))!important;max-width:650px!important;margin:4vh auto!important;border:1px solid #a9c3c1!important;border-radius:20px!important;background:#fff!important;color:#223239!important;box-shadow:0 30px 95px rgba(0,0,0,.35)!important;overflow:hidden}
.note-modal.portal-editor-image-modal .note-modal-content{width:min(460px,calc(100vw - 32px))!important;max-width:460px!important}
.note-modal.portal-editor-link-modal .note-modal-content{width:min(430px,calc(100vw - 32px))!important;max-width:430px!important}
.note-modal.portal-editor-modal .note-modal-header{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:18px 22px!important;border-bottom:1px solid #d6e1df!important;background:#f4f9f8!important}
.note-modal.portal-editor-modal .note-modal-title{margin:0!important;color:#203139!important;font-size:1.2rem!important;font-weight:850!important}
.note-modal.portal-editor-modal .note-modal-header .close{order:2;display:grid!important;place-items:center;width:38px;height:38px;margin:0!important;padding:0!important;border:1px solid #c2d1cf!important;border-radius:11px!important;background:#fff!important;color:#64757c!important;opacity:1!important;cursor:pointer}
.note-modal.portal-editor-modal .note-modal-body{display:grid!important;gap:18px!important;padding:22px!important}
.note-modal.portal-editor-modal .note-form-group{display:grid!important;gap:8px!important;margin:0!important}
.note-modal.portal-editor-modal .note-form-label{display:block!important;margin:0!important;color:#394b52!important;font-size:.78rem!important;font-weight:800!important}
.note-modal.portal-editor-modal .note-input,.note-modal.portal-editor-modal input[type=text],.note-modal.portal-editor-modal input[type=url]{width:100%!important;min-height:46px!important;margin:0!important;padding:11px 13px!important;border:1px solid #bdcecc!important;border-radius:11px!important;background:#fff!important;color:#23333b!important;box-shadow:none!important;outline:0!important}
.note-modal.portal-editor-modal .note-input:focus,.note-modal.portal-editor-modal input[type=text]:focus,.note-modal.portal-editor-modal input[type=url]:focus{border-color:#378e91!important;box-shadow:0 0 0 3px rgba(55,142,145,.12)!important}
.note-modal.portal-editor-modal .note-group-select-from-files{padding:16px!important;border:1px dashed #8bb5b2!important;border-radius:14px!important;background:#f4f9f8!important}
.note-modal.portal-editor-modal .note-image-input{min-height:52px!important;padding:7px!important;border:1px solid #bdcecc!important;border-radius:11px!important;background:#fff!important;color:#42545c!important}
.note-modal.portal-editor-modal .note-image-input::file-selector-button{margin-right:12px;padding:9px 13px;border:1px solid #83aaa7;border-radius:9px;background:#e8f5f3;color:#174f54;font-weight:800;cursor:pointer}
.note-modal.portal-editor-modal .portal-dialog-hint{display:block;margin:0;color:#718087;font-size:.7rem;line-height:1.5}
.note-modal.portal-editor-modal .note-modal-footer{display:flex!important;justify-content:flex-end!important;gap:10px!important;height:auto!important;min-height:0!important;padding:16px 22px 20px!important;border-top:1px solid #d6e1df!important;background:#fff!important}

/* Site público */
.public-medical-site-body{margin:0;min-height:100vh;background:var(--bilate-public-bg);color:var(--bilate-public-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.public-medical-site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);border-bottom:1px solid var(--bilate-public-line);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(25,70,74,.05)}
.public-medical-nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.public-medical-brand{display:flex;align-items:center;gap:11px;color:var(--bilate-public-ink);text-decoration:none}
.public-medical-brand-mark{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px}
.public-medical-brand-mark img{display:block;width:54px;height:54px;object-fit:contain}
.public-medical-brand>span:last-child{display:grid}.public-medical-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:1.27rem;color:var(--bilate-public-teal-dark);line-height:1.05}.public-medical-brand small{color:var(--bilate-public-gold);font-size:.63rem;letter-spacing:.18em;text-transform:uppercase}
.public-medical-nav{display:flex;align-items:center;gap:7px}.public-medical-nav>a{padding:10px 13px;border-radius:10px;color:#44535b;text-decoration:none;font-weight:700;font-size:.92rem}.public-medical-nav>a:hover,.public-medical-nav>a.active{background:var(--bilate-public-teal-soft);color:var(--bilate-public-teal-dark)}.public-medical-nav .public-medical-nav-login{margin-left:8px;background:linear-gradient(135deg,var(--bilate-public-teal),var(--bilate-public-teal-dark));color:#fff}.public-medical-nav .public-medical-nav-login:hover{background:var(--bilate-public-teal-dark);color:#fff}
.public-medical-institutional-subtitle,.bilate-institutional-subtitle-bar{border-top:1px solid rgba(25,113,119,.08);border-bottom:1px solid rgba(25,113,119,.08);background:linear-gradient(90deg,rgba(238,248,247,.97),rgba(255,249,232,.97));color:#53686d;font-family:Georgia,"Times New Roman",serif;font-size:.96rem;line-height:1.5;text-align:center}.public-medical-institutional-subtitle .container,.bilate-institutional-subtitle-bar .container-fluid{padding-top:9px;padding-bottom:10px}
body.dark-mode .bilate-institutional-subtitle-bar{background:linear-gradient(90deg,rgba(24,47,49,.98),rgba(57,51,31,.98));border-color:rgba(255,255,255,.1);color:#eef5f4}
body.alto-contraste .bilate-institutional-subtitle-bar{background:#000!important;border-color:#ffff00!important;color:#ffff00!important}
.public-medical-site-main{min-height:calc(100vh - 250px)}
.public-institutional-hero{padding:64px 0;background:radial-gradient(circle at 12% 12%,rgba(79,164,161,.13),transparent 27%),linear-gradient(135deg,#f2fbfa,#fffaf0);border-bottom:1px solid var(--bilate-public-line)}.public-institutional-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.86fr);gap:54px;align-items:center}.public-institutional-hero-copy h1{max-width:760px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.45rem,5.2vw,4.65rem);line-height:1.03;color:#17373b;letter-spacing:-.035em}.public-institutional-hero-copy>p{max-width:680px;margin:22px 0 0;color:#5a6e74;font-size:1.08rem;line-height:1.75}.public-institutional-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.public-institutional-actions a,.public-institutional-contact-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:12px;text-decoration:none;font-weight:800}.public-institutional-primary,.public-institutional-contact-actions a.primary{border:1px solid transparent;background:linear-gradient(135deg,var(--bilate-public-teal),var(--bilate-public-teal-dark));color:#fff}.public-institutional-primary:hover,.public-institutional-contact-actions a.primary:hover{color:#fff;background:var(--bilate-public-teal-dark)}.public-institutional-secondary{border:1px solid #aecac8;background:rgba(255,255,255,.82);color:var(--bilate-public-teal-dark)}.public-institutional-secondary:hover{color:#0a4e54;background:#fff}.public-institutional-visual{overflow:hidden;border:1px solid rgba(201,151,46,.28);border-radius:26px;background:#fff;box-shadow:0 24px 60px rgba(24,70,73,.16)}.public-institutional-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.public-institutional-intro>.public-medical-section-heading{max-width:760px}.public-institutional-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-institutional-card{padding:27px;border:1px solid var(--bilate-public-line);border-radius:21px;background:#fff;box-shadow:0 16px 42px rgba(25,70,73,.07)}.public-institutional-card>i{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--bilate-public-gold-soft);color:var(--bilate-public-gold);font-size:1.25rem}.public-institutional-card h3{margin:18px 0 9px;font-family:Georgia,"Times New Roman",serif;color:#24474b}.public-institutional-card p{margin:0;color:#62747a;line-height:1.7}.public-institutional-contact{padding:52px 0;background:#eaf5f4;border-top:1px solid #d5e5e3}.public-institutional-contact-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;align-items:center}.public-institutional-contact h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:#20474b}.public-institutional-contact p{margin:12px 0 0;color:#5e7076}.public-institutional-contact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.public-institutional-contact-actions a{border:1px solid #bad1cf;background:#fff;color:#31585c;font-size:.88rem}
.public-medical-hero{padding:76px 0 68px;background:radial-gradient(circle at 85% 10%,rgba(201,151,46,.14),transparent 24%),linear-gradient(135deg,#f2fbfa,#fffaf0);border-bottom:1px solid var(--bilate-public-line)}
.public-medical-hero .container{max-width:1040px}.public-medical-kicker{display:inline-block;margin-bottom:10px;color:var(--bilate-public-gold);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.public-medical-hero h1{max-width:820px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;color:#17373b;letter-spacing:-.025em}.public-medical-hero p{max-width:780px;margin:20px 0 0;color:#5f7077;font-size:1.08rem;line-height:1.75}
.public-medical-section{padding-top:58px;padding-bottom:68px}.public-medical-empty{display:grid;place-items:center;text-align:center;min-height:320px;padding:40px;border:1px dashed #bdd1cf;border-radius:22px;background:#fff}.public-medical-empty>i{font-size:3rem;color:#7fb7b3}.public-medical-empty h2{margin:16px 0 6px}.public-medical-empty p{margin:0;color:var(--bilate-public-muted)}
.public-medical-doctor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.public-medical-doctor-card{overflow:hidden;border:1px solid var(--bilate-public-line);border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(28,72,75,.08);transition:transform .2s ease,box-shadow .2s ease}.public-medical-doctor-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(28,72,75,.12)}.public-medical-doctor-photo{display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#d9efed,#fff1cb);overflow:hidden}.public-medical-doctor-photo img{width:100%;height:100%;object-fit:cover}.public-medical-doctor-photo>span{height:100%;display:grid;place-items:center;font-size:5rem;color:#4d9c9b}.public-medical-doctor-copy{padding:22px}.public-medical-doctor-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.public-medical-doctor-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.42rem;color:#20383c}.public-medical-doctor-heading p{margin:4px 0 0;color:#6a777d;font-size:.9rem}.public-medical-availability{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#e7f6ed;color:#2a7550;font-size:.64rem;font-weight:800}.public-medical-doctor-registry{margin:13px 0 10px;color:#53636a;font-size:.82rem;font-weight:750}.public-medical-tags{display:flex;flex-wrap:wrap;gap:7px}.public-medical-tags span{padding:6px 9px;border:1px solid #c9dfdd;border-radius:999px;background:#f2faf9;color:#286d72;font-size:.72rem;font-weight:750}.public-medical-card-bio{margin:14px 0 0;color:#637178;line-height:1.65;font-size:.88rem}.public-medical-link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:var(--bilate-public-teal-dark);text-decoration:none;font-weight:800}.public-medical-link:hover{color:#0a4e54}.public-medical-link i{font-size:.78rem}
.public-medical-site-footer{padding:36px 0;background:#123a3f;color:#eaf5f4}.public-medical-footer-grid{display:grid;grid-template-columns:1fr auto;gap:18px 30px;align-items:start}.public-medical-footer-brand{display:grid;justify-items:start}.public-medical-footer-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.08}.public-medical-footer-brand small{margin-top:3px;color:#d8ae4a;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.public-medical-footer-brand span{margin-top:10px;color:#9dbab8;font-size:.7rem}.public-medical-footer-grid>small{color:#b7d0ce}.public-medical-footer-contact{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px 20px;color:#cce0df;font-size:.86rem}.public-medical-footer-grid>small{grid-column:1/-1;padding-top:17px;border-top:1px solid rgba(255,255,255,.14)}

.public-doctor-profile-hero{padding:66px 0;background:linear-gradient(135deg,#f1fbf9,#fffaf0);border-bottom:1px solid var(--bilate-public-line)}.public-doctor-profile-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:center}.public-doctor-profile-photo{width:300px;height:360px;border-radius:28px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#d9efed,#ffefc1);box-shadow:0 20px 50px rgba(29,79,81,.15);border:1px solid rgba(201,151,46,.24)}.public-doctor-profile-photo img{width:100%;height:100%;object-fit:cover}.public-doctor-profile-photo span{font-size:7rem;color:#5da5a2}.public-doctor-profile-grid h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,5vw,4.2rem);color:#17383c}.public-doctor-profile-title{margin:8px 0 13px;color:#617178;font-size:1.18rem}.public-doctor-profile-registry{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:15px;color:#53656c}.public-doctor-profile-registry strong{color:#234e53}.public-doctor-profile-lead{max-width:800px;margin:21px 0 0;color:#56686f;line-height:1.72;font-size:1.04rem}.public-doctor-profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.public-doctor-profile-actions a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #bdd3d1;border-radius:11px;background:#fff;color:#31575b;text-decoration:none;font-weight:750}.public-doctor-profile-actions a.primary{border-color:transparent;background:var(--bilate-public-teal);color:#fff}.public-doctor-profile-content{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px}.public-doctor-profile-main{display:grid;gap:30px}.public-doctor-profile-main section{padding-bottom:28px;border-bottom:1px solid #dfe7e6}.public-doctor-profile-main section:last-child{border-bottom:0}.public-doctor-profile-main h2{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;color:#20484c}.public-doctor-profile-main p,.public-medical-rich-text{margin:0;color:#52656c;line-height:1.8}.public-doctor-profile-aside{display:grid;align-content:start;gap:14px}.public-medical-info-box{display:flex;gap:14px;padding:18px;border:1px solid #d9e5e4;border-radius:16px;background:#fff}.public-medical-info-box>i{margin-top:2px;color:var(--bilate-public-gold);font-size:1.3rem}.public-medical-info-box div{display:grid;gap:4px}.public-medical-info-box span{color:#6b7b81;font-size:.84rem;line-height:1.5}
.public-medical-articles-strip{padding:58px 0;background:#eef7f6;border-top:1px solid #d8e5e3}.public-medical-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.public-medical-section-heading h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:#1f464a}.public-medical-section-heading>a{color:var(--bilate-public-teal-dark);font-weight:800;text-decoration:none}
.public-medical-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.public-medical-article-card{overflow:hidden;border:1px solid var(--bilate-public-line);border-radius:20px;background:#fff;box-shadow:0 15px 40px rgba(26,71,74,.07)}.public-medical-article-cover{display:block;aspect-ratio:16/9;overflow:hidden;background:#edf3f2}.public-medical-article-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.public-medical-article-card:hover .public-medical-article-cover img{transform:scale(1.025)}.public-medical-article-card>div{padding:21px}.public-medical-article-card small{display:block;color:#75848a;font-size:.75rem}.public-medical-article-card small a{color:var(--bilate-public-teal-dark);text-decoration:none}.public-medical-article-card h2,.public-medical-article-card h3{margin:8px 0;font-family:Georgia,"Times New Roman",serif;color:#263e42}.public-medical-article-card h2{font-size:1.35rem}.public-medical-article-card h3{font-size:1.17rem}.public-medical-article-card h2 a,.public-medical-article-card h3 a{color:inherit;text-decoration:none}.public-medical-article-card p{margin:0;color:#63737a;line-height:1.63}.public-medical-article-category{display:inline-flex;margin-bottom:8px;padding:5px 8px;border-radius:999px;background:var(--bilate-public-gold-soft);color:#846313;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.public-medical-search{display:flex;gap:9px;max-width:650px;margin-top:26px}.public-medical-search input{min-width:0;flex:1;padding:13px 15px;border:1px solid #bfd0cf;border-radius:12px;background:#fff;outline:0}.public-medical-search input:focus{border-color:#559d9a;box-shadow:0 0 0 3px rgba(50,142,145,.12)}.public-medical-search button{padding:13px 17px;border:0;border-radius:12px;background:var(--bilate-public-teal);color:#fff;font-weight:800}

.public-medical-article-header{padding:68px 0 50px;background:linear-gradient(135deg,#f3fbfa,#fffaf0);border-bottom:1px solid var(--bilate-public-line)}.public-medical-article-header-inner{max-width:930px}.public-medical-article-header h1{margin:9px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.05;color:#18383c}.public-medical-article-lead{margin:0;color:#5b6d74;font-size:1.15rem;line-height:1.7}.public-medical-article-byline{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:22px;color:#728087;font-size:.86rem}.public-medical-article-byline a{color:var(--bilate-public-teal-dark);font-weight:800;text-decoration:none}.public-medical-article-cover-large{max-width:1100px;padding-top:42px}.public-medical-article-cover-large img{display:block;width:100%;max-height:650px;object-fit:contain;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(20,61,64,.09)}.public-medical-article-cover-large small{display:block;margin-top:8px;color:#7a878c;text-align:right}.public-medical-article-layout{display:grid;grid-template-columns:minmax(0,760px) 300px;justify-content:center;gap:56px;padding-top:48px;padding-bottom:30px}.public-medical-article-content{min-width:0;color:#293b43;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;line-height:1.86}.public-medical-article-content h2,.public-medical-article-content h3,.public-medical-article-content h4{margin:1.7em 0 .65em;color:#1c4a4e;line-height:1.2}.public-medical-article-content p{margin:0 0 1.15em}.public-medical-article-content blockquote{margin:1.4em 0;padding:16px 20px;border-left:4px solid var(--bilate-public-gold);background:#fff8e6;color:#5a512f}.public-medical-article-content a{color:#0e7379}.public-medical-article-content ul,.public-medical-article-content ol{padding-left:1.4em}.public-medical-article-content .medical-article-inline-image{max-height:680px;object-fit:contain}.public-medical-article-author{align-self:start;position:sticky;top:112px;padding:22px;border:1px solid #dae5e4;border-radius:20px;background:#fff;box-shadow:0 15px 40px rgba(22,64,67,.07)}.public-medical-author-avatar{width:90px;height:90px;overflow:hidden;display:grid;place-items:center;margin-bottom:14px;border-radius:50%;background:linear-gradient(135deg,#d9efed,#fff1c8);color:#428e8c;font-size:2.4rem}.public-medical-author-avatar img{width:100%;height:100%;object-fit:cover}.public-medical-article-author>span{color:var(--bilate-public-gold);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.public-medical-article-author h2{margin:5px 0;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}.public-medical-article-author p{margin:7px 0;color:#68777d;font-size:.84rem;line-height:1.6}.public-medical-disclaimer{display:flex;gap:14px;max-width:1080px;margin:24px auto 62px;padding:18px 20px;border:1px solid #dfd5ad;border-radius:16px;background:#fff9e5}.public-medical-disclaimer i{color:var(--bilate-public-gold);margin-top:3px}.public-medical-disclaimer p{margin:0;color:#655c3b;line-height:1.6;font-size:.88rem}

@media(max-width:1100px){
    .medical-editor-layout{grid-template-columns:1fr}.medical-editor-side{position:static}
    .public-institutional-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:34px}.public-institutional-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-institutional-card:last-child{grid-column:1/-1}
    .public-medical-doctor-grid,.public-medical-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .public-doctor-profile-content{grid-template-columns:minmax(0,1fr) 280px}
    .public-medical-article-layout{grid-template-columns:minmax(0,1fr) 270px;gap:34px}
}
@media(max-width:820px){
    .public-medical-nav-wrap{align-items:flex-start;flex-direction:column;padding-top:15px;padding-bottom:15px;gap:11px}.public-medical-brand-mark,.public-medical-brand-mark img{width:48px;height:48px}.public-medical-brand-mark{flex-basis:48px}.public-medical-nav{width:100%;overflow:auto}.public-medical-nav>a{white-space:nowrap}.public-medical-nav .public-medical-nav-login{margin-left:auto}
    .public-institutional-hero{padding:48px 0}.public-institutional-hero-grid{grid-template-columns:1fr}.public-institutional-visual{order:-1}.public-institutional-contact-inner{grid-template-columns:1fr}.public-institutional-contact-actions{justify-content:flex-start}
    .public-medical-hero{padding:54px 0}.public-medical-doctor-grid,.public-medical-article-grid{grid-template-columns:1fr}
    .public-doctor-profile-grid{grid-template-columns:1fr;gap:28px}.public-doctor-profile-photo{width:min(300px,100%);height:auto;aspect-ratio:5/6}.public-doctor-profile-content{grid-template-columns:1fr}.public-medical-article-layout{grid-template-columns:1fr}.public-medical-article-author{position:static}.public-medical-footer-grid{grid-template-columns:1fr}.public-medical-footer-contact{justify-content:flex-start}
}
@media(max-width:700px){
    .medical-article-editor-form .note-editing-area .note-editable{min-height:360px;padding:13px}.medical-editor-help{display:none}.note-modal.portal-editor-modal{padding:8px!important}.note-modal.portal-editor-modal .note-modal-content{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;margin:3vh auto!important}
    .public-medical-section{padding-top:38px;padding-bottom:45px}.public-institutional-card-grid{grid-template-columns:1fr}.public-institutional-card:last-child{grid-column:auto}.public-institutional-actions,.public-institutional-contact-actions{display:grid}.public-institutional-actions a,.public-institutional-contact-actions a{width:100%}.public-medical-search{flex-direction:column}.public-medical-doctor-heading{flex-direction:column}.public-medical-article-header{padding:48px 0 38px}.public-medical-article-cover-large{padding-top:24px}.public-medical-article-layout{padding-top:30px}.public-medical-article-content{font-size:1rem}.public-medical-section-heading{align-items:flex-start;flex-direction:column}
}

/* Bilate 0.1.45.1 — modal de imagem do editor médico no Bootstrap 5
   O Summernote Lite pode aplicar a classe .fade sem a classe .show usada pelo
   Bootstrap 5. O Bootstrap então reduz a opacidade do modal a zero, embora o
   backdrop permaneça visível. O editor médico usa dialogsFade=false e estas
   regras garantem visibilidade mesmo se um diálogo legado vier com .fade. */
.note-modal.portal-editor-modal.fade{
    opacity:1!important;
    visibility:visible!important;
    transition:none!important;
}
.note-modal.portal-editor-modal .note-modal-content{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
}
.note-modal.portal-editor-modal[style*="display: block"],
.note-modal.portal-editor-modal.in,
.note-modal.portal-editor-modal.show{
    opacity:1!important;
    visibility:visible!important;
}

/* Bilate 0.1.45.3 — tipografia uniforme do artigo e ampliação da foto do autor. */
/* O main.css antigo possui uma regra global de Summernote em modo claro que força
   Consolas/Courier. Este seletor é deliberadamente mais específico para que o
   editor de artigos médicos use a mesma tipografia do campo Resumo/Introdução. */
body .medical-article-editor-form textarea[name="resumo"],
body:not(.dark-mode) .medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable,
body.dark-mode .medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable {
    font-family: inherit !important;
}
body:not(.dark-mode) .medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable *,
body.dark-mode .medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable * {
}

/* Na página pública, resumo e corpo seguem a mesma família tipográfica do site.
   A formatação editorial (tamanho, peso, títulos, listas etc.) continua preservada. */
.public-medical-article-lead,
.public-medical-article-content {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
.public-medical-article-content * {
}

/* Foto do médico/autor: miniatura clicável e ampliação em modal Bootstrap. */
.public-medical-author-photo-button {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    overflow: hidden;
    background: transparent;
    cursor: zoom-in;
}
.public-medical-author-photo-button:focus-visible {
    outline: 3px solid rgba(22, 127, 134, .35);
    outline-offset: 3px;
}
.public-medical-author-photo-button img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.public-medical-photo-modal .modal-dialog {
    width: auto;
    max-width: min(860px, calc(100vw - 32px));
    margin-left: auto;
    margin-right: auto;
}
.public-medical-photo-modal .modal-content {
    border: 0;
    border-radius: 20px;
    background: transparent;
    box-shadow: none;
}
.public-medical-photo-modal .modal-body {
    position: relative;
    padding: 0;
    text-align: center;
}
.public-medical-photo-modal-image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 84vh;
    margin: 0 auto;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
}
.public-medical-photo-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: rgba(12, 25, 28, .78);
    color: #fff;
    font-size: 1.05rem;
    cursor: pointer;
    backdrop-filter: blur(6px);
}
.public-medical-photo-modal-close:hover,
.public-medical-photo-modal-close:focus-visible {
    background: rgba(12, 25, 28, .94);
    outline: none;
}
@media (max-width: 600px) {
    .public-medical-photo-modal .modal-dialog {
        max-width: calc(100vw - 18px);
    }
    .public-medical-photo-modal-image {
        max-height: 78vh;
        border-radius: 14px;
    }
}

/* Bilate 0.1.46 — perfil médico existente + apresentação pública */
.medical-public-profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 0 16px;border-bottom:1px solid var(--borda-quente)}
.medical-public-profile-heading p{margin-top:6px;max-width:900px}
.medical-public-profile-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:22px;align-items:start;padding-top:22px}
.medical-public-profile-form-card,.medical-public-profile-preview{min-width:0}
.medical-public-profile-master-data{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;padding:16px;border:1px solid var(--borda-quente);border-radius:14px;background:var(--bg-secundario)}
.medical-public-profile-avatar,.medical-public-profile-preview-avatar{display:grid;place-items:center;overflow:hidden;border:2px solid rgba(13,110,253,.28);border-radius:50%;background:#eef4f8;color:#4b6578}
.medical-public-profile-avatar{width:108px;height:108px;padding:0;cursor:zoom-in}
.medical-public-profile-avatar img,.medical-public-profile-preview-avatar img{width:100%;height:100%;object-fit:cover}
.medical-public-profile-avatar i{font-size:2rem}
.medical-public-profile-master-data h4{margin:4px 0 5px}
.medical-public-profile-master-data p{margin:0;color:var(--texto-principal)}
.medical-public-profile-master-data small{display:block;margin-top:7px;color:var(--texto-secundario)}
.medical-public-profile-kicker{display:block;color:#1684ad;font-size:.69rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.medical-public-profile-specialties{color:#1684ad!important;font-weight:700}
.medical-public-profile-visibility{display:grid;gap:9px;padding:16px;border:1px solid var(--borda-quente);border-radius:14px;background:var(--bg-secundario)}
.medical-public-profile-seo{padding:14px 16px;border:1px solid var(--borda-quente);border-radius:14px;background:var(--bg-secundario)}
.medical-public-profile-seo summary{cursor:pointer;font-weight:800;color:var(--texto-principal)}
.medical-public-profile-preview{position:sticky;top:96px}
.medical-public-profile-preview-card{display:grid;justify-items:center;gap:11px;padding:24px;border:1px solid var(--borda-quente);border-radius:18px;background:linear-gradient(145deg,var(--bg-secundario),var(--bg-principal));text-align:center;box-shadow:0 14px 34px rgba(0,0,0,.08)}
.medical-public-profile-preview-avatar{width:92px;height:92px;font-size:1.8rem}
.medical-public-profile-preview-card h4{margin:1px 0 0}
.medical-public-profile-preview-title{margin:0;color:#1684ad;font-weight:800}
.medical-public-profile-preview-card>p:last-child{margin:0;line-height:1.6}
.medical-public-profile-preview-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.medical-public-profile-preview-tags span{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(13,110,253,.09);color:#0d6efd;font-size:.72rem;font-weight:800}

/* Foto do autor/médico: clique para ampliar sem alterar o enquadramento do perfil. */
.public-medical-author-photo-button{display:block;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:zoom-in;overflow:hidden}
.public-medical-author-photo-button img{width:100%;height:100%;object-fit:cover}
.public-medical-photo-modal .modal-dialog{max-width:min(900px,calc(100vw - 28px))}
.public-medical-photo-modal .modal-content{border:0;background:transparent;box-shadow:none}
.public-medical-photo-modal .modal-body{position:relative;display:grid;place-items:center;padding:0;background:transparent}
.public-medical-photo-modal-image{display:block;max-width:100%;max-height:84vh;width:auto;height:auto;border-radius:16px;box-shadow:0 26px 80px rgba(0,0,0,.48)}
.public-medical-photo-modal-close{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(0,0,0,.62);color:#fff;cursor:pointer}

/* O editor médico deve usar a mesma família tipográfica da interface e da matéria pública. */
body:not(.dark-mode) .medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable,
body:not(.dark-mode) .medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable *{}
.medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable,
.medical-article-editor-form .note-editor.note-frame .note-editing-area .note-editable *{}
.public-medical-article-lead,.public-medical-article-content,.public-medical-article-content *{font-family:inherit}

@media(max-width:1050px){.medical-public-profile-grid{grid-template-columns:1fr}.medical-public-profile-preview{position:static}}
@media(max-width:680px){.medical-public-profile-heading{flex-direction:column}.medical-public-profile-master-data{grid-template-columns:1fr;justify-items:center;text-align:center}.medical-public-profile-avatar{width:96px;height:96px}}

/* ========================================================================== */
/* Bilate 0.1.46.2 — links públicos no topo da tela de acesso                 */
/* ========================================================================== */
.login-topbar {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    padding: 12px 22px;
}

.login-top-public-nav,
.login-top-controls,
.login-theme-control {
    display: flex;
    align-items: center;
}

.login-top-public-nav {
    gap: 8px;
    padding-right: 14px;
    border-right: 1px solid rgba(212, 175, 55, .48);
}

.login-top-public-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid rgba(24, 123, 128, .32);
    border-radius: 999px;
    background: rgba(255, 255, 255, .46);
    color: #176f74;
    text-decoration: none;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(44, 95, 94, .06);
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.login-top-public-link i {
    color: var(--dourado);
}

.login-top-public-link:hover,
.login-top-public-link:focus-visible {
    border-color: #177b80;
    background: #177b80;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(23, 123, 128, .16);
    outline: 0;
}

.login-top-public-link:hover i,
.login-top-public-link:focus-visible i {
    color: #f6d574;
}

.login-top-controls {
    gap: 10px;
}

.login-theme-control {
    gap: 8px;
    min-height: 42px;
    padding: 0 10px;
    border: 1px solid rgba(93, 103, 106, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .34);
}

.login-theme-control > i {
    color: #677177;
    font-size: .92rem;
}

body.dark-mode .login-top-public-link {
    border-color: rgba(212, 175, 55, .42);
    background: rgba(15, 31, 40, .72);
    color: #e8f2ef;
}

body.dark-mode .login-top-public-link i {
    color: #e2bd4d;
}

body.dark-mode .login-top-public-link:hover,
body.dark-mode .login-top-public-link:focus-visible {
    border-color: #d4af37;
    background: #176f74;
    color: #fff;
}

body.dark-mode .login-theme-control {
    border-color: rgba(212, 175, 55, .28);
    background: rgba(15, 31, 40, .62);
}

body.dark-mode .login-theme-control > i {
    color: #d8dfdf;
}

@media (max-width: 700px) {
    .login-topbar {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 10px;
        padding: 10px 12px;
    }

    .login-top-public-nav {
        order: 1;
        width: 100%;
        justify-content: center;
        padding-right: 0;
        border-right: 0;
    }

    .login-top-controls {
        order: 2;
    }

    .login-top-public-link {
        min-height: 38px;
        padding: 7px 11px;
        font-size: .78rem;
    }
}



/* ========================================================================== */
/* Bilate 0.1.46.2 — navegação pública alinhada ao topo da tela de acesso     */
/* ========================================================================== */
.public-medical-brand {
    border-radius: 16px;
    transition: transform .18s ease, opacity .18s ease;
}

.public-medical-brand:hover,
.public-medical-brand:focus-visible {
    color: var(--bilate-public-ink);
    transform: translateY(-1px);
    opacity: .92;
    outline: 0;
}

.public-medical-nav {
    gap: 8px;
}

.public-medical-nav .public-medical-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    margin: 0;
    padding: 8px 14px;
    border: 1px solid rgba(24, 123, 128, .32);
    border-radius: 999px;
    background: rgba(255, 255, 255, .62);
    color: #176f74;
    text-decoration: none;
    font-size: .86rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(44, 95, 94, .06);
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.public-medical-nav .public-medical-nav-link i {
    color: var(--bilate-public-gold);
    margin: 0;
}

.public-medical-nav .public-medical-nav-link:hover,
.public-medical-nav .public-medical-nav-link:focus-visible,
.public-medical-nav .public-medical-nav-link.active {
    border-color: #177b80;
    background: #177b80;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(23, 123, 128, .16);
    outline: 0;
}

.public-medical-nav .public-medical-nav-link:hover i,
.public-medical-nav .public-medical-nav-link:focus-visible i,
.public-medical-nav .public-medical-nav-link.active i {
    color: #f6d574;
}

.public-medical-nav .public-medical-nav-login {
    margin-left: 6px;
    border-color: transparent;
    background: linear-gradient(135deg, var(--bilate-public-teal), var(--bilate-public-teal-dark));
    color: #fff;
    box-shadow: 0 7px 18px rgba(22, 127, 134, .16);
}

.public-medical-nav .public-medical-nav-login i {
    color: #fff3c5;
}

.public-medical-nav .public-medical-nav-login:hover,
.public-medical-nav .public-medical-nav-login:focus-visible {
    border-color: transparent;
    background: var(--bilate-public-teal-dark);
    color: #fff;
}

@media (max-width: 820px) {
    .public-medical-nav {
        gap: 7px;
        padding-bottom: 2px;
    }

    .public-medical-nav .public-medical-nav-link {
        min-height: 38px;
        padding: 7px 11px;
        font-size: .78rem;
        white-space: nowrap;
    }

    .public-medical-nav .public-medical-nav-login {
        margin-left: 4px;
    }
}

/* Bilate 0.1.46.2 — ordenação pública das especialidades médicas */
.medical-specialties-public-order{padding:18px;border:1px solid var(--borda-quente);border-radius:16px;background:linear-gradient(145deg,var(--bg-secundario),var(--bg-principal));box-shadow:0 10px 28px rgba(0,0,0,.06)}
.medical-specialties-public-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.medical-specialties-public-order-title{display:flex;align-items:center;gap:9px;margin-bottom:5px}
.medical-specialty-info-button{display:inline-grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid color-mix(in srgb,var(--cor-primaria) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--cor-primaria) 9%,transparent);color:var(--cor-primaria);font-weight:900;line-height:1;cursor:pointer;transition:.18s ease}
.medical-specialty-info-button:hover,.medical-specialty-info-button:focus-visible{background:var(--cor-primaria);color:#fff;outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--cor-primaria) 18%,transparent)}
.medical-specialty-sort-list{display:grid;gap:9px}
.medical-specialty-sort-row{display:grid;grid-template-columns:36px 42px minmax(220px,1fr) minmax(145px,auto) minmax(140px,auto) 78px;align-items:center;gap:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--borda-quente) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--bg-secundario) 92%,#fff 8%);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}
.medical-specialty-sort-row.is-dragging{opacity:.55;transform:scale(.995);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.medical-specialty-sort-row.is-drag-over{border-color:var(--cor-primaria);box-shadow:0 0 0 2px color-mix(in srgb,var(--cor-primaria) 15%,transparent)}
.medical-specialty-drag-handle,.medical-specialty-move-buttons button{display:grid;place-items:center;border:1px solid var(--borda-quente);background:var(--bg-principal);color:var(--texto-secundario);cursor:pointer}
.medical-specialty-drag-handle{width:34px;height:34px;border-radius:9px;cursor:grab}
.medical-specialty-drag-handle:active{cursor:grabbing}
.medical-specialty-position{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:5px 7px;border-radius:999px;background:color-mix(in srgb,var(--cor-primaria) 11%,transparent);color:var(--cor-primaria);font-size:.76rem;font-weight:900}
.medical-specialty-sort-name{display:grid;gap:2px;min-width:0}
.medical-specialty-sort-name strong{color:var(--texto-principal);overflow-wrap:anywhere}
.medical-specialty-sort-name small{color:var(--texto-secundario);font-size:.7rem}
.medical-specialty-choice{display:flex;align-items:center;gap:7px;margin:0;color:var(--texto-principal);font-size:.8rem;font-weight:700;white-space:nowrap;cursor:pointer}
.medical-specialty-choice input{width:18px;height:18px;margin:0;accent-color:var(--cor-primaria)}
.medical-specialty-primary-choice span{color:#9a6a00}
.medical-specialty-primary-choice i{color:#d6a20b}
.medical-specialty-move-buttons{display:flex;gap:6px;justify-content:flex-end}
.medical-specialty-move-buttons button{width:34px;height:34px;border-radius:9px}
.medical-specialty-move-buttons button:hover:not(:disabled),.medical-specialty-drag-handle:hover{border-color:var(--cor-primaria);color:var(--cor-primaria)}
.medical-specialty-move-buttons button:disabled{opacity:.32;cursor:not-allowed}
.medical-specialty-order-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--borda-quente) 70%,transparent)}
.medical-specialty-order-empty{padding:14px;border:1px dashed var(--borda-quente);border-radius:11px;background:color-mix(in srgb,var(--bg-principal) 75%,transparent);color:var(--texto-secundario)}
.medical-specialty-help-modal .modal-content{overflow:hidden;border:1px solid var(--borda-quente);border-radius:18px;background:var(--bg-secundario);color:var(--texto-principal);box-shadow:0 26px 80px rgba(0,0,0,.28)}
.medical-specialty-help-modal .modal-header{align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--borda-quente);background:linear-gradient(135deg,color-mix(in srgb,var(--cor-primaria) 10%,var(--bg-secundario)),var(--bg-secundario))}
.medical-specialty-help-modal .modal-title{margin-top:4px;font-weight:850;color:var(--texto-principal)}
.medical-specialty-help-kicker{color:var(--cor-primaria);font-size:.67rem;font-weight:900;letter-spacing:.11em}
.medical-specialty-help-modal .modal-body{display:grid;gap:12px;padding:20px 22px}
.medical-specialty-help-modal .modal-body section{padding:13px 14px;border:1px solid color-mix(in srgb,var(--borda-quente) 75%,transparent);border-radius:12px;background:color-mix(in srgb,var(--bg-principal) 75%,transparent)}
.medical-specialty-help-modal .modal-body strong{display:block;margin-bottom:4px;color:var(--texto-principal)}
.medical-specialty-help-modal .modal-body p{margin:0;color:var(--texto-secundario);line-height:1.6}
.medical-specialty-help-modal .modal-footer{padding:15px 22px;border-top:1px solid var(--borda-quente)}
@media(max-width:1100px){.medical-specialty-sort-row{grid-template-columns:36px 42px minmax(180px,1fr) minmax(135px,auto) 78px}.medical-specialty-choice:not(.medical-specialty-primary-choice){grid-column:3/5}.medical-specialty-move-buttons{grid-column:5;grid-row:1/3}}
@media(max-width:760px){.medical-specialties-public-order{padding:14px}.medical-specialty-sort-row{grid-template-columns:34px 38px minmax(0,1fr) 74px;gap:8px}.medical-specialty-sort-name{grid-column:3}.medical-specialty-primary-choice,.medical-specialty-choice:not(.medical-specialty-primary-choice){grid-column:2/4}.medical-specialty-move-buttons{grid-column:4;grid-row:1/4}.medical-specialty-order-actions{align-items:stretch;flex-direction:column}.medical-specialty-order-actions .btn{width:100%}.medical-specialty-drag-handle{touch-action:none}}
.public-medical-tags span.is-primary,.medical-public-profile-preview-tags span.is-primary{border-color:#d6a20b;background:color-mix(in srgb,#d6a20b 10%,var(--bg-secundario));box-shadow:inset 0 0 0 1px color-mix(in srgb,#d6a20b 14%,transparent)}
.public-medical-tags span.is-primary::before,.medical-public-profile-preview-tags span.is-primary::before{content:"★";margin-right:5px;color:#c68d00;font-size:.72em}
/* Central de Regulação, Termos e Teleatendimento */
.regulatory-catalog-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 12%, rgba(60, 203, 184, .26), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(226, 174, 76, .28), transparent 32%),
        linear-gradient(135deg, #092f37 0%, #0b4f59 52%, #143c48 100%);
    box-shadow: 0 22px 54px rgba(9, 47, 55, .22);
    overflow: hidden;
}
.regulatory-catalog-hero h4 { margin: .35rem 0 .5rem; font-size: clamp(1.45rem, 2vw, 2.05rem); font-weight: 800; }
.regulatory-catalog-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.78); line-height: 1.6; }
.regulatory-eyebrow { color: #e7bd65; font-size: .73rem; font-weight: 900; letter-spacing: .18em; }
.regulatory-catalog-metrics { display: grid; grid-template-columns: repeat(3, minmax(92px, 1fr)); gap: .75rem; flex: 0 0 auto; }
.regulatory-catalog-metrics > div { display: flex; min-height: 92px; padding: .9rem; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; text-align: center; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.regulatory-catalog-metrics strong, .regulatory-catalog-metrics i { color: #f2c66d; font-size: 1.55rem; }
.regulatory-catalog-metrics span { max-width: 112px; color: rgba(255,255,255,.75); font-size: .72rem; font-weight: 700; }
.regulatory-quick-nav { display: flex; gap: .65rem; padding: .25rem .1rem .65rem; overflow-x: auto; scrollbar-width: thin; }
.regulatory-nav-chip { --regulatory-accent: #2679d8; display: inline-flex; flex: 0 0 auto; align-items: center; gap: .55rem; padding: .7rem .95rem; color: var(--text-color); font-size: .78rem; font-weight: 800; text-decoration: none; border: 1px solid color-mix(in srgb, var(--regulatory-accent) 32%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--regulatory-accent) 8%, var(--card-bg)); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.regulatory-nav-chip:hover { color: var(--text-color); transform: translateY(-2px); border-color: var(--regulatory-accent); box-shadow: 0 8px 20px color-mix(in srgb, var(--regulatory-accent) 18%, transparent); }
.regulatory-nav-chip i { color: var(--regulatory-accent); }
.regulatory-accordion { display: grid; gap: 1rem; }
.regulatory-group-card { --regulatory-accent: #2679d8; border: 1px solid color-mix(in srgb, var(--regulatory-accent) 24%, var(--borda-quente)); border-left: 5px solid var(--regulatory-accent); border-radius: 20px !important; background: var(--card-bg); box-shadow: 0 12px 34px rgba(32, 45, 56, .08); overflow: hidden; }
.regulatory-group-card .accordion-button { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 1rem; min-height: 92px; padding: 1.15rem 1.35rem; color: var(--text-color); background: linear-gradient(110deg, color-mix(in srgb, var(--regulatory-accent) 8%, var(--card-bg)), var(--card-bg) 55%); box-shadow: none; }
.regulatory-group-card .accordion-button:not(.collapsed) { color: var(--text-color); background: linear-gradient(110deg, color-mix(in srgb, var(--regulatory-accent) 14%, var(--card-bg)), var(--card-bg) 70%); }
.regulatory-group-icon { display: grid; width: 48px; height: 48px; place-items: center; color: #fff; border-radius: 15px; background: var(--regulatory-accent); box-shadow: 0 8px 18px color-mix(in srgb, var(--regulatory-accent) 28%, transparent); }
.regulatory-group-heading { display: flex; min-width: 0; flex-direction: column; gap: .25rem; }
.regulatory-group-heading strong { font-size: 1.03rem; }
.regulatory-group-heading small { color: var(--cor-secundaria); font-weight: 500; line-height: 1.4; }
.regulatory-count-badge { padding: .45rem .7rem; color: var(--regulatory-accent); font-size: .72rem; font-weight: 900; white-space: nowrap; border: 1px solid color-mix(in srgb, var(--regulatory-accent) 30%, transparent); border-radius: 999px; background: color-mix(in srgb, var(--regulatory-accent) 9%, var(--card-bg)); }
.regulatory-group-form { padding: 1.5rem; border-top: 1px solid color-mix(in srgb, var(--regulatory-accent) 18%, var(--borda-quente)); background: linear-gradient(180deg, color-mix(in srgb, var(--regulatory-accent) 3%, var(--card-bg)), var(--card-bg)); }
.regulatory-safety-note { color: var(--cor-secundaria); font-size: .82rem; }
.regulatory-field { padding-bottom: 1rem; border-bottom: 1px solid color-mix(in srgb, var(--regulatory-accent) 12%, var(--borda-quente)); }
.regulatory-field .form-label { color: var(--text-color); }
.regulatory-field textarea.form-control { color: var(--text-color); border-color: color-mix(in srgb, var(--regulatory-accent) 20%, var(--borda-quente)); background: var(--bg-secundario); resize: vertical; }
.regulatory-field textarea.form-control:disabled { opacity: .82; background: color-mix(in srgb, var(--regulatory-accent) 4%, var(--bg-secundario)); }
.regulatory-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--borda-quente); }
.regulatory-unlock-modal { border: 1px solid rgba(218, 161, 48, .55); border-radius: 22px; overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.25); }
.regulatory-unlock-modal .modal-header { color: #fff; border: 0; background: linear-gradient(135deg, #3b2d11, #71541b); }
.regulatory-unlock-modal .modal-header .btn-close { filter: invert(1); }
.regulatory-tone-azul { --regulatory-accent: #2679d8; }
.regulatory-tone-ciano { --regulatory-accent: #168fa1; }
.regulatory-tone-ambar { --regulatory-accent: #cf8c17; }
.regulatory-tone-verde { --regulatory-accent: #25885f; }
.regulatory-tone-vermelho { --regulatory-accent: #c74652; }
.regulatory-tone-violeta { --regulatory-accent: #7a58bd; }
.regulatory-tone-grafite { --regulatory-accent: #56616b; }
.regulatory-tone-dourado { --regulatory-accent: #b78327; }
.regulatory-tone-rosa { --regulatory-accent: #c75b83; }
.regulatory-tone-turquesa { --regulatory-accent: #168d82; }
.regulatory-tone-indigo { --regulatory-accent: #555fc1; }
@media (max-width: 991.98px) { .regulatory-catalog-hero { align-items: stretch; flex-direction: column; } .regulatory-catalog-metrics { width: 100%; } }
@media (max-width: 575.98px) { .regulatory-catalog-hero { padding: 1.35rem; border-radius: 18px; } .regulatory-catalog-metrics { grid-template-columns: 1fr; } .regulatory-catalog-metrics > div { min-height: 72px; } .regulatory-group-card .accordion-button { grid-template-columns: auto minmax(0,1fr) auto; gap: .75rem; } .regulatory-count-badge { display: none; } }

.bilate-footer-version {
    display: inline-block;
    margin-left: 8px;
    font-size: 11px;
    font-weight: 400;
    opacity: .65;
    white-space: nowrap;
}
/* BILATE_SUMMERNOTE_FONT_FIDELITY_0_1_46_17_12 — fontes escolhidas no editor não são sobrescritas pelo layout público. */
