/* Integralis — layout e formulários do aplicativo (sobre tokens.css e componentes.css). */
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 15px/22px var(--font-sans);overflow-x:hidden}
a{color:var(--pri-lt)}a:hover{color:var(--fg)}
:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
h1:focus{outline:none}
.so-leitor{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pular{position:absolute;left:8px;top:-60px;z-index:20;background:var(--btn);color:var(--ink-on-accent);padding:8px 14px;border-radius:var(--radius-sm)}
.pular:focus{top:8px}

/* Marca */
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca img{width:30px;height:30px;flex:none}
.marca__nome{font:700 14px/17px var(--font-display);letter-spacing:.3px;white-space:nowrap}
.marca__nome b{color:var(--pri-lt);font-weight:700}.marca__nome span{color:var(--grey)}

/* Casca */
.casca{display:flex;min-height:100vh}
.lateral{flex:0 0 248px;background:var(--panel);border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;overflow-y:auto}
.lateral__topo{display:flex;align-items:center;justify-content:space-between;gap:8px}
.botao-menu{display:none}
.lateral__corpo{display:flex;flex-direction:column;gap:22px}
.areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius-sm)}
.areas a{text-align:center;padding:8px 0;border-radius:4px;color:var(--mut);font:600 13px/18px var(--font-sans);text-decoration:none}
.areas a[aria-current="true"]{background:var(--pri-a16);color:var(--fg)}
.areas a[aria-disabled="true"]{opacity:.55}
.menu{display:flex;flex-direction:column;gap:2px}
.menu .ig-kicker{padding:0 10px 8px}
.menu a{padding:9px 10px;border-radius:var(--radius-sm);color:var(--mut);font:600 14px/20px var(--font-sans);text-decoration:none}
.menu a:hover{background:var(--hi-08);color:var(--fg)}
.menu a[aria-current="page"]{background:var(--pri-a08);color:var(--fg);box-shadow:inset 2px 0 0 var(--pri)}
.principal{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.topo{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 32px;min-height:var(--header-h);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}
.topo__espaco{flex:1}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--pri-dk);color:#fff;display:grid;place-items:center;font:600 13px/1 var(--font-sans);flex:none}
.usuario{display:flex;align-items:center;gap:10px;min-width:0}
.usuario__nome{font:600 13px/16px var(--font-sans)}.usuario__esc{font:400 12px/16px var(--font-sans);color:var(--mut)}
.conteudo{padding:28px 32px 48px;display:flex;flex-direction:column;gap:24px;max-width:1220px;width:100%}

/* Cabeçalho de tela */
.cabeca{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.cabeca__texto{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:760px}
h1.titulo{margin:0;font:700 32px/38px var(--font-display);letter-spacing:-.64px}
h2.secao{margin:0;font:600 22px/24.2px var(--font-display);letter-spacing:-.44px}
h3.cartao{margin:0;font:600 18px/20px var(--font-display);letter-spacing:-.36px}
.apoio{margin:0;color:var(--mut);font:400 15px/23px var(--font-sans)}
.nota{margin:0;color:var(--mut);font:400 13px/19px var(--font-sans)}
.quebrar{overflow-wrap:anywhere}
.acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bloco{display:flex;flex-direction:column;gap:12px;min-width:0}
.painel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.painel--destaque{border-color:var(--pri-a35);border-radius:var(--radius-lg)}
.grade{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.colunas{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.colunas > .largo{flex:999 1 560px;min-width:0}
.colunas > .estreito{flex:1 1 320px;min-width:0}
.numero-grande{margin:0;font:600 30px/34px var(--font-display)}
.mono{font-family:var(--font-mono)}
.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}

/* Formulários */
.form{display:flex;flex-direction:column;gap:16px}
.campos{display:grid;gap:14px 16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.campo--inteiro{grid-column:1/-1}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo > label,.campo > .rotulo{font:600 13px/18px var(--font-sans);color:var(--fg)}
.campo .ajuda{font:400 12px/17px var(--font-sans);color:var(--mut)}
.senha-com-olho{position:relative;display:flex}
.senha-com-olho > input{padding-right:44px}
.senha-olho{position:absolute;top:0;right:0;bottom:0;width:40px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:var(--radius-sm);color:var(--mut);cursor:pointer}
.senha-olho:hover{color:var(--fg)}
.senha-olho:focus-visible{outline:2px solid var(--pri);outline-offset:-2px}
.campo .erro-campo{font:600 12px/17px var(--font-sans);color:var(--danger);white-space:pre-line}
input[type=text],input[type=password],input[type=number],input[type=month],input[type=search],select,textarea{width:100%;max-width:100%;background:var(--card);color:var(--fg);border:1px solid var(--line-control);border-radius:var(--radius-sm);padding:9px 11px;font:400 14px/20px var(--font-sans);min-height:40px}
input.mono,input[type=month]{font-family:var(--font-mono)}
input.num{text-align:right}
input[aria-invalid="true"]{border-color:var(--danger)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pri);outline-offset:1px;border-color:var(--pri)}
input:disabled,select:disabled,textarea:disabled{opacity:.6}
textarea{resize:vertical}
.marcar{display:flex;gap:10px;align-items:flex-start;font:400 14px/20px var(--font-sans)}
.marcar input{margin:2px 0 0;width:18px;height:18px;accent-color:var(--pri);flex:none}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px 14px;margin:0;min-width:0}
legend{padding:0 6px;font:600 12px/18px var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--mut)}
.seletor{display:flex;align-items:center;gap:8px;font:400 13px/18px var(--font-sans);color:var(--mut);min-width:0}
.seletor select{min-width:0;width:auto;max-width:260px;padding:6px 10px;min-height:36px;font-size:13px}
.ig-btn{min-height:40px;text-decoration:none}
.ig-btn--pequeno{padding:6px 12px;min-height:32px;font-size:13px}
.ig-btn--secondary:disabled:hover{background:var(--card)}
.botao-link{background:none;border:0;padding:0;color:var(--pri-lt);font:600 14px/20px var(--font-sans);cursor:pointer;text-decoration:underline}

/* Tabelas: rolam dentro do contêiner, nunca a página */
.rolagem{overflow-x:auto;max-width:100%;border-radius:var(--radius)}
.rolagem:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.ig-table{min-width:560px}
.ig-table td,.ig-table th{vertical-align:top}
.ig-table td.num,.ig-table th.num{white-space:nowrap}
.ig-table td input{min-height:34px;padding:6px 8px;width:96px}
.ig-table tfoot td{font-weight:600;border-top:1px solid var(--line2);background:#ffffff05}
.ig-table tr.linha-estorno td{color:var(--mut)}
.ig-table .ig-chip{white-space:nowrap}
details.memoria summary{cursor:pointer;color:var(--pri-lt);font:600 13px/20px var(--font-sans)}
details.memoria ol,details.memoria ul{margin:8px 0 0;padding-left:18px;font:400 13px/20px var(--font-mono);color:var(--mut)}
details.memoria pre{white-space:pre-wrap;word-break:break-word;font:400 12px/18px var(--font-mono);color:var(--mut);margin:8px 0 0}

/* Avisos */
.avisos{display:flex;flex-direction:column;gap:8px}
.aviso{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border:1px solid var(--line2);border-left-width:4px;border-radius:var(--radius-sm);padding:10px 14px;background:var(--panel);font:500 14px/20px var(--font-sans)}
.aviso--erro{border-color:var(--danger)}.aviso--erro .aviso__tipo{color:var(--danger)}
.aviso--ok{border-color:var(--ok)}.aviso--ok .aviso__tipo{color:var(--ok)}
.aviso--atencao,.aviso--permissao{border-color:var(--warn)}.aviso--atencao .aviso__tipo,.aviso--permissao .aviso__tipo{color:var(--warn)}
.aviso__tipo{font:600 12px/20px var(--font-mono);letter-spacing:1px;text-transform:uppercase;margin-right:8px}
.aviso ul{margin:6px 0 0;padding-left:18px}
.aviso button{background:none;border:0;color:var(--mut);cursor:pointer;font:600 13px/20px var(--font-sans);padding:0 4px}
.vazio{border:1px dashed var(--line2);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--panel)}
.vazio h3{margin:0;font:600 17px/22px var(--font-display)}
.vazio p{margin:0;color:var(--mut);font-size:14px;line-height:21px}
.carregando{color:var(--mut);font:400 14px/20px var(--font-sans)}
.abas{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);padding-bottom:8px}
.abas a{padding:8px 12px;border-radius:var(--radius-sm);color:var(--mut);font:600 14px/20px var(--font-sans);text-decoration:none}
.abas a[aria-current="page"]{background:var(--pri-a16);color:var(--fg)}
.lista-dados{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px}
.lista-dados dt{color:var(--mut);font:600 12px/20px var(--font-mono);letter-spacing:1px;text-transform:uppercase}
.lista-dados dd{margin:0;min-width:0;word-break:break-word}
.ig-rastro li{grid-template-columns:110px minmax(0,1fr) 10px}
.ig-rastro__val{word-break:break-word}
.erros-recibo{margin:6px 0 0;padding-left:18px;color:var(--danger);font-size:13px;line-height:19px}

/* Entrada (login e configuração) */
.entrada{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.entrada__caixa{width:100%;max-width:460px;display:flex;flex-direction:column;gap:22px}
.entrada__topo{display:flex;justify-content:space-between;align-items:center;gap:12px}

@media (max-width:860px){
  .casca{flex-direction:column}
  .lateral{position:static;height:auto;flex:none;border-right:0;border-bottom:1px solid var(--line);padding:12px 16px;gap:12px}
  .botao-menu{display:inline-flex}
  .lateral__corpo[data-aberto="false"]{display:none}
  .topo{padding:10px 16px;position:static}
  .conteudo{padding:20px 16px 40px}
  h1.titulo{font-size:26px;line-height:31px}
  .seletor select{max-width:180px}
  .usuario__texto{display:none}
}
@media (max-width:420px){
  .ig-rastro li{grid-template-columns:80px minmax(0,1fr) 10px}
  .lista-dados{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.inicial{padding:24px}
.avisos--topo:not(:empty){padding:16px 32px 0;max-width:1220px}
@media (max-width:860px){.avisos--topo:not(:empty){padding:12px 16px 0}}
.campos--curto{max-width:320px}

/* Contábil completo: plano, lançamentos, razão, DRE e balanço */
input[type=date]{width:100%;max-width:100%;background:var(--card);color:var(--fg);border:1px solid var(--line-control);border-radius:var(--radius-sm);padding:9px 11px;font:400 14px/20px var(--font-mono);min-height:40px}
input[type=date]:focus-visible{outline:2px solid var(--pri);outline-offset:1px;border-color:var(--pri)}
.campos--intervalo{max-width:440px}
.ig-table td.conta-celula{padding-left:calc(14px + var(--nivel,0) * 14px)}
.ig-table td.conta-celula .mono{margin-right:4px}
.ig-table tr.linha-sintetica td{font-weight:600}
.ig-table tr.linha-total td{font-weight:700;border-top:1px solid var(--line2)}
.numero-medio{margin:0;font:600 22px/28px var(--font-display);overflow-wrap:anywhere}
.partidas{display:flex;flex-direction:column;gap:10px}
.partida{display:grid;grid-template-columns:minmax(0,1fr) 120px 160px auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}
.partida .ig-btn{align-self:end}
.totais-partidas{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font:500 14px/20px var(--font-mono)}
.lista-partidas{margin:0;padding:0;list-style:none;font:400 13px/19px var(--font-mono)}
.lista-partidas li{white-space:nowrap}
.resultado-final{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;justify-content:space-between}
@media (max-width:620px){
  .partida{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .partida > .campo:first-child{grid-column:1/-1}
  .partida .ig-btn{grid-column:1/-1;justify-self:start}
}
/* Férias, 13º e rescisão */
.campos--medio{max-width:640px}
.destaque-liquido{border-color:var(--pri-a35);padding:18px 20px}
.destaque-liquido .numero-grande{color:var(--fg);font-size:28px;line-height:32px;word-break:break-word}
.informativos ul{margin:6px 0 4px;padding-left:18px}
.informativos strong{font-weight:600}
details.painel > summary{font:600 15px/22px var(--font-sans);color:var(--pri-lt);cursor:pointer}
details.painel[open] > summary{margin-bottom:6px}
.trct .lista-dados dd{font-size:14px}
/* Encerramento do exercício e comparativos */
.meses-exercicio{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;list-style:none}
.meses-exercicio li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);font:400 14px/20px var(--font-sans)}
.variacao--pos{color:var(--ok-ink)}
.variacao--neg{color:var(--danger)}
/* Portal (telas do escritório): solicitações, convites, pré-admissões */
.filtros-estado{display:flex;flex-wrap:wrap;gap:6px}
.ig-table tr.linha-selecionada td{background:var(--pri-a08)}
.confidencial{font:600 11px/16px var(--font-mono);color:var(--warn);letter-spacing:.8px}
.link-gerado{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--pri-a35);border-radius:var(--radius-sm);background:var(--pri-a08);min-width:0}
.link-gerado code{font:400 12px/18px var(--font-mono);overflow-wrap:anywhere;word-break:break-all;color:var(--fg)}
input[type=file]{max-width:100%;color:var(--mut);font:400 13px/20px var(--font-sans)}
.form details[open]{display:flex;flex-direction:column;gap:12px}
.ig-table td.mono a{white-space:nowrap}
/* Gestão do escritório: pendências, obrigações, tarefas e honorários */
.areas{display:flex;flex-wrap:wrap}
.areas a{flex:1 1 30%;min-width:0;padding-left:4px;padding-right:4px}
input[type=date]{width:100%;max-width:100%;background:var(--card);color:var(--fg);border:1px solid var(--line-control);border-radius:var(--radius-sm);padding:9px 11px;font:400 14px/20px var(--font-mono);min-height:40px}
input[type=date]:focus-visible{outline:2px solid var(--pri);outline-offset:1px;border-color:var(--pri)}
.ig-status--pri::before{background:var(--pri)}
.cartao-resumo{padding:18px 20px}
.cartao-resumo .numero-grande{font-size:34px;line-height:38px;color:var(--fg)}
.cartao-resumo p:last-child{font-size:13px;line-height:18px}
.semana{padding:8px 0;gap:0}
.semana__linha{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);align-items:center;text-decoration:none;color:var(--fg)}
.semana__linha:last-child{border-bottom:0}
.semana__linha:hover{background:var(--hi-08)}
.semana__data{font-size:13px;line-height:18px;color:var(--mut)}
.semana__nome{font:500 14px/20px var(--font-sans);min-width:0;overflow-wrap:anywhere}
.ig-table tr.linha-alerta td:first-child{box-shadow:inset 3px 0 0 var(--danger)}
.cabeca-empresa{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.grade--larga{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.linha-opcao{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,170px);gap:10px;align-items:center;font-size:14px;line-height:20px}
.filtros{align-items:end}
input.curto{max-width:110px}
.lista-feriados,.lista-simples{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:20px}
.ig-table td.formula{white-space:normal;font-size:12px;line-height:18px;min-width:240px}
.ig-table td.negativo{color:var(--danger)}
.formula-geral{margin:0;padding:10px 14px;border:1px solid var(--pri-a35);border-radius:var(--radius-sm);background:var(--pri-a08);font-size:14px;overflow-wrap:anywhere}
.tabela-compacta{min-width:0;width:100%}
.demonstrativo ul{font-size:13px}
@media (max-width:620px){
  .semana__linha{grid-template-columns:48px minmax(0,1fr);padding:10px 14px}
  .semana__linha .ig-chip{grid-column:2;justify-self:start}
  .linha-opcao{grid-template-columns:minmax(0,1fr)}
}
@media print{
  .lateral,.topo,.abas,.avisos,.cabeca .acoes,.colunas > .largo,.painel,form{display:none!important}
  .demonstrativo{border:0}
}
.cartoes-resumo{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
@media (max-width:620px){.cartao-resumo{padding:14px 16px}.cartao-resumo .numero-grande{font-size:28px;line-height:32px}}
/* Fiscal: linhas de atividades e de receitas (grade que quebra sozinha; nunca rola na horizontal) */
.linha-fiscal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px 12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}
.linha-fiscal__largo{grid-column:span 2}
.linha-fiscal__marcas{display:flex;flex-direction:column;gap:6px;grid-column:1/-1}
.linha-fiscal .ig-btn{justify-self:start}
@media (max-width:620px){.linha-fiscal__largo{grid-column:1/-1}}
details.memoria-fiscal ol{padding-left:34px;white-space:normal;overflow-wrap:anywhere}

/* Fiscal › PGDAS-D: histórico de transmissões registradas */
.lista-transmissoes { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 10px; }
.lista-transmissoes > li { border-left: 3px solid var(--line); padding-left: 10px; overflow-wrap: anywhere; }
.lista-transmissoes p { margin: 2px 0 0; }
/* Áreas na lateral: botões grandes 2×2, sempre à vista (também em tela estreita, fora do menu recolhível) */
.lateral__areas{display:flex;flex-direction:column;gap:8px}
.areas.areas--lateral{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;border:0}
.areas--lateral a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;border:1px solid var(--line-control);border-radius:var(--radius-sm);background:var(--card);color:var(--fg);font:600 14px/18px var(--font-sans)}
.areas--lateral a:hover{border-color:var(--pri);background:var(--pri-a08)}
.areas--lateral a[aria-current="true"]{background:var(--btn);border-color:var(--btn);color:#fff}
.areas--lateral a:focus-visible{outline:2px solid var(--pri);outline-offset:2px}
@media (max-width:860px){.areas.areas--lateral{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:420px){.areas.areas--lateral{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lista-curta{margin:0;padding-left:16px}
.prev-resultado .numero-grande{font-size:24px;line-height:30px;word-break:break-word}
