
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/estatico/manrope-latin.a30ddcd349.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:200 800;src:url(/estatico/manrope-latin-ext.3911b66d9f.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/estatico/jetbrains-mono-400.14425ba9c6.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/estatico/jetbrains-mono-500.cb182feeed.woff2) format('woff2')}
:root{
  color-scheme:light;
  --tinta:#0A1019;--suave:#475467;--sutil:#5B6576;--fundo:#F4F7FA;--papel:#FFFFFF;--linha:#DFE4EA;--linha-forte:#C5CCD6;--linha-leve:#EEF1F5;--realce:#F8FAFC;
  --ink-950:#070B12;--ink-900:#0B111B;--ink-800:#131D2B;--ink-700:#1C2939;--ink-texto:#E8EDF3;--ink-claro:#C5CCD6;--ink-suave:#9AA6B6;
  --ciano:#00BAEE;--ciano-claro:#33C8F2;--ciano-texto:#0076A3;--ciano-escuro:#005A7D;--ciano-fundo:#E8F8FE;--ciano-barra:#9FDDF3;
  --laranja:#FD7219;--laranja-claro:#FF8A3D;--laranja-texto:#B84A0C;--acao-texto:#0A0F17;
  --ok:#0E6F47;--ok-fundo:#E7F5EE;--ok-ponto:#12A26A;--alerta:#8A5300;--alerta-fundo:#FFF5E0;--erro:#B42318;--erro-fundo:#FEF3F2;--erro-linha:#FECDCA;
  --raio:12px;--raio-g:16px;--sombra:0 1px 2px rgba(7,11,18,.05);--sombra-m:0 8px 24px -8px rgba(7,11,18,.14),0 2px 6px rgba(7,11,18,.04);
  --fonte:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --solido:var(--ink-900);--solido-hover:var(--ink-700);--solido-texto:#fff;--topo-fundo:rgba(255,255,255,.96);--alerta-linha:#F5DDA6;
}
/* Modo escuro do console: segue o sistema ou a escolha da pessoa (data-tema no html, gravada neste navegador). */
@media (prefers-color-scheme:dark){html:not([data-tema=claro]) body.console{color-scheme:dark;
  --tinta:#E8EDF3;--suave:#C5CCD6;--sutil:#9AA6B6;--fundo:#070B12;--papel:#0E1520;--linha:#1F2C3D;--linha-forte:#2C3D52;--linha-leve:#162130;--realce:#121B28;
  --ciano-texto:#33C8F2;--ciano-escuro:#7FDCF7;--ciano-fundo:rgba(0,186,238,.14);--ciano-barra:#1D5C74;
  --ok:#7EE2B3;--ok-fundo:rgba(18,162,106,.18);--alerta:#FFC56B;--alerta-fundo:rgba(255,170,0,.13);--alerta-linha:rgba(255,197,107,.32);
  --erro:#FDA29B;--erro-fundo:rgba(180,35,24,.24);--erro-linha:rgba(253,162,155,.38);
  --sombra:none;--sombra-m:0 10px 30px -10px rgba(0,0,0,.7);
  --solido:#E8EDF3;--solido-hover:#C5CCD6;--solido-texto:#0A1019;--topo-fundo:rgba(11,17,27,.94);}}
html[data-tema=escuro] body.console{color-scheme:dark;
  --tinta:#E8EDF3;--suave:#C5CCD6;--sutil:#9AA6B6;--fundo:#070B12;--papel:#0E1520;--linha:#1F2C3D;--linha-forte:#2C3D52;--linha-leve:#162130;--realce:#121B28;
  --ciano-texto:#33C8F2;--ciano-escuro:#7FDCF7;--ciano-fundo:rgba(0,186,238,.14);--ciano-barra:#1D5C74;
  --ok:#7EE2B3;--ok-fundo:rgba(18,162,106,.18);--alerta:#FFC56B;--alerta-fundo:rgba(255,170,0,.13);--alerta-linha:rgba(255,197,107,.32);
  --erro:#FDA29B;--erro-fundo:rgba(180,35,24,.24);--erro-linha:rgba(253,162,155,.38);
  --sombra:none;--sombra-m:0 10px 30px -10px rgba(0,0,0,.7);
  --solido:#E8EDF3;--solido-hover:#C5CCD6;--solido-texto:#0A1019;--topo-fundo:rgba(11,17,27,.94);}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fonte);font-size:14.5px;line-height:1.55;color:var(--tinta);background:var(--fundo);-webkit-font-smoothing:antialiased}
a{color:var(--ciano-texto);text-decoration:none}a:hover{color:var(--ciano-escuro);text-decoration:underline}
:focus-visible{outline:2px solid var(--ciano-texto);outline-offset:2px}
.oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-9999px;top:8px;background:var(--papel);padding:8px 12px;border-radius:8px;z-index:20}.pular:focus{left:8px}

/* moldura */
.moldura{display:flex;min-height:100vh}
.lateral{flex:0 0 264px;width:264px;background:var(--ink-900);color:var(--ink-claro);display:flex;flex-direction:column;gap:16px;padding:20px 14px;border-right:1px solid rgba(255,255,255,.06);position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ink-700) transparent}
.lateral :focus-visible{outline-color:var(--ciano-claro)}
.marca{display:flex;align-items:center;gap:10px;padding:2px 8px;color:var(--ink-texto)}
.marca:hover{text-decoration:none;color:#fff}
.marca img{width:38px;height:20px;display:block}
.marca b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.15}
.marca small{display:block;font-size:10.5px;color:var(--ink-suave);letter-spacing:.08em;text-transform:uppercase}
.empresa{display:flex;align-items:center;gap:10px;background:var(--ink-800);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:var(--ink-texto)}
.empresa .sigla{flex:none;width:30px;height:30px;border-radius:8px;background:rgba(0,186,238,.14);color:var(--ciano-claro);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.empresa b{display:block;font-size:13px;line-height:1.25}
.empresa small{display:block;font-size:11px;color:var(--ink-suave)}
.empresa a{color:var(--ciano-claro)}
.navegacao>summary{display:none}
.nav{display:flex;flex-direction:column;gap:14px;font-size:13.5px}
.nav .grupo{display:flex;flex-direction:column;gap:1px}
.nav .rotulo{font-size:10.5px;font-weight:800;color:var(--ink-suave);letter-spacing:.09em;text-transform:uppercase;padding:0 10px 5px}
.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--ink-claro);text-decoration:none;line-height:1.3}
.nav a:hover{background:var(--ink-800);color:var(--ink-texto)}
.nav a[aria-current=page]{background:rgba(0,186,238,.12);color:var(--ink-texto);font-weight:700}
.nav a[aria-current=page] svg{color:var(--ciano-claro)}
.nav svg{flex:none}
.nav .cont{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-suave)}
.nav .cont.quente{color:var(--ink-900);background:var(--laranja-claro);border-radius:999px;padding:0 7px;font-weight:500}
.pessoa{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:var(--ink-800);border:1px solid rgba(255,255,255,.06)}
.pessoa .quem{display:flex;align-items:center;gap:10px}
.pessoa .avatar{flex:none;width:34px;height:34px;border-radius:999px;background:var(--ink-700);color:var(--ink-texto);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.pessoa b{display:block;font-size:13px;color:var(--ink-texto);line-height:1.3}
.pessoa small{display:block;font-size:11px;color:var(--ink-suave);line-height:1.35}
.pessoa .linha-acoes{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.pessoa .linha-acoes a{color:var(--ciano-claro)}
.pessoa form{margin:0}
.pessoa button{margin:0;padding:6px 10px;font-size:12px;font-weight:700;background:transparent;color:var(--ink-claro);border:1px solid rgba(255,255,255,.14);border-radius:8px;display:inline-flex;align-items:center;gap:6px}
.pessoa button:hover{background:var(--ink-700);color:#fff}
.selo-2fa{display:inline-block;font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 8px;color:var(--ink-900);background:var(--laranja-claro)}
.selo-2fa.ok{background:rgba(18,162,106,.2);color:#7EE2B3}
.pessoa .tema{display:flex;gap:2px;padding:2px;border-radius:9px;background:var(--ink-900);border:1px solid rgba(255,255,255,.08)}
.pessoa .tema[hidden]{display:none}
.pessoa .tema button{flex:1;margin:0;padding:5px 4px;font-size:11px;font-weight:700;border:0;border-radius:7px;background:transparent;color:var(--ink-suave);justify-content:center}
.pessoa .tema button:hover{color:#fff;background:transparent}
.pessoa .tema button[aria-pressed=true]{background:var(--ink-700);color:#fff}
.pessoa button.link-atalhos{border:0;padding:0;background:none;color:var(--ink-suave);font-weight:600;font-size:11px;text-decoration:underline}
.pessoa button.link-atalhos[hidden]{display:none}
dialog.atalhos{border:1px solid var(--linha);border-radius:16px;padding:22px 24px;background:var(--papel);color:var(--tinta);box-shadow:var(--sombra-m);width:min(460px,calc(100vw - 32px))}
dialog.atalhos::backdrop{background:rgba(7,11,18,.55)}
dialog.atalhos h2{margin:0 0 14px;font-size:17px}
dialog.atalhos dl{grid-template-columns:max-content minmax(0,1fr);gap:9px 16px;margin:0 0 6px;font-size:13.5px}
dialog.atalhos dt{color:var(--tinta)}
dialog.atalhos form{margin:0;display:flex;justify-content:flex-end}
.principal{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.topo{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 32px;background:var(--topo-fundo);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:5;backdrop-filter:saturate(1.4) blur(6px)}
.busca{display:flex;align-items:center;gap:10px;flex:1 1 340px;min-width:0;max-width:600px;background:var(--fundo);border:1px solid var(--linha);border-radius:10px;padding:0 12px;height:42px;color:var(--sutil);margin:0}
.busca:focus-within{border-color:var(--ciano-texto);box-shadow:0 0 0 3px rgba(0,118,163,.16);background:var(--papel)}
.busca input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--tinta);outline:none;padding:0;height:40px;box-shadow:none}
.kbd{font-family:var(--mono);font-size:11px;color:var(--sutil);border:1px solid var(--linha-forte);border-radius:6px;padding:1px 6px;white-space:nowrap}
.topo-acoes{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}
.selo-sync{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;border-radius:999px;padding:6px 12px;color:var(--ok);background:var(--ok-fundo);white-space:nowrap}
.selo-sync i{width:8px;height:8px;border-radius:999px;background:var(--ok-ponto);display:inline-block}
.selo-sync.atrasada{color:var(--erro);background:var(--erro-fundo)}.selo-sync.atrasada i{background:var(--erro)}
.botao-icone{width:42px;height:42px;border-radius:10px;border:1px solid var(--linha);background:var(--papel);display:inline-flex;align-items:center;justify-content:center;color:var(--tinta)}
.botao-icone:hover{background:var(--realce);color:var(--tinta);text-decoration:none}
.criar{position:relative}
.criar>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:10px;background:var(--laranja);color:var(--acao-texto);font-weight:800;font-size:14px;cursor:pointer;user-select:none}
.criar>summary::-webkit-details-marker{display:none}
.criar>summary:hover{background:var(--laranja-claro)}
.criar .menu-criar{position:absolute;right:0;top:48px;min-width:220px;background:var(--papel);border:1px solid var(--linha);border-radius:12px;box-shadow:var(--sombra-m);padding:6px;display:flex;flex-direction:column;z-index:10}
.criar .menu-criar a{padding:9px 12px;border-radius:8px;color:var(--tinta);font-weight:600}
.criar .menu-criar a:hover{background:var(--realce);text-decoration:none}
.sino{position:relative}
.sino>summary{list-style:none;cursor:pointer;position:relative;user-select:none}
.sino>summary::-webkit-details-marker{display:none}
.sino[open]>summary{background:var(--realce);border-color:var(--linha-forte)}
.selo-num{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;border:2px solid var(--papel);background:var(--suave);color:#fff;font-size:10.5px;font-weight:800;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}
.selo-num.alta{background:var(--erro)}.selo-num.media{background:var(--laranja-texto)}
.menu-sino{position:absolute;right:0;top:48px;width:min(400px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 96px));overflow-y:auto;background:var(--papel);border:1px solid var(--linha);border-radius:12px;box-shadow:var(--sombra-m);padding:6px;display:flex;flex-direction:column;z-index:10}
.sino-topo{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 10px 8px}
.sino-topo b{font-size:14px}.sino-topo span{font-size:12px;color:var(--sutil)}
.aviso-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:8px;color:var(--tinta)}
a.aviso-item:hover{background:var(--realce);color:var(--tinta);text-decoration:none}
.aviso-item b{display:block;font-size:13.5px;line-height:1.35}.aviso-item small{display:block;font-size:12px;line-height:1.4;color:var(--sutil)}
.sino-vazio{margin:0;padding:14px 10px;color:var(--sutil);font-size:13px}
.sino-rodape{border-top:1px solid var(--linha-leve);margin-top:4px;padding:10px;font-weight:700;font-size:13px}
.avisos{display:flex;flex-direction:column;gap:8px;padding:16px 32px 0}
.aviso{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--alerta-fundo);color:var(--alerta);font-size:13.5px;font-weight:600;border:1px solid var(--alerta-linha)}
.conteudo{padding:28px 32px 64px;width:100%;max-width:1440px}
.folha{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio-g);padding:28px 32px;box-shadow:var(--sombra)}
.folha.estreita{max-width:860px}

/* tipografia */
h1{font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}
h2{font-size:17px;line-height:1.3;font-weight:800;letter-spacing:-.005em;margin:28px 0 10px}
h3{font-size:15px;font-weight:700;margin:20px 0 8px}
p{margin:0 0 12px}
.quieto{color:var(--sutil);font-size:13.5px}
code,.mono{font-family:var(--mono);font-size:.92em}
pre{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:12.5px;margin:0;color:var(--suave);background:var(--realce);border:1px solid var(--linha);border-radius:10px;padding:12px}
dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 22px;margin:0 0 16px}
dt{color:var(--sutil)}dd{margin:0}

/* tabelas */
.tabela{overflow-x:auto;border:1px solid var(--linha);border-radius:var(--raio);background:var(--papel)}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{background:var(--realce);color:var(--suave);font-weight:700;font-size:12px;text-align:left;padding:10px 12px;border-bottom:1px solid var(--linha);white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid var(--linha-leve);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--realce)}
th.num,td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tfoot td{font-weight:800;border-top:1px solid var(--linha);background:var(--realce)}

/* listas (abas com contagem, filtros, ordenacao e paginacao) */
.bloco.lista{padding:0;gap:0;overflow:hidden}
.abas{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin}
.lista .abas{padding:0 14px;border-bottom:1px solid var(--linha)}
.abas a{display:inline-flex;align-items:center;gap:8px;padding:13px 10px 11px;border-bottom:2px solid transparent;color:var(--suave);font-weight:700;font-size:13.5px;white-space:nowrap}
.abas a:hover{color:var(--tinta);text-decoration:none}
.abas a[aria-current=page]{color:var(--tinta);border-bottom-color:var(--ciano-texto)}
.abas .n{font-size:11.5px;font-weight:800;border-radius:999px;padding:1px 8px;background:var(--linha-leve);color:var(--suave);font-variant-numeric:tabular-nums}
.abas a[aria-current=page] .n{background:var(--ciano-fundo);color:var(--ciano-texto)}
.abas .n.quente{background:var(--erro-fundo);color:var(--erro)}
.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--linha-leve);margin:0}
.filtros select{width:auto;flex:0 1 220px;min-height:40px;padding:8px 10px}
.filtros button{margin:0;padding:10px 16px}
.filtros .limpar{font-size:13px;font-weight:700}
.filtros .marca-filtro{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:600;font-size:13px;color:var(--suave)}
.filtros .marca-filtro input{width:auto;min-height:0}
.campo-busca{display:flex;align-items:center;gap:8px;flex:1 1 280px;min-width:0;max-width:440px;margin:0;border:1px solid var(--linha-forte);border-radius:10px;padding:0 12px;background:var(--papel);color:var(--sutil);font-weight:400}
.campo-busca input{border:0;padding:0;min-height:38px;outline:none;background:transparent;border-radius:0}
.campo-busca:focus-within{outline:2px solid var(--ciano-texto);outline-offset:1px}
.lista .tabela{border:0;border-radius:0}
.lista th:first-child,.lista td:first-child{padding-left:18px}
.lista th:last-child,.lista td:last-child{padding-right:18px}
th a.ordenar{color:inherit;display:inline-flex;align-items:center;gap:5px}
th a.ordenar:hover{color:var(--tinta);text-decoration:none}
th a.ordenar i{font-style:normal}th a.ordenar i::after{content:'\2195';opacity:.35}
th a.ordenar.ativa{color:var(--tinta)}
th a.ordenar.ativa.asc i::after{content:'\2191';opacity:1}th a.ordenar.ativa.desc i::after{content:'\2193';opacity:1}
td .sub{display:block;font-size:12.5px;color:var(--sutil)}
.rodape-tabela{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:12px 18px;border-top:1px solid var(--linha);font-size:13px;color:var(--suave)}
.rodape-tabela b{color:var(--tinta)}
.por-pagina{display:inline-flex;gap:10px;align-items:center}
.paginas{display:inline-flex;gap:4px;align-items:center}
.paginas a,.paginas span{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:0 8px;font-weight:700}
.paginas a{color:var(--tinta);border:1px solid var(--linha)}
.paginas a:hover{background:var(--realce);text-decoration:none}
.paginas [aria-current=page]{background:var(--solido);color:var(--solido-texto)}
.paginas .fora{color:var(--linha-forte)}.paginas .reticencias{min-width:14px;padding:0}
.lista .vazio{margin:18px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 12px;border-radius:999px;background:var(--ciano-fundo);color:var(--ciano-texto);font-size:13px;font-weight:700}
.chip a{font-weight:800}
.chip a[aria-label]{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;font-size:16px;line-height:1}
.chip a[aria-label]:hover{background:rgba(0,118,163,.12);text-decoration:none}
.lista .nota{padding:12px 18px;margin:0;border-bottom:1px solid var(--linha-leve);font-size:13px;color:var(--sutil)}
.acoes-cabecalho{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.botao{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;background:var(--solido);color:var(--solido-texto);font-weight:800;font-size:14px;white-space:nowrap}
.botao:hover{color:var(--solido-texto);text-decoration:none;background:var(--solido-hover)}
.botao.secundario{background:var(--papel);color:var(--tinta);border:1px solid var(--linha-forte)}.botao.secundario:hover{background:var(--realce);color:var(--tinta)}
.botao.primario{background:var(--laranja);color:var(--acao-texto)}.botao.primario:hover{background:var(--laranja-claro);color:var(--acao-texto)}
.segmentos{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:var(--linha-leve);margin:0 0 16px;flex-wrap:wrap}
.segmentos a{padding:8px 14px;border-radius:9px;font-weight:700;font-size:13.5px;color:var(--suave)}
.segmentos a:hover{color:var(--tinta);text-decoration:none}
.segmentos a[aria-current=page]{background:var(--papel);color:var(--tinta);box-shadow:var(--sombra)}

/* etiquetas e mensagens */
.etiqueta{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--linha-leve);color:var(--suave);white-space:nowrap;line-height:1.4}
.etiqueta.aviso{background:var(--alerta-fundo);color:var(--alerta)}.etiqueta.ok{background:var(--ok-fundo);color:var(--ok)}.etiqueta.erro{background:var(--erro-fundo);color:var(--erro)}.etiqueta.alerta{background:var(--alerta-fundo);color:var(--alerta)}.etiqueta.info{background:var(--ciano-fundo);color:var(--ciano-texto)}
.msg{padding:12px 14px;border-radius:10px;margin:0 0 16px;font-size:14px;border:1px solid transparent}
.msg.erro{background:var(--erro-fundo);color:var(--erro);border-color:var(--erro-linha)}.msg.ok{background:var(--ok-fundo);color:var(--ok)}
.faixa{padding:12px 14px;border-radius:12px;background:var(--alerta-fundo);color:var(--alerta);font-size:13.5px;font-weight:600;margin:0 0 16px}
.selo{display:inline-block;margin-bottom:12px;padding:5px 12px;border-radius:999px;font-weight:700;font-size:13px}
.link-unico{word-break:break-all;background:var(--realce);border:1px solid var(--linha);padding:12px;border-radius:10px;font-family:var(--mono);font-size:13px}
.codigos{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-family:var(--mono);font-size:15px;background:var(--realce);padding:14px;border-radius:10px}
@media print{body *{visibility:hidden}.cartao-codigos,.cartao-codigos *{visibility:visible}.cartao-codigos{position:absolute;left:0;top:0;width:100%;color:#000}.cartao-codigos .codigos{background:none;border:1px solid #999}}
.qr{display:block;margin:12px auto;width:220px;height:220px}

/* formularios */
label{display:block;font-weight:700;font-size:13px;margin:14px 0 6px;color:var(--tinta)}
input,select,textarea{width:100%;font:inherit;font-size:14px;color:var(--tinta);background:var(--papel);border:1px solid var(--linha-forte);border-radius:10px;padding:10px 12px;min-height:42px}
textarea{min-height:110px;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ciano-texto);box-shadow:0 0 0 3px rgba(0,118,163,.16)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--ciano-texto)}
button{font:inherit;font-size:14px;font-weight:800;cursor:pointer;border:0;border-radius:10px;padding:11px 18px;background:var(--solido);color:var(--solido-texto);margin-top:16px;line-height:1.2}
button:hover{background:var(--solido-hover)}
button.secundario{background:var(--papel);color:var(--tinta);border:1px solid var(--linha-forte)}
button.secundario:hover{background:var(--realce)}
button.perigo{background:var(--erro)}button.perigo:hover{background:#912018}
button.primario{background:var(--laranja);color:var(--acao-texto)}button.primario:hover{background:var(--laranja-claro)}
button.link{background:none;color:var(--ciano-texto);padding:0;margin:0;font-weight:600;font-size:13.5px;text-decoration:underline}
.acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.acoes form{flex:0 0 auto;margin:0}.acoes button{margin-top:0}
.linha-busca{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.linha-busca input{flex:2 1 220px;width:auto}.linha-busca select{flex:1 1 160px;width:auto}.linha-busca button{margin:0}
form.linha{display:inline}

/* blocos do painel */
.cabecalho{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.cabecalho h1{font-size:30px;margin:4px 0 6px}
.cabecalho .sobre{font-size:12px;font-weight:800;color:var(--ciano-texto);letter-spacing:.08em;text-transform:uppercase}
.cabecalho p{margin:0;color:var(--suave);font-size:14px}
.grade{display:grid;gap:16px}
.grade.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1440px){.grade.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.grade.dupla{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.bloco{background:var(--papel);border:1px solid var(--linha);border-radius:14px;padding:20px 22px;box-shadow:var(--sombra);min-width:0;display:flex;flex-direction:column;gap:14px}
.bloco>h2{margin:0;font-size:16px}
.bloco .topo-bloco{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}
.bloco .topo-bloco h2{margin:0;font-size:16px}
.bloco .topo-bloco>div{flex:1 1 260px;min-width:0}.bloco .topo-bloco>a{flex:none}
.bloco.escuro{background:var(--ink-900);color:var(--ink-texto);border-color:var(--ink-900)}
.bloco.escuro a{color:var(--ciano-claro)}.bloco.escuro .quieto{color:var(--ink-suave)}
.kpi .rotulo{font-size:13px;font-weight:600;color:var(--suave)}
.kpi .valor{font-size:clamp(26px,2.1vw,30px);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.kpi .valor.perigo{color:var(--erro)}
.kpi .detalhe{font-size:13px;color:var(--sutil)}
.kpi.destaque-erro{border-color:var(--erro-linha)}
.vazio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:var(--sutil);font-size:13.5px;padding:24px;border:1px dashed var(--linha-forte);border-radius:12px;min-height:120px}
.kpi .topo-kpi{display:flex;align-items:center;justify-content:space-between;gap:8px}
.kpi .ok-texto{color:var(--ok);font-weight:700}.kpi .queda{color:var(--alerta);font-weight:700}
.kpi .tendencia{display:block;width:100%;height:34px;margin-top:auto}
.grafico{display:flex;gap:12px}
.grafico .eixo{display:flex;flex-direction:column;justify-content:space-between;height:172px;padding-bottom:12px;width:56px;font-family:var(--mono);font-size:11px;color:var(--sutil);text-align:right;flex:none}
.grafico .area{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.grafico .plano{position:relative;height:160px;border-bottom:1px solid var(--linha-forte);margin-top:6px}
.grafico .guia{position:absolute;left:0;right:0;border-top:1px dashed var(--linha);display:block}
.grafico .barras{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:end}
.grafico .barra{position:relative;background:var(--ciano-barra);border-radius:6px 6px 0 0;min-height:0}
.grafico .barra.destaque{background:var(--ciano-texto)}
.grafico .barra.parcial{background:repeating-linear-gradient(90deg,var(--linha-forte) 0 4px,var(--linha-leve) 4px 8px)}
.grafico .barra .valor{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:700;color:var(--solido-texto);background:var(--solido);border-radius:6px;padding:3px 7px}
.grafico .sem-dados{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--sutil);font-size:13px;font-weight:600}
.grafico .meses{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;font-size:11px;color:var(--sutil);text-align:center}
.grafico .meses .atual{color:var(--ciano-texto);font-weight:800}
.familias{display:flex;flex-direction:column;gap:11px;font-size:13px}
.familias .linha-fam{display:grid;grid-template-columns:120px minmax(0,1fr) 112px;gap:10px;align-items:center}
.familias .trilho{height:10px;border-radius:999px;background:var(--linha-leve);display:block;overflow:hidden}
.familias .trilho i{display:block;height:10px;border-radius:999px;background:var(--ciano-texto)}
.familias .trilho i.claro{background:var(--ciano)}.familias .trilho i.fraco{background:var(--ciano-barra)}
.familias .num{text-align:right;font-variant-numeric:tabular-nums}
.total-linha{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid var(--linha-leve);font-size:13px;margin-top:auto}
.atencao{display:flex;flex-direction:column}
.atencao .item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 6px;border-top:1px solid var(--linha-leve)}
.atencao .item:hover{background:var(--realce)}
.atencao .item b{display:block;font-size:14px}.atencao .item small{display:block;font-size:12.5px;color:var(--sutil)}
.atencao .item a{font-weight:700;font-size:13px;white-space:nowrap}
.sev{font-size:11px;font-weight:800;border-radius:999px;padding:4px 0;text-align:center;letter-spacing:.02em}
.sev.alta{color:var(--erro);background:var(--erro-fundo)}.sev.media{color:var(--alerta);background:var(--alerta-fundo)}.sev.baixa{color:var(--suave);background:var(--linha-leve)}.sev.ok{color:var(--ok);background:var(--ok-fundo)}
.numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.numeros div{display:flex;flex-direction:column;gap:2px}
.numeros b{font-size:34px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.numeros small{font-size:12.5px;color:var(--ink-suave)}
.numeros .laranja{color:var(--laranja-claro)}.numeros .apagado{color:var(--ink-suave)}
.ondas{display:flex;flex-direction:column;gap:12px;font-size:13px}
.ondas .onda{display:grid;grid-template-columns:120px minmax(0,1fr) 34px;gap:10px;align-items:center}
.ondas .pilha{display:flex;height:12px;border-radius:4px;overflow:hidden;background:rgba(255,255,255,.06)}
.ondas .pilha i{display:block;height:12px}.ondas .pilha i.geral{background:var(--ciano)}.ondas .pilha i.falta{background:var(--laranja-claro)}
.ondas .num{text-align:right;color:var(--ink-suave);font-variant-numeric:tabular-nums}
.legenda{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--ink-suave)}
.legenda span{display:inline-flex;align-items:center;gap:6px}.legenda i{width:10px;height:10px;border-radius:3px;display:inline-block}
.tempo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tempo li{display:grid;grid-template-columns:76px 12px minmax(0,1fr);gap:10px;padding:10px 0;border-top:1px solid var(--linha-leve)}
.tempo time{font-family:var(--mono);font-size:12px;color:var(--sutil)}
.tempo .ponto{width:10px;height:10px;border-radius:999px;background:var(--ciano-barra);margin-top:4px}
.tempo b{display:block;font-size:13.5px}.tempo small{display:block;font-size:12.5px;color:var(--sutil)}
.pendencias{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pendencias li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--linha-leve)}
.pendencias li:first-child{border-top:0}
.pendencias b{display:block;font-size:13.5px}.pendencias small{display:block;font-size:12.5px;color:var(--sutil)}
details.formulario>summary{cursor:pointer;font-weight:700;color:var(--ciano-texto);list-style:none;display:inline-block}
details.formulario>summary::-webkit-details-marker{display:none}
.secao-titulo{font-size:12px;font-weight:800;color:var(--ciano-texto);letter-spacing:.08em;text-transform:uppercase;margin:6px 0 -4px}

@media (max-width:960px){
  .moldura{flex-direction:column}
  .lateral{position:static;width:auto;flex:none;height:auto;overflow:visible;padding:14px 16px;gap:12px}
  .navegacao>summary{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink-texto);font-weight:700;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;list-style:none}
  .navegacao>summary::-webkit-details-marker{display:none}
  .navegacao[open]>summary{margin-bottom:12px}
  .pessoa{margin-top:0}
  .topo{padding:12px 16px;position:relative}
  .criar,.sino{position:static}
  .criar .menu-criar,.menu-sino{left:16px;right:16px;width:auto;min-width:0;top:calc(100% - 4px)}
  .avisos{padding:12px 16px 0}
  .conteudo{padding:20px 16px 48px}
  .folha{padding:20px 18px}
  .grade.dupla{grid-template-columns:minmax(0,1fr)}
  /* Menu fechado no celular: so a marca e o botao do menu; empresa e pessoa aparecem com o menu aberto. */
  .lateral:has(#menu-lateral:not([open])) .empresa,.lateral:has(#menu-lateral:not([open])) .pessoa{display:none}
  .busca .kbd{display:none}
  .selo-sync{font-size:12px;padding:5px 10px}
}

/* entrada (sem sessao) */
.acesso{min-height:100vh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.acesso-marca{background:var(--ink-950);color:var(--ink-texto);padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.acesso-marca .marca b{font-size:20px}.acesso-marca .marca img{width:52px;height:27px}
.acesso-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.acesso-empresa{font-size:12px;font-weight:800;color:var(--ciano-claro);background:rgba(0,186,238,.12);border:1px solid rgba(0,186,238,.25);border-radius:999px;padding:5px 12px}
.acesso-marca h2{font-size:34px;line-height:1.15;letter-spacing:-.025em;margin:0 0 12px;color:#fff;max-width:16ch}
.acesso-marca p{color:var(--ink-claro);max-width:44ch;margin:0}
.acesso-marca .rodape{font-size:12px;color:var(--ink-suave)}
.acesso-form{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.acesso-form .folha{width:100%;max-width:440px}
.acesso-form button{width:100%;padding:13px 18px}.acesso-form button.secundario,.acesso-form button.link{width:auto}
@media (max-width:600px){.grade.kpis{grid-template-columns:minmax(0,1fr)}.numeros{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.acesso{grid-template-columns:minmax(0,1fr)}.acesso-marca{padding:28px 20px;gap:16px}.acesso-marca h2{font-size:24px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
