* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    background: var(--cor-fundo-site);
    color: var(--cor-fonte-sistema);
    min-height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

body.modal-ativo {
    overflow: hidden;
}

#calendario-agendamentos[aria-hidden="true"],
.calendario[aria-hidden="true"] {
    opacity: 0.35;
    pointer-events: none;
}

body.modal-ativo .conteiner-unico,
body.modal-ativo .rodape-simples {
    display: block !important;
}

body.modal-ativo #modal-agendamentos-camada {
    display: flex !important;
}

:root {
    --altura-viewport: 100vh;
    --altura-topo-fixo: 72px;
    --altura-topo-modal: 56px;
    --ajuste-inferior-modal: 20px;
    --duracao-transicao-conteudo: 280ms;
    --cor-primaria-sistema: #0b6efd;
    --cor-secundaria-sistema: #ffffff;
    --cor-fundo-site: #e8f1ff;
    --cor-texto-site: #0f172a;
    --cor-fonte-sistema: #1b1b1b;
    --cor-fonte-site: #0f172a;
    --cor-fonte-botao-primario: #ffffff;
    --cor-fonte-secundaria-sistema: #0f172a;
    --cor-fundo-campos-sistema: #ffffff;
    --cor-botao-editar: #0b6efd;
    --cor-botao-novo: #198754;
    --cor-botao-excluir: #dc3545;
    --cor-fonte-botao-acao: #ffffff;
    --cor-celula-agendamento-futuro-fundo: #dcfce7;
    --cor-celula-agendamento-futuro-fonte: #166534;
    --cor-celula-agendamento-passado-fundo: #ede9fe;
    --cor-celula-agendamento-passado-fonte: #5b21b6;
}

@supports (height: 100svh) {
    :root {
        --altura-viewport: 100svh;
    }
}

body[data-modo-visual-aplicado="escuro"] {
    --cor-secundaria-sistema: #0f172a;
    --cor-fonte-sistema: #e5e7eb;
    --cor-fonte-secundaria-sistema: #e5e7eb;
    --cor-fundo-campos-sistema: #111827;
    --cor-fundo-site: #0b1220;
    --cor-texto-site: #e2e8f0;
    --cor-fonte-site: #e2e8f0;
}


.iframe-modal-agendamentos{
    max-width: 100%;
    width: 100%;
    min-height: 100vh;
    height: auto;
    padding: 12px 10px;
    margin: 0;
    display: block;	
}

.conteiner-unico {
    max-width: 100%;
    width: 100%;
    min-height: 100vh;
    height: auto;
    padding: 12px 10px;
    margin: 0;
    display: block;
}

/* Garantia de largura mesmo quando a página não estiver envolvida explicitamente */
body > .topo,
body > main,
body > .grade,
body > .cartao {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

body > .grade {
    padding-left: 12px;
    padding-right: 12px;
}

.pagina-inicial .container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.caixa-formulario {
    background: var(--cor-secundaria-sistema);
    padding: 24px;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 420px;
    margin-inline: auto;
}

.caixa-formulario h1 {
    margin-bottom: 8px;
}

.caixa-formulario .descricao {
    margin-bottom: 16px;
    color: #555;
}

.formulario {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


.rotulo-com-ajuda {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    white-space: normal !important;
    text-align: left !important;
}

.rotulo-com-ajuda .ajuda-campo {
    flex: 0 0 auto;
    margin-left: 0 !important;
    align-self: center !important;
}

.rotulo-com-ajuda .rotulo-ajuda-texto {
    order: 2 !important;
    flex: 1 1 auto !important;
    align-self: center !important;
    text-align: left !important;
    line-height: 1.25;
    min-width: 0 !important;
}

.rotulo-com-ajuda > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.rotulo-com-ajuda > select,
.rotulo-com-ajuda > textarea,
.rotulo-com-ajuda > .campo-autocomplete-entidade {
    order: 3 !important;
    flex: 1 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
}

.rotulo-com-ajuda br {
    display: none !important;
}

/* Fallback visual sem fallback de dados: qualquer label com ajuda fica em linha (icone + texto) */
.cartao form label:has(> .ajuda-campo),
.conteiner-unico label:has(> .ajuda-campo),
.modal-conteudo label:has(> .ajuda-campo) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
}

.cartao form label:has(> .ajuda-campo) > .ajuda-campo,
.conteiner-unico label:has(> .ajuda-campo) > .ajuda-campo,
.modal-conteudo label:has(> .ajuda-campo) > .ajuda-campo {
    order: 1 !important;
    margin: 0 !important;
}

.cartao form label:has(> .ajuda-campo) > .rotulo-ajuda-texto,
.conteiner-unico label:has(> .ajuda-campo) > .rotulo-ajuda-texto,
.modal-conteudo label:has(> .ajuda-campo) > .rotulo-ajuda-texto {
    order: 2 !important;
    margin: 0 !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    text-align: left !important;
}

.cartao form label:has(> .ajuda-campo) > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.cartao form label:has(> .ajuda-campo) > select,
.cartao form label:has(> .ajuda-campo) > textarea,
.conteiner-unico label:has(> .ajuda-campo) > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.conteiner-unico label:has(> .ajuda-campo) > select,
.conteiner-unico label:has(> .ajuda-campo) > textarea,
.modal-conteudo label:has(> .ajuda-campo) > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.modal-conteudo label:has(> .ajuda-campo) > select,
.modal-conteudo label:has(> .ajuda-campo) > textarea {
    order: 3 !important;
    flex: 1 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
}

.ajuda-campo {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #0b6efd;
    color: #fff;
    cursor: help;
    vertical-align: middle;
    box-shadow: 0 4px 12px rgba(11, 110, 253, 0.18);
}

.ajuda-campo .material-icons {
    font-size: 13px;
    line-height: 1;
}

.ajuda-campo-popup {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    max-width: 320px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.24);
    border: 1px solid rgba(148, 163, 184, 0.35);
    text-shadow: none;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
    z-index: 99999;
}

.ajuda-campo-popup::before {
    display: none;
}

.ajuda-campo-popup,
.ajuda-campo-popup * {
    color: #0f172a !important;
}

.ajuda-campo:hover .ajuda-campo-popup,
.ajuda-campo:focus .ajuda-campo-popup,
.ajuda-campo:focus-visible .ajuda-campo-popup {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 768px) {
    .ajuda-campo-popup {
        max-width: min(260px, calc(100vw - 24px));
    }
}

.formulario label {
    font-weight: bold;
}

.switch-grupo-global {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px 10px;
}

.switch-cartao-global {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-content: stretch !important;
    column-gap: 10px !important;
    row-gap: 6px !important;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 10px 56px 10px 12px;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    background: #f8fbff;
    text-align: left !important;
    white-space: normal !important;
    line-height: 1.25;
    overflow: hidden;
    word-break: break-word;
}

.formulario-agendamento-edicao {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

.formulario-agendamento-edicao > * {
    min-width: 0;
    max-width: 100%;
}

.formulario-agendamento-edicao .u-inline-6dfeb8bfd1,
.formulario-agendamento-edicao .u-inline-c3687050d9,
.formulario-agendamento-edicao .campo-autocomplete {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.formulario-agendamento-edicao .u-inline-c3687050d9 {
    flex: 1 1 auto;
}

.formulario-agendamento-edicao .grupo-switches-agendamento {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
    margin-top: 2px;
    margin-bottom: 2px;
}

.formulario-agendamento-edicao .grupo-switches-agendamento-coluna {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
}

.formulario-agendamento-edicao .grupo-switches-agendamento .grupo-switches-agendamento-coluna > label {
    min-height: 124px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-content: stretch !important;
    padding: 10px 56px 10px 12px !important;
    position: relative !important;
}

.formulario-agendamento-edicao .grupo-switches-agendamento .grupo-switches-agendamento-coluna > label > input[type="checkbox"],
.formulario-agendamento-edicao .grupo-switches-agendamento .grupo-switches-agendamento-coluna > label > input[type="radio"] {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento {
    margin: 0;
    padding: 10px 12px 12px;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    background: #f8fbff;
    min-width: 0;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento > legend {
    padding: 0 4px;
    margin-left: 4px;
    font-weight: 700;
}

.formulario-agendamento-edicao .grupo-switches-agendamento > label,
.formulario-agendamento-edicao .u-inline-be73dbf155 > label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 12px !important;
    width: 100%;
    min-height: 52px;
    margin: 0 !important;
    padding: 10px 56px 10px 12px !important;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    background: #f8fbff;
    text-align: left !important;
    line-height: 1.2;
    position: relative;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento > label,
.formulario-agendamento-edicao .grupo-repeticoes-agendamento .u-inline-be73dbf155 > label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 12px !important;
    width: 100%;
    min-height: 52px;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    background: #f8fbff;
    text-align: left !important;
    line-height: 1.2;
}

.formulario-agendamento-edicao .grupo-switches-agendamento > label > input[type="checkbox"],
.formulario-agendamento-edicao .grupo-switches-agendamento > label > input[type="radio"],
.formulario-agendamento-edicao .u-inline-be73dbf155 > label > input[type="checkbox"],
.formulario-agendamento-edicao .u-inline-be73dbf155 > label > input[type="radio"] {
    margin: 0 !important;
    justify-self: end;
    align-self: center;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento > label > input[type="checkbox"],
.formulario-agendamento-edicao .grupo-repeticoes-agendamento > label > input[type="radio"],
.formulario-agendamento-edicao .grupo-repeticoes-agendamento .u-inline-be73dbf155 > label > input[type="checkbox"],
.formulario-agendamento-edicao .grupo-repeticoes-agendamento .u-inline-be73dbf155 > label > input[type="radio"] {
    margin: 0 !important;
    margin-left: auto !important;
    flex: 0 0 auto;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento .repeticoes-opcoes-linha {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento .repeticoes-opcoes-linha > label {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.formulario-agendamento-edicao .switch-item-cartao,
.formulario-agendamento-novo .switch-item-cartao {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    background: #f8fbff;
}

.formulario-agendamento-edicao .switch-item-rotulo,
.formulario-agendamento-novo .switch-item-rotulo {
    margin: 0;
    font-weight: 700;
    font-size: 0.98rem;
    line-height: 1.2;
    text-align: left;
    word-break: normal;
    overflow-wrap: anywhere;
    flex: 1 1 auto;
    min-width: 0;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento .switch-item-rotulo,
.formulario-agendamento-novo .grupo-repeticoes-agendamento .switch-item-rotulo {
    font-size: 1rem;
    white-space: normal;
    overflow: visible;
    text-overflow: initial;
}

.formulario-agendamento-edicao .switch-item-cartao > input[type="checkbox"],
.formulario-agendamento-edicao .switch-item-cartao > input[type="radio"],
.formulario-agendamento-novo .switch-item-cartao > input[type="checkbox"],
.formulario-agendamento-novo .switch-item-cartao > input[type="radio"] {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    margin-left: auto !important;
    flex: 0 0 auto;
}

/* Forca switch padrao no bloco de repeticao/agendamento */
.formulario-agendamento-edicao .switch-item-cartao > input[type="checkbox"],
.formulario-agendamento-novo .switch-item-cartao > input[type="checkbox"],
.formulario-agendamento-edicao .grupo-repeticoes-agendamento input[type="checkbox"],
.formulario-agendamento-novo .grupo-repeticoes-agendamento input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 24px !important;
    border-radius: 999px !important;
    border: 1px solid #6b7280 !important;
    background: #9ca3af !important;
    position: relative !important;
    padding: 0 !important;
    cursor: pointer !important;
}

.formulario-agendamento-edicao .switch-item-cartao > input[type="checkbox"]::before,
.formulario-agendamento-novo .switch-item-cartao > input[type="checkbox"]::before,
.formulario-agendamento-edicao .grupo-repeticoes-agendamento input[type="checkbox"]::before,
.formulario-agendamento-novo .grupo-repeticoes-agendamento input[type="checkbox"]::before {
    content: '' !important;
    position: absolute !important;
    top: 1px !important;
    left: 1px !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.22) !important;
    transition: transform 0.2s ease !important;
}

.formulario-agendamento-edicao .switch-item-cartao > input[type="checkbox"]:checked,
.formulario-agendamento-novo .switch-item-cartao > input[type="checkbox"]:checked,
.formulario-agendamento-edicao .grupo-repeticoes-agendamento input[type="checkbox"]:checked,
.formulario-agendamento-novo .grupo-repeticoes-agendamento input[type="checkbox"]:checked {
    background: #16a34a !important;
    border-color: #15803d !important;
}

.formulario-agendamento-edicao .switch-item-cartao > input[type="checkbox"]:checked::before,
.formulario-agendamento-novo .switch-item-cartao > input[type="checkbox"]:checked::before,
.formulario-agendamento-edicao .grupo-repeticoes-agendamento input[type="checkbox"]:checked::before,
.formulario-agendamento-novo .grupo-repeticoes-agendamento input[type="checkbox"]:checked::before {
    transform: translateX(20px) !important;
}

.formulario-agendamento-edicao .switch-item-cartao .ajuda-campo,
.formulario-agendamento-novo .switch-item-cartao .ajuda-campo {
    display: none !important;
}

.formulario-agendamento-edicao .grupo-switches-agendamento .ajuda-campo,
.formulario-agendamento-novo .grupo-switches-agendamento .ajuda-campo,
.formulario-agendamento-edicao .grupo-repeticoes-agendamento .ajuda-campo,
.formulario-agendamento-novo .grupo-repeticoes-agendamento .ajuda-campo {
    display: none !important;
}

.formulario-agendamento-edicao .grupo-switches-agendamento,
.formulario-agendamento-novo .grupo-switches-agendamento {
    gap: 10px;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento,
.formulario-agendamento-novo .grupo-repeticoes-agendamento {
    padding: 10px 12px 12px;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento > legend,
.formulario-agendamento-novo .grupo-repeticoes-agendamento > legend {
    display: block;
    width: 100%;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 8px;
    padding-bottom: 0;
}

.formulario-agendamento-edicao .grupo-repeticoes-agendamento .switch-repetir-principal,
.formulario-agendamento-novo .grupo-repeticoes-agendamento .switch-repetir-principal {
    margin-top: 0;
    margin-bottom: 10px;
}

/* Ajustes especificos do novo agendamento para manter tudo alinhado */
.formulario-agendamento-novo .grupo-switches-agendamento .grupo-switches-agendamento-coluna > label {
    min-height: 84px !important;
}

.formulario-agendamento-novo .grupo-repeticoes-agendamento .repeticoes-opcoes-linha {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.formulario-agendamento-novo .grupo-repeticoes-agendamento .repeticoes-opcoes-linha > .switch-item-cartao {
    min-height: 48px;
}

.formulario-agendamento-edicao .grupo-switches-agendamento > label.switch-aplicar-futuros-agendamento {
    min-height: 72px !important;
    overflow: hidden !important;
}

.formulario-agendamento-edicao .grupo-switches-agendamento > label.switch-aplicar-futuros-agendamento > input[type="checkbox"],
.formulario-agendamento-edicao .grupo-switches-agendamento > label.switch-aplicar-futuros-agendamento > input[type="radio"] {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

.formulario-agendamento-edicao .acoes-agendamento-edicao {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    max-width: 100%;
}

.formulario-agendamento-edicao .acoes-agendamento-edicao button {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    margin: 0;
}

.switch-cartao-global > input[type="checkbox"],
.switch-cartao-global > input[type="radio"] {
    flex: 0 0 auto;
    order: 99;
    justify-self: end;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
}

.formulario input,
.formulario select,
.formulario textarea {
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    width: 100%;
    max-width: 100%;
}

.formulario-pacientes {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 170px minmax(0, 1fr);
    gap: 10px 14px;
    align-items: center;
}

.formulario-pacientes > label {
    margin: 0;
    font-weight: 700;
}

.formulario-pacientes > textarea {
    min-height: 110px;
    resize: vertical;
}

.formulario-pacientes > textarea,
.formulario-pacientes > input[type="file"],
.formulario-pacientes .pacientes-foto-atual,
.formulario-pacientes .pacientes-acoes-formulario {
    grid-column: 2 / -1;
}

.formulario-pacientes .pacientes-foto-atual {
    margin: 8px 0 2px;
}

.formulario-pacientes .pacientes-foto-atual img {
    max-width: 160px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
}

.formulario-pacientes .pacientes-acoes-formulario {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.formulario-pacientes .pacientes-acoes-formulario .botao-sair {
    background: #6c757d;
    color: #fff;
}

@media (max-width: 1080px) {
    .formulario-pacientes {
        grid-template-columns: 170px minmax(0, 1fr);
    }

    .formulario-pacientes > textarea,
    .formulario-pacientes > input[type="file"],
    .formulario-pacientes .pacientes-foto-atual,
    .formulario-pacientes .pacientes-acoes-formulario {
        grid-column: 2;
    }
}

@media (max-width: 700px) {
    .formulario-pacientes {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .formulario-pacientes > textarea,
    .formulario-pacientes > input[type="file"],
    .formulario-pacientes .pacientes-foto-atual,
    .formulario-pacientes .pacientes-acoes-formulario {
        grid-column: 1;
    }
}

.campo-cor-sala {
    display: grid;
    grid-template-columns: 56px 36px 120px;
    gap: 8px;
    align-items: center;
}

.campo-cor-sala input[type="color"] {
    width: 56px;
    height: 40px;
    padding: 2px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    cursor: pointer;
    background: var(--cor-secundaria-sistema);
}

.formulario input,
.formulario select,
.formulario textarea,
input,
select,
textarea {
    background: var(--cor-fundo-campos-sistema);
}

/* Padrao visual para formularios legados sem classe */
.cartao form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-weight: 700;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}

.cartao form .campo-formulario {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: stretch;
    text-align: left;
}

.cartao form .campo-formulario > label {
    display: block;
    font-weight: 700;
    text-align: left;
}

.cartao form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]),
.cartao form select,
.cartao form textarea {
    width: 100%;
    max-width: 100%;
    min-height: 40px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: var(--cor-fundo-campos-sistema);
    color: var(--cor-fonte-sistema);
}

.cartao form textarea {
    min-height: 96px;
    resize: vertical;
}

.convenios-opcoes-check {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.convenios-opcao-check {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    font-weight: 600;
}

@media (max-width: 768px) {
    .modal-conteudo,
    .modal-agenda-conteudo,
    .modal-agendamentos-conteudo {
        width: calc(100dvw - 16px);
        max-width: calc(100dvw - 16px);
        min-width: 0;
    }

    .switch-grupo-global {
        grid-template-columns: minmax(0, 1fr);
    }

    .modal-corpo .conteiner-unico,
    .modal-agenda-conteudo .conteiner-unico,
    .modal-agendamentos-conteudo .conteiner-unico {
        padding: 12px;
        overflow-x: hidden;
    }

    .modal-corpo,
    .modal-agenda-corpo,
    .modal-agendamentos-corpo {
        overflow-x: hidden !important;
        padding-right: 0 !important;
    }

    .modal-corpo .cartao,
    .modal-agenda-corpo .cartao,
    .modal-agendamentos-corpo .cartao {
        overflow-x: hidden;
    }

    .formulario-agendamento-edicao .u-inline-be73dbf155 {
        grid-template-columns: minmax(0, 1fr);
    }

    .formulario-agendamento-edicao .grupo-switches-agendamento {
        grid-template-columns: minmax(0, 1fr);
    }

    .formulario-agendamento-edicao .grupo-repeticoes-agendamento .repeticoes-opcoes-linha {
        grid-template-columns: minmax(0, 1fr);
    }

    .formulario-agendamento-edicao {
        padding-right: 2px;
    }

    .formulario-agendamento-edicao .switch-cartao-global > input[type="checkbox"],
    .formulario-agendamento-edicao .switch-cartao-global > input[type="radio"] {
        margin-left: 0 !important;
    }

    .formulario-agendamento-edicao,
    .formulario-agendamento-edicao .grupo-switches-agendamento,
    .formulario-agendamento-edicao .acoes-agendamento-edicao,
    .formulario-agendamento-edicao .switch-grupo-global,
    .formulario-agendamento-edicao .switch-cartao-global {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .formulario-agendamento-edicao button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .cartao form label,
    .cartao form .campo-formulario,
    .cartao form .campo-formulario > label {
        text-align: left !important;
        align-items: flex-start;
    }
}

.convenios-acoes-formulario {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    flex-wrap: wrap;
}


.cor-amostra-sala {
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid #d1d5db;
}

.conteiner-formulario-salas .topo {
    margin-bottom: 12px;
}

.grade-formulario-salas {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 0;
}

.cartao-formulario-salas {
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
}

.formulario-salas .campo-formulario {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.linha-acoes-formulario-salas {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.campo-selecao-salas {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.campo-selecao-salas input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    flex: 0 0 auto;
}

.linha-acoes-formulario-salas .botao-acao {
    min-width: 180px;
    justify-content: center;
}

#salas_cor_hex {
    font-family: monospace;
    background: #f8fafc;
}

.formulario button {
    padding: 12px;
    border: none;
    border-radius: 6px;
    background: var(--cor-primaria-sistema);
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s ease;
}

.formulario > button,
.formulario > .botao-sair,
.formulario > .botao-acao,
.formulario > .botao-padrao,
.formulario > .botao-secundario,
.formulario > .botao-sucesso,
.formulario > .botao-perigo {
    align-self: flex-start !important;
}

.formulario button:hover {
    background: #0956c7;
}

button,
.botao-sair,
.formulario button,
.modal-topo button {
    border-radius: 10px !important;
    border: 0;
}

button[type="submit"],
button[type="button"]:not(.item-menu):not(.menu-preferencias-link):not(.item-cadastro):not(.menu-toggle) {
    background: var(--cor-primaria-sistema);
    color: #fff;
    padding: 10px 14px;
    min-height: 38px;
}

.botao-sair,
.botao-acao,
.botao-padrao,
.botao-secundario,
.botao-sucesso,
.botao-perigo,
.botao-externo,
.botao-menu-sistema {
    min-height: 38px;
    padding: 10px 14px;
}

.alerta {
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 10px;
}

.alerta.erro {
    background: #ffe2e2;
    color: #8a0000;
    border: 1px solid #f5b2b2;
}

.topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background: var(--cor-primaria-sistema);
    color: #fff;
    gap: 12px;
    flex-wrap: wrap;
}

.topo-esquerda {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.marca-topo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex-wrap: nowrap;
}

.botao-link-topo {
    border: 0;
    background: transparent;
    color: inherit;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-align: inherit;
}

.marca-topo-textos {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2px;
    min-height: 34px;
    min-width: 0;
}

.marca-topo-logo {
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 8px;
    background: #ffffff;
    padding: 3px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15);
}

.marca-topo strong {
    white-space: nowrap;
    line-height: 1.1;
}

.marca-topo-nome {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.marca-topo-slogan {
    display: block;
    line-height: 1.15;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.usuario-logado-nome {
    display: inline-block;
}

.usuario-logado-perfil {
    display: inline-block;
}

/* Tabela responsiva padrao para modulos de cadastro/listagem */
.tabela-mobile-auto-wrap {
    width: 100%;
    overflow-x: auto;
}

@media (max-width: 900px) {
    .tabela-mobile-auto {
        width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 10px !important;
    }
    .tabela-mobile-auto thead {
        display: none !important;
    }
    .tabela-mobile-auto tbody tr {
        display: block;
        border: 1px solid #d9e0ea;
        border-radius: 10px;
        padding: 10px;
        background: var(--cor-secundaria-sistema);
        margin-bottom: 10px;
    }
    .tabela-mobile-auto tbody td {
        display: block;
        border: 0 !important;
        padding: 6px 0 !important;
        word-break: break-word;
    }
    .tabela-mobile-auto tbody td::before {
        content: attr(data-rotulo);
        display: block;
        font-size: 12px;
        color: #5c6675;
        margin-bottom: 4px;
        font-weight: 600;
    }
    .tabela-mobile-auto .botao-sair,
    .tabela-mobile-auto button {
        width: 100%;
        margin-top: 6px;
    }
}

.marca-topo small {
    opacity: 0.9;
}

.usuario-logado {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.usuario-logado span,
.usuario-logado small {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.usuario-logado .botao-sair {
    background: var(--cor-secundaria-sistema);
    color: var(--cor-primaria-sistema);
    padding: 6px 10px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
}

.botao-notificacao-topo {
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    border-radius: 999px;
    height: 34px;
    min-width: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 10px;
    font-weight: 700;
}

.botao-notificacao-topo .material-icons {
    font-size: 18px;
    color: inherit;
}

.botao-notificacao-topo-contador {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    border-radius: 10px;
    padding: 0 6px;
    background: #ffffff;
    color: var(--cor-primaria-sistema);
    font-size: 11px;
    line-height: 1;
}

.usuario-logado-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.botao-acao {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.botao-padrao {
    background: #0b6efd !important;
    color: #fff !important;
}

.botao-secundario {
    background: #6c757d !important;
    color: #fff !important;
}

.botao-sucesso {
    background: #198754 !important;
    color: #fff !important;
}

.botao-perigo {
    background: var(--cor-botao-excluir) !important;
    color: var(--cor-fonte-botao-acao) !important;
}

.botao-acao-editar,
.botao-editar,
button[data-acao="editar"],
button[data-acao="atualizar"] {
    background: var(--cor-botao-editar) !important;
    color: var(--cor-fonte-botao-acao) !important;
}

.botao-acao-novo,
.botao-novo,
button[data-acao="novo"],
button[data-acao="cadastrar"],
button[data-acao="criar"] {
    background: var(--cor-botao-novo) !important;
    color: var(--cor-fonte-botao-acao) !important;
}

.botao-acao-excluir,
.botao-excluir,
button[data-acao="excluir"],
button[data-acao="deletar"],
.usuarios-botao-perigo {
    background: var(--cor-botao-excluir) !important;
    color: var(--cor-fonte-botao-acao) !important;
}

.toast-global-sistema {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 100000;
    background: #198754;
    color: #fff;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.22);
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}

.toast-global-sistema.ativo {
    opacity: 1;
    transform: translateY(0);
}

.camada-transicao-telas {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.36);
    backdrop-filter: blur(2px);
    z-index: 150000;
    display: none;
    align-items: center;
    justify-content: center;
}

.camada-transicao-telas.ativo {
    display: flex;
}

.camada-transicao-conteudo {
    min-width: 220px;
    max-width: 90vw;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.25);
    padding: 18px 20px;
    text-align: center;
}

.camada-transicao-spinner {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 3px solid #dbeafe;
    border-top-color: var(--cor-primaria-sistema);
    margin: 0 auto 10px auto;
    animation: giro-transicao .85s linear infinite;
}

.camada-transicao-imagem {
    max-width: 140px;
    max-height: 140px;
    margin: 0 auto 10px auto;
    border-radius: 10px;
    object-fit: contain;
}

.camada-transicao-texto {
    font-weight: 700;
    color: #0f172a;
}

@keyframes giro-transicao {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.icone-botao {
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.icone-botao svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.icone-botao .material-icons {
    font-size: 16px;
    line-height: 1;
}

.grade {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    padding: 12px;
}

.cartao {
    background: var(--cor-secundaria-sistema);
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.tabela-responsiva {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.tabela-padrao {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
}

.celula-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.cartao:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.cartao h2 {
    margin-bottom: 8px;
}

.layout-painel {
    display: flex;
    flex-direction: row;
    gap: 14px;
    align-items: flex-start;
}

.calendario {
    width: 100%;
    transition: opacity 0.25s ease;
    margin-top: 10px;
}

.calendario-grade {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    text-align: center;
    width: 100%;
    max-width: 100%;
}

.dia-calendario {
    transition: box-shadow 0.15s ease, transform 0.15s ease;
    min-height: 74px;
    padding: 6px;
    border: 1px solid #e1e5eb;
    border-radius: 10px;
    overflow: hidden;
    color: #111;
    font-size: 13px;
}

.dia-calendario:hover {
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}

.dia-calendario.fora-mes {
    opacity: 0.55;
}

.dia-calendario .numero-dia {
    font-size: 14px;
    font-weight: bold;
}

.mini-agendamentos {
    margin-top: 4px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.linha-mini {
    font-size: 11px;
    line-height: 1.2;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.grade-semanal {
    display: grid;
    grid-template-rows: auto;
    gap: 4px;
    width: 100%;
    overflow-x: auto;
}

.grade-mensal {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.grade-mensal-cabecalho {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.grade-mensal-corpo {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.celula-dia-titulo.mensal {
    min-height: 34px;
    padding: 6px 8px;
    font-size: 13px;
}

.celula-mensal {
    border: 1px solid #e1e5eb;
    border-radius: 8px;
    padding: 6px;
    min-height: 120px;
    background: var(--cor-secundaria-sistema);
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.celula-mensal-vazia {
    background: #f7f9fc;
    border-style: dashed;
}

.celula-mensal-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.numero-dia-mensal {
    font-weight: 700;
    color: #1f2937;
    font-size: 14px;
}

.total-dia-mensal {
    font-size: 11px;
    font-weight: 700;
    color: #1f2937;
    background: #dbeafe;
    border: 1px solid #93c5fd;
    border-radius: 999px;
    padding: 1px 7px;
}

.celula-mensal-lista {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.item-agendamento-mensal {
    padding: 5px 6px;
}

.mensal-mais-itens {
    color: #475569;
    font-weight: 600;
}

.agenda-layout-google {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 10px;
    align-items: start;
}

.agenda-layout-google.agenda-layout-google-sem-sidebar {
    grid-template-columns: 1fr;
}

.agenda-layout-sidebar {
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #ffffff;
    padding: 10px;
    position: sticky;
    top: 10px;
}

.agenda-sidebar-bloco + .agenda-sidebar-bloco {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #edf2f7;
}

.agenda-sidebar-bloco h4 {
    margin: 0 0 8px;
    font-size: 14px;
}

.agenda-filtros-lista {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 280px;
    overflow: auto;
    padding-right: 4px;
}

.agenda-filtro-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    line-height: 1.2;
}

.agenda-filtro-item input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 0;
}

.agenda-layout-principal {
    min-width: 0;
}

.linha-cabecalho-semanal,
.linha-semana {
    display: grid;
    grid-template-columns: 70px repeat(7, minmax(120px, 1fr));
    gap: 4px;
    align-items: stretch;
}

.celula-hora {
    background: #f1f3f5;
    border: 1px solid #e1e5eb;
    border-radius: 6px;
    padding: 6px;
    font-weight: bold;
    text-align: center;
    min-width: 70px;
}

.celula-dia-titulo {
    background: var(--cor-primaria-sistema);
    color: #fff;
    border-radius: 6px;
    padding: 8px;
    text-align: center;
    font-weight: bold;
    min-height: 44px;
}

.celula-semana {
    border: 1px solid #e1e5eb;
    border-radius: 6px;
    padding: 6px;
    min-height: 44px;
    background: var(--cor-secundaria-sistema);
    cursor: pointer;
    overflow: visible;
}

.celula-semana:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.painel-acoes-cabecalho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    gap: 8px;
    flex-wrap: wrap;
}

.painel-acoes-grupo {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.cartao-resumo-neutro {
    margin-bottom: 12px;
}

.formulario-busca-linha {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.formulario-busca-linha input[type="text"] {
    min-width: 260px;
}

.mensagem-sucesso {
    background: #e7f7e7;
    border: 1px solid #a6d8a6;
    color: #1e672e;
}

.acoes-inline {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
}

.celula-semana.status-vencido,
.conteudo-diaria.status-vencido {
    background: var(--cor-celula-agendamento-passado-fundo);
    border-color: color-mix(in srgb, var(--cor-celula-agendamento-passado-fundo) 70%, #7c3aed);
    color: var(--cor-celula-agendamento-passado-fonte);
}

.sessao-alerta-tempo {
    position: fixed;
    right: 14px;
    bottom: 14px;
    z-index: 9999;
    display: none;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff5cc;
    border: 1px solid #f3d37a;
    color: #5a4300;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    font-size: 14px;
}

.sessao-alerta-tempo.ativo {
    display: inline-flex;
}

.sessao-alerta-tempo.sessao-alerta-urgente {
    background: #ffe2e2;
    border-color: #f1a8a8;
    color: #7a1212;
}

.sessao-alerta-botao {
    border: 0;
    border-radius: 8px;
    padding: 7px 10px;
    background: #0b5ed7;
    color: #fff;
    cursor: pointer;
    font-size: 13px;
}

.sessao-alerta-botao:hover {
    filter: brightness(0.95);
}

.sessao-relogio-topo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
}

.sessao-relogio-topo .sessao-relogio-valor {
    font-weight: 700;
    letter-spacing: 0.3px;
}

.sessao-relogio-topo.urgente {
    background: rgba(180, 0, 0, 0.22);
    border-color: rgba(255, 120, 120, 0.8);
}

.sessao-relogio-topo.fixo {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 9999;
}

@media (max-width: 900px) {
    .sessao-relogio-topo .sessao-relogio-label {
        display: none;
    }
    .sessao-relogio-topo {
        padding: 5px 8px;
        font-size: 11px;
    }
}

.celula-semana.status-andamento,
.conteudo-diaria.status-andamento {
    background: var(--cor-celula-agendamento-passado-fundo);
    border-color: color-mix(in srgb, var(--cor-celula-agendamento-passado-fundo) 70%, #7c3aed);
    color: var(--cor-celula-agendamento-passado-fonte);
}

.celula-semana.status-proximo,
.conteudo-diaria.status-proximo {
    background: var(--cor-celula-agendamento-futuro-fundo);
    border-color: color-mix(in srgb, var(--cor-celula-agendamento-futuro-fundo) 70%, #22c55e);
    color: var(--cor-celula-agendamento-futuro-fonte);
}

.vazio-hora {
    color: #999;
    font-size: 11px;
}

.lista-diaria-mobile {
    display: none;
    gap: 10px;
}

.bloco-dia-mobile {
    border: 1px solid #e1e5eb;
    border-radius: 8px;
    background: var(--cor-secundaria-sistema);
    margin-bottom: 10px;
}

.cabecalho-dia-mobile {
    background: var(--cor-primaria-sistema);
    color: #fff;
    padding: 8px 10px;
    border-radius: 8px 8px 0 0;
    font-weight: bold;
}

.linha-diaria {
    display: grid;
    grid-template-columns: 70px 1fr;
    border-top: 1px solid #f1f3f5;
    padding: 6px 10px;
    align-items: center;
}

.hora-diaria {
    font-weight: bold;
    color: #333;
}

.conteudo-diaria {
    padding: 4px 6px;
    border: 1px dashed #e1e5eb;
    border-radius: 6px;
    min-height: 30px;
    cursor: pointer;
    overflow: visible;
}

.resumo-agendamentos-hora {
    font-size: 11px;
    color: #555;
    margin-bottom: 4px;
}

.contador-agendamentos-extra {
    display: inline-block;
    margin-left: 5px;
    padding: 1px 6px;
    border-radius: 10px;
    font-weight: 700;
    color: #0f172a;
    background: #dbeafe;
    border: 1px solid #93c5fd;
}

.lista-agendamentos-hora {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 260px;
    overflow-y: auto;
    padding-right: 3px;
}

.item-agendamento-hora {
    display: block;
    padding: 6px 7px;
    border: 1px solid #dbe3ef;
    border-radius: 7px;
    background: #ffffff;
    color: var(--cor-fonte-sistema, #1f2937);
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.item-agendamento-hora:hover,
.item-agendamento-hora:focus-visible {
    border-color: var(--cor-primaria-sistema);
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

.item-agendamento-sem-edicao {
    opacity: 0.92;
}

.item-agendamento-sem-permissao {
    cursor: not-allowed;
    border-color: #f5c2c7;
    background: #fff5f5;
}

.item-agendamento-vencido {
    background: #fff1f2;
    border-color: #fecdd3;
}

.item-agendamento-prestes-vencer {
    background: #fff7ed;
    border-color: #fdba74;
}

.item-agendamento-em-andamento {
    background: #ecfeff;
    border-color: #67e8f9;
}

.item-agendamento-proximo {
    background: #eff6ff;
    border-color: #93c5fd;
}

.item-agendamento-hora .linha-mini {
    font-weight: 600;
}

.item-agendamento-hora .chips {
    margin-top: 3px;
    gap: 3px;
}

.item-agendamento-hora .chip {
    font-size: 10px;
    padding: 1px 5px;
}

.popup-permissao-agendamento {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}

.popup-permissao-agendamento.ativo {
    display: flex;
}

.popup-permissao-agendamento-caixa {
    width: min(92vw, 520px);
    background: #ffffff;
    border: 1px solid #fecaca;
    border-radius: 12px;
    padding: 18px;
    text-align: center;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.24);
}

.popup-permissao-agendamento-texto {
    color: #dc2626;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 14px;
}

.popup-permissao-agendamento-fechar {
    border: 1px solid #dc2626;
    background: #ffffff;
    color: #dc2626;
    border-radius: 8px;
    padding: 8px 14px;
    font-weight: 700;
    cursor: pointer;
}

.editor-barra {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.editor-barra button {
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid #d0d7de;
    background: #f8f9fa;
    color: #333;
    cursor: pointer;
    font-size: 12px;
}

.editor-conteudo {
    min-height: 120px;
    border: 1px solid #e1e5eb;
    border-radius: 8px;
    padding: 8px;
    background: var(--cor-secundaria-sistema);
    line-height: 1.4;
}

.editor-conteudo:focus {
    outline: 2px solid #b6d4fe;
    border-color: #86b7fe;
}

@media (max-width: 900px) {
    .agenda-layout-google {
        grid-template-columns: 1fr;
    }
    .agenda-layout-sidebar {
        position: static;
    }
    .linha-cabecalho-semanal,
    .linha-semana {
        grid-template-columns: 60px repeat(7, minmax(100px, 1fr));
    }
    .celula-dia-titulo {
        font-size: 12px;
    }
    .grade-mensal-cabecalho,
    .grade-mensal-corpo {
        min-width: 760px;
    }
}

@media (max-width: 768px) {
    .agenda-layout-sidebar {
        max-height: none;
    }
    .grade-semanal {
        display: none;
    }
    .lista-diaria-mobile {
        display: block;
    }
    .lista-agendamentos-hora {
        max-height: 210px;
    }
    .item-agendamento-hora {
        padding: 5px 6px;
    }
}

.menu-toggle {
    display: none;
    margin-right: 0;
    background: var(--cor-secundaria-sistema);
    color: var(--cor-primaria-sistema);
    border: none;
    border-radius: 6px;
    padding: 8px 10px;
    font-weight: bold;
    cursor: pointer;
    font-size: 0;
}

.menu-toggle .material-icons {
    font-size: 20px;
    line-height: 1;
}

.menu-painel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 280px;
    min-width: 240px;
    max-width: 320px;
    align-items: stretch;
    justify-content: flex-start;
    padding: 12px;
    background: #f4f6fb;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    overflow-y: auto;
    max-height: calc(100vh - 90px);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}

.menu-categoria {
    background: #ffffff;
    border: 1px solid #e4e7ef;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.menu-categoria-titulo {
    font-weight: 700;
    padding: 10px 12px;
    background: #f8fafc;
    border-bottom: 1px solid #eef1f6;
    color: #0f172a;
    font-size: 13px;
}

.menu-categoria-itens {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 8px;
    padding: 10px;
}

.menu-grupo {
    border: 1px solid #e4e7ef;
    border-radius: 12px;
    background: var(--cor-secundaria-sistema);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    overflow: visible;
}

.menu-grupo-titulo {
    font-weight: 700;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
    background: #f8fafc;
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu-grupo[open] .menu-grupo-titulo {
    background: #e8f0ff;
}

.menu-grupo-titulo::-webkit-details-marker {
    display: none;
}

.menu-grupo-titulo::after {
    content: '▸';
    font-size: 12px;
    color: #64748b;
    transform: rotate(0deg);
    transition: transform 0.2s ease;
}

.menu-grupo[open] .menu-grupo-titulo::after {
    transform: rotate(90deg);
}

.menu-itens {
    display: flex;
    flex-direction: column;
}

.item-menu {
    display: flex;
    flex-direction: row;
    gap: 6px;
    padding: 10px;
    text-decoration: none;
    color: #0f172a;
    border: 1px solid #eef1f6;
    border-radius: 10px;
    position: relative;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    background: #ffffff;
}

.item-menu:hover {
    background: #f2f6ff;
}

.item-menu strong {
    font-size: 13px;
    line-height: 1.2;
}

.item-menu::before {
    content: none;
}

.menu-painel .material-icons {
    font-size: 20px;
    line-height: 1;
    color: var(--cor-primaria-sistema);
}

.campo-toggle,
input[type="checkbox"]:not([data-manter-checkbox]) {
    appearance: none;
    -webkit-appearance: none;
    width: 44px;
    height: 24px;
    border-radius: 999px;
    background: #9ca3af !important;
    border: 1px solid #6b7280 !important;
    position: relative;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    vertical-align: middle;
    margin-right: 6px;
    padding: 0;
}

.campo-toggle::before,
input[type="checkbox"]:not([data-manter-checkbox])::before {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.22);
    transition: transform 0.2s ease;
}

.campo-toggle:checked,
input[type="checkbox"]:not([data-manter-checkbox]):checked {
    background: #16a34a !important;
    border-color: #15803d !important;
}

.campo-toggle:checked::before,
input[type="checkbox"]:not([data-manter-checkbox]):checked::before {
    transform: translateX(20px);
}

.campo-toggle:focus-visible,
input[type="checkbox"]:not([data-manter-checkbox]):focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.rotulo-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

input[type="checkbox"].campo-toggle,
.formulario input[type="checkbox"].campo-toggle,
.formulario input[type="checkbox"]:not([data-manter-checkbox]) {
    width: 44px !important;
    max-width: 44px !important;
    min-width: 44px;
    height: 24px;
    padding: 0 !important;
    flex: 0 0 auto;
    display: inline-block;
}

.controles-tempo {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.conteudo-painel {
    width: 100%;
    background: var(--cor-secundaria-sistema);
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    min-height: 60vh;
    transition: opacity var(--duracao-transicao-conteudo, 280ms) ease, transform var(--duracao-transicao-conteudo, 280ms) ease;
    opacity: 1;
    transform: translateY(0);
    scroll-margin-top: 90px;
    will-change: opacity, transform;
}

.rodape-simples {
    margin-top: 14px;
    text-align: center;
    color: #64748b;
    font-size: 12px;
    padding: 6px 4px 12px;
}

.rodape-simples-texto {
    margin-bottom: 4px;
}

.rodape-simples-links {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

.rodape-simples-links a {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rodape-simples-links .link-rodape-legal {
    cursor: pointer;
}

.modal-legal-conteudo {
    max-width: 860px;
}

.modal-legal-corpo {
    max-height: calc(100vh - 180px);
    overflow-y: auto;
}

.modal-legal-corpo-conteudo {
    padding: 4px;
}

.documento-legal-padrao {
    background: var(--cor-secundaria-sistema);
    border: 1px solid #d9dfec;
    border-radius: 12px;
    padding: 16px;
}

.documento-legal-titulo {
    margin: 0 0 12px;
    color: var(--cor-fonte-site);
    font-size: 24px;
    font-weight: 700;
}

.documento-legal-corpo {
    color: var(--cor-fonte-site);
    line-height: 1.55;
}

.documento-legal-corpo h3 {
    margin: 14px 0 8px;
    font-size: 18px;
}

.documento-legal-corpo p,
.documento-legal-corpo li {
    margin: 0 0 10px;
}

.tabela-scroll {
    width: 100%;
    overflow-x: auto;
}

.tabela-usuarios {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 960px;
}

.tabela-usuarios th,
.tabela-usuarios td {
    text-align: left;
    padding: 8px;
    border-bottom: 1px solid #e8ebf3;
    vertical-align: top;
}

.coluna-acoes-usuarios {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
}

.area-usuarios {
    width: 100%;
    padding: 0;
    display: block;
}

.usuarios-lista-topo,
.usuarios-suporte-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    gap: 8px;
    flex-wrap: wrap;
}

.usuarios-lista-topo-acoes,
.usuarios-filtros {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.usuarios-lista-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.usuarios-lista-legenda {
    color: #64748b;
    font-size: 12px;
}

.usuarios-alerta-sucesso {
    background: #e7f7e7;
    border: 1px solid #a6d8a6;
    color: #1e672e;
}

.usuarios-botao-primario {
    background: #0b6efd;
    color: #fff;
}

.usuarios-botao-roxo {
    background: #6f42c1;
    color: #fff;
}

.usuarios-botao-perigo {
    background: #dc3545;
    color: #fff;
}

.usuarios-botao-acao {
    padding: 6px 10px;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.usuarios-botao-desativado {
    opacity: .65;
    cursor: not-allowed;
}

.usuarios-form-acao {
    margin: 0;
    display: inline-flex;
}

.usuarios-coluna-acoes-cabecalho {
    text-align: left;
    padding: 8px;
    border-bottom: 1px solid #e0e0e0;
}

.usuarios-coluna-acoes {
    padding: 8px;
    border-bottom: 1px solid #f0f0f0;
    min-width: 280px;
}

.usuarios-filtro-ativo {
    background: #0b6efd;
    color: #fff;
}

.usuarios-pill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.usuarios-pill.ok {
    background: #e7f7e7;
    color: #1e672e;
}

.usuarios-pill.bloq {
    background: #ffe2e2;
    color: #8a0000;
}

.usuarios-pill.warn {
    background: #fff3cd;
    color: #7a5b00;
}

@media (max-width: 980px) {
    .tabela-scroll {
        overflow: visible;
    }

    .tabela-usuarios {
        width: 100%;
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0 8px;
    }

    .tabela-usuarios thead {
        display: none;
    }

    .tabela-usuarios tbody tr {
        display: block;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        padding: 8px;
        margin-bottom: 8px;
    }

    .tabela-usuarios tbody td {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        padding: 6px 4px !important;
    }

    .tabela-usuarios tbody td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #475569;
        margin-right: 10px;
    }

    .coluna-acoes-usuarios {
        display: flex !important;
        flex-wrap: wrap;
        gap: 6px;
    }

    .coluna-acoes-usuarios::before {
        width: 100%;
        content: 'Ações';
        margin-bottom: 4px;
    }

    .usuarios-lista-cabecalho {
        align-items: flex-start;
    }
}

.tabela-usuarios th {
    background: #f7f8fb;
    font-weight: 700;
    white-space: nowrap;
}

.tabela-usuarios td {
    vertical-align: middle;
}

.coluna-avatar-usuario {
    width: 64px;
}

.tabela-usuarios .coluna-curta {
    width: 110px;
    white-space: nowrap;
}

.tabela-usuarios .coluna-media {
    width: 160px;
}

.tabela-usuarios .coluna-longa {
    min-width: 220px;
}

.tabela-usuarios .coluna-observacao {
    max-width: 220px;
    word-break: break-word;
}

.conteudo-painel.transicao-saida {
    opacity: 0;
    transform: translateY(10px);
}

.conteudo-painel.transicao-entrada {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .conteudo-painel {
        transition: none;
    }
}

/* Inicio */
.inicio-painel {
    --cor-fundo: #f6f7fb;
    --cor-cartao: #ffffff;
    --cor-borda: #e7e9ef;
    --cor-escura: #0f172a;
    --cor-texto: #334155;
    --cor-azul: #0b6efd;
    --cor-azul-clara: #e8f1ff;
    --cor-verde: #198754;
    --cor-amarelo: #f1c40f;
    background: var(--cor-fundo);
    border-radius: 12px;
    padding: 18px;
    min-height: 100%;
}

.conteudo-painel > .inicio-painel {
    margin: -16px;
    border-radius: 10px;
}

.inicio-painel .inicio-topo {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.inicio-painel .inicio-saudacao {
    font-size: 18px;
    font-weight: 600;
    color: var(--cor-escura);
}

.inicio-painel .inicio-metricas {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin-bottom: 8px;
}

.inicio-painel .inicio-metrica {
    background: var(--cor-cartao);
    border: 1px solid var(--cor-borda);
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    position: relative;
    overflow: hidden;
}

.inicio-painel .inicio-metrica::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--cor-azul), #5fa8ff);
}

.inicio-painel .metrica-rotulo {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 6px;
}

.inicio-painel .metrica-valor {
    font-size: 20px;
    font-weight: 700;
    color: var(--cor-escura);
}

.inicio-painel .inicio-atalhos {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 4px 0 12px;
}

.inicio-painel .inicio-grade {
    display: grid;
    gap: 14px;
    align-items: stretch;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.inicio-painel .inicio-bloco {
    background: var(--cor-cartao);
    border: 1px solid var(--cor-borda);
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    min-height: 160px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.inicio-painel .inicio-bloco::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #93c5fd, #22c55e);
    opacity: 0.7;
}

.inicio-painel .titulo-bloco {
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--cor-escura);
}

.inicio-painel .linha {
    padding: 6px 0;
    border-bottom: 1px solid #f1f3f5;
    color: var(--cor-texto);
}

.inicio-painel .linha:last-child {
    border-bottom: none;
}

.inicio-painel .acao-rapida {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.inicio-painel .acao-rapida {
    margin-top: auto;
}

.inicio-painel .inicio-bloco-notificacoes {
    grid-column: span 1;
}

.inicio-painel .inicio-notificacoes-resumo {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.inicio-painel .inicio-notificacoes-lista {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 250px;
    overflow-y: auto;
    padding-right: 4px;
}

.inicio-painel .inicio-notificacao-item {
    width: 100%;
    text-align: left;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    padding: 8px 10px;
    background: #ffffff;
    color: var(--cor-texto);
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.inicio-painel .inicio-notificacao-link {
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.inicio-painel .inicio-notificacao-acoes {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.inicio-painel .inicio-notificacao-acoes .botao-sair {
    font-size: 11px;
    padding: 5px 8px;
}

.inicio-painel .inicio-notificacao-item:hover,
.inicio-painel .inicio-notificacao-item:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.inicio-painel .inicio-notificacao-item.tipo-erro {
    border-color: #ef9a9a;
}

.inicio-painel .inicio-notificacao-item.tipo-aviso {
    border-color: #f3dd94;
}

.inicio-painel .inicio-notificacao-item.tipo-acesso {
    border-color: #93c5fd;
}

.inicio-painel .inicio-notificacao-item.tipo-conexao {
    border-color: #9fd7bd;
}

.inicio-painel .inicio-notificacao-cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12px;
}

.inicio-painel .inicio-notificacao-tipo {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.inicio-painel .inicio-notificacao-instante,
.inicio-painel .inicio-notificacao-meta {
    color: #64748b;
    font-size: 11px;
}

.inicio-painel .inicio-notificacao-titulo {
    font-weight: 700;
    color: var(--cor-escura);
    font-size: 13px;
    line-height: 1.3;
}

@media (min-width: 1200px) {
    .inicio-painel .inicio-grade {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 800px) and (max-width: 1199px) {
    .inicio-painel .inicio-grade {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 799px) {
    .inicio-painel .inicio-grade {
        grid-template-columns: 1fr;
    }

    .inicio-painel .inicio-bloco-notificacoes {
        grid-column: span 1;
    }
}

.inicio-painel .acao-rapida a {
    text-decoration: none;
}

.inicio-painel .kpi-grade {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.inicio-painel .kpi {
    background: linear-gradient(135deg, var(--cor-azul-clara), #ffffff);
    border: 1px solid var(--cor-borda);
    border-radius: 12px;
    padding: 10px;
}

.inicio-painel .kpi .rotulo {
    font-size: 12px;
    color: var(--cor-texto);
}

.inicio-painel .kpi .valor {
    font-size: 18px;
    font-weight: 700;
    color: var(--cor-escura);
    margin-top: 4px;
}

.inicio-painel .barra {
    height: 10px;
    background: #e9ecef;
    border-radius: 6px;
    overflow: hidden;
    margin: 8px 0;
}

.inicio-painel .barra > span {
    display: block;
    height: 100%;
    background: var(--cor-azul);
}

.inicio-painel .etiquetas {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.inicio-painel .etiqueta {
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 12px;
    background: #f8f9fb;
    border: 1px solid var(--cor-borda);
}

.inicio-painel .etiqueta.verde {
    background: #e6f4ea;
    border-color: #c6e6d0;
    color: #0f5132;
}

.inicio-painel .etiqueta.amarelo {
    background: #fff8e1;
    border-color: #f3dd94;
    color: #7a5b00;
}

.inicio-painel .etiqueta.azul {
    background: #e8f1ff;
    border-color: #c9dcff;
    color: #0b5ed7;
}

.inicio-painel .etiqueta.vermelho {
    background: #fdecec;
    border-color: #f1b5b5;
    color: #a61b1b;
}

.cartao-notificacao-log .inicio-notificacao-detalhe-etiquetas {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.cartao-notificacao-log .inicio-notificacao-textarea {
    min-height: 340px;
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
    line-height: 1.5;
}

.modal-camada,
.modal-agenda-camada,
.modal-agendamentos-camada {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.34);
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: calc(var(--altura-topo-fixo) + 10px) 12px 12px;
    z-index: 4000;
    pointer-events: auto;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 0;
    transition: opacity 0.22s ease;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.modal-sistema-externo {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.34);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: calc(var(--altura-topo-fixo) + 10px) 12px 12px;
    z-index: 5000;
    pointer-events: auto;
    overflow: hidden;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.modal-sistema-interno {
    background: var(--cor-secundaria-sistema);
    width: min(760px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    max-height: calc(var(--altura-viewport) - var(--altura-topo-fixo) - 22px);
    border-radius: 18px;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.24);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    align-self: flex-start;
    margin: 0 auto;
    border: 1px solid rgba(148, 163, 184, 0.28);
}

.modal-sistema-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.28);
    background: var(--cor-secundaria-sistema);
    position: sticky;
    top: 0;
    z-index: 2;
}

.modal-sistema-conteudo {
    padding: 14px 18px;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    flex: 1;
}

.modal-sistema-texto {
    margin: 0 0 10px 0;
}

.modal-sistema-rotulo {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}

.modal-sistema-textarea {
    width: 100%;
    resize: vertical;
}

.modal-sistema-contador {
    display: block;
    margin-top: 6px;
    color: #495057;
}

.modal-sistema-erro {
    display: block;
    margin-top: 6px;
    color: #b42318;
}

.modal-sistema-rodape {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding: 10px 14px;
    border-top: 1px solid rgba(148, 163, 184, 0.24);
    background: var(--cor-secundaria-sistema);
}

.modal-camada.ativo,
.modal-agenda-camada.ativo,
.modal-agendamentos-camada.ativo {
    display: flex;
    opacity: 1;
}

.modal-conteudo,
.modal-agenda-conteudo,
.modal-agendamentos-conteudo {
    background: var(--cor-secundaria-sistema);
    width: min(820px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    height: auto;
    max-height: calc(var(--altura-viewport) - var(--altura-topo-fixo) - 22px);
    min-height: min(340px, calc(var(--altura-viewport) - var(--altura-topo-fixo) - 22px));
    min-width: 320px;
    border-radius: 18px;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.24);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    align-self: flex-start;
    margin: 0 auto;
    position: relative;
    top: 0;
    left: 0;
    pointer-events: auto;
    transform: translateY(18px) scale(0.985);
    opacity: 0;
    transition: transform 0.26s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

.modal-camada.ativo .modal-conteudo,
.modal-agenda-camada.ativo .modal-agenda-conteudo,
.modal-agendamentos-camada.ativo .modal-agendamentos-conteudo {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.modal-conteudo.modal-prontuario {
    width: min(980px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    min-height: 70vh;
    max-height: calc(var(--altura-viewport) - var(--altura-topo-fixo) - 22px);
}

.modal-conteudo.modal-prontuario .iframe-modal-agendamentos {
    min-height: 0;
    height: 100%;
}

.modal-agendamentos-conteudo.modal-agendamentos-conteudo-grande {
    width: min(980px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    min-width: 0;
}

.modal-topo,
.modal-agenda-topo,
.modal-agendamentos-topo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.28);
    position: sticky;
    top: 0;
    background: var(--cor-secundaria-sistema);
    z-index: 3;
}

.modal-agendamentos-corpo {
    position: relative;
    z-index: 1;
}

.modal-topo button {
    background: #ff6b6b;
    border: none;
    color: #fff;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
}

.modal-corpo,
.modal-agenda-corpo,
.modal-agendamentos-corpo {
    padding: 0;
    flex: 1;
    min-height: 0;
    height: auto;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    overscroll-behavior: contain;
}

.editor-bloqueado {
    background: #f8f9fa;
    color: #4b5563;
}

.aviso-bloqueio {
    margin: 6px 0 12px;
    color: #b02a37;
    font-size: 12px;
}

.ratificar-acoes {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 6px 0 10px;
}

.ratificar-mensagem {
    font-size: 12px;
    color: #b02a37;
}

.ratificar-mensagem.ok {
    color: #198754;
}

.modal-corpo iframe,
.modal-agenda-corpo iframe,
.modal-agendamentos-corpo iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    margin: 0 auto;
}

.corpo-modal-painel {
    width: 100%;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: var(--cor-secundaria-sistema);
    padding-bottom: 20px;
}

.modal-agendamentos-corpo .corpo-modal-painel {
    height: auto;
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 20px;
}

.modal-corpo .conteiner-unico,
.modal-agenda-conteudo .conteiner-unico,
.modal-agendamentos-conteudo .conteiner-unico,
.modal-corpo .iframe-modal-agendamentos,
.modal-agenda-corpo .iframe-modal-agendamentos,
.modal-agendamentos-corpo .iframe-modal-agendamentos {
    min-height: auto;
    height: auto;
    padding: 16px;
}

.modal-agenda-conteudo .grade,
.modal-agendamentos-conteudo .grade {
    min-height: 0;
}

.modal-corpo .topo,
.modal-agenda-corpo .topo,
.modal-agendamentos-corpo .topo,
.pagina-modal .topo {
    position: static;
    top: auto;
    margin-bottom: 12px;
}

.pagina-modal .conteiner-unico {
    max-width: 900px;
    padding: 16px;
}

.calendario {
    background: var(--cor-secundaria-sistema);
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    padding: 12px;
    overflow: hidden;
    border: 1px solid #e3e6f0;
}

.calendario header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.calendario header strong {
    text-transform: capitalize;
    font-size: 1.05rem;
}

.calendario header button {
    border: 1px solid #cfd7e3;
    background: #f4f7fb;
    color: #1b1b1b;
    border-radius: 6px;
    padding: 6px 10px;
    cursor: pointer;
}

.calendario header button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.calendario table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

.calendario th, .calendario td {
    padding: 8px 6px;
    border-bottom: 1px solid #f0f0f0;
}

.calendario th {
    background: #f7f8fb;
    font-weight: bold;
    font-size: 0.9rem;
    color: #4a4a4a;
}

.calendario td {
    height: 42px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.calendario td:hover {
    background: #eef4ff;
}

.calendario td.fora-mes {
    color: #9aa0a6;
}

.calendario .hoje {
    background: #e8f4ff;
    border-radius: 6px;
}

.lista-sugestoes {
    position: relative;
}

.lista-sugestoes ul {
    list-style: none;
    margin: 4px 0 0 0;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: var(--cor-secundaria-sistema);
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.lista-sugestoes li {
    padding: 8px 10px;
    cursor: pointer;
}

.lista-sugestoes li:hover {
    background: #f0f4ff;
}

@media (max-width: 768px) {
    .modal-camada,
    .modal-agendamentos-camada,
    .modal-agenda-camada {
        align-items: flex-start;
        justify-content: center;
        padding: calc(var(--altura-topo-fixo) + 8px) 8px 8px;
    }

    .modal-sistema-externo {
        align-items: flex-start;
        justify-content: center;
        padding: calc(var(--altura-topo-fixo) + 8px) 8px 8px;
    }

    .modal-sistema-interno {
        width: calc(100vw - 16px);
        max-width: calc(100vw - 16px);
        max-height: calc(var(--altura-viewport) - var(--altura-topo-fixo) - 16px);
        border-radius: 16px;
    }

    .modal-sistema-topo,
    .modal-sistema-conteudo,
    .modal-sistema-rodape {
        padding-left: 12px;
        padding-right: 12px;
    }

    .modal-conteudo,
    .modal-agenda-conteudo,
    .modal-agendamentos-conteudo {
        height: auto;
        width: calc(100vw - 16px);
        max-width: calc(100vw - 16px);
        max-height: calc(var(--altura-viewport) - var(--altura-topo-fixo) - 16px);
        min-height: 0;
        border-radius: 16px;
    }

    .modal-corpo,
    .modal-agenda-corpo,
    .modal-agendamentos-corpo {
        max-height: none;
    }

    .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .menu-painel {
        display: none;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        width: 100%;
        height: auto;
        max-height: calc(100vh - 160px);
        background: var(--cor-secundaria-sistema);
        box-shadow: 2px 0 12px rgba(0,0,0,0.12);
        flex-direction: column;
        padding: 12px 12px 24px;
        padding-bottom: 24px;
        gap: 10px;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
        z-index: 999;
    }

    .menu-painel.aberto {
        display: flex;
        max-height: calc(100vh - 160px);
    }

    .topo-principal {
        position: sticky;
        top: 0;
        z-index: 1001;
    }

    .layout-painel {
        position: relative;
    }

    .menu-grupo {
        width: 100%;
    }

    .menu-grupo[open] {
        max-height: none;
    }

    .menu-painel * {
        touch-action: pan-y;
    }

    .menu-categoria-itens {
        grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
        padding-bottom: 14px;
        max-height: none;
    }

    .cartao-painel {
        height: auto;
        min-height: 100px;
    }

    .topo-principal {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 10px;
        padding: 14px 12px;
    }

    .topo-esquerda {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        min-width: 0;
        width: 100%;
        gap: 12px;
    }

    .menu-toggle {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        flex: 0 0 48px;
    }

    .menu-toggle .material-icons {
        font-size: 28px;
    }

    .marca-topo {
        align-items: center;
        gap: 0;
    }

    .marca-topo-logo,
    .marca-topo-nome,
    .marca-topo-slogan,
    .usuario-logado-perfil {
        display: none !important;
    }

    .usuario-logado {
        grid-column: 2;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        text-align: right;
        max-width: 48vw;
        align-self: center;
    }

    .usuario-logado-avatar .avatar-usuario-topo {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .usuario-logado-nome {
        display: inline-block;
        font-size: 12px;
        line-height: 1.2;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .usuario-logado small {
        display: none !important;
    }
    .cartao {
        padding: 12px;
    }
    .conteiner-unico {
        padding: 10px 8px;
    }

    .tabela-usuarios {
        min-width: 620px;
        font-size: 12px;
    }

    .tabela-usuarios .coluna-media,
    .tabela-usuarios .coluna-observacao {
        display: none;
    }

    .coluna-acoes-usuarios {
        min-width: 170px;
    }

    .modal-conteudo,
    .modal-conteudo.modal-prontuario,
    .modal-agenda-conteudo,
    .modal-agendamentos-conteudo {
        max-height: calc(var(--altura-viewport) - var(--altura-topo-fixo) - 16px);
    }

    .modal-topo,
    .modal-agenda-topo,
    .modal-agendamentos-topo {
        padding: 12px 14px;
    }
}

.logo_animado_sistema {
  width:300px;
  animation: intro 1.5s ease-out forwards,
             spin 6s linear infinite 1.5s;
}

@keyframes intro {
  from {
    transform: scale(0.05);
  }
  to {
    transform: scale(1);
  }
}

@keyframes spin {
  from { transform: scale(1) rotate(0deg); }
  to { transform: scale(1) rotate(360deg); }
}

.caixa-busca-paciente { position: relative; width: 100%; max-width: 520px; }
.caixa-busca-paciente input { width: 100%; box-sizing: border-box; }
.lista-sugestoes { position: absolute; top: 100%; left: 0; right: 0; background: var(--cor-secundaria-sistema); border: 1px solid #ccc; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.12); max-height: 240px; overflow: auto; margin-top: 4px; display: none; z-index: 40; }
.lista-sugestoes ul { list-style: none; margin: 0; padding: 0; }
.lista-sugestoes li { padding: 8px 10px; cursor: pointer; border-bottom: 1px solid #f0f0f0; }
.lista-sugestoes li:hover { background: #eef5ff; }
.conteiner-unico .painel-pacientes { display:grid !important; grid-template-columns:repeat(4, minmax(0, 1fr)) !important; gap:22px; margin:18px 0 20px; align-items:stretch; padding:4px 2px 8px; overflow:visible !important; }
.conteiner-unico .painel-card { background:#ffffff; border-radius:20px; border:1px solid #dbe7ff; padding:22px 18px 18px; box-shadow:0 18px 36px rgba(15, 23, 42, 0.14); min-height:240px; height:100%; min-width:0 !important; width:auto !important; display:flex !important; flex-direction:column; justify-content:flex-start; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; position:relative; overflow:hidden; }
.painel-card::before { content:''; position:absolute; inset:0 0 auto 0; height:6px; background:linear-gradient(90deg, #0b6efd 0%, #60a5fa 55%, #93c5fd 100%); }
.painel-card::after { content:''; position:absolute; right:-38px; top:-38px; width:110px; height:110px; background:radial-gradient(circle, rgba(96,165,250,0.18) 0%, rgba(96,165,250,0) 72%); pointer-events:none; }
.painel-card:hover { transform:translateY(-4px); box-shadow:0 24px 44px rgba(15, 23, 42, 0.18); border-color:#9ec5fe; }
.painel-card h3 { margin-bottom: 8px; font-size: 17px; display:flex; align-items:center; gap:10px; color:#0f172a; }
.painel-card h3 .material-icons { font-size:20px; color:var(--cor-primaria-sistema); }
.painel-card .subtitulo-card { color:#64748b; font-size:13px; margin-bottom:14px; min-height: 34px; }
.painel-card .numero-card { font-size: 40px; font-weight: 800; color:#0b5ed7; margin-bottom:12px; letter-spacing:-1px; line-height:1; }
.painel-card .linha { padding: 7px 0; border-bottom: 1px solid #eef2f7; color: #475569; font-size: 13px; }
.painel-card .linha:last-child { border-bottom: none; }
.barra-progresso { height: 10px; background: #e9ecef; border-radius: 6px; overflow: hidden; margin: 8px 0; }
.barra-progresso span { display: block; height: 100%; background: var(--cor-primaria-sistema); }
@media (max-width: 1200px) {
    .conteiner-unico .painel-pacientes { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
    .conteiner-unico .painel-pacientes { grid-template-columns:1fr !important; gap:14px; padding-bottom:10px; }
    .conteiner-unico .painel-card { min-height:auto; }
    .campo-cor-sala {
        grid-template-columns: 56px 36px minmax(0, 1fr);
    }
    .cartao-formulario-salas {
        max-width: 100%;
    }
    .linha-acoes-formulario-salas {
        flex-direction: column;
        align-items: stretch;
    }
    .linha-acoes-formulario-salas .botao-acao {
        width: 100%;
        min-width: 0;
    }
}
.galeria-pacientes { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-bottom: 16px; }
.card-paciente { border: 1px solid #e5e7eb; border-radius: 12px; padding: 10px; background: var(--cor-secundaria-sistema); display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.avatar-paciente { width: 46px; height: 46px; border-radius: 12px; background: #e8f1ff; color: #0b5ed7; font-weight: 700; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.avatar-paciente img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar-usuario { width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #d9e2ef; box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08); background: #eef4ff; color: var(--cor-primaria-sistema); flex: 0 0 auto; }
.avatar-usuario img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar-usuario-icone .material-icons { font-size: 30px; line-height: 1; }
.avatar-usuario-masculino { background: #e0f2fe; color: #0369a1; }
.avatar-usuario-feminino { background: #fce7f3; color: #be185d; }
.avatar-usuario-neutro { background: #eef2ff; color: #4f46e5; }
.avatar-usuario-lista { width: 42px; height: 42px; border-radius: 12px; }
.avatar-usuario-topo { width: 44px; height: 44px; border-radius: 14px; }
.avatar-usuario-perfil { width: 120px; height: 120px; border-radius: 24px; margin: 6px 0 10px; }
.usuario-cabecalho-com-avatar { display: flex; align-items: center; gap: 12px; min-width: 0; }
.usuario-cabecalho-com-avatar-texto { min-width: 0; }
.usuario-cabecalho-com-avatar-texto strong { display: block; }
.card-paciente .nome { font-weight: 600; font-size: 13px; color: #0f172a; }
.card-paciente .info { font-size: 12px; color: #64748b; }


.campo-autocomplete { position: relative; width: 100%; }
.campo-autocomplete .lista-sugestoes { top: calc(100% + 4px); left: 0; right: 0; }

.pagina-venda .conteiner-unico {
    max-width: 100%;
    padding: 0;
}

body.tema-dinamico .topo { background: var(--cor-primaria-sistema) !important; }
body.tema-dinamico .usuario-logado .botao-sair { color: var(--cor-primaria-sistema) !important; background: var(--cor-secundaria-sistema) !important; }


body.tema-dinamico,
body.tema-dinamico .conteiner-unico,
body.tema-dinamico .cartao,
body.tema-dinamico .formulario,
body.tema-dinamico .formulario label,
body.tema-dinamico .formulario input,
body.tema-dinamico .formulario select,
body.tema-dinamico .formulario textarea,
body.tema-dinamico .titulo,
body.tema-dinamico .subtitulo,
body.tema-dinamico .caixa-formulario,
body.tema-dinamico .caixa-formulario * {
    color: var(--cor-fonte-sistema) !important;
}

body.tema-dinamico.pagina-entrada,
body.tema-dinamico .pagina-venda,
body.tema-dinamico .cartao-acesso,
body.tema-dinamico .marca,
body.tema-dinamico .marca *,
body.tema-dinamico .pagina-venda * {
    color: var(--cor-fonte-site);
}

body.tema-dinamico.pagina-entrada {
    background: radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--cor-fundo-site) 70%, #ffffff), transparent 45%),
                radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--cor-primaria-sistema) 22%, #ffffff), transparent 50%),
                var(--cor-fundo-site);
}

body.tema-dinamico .marca strong,
body.tema-dinamico .marca small {
    color: var(--cor-texto-site) !important;
}

body.tema-dinamico .cartao-acesso .botao-principal,
body.tema-dinamico .cartao-acesso button[type='submit'] {
    background: var(--cor-primaria-sistema) !important;
    border-color: var(--cor-primaria-sistema) !important;
    color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .cartao-acesso .abas-acesso button.ativo {
    background: var(--cor-primaria-sistema) !important;
    color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .topo,
body.tema-dinamico .modal-agenda-topo,
body.tema-dinamico .modal-agendamentos-topo {
    background: var(--cor-primaria-sistema) !important;
    color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .topo *,
body.tema-dinamico .modal-agenda-topo *,
body.tema-dinamico .modal-agendamentos-topo * {
    color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .cartao,
body.tema-dinamico .preferencias-campo,
body.tema-dinamico .caixa-formulario,
body.tema-dinamico .card-paciente,
body.tema-dinamico .modal-conteudo,
body.tema-dinamico .modal-agenda-conteudo,
body.tema-dinamico .modal-agendamentos-conteudo {
    background: var(--cor-secundaria-sistema) !important;
}

body.tema-dinamico .cartao,
body.tema-dinamico .preferencias-campo,
body.tema-dinamico .caixa-formulario,
body.tema-dinamico .card-paciente,
body.tema-dinamico .modal-conteudo,
body.tema-dinamico .modal-agenda-conteudo,
body.tema-dinamico .modal-agendamentos-conteudo,
body.tema-dinamico .lista-sugestoes {
    border-color: color-mix(in srgb, var(--cor-fonte-sistema) 12%, #d9e2ef) !important;
}

body.tema-dinamico .formulario label,
body.tema-dinamico .preferencias-campo label,
body.tema-dinamico .cartao h1,
body.tema-dinamico .cartao h2,
body.tema-dinamico .cartao h3,
body.tema-dinamico .cartao h4,
body.tema-dinamico .cartao p,
body.tema-dinamico .cartao span,
body.tema-dinamico .cartao strong,
body.tema-dinamico .cartao small,
body.tema-dinamico .conteiner-unico,
body.tema-dinamico .conteiner-unico *:not(button):not(.botao-sair):not(.material-icons) {
    color: var(--cor-fonte-sistema) !important;
}

body.tema-dinamico .preferencias-bloco-topo h3,
body.tema-dinamico .titulo,
body.tema-dinamico .subtitulo,
body.tema-dinamico .cartao h1,
body.tema-dinamico .cartao h2,
body.tema-dinamico .cartao h3,
body.tema-dinamico .cartao h4,
body.tema-dinamico .card-paciente .nome {
    color: var(--cor-fonte-sistema) !important;
}

body.tema-dinamico .preferencias-bloco-topo p,
body.tema-dinamico .card-paciente .info,
body.tema-dinamico .caixa-formulario .descricao {
    color: color-mix(in srgb, var(--cor-fonte-sistema) 72%, #64748b) !important;
}

body.tema-dinamico input,
body.tema-dinamico select,
body.tema-dinamico textarea {
    background: var(--cor-fundo-campos-sistema) !important;
    color: var(--cor-fonte-sistema) !important;
    border-color: color-mix(in srgb, var(--cor-fonte-sistema) 14%, #cbd5e1) !important;
}

body.tema-dinamico input[type="checkbox"].campo-toggle,
body.tema-dinamico .formulario input[type="checkbox"].campo-toggle,
body.tema-dinamico input[type="checkbox"]:not([data-manter-checkbox]) {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #9ca3af !important;
    border-color: #6b7280 !important;
}

body.tema-dinamico input[type="checkbox"].campo-toggle:checked,
body.tema-dinamico .formulario input[type="checkbox"].campo-toggle:checked,
body.tema-dinamico input[type="checkbox"]:not([data-manter-checkbox]):checked {
    background: #16a34a !important;
    border-color: #15803d !important;
}

body.tema-dinamico .botao-sair,
body.tema-dinamico .botao-acao,
body.tema-dinamico button[type='submit'],
body.tema-dinamico .cartao-acesso .botao-principal,
body.tema-dinamico .cartao-acesso button[type='submit'],
body.tema-dinamico .cartao-acesso .abas-acesso button.ativo {
    background: var(--cor-primaria-sistema) !important;
    border-color: var(--cor-primaria-sistema) !important;
    color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .botao-sair *,
body.tema-dinamico .botao-acao *,
body.tema-dinamico button[type='submit'] *,
body.tema-dinamico .abas-acesso button.ativo *,
body.tema-dinamico .botao-principal * {
    color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .botao-acao-editar,
body.tema-dinamico .botao-editar,
body.tema-dinamico button.botao-acao-editar,
body.tema-dinamico button.botao-editar,
body.tema-dinamico button[data-acao="editar"],
body.tema-dinamico button[data-acao="atualizar"] {
    background: var(--cor-botao-editar) !important;
    color: var(--cor-fonte-botao-acao) !important;
}

body.tema-dinamico .botao-acao-novo,
body.tema-dinamico .botao-novo,
body.tema-dinamico button.botao-acao-novo,
body.tema-dinamico button.botao-novo,
body.tema-dinamico button[data-acao="novo"],
body.tema-dinamico button[data-acao="cadastrar"],
body.tema-dinamico button[data-acao="criar"] {
    background: var(--cor-botao-novo) !important;
    color: var(--cor-fonte-botao-acao) !important;
}

body.tema-dinamico .botao-acao-excluir,
body.tema-dinamico .botao-excluir,
body.tema-dinamico .botao-perigo,
body.tema-dinamico button.botao-acao-excluir,
body.tema-dinamico button.botao-excluir,
body.tema-dinamico button.botao-perigo,
body.tema-dinamico button[data-acao="excluir"],
body.tema-dinamico button[data-acao="deletar"],
body.tema-dinamico .usuarios-botao-perigo {
    background: var(--cor-botao-excluir) !important;
    color: var(--cor-fonte-botao-acao) !important;
}

body.tema-dinamico .marca strong,
body.tema-dinamico .marca span,
body.tema-dinamico .marca small,
body.tema-dinamico .cartao-acesso,
body.tema-dinamico .cartao-acesso *,
body.tema-dinamico .pagina-venda,
body.tema-dinamico .pagina-venda * {
    color: var(--cor-fonte-site) !important;
}

body.tema-dinamico.pagina-entrada .cartao-acesso {
    background: var(--cor-secundaria-sistema) !important;
    border-color: color-mix(in srgb, var(--cor-texto-site) 12%, #d9e2ef) !important;
}

body.tema-dinamico.pagina-entrada .caixa-formulario {
    background: color-mix(in srgb, var(--cor-secundaria-sistema) 92%, #ffffff) !important;
    border: 1px solid color-mix(in srgb, var(--cor-texto-site) 10%, #d9e2ef) !important;
}

body.tema-dinamico.pagina-entrada .caixa-formulario,
body.tema-dinamico.pagina-entrada .caixa-formulario *:not(button):not(.botao-sair):not(.material-icons),
body.tema-dinamico.pagina-entrada .caixa-formulario h2,
body.tema-dinamico.pagina-entrada .caixa-formulario label,
body.tema-dinamico.pagina-entrada .caixa-formulario .descricao,
body.tema-dinamico.pagina-entrada .descricao-ajuda-acesso {
    color: var(--cor-texto-site) !important;
}

body.tema-dinamico.pagina-entrada .caixa-formulario .descricao {
    color: color-mix(in srgb, var(--cor-texto-site) 78%, #475569) !important;
}

body.tema-dinamico.pagina-entrada .caixa-formulario input,
body.tema-dinamico.pagina-entrada .caixa-formulario select,
body.tema-dinamico.pagina-entrada .caixa-formulario textarea {
    background: var(--cor-fundo-campos-sistema) !important;
    color: var(--cor-texto-site) !important;
    border-color: color-mix(in srgb, var(--cor-texto-site) 14%, #cbd5e1) !important;
}

body.tema-dinamico .marca strong,
body.tema-dinamico .pagina-venda h1,
body.tema-dinamico .pagina-venda h2,
body.tema-dinamico .pagina-venda h3 {
    color: var(--cor-texto-site) !important;
}

body.tema-dinamico .usuario-logado .botao-sair {
    color: var(--cor-fonte-secundaria-sistema) !important;
    background: var(--cor-secundaria-sistema) !important;
    border-color: color-mix(in srgb, var(--cor-fonte-secundaria-sistema) 18%, #cbd5e1) !important;
}

body.tema-dinamico .topo-principal .botao-notificacao-topo {
    background: color-mix(in srgb, var(--cor-secundaria-sistema) 28%, var(--cor-primaria-sistema)) !important;
    color: var(--cor-fonte-botao-primario) !important;
    border-color: color-mix(in srgb, var(--cor-fonte-botao-primario) 30%, transparent) !important;
}

body.tema-dinamico .topo-principal .botao-notificacao-topo .botao-notificacao-topo-contador {
    background: var(--cor-secundaria-sistema) !important;
    color: var(--cor-primaria-sistema) !important;
}

body.tema-dinamico .topo-principal .menu-toggle {
    background: var(--cor-secundaria-sistema) !important;
    border-color: color-mix(in srgb, var(--cor-fonte-secundaria-sistema) 18%, #cbd5e1) !important;
}

body.tema-dinamico .topo-principal .menu-toggle,
body.tema-dinamico .topo-principal .menu-toggle .material-icons {
    color: var(--cor-primaria-sistema) !important;
    -webkit-text-fill-color: var(--cor-primaria-sistema) !important;
}

body.tema-dinamico .topo-principal .marca-topo-nome,
body.tema-dinamico .topo-principal .marca-topo-slogan,
body.tema-dinamico .topo-principal .usuario-logado-nome,
body.tema-dinamico .topo-principal .usuario-logado-perfil {
    color: var(--cor-fonte-botao-primario) !important;
    -webkit-text-fill-color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .topo-principal .usuario-logado .botao-sair {
    background: var(--cor-secundaria-sistema) !important;
    color: var(--cor-fonte-secundaria-sistema) !important;
    border: 1px solid color-mix(in srgb, var(--cor-fonte-secundaria-sistema) 22%, #cbd5e1) !important;
}

body.tema-dinamico .topo-principal .usuario-logado .botao-sair .material-icons,
body.tema-dinamico .topo-principal .usuario-logado .botao-sair span {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

body.tema-dinamico .topo-principal .usuario-logado .botao-sair .material-icons {
    font-size: 17px !important;
}

button.item-menu,
button.menu-preferencias-link,
button.item-cadastro,
button.botao-sair,
button.botao-acao,
button.botao-padrao,
button.botao-secundario,
button.botao-sucesso,
button.botao-externo,
button.botao-menu-sistema {
    appearance: none;
    -webkit-appearance: none;
    text-decoration: none !important;
    cursor: pointer;
}

button.item-menu,
button.menu-preferencias-link,
button.item-cadastro {
    width: 100%;
    background: #ffffff;
}

button.item-menu {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

button.botao-sair,
button.botao-acao,
button.botao-padrao,
button.botao-secundario,
button.botao-sucesso,
button.botao-externo,
button.botao-menu-sistema {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font: inherit;
}

body.tema-dinamico button.item-menu,
body.tema-dinamico button.menu-preferencias-link,
body.tema-dinamico button.item-cadastro {
    color: var(--cor-fonte-sistema) !important;
    border-color: color-mix(in srgb, var(--cor-primaria-sistema) 12%, #d8e1ee) !important;
    background: #ffffff !important;
}

body.tema-dinamico .menu-preferencias-link.ativo,
body.tema-dinamico button.menu-preferencias-link.ativo,
body.tema-dinamico .menu-plataforma-link.ativo {
    background: var(--cor-primaria-sistema) !important;
    border-color: var(--cor-primaria-sistema) !important;
    color: var(--cor-fonte-botao-primario) !important;
    -webkit-text-fill-color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .menu-plataforma-abas .menu-preferencias-link.menu-plataforma-link.ativo,
body.tema-dinamico .menu-plataforma-abas .menu-preferencias-link.menu-plataforma-link[aria-selected="true"] {
    background: var(--cor-primaria-sistema) !important;
    border-color: var(--cor-primaria-sistema) !important;
    color: var(--cor-fonte-botao-primario) !important;
    -webkit-text-fill-color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .menu-preferencias-link.ativo .material-icons,
body.tema-dinamico button.menu-preferencias-link.ativo .material-icons,
body.tema-dinamico .menu-plataforma-link.ativo .material-icons {
    color: var(--cor-fonte-botao-primario) !important;
    -webkit-text-fill-color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .menu-plataforma-abas .menu-preferencias-link.menu-plataforma-link.ativo .material-icons,
body.tema-dinamico .menu-plataforma-abas .menu-preferencias-link.menu-plataforma-link[aria-selected="true"] .material-icons {
    color: var(--cor-fonte-botao-primario) !important;
    -webkit-text-fill-color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .menu-preferencias-link.ativo:hover,
body.tema-dinamico .menu-preferencias-link.ativo:focus-visible,
body.tema-dinamico button.menu-preferencias-link.ativo:hover,
body.tema-dinamico button.menu-preferencias-link.ativo:focus-visible,
body.tema-dinamico .menu-plataforma-link.ativo:hover,
body.tema-dinamico .menu-plataforma-link.ativo:focus-visible,
body.tema-dinamico .menu-plataforma-abas .menu-preferencias-link.menu-plataforma-link[aria-selected="true"]:hover,
body.tema-dinamico .menu-plataforma-abas .menu-preferencias-link.menu-plataforma-link[aria-selected="true"]:focus-visible {
    background: color-mix(in srgb, var(--cor-primaria-sistema) 86%, #000000) !important;
    border-color: color-mix(in srgb, var(--cor-primaria-sistema) 86%, #000000) !important;
    color: var(--cor-fonte-botao-primario) !important;
    -webkit-text-fill-color: var(--cor-fonte-botao-primario) !important;
}

body.tema-dinamico .menu-painel {
    background: color-mix(in srgb, var(--cor-secundaria-sistema) 86%, #eef4ff) !important;
    border-color: color-mix(in srgb, var(--cor-fonte-sistema) 10%, #d9e2ef) !important;
}

body.tema-dinamico .menu-grupo {
    background: #ffffff !important;
    border-color: color-mix(in srgb, var(--cor-fonte-sistema) 12%, #d8e1ee) !important;
}

body.tema-dinamico .menu-grupo-titulo {
    background: color-mix(in srgb, var(--cor-secundaria-sistema) 65%, #f8fafc) !important;
    color: var(--cor-fonte-sistema) !important;
}

body.tema-dinamico .menu-grupo[open] .menu-grupo-titulo {
    background: color-mix(in srgb, var(--cor-primaria-sistema) 16%, #eef4ff) !important;
    color: var(--cor-fonte-sistema) !important;
}

body.tema-dinamico .menu-grupo-titulo::after {
    color: color-mix(in srgb, var(--cor-fonte-sistema) 70%, #64748b) !important;
}

body.tema-dinamico button.item-menu:hover,
body.tema-dinamico button.menu-preferencias-link:not(.ativo):hover,
body.tema-dinamico button.item-cadastro:hover {
    background: color-mix(in srgb, var(--cor-secundaria-sistema) 80%, #ffffff) !important;
}

body.tema-dinamico .menu-painel .material-icons,
body.tema-dinamico .item-menu .material-icons,
body.tema-dinamico .menu-grupo-titulo .material-icons {
    color: var(--cor-primaria-sistema) !important;
}

body.tema-dinamico .menu-painel summary,
body.tema-dinamico .menu-painel summary *,
body.tema-dinamico .menu-painel button,
body.tema-dinamico .menu-painel button *,
body.tema-dinamico .menu-painel strong,
body.tema-dinamico .menu-painel span:not(.material-icons) {
    color: var(--cor-fonte-sistema) !important;
}

body.tema-dinamico .item-menu strong,
body.tema-dinamico .item-menu span,
body.tema-dinamico .item-menu {
    color: var(--cor-fonte-sistema) !important;
}

body.tema-dinamico .menu-painel button.item-menu,
body.tema-dinamico .menu-painel button.item-menu strong,
body.tema-dinamico .menu-painel button.item-menu span:not(.material-icons),
body.tema-dinamico .menu-painel details.menu-grupo .menu-categoria-itens button.item-menu,
body.tema-dinamico .menu-painel details.menu-grupo .menu-categoria-itens button.item-menu strong {
    color: var(--cor-fonte-sistema) !important;
    -webkit-text-fill-color: var(--cor-fonte-sistema) !important;
    text-shadow: none !important;
}

body.tema-dinamico .menu-painel details.menu-grupo .menu-categoria-itens button.item-menu {
    background: #ffffff !important;
    border-color: color-mix(in srgb, var(--cor-fonte-sistema) 14%, #d8e1ee) !important;
}

body.tema-dinamico .menu-painel details.menu-grupo .menu-categoria-itens button.item-menu .material-icons {
    color: var(--cor-primaria-sistema) !important;
    -webkit-text-fill-color: var(--cor-primaria-sistema) !important;
}

html.forcar-desktop .menu-toggle {
    display: none !important;
}

html.forcar-desktop .layout-painel {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    position: static !important;
    gap: 14px !important;
}

html.forcar-desktop .menu-painel,
html.forcar-desktop .menu-painel.aberto {
    display: flex !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 280px !important;
    min-width: 240px !important;
    max-width: 320px !important;
    max-height: calc(100vh - 90px) !important;
    padding: 12px !important;
    overflow-y: auto !important;
    box-shadow: none !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
}

html.forcar-desktop .topo-principal {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    padding: 14px 20px !important;
    position: static !important;
}

html.forcar-desktop .topo-esquerda {
    display: inline-flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
}

html.forcar-desktop .marca-topo {
    align-items: center !important;
    gap: 10px !important;
}

html.forcar-desktop .marca-topo-logo,
html.forcar-desktop .marca-topo-nome,
html.forcar-desktop .marca-topo-slogan,
html.forcar-desktop .usuario-logado-perfil {
    display: inline-block !important;
}

html.forcar-desktop .marca-topo-textos {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

html.forcar-desktop .usuario-logado {
    grid-column: auto !important;
    max-width: none !important;
    align-self: auto !important;
    text-align: right !important;
}

html.forcar-desktop .usuario-logado small {
    display: inline-block !important;
}

html.forcar-desktop .grade-semanal {
    display: grid !important;
}

html.forcar-desktop .lista-diaria-mobile {
    display: none !important;
}

html.forcar-desktop .conteiner-unico {
    padding: 22px 24px !important;
}

/* Tela de acesso (index.php) sem CSS inline */
body.pagina-entrada {
    --cor-fundo: var(--cor-fundo-site);
    --cor-branco: var(--cor-secundaria-sistema);
    --cor-primaria: var(--cor-primaria-sistema);
    --cor-secundaria: var(--cor-texto-site);
    --cor-texto: var(--cor-fonte-site);
    --cor-fonte-botao: var(--cor-fonte-botao-primario);
    --cor-suave: color-mix(in srgb, var(--cor-texto-site) 12%, #dbe4f0);
    font-family: 'Nunito Sans', Arial, sans-serif;
    background: radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--cor-primaria) 18%, #ffffff), transparent 45%),
                radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--cor-fundo) 65%, var(--cor-primaria) 35%), transparent 50%),
                var(--cor-fundo);
    color: var(--cor-texto);
    margin: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    text-align: left;
}

.cartao-acesso {
    width: min(760px, 100%);
    margin-inline: auto;
    background: var(--cor-branco);
    border-radius: 18px;
    box-shadow: 0 22px 60px color-mix(in srgb, var(--cor-primaria) 16%, rgba(15, 23, 42, 0.10));
    border: 1px solid var(--cor-suave);
    padding: 22px;
}

.topo-acesso {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    padding: 0 0 12px;
    border-bottom: 1px solid color-mix(in srgb, var(--cor-primaria) 12%, #dbe4f0);
}

.marca {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2px;
}

.marca strong {
    font-size: 1.15rem;
    color: var(--cor-secundaria);
}

.marca span {
    font-size: 0.92rem;
    color: color-mix(in srgb, var(--cor-texto) 76%, #64748b);
}

.bloco-apresentacao-publica {
    border: 1px solid var(--cor-suave);
    border-radius: 14px;
    background: color-mix(in srgb, var(--cor-branco) 92%, #eef4ff);
    padding: 14px 16px;
    margin-bottom: 14px;
}

.bloco-apresentacao-publica h1 {
    margin: 0 0 8px;
    font-size: 1.2rem;
    line-height: 1.2;
    color: var(--cor-secundaria);
}

.bloco-apresentacao-publica p {
    margin: 0 0 8px;
    color: color-mix(in srgb, var(--cor-texto) 82%, #64748b);
    font-size: 0.95rem;
}

.bloco-apresentacao-publica p:last-child {
    margin-bottom: 0;
}

.abas-acesso {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
}

.botao-aba {
    border: 1px solid var(--cor-suave);
    background: color-mix(in srgb, var(--cor-branco) 88%, #eef4ff);
    color: var(--cor-texto);
    padding: 10px 12px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
}

.botao-aba.ativo {
    background: var(--cor-primaria);
    color: var(--cor-fonte-botao);
    border-color: var(--cor-primaria);
    box-shadow: 0 12px 24px color-mix(in srgb, var(--cor-primaria) 26%, rgba(29, 78, 216, 0.16));
}

.botao-aba .material-icons {
    font-size: 20px;
}

.conteudo-aba {
    display: none;
    animation: aparecer-aba-acesso 0.25s ease;
}

.abas-cadastro-consultorio {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}

.botao-aba-cadastro-consultorio {
    border: 1px solid var(--cor-suave);
    background: color-mix(in srgb, var(--cor-branco) 88%, #eef4ff);
    color: var(--cor-texto);
    padding: 10px 12px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 700;
    transition: all 0.2s ease;
}

.botao-aba-cadastro-consultorio.ativo {
    background: var(--cor-primaria);
    color: var(--cor-fonte-botao);
    border-color: var(--cor-primaria);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--cor-primaria) 26%, rgba(29, 78, 216, 0.16));
}

.u-display-none {
    display: none !important;
}

.pagina-entrada .caixa-formulario h2 {
    text-align: left;
}

.pagina-entrada .caixa-formulario .formulario {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.pagina-entrada .caixa-formulario .formulario label {
    text-align: left;
    font-weight: 700;
}

.campo-obrigatorio {
    color: #dc2626;
    font-weight: 800;
}

.conteudo-aba.ativo {
    display: block;
}

@keyframes aparecer-aba-acesso {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.caixa-formulario h2 {
    margin: 0 0 6px;
    color: var(--cor-secundaria);
}

.caixa-formulario .descricao {
    margin: 0 0 12px;
    color: color-mix(in srgb, var(--cor-texto) 76%, #64748b);
    font-size: 0.98rem;
}

.descricao-ajuda-acesso {
    margin-top: 8px !important;
    font-size: 0.95rem !important;
}

.alerta-sucesso-ativacao {
    background: color-mix(in srgb, var(--cor-branco) 78%, #d1fae5);
    color: #0f5132;
    border: 1px solid color-mix(in srgb, #10b981 24%, #b7e4c7);
}

.alerta-aviso-ativacao {
    background: color-mix(in srgb, var(--cor-branco) 74%, #fde68a);
    color: #664d03;
    border: 1px solid color-mix(in srgb, #f59e0b 24%, #ffecb5);
}

.camada-transicao-imagem-escondida,
.camada-transicao-spinner-escondido {
    display: none !important;
}

@media (max-width: 520px) {
    .cartao-acesso {
        padding: 18px;
    }

    .abas-acesso {
        grid-template-columns: 1fr;
    }
}

html.forcar-desktop .cartao-acesso {
    width: min(520px, 100%) !important;
    padding: 22px !important;
    border-radius: 18px !important;
}

html.forcar-desktop .abas-acesso {
    grid-template-columns: 1fr 1fr !important;
}

/* Preferências e configurações sem CSS inline */
.preferencias-main {
    grid-template-columns: 1fr !important;
}

.preferencias-form-filtro-escopo {
    margin-bottom: 8px;
}

.preferencias-filtro-escopo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}

.preferencias-descricao {
    margin: 6px 0 16px;
    color: #6c757d;
}

.preferencias-consultorios-lista {
    overflow: auto;
}

.preferencias-consultorios-tabela {
    width: 100%;
    border-collapse: collapse;
}

.preferencias-consultorios-tabela th,
.preferencias-consultorios-tabela td {
    padding: 8px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
}

.preferencias-abas-consultorio {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.preferencias-consultorio-aba-link {
    min-width: 140px;
}

.preferencias-bloco.preferencias-conteudo-aba {
    display: none !important;
}

.preferencias-bloco.preferencias-conteudo-aba.ativo {
    display: grid !important;
}

.alerta-sucesso-padrao {
    background: #e7f7e7;
    border: 1px solid #a6d8a6;
    color: #1e672e;
}

.alerta-erro-publico {
    display: grid;
    gap: 8px;
}

.alerta-erro-publico .botao-sair {
    justify-self: start;
}

.menu-preferencias-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}

.menu-preferencias-grid.menu-preferencias-grid-unico {
    grid-template-columns: minmax(240px, 320px);
    justify-content: start;
}

.menu-preferencias-secao {
    margin-bottom: 14px;
}

.menu-preferencias-secao:last-child {
    margin-bottom: 0;
}

.menu-preferencias-titulo {
    margin: 0 0 8px;
    font-size: 15px;
    color: #0f172a;
}

.menu-preferencias-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    text-decoration: none;
    font-weight: 600;
}

.menu-preferencias-link.ativo {
    background: #0b6efd;
    color: #fff;
    border-color: #0b6efd;
}

.menu-preferencias-link.ativo:hover,
.menu-preferencias-link.ativo:focus-visible {
    background: #0a58ca;
    color: #ffffff;
    border-color: #0a58ca;
}

.menu-preferencias-link.ativo .material-icons {
    color: #fff;
}

.menu-plataforma-abas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
    margin: 0 0 12px;
}

.menu-plataforma-link {
    min-height: 42px;
}

.menu-preferencias-link .material-icons {
    font-size: 19px;
}

.preferencias-grade {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}

.preferencias-grade-configuracoes {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 12px !important;
}

.preferencias-grade-acoes {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.preferencias-cor-amostra-acao {
    border-color: color-mix(in srgb, var(--cor-fonte-sistema) 20%, #cbd5e1);
}

.preferencias-bloco {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
}

.preferencias-bloco-topo {
    display: grid;
    gap: 4px;
}

.preferencias-bloco-topo h3 {
    margin: 0;
    color: #0f172a;
    font-size: 18px;
}

.preferencias-bloco-topo p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.preferencias-campo {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
}

.preferencias-campo label {
    margin-bottom: 6px;
    display: block;
}

.preferencias-campo input:not([type="checkbox"]):not([type="radio"]),
.preferencias-campo select,
.preferencias-campo textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font-size: 16px;
    line-height: 1.3;
    box-sizing: border-box;
}

.preferencias-campo textarea {
    min-height: 96px;
    resize: vertical;
}

.preferencias-campo-titulo {
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.25;
    text-align: left;
}

.preferencias-cor-linha,
.config-cor-linha {
    display: grid;
    grid-template-columns: 56px 34px 110px;
    gap: 8px;
    align-items: center;
}

.preferencias-cor-linha input[type="color"],
.config-cor-linha input[type="color"] {
    width: 56px;
    height: 40px;
    padding: 2px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    appearance: auto;
    -webkit-appearance: auto;
    min-width: 56px;
    max-width: 56px;
    overflow: hidden;
}

.preferencias-cor-linha input[type="color"]::-webkit-color-swatch-wrapper,
.config-cor-linha input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

.preferencias-cor-linha input[type="color"]::-webkit-color-swatch,
.config-cor-linha input[type="color"]::-webkit-color-swatch,
.preferencias-cor-linha input[type="color"]::-moz-color-swatch,
.config-cor-linha input[type="color"]::-moz-color-swatch {
    border: none;
    border-radius: 6px;
}

.preferencias-cor-amostra,
.config-cor-amostra {
    width: 28px;
    height: 28px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    display: inline-block;
}

.preferencias-cor-hex,
.config-cor-hex {
    font-family: monospace;
    background: #f8fafc;
}

.preferencias-grade-acoes .preferencias-cor-linha {
    grid-template-columns: 56px 34px minmax(120px, 180px);
    justify-content: flex-start;
}

.preferencias-grade-acoes .preferencias-cor-hex {
    width: 100%;
    min-width: 120px;
    max-width: 180px;
}

.preferencias-cor-hex-acao {
    min-width: 140px !important;
    max-width: 180px !important;
    width: 100% !important;
    font-family: monospace;
}

.preferencias-grade-configuracoes .preferencias-campo {
    min-height: 88px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
}

.preferencias-grade-configuracoes .preferencias-campo .preferencias-checkbox-linha {
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 40px;
    gap: 12px !important;
    padding-top: 2px !important;
}

.preferencias-grade-configuracoes .preferencias-campo .preferencias-checkbox-linha > span:not(.ajuda-campo) {
    font-weight: 600;
    line-height: 1.25;
    font-size: 0.98rem;
}

.preferencias-grade-configuracoes .preferencias-campo textarea,
.preferencias-grade-configuracoes .preferencias-campo input:not([type="checkbox"]):not([type="radio"]),
.preferencias-grade-configuracoes .preferencias-campo select {
    width: 100%;
}

.preferencias-grade-acoes .preferencias-campo {
    min-height: 88px;
}

.preferencias-cor-amostra-acao-principal {
    width: 56px;
    height: 40px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.preferencias-checkbox-linha {
    display: flex !important;
    gap: 8px;
    align-items: center;
}

.preferencias-dias-semana {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.preferencias-dias-semana .preferencias-checkbox-linha {
    white-space: nowrap;
    margin: 0;
}

.preferencias-preview-celulas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.preferencias-preview-celula {
    border: 1px solid #d7deea;
    border-radius: 10px;
    padding: 10px;
    font-weight: 600;
}

.preferencias-preview-celula.passado {
    background: var(--cor-celula-agendamento-passado-fundo);
    color: var(--cor-celula-agendamento-passado-fonte);
}

.preferencias-preview-celula.futuro {
    background: var(--cor-celula-agendamento-futuro-fundo);
    color: var(--cor-celula-agendamento-futuro-fonte);
}

.preferencias-imagem-preview {
    margin-top: 8px;
}

.hikvision-token-gerado-campo {
    margin-top: 10px;
}

.hikvision-tabela-tokens {
    margin-top: 14px;
}

.hikvision-token-coluna {
    word-break: break-all;
}

.preferencias-imagem-preview-img {
    max-width: 120px;
    max-height: 80px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 4px;
    background: #fff;
}

.preferencias-acoes-formulario {
    margin-top: 16px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.botao-primario-padrao {
    background: #0b6efd !important;
    color: #fff !important;
}


.alerta-modal-falha {
    margin: 16px;
}

.ia-grade-230 {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
    gap: 12px !important;
}

.ia-grade-220 {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 12px !important;
}

.ia-opcoes-toggle {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0 14px;
}

.ia-form-filtro-consultorio {
    margin-bottom: 8px;
}

.smtp-abas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.smtp-aba-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 10px;
    background: #e9edf7;
    color: #0f172a;
    border: 1px solid #d4dbe8;
    text-decoration: none;
    cursor: pointer;
    font-weight: 600;
}

.smtp-aba-link.ativo {
    background: #0b6efd;
    color: #ffffff;
    border-color: #0b6efd;
}

.smtp-form-consultorio {
    max-width: 420px;
    margin-bottom: 12px;
}

.smtp-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 14px;
    align-items: start;
}

.smtp-form-grid > .smtp-campo {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.smtp-form-grid > .smtp-campo > label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    font-weight: 700;
    text-align: left;
}

.smtp-form-grid > .smtp-campo > label .rotulo-ajuda-texto {
    min-width: 0;
}

.smtp-form-grid > .smtp-campo > label .ajuda-campo {
    order: 2;
    margin: 0 !important;
}

.smtp-form-grid > .smtp-campo > input,
.smtp-form-grid > .smtp-campo > select {
    width: 100%;
    min-width: 0;
}

.smtp-campo-ativo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    padding: 10px 12px;
    min-height: 46px;
    background: #f8fbff;
}

.smtp-campo-ativo > input[type="checkbox"] {
    margin-left: 0;
    order: 2;
}

.smtp-campo-ativo.rotulo-toggle {
    display: inline-flex !important;
    width: 100%;
}

.smtp-campo-status {
    align-self: stretch;
    display: flex;
    align-items: flex-end;
}

.smtp-modulo .smtp-campo-status .preferencias-checkbox-linha {
    border: 1px solid #dbe4f0;
    border-radius: 10px;
    min-height: 40px;
    padding: 8px 12px !important;
    background: var(--cor-fundo-campos-sistema, #ffffff);
    justify-content: space-between !important;
    width: 100%;
}

.smtp-modulo .smtp-form-grid {
    grid-template-columns: repeat(4, minmax(220px, 1fr));
}

.smtp-modulo .smtp-form-grid > .smtp-campo > label.rotulo-com-ajuda {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    min-height: 26px;
}

.smtp-modulo .smtp-form-grid > .smtp-campo > label.rotulo-com-ajuda > .rotulo-ajuda-texto {
    order: 1 !important;
    flex: 0 1 auto !important;
}

.smtp-modulo .smtp-form-grid > .smtp-campo > label.rotulo-com-ajuda > .ajuda-campo {
    order: 2 !important;
    margin: 0 !important;
}

.smtp-modulo .smtp-form-grid > .smtp-campo > input,
.smtp-modulo .smtp-form-grid > .smtp-campo > select {
    min-height: 40px;
    max-width: 100%;
}

.modal-conteudo .smtp-modulo .smtp-form-grid,
.modal-agenda-conteudo .smtp-modulo .smtp-form-grid,
.modal-agendamentos-conteudo .smtp-modulo .smtp-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.modal-conteudo .smtp-modulo .smtp-form-grid > .smtp-campo,
.modal-agenda-conteudo .smtp-modulo .smtp-form-grid > .smtp-campo,
.modal-agendamentos-conteudo .smtp-modulo .smtp-form-grid > .smtp-campo {
    min-width: 0 !important;
}

.smtp-botao-salvar {
    margin-top: 10px;
    width: 100%;
}

@media (max-width: 1024px) {
    .smtp-modulo .smtp-form-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
    .smtp-form-grid {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }
}

@media (max-width: 900px) {
    .modal-conteudo .smtp-modulo .smtp-form-grid,
    .modal-agenda-conteudo .smtp-modulo .smtp-form-grid,
    .modal-agendamentos-conteudo .smtp-modulo .smtp-form-grid {
        grid-template-columns: 1fr !important;
    }
}

.smtp-modulo {
    overflow-x: hidden;
}

.smtp-modulo .menu-plataforma-abas,
.smtp-modulo .smtp-abas {
    width: 100%;
    min-width: 0;
}

.modal-conteudo .smtp-modulo .menu-preferencias-grid,
.modal-agenda-conteudo .smtp-modulo .menu-preferencias-grid,
.modal-agendamentos-conteudo .smtp-modulo .menu-preferencias-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.modal-conteudo .smtp-modulo .menu-plataforma-abas,
.modal-agenda-conteudo .smtp-modulo .menu-plataforma-abas,
.modal-agendamentos-conteudo .smtp-modulo .menu-plataforma-abas {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
    .modal-conteudo .smtp-modulo .menu-plataforma-abas,
    .modal-agenda-conteudo .smtp-modulo .menu-plataforma-abas,
    .modal-agendamentos-conteudo .smtp-modulo .menu-plataforma-abas,
    .modal-conteudo .smtp-modulo .menu-preferencias-grid,
    .modal-agenda-conteudo .smtp-modulo .menu-preferencias-grid,
    .modal-agendamentos-conteudo .smtp-modulo .menu-preferencias-grid {
        grid-template-columns: 1fr !important;
    }
}

.smtp-modulo .smtp-campo-status .preferencias-checkbox-linha > span:not(.ajuda-campo) {
    font-weight: 700;
}

.smtp-modulo .smtp-campo-status .preferencias-checkbox-linha > input[type="checkbox"] {
    margin-left: auto !important;
}

/* Teleconsulta: modo cliente (link publico) */
body.teleconsulta-cliente-publico {
    margin: 0;
    padding: 18px;
    background: #e9eef7;
}

body.teleconsulta-cliente-publico .conteiner-unico {
    max-width: 1100px;
    margin: 0 auto;
}

.teleconsulta-modo-cliente .teleconsulta-apenas-anfitriao {
    display: none !important;
}

/* Padrao universal de alinhamento de campos (modulos e popups) */
.conteiner-unico .cartao form .grade,
.modal-conteudo .cartao form .grade {
    align-items: start !important;
}

.conteiner-unico .cartao form .grade > *,
.modal-conteudo .cartao form .grade > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.conteiner-unico .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global),
.modal-conteudo .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 6px !important;
    row-gap: 6px !important;
    text-align: left !important;
    margin: 0 !important;
}

.conteiner-unico .cartao form .grade > label.rotulo-com-ajuda,
.modal-conteudo .cartao form .grade > label.rotulo-com-ajuda,
.cartao form label.rotulo-com-ajuda {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    text-align: left !important;
}

.conteiner-unico .cartao form .grade > label.rotulo-com-ajuda > .ajuda-campo,
.modal-conteudo .cartao form .grade > label.rotulo-com-ajuda > .ajuda-campo,
.cartao form label.rotulo-com-ajuda > .ajuda-campo {
    order: 1 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.conteiner-unico .cartao form .grade > label.rotulo-com-ajuda > .rotulo-ajuda-texto,
.modal-conteudo .cartao form .grade > label.rotulo-com-ajuda > .rotulo-ajuda-texto,
.cartao form label.rotulo-com-ajuda > .rotulo-ajuda-texto {
    order: 2 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}

.conteiner-unico .cartao form .grade > label.rotulo-com-ajuda > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.conteiner-unico .cartao form .grade > label.rotulo-com-ajuda > select,
.conteiner-unico .cartao form .grade > label.rotulo-com-ajuda > textarea,
.conteiner-unico .cartao form .grade > label.rotulo-com-ajuda > .campo-autocomplete,
.modal-conteudo .cartao form .grade > label.rotulo-com-ajuda > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.modal-conteudo .cartao form .grade > label.rotulo-com-ajuda > select,
.modal-conteudo .cartao form .grade > label.rotulo-com-ajuda > textarea,
.modal-conteudo .cartao form .grade > label.rotulo-com-ajuda > .campo-autocomplete,
.cartao form label.rotulo-com-ajuda > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.cartao form label.rotulo-com-ajuda > select,
.cartao form label.rotulo-com-ajuda > textarea,
.cartao form label.rotulo-com-ajuda > .campo-autocomplete {
    order: 3 !important;
    flex: 1 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
}

.conteiner-unico .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.conteiner-unico .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > select,
.conteiner-unico .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > textarea,
.modal-conteudo .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.modal-conteudo .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > select,
.modal-conteudo .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > textarea {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.conteiner-unico .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > .ajuda-campo,
.modal-conteudo .cartao form .grade > label:not(.preferencias-checkbox-linha):not(.switch-cartao-global) > .ajuda-campo {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    margin-top: 0 !important;
}

.conteiner-unico .cartao form .u-inline-c58bf271f7,
.modal-conteudo .cartao form .u-inline-c58bf271f7 {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

@media (max-width: 700px) {
    .smtp-modulo .smtp-form-grid {
        grid-template-columns: 1fr;
    }
    .smtp-form-grid {
        grid-template-columns: 1fr;
    }
}

.smtp-tabela-wrapper {
    overflow-x: auto;
}

.smtp-tabela-lista {
    width: 100%;
    border-collapse: collapse;
}

.smtp-tabela-lista th,
.smtp-tabela-lista td {
    text-align: left;
    padding: 8px;
    border-bottom: 1px solid #eee;
    white-space: nowrap;
}

.smtp-tabela-vazio {
    color: #667085;
}

.smtp-paginacao {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.smtp-paginacao-botao.desativado {
    opacity: .55;
    cursor: not-allowed;
}

.smtp-paginacao-info {
    color: #475467;
    font-size: 13px;
}

.alerta-ia-resposta {
    margin-top: 12px;
}

@media (max-width: 640px) {
    .preferencias-abas-consultorio {
        flex-direction: column;
    }

    .preferencias-consultorio-aba-link {
        width: 100%;
        justify-content: center;
    }

    .ia-opcoes-toggle {
        display: grid;
        grid-template-columns: 1fr;
    }
}


.modal-status-carregando {
    padding: 16px;
}


.cadastro-main-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 16px !important;
}

.cadastro-bloco {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cadastro-bloco .cabecalho-bloco h3 {
    margin: 0 0 6px 0;
}

.cadastro-bloco .cabecalho-bloco p {
    margin: 0;
    color: #5b5b5b;
}

.lista-cadastros {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.item-cadastro {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: #f7f7f7;
    border-radius: 8px;
    text-decoration: none;
    color: #1f1f1f;
    border: 1px solid #e5e5e5;
}

.item-cadastro:hover {
    background: #eef3ff;
    border-color: #d7e2ff;
}


.convite-label-espacamento {
    margin-top: 8px;
    display: block;
}

.convite-acoes {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.convite-status {
    margin-top: 8px;
    color: #0b6efd;
    font-size: 13px;
}


.elemento-escondido {
    display: none !important;
}


.alerta-acesso-negado {
    padding: 12px;
    color: #842029;
    background: #f8d7da;
    border: 1px solid #f5c2c7;
    border-radius: 8px;
}

.duracoes-main {
    grid-template-columns: 1fr !important;
}

.duracoes-form-criar {
    margin-bottom: 12px;
}

.duracoes-tabela-wrap {
    width: 100%;
    overflow-x: auto;
}

.duracoes-tabela {
    min-width: 640px;
    width: 100%;
}

.duracoes-acoes {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.duracoes-form-linha {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.duracoes-form-linha input[type="text"] {
    width: 180px;
    max-width: 100%;
}

.duracoes-form-linha input[type="number"] {
    width: 88px;
}

.duracao-input-nome {
    max-width: 140px;
}

.duracao-input-minutos {
    max-width: 80px;
}

@media (max-width: 768px) {
    .duracoes-tabela {
        min-width: 0;
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 10px;
    }

    .duracoes-tabela thead {
        display: none;
    }

    .duracoes-tabela tbody tr {
        display: block;
        border: 1px solid #d9e0ea;
        border-radius: 10px;
        padding: 10px;
        background: #fff;
    }

    .duracoes-tabela tbody td {
        display: block;
        border: 0;
        padding: 6px 0;
    }

    .duracoes-tabela tbody td::before {
        content: attr(data-rotulo);
        display: block;
        font-size: 12px;
        color: #5c6675;
        margin-bottom: 4px;
    }

    .duracoes-acoes {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .duracoes-form-linha {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .duracoes-form-linha input[type="text"],
    .duracoes-form-linha input[type="number"] {
        width: 100%;
        max-width: 100%;
    }

    .duracoes-form-linha button {
        grid-column: span 2;
        width: 100%;
    }

    .duracoes-acao-deletar button {
        width: 100%;
    }
}

.alerta-status {
    padding: 10px 12px;
    border-radius: 8px;
    margin: 10px 0;
    font-size: 14px;
}

.alerta-status.sucesso {
    background: #d1e7dd;
    color: #0f5132;
    border: 1px solid #badbcc;
}

.alerta-status.erro {
    background: #f8d7da;
    color: #842029;
    border: 1px solid #f5c2c7;
}

.chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
}

.chip {
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 10px;
    border: 1px solid #d0d7de;
    background: #f8f9fa;
    color: #343a40;
}

.chip.bloqueio {
    background: #fff3cd;
    border-color: #f1c40f;
    color: #8c6d1f;
}

.chip.ocupado {
    background: #f8d7da;
    border-color: #f5c2c7;
    color: #842029;
}

.chip.prof {
    background: #e7f1ff;
    border-color: #b6d4fe;
    color: #0b5ed7;
}

.modal-dia-agenda-escondido {
    display: none;
}

.alerta-financeiro-sucesso {
    background: #e7f7e7;
    border: 1px solid #a6d8a6;
    color: #1e672e;
}

.painel-relacionados {
    display: none;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px;
    background: #fafafa;
    margin-top: 10px;
}

.painel-relacionados h3 {
    margin-top: 0;
}

.tabela-relacionada-wrap {
    overflow-x: auto;
}

.tabela-relacionada {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.tabela-relacionada th,
.tabela-relacionada td {
    padding: 6px 8px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.telemed-cartao {
    padding: 14px;
}

.telemed-painel-topo {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.telemed-campo {
    flex: 1;
    min-width: 220px;
}

.telemed-acoes-principais {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.telemed-botao {
    border: none;
    border-radius: 8px;
    padding: 9px 12px;
    cursor: pointer;
    color: #fff;
    font-weight: 600;
}

.telemed-botao.primario {
    background: #0b6efd;
}

.telemed-botao.sucesso {
    background: #198754;
}

.telemed-botao.perigo {
    background: #dc3545;
}

.telemed-botao.neutro {
    background: #6c757d;
}

.telemed-status {
    margin-top: 12px;
    color: #344054;
    background: #eef4ff;
    border: 1px solid #d6e4ff;
    border-radius: 8px;
    padding: 8px 10px;
}

.telemed-grid-videos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.telemed-video-card {
    border: 1px solid #dde3ef;
    border-radius: 10px;
    background: #fff;
    padding: 10px;
}

.telemed-video-card strong {
    display: block;
    margin-bottom: 6px;
}

.telemed-video {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #d6d6d6;
    background: #000;
    min-height: 180px;
}

.telemed-acoes-secundarias {
    margin-top: 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.telemed-orientacao {
    margin-top: 12px;
    color: #667085;
    font-size: 13px;
}

@media (max-width: 760px) {
    .telemed-painel-topo {
        flex-direction: column;
        align-items: stretch;
    }

    .telemed-campo {
        min-width: 100%;
    }

    .telemed-acoes-principais,
    .telemed-acoes-secundarias {
        width: 100%;
    }

    .telemed-botao {
        flex: 1;
        min-width: 140px;
    }
}
.menu-financeiro-abas {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.formulario-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.locacao-grade .menu-financeiro-abas {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    max-width: 100%;
    overflow: hidden;
}

.locacao-grade .menu-financeiro-abas .menu-preferencias-link {
    width: 100% !important;
    min-width: 0;
    max-width: none;
    white-space: normal;
    line-height: 1.15;
    text-align: center;
    justify-content: center;
}

.financeiro-resumo-geral {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.financeiro-resumo-item {
    background: #eef4ff;
    border: 1px solid #d7e5ff;
    border-radius: 8px;
    padding: 10px;
}

.locacao-horarios-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 10px;
}

.locacao-grade {
    grid-template-columns: 1fr;
}

.locacao-grade .menu-preferencias-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
    margin-bottom: 12px;
    overflow: hidden;
}

.locacao-grade button.menu-preferencias-link {
    width: 100% !important;
    min-width: 0;
    max-width: none;
    justify-content: center;
    text-align: center;
}

.locacao-formulario-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    align-items: end;
}

.locacao-planos-tabela-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.locacao-planos-tabela {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}

.locacao-planos-acoes {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
    min-width: 0;
}

.locacao-planos-acoes .locacao-plano-acao-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.locacao-planos-acoes .botao-acao-editar,
.locacao-planos-acoes .botao-acao-excluir,
.locacao-planos-acoes .botao-perigo {
    width: 110px;
    min-width: 110px;
    justify-content: center;
    text-align: center;
}

.locacao-descontos-tabela-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.locacao-descontos-tabela {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}

.locacao-descontos-tabela th,
.locacao-descontos-tabela td {
    vertical-align: middle;
    padding: 12px 10px;
    text-align: left;
}

.locacao-desconto-profissional {
    font-weight: 600;
}

.locacao-desconto-valor {
    font-weight: 700;
    color: #0f3d8f;
}

.locacao-desconto-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 78px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.locacao-desconto-status.ativo {
    background: #e8f7ec;
    color: #126534;
}

.locacao-desconto-status.inativo {
    background: #f5f5f5;
    color: #4b5563;
}

.locacao-descontos-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
    width: 100%;
}

.locacao-descontos-acoes .formulario-inline {
    margin: 0;
}

.locacao-descontos-acoes .botao-sair,
.locacao-descontos-acoes .botao-perigo {
    width: 104px;
    min-width: 104px;
    justify-content: center;
}

@media (max-width: 1200px) {
    .locacao-planos-tabela th,
    .locacao-planos-tabela td {
        padding: 8px 6px;
    }

    .locacao-planos-acoes {
        flex-wrap: wrap;
        white-space: normal;
        justify-content: flex-start;
    }

    .locacao-descontos-tabela th,
    .locacao-descontos-tabela td {
        padding: 8px 6px;
    }
}

.locacao-formulario-grid .campo-autocomplete,
.locacao-formulario-grid .preferencias-acoes-formulario,
.locacao-formulario-grid .preferencias-checkbox-linha {
    grid-column: 1 / -1;
}

.locacao-formulario-grid .preferencias-campo > label {
    display: block;
    margin-bottom: 6px;
}

.locacao-formulario-grid .preferencias-campo .ajuda-campo {
    display: inline-flex;
    margin-left: 6px;
    vertical-align: middle;
}

.locacao-acoes-linha {
    justify-content: flex-start;
}

.resumo-locacao-profissional {
    border: 1px solid var(--cor-borda-padrao, #dbe3f0);
    border-radius: 12px;
    padding: 12px 14px;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: -2px;
    margin-bottom: 8px;
}

.resumo-locacao-profissional-titulo {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--cor-fonte-site, #0f172a);
}

.resumo-locacao-profissional-texto {
    font-size: 1rem;
    font-weight: 600;
    color: var(--cor-fonte-site, #0f172a);
}

.resumo-locacao-profissional-detalhe {
    font-size: 0.9rem;
    color: #475569;
}

.resumo-locacao-profissional-isento {
    background: #ecfdf5;
    border-color: #86efac;
}

.resumo-locacao-profissional-erro {
    background: #fef2f2;
    border-color: #fca5a5;
}

@media (max-width: 700px) {
    .locacao-grade .menu-financeiro-abas {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        overflow: hidden;
        width: 100%;
        margin-top: 8px;
    }

    .locacao-grade .menu-financeiro-abas .menu-preferencias-link {
        width: 100% !important;
        min-width: 0;
        max-width: none;
        white-space: normal;
        line-height: 1.1;
        font-size: 0.92rem;
        padding: 10px 8px;
    }

    .locacao-horarios-grid {
        grid-template-columns: 1fr;
    }

    .locacao-formulario-grid {
        grid-template-columns: 1fr;
    }

    .locacao-grade button.menu-preferencias-link {
        min-width: 0;
        max-width: none;
    }

    .locacao-descontos-tabela {
        min-width: 0;
        table-layout: auto;
    }

    .locacao-descontos-acoes {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .locacao-descontos-acoes .botao-sair,
    .locacao-descontos-acoes .botao-perigo {
        width: 100px;
        min-width: 100px;
    }
}

body.tema-dinamico .ajuda-campo .ajuda-campo-popup,
body.tema-dinamico .ajuda-campo .ajuda-campo-popup * {
    background: #f8fafc !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    text-shadow: none !important;
}

body.tema-dinamico .conteiner-unico .ajuda-campo .ajuda-campo-popup,
body.tema-dinamico .conteiner-unico .ajuda-campo .ajuda-campo-popup * {
    background: #f8fafc !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    text-shadow: none !important;
}

body.tema-dinamico header.topo.topo-principal .marca-topo-nome,
body.tema-dinamico header.topo.topo-principal .marca-topo-slogan,
body.tema-dinamico header.topo.topo-principal .usuario-logado-nome,
body.tema-dinamico header.topo.topo-principal .usuario-logado-perfil {
    color: var(--cor-fonte-botao-primario) !important;
    -webkit-text-fill-color: var(--cor-fonte-botao-primario) !important;
}

.grade-coluna-unica {
    grid-template-columns: 1fr;
}

.titulo-selecao-cadastro {
    margin: 0 0 12px;
}

.grade-botoes-selecao-cadastro {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.cabecalho-lista-acoes {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    gap: 8px;
    flex-wrap: wrap;
}

.alerta-sucesso-padrao {
    background: #e7f7e7;
    border: 1px solid #a6d8a6;
    color: #1e672e;
}

.alerta-info-padrao {
    margin-top: 12px;
    background: #e7f1ff;
    border: 1px solid #b6d4fe;
    color: #084298;
}

.alerta-erro-padrao {
    margin-top: 12px;
    background: #f8d7da;
    border: 1px solid #f5c2c7;
    color: #842029;
}

.tabela-th-padrao {
    text-align: left;
    padding: 8px;
    border-bottom: 1px solid #e0e0e0;
}

.tabela-td-padrao {
    padding: 8px;
    border-bottom: 1px solid #f0f0f0;
}

.botao-acao-compacto {
    padding: 6px 10px;
}

.botao-acao-neutra {
    background: #6c757d;
    color: #fff;
    border: none;
    cursor: pointer;
}

.sala-cor-bolha {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    margin-right: 6px;
    vertical-align: middle;
    border: 1px solid rgba(0, 0, 0, .12);
}

.google-sync-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
    width: 100%;
}

.google-sync-acoes > a,
.google-sync-acoes > button,
.google-sync-acoes > form {
    width: auto;
    min-width: 180px;
    flex: 0 0 auto;
}

.google-sync-acoes .botao-sair,
.google-sync-acoes .botao-acao-editar,
.google-sync-acoes .botao-acao-neutra,
.google-sync-acoes .botao-acao-novo {
    width: auto;
    min-width: 180px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
}

.google-sync-periodo-form {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    align-items: end;
    width: 100%;
}

.google-sync-label-curto {
    display: block;
    font-size: 12px;
}

.google-sync-input-data {
    width: 100%;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
}

.google-sync-card-instrucoes {
    margin-top: 12px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f8f9fa;
    width: 100%;
    max-width: 860px;
}

.google-sync-codigo-form {
    margin-top: 8px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    width: 100%;
}

.google-sync-input-texto {
    flex: 1;
    min-width: 240px;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
}

.google-sync-card-instrucoes code {
    display: block;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.google-sync-json-form {
    display: inline-flex;
    gap: 8px;
    align-items: end;
    flex-wrap: wrap;
}

.google-sync-input-arquivo {
    min-width: 220px;
}

.gcz-evento-titulo-acoes {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.gcz-evento-titulo-texto {
    display: block;
    font-weight: 600;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}

.gcz-evento-acoes-titulo {
    font-size: 12px;
    font-weight: 600;
    color: #334155;
}

.gcz-evento-acoes-linha {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    white-space: nowrap;
    flex-wrap: nowrap;
}

.gcz-evento-acoes-linha .botao-acao-compacto {
    min-width: 120px;
    justify-content: center;
}

@media (max-width: 980px) {
    .google-sync-acoes {
        display: grid;
        grid-template-columns: 1fr;
    }
    .google-sync-acoes > a,
    .google-sync-acoes > button,
    .google-sync-acoes > form {
        width: 100%;
        min-width: 0;
    }
    .google-sync-acoes .botao-sair,
    .google-sync-acoes .botao-acao-editar,
    .google-sync-acoes .botao-acao-neutra,
    .google-sync-acoes .botao-acao-novo {
        width: 100%;
        min-width: 0;
    }
    .google-sync-periodo-form {
        grid-template-columns: 1fr;
    }
    .google-sync-input-texto {
        min-width: 0;
        width: 100%;
    }
    .google-sync-json-form {
        width: 100%;
    }
    .google-sync-input-arquivo {
        min-width: 0;
        width: 100%;
    }
    .gcz-evento-titulo-acoes {
        align-items: flex-start;
    }
}

.google-sync-status-bloco {
    margin-top: 12px;
}

.google-sync-status-bloco-secundario {
    margin-top: 8px;
}

.google-sync-status-ok {
    color: green;
}

.google-sync-status-erro {
    color: red;
}

.google-sync-status-info {
    color: #0b5ed7;
}

.google-sync-status-neutro {
    color: #6c757d;
}

.google-calendar-preferencias-wrap {
    margin-top: 12px;
}

.google-sync-cartao-padrao {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0;
}

.google-sync-cartao-padrao .tabela-responsiva {
    width: 100%;
}

.google-sync-cartao-padrao .tabela {
    width: 100%;
    min-width: 1120px;
    table-layout: fixed;
}

.google-sync-cartao-padrao .gcz-col-inicio {
    width: 14%;
    white-space: nowrap;
}

.google-sync-cartao-padrao .gcz-col-fim {
    width: 14%;
    white-space: nowrap;
}

.google-sync-cartao-padrao .gcz-col-titulo {
    width: 32%;
}

.google-sync-cartao-padrao .gcz-col-acoes {
    width: 24%;
    white-space: nowrap;
}

.google-sync-cartao-padrao .gcz-col-status {
    width: 16%;
    white-space: nowrap;
}

.google-sync-cartao-padrao th.gcz-col-titulo,
.google-sync-cartao-padrao td.gcz-col-titulo {
    text-align: left;
}

@media (max-width: 980px) {
    .google-sync-cartao-padrao .tabela {
        min-width: 100%;
    }
    .google-sync-cartao-padrao .gcz-col-inicio,
    .google-sync-cartao-padrao .gcz-col-fim,
    .google-sync-cartao-padrao .gcz-col-titulo,
    .google-sync-cartao-padrao .gcz-col-acoes,
    .google-sync-cartao-padrao .gcz-col-status {
        width: auto;
    }
    .google-sync-cartao-padrao .tabela-responsiva {
        overflow-x: hidden;
    }
    .gcz-evento-acoes-linha .botao-acao-compacto {
        min-width: 108px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

.barra-progresso-dinamica {
    display: block;
    height: 100%;
    width: 0;
}

.financeiro-celula-dinamica {
    padding: 8px;
    border-bottom: 1px solid #f0f0f0;
}


/* INLINE_STYLE_MIGRATION_START */
.u-inline-0031b61c3d { padding:10px; border-radius:6px; border:1px solid #ccc; }
.u-inline-010e0ee9e1 { margin-top:6px; color:#0b6efd; font-weight:700; }
.u-inline-01d2ed6d9a { background:#198754;color:#fff; padding:6px 10px; }
.u-inline-02d1fb8b1e { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.u-inline-035555afa0 { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.u-inline-054e1ef6c0 { padding:8px; border-bottom:1px solid #f0f0f0; display:flex; flex-wrap:wrap; gap:6px; }
.u-inline-07a0e38bad { font-size:12px; color:#666; }
.u-inline-0b87e9e0af { font-weight:600; }
.u-inline-0cf3ce8493 { margin-top:8px; font-size:0.95rem; }
.u-inline-0d522af71a { background:#198754;color:#fff; }
.u-inline-0d7010b773 { color:red; }
.u-inline-0db3d9543f { background:#6c757d;color:#fff;border:none;border-radius:8px;padding:9px 12px; }
.u-inline-0f1d6ae444 { margin-top:6px; white-space:pre-wrap; }
.u-inline-108d371ae5 { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px; }
.u-inline-10f3422e84 { margin-bottom:10px; color:#0f172a; }
.u-inline-1235fbd24e { background:#ff7f0e;color:#fff; padding:6px 10px; }
.u-inline-13daa00158 { color:#0f172a; }
.u-inline-142cf7c2dd { background:#dc3545;color:#fff; padding:6px 10px; }
.u-inline-146909f4ef { text-align:left;padding:8px;border-bottom:1px solid #e2e8f0; }
.u-inline-14e829fdc7 { text-align:left; padding:8px; border-bottom:1px solid #e0e0e0; }
.u-inline-16a8a8b00c { overflow:auto; }
.u-inline-197cf3354b { border-color:#0b6efd; box-shadow:0 14px 30px rgba(11,110,253,0.12); }
.u-inline-1d277b468d { border:1px solid #f0f0f0; border-radius:8px; padding:8px; margin-bottom:6px; background:#fafbfc; }
.u-inline-1da9facb4d { margin:0; }
.u-inline-1de5bc1344 { width:100%; border-radius:8px; border:1px solid #ddd; background:#000; min-height:180px; }
.u-inline-1e6121900e { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.u-inline-1e8f04f01a { display:none;margin-bottom:10px;padding:8px 10px;border-radius:8px; }
.u-inline-2134feedc1 { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.u-inline-22ca54a87e { padding:6px 10px; }
.u-inline-2752ba1d54 { display:flex; gap:6px; flex-wrap:wrap; }
.u-inline-27c0e8975a { margin-top:10px;color:#334155;background:#eef4ff;border:1px solid #d6e4ff;border-radius:8px;padding:8px 10px; }
.u-inline-27cc90ed59 { margin:6px 0; color:#b02a37; font-size:12px; }
.u-inline-2874fa08ac { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:6px; margin-top:8px; }
.u-inline-28a61b5236 { background-color: rgb(140, 140, 140); }
.u-inline-291b7bbb01 { margin-top:0; }
.u-inline-2d42a9c824 { background:#6f42c1;color:#fff; padding:8px 12px; }
.u-inline-2e7088abba { background:#25d366;color:#fff;border:none;border-radius:8px;padding:9px 12px; }
.u-inline-2fd7789b39 { margin-top:6px; }
.u-inline-2fdf959b8f { font-size:12px; color:#1f5f74; }
.u-inline-31896d4506 { padding:10px 14px; border:none; border-radius:6px; background:#dc3545; color:#fff; font-weight:bold; cursor:pointer; }
.u-inline-34d4109823 { padding:8px;border-bottom:1px solid #f1f5f9; }
.u-inline-3596ec991d { color:#0b5ed7; }
.u-inline-363bb9bbff { background:#fff3cd; border:1px solid #ffeeba; padding:10px; border-radius:8px; }
.u-inline-371f952422 { border:1px solid #e5e7eb; border-radius:10px; padding:12px; }
.u-inline-3b3121cf35 { background-color: rgb(249, 198, 1); }
.u-inline-3b83989700 { display:flex; justify-content: space-between; align-items:center; margin-bottom:12px; flex-wrap:wrap; gap:8px; }
.u-inline-3cc765e3bb { padding:8px 10px; min-width:120px; text-align:center; }
.u-inline-3e9f694eda { padding:12px; background:#f8d7da; border:1px solid #f5c2c7; color:#842029; border-radius:8px; }
.u-inline-3eb32aebc7 { border:1px solid #e1e5eb; padding:10px; border-radius:8px; background:#f8f9fa; }
.u-inline-3ef1fa1aa1 { margin-bottom:12px; }
.u-inline-3f2d80e47a { grid-template-columns:1fr; }
.u-inline-41db5c3964 { margin:12px 0; }
.u-inline-46f979db04 { justify-content:center; margin-top:14px; }
.u-inline-473e6bbfeb { width:100%;border-collapse:collapse; }
.u-inline-49343057d4 { background:#e8f8ef;border:1px solid #9fd7b5;color:#166534; }
.u-inline-4c46ad7cdb { display:flex; gap:20px; margin-top:6px; flex-wrap:wrap; }
.u-inline-4e8ea0ddd9 { display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:12px; }
.u-inline-4f40b28d08 { background:#6c757d;color:#fff; }
.u-inline-51b92ef0f7 { font-size:2.5em;color:#fff;text-align:center; }
.u-inline-52c0dfa87d { max-width:180px;max-height:180px;border:1px solid #dbe3f0;border-radius:8px;object-fit:contain; }
.u-inline-544f5781d7 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top:10px; }
.u-inline-56e3b93b05 { display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.u-inline-574de60f9e { background: rgba(255,255,255,0.16); color:#fff; border:1px solid rgba(255,255,255,0.3); box-shadow:none; }
.u-inline-57e58287ab { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px; }
.u-inline-5a4defc5b1 { background-color: rgb(242, 79, 158); }
.u-inline-5a7538cbbe { background:#fff3cd; }
.u-inline-5ad3a1a785 { color:#1e7e34; font-weight:700; }
.u-inline-5b7a2a8437 { display:flex; gap:12px; flex-wrap:wrap; }
.u-inline-5ebb9cde8b { display:flex; justify-content: space-between; align-items:center; margin-bottom:12px; gap:8px; flex-wrap:wrap; }
.u-inline-60fcacd713 { display:flex;gap:8px;flex-wrap:wrap;margin-top:10px; }
.u-inline-64c82065f3 { display:none; border:1px solid #e0e0e0; border-radius:8px; padding:12px; background:#fafafa; }
.u-inline-654dd6813e { color:#777; font-size:13px; }
.u-inline-6673e1fc01 { font-size:12px; color:#2d6a2d; }
.u-inline-699b398121 { background:#0b6efd;color:#fff;border:none;border-radius:8px;padding:9px 12px; }
.u-inline-6a3ef7c40d { background:#ffe2e2; }
.u-inline-6c002e2180 { margin-bottom:6px; }
.u-inline-6d02b9c9eb { background:#495057;color:#fff; }
.u-inline-6dfeb8bfd1 { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.u-inline-6eb52e5a12 { margin-top:6px; display:flex; gap:8px; flex-wrap:wrap; }
.u-inline-70113f21ff { padding:8px 12px; background:#dc3545; color:#fff; border:none; border-radius:6px; }
.u-inline-70af38fb84 { color:#6c757d; }
.u-inline-722e9ac702 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.u-inline-722ef2f3d7 { border:1px solid #e0e0e0; padding:10px; border-radius:6px; }
.u-inline-72d6c38e5f { margin-bottom: 12px; }
.u-inline-73e4013668 { text-align:left;padding:8px; }
.u-inline-7446794133 { display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:10px; margin-bottom:14px; }
.u-inline-745a09dbf6 { display:grid;grid-template-columns:1fr;gap:8px; width:100%; min-width:0; }
.u-inline-74f794a900 { padding:8px; border-bottom:1px solid #f0f0f0; display:flex; gap:6px; flex-wrap:wrap; }
.u-inline-77fcdf14e9 { text-align:left; padding:8px; border-bottom:1px solid #eaeaea; }
.u-inline-7809a51a9e { margin-top:6px; font-size:13px; }
.u-inline-79a1c5a5db { margin-bottom:16px; }
.u-inline-79a52d61d1 { margin:10px 0; padding:10px 12px; background:#e7f1ff; border:1px solid #b6d4fe; border-radius:8px; color:#084298; }
.u-inline-79ba1489b7 { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; align-items:center; }
.u-inline-7b6c4f99ab { background:#e8f8ff; }
.u-inline-7c4ef4ba5e { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;border:1px solid #e2e8f0;border-radius:8px;padding:10px;background:#f8fafc; }
.u-inline-7d262ec78f { margin-top:8px; font-size:12px; color:#666; }
.u-inline-7e30d285d2 { display:flex;align-items:center;gap:10px; }
.u-inline-7f93b287e1 { display:flex; gap:10px; flex-wrap:wrap; }
.u-inline-823e765932 { display:grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap:8px; margin-bottom:12px; }
.u-inline-838e350c34 { display:flex; gap:8px; flex-wrap:wrap; }
.u-inline-83bf944cda { display:flex; align-items:center; justify-content: center; gap:8px; flex-wrap:wrap; }
.u-inline-8616542df3 { border:1px solid #dde3ef; border-radius:10px; background:#fff; padding:10px; }
.u-inline-8783b79918 { margin-top:16px; padding:12px; border:1px solid #e5e7eb; border-radius:10px; }
.u-inline-8869d1d832 { background:#0b6efd;color:#fff;opacity:0.7;cursor:not-allowed; }
.u-inline-888228c557 { grid-template-columns: 1fr; }
.u-inline-88b9d5c614 { margin-top:14px; }
.u-inline-89676c7e46 { font-size:12px; color:#8a6d3b; }
.u-inline-8a359a76eb { margin-top:16px; }
.u-inline-8a65028742 { background:#e8f4ff; padding:10px; border-radius:8px; }
.u-inline-8af4be3e8a { margin-top:10px;background:#0b6efd;color:#fff;border:none;border-radius:8px;padding:9px 12px; }
.u-inline-8ce89bed8c { background:#ff7f0e;color:#fff; }
.u-inline-8e8644c707 { margin:0 0 10px; color:#5b6472; }
.u-inline-8f67c3897e { margin-top:10px; display:flex; gap:8px; align-items:center; }
.u-inline-90b1de25c7 { background: var(--cor-botao-excluir); }
.u-inline-90d51a956d { padding:6px 10px; background:#dc3545; color:#fff; }
.u-inline-916794022d { padding:8px; border-bottom:1px solid #f0f0f0; }
.u-inline-9171bba468 { display:flex;justify-content:flex-end;margin-bottom:10px; }
.u-inline-92d7643e0d { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap:12px; }
.u-inline-9374e84210 { margin-top:12px; }
.u-inline-93c4ead5c8 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:12px; }
.u-inline-94032e9110 { background:#f8f9fb; }
.u-inline-94d2ac11af { background:#6f42c1;color:#fff; padding:6px 10px; }
.u-inline-9531b15928 { white-space:pre-wrap; font-size:12px; max-height:320px; overflow:auto; }
.u-inline-96b7f929b7 { padding:12px; border:1px solid #e0e0e0; border-radius:8px; background:#fafafa; white-space:normal; }
.u-inline-97d1c72088 { margin:14px 0; border:0; border-top:1px solid #d9d9d9; }
.u-inline-982c43e451 { background:#ffeede; padding:10px; border-radius:8px; }
.u-inline-99e1bcc837 { padding-top:30px; }
.u-inline-9ac844cfd5 { font-size:0.8rem; color:#b08900; }
.u-inline-9cad46e095 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.u-inline-9e7a739bfc { background-color: rgb(244, 130, 28); }
.u-inline-9edd68ea17 { background:#198754;color:#fff; padding:8px 12px; }
.u-inline-9f597c1e87 { font-weight:700;margin-bottom:8px;text-transform:capitalize; }
.u-inline-9fe621c0f3 { background:#f8fafc; }
.u-inline-a0826f6992 { visibility:hidden; }

.u-inline-5b7a2a8437 > .u-inline-8a65028742,
.u-inline-5b7a2a8437 > .u-inline-982c43e451 {
    min-width: 220px;
    flex: 1 1 220px;
    box-sizing: border-box;
}

.u-inline-363bb9bbff,
.u-inline-363bb9bbff div {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.u-inline-363bb9bbff {
    overflow: hidden;
    max-width: 100%;
}

.u-inline-363bb9bbff * {
    max-width: 100%;
    box-sizing: border-box;
}

.u-inline-4c46ad7cdb > div {
    min-width: 0;
}

/* Teleconsulta: alinhar e padronizar inputs/campos do bloco secundario */
[data-modulo-teleconsulta="1"] .u-inline-108d371ae5 > div,
[data-modulo-teleconsulta="1"] .u-inline-57e58287ab > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

[data-modulo-teleconsulta="1"] .u-inline-108d371ae5 label,
[data-modulo-teleconsulta="1"] .u-inline-57e58287ab label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    margin: 0;
    font-weight: 600;
    color: var(--cor-texto, #0f172a);
    text-align: left;
    line-height: 1.2;
}

[data-modulo-teleconsulta="1"] .u-inline-108d371ae5 label.rotulo-com-ajuda,
[data-modulo-teleconsulta="1"] .u-inline-57e58287ab label.rotulo-com-ajuda {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    text-align: left !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: flex-start !important;
}

[data-modulo-teleconsulta="1"] .u-inline-108d371ae5 label.rotulo-com-ajuda .ajuda-campo,
[data-modulo-teleconsulta="1"] .u-inline-57e58287ab label.rotulo-com-ajuda .ajuda-campo {
    order: 1 !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

[data-modulo-teleconsulta="1"] .u-inline-108d371ae5 label.rotulo-com-ajuda .rotulo-ajuda-texto,
[data-modulo-teleconsulta="1"] .u-inline-57e58287ab label.rotulo-com-ajuda .rotulo-ajuda-texto {
    order: 2 !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
}

[data-modulo-teleconsulta="1"] #lista_pacientes.lista-sugestoes {
    width: 100%;
}

[data-modulo-teleconsulta="1"] .u-inline-108d371ae5 input[type="text"],
[data-modulo-teleconsulta="1"] .u-inline-108d371ae5 input[type="search"],
[data-modulo-teleconsulta="1"] .u-inline-57e58287ab input[type="text"],
[data-modulo-teleconsulta="1"] .u-inline-57e58287ab input[type="search"] {
    width: 100% !important;
    min-height: 40px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--cor-borda-campo, #b7c7df) !important;
    border-radius: 10px !important;
    background: var(--cor-fundo-campos-sistema, #ffffff) !important;
    color: var(--cor-fonte-sistema, #0f172a) !important;
    box-sizing: border-box !important;
}

[data-modulo-teleconsulta="1"] #lista_pacientes {
    width: 100%;
}

[data-modulo-teleconsulta="1"] .u-inline-57e58287ab {
    margin-top: 8px;
    align-items: start;
}

[data-modulo-teleconsulta="1"].teleconsulta-modo-cliente .teleconsulta-apenas-anfitriao {
    display: none !important;
}
.u-inline-a0c773469f { padding:16px; color:#842029; background:#f8d7da; border:1px solid #f5c2c7; border-radius:8px; }
.u-inline-a28dfd277b { margin: 4px 0 10px; }
.u-inline-a2951a15bc { margin-top:10px; font-weight:bold; }
.u-inline-a3e36fb8fa { display:flex; flex-direction:column; gap:6px; }
.u-inline-a49b015155 { margin:10px 0; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.u-inline-a5a43adf2a { background:#dc3545;color:#fff;border:none;border-radius:8px;padding:9px 12px; }
.u-inline-a6c9a7ce4a { background:#20c997;color:#fff; }
.u-inline-a738eebc8a { border:1px solid #dbe3f0;border-radius:10px;padding:10px;background:#fff; min-width:0; overflow:hidden; }
.u-inline-a792689154 { background:#e7f7e7; border:1px solid #a6d8a6; color:#1e672e; }
.u-inline-a8e9dd0bf2 { background-color: rgb(98, 186, 69); }
.u-inline-aad930de4c { background:#0b6efd;color:#fff; }
.u-inline-acdecacbe0 { border:1px solid #e2e8f0;border-radius:8px;padding:10px;margin-bottom:8px;background:#fff; }
.u-inline-ae799b1f6f { background-color: rgb(242, 82, 87); }
.u-inline-aed331dcb3 { background-color: rgb(165, 80, 167); }
.u-inline-af3fee87a1 { margin-bottom:10px; }
.u-inline-b04cf2f237 { background:#e7f7e7;border:1px solid #a6d8a6;color:#1e672e; }
.u-inline-b1ecc496e0 { margin-top:8px; }
.u-inline-b8fead4210 { width:100%; border-collapse: collapse; }
.u-inline-b9a58cd203 { margin-top: 10px; color: #64748b; font-size: 12px; }
.u-inline-b9f0b5a5d1 { background:#198754;color:#fff;border:none;border-radius:8px;padding:9px 12px; }
.u-inline-ba16d49822 { font-weight:bold; margin-bottom:6px; display:flex; justify-content:space-between; align-items:center; }
.u-inline-ba91e45d95 { display:flex; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.u-inline-bb8d4113a2 { font-size:13px; color:#555; }
.u-inline-bcf5d85805 { display:flex; gap:10px; flex-wrap:wrap; align-items:end; }
.u-inline-be66cff308 { background:#6c757d;color:#fff; padding:6px 10px; }
.u-inline-be73dbf155 { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:6px; margin-top:8px; margin-bottom:8px; }
.u-inline-be74cca7d6 { width:100%; border-collapse: collapse; margin-bottom:16px; }
.u-inline-bea42852ff { font-size:20px; font-weight:700; }
.u-inline-bf65d8635f { margin-bottom:10px; color:#555; }
.u-inline-c093116aab { min-width:260px; }
.u-inline-c3687050d9 { flex:1; min-width:0; position:relative; }
.u-inline-c4b2bc0ed3 { font-weight:bold; }
.u-inline-c58bf271f7 { display:flex; gap:10px; margin-top:16px; }
.u-inline-c5bb18ddf7 { background:#0dcaf0;color:#00323f; padding:6px 10px; }
.u-inline-c6f80b8af0 { padding:8px; border-bottom:1px solid #f0f0f0; display:flex; gap:6px; }
.u-inline-c73c0ad696 { display:flex; flex-direction:column; gap:10px; }
.u-inline-c7a8c44669 { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:12px; margin-top:12px; }
.u-inline-c8be1ccba6 { display:none; }
.u-inline-c919159123 { display:flex; align-items:center; gap:8px; margin-top:8px; }
.u-inline-ca531784f2 { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:8px; }
.u-inline-cbd053303f { margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }
.u-inline-cd421a6bd5 { margin-top:4px; display:flex; flex-direction:column; gap:4px; }
.u-inline-ceacc21ac2 { font-size:12px; color:#35507a; }
.u-inline-d23ef53d0a { color:#900; }
.u-inline-d265a6b9b9 { margin-top: 16px; }
.u-inline-d303de2559 { background:#dc3545;color:#fff; }
.u-inline-d58909c933 { background-color: rgb(44, 122, 255); }

.lista-cancelamento-futuros {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

/* Padrao universal de botoes: mesmo tamanho visual e sem ocupar linha inteira */
button[type="submit"],
button[type="button"]:not(.item-menu):not(.menu-preferencias-link):not(.item-cadastro):not(.menu-toggle),
.botao-sair,
.botao-acao,
.botao-padrao,
.botao-secundario,
.botao-sucesso,
.botao-perigo,
.botao-externo,
.botao-menu-sistema {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 148px !important;
    width: auto !important;
    max-width: 100% !important;
    height: 40px !important;
    padding: 10px 14px !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

.u-inline-60fcacd713,
.u-inline-c58bf271f7,
.linha-acoes-formulario-salas,
.u-inline-cbd053303f {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}

@media (max-width: 900px) {
    .tabela-mobile-auto .botao-sair,
    .tabela-mobile-auto button,
    .formulario-agendamento-edicao button {
        width: auto !important;
        min-width: 140px !important;
        max-width: 100% !important;
    }

    .u-inline-5b7a2a8437 {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px !important;
    }

    .u-inline-5b7a2a8437 > .u-inline-8a65028742,
    .u-inline-5b7a2a8437 > .u-inline-982c43e451 {
        min-width: 0;
        width: 100%;
    }

    .financeiro-lista-modo-acoes {
        display: flex !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        overflow: hidden !important;
    }

    .financeiro-lista-modo-acoes .menu-preferencias-link {
        min-width: 0 !important;
        max-width: 100% !important;
        flex: 1 1 160px !important;
    }

    .u-inline-4c46ad7cdb {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
}

@media (max-width: 767px) {
    .u-inline-d7b5a5d1ac,
    .u-inline-3b83989700,
    .u-inline-5b7a2a8437,
    .financeiro-lista-modo-acoes {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .cartao {
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .u-inline-3b83989700 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: stretch !important;
    }

    .u-inline-3b83989700 > h2 {
        margin: 0 !important;
    }

    .u-inline-3b83989700 > .botao-sair {
        justify-self: start !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .financeiro-lista-modo-acoes .menu-preferencias-link {
        width: 100% !important;
        flex: 1 1 100% !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .financeiro-tabela-wrapper {
        overflow-x: auto;
        overflow-y: hidden;
    }

    .financeiro-tabela-lista {
        min-width: 100% !important;
        width: 100% !important;
        table-layout: fixed;
    }

    .u-inline-4c46ad7cdb {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .u-inline-4c46ad7cdb > div {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-bottom: 10px !important;
        overflow: hidden !important;
    }

    .u-inline-4c46ad7cdb > div > div {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }
}

.item-cancelamento-futuro {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #d9e2ef;
    border-radius: 10px;
    background: #f8fbff;
    padding: 10px 12px;
    font-weight: 600;
}

.item-cancelamento-futuro input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}
.u-inline-d5b43342a2 { grid-column: 1 / -1; }
.u-inline-d7ac18539d { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.u-inline-d7b5a5d1ac { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.u-inline-d7ef75a391 { background:#ffc107;color:#000; }
.u-inline-d8a81eac84 { margin-top:10px; }
.u-inline-d8f767e862 { margin:14px 0; }
.u-inline-d945796574 { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.u-inline-da71aab0cc { font-size:1.2rem; }
.u-inline-dc6b948b7f { margin-top:10px; font-weight:600; color:#0b6efd; }
.u-inline-decb36dac5 { padding: 0 0 12px 0; }
.u-inline-e01dc3eacb { display:flex;justify-content:space-between;align-items:center;gap:10px; }
.u-inline-e1684061da { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

/* Prontuario: organizar campos do cabecalho e da conta */
.u-inline-e1684061da > label,
.u-inline-544f5781d7 > label,
.u-inline-8783b79918 > label {
    display: block;
    min-width: 0;
    margin: 0;
}

.u-inline-e1684061da > label > input,
.u-inline-e1684061da > label > select,
.u-inline-e1684061da > label > textarea,
.u-inline-544f5781d7 > label > input,
.u-inline-544f5781d7 > label > select,
.u-inline-544f5781d7 > label > textarea,
.u-inline-8783b79918 > label > input,
.u-inline-8783b79918 > label > select,
.u-inline-8783b79918 > label > textarea {
    display: block;
    width: 100%;
    margin-top: 6px;
    box-sizing: border-box;
}

.u-inline-8783b79918 > label {
    margin-top: 12px;
}

.u-inline-8783b79918 > label:first-of-type {
    margin-top: 0;
}

.u-inline-544f5781d7 {
    align-items: start;
}
.u-inline-e1dc6060b4 { padding:12px; background:#f8f9fa; border:1px solid #e5e7eb; border-radius:8px; }
.u-inline-e27011e61e { font-size:0.8rem; color:#b02a37; }
.u-inline-e3f61041ef { display:flex;align-items:center;gap:8px; }
.u-inline-e4ad4a163b { margin-bottom:8px; }
.u-inline-e71ae94b55 { font-size:12px; }
.u-inline-e9a030f226 { margin:12px 0; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.u-inline-ea3493c739 { font-size:12px;color:#4b5563;margin-top:2px; }
.u-inline-ea5ee984a9 { background: var(--cor-botao-novo); }
.u-inline-eae0ab55e4 { font-size:12px; color:#8a0000; }
.u-inline-eb9c1fe235 { border:1px solid #e1e5eb; border-radius:8px; padding:8px; margin-bottom:8px; background:#fff; }
.u-inline-ec1a92cd72 { ' . $s . '; }
.u-inline-ec500079f8 { background:#0b6efd;color:#fff; padding:6px 10px; }
.u-inline-ee3ba85bc7 { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.u-inline-f06aec1133 { margin:0 0 10px; }
.u-inline-f0a5737151 { background: var(--cor-botao-editar); }
.u-inline-f1e1db13d6 { background:#0dcaf0;color:#00323f; }
.u-inline-f25ff4fa8b { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;border:1px solid #dbe3f0;border-radius:10px;padding:10px;background:#f8fafc; align-items:start; }

/* Padrao de alinhamento dos controles de permissoes (todos os perfis) */
.u-inline-f25ff4fa8b .u-inline-745a09dbf6 > .rotulo-toggle,
.u-inline-7c4ef4ba5e .u-inline-745a09dbf6 > .rotulo-toggle {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    background: #f8fafc;
    box-sizing: border-box;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    overflow: hidden;
}

.u-inline-f25ff4fa8b .u-inline-745a09dbf6 > .rotulo-toggle > span,
.u-inline-7c4ef4ba5e .u-inline-745a09dbf6 > .rotulo-toggle > span {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
    line-height: 1.2;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: none;
}

.u-inline-f25ff4fa8b .u-inline-745a09dbf6 > .rotulo-toggle > input[type="checkbox"],
.u-inline-7c4ef4ba5e .u-inline-745a09dbf6 > .rotulo-toggle > input[type="checkbox"] {
    order: 2;
    margin-right: 0;
}

.u-inline-f25ff4fa8b .u-inline-745a09dbf6,
.u-inline-7c4ef4ba5e .u-inline-745a09dbf6 {
    grid-template-columns: 1fr;
}
.u-inline-f2892a2e8a { display: none; }
.u-inline-f3b3f2e4d2 { width:100%; border-collapse:collapse; }
.u-inline-f3eecf9a5d { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.u-inline-f534786570 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap:12px; }
.u-inline-f573bc78da { padding:8px;border-bottom:1px solid #eee; }
.u-inline-f618c6082b { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: end; }
.u-inline-bd7fd42db7 { display:flex; gap:8px; flex-wrap:wrap; }
.u-inline-cc53df6f0a { margin-top:10px; font-weight:600; color:#475569; }
.u-inline-f85a994367 { margin-top:10px; padding:8px 12px; background:#e7f1ff; border:1px solid #b6d4fe; border-radius:8px; color:#084298; }
.u-inline-f8b42db3d4 { background:#e7f1ff; }
.u-inline-f9a606a0f9 { color:#0f172a; margin-bottom:10px; }
.u-inline-facf43b0e9 { display:flex; gap:8px; align-items:center; margin-top:10px; }
.u-inline-fb7599848a { background:#6f42c1;color:#fff; }
.u-inline-fc689bde8f { background:#e7f7e7; }
/* INLINE_STYLE_MIGRATION_END */

.financeiro-confirmacao-popup-cartao {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.financeiro-confirmacao-popup-resumo {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    padding: 12px;
    border: 1px solid #d6deea;
    border-radius: 10px;
    background: var(--cor-fundo-campos-sistema, #ffffff);
}

.financeiro-confirmacao-popup-formulario {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.financeiro-confirmacao-popup-grade {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.financeiro-ocr-cartao {
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid #dbe4f0;
}

.financeiro-ocr-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.financeiro-ocr-enviar-arquivo {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.financeiro-ocr-enviar-arquivo input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

select[data-select-convertido="1"] {
    display: none !important;
}

.campo-autocomplete-entidade {
    width: 100%;
    max-width: 100%;
}

.formulario-transferencia-profissional {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin-top: 12px;
}

.formulario-transferencia-profissional > .campo-formulario,
.formulario-transferencia-profissional > label,
.formulario-transferencia-profissional > .preferencias-checkbox-linha,
.formulario-transferencia-profissional > .u-inline-ee3ba85bc7 {
    width: 100%;
    max-width: 100%;
}

.formulario-transferencia-profissional > .campo-formulario {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    max-width: 100%;
}

.formulario-transferencia-profissional > .campo-formulario > label,
.formulario-transferencia-profissional > label {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 0;
    text-align: left;
}

.formulario-transferencia-profissional > .campo-formulario > input[type="text"],
.formulario-transferencia-profissional > .campo-formulario > input[type="file"],
.formulario-transferencia-profissional > .campo-formulario > select,
.formulario-transferencia-profissional > .campo-formulario > textarea,
.formulario-transferencia-profissional > .campo-formulario > .campo-autocomplete-entidade,
.formulario-transferencia-profissional > label > input[type="text"],
.formulario-transferencia-profissional > label > input[type="file"],
.formulario-transferencia-profissional > label > select,
.formulario-transferencia-profissional > label > textarea,
.formulario-transferencia-profissional > label > .campo-autocomplete-entidade {
    width: 100%;
    max-width: 100%;
}

.formulario-transferencia-profissional > .campo-formulario > textarea,
.formulario-transferencia-profissional > label > textarea {
    min-height: 118px;
    resize: vertical;
}

.formulario-transferencia-profissional .preferencias-checkbox-linha {
    border: 1px solid #d6deea;
    border-radius: 10px;
    padding: 10px 12px !important;
}

.formulario-transferencia-profissional > .u-inline-ee3ba85bc7 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
}

.formulario-transferencia-profissional > .u-inline-ee3ba85bc7 .botao-sair {
    min-width: 220px;
}

.autocomplete-transferencia-wrapper {
    position: relative;
}

.autocomplete-transferencia-painel {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 40;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 260px;
    overflow-y: auto;
    border: 1px solid #d6deea;
    border-radius: 8px;
    background: var(--cor-fundo-campos-sistema, #ffffff);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
    padding: 4px;
}

.autocomplete-transferencia-item {
    border: 0;
    background: transparent;
    text-align: left;
    color: var(--cor-fonte-sistema, #0f172a);
    padding: 8px 10px;
    border-radius: 6px;
    cursor: pointer;
}

.autocomplete-transferencia-item:hover,
.autocomplete-transferencia-item:focus-visible {
    background: rgba(11, 94, 215, 0.12);
    outline: none;
}

.financeiro-valor-receber-pago {
    color: #0f8a3a !important;
    -webkit-text-fill-color: #0f8a3a !important;
    font-weight: 700;
    white-space: nowrap !important;
    display: inline-block;
}

.financeiro-valor-pagar-pago {
    color: #c62828 !important;
    -webkit-text-fill-color: #c62828 !important;
    font-weight: 700;
    white-space: nowrap !important;
    display: inline-block;
}

.financeiro-coluna-valor {
    white-space: nowrap !important;
    width: 1%;
}

.financeiro-resumo-movimento {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.financeiro-resumo-item {
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    padding: 10px 12px;
    background: var(--cor-fundo-campos-sistema, #ffffff);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.financeiro-tabela-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.financeiro-tabela-lista {
    min-width: 980px;
}

.financeiro-texto-celula {
    display: inline-block;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

.financeiro-lista-modo-acoes {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
    margin-left: 12px;
}

.financeiro-lista-modo-acoes .menu-preferencias-link {
    min-width: 132px;
}

.financeiro-historico-filtros {
    margin-bottom: 12px;
}

.financeiro-historico-abas {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-bottom: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    padding-bottom: 4px;
    align-items: center;
    justify-content: flex-start;
}

.financeiro-historico-abas .menu-preferencias-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 110px;
    width: auto !important;
    max-width: none !important;
    text-decoration: none !important;
    border: 1px solid #cdd9ea !important;
    background: #f4f8ff !important;
    color: #0f172a !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
    font-weight: 600;
}

.financeiro-historico-abas .menu-preferencias-link.ativo {
    background: var(--cor-primaria-sistema, #0b5ed7) !important;
    color: #ffffff !important;
    border-color: var(--cor-primaria-sistema, #0b5ed7) !important;
}

.financeiro-chip-receber {
    color: #0f8a3a !important;
    -webkit-text-fill-color: #0f8a3a !important;
    font-weight: 700;
}

.financeiro-chip-pagar {
    color: #c62828 !important;
    -webkit-text-fill-color: #c62828 !important;
    font-weight: 700;
}

.financeiro-celula-dinamica .financeiro-valor-receber-pago,
.u-inline-916794022d .financeiro-valor-pagar-pago {
    display: inline-block;
}

body.tema-dinamico .financeiro-celula-dinamica .financeiro-valor-receber-pago,
body.tema-dinamico .u-inline-916794022d .financeiro-valor-pagar-pago,
body.tema-dinamico .u-inline-8a65028742 .financeiro-chip-receber,
body.tema-dinamico .u-inline-982c43e451 .financeiro-chip-pagar {
    font-weight: 800 !important;
}

body.tema-dinamico .financeiro-celula-dinamica .financeiro-valor-receber-pago,
body.tema-dinamico .u-inline-8a65028742 .financeiro-chip-receber {
    color: #0f8a3a !important;
    -webkit-text-fill-color: #0f8a3a !important;
}

.afiliados-resumo-painel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin: 10px 0 14px;
}

.afiliados-resumo-card {
    border: 1px solid #dbe3f0;
    border-radius: 10px;
    background: var(--cor-fundo-campos-sistema, #ffffff);
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.afiliados-resumo-card strong {
    font-size: 0.92rem;
}

.afiliados-resumo-card span {
    font-size: 1.08rem;
    font-weight: 700;
}

@media (max-width: 1024px) {
    .financeiro-tabela-lista {
        min-width: 860px;
    }

    .financeiro-texto-celula {
        max-width: 210px;
    }
}

@media (max-width: 767px) {
    .financeiro-tabela-lista {
        min-width: 740px;
    }

    .financeiro-texto-celula {
        max-width: 170px;
    }
}

body.tema-dinamico .u-inline-916794022d .financeiro-valor-pagar-pago,
body.tema-dinamico .u-inline-982c43e451 .financeiro-chip-pagar {
    color: #c62828 !important;
    -webkit-text-fill-color: #c62828 !important;
}

.financeiro-historico-anos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.financeiro-historico-acoes {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.financeiro-ocr-video,
.financeiro-ocr-preview {
    width: 100%;
    max-width: 420px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    margin-bottom: 8px;
}

.financeiro-ocr-status {
    margin: 0;
    font-size: 13px;
    color: #334155;
}

.financeiro-confirmacao-popup-cartao-campos {
    border: 1px solid #d6deea;
    border-radius: 10px;
    padding: 12px;
    background: var(--cor-fundo-campos-sistema, #ffffff);
}

.preferencias-checkbox-linha {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 10px !important;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 24px;
    overflow: hidden;
}

.preferencias-checkbox-linha > span:not(.ajuda-campo) {
    flex: 1 1 auto;
    min-width: 0;
}

.preferencias-checkbox-linha > input[type="checkbox"],
.preferencias-checkbox-linha > input[type="radio"] {
    flex: 0 0 auto;
    order: 2;
    margin-left: auto !important;
    margin-bottom: 0 !important;
}

.preferencias-checkbox-linha.rotulo-com-ajuda {
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    white-space: normal !important;
}

.preferencias-checkbox-linha.rotulo-com-ajuda > span:not(.ajuda-campo) {
    order: 1;
    flex: 1 1 auto;
}

.preferencias-checkbox-linha.rotulo-com-ajuda > input[type="checkbox"],
.preferencias-checkbox-linha.rotulo-com-ajuda > input[type="radio"] {
    order: 2;
    margin-left: 0 !important;
}

.preferencias-checkbox-linha.rotulo-com-ajuda > .ajuda-campo {
    order: 3;
    margin-left: 0 !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
}

@media (max-width: 1024px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    select,
    textarea,
    .formulario input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    .formulario select,
    .formulario textarea,
    .cartao form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    .cartao form select,
    .cartao form textarea {
        font-size: 16px !important;
        line-height: 1.25 !important;
    }
}
