:root {
    color-scheme: light;
    --azul-950: #102d42;
    --azul-900: #163b55;
    --azul-700: #176a91;
    --azul-100: #e8f2f7;
    --cinza-950: #18232c;
    --cinza-700: #52616d;
    --cinza-500: #7b8993;
    --cinza-300: #ccd5dc;
    --cinza-200: #dde4e9;
    --cinza-100: #eef2f5;
    --fundo: #f6f8fa;
    --branco: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
    color: var(--cinza-950);
    background: var(--fundo);
    line-height: 1.5;
}
* { box-sizing: border-box; }
html { min-width: 320px; }
body { margin: 0; min-height: 100vh; }
a { color: var(--azul-700); }
button, input, select { font: inherit; }
.pular-conteudo { position: fixed; z-index: 100; top: 8px; left: 8px; transform: translateY(-160%); border-radius: 6px; background: var(--branco); color: var(--azul-950); padding: 10px 14px; box-shadow: 0 4px 14px rgb(16 45 66 / 20%); }
.pular-conteudo:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #2c8fc0; outline-offset: 3px; }
.barra-superior { position: sticky; z-index: 10; top: 0; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px 28px; background: var(--azul-950); color: var(--branco); box-shadow: 0 2px 10px rgb(16 45 66 / 18%); }
.marca { display: inline-flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.marca-simbolo { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #25a5c7; color: var(--branco); font-size: 1.25rem; font-weight: 800; }
.marca strong, .marca small { display: block; }
.marca strong { font-size: 1rem; line-height: 1.15; }
.marca small { margin-top: 3px; font-size: .72rem; letter-spacing: .07em; opacity: .82; }
.conta { display: flex; align-items: center; gap: 18px; }
.conta-identidade { text-align: right; }
.conta-identidade small, .conta-identidade strong { display: block; }
.conta-identidade small { font-size: .72rem; opacity: .72; }
.conta-identidade strong { max-width: 280px; overflow: hidden; text-overflow: ellipsis; font-size: .88rem; white-space: nowrap; }
.estrutura { min-height: calc(100vh - 72px); display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.barra-lateral { display: flex; flex-direction: column; padding: 30px 18px 22px; border-right: 1px solid var(--cinza-200); background: var(--branco); }
.navegacao-titulo { margin: 0 12px 10px; color: var(--cinza-500); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.navegacao { display: grid; gap: 6px; }
.navegacao-link { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 9px 12px; border-radius: 8px; color: #344753; font-size: .9rem; font-weight: 650; text-decoration: none; }
.navegacao-link span { width: 22px; color: var(--cinza-500); text-align: center; font-size: 1.1rem; }
.navegacao-link:hover { background: var(--cinza-100); color: var(--azul-950); }
.navegacao-link.ativo { background: var(--azul-100); color: var(--azul-900); }
.navegacao-link.ativo span { color: var(--azul-700); }
.barra-lateral-ajuda { margin-top: auto; padding: 16px 12px 0; border-top: 1px solid var(--cinza-200); color: var(--cinza-700); font-size: .78rem; }
.barra-lateral-ajuda strong, .barra-lateral-ajuda span { display: block; }
.barra-lateral-ajuda span { margin-top: 3px; }
.conteudo { width: min(1240px, 100%); padding: 38px clamp(24px, 4vw, 54px) 64px; }
.pagina-cabecalho { margin-bottom: 28px; }
.pagina-contexto { margin: 0 0 5px; color: var(--azul-700); font-size: .78rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.pagina-cabecalho h1 { margin: 0; color: var(--azul-950); font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.2; }
.pagina-descricao { max-width: 760px; margin: 9px 0 0; color: var(--cinza-700); }
.painel { margin-bottom: 24px; padding: 24px; border: 1px solid var(--cinza-200); border-radius: 12px; background: var(--branco); box-shadow: 0 3px 12px rgb(16 45 66 / 5%); }
.painel h2 { margin: 0 0 8px; color: var(--azul-950); font-size: 1.12rem; }
.painel > p:first-of-type { margin-top: 0; }
.painel > p:last-child { margin-bottom: 0; }
.painel-cabecalho { margin-bottom: 20px; }
.painel-cabecalho p { margin: 5px 0 0; color: var(--cinza-700); }
.botao { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 16px; border: 1px solid transparent; border-radius: 7px; background: var(--azul-700); color: var(--branco); font-weight: 700; text-decoration: none; cursor: pointer; }
.botao:hover { background: #105a7d; }
.botao-discreto { border-color: rgb(255 255 255 / 42%); background: transparent; }
.botao-discreto:hover { background: rgb(255 255 255 / 10%); }
.botao-secundario { border-color: var(--cinza-300); background: var(--branco); color: #3d4d58; }
.botao-secundario:hover { background: var(--cinza-100); }
.formulario { display: grid; gap: 18px; }
.formulario-linha { grid-template-columns: repeat(2, minmax(180px, 1fr)); align-items: end; margin-bottom: 20px; }
.formulario-linha .botao { justify-self: start; }
.campo { display: grid; gap: 6px; }
.campo label, .formulario label { color: #344753; font-size: .88rem; font-weight: 700; }
input, select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #aebbc4; border-radius: 7px; background: var(--branco); color: var(--cinza-950); }
input:focus, select:focus { border-color: var(--azul-700); }
.validacao { color: #a52929; }
.mensagem { padding: 14px 16px; border: 1px solid #bad5ca; border-radius: 8px; background: #ecf7f2; color: #165d4c; }
.mensagem-atencao { border-color: #e6ce91; background: #fff8e5; color: #705313; }
.tabela-container { max-width: 100%; overflow-x: auto; border: 1px solid var(--cinza-200); border-radius: 9px; }
table { width: 100%; border-collapse: collapse; background: var(--branco); }
th, td { padding: 12px 14px; border-bottom: 1px solid var(--cinza-200); text-align: left; vertical-align: top; }
th { background: var(--cinza-100); color: #3e505d; font-size: .78rem; letter-spacing: .025em; }
tbody tr:last-child td { border-bottom: 0; }
.painel > ul { padding-left: 22px; }
.painel > ul > li { margin-bottom: 14px; }
.painel li form { display: inline-block; margin: 6px 6px 0 0; }
.painel li input[type="hidden"] { display: none; }
.acesso { background: linear-gradient(135deg, var(--azul-950) 0, var(--azul-900) 42%, var(--fundo) 42%); }
.acesso-marca { width: min(1040px, calc(100% - 40px)); margin: 0 auto; padding-top: 28px; color: var(--branco); }
.acesso-conteudo { width: min(460px, calc(100% - 32px)); margin: 11vh auto 40px; }
.acesso-cartao { padding: clamp(24px, 6vw, 38px); border-radius: 14px; background: var(--branco); box-shadow: 0 18px 50px rgb(16 45 66 / 20%); }
.acesso-cartao h1 { margin: 0 0 8px; color: var(--azul-950); font-size: 1.7rem; }
.acesso-cartao .pagina-descricao { margin-bottom: 24px; }
.acesso-ajuda { margin: 20px 0 0; color: var(--cinza-700); font-size: .86rem; }
.visualmente-oculto { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 780px) {
    .barra-superior { position: static; padding: 10px 16px; }
    .conta-identidade { display: none; }
    .estrutura { display: block; min-height: auto; }
    .barra-lateral { padding: 10px 12px; border-right: 0; border-bottom: 1px solid var(--cinza-200); overflow-x: auto; }
    .navegacao-titulo, .barra-lateral-ajuda { display: none; }
    .navegacao { display: flex; width: max-content; }
    .navegacao-link { min-height: 40px; white-space: nowrap; }
    .conteudo { padding: 26px 16px 48px; }
    .painel { padding: 18px; }
    .formulario-linha { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
    .marca small { display: none; }
    .marca-simbolo { width: 38px; height: 38px; }
    .barra-superior .marca strong { max-width: 140px; }
    .botao-discreto { min-height: 38px; padding-inline: 12px; }
    .acesso { background: var(--fundo); }
    .acesso-marca { padding-top: 18px; color: var(--azul-950); }
    .acesso-conteudo { margin-top: 8vh; }
}
