:root {color-scheme:dark;font-family:system-ui,sans-serif;color:#e8edf4;background:#10151f;--borda:#344259;--destaque:#efc36c;}
* {box-sizing:border-box;}
body {margin:0;}
header {padding:18px max(24px,calc((100% - 1120px)/2));border-bottom:1px solid var(--borda);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#151d29;}
header>div {display:flex;align-items:center;flex-wrap:wrap;gap:14px;}
header small {color:#9facbd;}
.marca {background:var(--destaque);color:#171b24;font-weight:800;border-radius:10px;padding:8px 13px;}
main {max-width:1120px;margin:auto;padding:24px;}
h1 {font-size:clamp(26px,4vw,38px);margin:12px 0 24px;}
h2 {font-size:19px;margin:0 0 22px;}
p {line-height:1.6;color:#b9c4d3;}
section,article {background:#192230;border:1px solid var(--borda);border-radius:14px;padding:24px;margin-bottom:20px;}
.acesso {max-width:470px;margin:40px auto;}
.etiqueta {letter-spacing:2px;color:var(--destaque);font-size:11px;}
.grade,.resumo {display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));}
.resumo {grid-template-columns:repeat(3,minmax(0,1fr));}
article small {display:block;color:#a6b5c9;letter-spacing:1px;font-size:10px;margin-bottom:12px;}
article strong {font-size:19px;}
label {display:block;font-size:13px;margin-bottom:16px;color:#d1dbea;}
input,textarea {display:block;width:100%;background:#111925;border:1px solid #41506a;border-radius:8px;padding:12px;color:#fff;margin-top:7px;font:inherit;}
input:focus-visible,textarea:focus-visible,button:focus-visible,.botao:focus-visible {outline:2px solid var(--destaque);outline-offset:3px;}
textarea {min-height:95px;resize:vertical;}
button,.botao {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;background:var(--destaque);border:1px solid var(--destaque);border-radius:8px;color:#18202d;padding:9px 16px;font:600 13px/1.35 system-ui;cursor:pointer;text-decoration:none;text-align:center;vertical-align:middle;flex-shrink:0;}
button:hover,.botao:hover {background:#f8d68f;border-color:#f8d68f;}
button:active,.botao:active {transform:translateY(1px);}
button:disabled {opacity:.55;cursor:wait;transform:none;}
.secundario,#sair,#abrir-senha,#abrir-cadastro,#gerar,#atualizar,#cancelar,#cancelar-senha,#salvar-manutencao {background:#233249;color:#dce6f4;border-color:#4b5e7b;}
.secundario:hover,#sair:hover,#abrir-senha:hover,#abrir-cadastro:hover,#gerar:hover,#atualizar:hover,#cancelar:hover,#cancelar-senha:hover,#salvar-manutencao:hover {background:#2e425f;border-color:#738aa9;}
.positivo,#retirar-manutencao {background:#214b40;color:#a8eed2;border-color:#438d77;}
.positivo:hover,#retirar-manutencao:hover {background:#2b6252;border-color:#74bca3;}
.acesso form>button,.acesso>button {display:flex;width:100%;max-width:320px;margin:14px auto 0;}
.acesso .ajuda {margin-top:20px;text-align:center;}
.linha,.titulo {display:flex;gap:10px;align-items:center;}
.linha {flex-wrap:wrap;}
.linha input {margin:0;flex:1;min-width:0;width:auto;}
.titulo {justify-content:space-between;flex-wrap:wrap;margin-bottom:18px;}
.titulo h1,.titulo h2 {margin:0;}
.checkbox {display:flex;align-items:center;gap:10px;}
.checkbox input {width:17px;height:17px;flex:none;margin:0;accent-color:var(--destaque);}
.ajuda {font-size:12px;}
.tabela {overflow:auto;}
table {width:100%;border-collapse:collapse;white-space:nowrap;}
td,th {text-align:left;padding:13px 10px;border-bottom:1px solid var(--borda);font-size:13px;}
th {color:#a6b5c9;}
.acoes-usuario {display:flex;flex-wrap:wrap;gap:8px;}
.acoes-usuario button {min-height:34px;padding:6px 12px;}
.selo {padding:5px 9px;border-radius:20px;background:#253a31;color:#a1e2b7;}
.selo.atencao {background:#433520;color:#efc36c;}
#aviso:empty {display:none;}
#aviso {border:1px solid #756037;border-radius:8px;padding:12px;color:#f0ce8a;}
.versao {padding:12px 0;border-bottom:1px solid var(--borda);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;}
.versao>span {flex:1;min-width:200px;}
ul {padding-left:20px;color:#aebdce;font-size:13px;line-height:1.8;}
dialog {max-width:450px;width:90%;background:#192230;border:1px solid var(--borda);border-radius:14px;color:#fff;padding:24px;}
dialog::backdrop {background:#000a;}
dialog .linha {justify-content:flex-end;}
footer {text-align:center;color:#7e8fa5;font-size:12px;padding:28px 16px;}
[hidden] {display:none!important;}
@media(max-width:700px) {.grade,.resumo {grid-template-columns:1fr;}header {padding:14px 16px;}header>div {gap:8px;}header small {display:none;}main {padding:16px;}section,article {padding:18px;}.acesso {margin:24px auto;}.linha button {flex-grow:1;}.linha:has(input) {flex-wrap:nowrap;}.linha:has(input) button {flex-grow:0;}.versao button {width:100%;}.titulo {gap:12px;}}
@media(prefers-reduced-motion:reduce) {* {scroll-behavior:auto;}button:active,.botao:active {transform:none;}}

.instalacao-inicial {max-width:650px;margin:12px auto 20px;text-align:center;border-color:#79623d;background:linear-gradient(140deg,#252b33,#192230);padding:24px;}
.instalacao-inicial h1 {margin:8px 0;font-size:30px;color:#f6e2b5;}
.instalacao-inicial p {margin:10px 0;}
.instalacao-inicial .botao-instalar {min-height:46px;min-width:250px;margin:7px auto;font-size:15px;}
.instalacao-inicial .ajuda {max-width:480px;margin:12px auto 0;}
.acesso {margin:20px auto;}
@media(max-width:700px){.instalacao-inicial {padding:20px 16px;}.instalacao-inicial h1 {font-size:26px;}.instalacao-inicial .botao-instalar {width:100%;min-width:0;max-width:320px;}}

/* Páginas públicas: instalação e funções com a mesma identidade do painel. */
a {color:#f1cf8c;text-underline-offset:4px;}
a:focus-visible,summary:focus-visible {outline:2px solid var(--destaque);outline-offset:4px;}
.marca {text-decoration:none;}
header nav,footer nav {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
header nav a {padding:8px 11px;border-radius:7px;text-decoration:none;font-size:13px;color:#b9c8dc;}
header nav a:hover,header nav a[aria-current=page] {background:#243249;color:#ffe1a5;}
footer nav {justify-content:center;gap:22px;}
footer p {font-size:12px;}
.pular-conteudo {position:fixed;left:16px;top:-100px;z-index:10;background:#efc36c;color:#17202c;padding:12px;border-radius:8px;}
.pular-conteudo:focus {top:12px;}
.hero {display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:38px;padding:38px;background:radial-gradient(ellipse at top right,#34434550,transparent 65%),#192230;border-color:#5d5342;}
.hero h1,.cabecalho-publico h1 {font-size:clamp(32px,4.5vw,50px);line-height:1.12;letter-spacing:-1.5px;margin:15px 0 20px;color:#f4f6fa;}
.hero p,.cabecalho-publico>p {max-width:630px;}
.selo-beta {display:inline-block;padding:6px 10px;background:#383225;border:1px solid #665431;border-radius:30px;font-size:10px;font-weight:700;letter-spacing:1.3px;color:#f6d38f;}
.acoes-publicas,.navegadores {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 12px;}
.hero .botao {min-height:44px;}
.vitrine {padding:22px;background:#101a28;border:1px solid #3b4b5f;border-radius:12px;box-shadow:0 16px 42px #0003;}
.vitrine-topo {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;}
.vitrine-topo .selo {font-size:10px;white-space:nowrap;}
.vitrine .etiqueta {margin:24px 0 13px;font-size:9px;}
.vitrine-recursos {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.vitrine-recursos>div {padding:12px 9px;background:#192536;border:1px solid #32445a;border-radius:8px;color:#c4d2e5;font-size:11px;}
.linha-recurso {display:block;height:5px;background:#314259;border-radius:6px;margin-top:13px;overflow:hidden;}
.linha-recurso i {display:block;height:100%;width:72%;background:#74c6ab;}
.vitrine-recursos>div:nth-child(2) i {width:48%;}.vitrine-recursos>div:nth-child(3) i {width:85%;}
.vitrine-lista {list-style:none;padding:0;margin:14px 0;}
.vitrine-lista li {display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #2b3c51;font-size:11px;}
.vitrine-lista b {font-weight:500;color:#a7d9ca;text-align:right;}
.vitrine>a {font-size:12px;}.vitrine small {display:block;font-size:10px;color:#8a9eb8;margin-top:12px;}
.aviso-beta {display:flex;align-items:center;justify-content:space-between;gap:28px;background:#1c292e;border-color:#37544d;}
.aviso-beta h2 {margin:8px 0 10px;}.aviso-beta p {margin:6px 0;}.aviso-beta>div {max-width:760px;}
.acesso h2 {font-size:23px;line-height:1.25;margin:12px 0;}
.cabecalho-publico {padding:28px 0 32px;}.cabecalho-publico>.etiqueta {margin-top:18px;}
.passo {display:grid;grid-template-columns:54px minmax(0,1fr);gap:20px;padding:28px;}
.numero-passo {display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#3c3323;border:1px solid #726040;border-radius:12px;color:#f7ce80;font-size:18px;font-weight:700;}
.passo .etiqueta {margin:0 0 8px;}.passo h2 {margin:0 0 14px;font-size:23px;}.passo p {max-width:840px;}
.navegadores {margin:12px 0 20px;}.navegadores .botao {min-width:86px;}
details {border-top:1px solid #344259;padding:14px 0;margin-top:18px;}
summary {cursor:pointer;font-size:14px;font-weight:600;color:#dde5f0;line-height:1.5;}
details p {margin:12px 0 6px;font-size:13px;}.passo details a {font-size:12px;}
.faq h2 {margin-bottom:8px;}.faq details {margin-top:0;}
.chamada-final {text-align:center;border:1px solid #5d5342;border-radius:14px;padding:32px;background:#202938;}.chamada-final h2 {margin-bottom:10px;}
.secao-titulo {margin:10px 0 24px;}.secao-titulo h2 {font-size:25px;margin-bottom:10px;}.secao-titulo p {margin:6px 0;}
.grade-funcoes {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:36px;}
.grade-funcoes article {margin:0;display:flex;flex-direction:column;padding:22px;}
.icone-funcao {font-size:11px;font-weight:700;letter-spacing:1px;width:34px;height:34px;border:1px solid #52664f;border-radius:9px;color:#a3d4b6;display:flex;align-items:center;justify-content:center;background:#21332d;}
.grade-funcoes h3 {font-size:18px;line-height:1.3;margin:17px 0 9px;color:#edf1f7;}
.grade-funcoes p {font-size:13px;margin:0 0 18px;}
.categoria-funcao {font-size:10px;color:#f0c77d;padding-top:12px;border-top:1px solid #334258;margin-top:auto;}
.combate-publico {display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:36px;}.combate-publico h2 {margin:10px 0;}
.exemplo-combate {padding:24px;background:#111c2b;border:1px solid #3b4b5f;border-radius:12px;}
.exemplo-combate>div:first-child {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;}.exemplo-combate b {font-size:29px;color:#a4deb9;}
.barra-combate {display:flex;height:13px;overflow:hidden;border-radius:8px;margin:15px 0;}.barra-combate span {width:82%;background:#72c997;}.barra-combate i {flex:1;background:#d36b76;}.exemplo-combate small {font-size:10px;color:#a6b6ca;line-height:1.5;display:block;}
@media(max-width:900px){.hero {gap:24px;padding:28px;}.grade-funcoes {grid-template-columns:repeat(2,minmax(0,1fr));}header {flex-wrap:wrap;}header nav {gap:3px;}}
@media(max-width:700px){header nav {width:100%;}header nav a {font-size:12px;padding:7px 9px;}.hero,.combate-publico {grid-template-columns:1fr;padding:22px;gap:24px;}.hero h1,.cabecalho-publico h1 {letter-spacing:-.8px;}.vitrine {padding:18px;}.aviso-beta {align-items:flex-start;flex-direction:column;gap:16px;}.passo {grid-template-columns:1fr;gap:14px;padding:20px;}.numero-passo {width:40px;height:40px;}.passo h2 {font-size:21px;}.cabecalho-publico {padding:18px 0 26px;}.grade-funcoes {gap:12px;}.grade-funcoes article {padding:18px;}.acoes-publicas .botao {flex:1;}.aviso-beta .botao {width:100%;}.chamada-final {padding:25px 18px;}}
@media(max-width:470px){.grade-funcoes {grid-template-columns:1fr;}.hero .acoes-publicas {flex-direction:column;align-items:stretch;}.vitrine-lista li {font-size:10px;}.vitrine-recursos>div {padding:10px 7px;}.navegadores {gap:7px;}.navegadores .botao {flex:1;}footer nav {gap:17px;font-size:12px;}}
#acesso-modal {padding:0;width:min(470px,calc(100% - 32px));max-width:470px;max-height:calc(100dvh - 32px);overflow:auto;}
.cabecalho-acesso {display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #344259;}
.cabecalho-acesso strong {font-size:13px;}
.cabecalho-acesso button {min-height:30px;width:30px;padding:0;background:#233249;color:#e6edf8;border-color:#455975;font-size:22px;}
#acesso-modal .acesso {border:0;border-radius:0;margin:0;padding:24px;}
#acesso-modal .acesso>.etiqueta {margin-top:0;}
