:root {
    --sl-petroleo: var(--sl-cor-petroleo, #123C42);
    --sl-mineral: var(--sl-cor-mineral, #2D6E70);
    --sl-lume: var(--sl-cor-lume, #D89A4A);
    --sl-grafite: var(--sl-cor-grafite, #526267);
    --sl-marfim: var(--sl-cor-marfim, #FFFDFC);
    --sl-fundo: #f4f7f6;
    --sl-borda: #d8e2e1;
    --sl-branco: #ffffff;
    --sl-sucesso: #1d6a50;
    --sl-erro: #a13d3d;
    --sl-aviso: #7c5a18;
}

* {
    box-sizing: border-box;
}


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

body {
    margin: 0;
    min-height: 100vh;
    background: var(--sl-fundo);
    color: var(--sl-petroleo);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
    color: var(--sl-mineral);
}

img {
    max-width: 100%;
}

.sl-pular-conteudo {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 999;
    transform: translateY(-160%);
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--sl-petroleo);
    color: var(--sl-marfim);
    font-weight: 700;
}

.sl-pular-conteudo:focus {
    transform: translateY(0);
}

.sl-container {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.sl-cabecalho-publico {
    min-height: 72px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--sl-borda);
    background: rgba(255, 253, 252, 0.95);
}

.sl-cabecalho-publico__interno {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.sl-marca img {
    display: block;
    width: 190px;
    height: auto;
}

.sl-cabecalho-publico__acoes {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sl-hero {
    min-height: calc(100vh - 128px);
    display: grid;
    align-items: center;
    padding: clamp(48px, 8vw, 110px) 0;
    background:
        radial-gradient(circle at 86% 12%, rgba(216, 154, 74, 0.16), transparent 24rem),
        linear-gradient(145deg, var(--sl-marfim), #eef5f4);
}

.sl-hero__grade {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: clamp(32px, 7vw, 84px);
    align-items: center;
}

.sl-hero h1,
.sl-pagina-titulo h1,
.sl-estado-card h1 {
    font-family: Manrope, Inter, system-ui, sans-serif;
}

.sl-hero h1 {
    margin: 16px 0 20px;
    max-width: 760px;
    font-size: clamp(2.5rem, 6vw, 5.2rem);
    line-height: .98;
    letter-spacing: -0.04em;
}

.sl-hero__conteudo > p {
    max-width: 690px;
    margin: 0;
    color: var(--sl-grafite);
    font-size: clamp(1rem, 2vw, 1.18rem);
    line-height: 1.75;
}

.sl-hero__painel {
    padding: clamp(26px, 4vw, 38px);
    border: 1px solid var(--sl-borda);
    border-radius: 28px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 28px 70px rgba(18, 60, 66, .12);
}

.sl-hero__painel h2 {
    margin-top: 0;
    font-family: Manrope, Inter, sans-serif;
}

.sl-lista-status {
    display: grid;
    gap: 14px;
    margin: 24px 0;
    padding: 0;
    list-style: none;
}

.sl-lista-status li {
    display: flex;
    gap: 10px;
    align-items: center;
    color: var(--sl-grafite);
}

.sl-lista-status span {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(45, 110, 112, .12);
    color: var(--sl-mineral);
    font-weight: 800;
}

.sl-selo {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 11px;
    border: 1px solid rgba(45, 110, 112, .28);
    border-radius: 999px;
    background: rgba(45, 110, 112, .08);
    color: var(--sl-mineral);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.sl-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.sl-botao {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.sl-botao--primario {
    background: var(--sl-petroleo);
    color: var(--sl-marfim);
}

.sl-botao--primario:hover {
    background: #0d3035;
}

.sl-botao--secundario {
    border-color: var(--sl-petroleo);
    background: transparent;
    color: var(--sl-petroleo);
}

.sl-botao--bloco {
    width: 100%;
}

.sl-botao:focus-visible,
a:focus-visible,
button:focus-visible {
    outline: 3px solid rgba(216, 154, 74, .55);
    outline-offset: 3px;
}

.sl-rodape {
    padding: 22px 16px;
    border-top: 1px solid var(--sl-borda);
    background: var(--sl-marfim);
    color: var(--sl-grafite);
    text-align: center;
    font-size: .9rem;
}

.sl-app {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
}

.sl-navegacao {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 24px 18px;
    background: var(--sl-petroleo);
    color: var(--sl-marfim);
}

.sl-navegacao__marca img {
    display: block;
    width: 180px;
    height: auto;
    filter: none;
}

.sl-menu-toggle {
    display: none;
}

.sl-menu {
    display: flex;
    flex: 1;
    flex-direction: column;
    margin-top: 34px;
}

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

.sl-menu__link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #e9f1f0;
    font-weight: 700;
    text-decoration: none;
}

.sl-menu__link:hover,
.sl-menu__link[aria-current="page"] {
    background: rgba(255, 255, 255, .11);
    color: #fff;
}

.sl-menu__link--desativado {
    justify-content: space-between;
    color: rgba(233, 241, 240, .62);
    cursor: not-allowed;
}

.sl-menu__link--desativado small {
    font-size: .68rem;
    font-weight: 600;
}

.sl-menu__secundario {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .10);
}

.sl-menu__usuario {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
    margin-bottom: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .06);
}

.sl-menu__avatar {
    display: inline-grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border: 1px solid rgba(216, 154, 74, .38);
    border-radius: 50%;
    background: rgba(216, 154, 74, .14);
    color: #fff;
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.sl-menu__usuario-texto {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.sl-menu__usuario-nome {
    overflow: hidden;
    color: #fff;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sl-menu__usuario-contexto {
    overflow: hidden;
    color: rgba(233, 241, 240, .68);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sl-menu__logout {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
}

.sl-menu__versao {
    display: block;
    padding: 0 12px 2px;
    color: rgba(233, 241, 240, .42);
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.3;
}

.sl-app__conteudo {
    min-width: 0;
    padding: clamp(24px, 4vw, 54px);
}

.sl-pagina-titulo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.sl-pagina-titulo h1 {
    margin: 10px 0 8px;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -.03em;
}

.sl-pagina-titulo p {
    max-width: 760px;
    margin: 0;
    color: var(--sl-grafite);
    line-height: 1.65;
}

.sl-grade-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.sl-card {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--sl-borda);
    border-radius: 18px;
    background: var(--sl-branco);
    box-shadow: 0 10px 28px rgba(18, 60, 66, .06);
}

.sl-card__rotulo {
    display: block;
    margin-bottom: 12px;
    color: var(--sl-mineral);
    font-size: .82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.sl-card strong {
    display: block;
    margin-bottom: 8px;
    font-family: Manrope, Inter, sans-serif;
    font-size: 1.22rem;
}

.sl-card p {
    margin: 0;
    color: var(--sl-grafite);
    line-height: 1.55;
}

.sl-painel-vazio,
.sl-estado-pagina,
.sl-saude {
    padding: 40px 0;
}

.sl-painel-vazio {
    margin-top: 22px;
    border: 1px dashed #a9bfbd;
    border-radius: 20px;
    background: rgba(255, 255, 255, .6);
    text-align: center;
}

.sl-painel-vazio > div {
    max-width: 620px;
    margin-inline: auto;
    padding: 34px 20px;
}

.sl-painel-vazio__icone {
    display: inline-grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(216, 154, 74, .16);
    color: var(--sl-petroleo);
    font-size: 1.8rem;
}

.sl-estado-pagina {
    min-height: calc(100vh - 128px);
    display: grid;
    place-items: center;
    padding-inline: 16px;
}

.sl-estado-card {
    width: min(100%, 620px);
    padding: clamp(30px, 6vw, 54px);
    border: 1px solid var(--sl-borda);
    border-radius: 24px;
    background: var(--sl-branco);
    box-shadow: 0 24px 60px rgba(18, 60, 66, .1);
    text-align: center;
}

.sl-estado-card__codigo {
    color: var(--sl-lume);
    font-family: Manrope, Inter, sans-serif;
    font-size: 2rem;
    font-weight: 800;
}

.sl-texto-apoio {
    color: var(--sl-grafite);
    line-height: 1.55;
}

.sl-mensagem {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 12px;
    line-height: 1.5;
}

.sl-mensagem--sucesso {
    border-color: rgba(29, 106, 80, .3);
    background: rgba(29, 106, 80, .08);
    color: #15533e;
}

.sl-mensagem--erro {
    border-color: rgba(161, 61, 61, .3);
    background: rgba(161, 61, 61, .08);
    color: #7f2f2f;
}

.sl-mensagem--aviso {
    border-color: rgba(124, 90, 24, .3);
    background: rgba(216, 154, 74, .13);
    color: #66480f;
}

.sl-mensagem--informacao {
    border-color: rgba(45, 110, 112, .28);
    background: rgba(45, 110, 112, .08);
    color: var(--sl-petroleo);
}

.sl-status {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    font-weight: 800;
}

.sl-status--ok {
    background: rgba(29, 106, 80, .1);
    color: var(--sl-sucesso);
}

.sl-status--erro {
    background: rgba(161, 61, 61, .1);
    color: var(--sl-erro);
}

@media (max-width: 1050px) {
    .sl-grade-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 959px) {
    .sl-hero__grade {
        grid-template-columns: 1fr;
    }

    .sl-app {
        display: block;
    }

    .sl-navegacao {
        position: relative;
        height: auto;
        min-height: 74px;
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        padding: 14px 18px;
    }

    .sl-navegacao__marca img {
        width: 150px;
    }

    .sl-menu-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .3);
        border-radius: 10px;
        background: transparent;
        color: #fff;
        font-size: 1.25rem;
    }

    .sl-menu {
        grid-column: 1 / -1;
        display: none;
        margin-top: 14px;
    }

    .sl-menu[data-aberto] {
        display: flex;
    }

    .sl-menu__secundario {
        margin-top: 16px;
        padding-top: 16px;
    }

    .sl-menu__usuario {
        max-width: 320px;
    }
}

@media (max-width: 680px) {
    .sl-container {
        width: min(100% - 24px, 1180px);
    }

    .sl-cabecalho-publico__acoes .sl-botao--secundario {
        display: none;
    }

    .sl-marca img {
        width: 150px;
    }

    .sl-grade-cards {
        grid-template-columns: 1fr;
    }

    .sl-pagina-titulo {
        display: block;
    }

    .sl-app__conteudo {
        padding: 24px 16px 42px;
    }

    .sl-hero h1 {
        font-size: clamp(2.5rem, 14vw, 4rem);
    }
}

/* Item 46 — Controle manual de pagamentos dos pacientes */
.sl-financeiro-conteudo {
    display: grid;
    gap: 1.25rem;
}

.sl-financeiro-topo,
.sl-financeiro-paciente-filtro,
.sl-financeiro-item,
.sl-financeiro-valor-linha {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.sl-financeiro-paciente-filtro h2,
.sl-financeiro-lista-card h2,
.sl-financeiro-form-card h2,
.sl-financeiro-contexto-card h2,
.sl-financeiro-pagamento-card h2,
.sl-financeiro-correcao-card h2,
.sl-financeiro-historico-card h2,
.sl-financeiro-atendimento-card h2 {
    margin: 0.25rem 0 0.75rem;
}

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

.sl-financeiro-resumo strong {
    color: var(--sl-cor-petroleo, #123c42);
    display: block;
    font-family: Manrope, sans-serif;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    margin-top: 0.35rem;
}

.sl-financeiro-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.sl-financeiro-lista {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.sl-financeiro-item {
    border: 1px solid rgba(18, 60, 66, 0.14);
    border-radius: 0.9rem;
    padding: 1rem;
}

.sl-financeiro-item__principal,
.sl-financeiro-item__situacao {
    display: grid;
    gap: 0.2rem;
}

.sl-financeiro-item__situacao {
    justify-items: start;
}

.sl-financeiro-item small,
.sl-financeiro-historico-card small {
    color: var(--sl-cor-grafite, #526267);
}

.sl-financeiro-form-grid,
.sl-financeiro-detalhe-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(17rem, 0.8fr);
    gap: 1rem;
    align-items: start;
}

.sl-financeiro-valor-linha strong {
    color: var(--sl-cor-petroleo, #123c42);
    font-family: Manrope, sans-serif;
    font-size: clamp(1.55rem, 4vw, 2.15rem);
}

.sl-financeiro-atendimento-card,
.sl-financeiro-correcao-card,
.sl-financeiro-historico-card {
    grid-column: 1 / -1;
}

@media (max-width: 800px) {
    .sl-financeiro-topo,
    .sl-financeiro-paciente-filtro,
    .sl-financeiro-item {
        align-items: stretch;
        flex-direction: column;
    }

    .sl-financeiro-resumo,
    .sl-financeiro-form-grid,
    .sl-financeiro-detalhe-grid {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-item .sl-botao,
    .sl-financeiro-topo .sl-botao {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Item 38 — Configurações do profissional */

.sl-configuracoes-conteudo {
    padding-top: clamp(18px, 2vw, 28px);
    padding-bottom: clamp(18px, 2vw, 28px);
}

.sl-configuracoes-conteudo .sl-pagina-titulo {
    margin-bottom: 16px;
}

.sl-configuracoes-conteudo .sl-pagina-titulo h1 {
    margin: 6px 0 4px;
    font-size: clamp(2rem, 3vw, 2.65rem);
    line-height: 1.05;
}

.sl-configuracoes-conteudo .sl-pagina-titulo p {
    max-width: 980px;
    font-size: .95rem;
    line-height: 1.45;
}

.sl-configuracoes-conteudo .sl-selo {
    min-height: 28px;
    padding-block: 4px;
}

.sl-configuracoes-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
    gap: 14px;
    align-items: start;
}

.sl-configuracoes-painel {
    padding: 18px 20px;
}

.sl-configuracoes-painel__cabecalho {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
}

.sl-configuracoes-painel__cabecalho .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .76rem;
}

.sl-configuracoes-painel__cabecalho h2 {
    margin: 0;
    font-size: clamp(1.3rem, 1.8vw, 1.55rem);
    line-height: 1.15;
}

.sl-configuracoes-painel__cabecalho p {
    margin: 0;
    color: var(--sl-grafite);
    font-size: .91rem;
    line-height: 1.4;
}

.sl-configuracoes-formulario {
    display: grid;
    gap: 14px;
}

.sl-configuracoes-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 96px;
    gap: 13px 14px;
}

.sl-configuracoes-form-grid > * {
    min-width: 0;
}

.sl-configuracoes-campo--duplo {
    grid-column: 1 / -1;
}

.sl-configuracoes-form-grid .sl-label {
    margin-bottom: 5px;
    font-size: .86rem;
}

.sl-configuracoes-form-grid .sl-input,
.sl-configuracoes-form-grid .sl-select {
    min-height: 42px;
    padding: .5rem .72rem;
}

.sl-configuracoes-form-grid .sl-help {
    margin-top: 4px;
    font-size: .78rem;
    line-height: 1.3;
}

.sl-configuracoes-separador {
    padding-top: 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-configuracoes-separador h3 {
    margin: 11px 0 3px;
    font-size: 1rem;
}

.sl-configuracoes-separador p {
    margin: 0;
    color: var(--sl-grafite);
    font-size: .84rem;
    line-height: 1.35;
}

.sl-configuracoes-input-uf {
    max-width: none;
    text-transform: uppercase;
}

.sl-configuracoes-acoes {
    margin-top: 0;
    padding-top: 12px;
    border-top: 1px solid var(--sl-borda);
}

.sl-configuracoes-acoes .sl-botao {
    min-height: 42px;
    padding-block: 8px;
}

.sl-configuracoes-dados {
    display: grid;
    gap: 0;
    margin: 0;
}

.sl-configuracoes-dados > div {
    min-width: 0;
    padding: 9px 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-configuracoes-dados > div:first-child {
    padding-top: 0;
    border-top: 0;
}

.sl-configuracoes-dados dt {
    margin-bottom: 2px;
    color: var(--sl-grafite);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sl-configuracoes-dados dd {
    overflow-wrap: anywhere;
    margin: 0;
    color: var(--sl-petroleo);
    font-size: .91rem;
    font-weight: 700;
    line-height: 1.3;
}

.sl-configuracoes-estado {
    margin-inline: auto;
}

@media (max-width: 1250px) {
    .sl-configuracoes-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sl-configuracoes-input-uf {
        max-width: 96px;
    }
}

@media (max-width: 1050px) {
    .sl-configuracoes-grid {
        grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr);
    }
}

@media (max-width: 820px) {
    .sl-configuracoes-conteudo {
        padding-top: 18px;
    }

    .sl-configuracoes-grid {
        grid-template-columns: 1fr;
    }

    .sl-configuracoes-resumo {
        order: -1;
    }
}

@media (max-width: 560px) {
    .sl-configuracoes-form-grid {
        grid-template-columns: 1fr;
    }

    .sl-configuracoes-campo--duplo {
        grid-column: auto;
    }

    .sl-configuracoes-input-uf {
        max-width: 96px;
    }

    .sl-configuracoes-acoes .sl-botao {
        width: 100%;
    }
}

/* Item 39 — Equipes e seleção de contexto */

.sl-menu__contexto-form {
    display: grid;
    gap: 6px;
    margin-bottom: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .06);
}

.sl-menu__contexto-form label {
    color: rgba(233, 241, 240, .72);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.sl-menu__contexto-controles {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
}

.sl-menu__contexto-controles select,
.sl-menu__contexto-controles button {
    min-width: 0;
    min-height: 34px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    font: inherit;
    font-size: .75rem;
}

.sl-menu__contexto-controles select {
    width: 100%;
    padding: 5px 8px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.sl-menu__contexto-controles select option {
    color: var(--sl-petroleo);
}

.sl-menu__contexto-controles button {
    padding: 5px 9px;
    background: rgba(216, 154, 74, .16);
    color: #fff;
    cursor: pointer;
    font-weight: 800;
}

.sl-menu__contexto-controles button:hover {
    background: rgba(216, 154, 74, .26);
}

.sl-equipes-conteudo {
    padding-top: clamp(18px, 2vw, 28px);
    padding-bottom: clamp(28px, 4vw, 48px);
}

.sl-equipes-conteudo .sl-pagina-titulo {
    margin-bottom: 16px;
}

.sl-equipes-conteudo .sl-pagina-titulo h1 {
    margin: 6px 0 4px;
    font-size: clamp(2rem, 3vw, 2.65rem);
    line-height: 1.05;
}

.sl-equipes-conteudo .sl-pagina-titulo p {
    max-width: 980px;
    font-size: .95rem;
    line-height: 1.45;
}

.sl-equipes-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    gap: 14px;
    align-items: start;
}

.sl-equipes-painel,
.sl-equipes-detalhe {
    padding: 18px 20px;
}

.sl-equipes-painel__cabecalho,
.sl-equipes-detalhe__cabecalho,
.sl-equipes-membros-cabecalho {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.sl-equipes-painel__cabecalho {
    margin-bottom: 12px;
}

.sl-equipes-painel__cabecalho .sl-card__rotulo,
.sl-equipes-detalhe__cabecalho .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .76rem;
}

.sl-equipes-painel__cabecalho h2,
.sl-equipes-detalhe__cabecalho h2,
.sl-equipes-membros-cabecalho h3,
.sl-equipes-adicionar h3 {
    margin: 0;
    font-family: Manrope, Inter, sans-serif;
}

.sl-equipes-painel__cabecalho h2,
.sl-equipes-detalhe__cabecalho h2 {
    font-size: clamp(1.3rem, 1.8vw, 1.55rem);
}

.sl-equipes-contagem {
    display: inline-grid;
    min-width: 34px;
    height: 34px;
    padding-inline: 9px;
    place-items: center;
    border-radius: 999px;
    background: rgba(45, 110, 112, .1);
    color: var(--sl-mineral);
    font-size: .85rem;
    font-weight: 800;
}

.sl-equipes-lista {
    display: grid;
    gap: 7px;
}

.sl-equipes-item {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid var(--sl-borda);
    border-radius: 12px;
    background: #fff;
    color: var(--sl-petroleo);
    text-decoration: none;
}

.sl-equipes-item:hover,
.sl-equipes-item.is-active {
    border-color: rgba(45, 110, 112, .45);
    background: rgba(45, 110, 112, .06);
}

.sl-equipes-item > span:first-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.sl-equipes-item strong {
    overflow: hidden;
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    font-size: .94rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sl-equipes-item small {
    color: var(--sl-grafite);
    font-size: .76rem;
}

.sl-equipes-vazio {
    padding: 18px 14px;
    border: 1px dashed #a9bfbd;
    border-radius: 12px;
    background: rgba(255, 255, 255, .55);
}

.sl-equipes-vazio strong {
    margin-bottom: 5px;
    font-size: .96rem;
}

.sl-equipes-vazio p,
.sl-equipes-detalhe__cabecalho p,
.sl-equipes-adicionar p,
.sl-equipes-membros-cabecalho p {
    margin: 0;
    color: var(--sl-grafite);
    font-size: .86rem;
    line-height: 1.4;
}

.sl-equipes-form {
    display: grid;
    gap: 12px;
}

.sl-equipes-form .sl-label,
.sl-equipes-adicionar__form .sl-label {
    margin-bottom: 5px;
    font-size: .86rem;
}

.sl-equipes-form .sl-input,
.sl-equipes-adicionar__form .sl-input {
    min-height: 42px;
    padding: .5rem .72rem;
}

.sl-equipes-form .sl-help {
    margin-top: 4px;
    font-size: .78rem;
    line-height: 1.3;
}

.sl-equipes-form .sl-botao {
    justify-self: start;
    min-height: 42px;
    padding-block: 8px;
}

.sl-equipes-detalhe {
    margin-top: 14px;
}

.sl-equipes-detalhe__cabecalho {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--sl-borda);
}

.sl-equipes-detalhe__cabecalho > div:first-child {
    min-width: 0;
}

.sl-equipes-detalhe__cabecalho h2 {
    margin-bottom: 4px;
    overflow-wrap: anywhere;
}

.sl-equipes-adicionar {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
    gap: 18px;
    align-items: end;
    padding: 16px 0;
    border-bottom: 1px solid var(--sl-borda);
}

.sl-equipes-adicionar h3,
.sl-equipes-membros-cabecalho h3 {
    margin-bottom: 4px;
    font-size: 1rem;
}

.sl-equipes-adicionar__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.sl-equipes-adicionar__form .sl-field {
    min-width: 0;
}

.sl-equipes-adicionar__form .sl-botao {
    min-height: 42px;
    padding-block: 8px;
}

.sl-equipes-membros-cabecalho {
    padding: 16px 0 10px;
}

.sl-equipes-membros {
    display: grid;
    gap: 8px;
}

.sl-equipes-membro {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 12px;
    border: 1px solid var(--sl-borda);
    border-radius: 12px;
    background: #fff;
}

.sl-equipes-membro.is-inactive {
    background: rgba(82, 98, 103, .04);
    opacity: .8;
}

.sl-equipes-membro__identidade {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.sl-equipes-membro__identidade strong {
    overflow-wrap: anywhere;
    margin: 0;
    font-family: Inter, system-ui, sans-serif;
    font-size: .92rem;
}

.sl-equipes-membro__identidade span {
    overflow-wrap: anywhere;
    color: var(--sl-grafite);
    font-size: .78rem;
}

.sl-equipes-membro__meta {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.sl-equipes-membro__meta form {
    margin: 0;
}

.sl-equipes-historico {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--sl-borda);
}

.sl-equipes-historico summary {
    cursor: pointer;
    color: var(--sl-mineral);
    font-size: .86rem;
    font-weight: 800;
}

.sl-equipes-membros--historico {
    margin-top: 10px;
}

.sl-equipes-orientacao {
    margin-top: 14px;
}

@media (max-width: 1080px) {
    .sl-equipes-grid {
        grid-template-columns: 1fr;
    }

    .sl-equipes-adicionar {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 720px) {
    .sl-equipes-conteudo {
        padding-top: 18px;
    }

    .sl-equipes-painel,
    .sl-equipes-detalhe {
        padding: 16px;
    }

    .sl-equipes-adicionar__form {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .sl-equipes-adicionar__form .sl-botao,
    .sl-equipes-form .sl-botao {
        width: 100%;
    }

    .sl-equipes-membro {
        align-items: flex-start;
        flex-direction: column;
    }

    .sl-equipes-membro__meta {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 420px) {
    .sl-menu__contexto-controles {
        grid-template-columns: 1fr;
    }

    .sl-equipes-membro__meta {
        align-items: stretch;
        flex-direction: column;
    }

    .sl-equipes-membro__meta .sl-button {
        width: 100%;
    }
}


.sl-navegacao__marca {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 1.75rem;
    padding: 0;
}

.sl-navegacao__marca a,
.sl-navegacao__marca-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FFFDFC;
    border: 1px solid rgba(18, 60, 66, 0.10);
    border-radius: 16px;
    padding: 0.75rem 0.875rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
    text-decoration: none;
    max-width: 100%;
}

.sl-navegacao__marca img {
    display: block;
    width: 178px;
    max-width: 100%;
    height: auto;
    filter: none;
}

/* =========================================================
   SILUME — MARCA NA BARRA LATERAL
   ========================================================= */

.sl-navegacao > .sl-navegacao__marca {
    display: flex;
    width: 100%;
    min-height: 72px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 12px 14px;
    margin: 0 0 22px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 14px;
    background: #FFFDFC;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
    text-decoration: none;
}

.sl-navegacao > .sl-navegacao__marca img {
    display: block;
    width: 178px;
    max-width: 100%;
    height: auto;
    filter: none;
}

@media (max-width: 760px) {
    .sl-navegacao > .sl-navegacao__marca {
        width: auto;
        min-height: 54px;
        justify-content: flex-start;
        padding: 8px 10px;
        margin: 0;
    }

    .sl-navegacao > .sl-navegacao__marca img {
        width: 145px;
    }
}


/* Item 41 — Cadastro e gestão de pacientes */

.sl-status--neutro {
    background: rgba(82, 98, 103, .10);
    color: var(--sl-grafite);
}

.sl-pacientes-conteudo {
    padding-top: clamp(18px, 2vw, 28px);
    padding-bottom: clamp(24px, 3vw, 42px);
}

.sl-pacientes-titulo {
    align-items: flex-end;
    gap: 18px;
}

.sl-pacientes-titulo > div:first-child {
    min-width: 0;
}

.sl-pacientes-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.sl-pacientes-filtro {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid var(--sl-borda);
    border-radius: 999px;
    background: #fff;
    color: var(--sl-grafite);
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
}

.sl-pacientes-filtro:hover,
.sl-pacientes-filtro:focus-visible,
.sl-pacientes-filtro.is-active {
    border-color: var(--sl-mineral);
    color: var(--sl-petroleo);
}

.sl-pacientes-filtro.is-active {
    background: rgba(45, 110, 112, .08);
}

.sl-pacientes-filtro span {
    display: inline-flex;
    min-width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    padding-inline: 6px;
    border-radius: 999px;
    background: rgba(18, 60, 66, .08);
    font-size: .76rem;
}

.sl-pacientes-lista {
    display: grid;
    gap: 8px;
}

.sl-paciente-item {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid var(--sl-borda);
    border-radius: 14px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.sl-paciente-item:hover,
.sl-paciente-item:focus-visible {
    border-color: rgba(45, 110, 112, .55);
    box-shadow: 0 8px 22px rgba(18, 60, 66, .08);
    transform: translateY(-1px);
}

.sl-paciente-item__identidade {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.sl-paciente-item__identidade strong {
    overflow-wrap: anywhere;
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: .98rem;
}

.sl-paciente-item__identidade small {
    overflow-wrap: anywhere;
    color: var(--sl-grafite);
    font-size: .78rem;
}

.sl-paciente-item__meta {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
}

.sl-paciente-item__abrir {
    color: var(--sl-mineral);
    font-size: .82rem;
    font-weight: 800;
}

.sl-pacientes-vazio {
    min-height: 300px;
}

.sl-pacientes-form-card {
    max-width: 1040px;
}

.sl-pacientes-secao-form {
    display: grid;
    gap: 14px;
}

.sl-pacientes-secao-form + .sl-pacientes-secao-form {
    padding-top: 18px;
    border-top: 1px solid var(--sl-borda);
}

.sl-pacientes-form-cabecalho {
    margin-bottom: 0;
}

.sl-pacientes-form-cabecalho h2,
.sl-pacientes-status-card h2 {
    margin: 4px 0 6px;
    color: var(--sl-petroleo);
    font-size: 1.15rem;
}

.sl-pacientes-form-cabecalho p,
.sl-pacientes-status-card p {
    margin: 0;
    color: var(--sl-grafite);
    font-size: .88rem;
    line-height: 1.55;
}

.sl-pacientes-formulario {
    display: grid;
    gap: 18px;
}

.sl-pacientes-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.sl-pacientes-form-grid > * {
    min-width: 0;
}

.sl-pacientes-campo--duplo {
    grid-column: span 2;
}

.sl-pacientes-campo--uf {
    max-width: 120px;
}

.sl-pacientes-aviso-dados {
    padding: 11px 13px;
    border-left: 3px solid var(--sl-lume);
    border-radius: 8px;
    background: rgba(216, 154, 74, .08);
    color: var(--sl-grafite);
    font-size: .82rem;
    line-height: 1.5;
}

.sl-pacientes-form-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 4px;
    border-top: 1px solid var(--sl-borda);
}

.sl-feedback-etiqueta {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 11px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.sl-feedback-etiqueta--sucesso {
    border-color: rgba(29, 106, 80, .24);
    background: rgba(29, 106, 80, .10);
    color: var(--sl-sucesso);
}

.sl-feedback-etiqueta--erro {
    border-color: rgba(165, 55, 55, .24);
    background: rgba(165, 55, 55, .08);
    color: var(--sl-erro);
}

.sl-feedback-etiqueta--aviso,
.sl-feedback-etiqueta--informacao {
    border-color: var(--sl-borda);
    background: var(--sl-superficie-suave);
    color: var(--sl-grafite);
}

.sl-mensagem--inline {
    margin-bottom: 0;
}

.sl-pacientes-status-card .sl-mensagem--inline {
    width: 100%;
}

.sl-pacientes-detalhe-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 18px;
    align-items: start;
}

.sl-pacientes-detalhe-grid .sl-pacientes-form-card {
    max-width: none;
}

.sl-pacientes-status-card {
    display: grid;
    gap: 12px;
}

.sl-pacientes-status-card .sl-status {
    justify-self: start;
}

.sl-pacientes-proximo-modulo {
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid var(--sl-borda);
}

.sl-pacientes-proximo-modulo strong {
    display: block;
    margin-bottom: 4px;
    color: var(--sl-petroleo);
    font-size: .86rem;
}

@media (max-width: 900px) {
    .sl-pacientes-detalhe-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .sl-pacientes-titulo {
        align-items: stretch;
    }

    .sl-pacientes-titulo .sl-botao {
        width: 100%;
    }

    .sl-paciente-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .sl-paciente-item__meta {
        width: 100%;
        justify-content: space-between;
    }

    .sl-pacientes-form-grid {
        grid-template-columns: 1fr;
    }

    .sl-pacientes-campo--duplo {
        grid-column: auto;
    }

    .sl-pacientes-campo--uf {
        max-width: none;
    }

    .sl-pacientes-form-acoes {
        align-items: stretch;
    }

    .sl-feedback-etiqueta {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }

    .sl-pacientes-form-acoes .sl-botao {
        width: 100%;
    }
}

/* Item 42 — Agenda e agendamentos */

.sl-agenda-conteudo {
    padding-top: clamp(18px, 2vw, 28px);
    padding-bottom: clamp(22px, 3vw, 40px);
}

.sl-agenda-pagina-titulo {
    margin-bottom: 18px;
}

.sl-agenda-pagina-titulo h1 {
    margin: 6px 0 4px;
    font-size: clamp(2rem, 3vw, 2.65rem);
    line-height: 1.05;
}

.sl-agenda-pagina-titulo p {
    max-width: 900px;
    font-size: .95rem;
    line-height: 1.45;
}

.sl-agenda-titulo-acoes,
.sl-agenda-navegacao-semana {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.sl-agenda-card {
    padding: 0;
    overflow: hidden;
}

.sl-agenda-toolbar {
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px 18px;
    border-bottom: 1px solid var(--sl-borda);
    background: rgba(255, 253, 252, .92);
}

.sl-agenda-botao-semana {
    width: 42px;
    min-width: 42px;
    padding-inline: 0;
    font-size: 1.35rem;
}

.sl-agenda-periodo {
    min-width: 0;
    text-align: center;
}

.sl-agenda-periodo .sl-card__rotulo {
    margin-bottom: 2px;
}

.sl-agenda-periodo strong {
    display: block;
    margin: 0;
    font-size: 1.05rem;
}

.sl-agenda-periodo small {
    display: block;
    margin-top: 3px;
    color: var(--sl-grafite);
    font-size: .76rem;
}

.sl-agenda-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: auto;
}

.sl-agenda-scroll:focus-visible {
    outline: 3px solid rgba(45, 110, 112, .22);
    outline-offset: -3px;
}

.sl-agenda-semana {
    min-width: 980px;
    background: var(--sl-branco);
}

.sl-agenda-cabecalho-grade {
    display: grid;
    grid-template-columns: 64px repeat(7, minmax(120px, 1fr));
    border-bottom: 1px solid var(--sl-borda);
}

.sl-agenda-cabecalho-hora,
.sl-agenda-dia-cabecalho {
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sl-agenda-cabecalho-hora {
    color: var(--sl-grafite);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.sl-agenda-dia-cabecalho {
    position: relative;
    flex-direction: column;
    gap: 1px;
    border-left: 1px solid var(--sl-borda);
    color: var(--sl-grafite);
}

.sl-agenda-dia-cabecalho span {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.sl-agenda-dia-cabecalho strong {
    margin: 0;
    color: var(--sl-petroleo);
    font-size: 1rem;
}

.sl-agenda-dia-cabecalho a {
    position: absolute;
    right: 8px;
    top: 50%;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 50%;
    color: var(--sl-mineral);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transform: translateY(-50%);
}

.sl-agenda-dia-cabecalho a:hover,
.sl-agenda-dia-cabecalho a:focus-visible {
    border-color: rgba(45, 110, 112, .24);
    background: rgba(45, 110, 112, .08);
}

.sl-agenda-dia-cabecalho.is-hoje,
.sl-agenda-dia-coluna.is-hoje {
    background-color: rgba(216, 154, 74, .055);
}

.sl-agenda-dia-cabecalho.is-hoje strong {
    color: var(--sl-lume);
}

.sl-agenda-semana-vazia {
    min-height: 250px;
    display: grid;
    place-items: center;
    padding: 30px 64px 34px;
    background:
        linear-gradient(to right, transparent 63px, var(--sl-borda) 64px, transparent 65px),
        var(--sl-branco);
    text-align: center;
}

.sl-agenda-semana-vazia > div {
    max-width: 560px;
}

.sl-agenda-semana-vazia h2 {
    margin: 12px 0 6px;
    font-size: 1.35rem;
}

.sl-agenda-semana-vazia p {
    margin: 0 0 18px;
    color: var(--sl-grafite);
    line-height: 1.5;
}

.sl-agenda-timeline {
    position: relative;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    min-height: 180px;
    background: var(--sl-branco);
}

.sl-agenda-eixo {
    position: relative;
    min-height: 100%;
    border-right: 1px solid var(--sl-borda);
    background: rgba(244, 248, 247, .42);
}

.sl-agenda-eixo span {
    position: absolute;
    right: 8px;
    color: var(--sl-grafite);
    font-size: .68rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    transform: translateY(-50%);
}

.sl-agenda-colunas {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(7, minmax(120px, 1fr));
}

.sl-agenda-dia-coluna {
    position: relative;
    min-height: 100%;
    border-left: 1px solid var(--sl-borda);
    background-image: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 53px,
        rgba(18, 60, 66, .085) 53px,
        rgba(18, 60, 66, .085) 54px
    );
}

.sl-agenda-dia-coluna:first-child {
    border-left: 0;
}

.sl-agenda-evento {
    position: absolute;
    z-index: 2;
    left: 6px;
    right: 6px;
    min-height: 0;
    display: block;
    padding: 6px 7px;
    overflow: hidden;
    border: 1px solid rgba(45, 110, 112, .3);
    border-radius: 9px;
    background: rgba(45, 110, 112, .11);
    box-shadow: 0 4px 10px rgba(18, 60, 66, .08);
    color: var(--sl-petroleo);
    text-decoration: none;
}

.sl-agenda-evento:hover,
.sl-agenda-evento:focus-visible {
    z-index: 5;
    border-color: var(--sl-mineral);
    background: rgba(45, 110, 112, .17);
    box-shadow: 0 8px 18px rgba(18, 60, 66, .14);
}

.sl-agenda-evento--bloqueio {
    border-color: rgba(216, 154, 74, .58);
    background: rgba(216, 154, 74, .16);
    color: var(--sl-petroleo);
}

.sl-agenda-evento--bloqueio:hover,
.sl-agenda-evento--bloqueio:focus-visible {
    border-color: var(--sl-lume);
    background: rgba(216, 154, 74, .24);
}

.sl-agenda-evento strong,
.sl-agenda-evento span,
.sl-agenda-evento small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sl-agenda-evento strong {
    margin: 0 0 1px;
    font-family: Manrope, Inter, sans-serif;
    font-size: .76rem;
    line-height: 1.2;
}

.sl-agenda-evento span {
    font-size: .68rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.sl-agenda-evento small {
    margin-top: 2px;
    color: currentColor;
    font-size: .61rem;
    opacity: .7;
}

/* Compromissos curtos usam uma única linha para não cortar o conteúdo. */
.sl-agenda-evento.is-compacto {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 1px 6px;
}

.sl-agenda-evento.is-compacto strong {
    min-width: 0;
    margin: 0;
    flex: 1 1 auto;
    font-size: .7rem;
    line-height: 1.1;
}

.sl-agenda-evento.is-compacto span {
    flex: 0 0 auto;
    font-size: .61rem;
    line-height: 1.1;
}

.sl-agenda-evento.is-compacto span::before {
    content: "· ";
}

.sl-agenda-evento.is-compacto small {
    display: none;
}

.sl-agenda-form-card {
    max-width: 960px;
}

.sl-agenda-form {
    display: grid;
    gap: 0;
}

.sl-agenda-form-secao {
    padding: 22px 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-agenda-form-secao:first-of-type {
    border-top: 0;
}

.sl-agenda-form-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.sl-agenda-form-topo .sl-agenda-form-cabecalho {
    margin-bottom: 0;
}

.sl-agenda-feedback-detalhe {
    flex: 0 1 360px;
    margin-left: auto;
}

.sl-agenda-feedback-detalhe .sl-mensagem {
    margin: 0;
    padding: 10px 12px;
    font-size: .86rem;
    text-align: right;
}

.sl-agenda-form-cabecalho {
    margin-bottom: 14px;
}

.sl-agenda-form-cabecalho .sl-card__rotulo {
    margin-bottom: 4px;
}

.sl-agenda-form-cabecalho h2,
.sl-agenda-resumo-card h2,
.sl-agenda-historico h2 {
    margin: 0 0 5px;
    font-size: 1.2rem;
}

.sl-agenda-form-cabecalho p {
    margin: 0;
    color: var(--sl-grafite);
    line-height: 1.45;
}

.sl-agenda-tipo {
    padding-bottom: 22px;
}

.sl-agenda-escolhas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.sl-agenda-escolha {
    min-height: 86px;
    padding: 14px;
    border: 1px solid var(--sl-borda);
    border-radius: 12px;
    background: rgba(255, 253, 252, .8);
}

.sl-agenda-escolha:has(input:checked) {
    border-color: rgba(45, 110, 112, .45);
    background: rgba(45, 110, 112, .07);
}

.sl-agenda-escolha span {
    display: grid;
    gap: 3px;
}

.sl-agenda-escolha strong {
    font-size: .95rem;
}

.sl-agenda-escolha small {
    color: var(--sl-grafite);
    line-height: 1.35;
}

.sl-agenda-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.sl-agenda-recorrencia-fim {
    max-width: 340px;
    margin-top: 12px;
}

.sl-agenda-form-acoes {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--sl-borda);
}

.sl-agenda-form-erro-rodape {
    flex: 0 1 auto;
    width: auto;
    max-width: 520px;
    margin: 0;
    padding: 10px 12px;
    font-size: .86rem;
    line-height: 1.35;
}

.sl-agenda-detalhe-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
    gap: 18px;
    align-items: start;
}

.sl-agenda-detalhe-grid .sl-agenda-form-card {
    max-width: none;
}

.sl-agenda-resumo-card {
    position: sticky;
    top: 24px;
}

.sl-agenda-resumo-card .sl-status {
    margin-bottom: 16px;
}

.sl-agenda-dl {
    display: grid;
    gap: 0;
    margin: 0 0 18px;
}

.sl-agenda-dl div {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--sl-borda);
}

.sl-agenda-dl dt {
    color: var(--sl-grafite);
    font-size: .76rem;
    font-weight: 700;
}

.sl-agenda-dl dd {
    margin: 0;
    color: var(--sl-petroleo);
    font-size: .86rem;
    font-weight: 700;
}

.sl-agenda-historico {
    margin-top: 18px;
}

.sl-agenda-historico-lista {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.sl-agenda-historico-item {
    padding: 12px 14px;
    border: 1px solid var(--sl-borda);
    border-radius: 12px;
    background: rgba(244, 248, 247, .45);
}

.sl-agenda-historico-item strong,
.sl-agenda-historico-item small {
    display: block;
}

.sl-agenda-historico-item strong {
    font-size: .9rem;
}

.sl-agenda-historico-item small {
    margin-top: 2px;
    color: var(--sl-grafite);
    font-size: .7rem;
}

.sl-agenda-historico-item p {
    margin: 7px 0 0;
    color: var(--sl-grafite);
    font-size: .82rem;
}

@media (max-width: 1050px) {
    .sl-agenda-toolbar {
        grid-template-columns: 1fr auto;
    }

    .sl-agenda-periodo {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .sl-agenda-navegacao-semana {
        grid-column: 1;
        grid-row: 2;
    }

    .sl-agenda-toolbar > .sl-botao:last-child {
        grid-column: 2;
        grid-row: 2;
    }

    .sl-agenda-detalhe-grid {
        grid-template-columns: 1fr;
    }

    .sl-agenda-resumo-card {
        position: static;
    }
}

@media (max-width: 680px) {
    .sl-agenda-pagina-titulo > .sl-botao,
    .sl-agenda-pagina-titulo > .sl-agenda-titulo-acoes {
        width: 100%;
        margin-top: 14px;
    }

    .sl-agenda-titulo-acoes .sl-botao {
        flex: 1 1 160px;
    }

    .sl-agenda-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        padding: 14px;
    }

    .sl-agenda-periodo {
        width: 100%;
        order: -1;
        text-align: left;
    }

    .sl-agenda-navegacao-semana {
        flex: 1 1 auto;
    }

    .sl-agenda-toolbar > .sl-botao:last-child {
        flex: 0 0 auto;
    }

    .sl-agenda-semana {
        min-width: 900px;
    }

    .sl-agenda-timeline {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .sl-agenda-cabecalho-grade {
        grid-template-columns: 58px repeat(7, minmax(116px, 1fr));
    }

    .sl-agenda-escolhas,
    .sl-agenda-form-grid {
        grid-template-columns: 1fr;
    }

    .sl-agenda-form-card,
    .sl-agenda-resumo-card,
    .sl-agenda-historico {
        padding: 18px;
    }

    .sl-agenda-form-acoes .sl-botao {
        width: 100%;
    }
}


/* Item 42 — feedback do detalhe do agendamento */
@media (max-width: 680px) {
    .sl-agenda-form-topo {
        flex-direction: column;
    }

    .sl-agenda-feedback-detalhe {
        width: 100%;
        max-width: none;
        margin-left: 0;
    }

    .sl-agenda-feedback-detalhe .sl-mensagem {
        text-align: left;
    }
}

/* ==========================================================
   SILUME — PADRÃO DE FEEDBACK EM FORMULÁRIOS
   Feedback de operações locais permanece dentro do card,
   na mesma barra das ações do formulário.
   ========================================================== */

.sl-form-feedback-inline {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    margin-right: auto;
}

.sl-form-feedback-inline:empty {
    display: none;
}

.sl-form-feedback-inline .sl-mensagem {
    width: auto;
    max-width: 560px;
    margin: 0;
    padding: 10px 12px;
    font-size: .86rem;
    line-height: 1.35;
}

@media (max-width: 680px) {
    .sl-form-feedback-inline {
        width: 100%;
        flex-basis: 100%;
        justify-content: flex-start;
        margin-right: 0;
    }

    .sl-form-feedback-inline .sl-mensagem {
        width: 100%;
        max-width: none;
    }
}

.sl-agenda-recorrencia-opcoes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.sl-agenda-recorrencia-opcao {
    min-height: 74px;
    padding: 12px;
    border: 1px solid var(--sl-borda);
    border-radius: 10px;
    background: rgba(255, 253, 252, .78);
}

.sl-agenda-recorrencia-opcao:has(input:checked) {
    border-color: rgba(45, 110, 112, .45);
    background: rgba(45, 110, 112, .07);
}

.sl-agenda-recorrencia-opcao span {
    display: grid;
    gap: 2px;
}

.sl-agenda-recorrencia-opcao small {
    color: var(--sl-grafite);
    line-height: 1.3;
}

@media (max-width: 760px) {
    .sl-agenda-recorrencia-opcoes {
        grid-template-columns: 1fr;
    }
}

/* Item 42 — centralização vertical das etiquetas da Agenda */
.sl-agenda-evento {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Etiquetas compactas permanecem em uma linha,
   mas com o conteúdo centralizado verticalmente. */
.sl-agenda-evento.is-compacto {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

/* ==========================================================
   Item 42 — identificação visual por paciente

   A cor é somente um auxílio de reconhecimento visual.
   Não representa status, diagnóstico ou informação clínica.
   ========================================================== */

.sl-agenda-evento--atendimento[data-paciente-cor] {
    border-left-width: 4px;
    border-left-color: var(--sl-agenda-paciente-acento);
    padding-left: 7px;
}

.sl-agenda-evento--atendimento[data-paciente-cor]:hover,
.sl-agenda-evento--atendimento[data-paciente-cor]:focus-visible {
    border-left-color: var(--sl-agenda-paciente-acento);
}

.sl-agenda-evento--atendimento[data-paciente-cor="1"] {
    --sl-agenda-paciente-acento: #2D6E70;
}

.sl-agenda-evento--atendimento[data-paciente-cor="2"] {
    --sl-agenda-paciente-acento: #527C93;
}

.sl-agenda-evento--atendimento[data-paciente-cor="3"] {
    --sl-agenda-paciente-acento: #6A7294;
}

.sl-agenda-evento--atendimento[data-paciente-cor="4"] {
    --sl-agenda-paciente-acento: #7A6F8D;
}

.sl-agenda-evento--atendimento[data-paciente-cor="5"] {
    --sl-agenda-paciente-acento: #71866B;
}

.sl-agenda-evento--atendimento[data-paciente-cor="6"] {
    --sl-agenda-paciente-acento: #8A7163;
}

/* ==========================================================
   Item 42 — cancelamento futuro na inativação
   ========================================================== */

.sl-pacientes-cancelar-futuros {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 14px 0;
    padding: 12px 13px;
    border: 1px solid rgba(18, 60, 66, 0.14);
    border-radius: 10px;
    background: rgba(45, 110, 112, 0.045);
    cursor: pointer;
}

.sl-pacientes-cancelar-futuros input {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    accent-color: #2D6E70;
}

.sl-pacientes-cancelar-futuros span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.sl-pacientes-cancelar-futuros strong {
    color: #123C42;
    font-size: 0.88rem;
    line-height: 1.35;
    font-weight: 650;
}

.sl-pacientes-cancelar-futuros small {
    color: #526267;
    font-size: 0.78rem;
    line-height: 1.45;
}

/* ==========================================================
   Item 42 — paleta ampliada de pacientes v2

   As cores servem apenas para reconhecimento visual rápido.
   Não representam status ou informação clínica.
   ========================================================== */

.sl-agenda-evento--atendimento[data-paciente-cor] {
    border-left-width: 6px;
    border-left-style: solid;
    border-left-color: var(--sl-agenda-paciente-acento);
    background: var(--sl-agenda-paciente-fundo);
    box-shadow:
        inset 0 0 0 1px var(--sl-agenda-paciente-borda);
    padding-left: 7px;
}

.sl-agenda-evento--atendimento[data-paciente-cor]:hover,
.sl-agenda-evento--atendimento[data-paciente-cor]:focus-visible {
    border-left-color: var(--sl-agenda-paciente-acento);
    background: var(--sl-agenda-paciente-fundo);
}

/* Azul */
.sl-agenda-evento--atendimento[data-paciente-cor="1"] {
    --sl-agenda-paciente-acento: #376F9D;
    --sl-agenda-paciente-borda: #AFC9DD;
    --sl-agenda-paciente-fundo: #E9F2F8;
}

/* Roxo */
.sl-agenda-evento--atendimento[data-paciente-cor="2"] {
    --sl-agenda-paciente-acento: #7457A5;
    --sl-agenda-paciente-borda: #C9BCE0;
    --sl-agenda-paciente-fundo: #F1EDF8;
}

/* Verde */
.sl-agenda-evento--atendimento[data-paciente-cor="3"] {
    --sl-agenda-paciente-acento: #478269;
    --sl-agenda-paciente-borda: #B5D1C3;
    --sl-agenda-paciente-fundo: #EAF4EF;
}

/* Terracota */
.sl-agenda-evento--atendimento[data-paciente-cor="4"] {
    --sl-agenda-paciente-acento: #B2643C;
    --sl-agenda-paciente-borda: #DFC0AE;
    --sl-agenda-paciente-fundo: #FAEEE8;
}

/* Ameixa */
.sl-agenda-evento--atendimento[data-paciente-cor="5"] {
    --sl-agenda-paciente-acento: #A34E76;
    --sl-agenda-paciente-borda: #DBB6C7;
    --sl-agenda-paciente-fundo: #F8EAF1;
}

/* Turquesa */
.sl-agenda-evento--atendimento[data-paciente-cor="6"] {
    --sl-agenda-paciente-acento: #32858B;
    --sl-agenda-paciente-borda: #A8CFD1;
    --sl-agenda-paciente-fundo: #E7F4F4;
}

/* Oliva */
.sl-agenda-evento--atendimento[data-paciente-cor="7"] {
    --sl-agenda-paciente-acento: #7C783B;
    --sl-agenda-paciente-borda: #D1CEA5;
    --sl-agenda-paciente-fundo: #F5F4E8;
}

/* Índigo */
.sl-agenda-evento--atendimento[data-paciente-cor="8"] {
    --sl-agenda-paciente-acento: #55649E;
    --sl-agenda-paciente-borda: #B9C0DE;
    --sl-agenda-paciente-fundo: #ECEFFA;
}

/* Malva */
.sl-agenda-evento--atendimento[data-paciente-cor="9"] {
    --sl-agenda-paciente-acento: #875781;
    --sl-agenda-paciente-borda: #D1B8CF;
    --sl-agenda-paciente-fundo: #F5EDF4;
}

/* Verde oliva claro */
.sl-agenda-evento--atendimento[data-paciente-cor="10"] {
    --sl-agenda-paciente-acento: #668746;
    --sl-agenda-paciente-borda: #BED2AA;
    --sl-agenda-paciente-fundo: #EEF5E8;
}

/* Tijolo */
.sl-agenda-evento--atendimento[data-paciente-cor="11"] {
    --sl-agenda-paciente-acento: #96584C;
    --sl-agenda-paciente-borda: #D7B8B1;
    --sl-agenda-paciente-fundo: #F8ECEA;
}

/* Verde petróleo */
.sl-agenda-evento--atendimento[data-paciente-cor="12"] {
    --sl-agenda-paciente-acento: #477866;
    --sl-agenda-paciente-borda: #B2CDC3;
    --sl-agenda-paciente-fundo: #EAF3F0;
}

/* ==========================================================
   Item 42 — ações principais da Agenda no mobile
   ========================================================== */

@media (max-width: 640px) {

    /*
     * Identifica especificamente o container que possui
     * Novo compromisso + Novo bloqueio.
     * Não interfere nos links "+" existentes em cada dia.
     */
    div:has(> a.sl-botao[href*="/aplicacao/agenda/novo.php"][href*="tipo=bloqueio"])
       :not(*) {
        display: none;
    }

    div:has(> a.sl-botao[href="/aplicacao/agenda/novo.php"])
       :has(> a.sl-botao[href*="/aplicacao/agenda/novo.php"][href*="tipo=bloqueio"]) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0.65rem !important;
        width: 100% !important;
    }

    div:has(> a.sl-botao[href="/aplicacao/agenda/novo.php"])
       :has(> a.sl-botao[href*="/aplicacao/agenda/novo.php"][href*="tipo=bloqueio"])
       > .sl-botao {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}

/* ==========================================================
   Item 43 — Atendimentos e estados operacionais
   ========================================================== */

.sl-status--aviso {
    border-color: rgba(216, 154, 74, .34);
    background: rgba(216, 154, 74, .14);
    color: #72501f;
}

.sl-atendimento-vinculo-status {
    display: grid;
    gap: 2px;
    margin: -4px 0 16px;
    padding: 10px 12px;
    border: 1px solid var(--sl-borda);
    border-radius: 10px;
    background: rgba(45, 110, 112, .045);
}

.sl-atendimento-vinculo-status small {
    color: var(--sl-grafite);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.sl-atendimento-vinculo-status strong {
    color: var(--sl-petroleo);
    font-family: Manrope, Inter, sans-serif;
    font-size: .92rem;
}

.sl-atendimento-acoes-agenda {
    display: grid;
    gap: 8px;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--sl-borda);
}

.sl-agenda-estado-atendimento {
    font-style: normal;
    font-weight: 700;
}

.sl-atendimento-conteudo {
    min-width: 0;
}

.sl-atendimento-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .7fr);
    gap: 18px;
    align-items: start;
}

.sl-atendimento-principal h2,
.sl-atendimento-resumo h2 {
    margin: 0;
}

.sl-atendimento-status-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.sl-atendimento-status-linha .sl-status {
    flex: 0 0 auto;
}

.sl-atendimento-acoes {
    margin-top: 18px;
}

.sl-atendimento-resumo {
    position: sticky;
    top: 24px;
}

@media (max-width: 900px) {
    .sl-atendimento-grid {
        grid-template-columns: 1fr;
    }

    .sl-atendimento-resumo {
        position: static;
    }
}

@media (max-width: 640px) {
    .sl-atendimento-status-linha {
        align-items: flex-start;
        flex-direction: column;
    }

    .sl-atendimento-acoes .sl-botao {
        width: 100%;
    }
}

/* ==========================================================
   SILUME — ITEM 44 — REFINAMENTO VISUAL
   Registro clínico e histórico versionado
   ========================================================== */

/*
 * Escala e ritmo geral
 */
.sl-atendimento-conteudo {
    width: min(100%, 1360px);
    margin-inline: auto;
    padding-top: clamp(18px, 2vw, 28px);
    padding-bottom: clamp(28px, 3vw, 42px);
}

.sl-atendimento-topo {
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 16px;
}

.sl-atendimento-topo > div:first-child {
    min-width: 0;
}

.sl-atendimento-topo h1 {
    margin: 6px 0 3px;
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1.02;
}

.sl-atendimento-topo p {
    font-size: .9rem;
    line-height: 1.35;
}

.sl-atendimento-topo .sl-agenda-titulo-acoes {
    max-width: 620px;
    justify-content: flex-end;
}

/*
 * Estado operacional + resumo
 */
.sl-atendimento-grid {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 300px);
    gap: 14px;
}

.sl-atendimento-estado-card {
    padding: 18px 20px;
}

.sl-atendimento-estado-card .sl-card__rotulo,
.sl-atendimento-resumo--compacto .sl-card__rotulo {
    margin-bottom: 8px;
    font-size: .73rem;
}

.sl-atendimento-status-linha {
    margin-bottom: 10px;
}

.sl-atendimento-status-linha h2 {
    font-size: clamp(1.5rem, 2.2vw, 1.9rem);
    line-height: 1.1;
}

.sl-atendimento-estado-card .sl-mensagem {
    margin-bottom: 10px;
}

.sl-atendimento-estado-card .sl-texto-apoio {
    font-size: .9rem;
    line-height: 1.5;
}

.sl-atendimento-acoes {
    margin-top: 14px;
}

.sl-atendimento-resumo--compacto {
    top: 18px;
    padding: 16px 18px;
}

.sl-atendimento-resumo--compacto .sl-agenda-dl {
    margin-bottom: 9px;
}

.sl-atendimento-resumo--compacto .sl-agenda-dl div {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
    padding: 7px 0;
}

.sl-atendimento-resumo--compacto .sl-agenda-dl dt {
    font-size: .68rem;
}

.sl-atendimento-resumo--compacto .sl-agenda-dl dd {
    font-size: .79rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.sl-atendimento-resumo--compacto .sl-help {
    margin: 0;
    font-size: .72rem;
    line-height: 1.45;
}

/*
 * Histórico administrativo: presente, porém secundário.
 */
.sl-atendimento-historico-admin {
    margin-top: 14px;
    padding: 15px 18px;
    background: rgba(255, 253, 252, .72);
    box-shadow: none;
}

.sl-atendimento-historico-admin .sl-card__rotulo {
    margin-bottom: 5px;
    font-size: .7rem;
}

.sl-atendimento-historico-admin h2 {
    margin-bottom: 0;
    font-size: 1.02rem;
}

.sl-atendimento-historico-admin .sl-agenda-historico-lista {
    gap: 7px;
    margin-top: 10px;
}

.sl-atendimento-historico-admin .sl-agenda-historico-item {
    padding: 9px 11px;
    border-radius: 10px;
    background: rgba(244, 248, 247, .34);
}

.sl-atendimento-historico-admin .sl-agenda-historico-item strong {
    font-size: .82rem;
}

.sl-atendimento-historico-admin .sl-agenda-historico-item small {
    font-size: .66rem;
}

.sl-atendimento-historico-admin .sl-agenda-historico-item p {
    margin-top: 4px;
    font-size: .74rem;
}

/*
 * Área clínica: principal foco funcional da página.
 */
.sl-clinico-card {
    position: relative;
    margin-top: 14px;
    padding: 20px;
    overflow: hidden;
    border-color: rgba(45, 110, 112, .34);
    box-shadow: 0 14px 36px rgba(18, 60, 66, .075);
}

.sl-clinico-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--sl-mineral);
}

.sl-clinico-card > .sl-card__rotulo {
    margin-bottom: 5px;
    color: var(--sl-mineral);
    font-size: .73rem;
}

.sl-clinico-card > h2 {
    margin-bottom: 12px;
    font-size: 1.25rem;
}

.sl-clinico-card > .sl-texto-apoio {
    max-width: 900px;
    margin-bottom: 14px;
    font-size: .86rem;
}

.sl-clinico-registro {
    padding: 15px 16px;
    border-color: rgba(45, 110, 112, .24);
    background: #fff;
}

.sl-clinico-registro > strong {
    margin-bottom: 3px;
    font-size: .98rem;
}

.sl-clinico-registro > small {
    margin-bottom: 8px;
    font-size: .68rem;
}

.sl-clinico-registro > .sl-texto-apoio {
    margin: 8px 0 6px;
    padding: 11px 13px;
    border-left: 3px solid rgba(45, 110, 112, .5);
    border-radius: 8px;
    background: rgba(45, 110, 112, .045);
    color: var(--sl-petroleo);
    font-size: .9rem;
    line-height: 1.55;
}

/*
 * Formulário de correção: compacto e claramente separado da leitura.
 */
.sl-clinico-correcao,
.sl-clinico-versoes {
    margin-top: 9px;
    border-top: 1px solid var(--sl-borda);
}

.sl-clinico-correcao > summary,
.sl-clinico-versoes > summary {
    padding: 9px 2px 5px;
    cursor: pointer;
    color: var(--sl-petroleo);
    font-size: .84rem;
    font-weight: 800;
}

.sl-clinico-correcao > summary:hover,
.sl-clinico-correcao > summary:focus-visible,
.sl-clinico-versoes > summary:hover,
.sl-clinico-versoes > summary:focus-visible {
    color: var(--sl-mineral);
}

.sl-clinico-correcao form {
    gap: 12px;
    margin-top: 8px;
    padding: 13px;
    border: 1px solid var(--sl-borda);
    border-radius: 12px;
    background: rgba(244, 248, 247, .36);
}

.sl-clinico-correcao .sl-label {
    font-size: .8rem;
}

.sl-clinico-correcao textarea.sl-input {
    min-height: 142px;
    line-height: 1.55;
    resize: vertical;
}

.sl-clinico-correcao input.sl-input {
    min-height: 42px;
}

.sl-clinico-correcao .sl-help {
    margin-top: 4px;
    font-size: .72rem;
    line-height: 1.4;
}

.sl-clinico-correcao .sl-pacientes-form-acoes {
    padding-top: 10px;
}

/*
 * Histórico de versões: versão atual evidente; anteriores discretas.
 */
.sl-clinico-versoes .sl-agenda-historico-lista {
    gap: 8px;
    margin-top: 8px;
}

.sl-clinico-versao {
    position: relative;
    padding: 11px 13px;
    border-radius: 10px;
}

.sl-clinico-versao > strong {
    margin-bottom: 2px;
    font-size: .84rem;
}

.sl-clinico-versao > small {
    font-size: .65rem;
}

.sl-clinico-versao > p {
    margin-top: 6px;
    font-size: .76rem;
}

.sl-clinico-versao > .sl-texto-apoio {
    margin-top: 6px;
    color: var(--sl-petroleo);
    font-size: .82rem;
    line-height: 1.5;
}

.sl-clinico-versao--atual {
    border-color: rgba(29, 106, 80, .28);
    background: rgba(29, 106, 80, .055);
    box-shadow: inset 3px 0 0 rgba(29, 106, 80, .62);
}

.sl-clinico-versao--atual > strong {
    color: var(--sl-sucesso);
}

.sl-clinico-versao--historica {
    border-color: rgba(82, 98, 103, .14);
    background: rgba(82, 98, 103, .025);
}

/*
 * Histórico do paciente: linha do tempo de metadados, sem competir
 * visualmente com o conteúdo da sessão atual.
 */
.sl-clinico-paciente-card {
    margin-top: 14px;
    padding: 16px 18px;
    background: rgba(255, 253, 252, .76);
    box-shadow: none;
}

.sl-clinico-paciente-card .sl-card__rotulo {
    margin-bottom: 5px;
    font-size: .7rem;
}

.sl-clinico-paciente-card h2 {
    margin-bottom: 4px;
    font-size: 1.02rem;
}

.sl-clinico-paciente-card > .sl-texto-apoio {
    max-width: 880px;
    font-size: .78rem;
    line-height: 1.45;
}

.sl-clinico-paciente-card .sl-agenda-historico-lista {
    gap: 6px;
    margin-top: 10px;
}

.sl-clinico-paciente-item {
    padding: 9px 11px;
    border-radius: 10px;
    background: rgba(45, 110, 112, .025);
}

.sl-clinico-paciente-item strong {
    margin-bottom: 2px;
    font-size: .8rem;
}

.sl-clinico-paciente-item small {
    font-size: .65rem;
}

.sl-clinico-paciente-item p {
    margin-top: 4px;
    font-size: .75rem;
}

.sl-clinico-paciente-item a {
    font-weight: 800;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/*
 * Skip link: invisível fora do foco, visível e utilizável ao navegar
 * por teclado.
 */
.sl-pular-conteudo {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.sl-pular-conteudo:focus,
.sl-pular-conteudo:focus-visible {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/*
 * Desktop intermediário
 */
@media (max-width: 1100px) {
    .sl-atendimento-conteudo {
        width: 100%;
    }

    .sl-atendimento-grid {
        grid-template-columns: minmax(0, 1fr) minmax(235px, 280px);
    }
}

/*
 * Tablet
 */
@media (max-width: 900px) {
    .sl-atendimento-topo {
        align-items: stretch;
        flex-direction: column;
    }

    .sl-atendimento-topo .sl-agenda-titulo-acoes {
        width: 100%;
        max-width: none;
        justify-content: flex-start;
    }

    .sl-atendimento-grid {
        grid-template-columns: 1fr;
    }

    .sl-atendimento-resumo--compacto {
        position: static;
    }
}

/*
 * Mobile
 */
@media (max-width: 680px) {
    .sl-atendimento-conteudo {
        padding: 18px 14px 34px;
    }

    .sl-atendimento-topo {
        margin-bottom: 12px;
    }

    .sl-atendimento-topo h1 {
        font-size: clamp(1.8rem, 10vw, 2.35rem);
    }

    .sl-atendimento-topo .sl-agenda-titulo-acoes {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sl-atendimento-topo .sl-agenda-titulo-acoes .sl-botao {
        width: 100%;
    }

    .sl-atendimento-estado-card,
    .sl-atendimento-resumo--compacto,
    .sl-atendimento-historico-admin,
    .sl-clinico-card,
    .sl-clinico-paciente-card {
        padding: 15px;
        border-radius: 14px;
    }

    .sl-atendimento-status-linha {
        gap: 8px;
    }

    .sl-atendimento-resumo--compacto .sl-agenda-dl div {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    .sl-clinico-registro {
        padding: 12px;
    }

    .sl-clinico-registro > .sl-texto-apoio {
        padding: 10px 11px;
        font-size: .86rem;
    }

    .sl-clinico-correcao form {
        padding: 11px;
    }

    .sl-clinico-correcao textarea.sl-input {
        min-height: 124px;
    }

    .sl-clinico-correcao .sl-pacientes-form-acoes .sl-botao {
        width: 100%;
    }

    .sl-clinico-versao,
    .sl-clinico-paciente-item {
        padding: 10px 11px;
    }
}

/* ==========================================================
   SILUME — ITEM 44 — REFINAMENTO VISUAL V2
   ========================================================== */

.sl-atendimento-conteudo {
    --sl-atendimento-resumo-largura: 300px;
    --sl-atendimento-gap: 14px;
}

.sl-atendimento-grid {
    grid-template-columns:
        minmax(0, 1fr)
        var(--sl-atendimento-resumo-largura);
    gap: var(--sl-atendimento-gap);
}

.sl-atendimento-status-linha {
    align-items: center;
    margin-bottom: 10px;
}

.sl-atendimento-tempos {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}

.sl-atendimento-tempo {
    display: grid;
    gap: 1px;
    min-width: 0;
    padding: 5px 8px;
    border-left: 1px solid var(--sl-borda);
    text-align: right;
}

.sl-atendimento-tempo small {
    color: var(--sl-grafite);
    font-size: .61rem;
    font-weight: 700;
    line-height: 1.2;
}

.sl-atendimento-tempo strong {
    margin: 0;
    color: var(--sl-petroleo);
    font-family: Inter, system-ui, sans-serif;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.sl-atendimento-tempos .sl-status {
    min-height: 30px;
    padding: 5px 10px;
    font-size: .76rem;
}

.sl-clinico-card {
    width: calc(
        100%
        - var(--sl-atendimento-resumo-largura)
        - var(--sl-atendimento-gap)
    );
    margin-top: var(--sl-atendimento-gap);
    margin-right: auto;
}

.sl-clinico-registro {
    padding: 12px 14px;
}

.sl-clinico-registro > strong {
    margin-bottom: 0;
}

.sl-clinico-correcao,
.sl-clinico-versoes {
    margin-top: 7px;
}

.sl-clinico-correcao > summary,
.sl-clinico-versoes > summary {
    padding: 8px 2px;
}

.sl-clinico-correcao textarea.sl-input {
    min-height: 118px;
}

.sl-clinico-versoes .sl-agenda-historico-lista {
    margin-top: 6px;
}

@media (max-width: 1100px) {
    .sl-atendimento-conteudo {
        --sl-atendimento-resumo-largura: 280px;
    }
}

@media (max-width: 900px) {
    .sl-atendimento-conteudo {
        --sl-atendimento-resumo-largura: 0px;
        --sl-atendimento-gap: 12px;
    }

    .sl-clinico-card {
        width: 100%;
    }

    .sl-atendimento-tempos {
        flex-wrap: wrap;
    }
}

@media (max-width: 680px) {
    .sl-atendimento-status-linha {
        align-items: flex-start;
    }

    .sl-atendimento-tempos {
        width: 100%;
        justify-content: flex-start;
        margin-left: 0;
    }

    .sl-atendimento-tempo {
        padding-left: 0;
        padding-right: 10px;
        border-left: 0;
        border-right: 1px solid var(--sl-borda);
        text-align: left;
    }

    .sl-atendimento-tempo strong {
        white-space: normal;
    }
}

/* ==========================================================
   SILUME — ITEM 44 — REFINAMENTO VISUAL V3
   ========================================================== */

.sl-atendimento-grid {
    align-items: start;
}

.sl-atendimento-principal {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
}

.sl-atendimento-resumo {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
}

.sl-clinico-card {
    grid-column: 1;
    grid-row: 2;
    width: auto;
    margin-top: 6px;
    margin-right: 0;
    align-self: start;
}

.sl-clinico-versoes .sl-agenda-historico-item strong {
    display: block;
    margin-bottom: 6px;
}

.sl-clinico-versoes .sl-agenda-historico-item small {
    display: none;
}

.sl-clinico-versoes .sl-agenda-historico-item p {
    margin-top: 8px;
}

@media (max-width: 900px) {
    .sl-atendimento-principal,
    .sl-atendimento-resumo,
    .sl-clinico-card {
        grid-column: 1;
        grid-row: auto;
    }

    .sl-clinico-card {
        width: 100%;
        margin-top: 8px;
    }
}

/* ==========================================================
   SILUME — ITEM 44 — REFINAMENTO VISUAL V4
   ========================================================== */

.sl-clinico-versoes .sl-agenda-historico-item > small {
    display: block;
    margin-top: -2px;
    margin-bottom: 8px;
    color: var(--sl-grafite);
    font-size: .65rem;
    line-height: 1.35;
}

.sl-clinico-versoes .sl-agenda-historico-item p > strong {
    display: inline;
    margin: 0 .28em 0 0;
}

.sl-clinico-versoes .sl-agenda-historico-item p {
    line-height: 1.5;
}

/* ==========================================================
   SILUME — PADRONIZAÇÃO VISUAL DO AGENDAMENTO
   Mesmo padrão da página Atendimento
   ========================================================== */

.sl-agendamento-detalhe-conteudo {
    width: min(100%, 1360px);
    margin-inline: auto;
}

.sl-agendamento-topo {
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 16px;
}

.sl-agendamento-topo > div:first-child {
    min-width: 0;
}

.sl-agendamento-topo h1 {
    margin: 6px 0 3px;
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1.02;
}

.sl-agendamento-topo .sl-agenda-titulo-acoes {
    max-width: 620px;
    justify-content: flex-end;
}

.sl-agendamento-detalhe-grid {
    grid-template-columns:
        minmax(0, 1fr)
        var(--sl-atendimento-resumo-largura);
    gap: var(--sl-atendimento-gap);
    align-items: start;
}

.sl-agendamento-horario-card {
    grid-column: 1;
    grid-row: 1;
    max-width: none;
    padding: 18px 20px;
    margin: 0;
}

.sl-agendamento-horario-card .sl-agenda-form-topo {
    margin-bottom: 10px;
}

.sl-agendamento-horario-card .sl-agenda-form-cabecalho {
    width: 100%;
}

.sl-agendamento-horario-card .sl-card__rotulo,
.sl-agendamento-resumo-card .sl-card__rotulo {
    margin-bottom: 8px;
    font-size: .73rem;
}

.sl-agendamento-horario-card .sl-atendimento-status-linha {
    margin-bottom: 0;
}

.sl-agendamento-horario-card .sl-atendimento-status-linha h2 {
    margin: 0;
    font-size: clamp(1.5rem, 2.2vw, 1.9rem);
    line-height: 1.1;
}

.sl-agendamento-horario-card .sl-agenda-form-cabecalho > p {
    margin-top: 9px;
    font-size: .86rem;
    line-height: 1.45;
}

.sl-agendamento-horario-card .sl-mensagem {
    margin-bottom: 10px;
}

.sl-agendamento-horario-card .sl-agenda-form {
    margin-top: 4px;
}

.sl-agendamento-horario-card .sl-agenda-form-grid {
    gap: 12px;
}

.sl-agendamento-horario-card .sl-agenda-form-acoes {
    padding-top: 14px;
}

.sl-agendamento-resumo-card {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    top: 18px;
    padding: 16px 18px;
}

.sl-agendamento-resumo-card .sl-agenda-dl {
    margin-bottom: 9px;
}

.sl-agendamento-resumo-card .sl-agenda-dl div {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
    padding: 7px 0;
}

.sl-agendamento-resumo-card .sl-agenda-dl dt {
    font-size: .68rem;
}

.sl-agendamento-resumo-card .sl-agenda-dl dd {
    overflow-wrap: anywhere;
    font-size: .79rem;
    line-height: 1.35;
}

.sl-agendamento-resumo-card .sl-atendimento-acoes-agenda {
    margin-top: 8px;
}

.sl-agendamento-resumo-card .sl-botao {
    min-height: 42px;
    padding-block: 8px;
    font-size: .82rem;
}

@media (max-width: 1100px) {
    .sl-agendamento-detalhe-grid {
        grid-template-columns:
            minmax(0, 1fr)
            var(--sl-atendimento-resumo-largura);
    }
}

@media (max-width: 900px) {
    .sl-agendamento-topo {
        align-items: stretch;
        flex-direction: column;
    }

    .sl-agendamento-topo .sl-agenda-titulo-acoes {
        width: 100%;
        max-width: none;
        justify-content: flex-start;
    }

    .sl-agendamento-detalhe-grid {
        grid-template-columns: 1fr;
    }

    .sl-agendamento-horario-card,
    .sl-agendamento-resumo-card {
        grid-column: 1;
        grid-row: auto;
    }

    .sl-agendamento-resumo-card {
        position: static;
    }
}

@media (max-width: 680px) {
    .sl-agendamento-detalhe-conteudo {
        padding: 18px 14px 34px;
    }

    .sl-agendamento-topo {
        margin-bottom: 12px;
    }

    .sl-agendamento-topo h1 {
        font-size: clamp(1.8rem, 10vw, 2.35rem);
    }

    .sl-agendamento-topo .sl-agenda-titulo-acoes {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    .sl-agendamento-topo .sl-agenda-titulo-acoes .sl-botao {
        width: 100%;
    }

    .sl-agendamento-horario-card,
    .sl-agendamento-resumo-card {
        padding: 15px;
        border-radius: 14px;
    }

    .sl-agendamento-horario-card .sl-atendimento-status-linha {
        gap: 8px;
    }

    .sl-agendamento-resumo-card .sl-agenda-dl div {
        grid-template-columns: 74px minmax(0, 1fr);
    }
}

/* ==========================================================
   SILUME — AGENDA — FERIADOS NACIONAIS
   Sinalização informativa; não bloqueia agendamentos.
   ========================================================== */

.sl-agenda-dia-cabecalho.is-feriado {
    min-height: 84px;
    padding-block: 6px;
    background-color: rgba(216, 154, 74, .095);
    box-shadow: inset 0 3px 0 rgba(216, 154, 74, .62);
}

.sl-agenda-dia-cabecalho.is-feriado strong {
    color: var(--sl-petroleo);
}

.sl-agenda-feriado {
    display: -webkit-box;
    max-width: calc(100% - 38px);
    margin-top: 2px;
    overflow: hidden;
    color: #72501f;
    font-size: .58rem;
    font-weight: 750;
    line-height: 1.15;
    text-align: center;
    text-overflow: ellipsis;
    text-transform: none;
    letter-spacing: 0;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sl-agenda-feriado::before {
    content: "Feriado · ";
    font-weight: 900;
}

.sl-agenda-dia-coluna.is-feriado {
    background-color: rgba(216, 154, 74, .035);
}

.sl-agenda-dia-cabecalho.is-hoje.is-feriado {
    background-color: rgba(216, 154, 74, .13);
}

@media (max-width: 680px) {
    .sl-agenda-dia-cabecalho.is-feriado {
        min-height: 82px;
    }

    .sl-agenda-feriado {
        font-size: .56rem;
    }
}

/* ==========================================================
   SILUME — PADRONIZAÇÃO VISUAL DO FINANCEIRO
   Mesmo padrão consolidado de Agendamento e Atendimento
   ========================================================== */

/*
 * Ritmo geral e cabeçalho.
 */
.sl-financeiro-conteudo {
    width: min(100%, 1360px);
    margin-inline: auto;
    padding-top: clamp(18px, 2vw, 28px);
    padding-bottom: clamp(28px, 3vw, 42px);
}

.sl-financeiro-topo--padrao {
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 16px;
}

.sl-financeiro-topo--padrao > div:first-child {
    min-width: 0;
}

.sl-financeiro-topo--padrao h1 {
    margin: 6px 0 3px;
    font-size: clamp(2rem, 3vw, 2.7rem);
    line-height: 1.02;
}

.sl-financeiro-topo--padrao p {
    max-width: 900px;
    font-size: .9rem;
    line-height: 1.4;
}

.sl-financeiro-topo--padrao > .sl-botao,
.sl-financeiro-topo--padrao .sl-agenda-titulo-acoes {
    flex: 0 0 auto;
}

/*
 * Listagem — resumo e filtro no mesmo nível de densidade da Agenda.
 */
.sl-financeiro-paciente-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
    padding: 14px 16px;
    box-shadow: none;
}

.sl-financeiro-paciente-card .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .7rem;
}

.sl-financeiro-paciente-card h2 {
    display: inline;
    margin: 0 8px 0 0;
    font-size: 1rem;
}

.sl-financeiro-paciente-card > div {
    min-width: 0;
}

.sl-financeiro-paciente-card > a {
    flex: 0 0 auto;
    font-size: .82rem;
    font-weight: 800;
}

.sl-financeiro-resumo--padrao {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 12px;
}

.sl-financeiro-resumo--padrao .sl-card {
    padding: 14px 16px;
    box-shadow: none;
}

.sl-financeiro-resumo--padrao .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .7rem;
}

.sl-financeiro-resumo--padrao .sl-card strong {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    line-height: 1;
}

.sl-financeiro-filtros--padrao {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.sl-financeiro-filtros--padrao .sl-botao {
    min-height: 38px;
    padding: 7px 13px;
    font-size: .82rem;
}

.sl-financeiro-lista-card--padrao {
    padding: 18px 20px;
}

.sl-financeiro-lista-card--padrao > .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .73rem;
}

.sl-financeiro-lista-card--padrao > h2 {
    margin: 0 0 12px;
    font-size: 1.08rem;
}

.sl-financeiro-lista {
    display: grid;
    gap: 8px;
}

.sl-financeiro-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid var(--sl-borda);
    border-radius: 12px;
    background: #fff;
}

.sl-financeiro-item__principal {
    min-width: 0;
}

.sl-financeiro-item__principal strong {
    overflow-wrap: anywhere;
    margin: 0 0 2px;
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: .94rem;
}

.sl-financeiro-item__principal > span {
    display: block;
    color: var(--sl-petroleo);
    font-size: .86rem;
    font-weight: 800;
}

.sl-financeiro-item__principal small,
.sl-financeiro-item__situacao small {
    display: block;
    margin-top: 2px;
    color: var(--sl-grafite);
    font-size: .7rem;
    line-height: 1.35;
}

.sl-financeiro-item__situacao {
    min-width: 125px;
    text-align: right;
}

.sl-financeiro-item__situacao .sl-status {
    min-height: 30px;
    padding: 5px 10px;
    font-size: .76rem;
}

.sl-financeiro-item > .sl-botao {
    min-height: 38px;
    padding: 7px 12px;
    font-size: .8rem;
}

/*
 * Registrar pagamento e detalhe:
 * mesma proporção entre coluna principal e coluna lateral.
 */
.sl-financeiro-form-grid--padrao,
.sl-financeiro-detalhe-grid--padrao {
    grid-template-columns:
        minmax(0, 1fr)
        var(--sl-atendimento-resumo-largura);
    gap: var(--sl-atendimento-gap);
    align-items: start;
}

.sl-financeiro-principal-card {
    grid-column: 1;
    grid-row: 1;
    max-width: none;
    padding: 18px 20px;
    margin: 0;
}

.sl-financeiro-principal-card > .sl-card__rotulo {
    margin-bottom: 7px;
    font-size: .73rem;
}

.sl-financeiro-principal-card > h2,
.sl-financeiro-situacao-card .sl-financeiro-valor-linha strong {
    font-family: Manrope, Inter, system-ui, sans-serif;
}

.sl-financeiro-principal-card > h2 {
    margin: 0 0 12px;
    font-size: clamp(1.35rem, 2vw, 1.65rem);
    line-height: 1.1;
}

.sl-financeiro-form-card .sl-pacientes-formulario {
    gap: 14px;
}

.sl-financeiro-form-card .sl-pacientes-form-grid {
    gap: 12px;
}

.sl-financeiro-form-card .sl-label,
.sl-financeiro-correcao-card .sl-label,
.sl-financeiro-pagamento-card .sl-label {
    font-size: .82rem;
}

.sl-financeiro-form-card .sl-input,
.sl-financeiro-correcao-card .sl-input,
.sl-financeiro-pagamento-card .sl-input {
    min-height: 42px;
}

.sl-financeiro-form-card .sl-help,
.sl-financeiro-correcao-card .sl-help,
.sl-financeiro-pagamento-card .sl-help {
    margin-top: 4px;
    font-size: .72rem;
    line-height: 1.4;
}

.sl-financeiro-form-card .sl-pacientes-form-acoes,
.sl-financeiro-correcao-card .sl-pacientes-form-acoes {
    padding-top: 12px;
}

.sl-financeiro-resumo-card {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    position: sticky;
    top: 18px;
    padding: 16px 18px;
}

.sl-financeiro-resumo-card .sl-card__rotulo {
    margin-bottom: 7px;
    font-size: .7rem;
}

.sl-financeiro-resumo-card h2 {
    margin: 0 0 10px;
    overflow-wrap: anywhere;
    font-size: 1.05rem;
}

.sl-financeiro-resumo-card .sl-agenda-dl {
    margin-bottom: 9px;
}

.sl-financeiro-resumo-card .sl-agenda-dl div {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
    padding: 7px 0;
}

.sl-financeiro-resumo-card .sl-agenda-dl dt {
    font-size: .68rem;
}

.sl-financeiro-resumo-card .sl-agenda-dl dd {
    overflow-wrap: anywhere;
    font-size: .79rem;
    line-height: 1.35;
}

.sl-financeiro-resumo-card .sl-help,
.sl-financeiro-resumo-card .sl-texto-apoio {
    margin: 8px 0 0;
    font-size: .74rem;
    line-height: 1.45;
}

.sl-financeiro-resumo-card form {
    margin: 0;
}

.sl-financeiro-resumo-card .sl-botao {
    width: 100%;
    min-height: 42px;
    padding-block: 8px;
    font-size: .82rem;
}

/*
 * Situação financeira usa a mesma hierarquia do Estado operacional.
 */
.sl-financeiro-valor-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.sl-financeiro-valor-linha strong {
    margin: 0;
    font-size: clamp(1.55rem, 2.4vw, 2rem);
    line-height: 1;
}

.sl-financeiro-valor-linha .sl-status {
    flex: 0 0 auto;
}

.sl-financeiro-situacao-card .sl-agenda-dl {
    margin-bottom: 10px;
}

.sl-financeiro-situacao-card .sl-texto-apoio,
.sl-financeiro-situacao-card .sl-help {
    font-size: .82rem;
}

/*
 * Edição permanece secundária, como o card clínico abaixo da malha
 * principal do Atendimento.
 */
.sl-financeiro-correcao-card--padrao {
    width: calc(
        100%
        - var(--sl-atendimento-resumo-largura)
        - var(--sl-atendimento-gap)
    );
    margin-top: 8px;
    margin-right: auto;
    padding: 18px 20px;
}

.sl-financeiro-correcao-card--padrao .sl-card__rotulo {
    margin-bottom: 5px;
    font-size: .7rem;
}

.sl-financeiro-correcao-card--padrao h2 {
    margin: 0 0 4px;
    font-size: 1.05rem;
}

.sl-financeiro-correcao-card--padrao > .sl-texto-apoio {
    margin-bottom: 12px;
    font-size: .78rem;
}

/*
 * Estados vazios do Financeiro preservam a escala das demais telas.
 */
.sl-financeiro-conteudo .sl-estado-card {
    margin-inline: auto;
}

/*
 * Tablet.
 */
@media (max-width: 900px) {
    .sl-financeiro-topo--padrao {
        align-items: stretch;
        flex-direction: column;
    }

    .sl-financeiro-topo--padrao > .sl-botao,
    .sl-financeiro-topo--padrao .sl-agenda-titulo-acoes {
        width: 100%;
        max-width: none;
        justify-content: flex-start;
    }

    .sl-financeiro-form-grid--padrao,
    .sl-financeiro-detalhe-grid--padrao {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-principal-card,
    .sl-financeiro-resumo-card {
        grid-column: 1;
        grid-row: auto;
    }

    .sl-financeiro-resumo-card {
        position: static;
    }

    .sl-financeiro-correcao-card--padrao {
        width: 100%;
    }
}

/*
 * Mobile.
 */
@media (max-width: 680px) {
    .sl-financeiro-conteudo {
        padding: 18px 14px 34px;
    }

    .sl-financeiro-topo--padrao {
        margin-bottom: 12px;
    }

    .sl-financeiro-topo--padrao h1 {
        font-size: clamp(1.8rem, 10vw, 2.35rem);
    }

    .sl-financeiro-topo--padrao > .sl-botao,
    .sl-financeiro-topo--padrao .sl-agenda-titulo-acoes {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sl-financeiro-topo--padrao .sl-botao {
        width: 100%;
    }

    .sl-financeiro-resumo--padrao {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-paciente-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .sl-financeiro-paciente-card > a {
        width: 100%;
    }

    .sl-financeiro-filtros--padrao {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sl-financeiro-filtros--padrao .sl-botao {
        width: 100%;
    }

    .sl-financeiro-lista-card--padrao,
    .sl-financeiro-principal-card,
    .sl-financeiro-resumo-card,
    .sl-financeiro-correcao-card--padrao {
        padding: 15px;
        border-radius: 14px;
    }

    .sl-financeiro-item {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .sl-financeiro-item__situacao {
        min-width: 0;
        text-align: left;
    }

    .sl-financeiro-item > .sl-botao {
        width: 100%;
    }

    .sl-financeiro-form-card .sl-pacientes-form-grid,
    .sl-financeiro-correcao-card .sl-pacientes-form-grid {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-valor-linha {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .sl-financeiro-resumo-card .sl-agenda-dl div {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    .sl-financeiro-form-card .sl-pacientes-form-acoes .sl-botao,
    .sl-financeiro-correcao-card .sl-pacientes-form-acoes .sl-botao {
        width: 100%;
    }
}

/* ==========================================================
   SILUME — FINANCEIRO — REFINAMENTO VISUAL V2
   ========================================================== */

/*
 * Filtros estáveis: o estado ativo não altera dimensões.
 */
.sl-financeiro-filtros--padrao {
    min-height: 42px;
}

.sl-financeiro-filtros--padrao .sl-botao {
    width: 86px;
    min-width: 86px;
    min-height: 40px;
    padding: 7px 10px;
    flex: 0 0 86px;
    white-space: nowrap;
}

/*
 * Listagem: Situações financeiras à esquerda e um único
 * resumo compacto à direita.
 */
.sl-financeiro-listagem-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 14px;
    align-items: start;
}

.sl-financeiro-listagem-principal {
    min-width: 0;
}

.sl-financeiro-listagem-principal > .sl-financeiro-lista-card--padrao,
.sl-financeiro-listagem-principal > .sl-estado-card {
    width: 100%;
    margin: 0;
}

.sl-financeiro-resumo-lateral {
    position: sticky;
    top: 18px;
    padding: 16px 18px;
}

.sl-financeiro-resumo-lateral > .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .7rem;
}

.sl-financeiro-resumo-lateral__itens {
    display: grid;
    margin-top: 4px;
}

.sl-financeiro-resumo-lateral__itens > .sl-card {
    min-width: 0;
    padding: 10px 0;
    border: 0;
    border-top: 1px solid var(--sl-borda);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.sl-financeiro-resumo-lateral__itens > .sl-card:first-child {
    border-top: 0;
}

.sl-financeiro-resumo-lateral__itens .sl-card__rotulo {
    margin-bottom: 2px;
    font-size: .66rem;
}

.sl-financeiro-resumo-lateral__itens .sl-card strong {
    margin: 0;
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: 1.2rem;
    line-height: 1.15;
}

/*
 * Detalhe: coluna lateral independente. Assim Edição fica
 * imediatamente abaixo de Pagamento informado, mesmo que o
 * card Situação atual seja mais alto.
 */
.sl-financeiro-lateral-stack {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    gap: 14px;
    min-width: 0;
    align-self: start;
}

.sl-financeiro-lateral-stack > .sl-financeiro-resumo-card {
    grid-column: auto;
    grid-row: auto;
    position: static;
    width: 100%;
    margin: 0;
}

.sl-financeiro-lateral-stack > .sl-financeiro-correcao-card--padrao {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    margin: 0;
    padding: 16px 18px;
}

.sl-financeiro-lateral-stack
.sl-financeiro-correcao-card--padrao
> .sl-card__rotulo {
    margin-bottom: 10px;
    color: var(--sl-mineral);
    font-size: .7rem;
}

.sl-financeiro-lateral-stack
.sl-financeiro-correcao-card--padrao
> .sl-texto-apoio {
    margin: 0 0 12px;
    font-size: .74rem;
    line-height: 1.45;
}

.sl-financeiro-lateral-stack
.sl-financeiro-correcao-card
.sl-pacientes-form-grid {
    grid-template-columns: 1fr;
    gap: 10px;
}

.sl-financeiro-lateral-stack
.sl-financeiro-correcao-card
.sl-pacientes-form-acoes {
    align-items: stretch;
}

.sl-financeiro-lateral-stack
.sl-financeiro-correcao-card
.sl-pacientes-form-acoes
.sl-botao {
    width: 100%;
}

/*
 * Tablet.
 */
@media (max-width: 980px) {
    .sl-financeiro-listagem-grid {
        grid-template-columns: minmax(0, 1fr) 220px;
    }
}

/*
 * O mesmo breakpoint das páginas Atendimento/Agendamento:
 * tudo passa para uma coluna.
 */
@media (max-width: 900px) {
    .sl-financeiro-listagem-grid {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-resumo-lateral {
        position: static;
        order: -1;
    }

    .sl-financeiro-resumo-lateral__itens {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .sl-financeiro-resumo-lateral__itens > .sl-card,
    .sl-financeiro-resumo-lateral__itens > .sl-card:first-child {
        padding: 4px 10px;
        border-top: 0;
        border-left: 1px solid var(--sl-borda);
    }

    .sl-financeiro-resumo-lateral__itens > .sl-card:first-child {
        padding-left: 0;
        border-left: 0;
    }

    .sl-financeiro-lateral-stack {
        grid-column: 1;
        grid-row: auto;
    }
}

@media (max-width: 680px) {
    .sl-financeiro-filtros--padrao {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sl-financeiro-filtros--padrao .sl-botao {
        width: 100%;
        min-width: 0;
        flex: none;
    }

    .sl-financeiro-resumo-lateral__itens {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .sl-financeiro-resumo-lateral__itens > .sl-card,
    .sl-financeiro-resumo-lateral__itens > .sl-card:first-child {
        padding: 8px 0;
        border-left: 0;
        border-top: 1px solid var(--sl-borda);
    }

    .sl-financeiro-resumo-lateral__itens > .sl-card:first-child {
        border-top: 0;
    }
}

/* ==========================================================
   SILUME — FINANCEIRO — REFINAMENTO VISUAL V3
   Filtros Todos / Abertos / Pagos compactos e estáveis
   ========================================================== */

.sl-financeiro-filtros--padrao {
    display: flex;
    min-height: 0;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.sl-financeiro-filtros--padrao .sl-botao {
    width: 86px;
    min-width: 86px;
    height: 42px;
    min-height: 42px;
    max-height: 42px;
    flex: 0 0 86px;
    padding: 0 12px;
    align-items: center;
    justify-content: center;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 680px) {
    .sl-financeiro-filtros--padrao {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sl-financeiro-filtros--padrao .sl-botao {
        width: 100%;
        min-width: 0;
        max-width: none;
        height: 42px;
        min-height: 42px;
        max-height: 42px;
        flex: none;
    }
}

/* ==========================================================
   SILUME — FINANCEIRO — REFINAMENTO VISUAL V4
   Listagem mais densa, sem faixas verticais vazias
   ========================================================== */

/*
 * O cabeçalho da página termina próximo do conteúdo.
 */
.sl-financeiro-listagem-conteudo
.sl-financeiro-topo--padrao {
    margin-bottom: 12px;
}

/*
 * Grid começa imediatamente após o cabeçalho.
 */
.sl-financeiro-listagem-grid {
    margin-top: 0;
}

/*
 * Filtros agora pertencem ao próprio card Situações financeiras.
 */
.sl-financeiro-lista-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.sl-financeiro-lista-toolbar__titulo {
    min-width: 0;
}

.sl-financeiro-lista-toolbar__titulo
.sl-card__rotulo {
    margin-bottom: 3px;
}

.sl-financeiro-lista-toolbar__titulo h2 {
    margin: 0;
    font-size: 1.05rem;
}

/*
 * Remove margens da antiga posição externa dos filtros.
 */
.sl-financeiro-filtros--interno {
    flex: 0 0 auto;
    min-height: 0;
    margin: 0;
    gap: 6px;
}

.sl-financeiro-filtros--interno
.sl-botao {
    width: auto;
    min-width: 74px;
    height: 36px;
    min-height: 36px;
    max-height: 36px;
    flex: 0 0 auto;
    padding: 0 11px;
    font-size: .78rem;
}

/*
 * Compacta levemente o card principal.
 */
.sl-financeiro-lista-card--padrao {
    padding: 16px 18px;
}

.sl-financeiro-lista-card--padrao
.sl-financeiro-lista {
    gap: 7px;
}

.sl-financeiro-lista-card--padrao
.sl-financeiro-item {
    padding-block: 10px;
}

/*
 * O resumo lateral acompanha a nova densidade.
 */
.sl-financeiro-resumo-lateral {
    padding: 14px 16px;
}

/*
 * Tablet.
 */
@media (max-width: 900px) {
    .sl-financeiro-lista-toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .sl-financeiro-filtros--interno {
        width: 100%;
    }
}

/*
 * Mobile.
 */
@media (max-width: 680px) {
    .sl-financeiro-lista-toolbar {
        margin-bottom: 10px;
    }

    .sl-financeiro-filtros--interno {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sl-financeiro-filtros--interno
    .sl-botao {
        width: 100%;
        min-width: 0;
        height: 38px;
        min-height: 38px;
        max-height: 38px;
    }
}

/* ==========================================================
   SILUME — FINANCEIRO — REFINAMENTO VISUAL V5
   Corrige expansão vertical das linhas da listagem
   ========================================================== */

.sl-financeiro-listagem-conteudo {
    align-content: start;
    grid-auto-rows: max-content;
}

/* ==========================================================
   SILUME — FINANCEIRO — REFINAMENTO VISUAL V6
   Compacta no topo as telas de cadastro/detalhe financeiro
   ========================================================== */

.sl-financeiro-detalhe-conteudo {
    align-content: start;
    grid-auto-rows: max-content;
}

/* ==========================================================
   SILUME — ITEM 47 — PADRÃO VISUAL CONSOLIDADO
   Receitas, despesas e categorias financeiras
   Mesma linguagem visual de Pacientes, Agenda e Atendimento.
   ========================================================== */

/*
 * Navegação interna do Financeiro é navegação de seção,
 * não ação principal. Por isso usa o mesmo peso dos filtros
 * compactos do sistema, sem competir com os CTAs do cabeçalho.
 */
.sl-financeiro-subnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
}

.sl-financeiro-secao-link {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border: 1px solid var(--sl-borda);
    border-radius: 999px;
    background: #fff;
    color: var(--sl-grafite);
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.sl-financeiro-secao-link:hover,
.sl-financeiro-secao-link:focus-visible,
.sl-financeiro-secao-link.is-active {
    border-color: var(--sl-mineral);
    color: var(--sl-petroleo);
}

.sl-financeiro-secao-link.is-active {
    background: rgba(45, 110, 112, .08);
}

/*
 * Resumo operacional: compacto, sem aparência de dashboard analítico.
 */
.sl-financeiro-resumo-operacional {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
    align-content: start;
    grid-auto-rows: max-content;
}

.sl-financeiro-resumo-operacional > .sl-card {
    min-height: 0;
    padding: 14px 16px;
    box-shadow: none;
}

.sl-financeiro-resumo-operacional .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .7rem;
}

.sl-financeiro-resumo-operacional strong {
    display: block;
    margin: 0;
    color: var(--sl-petroleo);
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    line-height: 1.05;
}

/*
 * Filtros de movimentações: card denso e alinhado ao restante do módulo.
 */
.sl-financeiro-filtro-card {
    margin-bottom: 14px;
    padding: 16px 18px;
    box-shadow: none;
}

.sl-financeiro-filtro-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px 12px;
    align-items: end;
}

.sl-financeiro-filtro-form .sl-label {
    margin-bottom: 5px;
    font-size: .82rem;
}

.sl-financeiro-filtro-form .sl-input {
    min-height: 40px;
    padding-block: .45rem;
}

.sl-financeiro-filtro-form .sl-form-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

.sl-financeiro-filtro-form .sl-botao {
    min-height: 38px;
    padding: 7px 13px;
    font-size: .82rem;
}

.sl-financeiro-field-largo {
    grid-column: 1 / -1;
}

/*
 * Categorias: criação compacta à esquerda e gestão à direita.
 */
.sl-financeiro-categorias-grid {
    display: grid;
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    align-content: start;
    grid-auto-rows: max-content;
}

.sl-financeiro-categorias-grid > .sl-card {
    padding: 18px 20px;
}

.sl-financeiro-categorias-grid .sl-card__rotulo {
    margin-bottom: 7px;
    font-size: .73rem;
}

.sl-financeiro-categoria-lista,
.sl-financeiro-historico-lista {
    display: grid;
    gap: 8px;
}

.sl-financeiro-categoria-item {
    display: grid;
    grid-template-columns: minmax(160px, .75fr) minmax(250px, 1.25fr) auto;
    gap: 10px;
    align-items: center;
    padding: 11px 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-financeiro-categoria-item:first-child {
    padding-top: 2px;
    border-top: 0;
}

.sl-financeiro-categoria-meta {
    display: grid;
    gap: 3px;
    justify-items: start;
    min-width: 0;
}

.sl-financeiro-categoria-meta strong {
    overflow-wrap: anywhere;
    font-size: .9rem;
}

.sl-financeiro-categoria-edicao {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.sl-financeiro-categoria-edicao .sl-input {
    min-height: 40px;
}

.sl-financeiro-categoria-edicao .sl-botao,
.sl-financeiro-categoria-item > form:last-child .sl-botao {
    min-height: 38px;
    padding: 7px 12px;
    font-size: .8rem;
}

/*
 * Histórico de movimentações permanece secundário e denso.
 */
.sl-financeiro-historico-card {
    margin-top: 14px;
    padding: 16px 18px;
    box-shadow: none;
}

.sl-financeiro-historico-lista article {
    display: grid;
    gap: 3px;
    padding: 9px 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-financeiro-historico-lista article:first-child {
    padding-top: 0;
    border-top: 0;
}

.sl-financeiro-historico-lista article strong {
    font-size: .84rem;
}

.sl-financeiro-historico-lista article small,
.sl-financeiro-historico-lista article p {
    margin: 0;
    color: var(--sl-grafite);
    font-size: .72rem;
    line-height: 1.4;
}

/*
 * Formulários e detalhes novos seguem a mesma densidade de Atendimento.
 */
.sl-financeiro-detalhe-conteudo > .sl-financeiro-principal-card {
    max-width: 980px;
}

.sl-financeiro-detalhe-conteudo .sl-financeiro-principal-card .sl-pacientes-formulario {
    gap: 14px;
}

.sl-financeiro-detalhe-conteudo .sl-financeiro-principal-card .sl-pacientes-form-grid {
    gap: 12px;
}

.sl-financeiro-detalhe-conteudo .sl-financeiro-principal-card .sl-form-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 12px;
    border-top: 1px solid var(--sl-borda);
}

/* Desktop intermediário. */
@media (max-width: 1100px) {
    .sl-financeiro-resumo-operacional {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sl-financeiro-filtro-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sl-financeiro-categorias-grid {
        grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    }
}

/* Tablet. */
@media (max-width: 900px) {
    .sl-financeiro-categorias-grid {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-filtro-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile. */
@media (max-width: 680px) {
    .sl-financeiro-subnav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        margin-bottom: 12px;
    }

    .sl-financeiro-secao-link {
        width: 100%;
        min-width: 0;
        min-height: 46px;
        padding: 7px 8px;
        border-radius: 12px;
        font-size: .76rem;
        text-align: center;
        white-space: normal;
    }

    .sl-financeiro-resumo-operacional,
    .sl-financeiro-filtro-form {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-filtro-form .sl-form-actions,
    .sl-financeiro-detalhe-conteudo .sl-financeiro-principal-card .sl-form-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sl-financeiro-filtro-form .sl-botao,
    .sl-financeiro-detalhe-conteudo .sl-financeiro-principal-card .sl-botao {
        width: 100%;
    }

    .sl-financeiro-categorias-grid > .sl-card,
    .sl-financeiro-filtro-card,
    .sl-financeiro-historico-card {
        padding: 15px;
        border-radius: 14px;
    }

    .sl-financeiro-categoria-item,
    .sl-financeiro-categoria-edicao {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .sl-financeiro-categoria-item > form:last-child .sl-botao,
    .sl-financeiro-categoria-edicao .sl-botao {
        width: 100%;
    }
}


/* ==========================================================
   SILUME — FINANCEIRO — AJUSTE VISUAL V4
   Filtros laterais com atualização automática
   ========================================================== */
.sl-financeiro-movimentacoes-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    grid-template-areas: "lista filtros";
    gap: 14px;
    align-items: start;
    align-content: start;
    grid-auto-rows: max-content;
}

.sl-financeiro-movimentacoes-grid > .sl-financeiro-lista-card {
    grid-area: lista;
    margin: 0;
}

.sl-financeiro-filtro-lateral {
    grid-area: filtros;
    position: sticky;
    top: 18px;
    padding: 16px 18px;
    box-shadow: none;
}

.sl-financeiro-filtro-lateral__topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}

.sl-financeiro-filtro-lateral__topo > div {
    min-width: 0;
}

.sl-financeiro-filtro-lateral__topo .sl-card__rotulo {
    margin-bottom: 4px;
    font-size: .7rem;
}

.sl-financeiro-filtro-lateral__topo h2 {
    margin: 0;
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: 1.05rem;
    line-height: 1.2;
}

.sl-financeiro-filtro-lateral > .sl-texto-apoio {
    margin: 0 0 12px;
    font-size: .76rem;
    line-height: 1.45;
}

.sl-financeiro-filtro-lateral__limpar {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    color: var(--sl-mineral);
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.sl-financeiro-filtro-lateral__limpar:hover,
.sl-financeiro-filtro-lateral__limpar:focus-visible {
    text-decoration: underline;
}

.sl-financeiro-filtro-lateral__form {
    display: grid;
    gap: 10px;
}

.sl-financeiro-filtro-lateral__form .sl-label {
    margin-bottom: 5px;
    font-size: .82rem;
}

.sl-financeiro-filtro-lateral__form .sl-input {
    min-height: 40px;
    padding-block: .45rem;
}

.sl-financeiro-vazio-card {
    margin: 0;
}

@media (max-width: 1040px) {
    .sl-financeiro-movimentacoes-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "filtros"
            "lista";
    }

    .sl-financeiro-filtro-lateral {
        position: static;
    }

    .sl-financeiro-filtro-lateral__form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
    }
}

@media (max-width: 680px) {
    .sl-financeiro-filtro-lateral,
    .sl-financeiro-vazio-card {
        padding: 15px;
        border-radius: 14px;
    }

    .sl-financeiro-filtro-lateral__form {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-filtro-lateral__topo {
        align-items: flex-start;
    }
}

/* ==========================================================
   SILUME — ITEM 47 — REFINAMENTO VISUAL CONSOLIDADO V5
   Criação, detalhe, categorias e filtros
   ========================================================== */

/* Nova receita / Nova despesa: fluxo natural, cabeçalho sempre antes do card. */
.sl-financeiro-nova-conteudo {
    align-content: start;
    grid-auto-rows: max-content;
}

.sl-financeiro-nova-topo {
    width: min(100%, 1040px);
    margin-bottom: 0;
}

.sl-financeiro-nova-card {
    width: min(100%, 1040px);
    margin: 0;
    padding: 18px 20px;
}

.sl-financeiro-nova-card__cabecalho {
    display: grid;
    gap: 4px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--sl-borda);
}

.sl-financeiro-nova-card__cabecalho .sl-card__rotulo {
    margin-bottom: 2px;
    font-size: .72rem;
}

.sl-financeiro-nova-card__cabecalho h2 {
    margin: 0;
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: 1.2rem;
    line-height: 1.2;
}

.sl-financeiro-nova-card__cabecalho p {
    margin: 0;
    color: var(--sl-grafite);
    font-size: .84rem;
    line-height: 1.45;
}

.sl-financeiro-nova-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.sl-financeiro-nova-acoes {
    display: flex;
    justify-content: flex-end;
    margin-top: 2px;
    padding-top: 14px;
    border-top: 1px solid var(--sl-borda);
}

/* Detalhe: uma única linha de leitura, ações recolhidas e histórico abaixo. */
.sl-financeiro-detalhe-v2 {
    align-content: start;
    grid-auto-rows: max-content;
}

.sl-financeiro-detalhe-topo {
    width: min(100%, 1060px);
    margin-bottom: 0;
}

.sl-financeiro-detalhe-resumo-card,
.sl-financeiro-historico-card--detalhe {
    width: min(100%, 1060px);
    margin: 0;
}

.sl-financeiro-detalhe-resumo-card {
    padding: 18px 20px;
}

.sl-financeiro-detalhe-resumo-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.sl-financeiro-detalhe-resumo-topo .sl-card__rotulo {
    margin-bottom: 5px;
    font-size: .72rem;
}

.sl-financeiro-detalhe-valor {
    display: block;
    margin: 0;
    color: var(--sl-petroleo);
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    line-height: 1;
}

.sl-financeiro-detalhe-feedback {
    margin: 0 0 12px;
}

.sl-financeiro-detalhe-dados {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
    margin: 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-financeiro-detalhe-dados > div {
    grid-template-columns: 82px minmax(0, 1fr);
    margin: 0;
}

.sl-financeiro-detalhe-dados > div:nth-child(4) {
    grid-column: 1 / -1;
}

.sl-financeiro-detalhe-acoes {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--sl-borda);
}

.sl-financeiro-edicao-details {
    min-width: 0;
}

.sl-financeiro-edicao-details > summary {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 1px solid var(--sl-petroleo);
    border-radius: 12px;
    color: var(--sl-petroleo);
    cursor: pointer;
    font-size: .84rem;
    font-weight: 800;
    list-style: none;
}

.sl-financeiro-edicao-details > summary::-webkit-details-marker {
    display: none;
}

.sl-financeiro-edicao-details[open] {
    grid-column: 1 / -1;
    padding: 14px;
    border: 1px solid var(--sl-borda);
    border-radius: 12px;
    background: rgba(244, 248, 247, .36);
}

.sl-financeiro-edicao-details[open] > summary {
    margin-bottom: 14px;
}

.sl-financeiro-edicao-form {
    gap: 14px;
}

.sl-financeiro-edicao-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

.sl-financeiro-edicao-acoes {
    display: flex;
    justify-content: flex-end;
    padding-top: 12px;
    border-top: 1px solid var(--sl-borda);
}

.sl-financeiro-status-form {
    margin: 0;
}

.sl-financeiro-status-form .sl-botao {
    min-height: 42px;
}

.sl-financeiro-detalhe-nota {
    margin: 10px 0 0;
    font-size: .73rem;
    line-height: 1.4;
}

.sl-financeiro-historico-card--detalhe {
    padding: 16px 18px;
    box-shadow: none;
}

/* Categorias: feedback local e pluralização sem alterar a malha. */
.sl-categoria-feedback-local {
    margin: 12px 0 0;
    padding: 10px 12px;
    font-size: .82rem;
}

.sl-categoria-feedback-gestao {
    margin: 0 0 12px;
    padding: 10px 12px;
    font-size: .82rem;
}

/* Filtros: o comportamento automático é apoio, não título. */
.sl-financeiro-filtro-lateral__topo {
    align-items: center;
}

.sl-financeiro-filtro-lateral__topo > div:has(.sl-card__rotulo) {
    display: flex;
    align-items: center;
}

.sl-financeiro-filtro-lateral__topo .sl-card__rotulo {
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .sl-financeiro-nova-card,
    .sl-financeiro-detalhe-resumo-card,
    .sl-financeiro-historico-card--detalhe {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .sl-financeiro-nova-conteudo,
    .sl-financeiro-detalhe-v2 {
        padding: 18px 14px 34px;
    }

    .sl-financeiro-nova-topo,
    .sl-financeiro-detalhe-topo {
        align-items: stretch;
        flex-direction: column;
    }

    .sl-financeiro-nova-topo > .sl-botao,
    .sl-financeiro-detalhe-topo > .sl-botao {
        width: 100%;
    }

    .sl-financeiro-nova-card,
    .sl-financeiro-detalhe-resumo-card,
    .sl-financeiro-historico-card--detalhe {
        padding: 15px;
        border-radius: 14px;
    }

    .sl-financeiro-nova-grid,
    .sl-financeiro-edicao-grid,
    .sl-financeiro-detalhe-dados {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-detalhe-dados > div:nth-child(4) {
        grid-column: auto;
    }

    .sl-financeiro-detalhe-resumo-topo {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .sl-financeiro-detalhe-acoes {
        grid-template-columns: 1fr;
    }

    .sl-financeiro-edicao-details > summary,
    .sl-financeiro-status-form .sl-botao,
    .sl-financeiro-nova-acoes .sl-botao,
    .sl-financeiro-edicao-acoes .sl-botao {
        width: 100%;
    }

    .sl-financeiro-edicao-details[open] {
        grid-column: auto;
    }
}


/* ==========================================================
   SILUME — REFINAMENTO RESPONSIVO E CONSISTÊNCIA VISUAL V9
   Fechamento visual do Item 47 + ajustes transversais solicitados
   ========================================================== */

/*
 * Os selos acima do título eram apenas marcadores de contexto visual.
 * O próprio título da página já comunica esse contexto; removê-los
 * economiza altura sem alterar status, permissão, filtro ou navegação.
 */
.sl-pagina-titulo .sl-selo {
    display: none;
}

.sl-pagina-titulo > div > h1:first-child {
    margin-top: 0;
}

/* Navegação mobile: preserva distância entre a marca e o botão do menu. */
@media (max-width: 959px) {
    .sl-navegacao {
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 10px;
    }

    .sl-navegacao > .sl-navegacao__marca {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .sl-navegacao > .sl-navegacao__marca img {
        width: 140px;
        max-width: 100%;
    }

    .sl-menu-toggle {
        flex: 0 0 44px;
        margin-left: 0;
    }
}

/* Financeiro: navegação interna vira um controle segmentado compacto no mobile. */
@media (max-width: 680px) {
    .sl-financeiro-subnav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        padding: 4px;
        border: 1px solid var(--sl-borda);
        border-radius: 14px;
        background: var(--sl-branco);
    }

    .sl-financeiro-secao-link {
        min-height: 42px;
        padding: 6px 7px;
        border-color: transparent;
        border-radius: 10px;
        background: transparent;
        font-size: .72rem;
        line-height: 1.15;
    }

    .sl-financeiro-secao-link:hover,
    .sl-financeiro-secao-link:focus-visible {
        border-color: rgba(45, 110, 112, .22);
        background: rgba(45, 110, 112, .06);
    }

    .sl-financeiro-secao-link.is-active {
        border-color: var(--sl-petroleo);
        background: var(--sl-petroleo);
        color: var(--sl-marfim);
    }

    /* Retira apenas no mobile os textos introdutórios explicitamente solicitados. */
    .sl-pagina-titulo--sem-intro-mobile > div > p,
    .sl-configuracoes-nome-help {
        display: none;
    }

    /* Resumo financeiro em uma única linha de três indicadores. */
    .sl-financeiro-resumo-lateral {
        padding: 12px 14px;
    }

    .sl-financeiro-resumo-lateral__itens {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        margin-top: 6px;
    }

    .sl-financeiro-resumo-lateral__itens > .sl-card,
    .sl-financeiro-resumo-lateral__itens > .sl-card:first-child {
        padding: 5px 9px;
        border-top: 0;
        border-left: 1px solid var(--sl-borda);
    }

    .sl-financeiro-resumo-lateral__itens > .sl-card:first-child {
        padding-left: 0;
        border-left: 0;
    }

    .sl-financeiro-resumo-lateral__itens .sl-card strong {
        font-size: 1.05rem;
    }

    /* Agenda semanal: mais dias visíveis e eixo de horas fixo durante o arraste. */
    .sl-agenda-semana {
        min-width: 790px;
    }

    .sl-agenda-cabecalho-grade {
        grid-template-columns: 54px repeat(7, minmax(104px, 1fr));
    }

    .sl-agenda-timeline {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .sl-agenda-colunas {
        grid-template-columns: repeat(7, minmax(104px, 1fr));
    }

    .sl-agenda-cabecalho-hora {
        position: sticky;
        left: 0;
        z-index: 6;
        background: var(--sl-branco);
    }

    .sl-agenda-eixo {
        position: sticky;
        left: 0;
        z-index: 5;
        background: rgba(244, 248, 247, .96);
        box-shadow: 5px 0 10px rgba(18, 60, 66, .06);
    }

    .sl-agenda-evento {
        left: 4px;
        right: 4px;
        padding-inline: 5px;
    }
}

/* Configurações: impede que a barra final de ações gere largura extra no celular. */
@media (max-width: 560px) {
    .sl-configuracoes-painel,
    .sl-configuracoes-formulario,
    .sl-configuracoes-form-grid,
    .sl-configuracoes-acoes {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .sl-configuracoes-acoes {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        justify-content: stretch;
    }

    .sl-configuracoes-acoes .sl-form-feedback-inline,
    .sl-configuracoes-acoes .sl-botao {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin-inline: 0;
    }
}


/* ==========================================================
   SILUME — REFINAMENTO DE MARCA E GRADE SEMANAL V10
   ========================================================== */

/*
 * A marca passa a usar o logotipo sem slogan como imagem.
 * No desktop, o slogan é renderizado como texto real e legível
 * dentro do cartão da marca. No mobile, ele é ocultado para
 * preservar espaço horizontal e vertical.
 */
.sl-navegacao > .sl-navegacao__marca {
    flex-direction: column;
    gap: 4px;
    padding: 11px 14px 10px;
}

.sl-navegacao > .sl-navegacao__marca img {
    width: 188px;
    max-width: 100%;
    max-height: 52px;
    object-fit: contain;
}

.sl-navegacao__assinatura {
    display: block;
    max-width: 220px;
    color: var(--sl-grafite);
    font-size: .62rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 959px) {
    .sl-navegacao > .sl-navegacao__marca {
        width: min(100%, 230px);
        max-width: 230px;
        justify-self: start;
        padding: 9px 14px;
        gap: 0;
    }

    .sl-navegacao > .sl-navegacao__marca img {
        width: 172px;
        max-height: 46px;
    }

    .sl-navegacao__assinatura {
        display: none;
    }
}

@media (max-width: 380px) {
    .sl-navegacao > .sl-navegacao__marca {
        width: min(100%, 208px);
        padding-inline: 12px;
    }

    .sl-navegacao > .sl-navegacao__marca img {
        width: 158px;
    }
}

/*
 * O primeiro horário da agenda é a origem da timeline (top: 0).
 * As demais horas ficam centradas nas linhas; a primeira precisa
 * ficar integralmente abaixo da borda superior para não ser cortada.
 */
.sl-agenda-eixo span:first-child {
    margin-top: 5px;
    transform: none;
}

/* ==========================================================
   SILUME — ITEM 48 — RELATÓRIOS FINANCEIROS — VISUAL V2
   Refinamento alinhado ao padrão consolidado do Financeiro v9/v10.
   ========================================================== */

.sl-relatorios-conteudo {
    align-content: start;
    grid-auto-rows: max-content;
}

/* Período: controle compacto, alinhado à direita e sem título redundante. */
.sl-relatorios-ferramentas {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 16px;
    margin: -2px 0 12px;
}

.sl-relatorios-periodo {
    width: fit-content;
    max-width: 100%;
    margin: 0 0 0 auto;
    padding: 9px 11px 10px;
    box-shadow: none;
}

.sl-relatorios-secao-topo,
.sl-relatorios-coluna__topo,
.sl-relatorios-detalhe-coluna__topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.sl-relatorios-periodo__form {
    display: grid;
    grid-template-columns: 180px 180px auto;
    gap: 9px;
    align-items: end;
}

.sl-relatorios-secao-topo .sl-card__rotulo {
    margin-bottom: 1px;
    font-size: .69rem;
}

.sl-relatorios-secao-topo h2 {
    margin: 0;
    color: var(--sl-petroleo);
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: 1rem;
    line-height: 1.25;
}

.sl-relatorios-periodo__form .sl-field {
    min-width: 0;
}

.sl-relatorios-periodo__form .sl-label {
    margin-bottom: 3px;
    font-size: .72rem;
}

.sl-relatorios-periodo__form .sl-input {
    min-height: 36px;
    padding-block: .35rem;
}

.sl-relatorios-periodo__acao {
    display: flex;
    align-items: end;
}

.sl-relatorios-periodo__acao .sl-botao {
    width: auto;
    min-width: 86px;
    min-height: 36px;
    padding: 6px 12px;
    font-size: .78rem;
}

/* Cards principais: um card por bloco analítico, evitando aparência de dashboard. */
.sl-relatorios-resumo-card,
.sl-relatorios-analise-card,
.sl-relatorios-detalhes-card {
    margin-bottom: 12px;
    padding: 15px 17px;
    box-shadow: none;
}

.sl-relatorios-secao-topo {
    align-items: center;
    margin-bottom: 9px;
}

/* Resumo em faixa única, com divisores internos em vez de cinco cards separados. */
.sl-relatorios-metricas {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-metrica {
    min-width: 0;
    padding: 12px 14px 4px;
    border-left: 1px solid var(--sl-borda);
}

.sl-relatorios-metrica:first-child {
    padding-left: 0;
    border-left: 0;
}

.sl-relatorios-metrica > span {
    display: block;
    margin-bottom: 4px;
    color: var(--sl-grafite);
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.sl-relatorios-metrica > strong {
    display: block;
    margin: 0;
    color: var(--sl-petroleo);
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: clamp(1.15rem, 1.65vw, 1.5rem);
    line-height: 1.08;
    white-space: nowrap;
}

.sl-relatorios-metrica--saldo {
    margin: 7px 0 0 10px;
    padding: 7px 10px 8px;
    border: 1px solid rgba(45, 110, 112, .28);
    border-radius: 11px;
    background: rgba(45, 110, 112, .055);
}

.sl-relatorios-metrica--saldo > span {
    color: var(--sl-mineral);
}

/* Análise por categoria: um único card, duas colunas separadas. */
.sl-relatorios-analise-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-coluna {
    min-width: 0;
    padding: 12px 0 0;
}

.sl-relatorios-coluna + .sl-relatorios-coluna {
    margin-left: 18px;
    padding-left: 18px;
    border-left: 1px solid var(--sl-borda);
}

.sl-relatorios-coluna__topo {
    align-items: baseline;
    margin-bottom: 3px;
}

.sl-relatorios-coluna__topo h3,
.sl-relatorios-detalhe-coluna__topo h3 {
    margin: 0;
    color: var(--sl-petroleo);
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: .9rem;
    line-height: 1.25;
}

.sl-relatorios-coluna__topo > strong {
    flex: 0 0 auto;
    color: var(--sl-petroleo);
    font-size: .9rem;
    white-space: nowrap;
}

.sl-relatorios-lista-compacta {
    display: grid;
}

.sl-relatorios-linha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-linha:first-child {
    border-top: 0;
}

.sl-relatorios-linha > div {
    min-width: 0;
}

.sl-relatorios-linha strong {
    display: block;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--sl-petroleo);
    font-size: .82rem;
    line-height: 1.3;
}

.sl-relatorios-linha > strong {
    white-space: nowrap;
}

.sl-relatorios-linha small {
    display: block;
    margin-top: 2px;
    color: var(--sl-grafite);
    font-size: .69rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* Detalhamento: um card único dividido em três fontes financeiras. */
.sl-relatorios-detalhes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-detalhe-coluna {
    min-width: 0;
    padding: 12px 0 0;
}

.sl-relatorios-detalhe-coluna + .sl-relatorios-detalhe-coluna {
    margin-left: 16px;
    padding-left: 16px;
    border-left: 1px solid var(--sl-borda);
}

.sl-relatorios-detalhe-coluna__topo {
    align-items: baseline;
    margin-bottom: 3px;
}

.sl-relatorios-detalhe-coluna__topo > span {
    flex: 0 0 auto;
    color: var(--sl-grafite);
    font-size: .68rem;
    font-weight: 700;
    white-space: nowrap;
}

.sl-relatorios-vazio,
.sl-relatorios-aviso-limite {
    margin: 8px 0 0;
    color: var(--sl-grafite);
    font-size: .72rem;
    line-height: 1.45;
}

.sl-relatorios-aviso-limite {
    margin-bottom: 4px;
    padding: 7px 9px;
    border-radius: 9px;
    background: rgba(216, 154, 74, .09);
}

.sl-relatorios-nota {
    display: flex;
    align-items: baseline;
    gap: 6px;
    max-width: 1080px;
    margin: 1px 0 0;
    padding: 0 2px;
    color: var(--sl-grafite);
    font-size: .69rem;
    line-height: 1.45;
}

.sl-relatorios-nota strong {
    flex: 0 0 auto;
    color: var(--sl-petroleo);
}

.sl-relatorios-conteudo > .sl-estado-card {
    align-self: start;
}

@media (max-width: 1120px) {
    .sl-relatorios-metricas {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sl-relatorios-metrica:nth-child(4) {
        padding-left: 0;
        border-left: 0;
    }

    .sl-relatorios-metrica:nth-child(n + 4) {
        border-top: 1px solid var(--sl-borda);
    }

    .sl-relatorios-metrica--saldo {
        margin-left: 10px;
        padding-left: 10px;
        border: 1px solid rgba(45, 110, 112, .28);
    }

    .sl-relatorios-detalhes-grid {
        grid-template-columns: 1fr;
    }

    .sl-relatorios-detalhe-coluna + .sl-relatorios-detalhe-coluna {
        margin: 10px 0 0;
        padding: 12px 0 0;
        border-top: 1px solid var(--sl-borda);
        border-left: 0;
    }
}

@media (max-width: 980px) {
    .sl-relatorios-ferramentas {
        align-items: stretch;
        flex-direction: column;
    }

    .sl-relatorios-periodo {
        width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 820px) {
    .sl-relatorios-periodo__form {
        grid-template-columns: 160px 160px auto;
    }

    .sl-relatorios-analise-grid {
        grid-template-columns: 1fr;
    }

    .sl-relatorios-coluna + .sl-relatorios-coluna {
        margin: 10px 0 0;
        padding: 12px 0 0;
        border-top: 1px solid var(--sl-borda);
        border-left: 0;
    }
}

@media (max-width: 680px) {
    .sl-relatorios-periodo,
    .sl-relatorios-resumo-card,
    .sl-relatorios-analise-card,
    .sl-relatorios-detalhes-card {
        margin-bottom: 10px;
        padding: 13px 14px;
        border-radius: 14px;
    }

    .sl-relatorios-periodo {
        width: 100%;
        margin-left: 0;
    }

    .sl-relatorios-periodo__form,
    .sl-relatorios-metricas {
        grid-template-columns: 1fr;
    }

    .sl-relatorios-periodo__acao .sl-botao {
        width: 100%;
    }

    .sl-relatorios-metrica,
    .sl-relatorios-metrica:first-child,
    .sl-relatorios-metrica:nth-child(4) {
        padding: 9px 0;
        border-top: 1px solid var(--sl-borda);
        border-left: 0;
    }

    .sl-relatorios-metrica:first-child {
        border-top: 0;
    }

    .sl-relatorios-metrica--saldo {
        margin: 6px 0 0;
        padding: 9px 10px;
        border: 1px solid rgba(45, 110, 112, .28);
    }

    .sl-relatorios-metrica > strong {
        font-size: 1.2rem;
    }

    .sl-relatorios-coluna__topo,
    .sl-relatorios-detalhe-coluna__topo {
        gap: 8px;
    }

    .sl-relatorios-nota {
        display: block;
        font-size: .68rem;
    }

    .sl-relatorios-nota strong {
        margin-right: 4px;
    }
}

@media (max-width: 420px) {
    .sl-relatorios-periodo__topo,
    .sl-relatorios-coluna__topo,
    .sl-relatorios-detalhe-coluna__topo {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }


    .sl-relatorios-linha {
        gap: 7px;
    }
}

/* ==========================================================
   SILUME — ITEM 49 — RELATÓRIOS OPERACIONAIS
   Reutiliza a linguagem visual do Item 48 sem antecipar dashboard.
   ========================================================== */

.sl-relatorios-subnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.sl-relatorios-secao-link {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border: 1px solid var(--sl-borda);
    border-radius: 999px;
    background: #fff;
    color: var(--sl-grafite);
    font-size: .8rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.sl-relatorios-secao-link:hover,
.sl-relatorios-secao-link:focus-visible,
.sl-relatorios-secao-link.is-active {
    border-color: var(--sl-mineral);
    color: var(--sl-petroleo);
}

.sl-relatorios-secao-link.is-active {
    background: rgba(45, 110, 112, .08);
}

.sl-relatorios-metricas--operacionais {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(5) {
    padding-left: 0;
    border-left: 0;
}

.sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(n + 5) {
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-taxas {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 18px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-taxas > div {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}

.sl-relatorios-taxas span,
.sl-relatorios-taxas p {
    color: var(--sl-grafite);
    font-size: .71rem;
    line-height: 1.4;
}

.sl-relatorios-taxas span {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.sl-relatorios-taxas strong {
    color: var(--sl-petroleo);
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: .98rem;
}

.sl-relatorios-taxas p {
    margin: 0;
}

.sl-relatorios-operacionais-lista {
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-operacionais-cabecalho,
.sl-relatorios-operacionais-dia {
    display: grid;
    grid-template-columns: minmax(112px, 1.2fr) repeat(6, minmax(72px, .8fr));
    gap: 10px;
    align-items: center;
}

.sl-relatorios-operacionais-cabecalho {
    padding: 9px 0 7px;
    color: var(--sl-grafite);
    font-size: .65rem;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.sl-relatorios-operacionais-dia {
    padding: 9px 0;
    border-top: 1px solid var(--sl-borda);
}

.sl-relatorios-operacionais-dia:first-of-type {
    border-top: 0;
}

.sl-relatorios-operacionais-data,
.sl-relatorios-operacionais-valor {
    min-width: 0;
}

.sl-relatorios-operacionais-data > span,
.sl-relatorios-operacionais-valor > span {
    display: none;
}

.sl-relatorios-operacionais-data strong,
.sl-relatorios-operacionais-valor strong {
    color: var(--sl-petroleo);
    font-size: .82rem;
    line-height: 1.25;
}

.sl-relatorios-operacionais-valor strong {
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: .9rem;
}

@media (max-width: 1120px) {
    .sl-relatorios-metricas--operacionais {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(4),
    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(7) {
        padding-left: 0;
        border-left: 0;
    }

    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(n + 4) {
        border-top: 1px solid var(--sl-borda);
    }

    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(5) {
        padding-left: 14px;
        border-left: 1px solid var(--sl-borda);
    }
}

@media (max-width: 900px) {
    .sl-relatorios-operacionais-cabecalho {
        display: none;
    }

    .sl-relatorios-operacionais-dia {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px 12px;
        padding: 11px 0;
    }

    .sl-relatorios-operacionais-data {
        grid-column: 1 / -1;
        padding-bottom: 2px;
    }

    .sl-relatorios-operacionais-data > span,
    .sl-relatorios-operacionais-valor > span {
        display: block;
        margin-bottom: 2px;
        color: var(--sl-grafite);
        font-size: .62rem;
        font-weight: 800;
        line-height: 1.25;
        text-transform: uppercase;
        letter-spacing: .02em;
    }
}

@media (max-width: 680px) {
    .sl-relatorios-ferramentas {
        gap: 10px;
        margin-bottom: 10px;
    }

    .sl-relatorios-subnav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
        margin-bottom: 10px;
        padding: 4px;
        border: 1px solid var(--sl-borda);
        border-radius: 14px;
        background: var(--sl-branco);
    }

    .sl-relatorios-secao-link {
        width: 100%;
        min-width: 0;
        min-height: 42px;
        padding: 6px 7px;
        border-color: transparent;
        border-radius: 10px;
        background: transparent;
        font-size: .74rem;
        text-align: center;
    }

    .sl-relatorios-secao-link:hover,
    .sl-relatorios-secao-link:focus-visible {
        border-color: rgba(45, 110, 112, .22);
        background: rgba(45, 110, 112, .06);
    }

    .sl-relatorios-secao-link.is-active {
        border-color: var(--sl-petroleo);
        background: var(--sl-petroleo);
        color: var(--sl-marfim);
    }

    .sl-relatorios-metricas--operacionais {
        grid-template-columns: 1fr;
    }

    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica,
    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(4),
    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(5),
    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:nth-child(7) {
        padding: 9px 0;
        border-top: 1px solid var(--sl-borda);
        border-left: 0;
    }

    .sl-relatorios-metricas--operacionais .sl-relatorios-metrica:first-child {
        border-top: 0;
    }

    .sl-relatorios-taxas {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 12px;
    }

    .sl-relatorios-taxas > div {
        display: flex;
        min-width: 0;
        align-items: flex-start;
        flex-direction: column;
        gap: 1px;
    }

    .sl-relatorios-taxas strong {
        white-space: nowrap;
    }

    .sl-relatorios-taxas p {
        grid-column: 1 / -1;
    }

    .sl-relatorios-operacionais-dia {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 380px) {
    .sl-relatorios-operacionais-dia,
    .sl-relatorios-taxas {
        grid-template-columns: 1fr;
    }

    .sl-relatorios-taxas p {
        grid-column: auto;
    }
}
