/* OGFI GOVE · Microssistema Diagnóstico Básico — estilos v3.3 (padrão Apple-OGFI) */
:root{--marinho:#151E45;--marinho2:#1D2A5E;--dourado:#C3AC6C;--dourado-d:#9C8447;
--branco:#FCFCFC;--ink:#1D1D1F;--mut:#6E6E73;--mut2:#86868B;--bg:#F5F5F7;--card:#FFF;
--hair:rgba(0,0,0,.09);--royal:#2E4DA0;--sol:#3C8AD6;--ok:#2E7D4F;--erro:#C0452F;
--f:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Arial,sans-serif}
*{box-sizing:border-box;margin:0}
html{font-size:15px}
body{font-family:var(--f);background:var(--bg);color:var(--ink);min-height:100vh;display:flex;
-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:var(--f);font-size:.9rem}
:focus-visible{outline:3px solid var(--dourado);outline-offset:2px;border-radius:6px}
a{color:var(--royal)}
input,select,textarea{width:100%;padding:9px 12px;border:1px solid var(--hair);border-radius:10px;
margin-top:5px;background:#fff}
label{display:block;font-size:.83rem;color:#252D4F;font-weight:600;margin:11px 0}
fieldset{border:1px solid var(--hair);border-radius:12px;margin:14px 0;padding:12px 16px 16px}
legend{font-size:.76rem;color:var(--marinho);font-weight:700;padding:0 6px}
.grade2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
/* login */
body.login{align-items:center;justify-content:center;background:linear-gradient(160deg,#DDE2EC,#EFEAE0)}
.painel-login{background:rgba(255,255,255,.88);backdrop-filter:blur(24px);border-radius:22px;
padding:42px 38px;width:min(420px,92vw);box-shadow:0 30px 90px rgba(20,30,45,.35);text-align:center}
.painel-login img{max-width:230px;margin-bottom:8px}
.painel-login h1{font-size:1.05rem;font-weight:600;color:var(--marinho);margin:8px 0 20px}
.painel-login label{text-align:left}
.painel-login .mini,.mini{font-size:.78rem;color:var(--mut2);margin-top:12px}
/* estrutura */
aside{width:242px;flex-shrink:0;background:var(--marinho);color:#cfd4e6;min-height:100vh;
display:flex;flex-direction:column;padding:16px 10px}
aside .topo{padding:4px 10px 14px}
aside .topo img{width:170px;filter:brightness(0) invert(1)}
aside nav{flex:1}
aside nav .grupo{font-size:.72rem;font-weight:800;color:var(--dourado);letter-spacing:.06em;
text-transform:uppercase;padding:16px 12px 6px;border-top:1px solid rgba(255,255,255,.12);margin-top:10px}
aside nav a{display:block;padding:8px 12px;border-radius:9px;font-size:.86rem;color:#E7EAF4;
text-decoration:none;margin:1px 0}
aside nav a:hover{background:rgba(255,255,255,.08)}
aside .rodape{padding:12px;font-size:.74rem;color:#9aa1c0;border-top:1px solid rgba(255,255,255,.12)}
aside .rodape b{color:#fff;display:block;font-weight:600;font-size:.78rem;word-break:break-all}
aside .rodape a{color:var(--dourado)}
main{flex:1;padding:26px 30px;max-width:1300px}
h2.pagina{font-size:1.35rem;font-weight:700;color:var(--ink);margin-bottom:18px;
border-left:4px solid var(--dourado);padding-left:12px}
p.sub{color:var(--mut);font-size:.86rem;margin:8px 0 26px}
.aviso{background:#F5EDD3;border:1px solid var(--dourado);color:#6b5620;border-radius:10px;
padding:10px 14px;font-size:.84rem;margin-bottom:16px}
/* blocos e cartões */
.bloco{background:var(--card);border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px var(--hair);
padding:20px;margin-bottom:18px}
.bloco h3{font-size:.95rem;font-weight:700;margin-bottom:12px;color:var(--ink)}
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}
.cartao{background:#fff;border-radius:14px;padding:15px 17px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 0 0 1px var(--hair)}
.cartao .rotulo{font-size:.7rem;color:var(--mut2);text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.cartao .valor{font-size:1.45rem;font-weight:700;color:var(--marinho);margin-top:3px}
.cartao .nota{font-size:.76rem;color:var(--mut);margin-top:5px;line-height:1.45}
.vazio{padding:34px;text-align:center;color:var(--mut);font-size:.86rem}
/* tabelas */
table{width:100%;border-collapse:collapse;font-size:.84rem;margin-top:6px}
th{color:var(--mut);border-bottom:1px solid var(--hair);text-align:left;padding:7px 10px;
font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}
td{padding:9px 10px;border-bottom:1px solid rgba(0,0,0,.05);vertical-align:middle}
tr:hover td{background:rgba(0,0,0,.02)}
td.acoes{white-space:nowrap}
td.acoes .botao,td.acoes form{display:inline-block;margin:1px 2px;vertical-align:middle}
/* botões e selos */
.botao{display:inline-flex;align-items:center;gap:7px;background:var(--marinho);color:#fff;border:0;
padding:8px 16px;border-radius:999px;font-size:.84rem;font-weight:600;cursor:pointer;text-decoration:none}
.botao:hover{background:var(--marinho2)}
.botao.ouro{background:var(--dourado);color:var(--marinho)}
.botao.ouro:hover{background:var(--dourado-d);color:#fff}
.botao.mini{padding:4px 11px;font-size:.76rem}
.botao.claro{background:rgba(0,0,0,.06);color:var(--ink)}
.botao.claro:hover{background:rgba(0,0,0,.11)}
.botao[disabled]{opacity:.4;cursor:not-allowed}
.selo{display:inline-block;background:var(--dourado);color:var(--marinho);border-radius:999px;
padding:1px 10px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}
.ajuda{font-size:.75rem;color:var(--mut2)}
.info{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;
background:var(--sol);color:#fff;font-size:10px;font-weight:700;cursor:help;margin-left:4px;vertical-align:middle}
pre{background:#F2F2F5;border-radius:10px;padding:14px;overflow:auto;font-size:.82rem}
img,svg{max-width:100%}
@media(max-width:860px){body{flex-direction:column}aside{width:100%;min-height:0}
main{padding:16px 12px}.grade2{grid-template-columns:1fr}}

/* ===== v3.4 ===== */
h2.pagina + .bloco, p.sub + .bloco{margin-top:6px}
/* (11)(13) botões nunca esticam */
.botao{width:fit-content;align-self:end;justify-self:start}
form.grade2 .botao, .grade2 .botao{margin-bottom:13px}
/* (3)(4) telas de autenticação: mais respiro + olho */
.painel-login label{margin:16px 0}
.painel-login .botao{margin-top:22px;width:100%;justify-content:center}
.painel-login .mini{margin-top:18px;display:block}
.campo-senha{position:relative;display:block}
.campo-senha input{padding-right:44px;margin-top:5px}
.campo-senha .olho{position:absolute;right:6px;top:calc(50% + 2.5px);transform:translateY(-50%);
background:none;border:0;cursor:pointer;font-size:1rem;line-height:1;color:var(--mut);
padding:6px;display:grid;place-items:center}
.campo-senha .olho:hover{color:var(--marinho)}
/* (5) sidebar recolhível */
aside .alterna{background:rgba(255,255,255,.1);border:0;color:#E7EAF4;border-radius:8px;
padding:6px 10px;cursor:pointer;margin:0 10px 8px;font-size:.8rem;width:fit-content}
body.colapsada aside{width:64px}
aside .topo .logo-min{display:none}
body.colapsada aside .topo .logo-full{display:none}
body.colapsada aside .topo{display:flex;justify-content:center;padding:8px 0 12px}
body.colapsada aside .topo .logo-min{display:block;width:34px;filter:none}
body.colapsada aside nav a .rot, body.colapsada aside nav .grupo{display:none}
body.colapsada aside nav a{text-align:center;font-size:1.05rem;padding:10px 0}
/* (6) barra superior com menu do usuário */
.topo-app{display:flex;justify-content:flex-end;align-items:center;gap:10px;
padding:10px 30px;background:#fff;border-bottom:1px solid var(--hair)}
.menu-usuario{position:relative}
.menu-usuario summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;
font-size:.84rem;color:var(--ink);padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.05)}
.menu-usuario summary::-webkit-details-marker{display:none}
.menu-usuario[open] summary{background:rgba(0,0,0,.1)}
.menu-usuario .drop{position:absolute;right:0;top:110%;background:#fff;border-radius:12px;
box-shadow:0 10px 34px rgba(0,0,0,.18);padding:8px;min-width:180px;z-index:40}
.menu-usuario .drop a{display:block;padding:8px 12px;border-radius:8px;font-size:.84rem;
color:var(--ink);text-decoration:none}
.menu-usuario .drop a:hover{background:rgba(0,0,0,.05)}
.envolve{flex:1;display:flex;flex-direction:column;min-width:0}
.envolve main{max-width:1300px}
/* (14) filtros do log: botões alinhados à base */
.filtros{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto auto;gap:0 12px;align-items:end}
.filtros .botao{margin-bottom:13px}
/* (15) documentação: tipografia confortável + abas com respiro */
.abas{margin:14px 0 18px;display:flex;gap:8px}
.doc-md{line-height:1.7;font-size:.92rem}
.doc-md h1{font-size:1.35rem;margin:6px 0 18px;color:var(--marinho)}
.doc-md h2{font-size:1.08rem;margin:26px 0 12px;color:var(--marinho)}
.doc-md p{margin:0 0 14px}
.doc-md ul,.doc-md ol{margin:0 0 16px 22px}
.doc-md li{margin-bottom:8px}
.doc-md table{margin:10px 0 20px}
.doc-md td,.doc-md th{padding:9px 12px}
.doc-md pre{margin:12px 0 20px}
/* ===== v3.5 · tela Regras ===== */
details.cat{border:1px solid var(--hair);border-radius:12px;margin:12px 0;overflow:hidden;background:#fff}
details.cat summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
padding:12px 16px;background:linear-gradient(90deg,var(--marinho),var(--marinho2));color:#fff;
font-weight:700;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase}
details.cat summary::-webkit-details-marker{display:none}
details.cat summary::before{content:'▸';transition:transform .15s}
details.cat[open] summary::before{transform:rotate(90deg)}
details.cat .cont{margin-left:auto;background:rgba(255,255,255,.16);border-radius:999px;
padding:2px 11px;font-size:.68rem;font-weight:600;text-transform:none;letter-spacing:0}
.tab-regras{margin:0}
.tab-regras td{padding:11px 12px}
.tab-regras tr:nth-child(even) td{background:rgba(21,30,69,.025)}
.tab-regras tr.inativa td{opacity:.45}
.tab-regras .c-cod{width:64px;font-weight:700;color:var(--marinho)}
.tab-regras .c-grav{width:96px}
.tab-regras .c-par{width:170px}
.tab-regras .c-chk{width:40px}
.chk{background:none;border:0;font-size:1.15rem;cursor:pointer;color:var(--marinho);padding:2px}
.par-form{display:flex;gap:5px}
.par-form input{margin-top:0;padding:5px 8px;font-size:.8rem}
.par-form .botao{margin-bottom:0}
.selo-grav{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.66rem;font-weight:800;letter-spacing:.03em}
.selo-grav.alta{background:var(--dourado-d);color:#fff}
.selo-grav.media{background:#EAD9A8;color:#5d4b1a}
.selo-grav.baixa{background:#E3E6EF;color:#3a4266}
.info{width:17px;height:17px;font-size:11px}
/* ===== v3.6 ===== */
.lista-arq{list-style:none;margin:10px 0 0;padding:0}
.lista-arq li{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--hair);
border-radius:9px;margin-bottom:6px;font-size:.82rem;background:#FBFBFD}
.lista-arq li span{flex:1;word-break:break-all}
.lista-arq li em{color:var(--mut2);font-style:normal;font-size:.72rem}
.lista-arq .rm{background:none;border:0;color:#B2455B;font-weight:700;cursor:pointer;font-size:.9rem;padding:2px 6px}
fieldset.fam .add{margin-bottom:0}
details.dica{margin-top:5px}
details.dica summary{cursor:pointer;color:var(--royal);font-size:.74rem;font-weight:600}
details.dica div{background:#F5EDD3;border:1px solid var(--dourado);border-radius:8px;
padding:8px 10px;margin-top:5px;color:#5d4b1a;font-size:.76rem}
/* ===== v4.0 · Regras (Atribuições + Catálogo Geral) ===== */
.abas .aba{padding:7px 16px;border-radius:999px;font-size:.82rem;font-weight:600;text-decoration:none;
color:var(--mut);background:rgba(0,0,0,.05)}
.abas .aba:hover{background:rgba(0,0,0,.09);color:var(--ink)}
.abas .aba.ativa{background:var(--marinho);color:#fff}
.tab-lista td{padding:12px 10px}
.tab-lista .c-num{width:120px;font-weight:700;color:var(--marinho)}
.tab-lista .c-acao{width:1%;white-space:nowrap;text-align:right}
.tab-lista .c-acao .botao{margin-left:6px}
.selo-modelo{display:inline-block;background:#EAF0FB;color:var(--royal);border-radius:999px;
padding:2px 10px;font-size:.72rem;font-weight:700}
.selo-modelo i{font-style:normal;opacity:.8}
.mini-sel{width:auto;display:inline-block;margin-top:0;padding:4px 8px;font-size:.76rem}
.barra-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.botao.perigo{background:#F7E3E8;color:var(--erro)}
.botao.perigo:hover{background:#F0CAD3}
.card-modelo{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.card-modelo .lbl{font-size:.7rem;color:var(--mut2);text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.card-modelo .val{font-size:1.15rem;font-weight:700;color:var(--marinho);margin:3px 0}
.card-modelo .tag{display:inline-block;background:#EAD9A8;color:#5d4b1a;border-radius:999px;
padding:1px 9px;font-size:.62rem;font-weight:800;vertical-align:middle}
.acoes-modelo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.acoes-modelo form{margin:0}
.dd{position:relative}
.dd>summary{list-style:none;cursor:pointer;margin:0}
.dd>summary::-webkit-details-marker{display:none}
.dd .dd-corpo{position:absolute;right:0;top:112%;z-index:30;background:#fff;border-radius:12px;
box-shadow:0 12px 34px rgba(0,0,0,.18);padding:10px;min-width:300px;display:flex;flex-direction:column;gap:6px}
.linha-modelo{display:flex;align-items:center;gap:10px;margin:0}
.linha-modelo .mnome{font-weight:600;font-size:.82rem;min-width:96px}
.linha-modelo .previa{flex:1;white-space:nowrap}
.linha-modelo .botao{margin:0}
.modal-bg{position:fixed;inset:0;background:rgba(15,20,40,.5);backdrop-filter:blur(3px);
display:none;align-items:center;justify-content:center;z-index:60;padding:20px}
.modal-bg.aberto{display:flex}
.modal{background:#fff;border-radius:18px;padding:24px 26px;width:min(620px,94vw);
box-shadow:0 30px 90px rgba(20,30,45,.4);max-height:90vh;overflow:auto}
.modal h3{font-size:1.05rem;color:var(--marinho);margin-bottom:6px}
.tab-regras .c-param{width:150px;color:var(--mut)}
.tab-regras .c-acao{width:1%;white-space:nowrap;text-align:right}
/* selos de leitura (tela de recebimento de upload) */
.selo-leitura{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.68rem;font-weight:800;letter-spacing:.02em}
.selo-leitura.ok{background:#D9EFE2;color:#1c6b43}
.selo-leitura.warn{background:#F5EDD3;color:#6b5620}
.selo-leitura.info{background:#E3E6EF;color:#3a4266}
