/* IRRIGANTES — componentes (painel + portal). Só usa variáveis de tokens.css. */
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--irg-fonte);font-size:var(--irg-fs-base);color:var(--irg-texto);background:var(--irg-fundo-grad);background-attachment:fixed;min-height:100vh;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--irg-marca);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-weight:var(--irg-peso-med);margin:0}
.muted{color:var(--irg-texto-3);font-size:var(--irg-fs-sm)}
.sp{flex:1}
.nowrap{white-space:nowrap}
.num{text-align:right;font-variant-numeric:tabular-nums}
.ok-txt{color:var(--irg-ok)}.er-txt{color:var(--irg-erro)}.al-txt{color:var(--irg-alerta)}
.hide{display:none!important}

/* ── Estrutura do painel ─────────────────────────────── */
.adm{display:flex}
.side{position:fixed;inset:0 auto 0 0;width:212px;padding:var(--irg-esp-4) var(--irg-esp-3);display:flex;flex-direction:column;gap:var(--irg-esp-3);
  background:var(--irg-card);backdrop-filter:var(--irg-blur);-webkit-backdrop-filter:var(--irg-blur);border-right:1px solid var(--irg-card-borda);z-index:40}
.side-logo img{height:34px;display:block;margin:2px 6px 8px}
.side nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.side a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--irg-raio-ctrl);color:var(--irg-texto-2);font-weight:var(--irg-peso-med)}
.side a:hover{background:var(--irg-hover);text-decoration:none}
.side a.on{background:var(--irg-card-solido);color:var(--irg-marca);box-shadow:var(--irg-sombra-card)}
.side .ic{width:20px;text-align:center}
.side-rod{margin-top:auto;border-top:1px solid var(--irg-linha);padding-top:var(--irg-esp-2)}
.main{margin-left:212px;flex:1;min-width:0}
.topo{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--irg-esp-2);padding:10px var(--irg-esp-4);
  background:var(--irg-card);backdrop-filter:var(--irg-blur);-webkit-backdrop-filter:var(--irg-blur);border-bottom:1px solid var(--irg-card-borda)}
.topo h1{font-size:var(--irg-fs-lg);font-weight:var(--irg-peso-med);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topo .eu{display:flex;align-items:center;gap:6px;color:var(--irg-texto-2);font-weight:var(--irg-peso-med)}
.conteudo{padding:var(--irg-esp-4);max-width:none}   /* 28/09: ocupa a largura toda da tela (antes travava em 1400px) */
.so-mob{display:none!important}
.side-fundo{display:none}
@media (max-width:899px){
  .side{transform:translateX(-100%);transition:transform .2s;background:var(--irg-card-solido)}
  body.menu-on .side{transform:none}
  body.menu-on .side-fundo{display:block;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:35}
  .main{margin-left:0}
  .so-mob{display:inline-flex!important}.so-desk{display:none}
  .conteudo{padding:var(--irg-esp-3)}
  .topo{padding:8px var(--irg-esp-3)}
}

/* ── Cards / grid ────────────────────────────────────── */
.card{background:var(--irg-card);backdrop-filter:var(--irg-blur);-webkit-backdrop-filter:var(--irg-blur);border:1px solid var(--irg-card-borda);
  border-radius:var(--irg-raio-card);box-shadow:var(--irg-sombra-card);padding:var(--irg-esp-4);min-width:0}
.card>h3,.card-h{display:flex;align-items:center;gap:var(--irg-esp-2);font-size:var(--irg-fs-md);font-weight:var(--irg-peso-med);margin:0 0 var(--irg-esp-3)}
.card-h h3{font-size:var(--irg-fs-md);font-weight:var(--irg-peso-med)}
.grid{display:grid;gap:var(--irg-esp-3)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.g-21{grid-template-columns:2fr 1fr}
@media (max-width:899px){.g2,.g3,.g-21{grid-template-columns:1fr}}
.mb{margin-bottom:var(--irg-esp-3)}
.kpi{padding:9px 12px}
.kpi .rot{color:var(--irg-texto-3);font-size:var(--irg-fs-sm)}
.kpi .v{font-size:1.45rem;font-weight:var(--irg-peso-forte);letter-spacing:-.02em;margin:3px 0 2px;white-space:nowrap}
.kpi .v small{font-size:var(--irg-fs-base);color:var(--irg-texto-3)}
.item{display:flex;align-items:center;gap:var(--irg-esp-3);background:var(--irg-card-inner);border:1px solid var(--irg-card-borda);border-radius:var(--irg-raio-inner);padding:9px 12px;margin-bottom:6px}
.item .sp{min-width:0}
.item .t{font-weight:var(--irg-peso-med);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vazio{text-align:center;padding:28px 12px;color:var(--irg-texto-3)}

/* ── Badges / progresso ──────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--irg-raio-pill);font-size:var(--irg-fs-xs);font-weight:var(--irg-peso-med);white-space:nowrap}
.b-ok{color:var(--irg-ok);background:var(--irg-ok-bg)}.b-al{color:var(--irg-alerta);background:var(--irg-alerta-bg)}
.b-er{color:var(--irg-erro);background:var(--irg-erro-bg)}.b-in{color:var(--irg-info);background:var(--irg-info-bg)}
.b-ne{color:var(--irg-neutro);background:var(--irg-neutro-bg)}.b-rx{color:var(--irg-roxo);background:var(--irg-roxo-bg)}
.prog{height:8px;border-radius:var(--irg-raio-pill);background:var(--irg-neutro-bg);overflow:hidden;display:flex}
.prog>i{display:block;height:100%}
.prog .p-ok{background:var(--irg-ok)}.prog .p-rx{background:var(--irg-roxo)}.prog .p-in{background:var(--irg-info)}.prog .p-er{background:var(--irg-erro)}.prog .p-ac{background:var(--irg-acento)}
.legenda{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:var(--irg-fs-xs);color:var(--irg-texto-2)}
.legenda i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}

/* barras horizontais (gráficos simples server-side) */
.barras{display:flex;flex-direction:column;gap:6px}
.barra{display:grid;grid-template-columns:minmax(90px,1fr) 2fr auto;gap:8px;align-items:center;font-size:var(--irg-fs-sm)}
.barra .trilho{height:8px;border-radius:var(--irg-raio-pill);background:var(--irg-neutro-bg);overflow:hidden}
.barra .trilho i{display:block;height:100%;background:var(--irg-marca);border-radius:inherit}
.colunas{display:flex;align-items:flex-end;gap:10px;height:120px;padding-top:8px}
.colunas .c{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;font-size:var(--irg-fs-xs);color:var(--irg-texto-3)}
.colunas .par{display:flex;gap:3px;align-items:flex-end;height:100%}
.colunas .par i{width:12px;border-radius:6px 6px 3px 3px;min-height:3px}

/* ── Botões / controles ──────────────────────────────── */
.btn{height:var(--irg-ctrl-h);padding:0 13px;border-radius:var(--irg-raio-ctrl);border:1px solid var(--irg-linha);background:var(--irg-card-solido);color:var(--irg-texto);
  font:inherit;font-weight:var(--irg-peso-med);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;text-decoration:none!important}
.btn:hover{border-color:var(--irg-marca)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-pri{background:var(--irg-marca);border-color:var(--irg-marca);color:var(--irg-texto-inv)}
.btn-pri:hover{background:var(--irg-marca-600)}
.btn-cta{background:var(--irg-acento);border-color:var(--irg-acento);color:#10240a}
.btn-perigo{color:var(--irg-erro)}
.btn-perigo:hover{border-color:var(--irg-erro)}
.btn-sm{height:26px;padding:0 9px;font-size:var(--irg-fs-sm)}
.btn-ic{width:var(--irg-ctrl-h);padding:0;border-radius:var(--irg-raio-pill)}
.btn-lg{height:44px;padding:0 20px;font-size:var(--irg-fs-md);border-radius:12px}
.inp,select.inp,textarea.inp{height:var(--irg-ctrl-h);padding:0 10px;border:1px solid var(--irg-linha);border-radius:var(--irg-raio-ctrl);background:var(--irg-card-solido);color:var(--irg-texto);font:inherit;min-width:0;width:100%}
textarea.inp{height:auto;min-height:64px;padding:7px 10px;resize:vertical}
.inp:focus{outline:none;box-shadow:var(--irg-foco);border-color:var(--irg-marca)}
.inp[readonly]{background:var(--irg-neutro-bg);color:var(--irg-texto-2)}
.filtros{display:flex;flex-wrap:wrap;gap:var(--irg-esp-2);margin-bottom:var(--irg-esp-3);align-items:center}
.filtros .inp{width:auto;min-width:130px}
.filtros .busca{flex:1;min-width:180px}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:var(--irg-fs-sm);cursor:pointer;user-select:none}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips label{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--irg-linha);border-radius:var(--irg-raio-pill);background:var(--irg-card-solido);cursor:pointer;font-size:var(--irg-fs-sm)}
.chips input{accent-color:var(--irg-marca)}

/* ── Formulário compacto ─────────────────────────────── */
.fr{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--irg-esp-2);margin-bottom:var(--irg-esp-2)}
.f{display:flex;flex-direction:column;gap:3px;font-size:var(--irg-fs-xs);color:var(--irg-texto-2);font-weight:var(--irg-peso-med);grid-column:span 3;min-width:0}
.f.c2{grid-column:span 2}.f.c4{grid-column:span 4}.f.c5{grid-column:span 5}.f.c6{grid-column:span 6}.f.c8{grid-column:span 8}.f.c9{grid-column:span 9}.f.c12{grid-column:span 12}
@media (max-width:640px){.f,.f.c2,.f.c4,.f.c5{grid-column:span 6}.f.c6,.f.c8,.f.c9,.f.c12{grid-column:span 12}}
.f .obr::after{content:" *";color:var(--irg-erro)}
.sec{font-size:var(--irg-fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--irg-texto-3);margin:var(--irg-esp-3) 0 6px;display:flex;align-items:center;gap:8px}
.sec::after{content:"";flex:1;border-top:1px solid var(--irg-linha)}
.form-acoes{display:flex;gap:var(--irg-esp-2);justify-content:flex-end;align-items:center;margin-top:var(--irg-esp-3)}
.quem-form{font-size:var(--irg-fs-xs);color:var(--irg-texto-3);margin-right:auto}

/* ── Tabela densa ────────────────────────────────────── */
.tbl-wrap{overflow-x:auto;margin:0 calc(var(--irg-esp-4) * -1);padding:0 var(--irg-esp-4)}
table.tbl{width:100%;border-collapse:collapse;font-size:var(--irg-fs-sm)}
.tbl th{text-align:left;font-weight:var(--irg-peso-med);color:var(--irg-texto-3);padding:0 8px;height:30px;border-bottom:1px solid var(--irg-linha);white-space:nowrap}
.tbl td{padding:5px 8px;height:var(--irg-linha-tab);border-bottom:1px solid var(--irg-linha);vertical-align:middle}
.tbl tbody tr:hover td{background:var(--irg-hover)}
.tbl tfoot td{font-weight:var(--irg-peso-forte);border-bottom:0}
.tbl .t-nome{font-weight:var(--irg-peso-med);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl .t-sub{font-size:var(--irg-fs-xs);color:var(--irg-texto-3)}
.tbl th.quem,.tbl td.quem{width:40px;text-align:center}
.acoes{display:flex;gap:2px;justify-content:flex-end;white-space:nowrap}
.acoes button,.acoes a{width:28px;height:28px;border:0;border-radius:8px;background:transparent;cursor:pointer;color:var(--irg-texto-2);display:inline-flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none!important}
.acoes button:hover,.acoes a:hover{background:var(--irg-marca-100);color:var(--irg-marca)}
.pag{display:flex;align-items:center;gap:4px;margin-top:var(--irg-esp-3)}
@media (max-width:899px){
  .tbl-cards thead{display:none}
  .tbl-cards,.tbl-cards tbody,.tbl-cards tr,.tbl-cards td{display:block;width:100%}
  .tbl-cards tr{position:relative;background:var(--irg-card-inner);border:1px solid var(--irg-card-borda);border-radius:var(--irg-raio-inner);padding:8px 10px;margin-bottom:6px}
  .tbl-cards td{border:0;height:auto;padding:2px 0}
  .tbl-cards td[data-r]::before{content:attr(data-r) ": ";color:var(--irg-texto-3);font-size:var(--irg-fs-xs)}
  .tbl-cards td.quem{position:absolute;top:8px;right:8px;width:auto}
  .tbl-cards td.t-nome{padding-right:36px;max-width:none}
  .tbl-cards .acoes{justify-content:flex-start;margin-top:4px}
}

/* ── Quem / avatar ───────────────────────────────────── */
.quem-av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;object-fit:cover;vertical-align:middle;flex:none}
.quem-ini{background:var(--irg-marca-100);color:var(--irg-marca);font-weight:var(--irg-peso-forte)}
.quem-portal{background:var(--irg-acento-100);font-size:13px}
.quem-vazio{border:1px dashed var(--irg-linha);color:var(--irg-texto-3);font-size:11px}

/* ── Abas ────────────────────────────────────────────── */
.abas{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--irg-linha);margin-bottom:var(--irg-esp-3);scrollbar-width:none}
.abas button,.abas a{appearance:none;border:0;background:none;padding:9px 12px;font:inherit;font-weight:var(--irg-peso-med);color:var(--irg-texto-3);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none!important}
.abas .on{color:var(--irg-marca);border-bottom-color:var(--irg-marca)}
.aba{display:none}.aba.on{display:block}

/* ── Modal ───────────────────────────────────────────── */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:flex-start;justify-content:center;padding:4vh 12px;background:rgba(10,25,40,.38);backdrop-filter:blur(3px);overflow-y:auto}
.modal.on{display:flex}
.modal-box{width:100%;max-width:720px;background:var(--irg-card-solido);border-radius:var(--irg-raio-card);box-shadow:var(--irg-sombra-pop);padding:var(--irg-esp-4) var(--irg-esp-4) var(--irg-esp-3)}
.modal-box.lg{max-width:1000px}.modal-box.sm{max-width:440px}
.modal-h{display:flex;align-items:center;gap:8px;margin-bottom:var(--irg-esp-3)}
.modal-h h3{font-size:var(--irg-fs-md);font-weight:var(--irg-peso-forte)}
.modal-h .x{margin-left:auto}
@media (max-width:640px){.modal{padding:0;align-items:stretch}.modal-box{border-radius:0;min-height:100%}}

/* ── Toast ───────────────────────────────────────────── */
/* Notificação padrão (IRG.toast): balão temporário no canto superior direito; no celular, no topo */
#toast{position:fixed;top:74px;right:18px;z-index:400;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;max-width:min(380px,calc(100vw - 32px))}
#toast .tst{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:10px;pointer-events:auto;cursor:pointer;
  background:#16a34a;color:#fff;padding:11px 16px 13px 12px;border-radius:14px;box-shadow:0 10px 28px rgba(10,30,20,.28);
  font-weight:600;font-size:.9rem;line-height:1.35;text-transform:none;animation:tIn .22s ease-out}
#toast .tst i{flex:0 0 22px;height:22px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:.8rem}
#toast .tst span{white-space:pre-line;word-break:break-word;padding-top:1px}
#toast .tst b{position:absolute;left:0;bottom:0;height:4px;width:100%;background:rgba(255,255,255,.75);transform-origin:left;animation:tBar linear forwards}
#toast .tst.pausa b{animation-play-state:paused}
#toast .tst-er{background:#dc2626}
#toast .tst-av{background:#d97706}
#toast .tst.sai{opacity:0;transform:translateX(24px);transition:.2s}
@keyframes tBar{to{transform:scaleX(0)}}
@media (max-width:640px){#toast{top:10px;right:16px;left:16px;max-width:none;align-items:stretch}}
@keyframes tIn{from{opacity:0;transform:translateX(24px)}}

/* ── Diff do recadastramento ─────────────────────────── */
.diff td.de{color:var(--irg-erro);text-decoration:line-through;text-decoration-color:rgba(185,28,28,.4)}
.diff td.para{color:var(--irg-ok);font-weight:var(--irg-peso-med)}
.lado{display:grid;grid-template-columns:1fr 1fr;gap:var(--irg-esp-3)}
@media (max-width:899px){.lado{grid-template-columns:1fr}}
.dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:3px 10px;font-size:var(--irg-fs-sm)}
.dl dt{color:var(--irg-texto-3)}.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.dl dd.mudou{background:var(--irg-alerta-bg);border-radius:4px;padding:0 4px;margin-left:-4px}

/* ── Mapa ────────────────────────────────────────────── */
.mapa{height:340px;border-radius:var(--irg-raio-inner);overflow:hidden;z-index:1}

/* ── Padrão AGL: textos da interface em MAIÚSCULO ───────
   (rótulos, botões, títulos, badges, abas, cabeçalhos). Campos de nome/descrição
   com .up também — e o servidor grava em maiúsculo (irg_maiusc). */
.btn,.badge,.f,.tbl th,.abas button,.abas a,.topo h1,.card>h3,.card-h h3,.modal-h h3,.side a,.kpi .rot,.chips label,.chk,.dl dt{text-transform:uppercase;letter-spacing:.02em}
.inp.up{text-transform:uppercase}
.inp[type=email],.inp.low{text-transform:none}
/* Modal: clique no fundo NÃO fecha — a caixa treme (sai pelo X, Cancelar ou Esc) */
.modal-box.treme{animation:treme .4s}
@keyframes treme{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
/* Blocos por tipo de associado (ficha AIEMS) */
.eh-pf .so-pj,.eh-pj .so-pf{display:none!important}
.foto-assoc img.foto-prev{object-fit:cover}

/* ── Celular: topo quebra em 2 linhas, ações rolam; KPIs em 2 colunas ── */
@media (max-width:899px){
  .so-desk{display:none!important}
  .topo{flex-wrap:wrap;row-gap:6px}
  .topo h1{flex:1;min-width:0;font-size:var(--irg-fs-md)}
  .topo .sp{display:none}
  .topo>.btn:not(.btn-ic),.topo>a.btn:not(.btn-ic){order:10}
  .topo .eu span{display:none}
}
@media (max-width:640px){
  .grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi{padding:12px}
  .kpi .v{font-size:1.25rem}
  .kpi .muted{font-size:var(--irg-fs-xs)}
  .filtros .inp{flex:1 1 45%;min-width:0}
  .filtro-acoes{width:100%;margin-left:0}
  .filtro-acoes .btn{flex:1 1 auto}
}
/* Ações da tela na linha dos filtros (à direita) + filtro em tempo real carregando */
.filtro-acoes{display:flex;flex-wrap:wrap;gap:var(--irg-esp-2);margin-left:auto;align-items:center}
.filtros.carregando{cursor:progress}
.filtros.carregando~*{opacity:.55;transition:opacity .15s}

/* select travado (portal): readonly não vale para <select> — trava o toque; o servidor ignora de qualquer forma */
select.inp[readonly]{pointer-events:none;background:var(--irg-neutro-bg);color:var(--irg-texto-2)}

/* ── Áreas de produção: tabela editável em linha ───────────────────── */
.tb-props-wrap{overflow-x:auto;border:1px solid var(--irg-linha);border-radius:var(--irg-raio-inner);background:var(--irg-card-solido)}
.tb-props{width:100%;border-collapse:collapse;font-size:var(--irg-fs-sm);min-width:980px}
.tb-props th{font-size:var(--irg-fs-xs);font-weight:var(--irg-peso-med);color:var(--irg-texto-3);text-transform:uppercase;letter-spacing:.03em;padding:5px 4px;text-align:left;white-space:nowrap;background:var(--irg-hover)}
.tb-props thead tr.grp th{text-align:center;color:var(--irg-marca);border-bottom:1px solid var(--irg-linha);padding-top:7px}
.tb-props thead tr.grp th:empty{background:transparent}
.tb-props th.n,.tb-props th.p,.tb-props td.n,.tb-props td.p{text-align:right}
.tb-props td{padding:3px 3px;border-top:1px solid var(--irg-linha);vertical-align:middle}
.tb-props .inp-t{height:28px;padding:0 6px;font-size:var(--irg-fs-sm);border-radius:6px;border-color:transparent;background:transparent}
.tb-props .inp-t:hover{border-color:var(--irg-linha);background:var(--irg-card-solido)}
.tb-props .inp-t:focus{border-color:var(--irg-marca);background:var(--irg-card-solido)}
.tb-props td.c-n .inp-t,.tb-props td.c-p .inp-t{text-align:right}
.tb-props td.c-nome{min-width:180px}.tb-props td.c-mun{min-width:130px}
.tb-props td.c-uf{width:48px}.tb-props td.c-uf .inp-t{text-align:center}
.tb-props td.c-n{width:84px}.tb-props td.c-p{width:58px}
.tb-props td.irr .inp-t,.tb-props th.irr{color:var(--irg-info)}
.tb-props td.irr{background:var(--irg-info-bg)}
.tb-props td.c-idx,.tb-props th.c-idx{width:26px;text-align:center;color:var(--irg-texto-3);font-size:var(--irg-fs-xs)}
.tb-props td.c-ac{width:70px;white-space:nowrap;text-align:right}
.tb-props td.c-ac .btn{width:26px;height:26px}
.tb-props tbody.prop.aberta tr.pl td{background:var(--irg-marca-100)}
.tb-props tr.pd td{background:var(--irg-hover);padding:8px 10px 10px 34px}
.tb-props tfoot td{font-weight:var(--irg-peso-forte);border-top:2px solid var(--irg-linha);padding:7px 9px;white-space:nowrap}
.tb-props tfoot .tot-n{font-weight:400;color:var(--irg-texto-3)}
/* Celular: cada área vira um cartão, com rótulo em cada campo */
@media (max-width:760px){
  .tb-props-wrap{border:0;background:transparent;overflow:visible}
  .tb-props{min-width:0}
  .tb-props thead{display:none}
  .tb-props tbody.prop{display:block;background:var(--irg-card-solido);border:1px solid var(--irg-linha);border-radius:var(--irg-raio-inner);margin-bottom:8px;padding:6px}
  .tb-props tr.pl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .tb-props tr.pl td{border:0;padding:0;width:auto!important;min-width:0!important;background:transparent!important}
  .tb-props tr.pl td[data-r]::before{content:attr(data-r);display:block;font-size:var(--irg-fs-xs);color:var(--irg-texto-3);text-transform:uppercase}
  .tb-props td.c-nome,.tb-props td.c-mun{grid-column:span 3}
  .tb-props td.c-idx{display:none}
  .tb-props td.c-ac{grid-column:span 3;text-align:right}
  .tb-props .inp-t{border-color:var(--irg-linha);background:var(--irg-card-solido);height:34px}
  .tb-props tr.pd{display:block}.tb-props tr.pd td{display:block;padding:8px 4px 4px;background:transparent}
  .tb-props tfoot{display:block}.tb-props tfoot tr{display:flex;flex-wrap:wrap;gap:4px 12px}.tb-props tfoot td{border:0;padding:4px}
  .tb-props tfoot td:empty{display:none}
}
/* ajustes da tabela de áreas (vistos no screenshot) */
.f.c1{grid-column:span 1}
@media (max-width:640px){.f.c1{grid-column:span 6}}
/* larguras que faltavam (10/10/2026): c3/c7/c10/c11 caíam no padrão de 3 colunas — "Nome" (c7) saía do tamanho do CPF */
.f.c3{grid-column:span 3}.f.c7{grid-column:span 7}.f.c10{grid-column:span 10}.f.c11{grid-column:span 11}
@media (max-width:640px){.f.c3{grid-column:span 6}.f.c7,.f.c10,.f.c11{grid-column:span 12}}
.modal-box.lg{max-width:1200px}
.tb-props{min-width:940px}
.tb-props td.c-uf{width:54px}.tb-props td.c-uf .inp-t{padding:0 2px}
.tb-props td.c-n{width:80px}.tb-props td.c-p{width:54px}
.tb-props td.c-mun{min-width:150px}
@media (max-width:760px){
  .tb-props{display:flex;flex-direction:column}
  .tb-props tfoot{order:99}
  .tb-props tfoot tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;background:var(--irg-acento-100);border-radius:var(--irg-raio-inner);padding:8px}
  .tb-props tfoot td{text-align:left!important;padding:2px 0}
  .tb-props tfoot td[colspan]{grid-column:span 3}
  .tb-props tfoot td[data-r]::before{content:attr(data-r);display:block;font-size:var(--irg-fs-xs);font-weight:400;color:var(--irg-texto-3);text-transform:uppercase}
}
@media (max-width:760px){.tb-props{min-width:0!important;width:100%}.tb-props tbody.prop,.tb-props tfoot{width:100%}.tb-props td.c-uf,.tb-props td.c-n,.tb-props td.c-p{width:auto!important}}

/* ── Contraste mais definido (28/09/2026) ─────────────────────────────
   Contorno próprio para controles, cabeçalho de tabela marcado, zebra leve,
   item ativo do menu com barra da marca, badges mais encorpadas. */
.btn,.inp,select.inp,textarea.inp{border-color:var(--irg-borda-ctrl)}
.btn-pri,.btn-cta{border-color:transparent}
.inp::placeholder{color:var(--irg-texto-3);opacity:.85}
.tbl th{color:var(--irg-texto-2);border-bottom:1.5px solid var(--irg-borda-ctrl);background:var(--irg-hover)}
.tbl tbody tr:nth-child(even) td{background:rgba(15,35,60,.022)}
.tbl tbody tr:hover td{background:var(--irg-marca-100)}
.tbl .t-nome{color:var(--irg-texto)}
.side a.on{box-shadow:inset 3px 0 0 var(--irg-acento),var(--irg-sombra-card)}
.side a{color:var(--irg-texto-2)}
.badge{font-weight:var(--irg-peso-forte);padding:2px 9px}
.card>h3,.card-h h3{color:var(--irg-texto)}
.kpi .v{color:var(--irg-texto)}
.kpi .rot{color:var(--irg-texto-2)}
.item{border-color:var(--irg-linha)}
.abas{border-bottom-color:var(--irg-borda-ctrl)}
.abas .on{border-bottom-width:2.5px}
.modal-box{border:1px solid var(--irg-card-borda)}
.tb-props-wrap{border-color:var(--irg-borda-ctrl)}
.tb-props .inp-t{border-color:var(--irg-linha);background:var(--irg-card-solido)}
.tb-props th{color:var(--irg-texto-2)}
.quem-vazio{border-color:var(--irg-borda-ctrl)}
.topo{border-bottom-color:var(--irg-linha)}
@media (prefers-color-scheme: dark){:root:not([data-tema="claro"]) .tbl tbody tr:nth-child(even) td{background:rgba(255,255,255,.025)}}
:root[data-tema="escuro"] .tbl tbody tr:nth-child(even) td{background:rgba(255,255,255,.025)}
/* Botão de verdade dentro de .acoes (ex.: ANALISAR na fila do recadastramento): a regra
   dos ícones (.acoes a / .acoes button: 28px, fundo transparente) é mais específica que
   .btn-pri e deixava texto branco sobre transparente — ilegível. */
.acoes a.btn,.acoes button.btn{width:auto;height:28px;padding:0 12px;border:1px solid var(--irg-borda-ctrl);background:var(--irg-card-solido);color:var(--irg-texto);font-size:var(--irg-fs-sm)}
.acoes a.btn-pri,.acoes button.btn-pri{background:var(--irg-marca);border-color:var(--irg-marca);color:var(--irg-texto-inv)}
.acoes a.btn-pri:hover,.acoes button.btn-pri:hover{background:var(--irg-marca-600);color:var(--irg-texto-inv)}
/* td.acoes: display:flex no <td> tirava a célula do layout de tabela — a linha
   divisória e o fundo da última coluna saíam desalinhados. Fica table-cell. */
td.acoes{display:table-cell;text-align:right;white-space:nowrap}
td.acoes>*{vertical-align:middle}
td.acoes a,td.acoes button{margin-left:1px}
.acoes button,.acoes a{filter:saturate(1.25) contrast(1.1)}
@media (max-width:899px){.tbl-cards td.acoes{display:block;text-align:left}}
/* Prévia de arquivo: no celular ocupa a tela e os botões não espremem o título */
@media (max-width:640px){
  #irgVer .modal-h{flex-wrap:wrap}
  #irgVer .modal-h h3{flex:1 1 100%;order:-1;font-size:var(--irg-fs-sm)}
  #irgVer .v-corpo{height:auto;min-height:70vh}
}

/* ── Portal: abas em pílula (área do associado) ───────────────────── */
.pt-area{margin-top:14px}
.pt-abas{display:flex;gap:4px;padding:4px;margin-bottom:12px;background:var(--irg-card);backdrop-filter:var(--irg-blur);-webkit-backdrop-filter:var(--irg-blur);
  border:1px solid var(--irg-card-borda);border-radius:var(--irg-raio-pill);box-shadow:var(--irg-sombra-card);overflow-x:auto;scrollbar-width:none;position:sticky;top:58px;z-index:15}
.pt-abas::-webkit-scrollbar{display:none}
.pt-abas button{flex:1 0 auto;appearance:none;border:0;background:transparent;border-radius:var(--irg-raio-pill);padding:9px 14px;font:inherit;font-size:var(--irg-fs-sm);
  font-weight:var(--irg-peso-forte);color:var(--irg-texto-2);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-transform:uppercase;letter-spacing:.02em;transition:background .15s,color .15s}
.pt-abas button:hover{background:var(--irg-hover);color:var(--irg-texto)}
.pt-abas button.on{background:var(--irg-marca);color:var(--irg-texto-inv);box-shadow:0 2px 8px rgba(10,68,104,.25)}
.pt-n{font-style:normal;font-size:10px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--irg-info-bg);color:var(--irg-info)}
.pt-n.er{background:var(--irg-erro);color:#fff}.pt-n.al{background:var(--irg-alerta);color:#fff}.pt-n.ne{background:var(--irg-neutro-bg);color:var(--irg-neutro)}
.pt-abas button.on .pt-n{background:rgba(255,255,255,.25);color:#fff}
.pt-area .aba{animation:ptIn .18s ease-out}
@keyframes ptIn{from{opacity:0;transform:translateY(4px)}}
@media (max-width:640px){.pt-abas{top:52px;border-radius:14px}.pt-abas button{padding:9px 11px}}
/* Ícones SVG das linhas (irg_ico): botão com contorno leve, ícone em cor forte e
   cor semântica por ação — os emojis antigos ficavam pequenos/apagados. */
td.acoes a:not(.btn),td.acoes button:not(.btn),span.acoes a:not(.btn),span.acoes button:not(.btn){width:30px;height:30px;border:1px solid var(--irg-linha);background:var(--irg-card-solido);color:var(--irg-marca);filter:none;margin-left:4px;transition:background .12s,border-color .12s,color .12s}
.acoes .ico{width:16px;height:16px;flex:none}
.acoes a:not(.btn):hover,.acoes button:not(.btn):hover{background:var(--irg-marca-100);border-color:var(--irg-marca);color:var(--irg-marca)}
.acoes :is(a,button):has(.ico-editar){color:var(--irg-alerta)}
.acoes :is(a,button):has(.ico-editar):hover{background:var(--irg-alerta-bg);border-color:var(--irg-alerta);color:var(--irg-alerta)}
.acoes :is(a,button):has(.ico-valido),.acoes :is(a,button):has(.ico-balcao){color:var(--irg-ok)}
.acoes :is(a,button):has(.ico-valido):hover,.acoes :is(a,button):has(.ico-balcao):hover{background:var(--irg-ok-bg);border-color:var(--irg-ok);color:var(--irg-ok)}
.acoes :is(a,button):has(.ico-rejeitar),.acoes :is(a,button):has(.ico-excluir){color:var(--irg-erro)}
.acoes :is(a,button):has(.ico-rejeitar):hover,.acoes :is(a,button):has(.ico-excluir):hover{background:var(--irg-erro-bg);border-color:var(--irg-erro);color:var(--irg-erro)}
/* Linha-cabeçalho de grupo recolhível (documentos por associado, financeiro por mês) */
.tbl tr.grp-h td{background:var(--irg-marca-100)!important;cursor:pointer;user-select:none;font-weight:var(--irg-peso-forte);border-top:1px solid var(--irg-linha)}
.tbl tr.grp-h:hover td{filter:brightness(.98)}
.tbl tr.grp-h .grp-seta{display:inline-block;width:14px;transition:transform .15s;color:var(--irg-marca)}
.tbl tr.grp-h.fechado .grp-seta{transform:rotate(-90deg)}
.tbl tr.grp-h .grp-info{font-weight:400;font-size:var(--irg-fs-xs);color:var(--irg-texto-3);margin-left:8px}
.tbl tr.grp-h .badge{margin-left:4px}
.tbl tr.grp-sub td{font-weight:var(--irg-peso-forte);font-size:var(--irg-fs-sm);border-bottom:2px solid var(--irg-linha)}
.tbl tr[data-grp-de] td:first-child{padding-left:26px}
@media (max-width:899px){.tbl-cards tr.grp-h td{display:block}.tbl-cards tr[data-grp-de] td:first-child{padding-left:10px}}
.acoes :is(a,button):has(.ico-baixa){color:var(--irg-ok)}
.acoes :is(a,button):has(.ico-baixa):hover{background:var(--irg-ok-bg);border-color:var(--irg-ok);color:var(--irg-ok)}
.acoes :is(a,button):has(.ico-cancelar){color:var(--irg-erro)}
.acoes :is(a,button):has(.ico-cancelar):hover{background:var(--irg-erro-bg);border-color:var(--irg-erro);color:var(--irg-erro)}
/* Barra A–Z (documentos por associado): filtra os grupos pela inicial; divisória por letra na tabela */
.letras{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px}
.letras button{min-width:30px;height:30px;padding:0 8px;border:1px solid var(--irg-linha);border-radius:8px;background:var(--irg-card-solido);color:var(--irg-marca);font-weight:var(--irg-peso-forte);cursor:pointer}
.letras button:hover:not(:disabled){background:var(--irg-marca-100);border-color:var(--irg-marca)}
.letras button.on{background:var(--irg-marca);border-color:var(--irg-marca);color:#fff}
.letras button:disabled{opacity:.35;cursor:default}
.tbl tr.letra-h td{background:transparent!important;font-size:var(--irg-fs-lg,1.1rem);font-weight:var(--irg-peso-forte);color:var(--irg-marca);padding-top:16px;border-bottom:2px solid var(--irg-marca)}
.tbl tr.letra-h td span{font-size:var(--irg-fs-xs);font-weight:400;color:var(--irg-texto-3);margin-left:6px}
.tbl tr.fora-letra{display:none!important}
@media (max-width:899px){.tbl-cards tr.letra-h td{display:block}}

/* ── Áreas de produção v2 (28/09/2026): linha mais justa, detalhe em grupos pequenos ──
   Clique/foco na linha abre o detalhe (sanfona). Gotejamento/aspersão: chip com área (ha).
   Detalhe = blocos flex que quebram INTEIROS; dentro, linhas com larguras fixas (x90…x140) ou fx. */
.tb-props td{padding:2px 3px}
.tb-props .inp-t{height:26px}
.tb-props tr.pl{cursor:pointer}
.tb-props tbody.prop:not(.aberta) tr.pl:hover td{background:var(--irg-hover)}
.tb-props tr.ps,.tb-props td.c-gt{display:none}
.tb-props tr.pd td{padding:8px 10px 10px}
.pd-box{display:flex;flex-wrap:wrap;gap:8px}
.pd-g{flex:1 1 380px;min-width:0;background:linear-gradient(var(--irg-hover),var(--irg-hover)),var(--irg-card-solido);border:1px solid var(--irg-linha);border-left:3px solid var(--irg-marca);border-radius:var(--irg-raio-inner);padding:6px 9px 8px}
.pd-g.g-irr{border-left-color:var(--irg-info)}.pd-g.g-cult,.pd-g.g-exp{border-left-color:var(--irg-acento-700)}.pd-g.g-ene{border-left-color:var(--irg-alerta)}
.pd-g.g-irr{flex-basis:340px}.pd-g.g-doc{flex-basis:400px}.pd-g.g-ene{flex-basis:390px}.pd-g.g-exp{flex-basis:430px}.pd-g.g-cult{flex-basis:100%}
.pd-g h5{margin:0 0 6px;font-size:11px;font-weight:var(--irg-peso-forte);text-transform:uppercase;letter-spacing:.05em;color:var(--irg-marca);display:flex;align-items:baseline;gap:6px;white-space:nowrap;overflow:hidden}
.pd-g h5 small{font-weight:400;text-transform:none;letter-spacing:0;color:var(--irg-texto-3);cursor:help;overflow:hidden;text-overflow:ellipsis}
.pd-sub{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--irg-texto-3);margin:5px 0 3px}
.pd-row{display:flex;flex-wrap:wrap;gap:4px 6px}
.pd-row+.pd-row{margin-top:4px}
.pd-row .f{grid-column:auto;gap:2px;flex:1 1 120px}
.pd-row .f.fx{flex:1 1 120px}
.pd-row .f.x90{flex:1 1 76px;max-width:100px}
.pd-row .f.x100{flex:0 1 100px;min-width:86px}
.pd-row .f.x110{flex:0 1 110px;min-width:92px}
.pd-row .f.x120{flex:0 1 120px;min-width:96px}
.pd-row .f.x140{flex:0 1 140px;min-width:124px}
.pd-box .f>span{font-size:10px;letter-spacing:.04em;color:var(--irg-texto-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-box .inp,.pd-box select.inp{height:30px;padding:0 7px;font-size:var(--irg-fs-sm)}
.pd-box .chips{gap:4px}
.pd-box .chips label{height:26px;padding:0 8px;font-size:11px;gap:4px}
.pd-box .chips input[type=checkbox]{width:13px;height:13px;margin:0}
.chips label:has(input:checked){background:var(--irg-marca-100);border-color:var(--irg-marca);color:var(--irg-marca)}
.chip-a{display:inline-flex;align-items:center;border:1px solid var(--irg-linha);border-radius:var(--irg-raio-pill);background:var(--irg-card-solido)}
.chips .chip-a label{border:0;background:transparent;height:24px}
.chip-a:has(input[type=checkbox]:checked){background:var(--irg-marca-100);border-color:var(--irg-marca)}
.chips .chip-a label:has(input:checked){background:transparent}
.chip-ha{display:none;align-items:center;gap:3px;padding-right:7px;font-size:11px;color:var(--irg-marca)}
.chip-ha i{font-style:normal}
.chip-a:has(input[type=checkbox]:checked) .chip-ha{display:inline-flex}
.pd-box .chip-ha .inp{width:72px;height:20px;padding:0 6px;text-align:right;border-radius:var(--irg-raio-pill);font-size:11px}
.pd-box .culturas{max-width:700px}
.pd-box .cultura{grid-template-columns:92px 110px minmax(0,1fr) 90px 26px;gap:5px;margin-bottom:4px;align-items:end}
.pd-box .cultura .inp[data-ck=area_ha]{text-align:right}
.pd-box .cultura .f{grid-column:auto!important;gap:2px}
.pd-box .cultura+.cultura .f>span{display:none}
.pd-box .cultura .btn-ic{width:26px;height:26px;margin-bottom:2px}
.irr-resumo{display:flex;flex-wrap:wrap;align-items:center;gap:3px 14px;margin-top:6px;padding:6px 10px;border-radius:var(--irg-raio-inner);background:var(--irg-info-bg);color:var(--irg-info);font-size:var(--irg-fs-sm)}
.irr-resumo .irr-tot{margin-left:auto}
@media (max-width:760px){
  .tb-props tr.pl{cursor:default}
  .irr-resumo .irr-tot{margin-left:0}
  .pd-box .cultura{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 26px;padding-bottom:5px;border-bottom:1px dashed var(--irg-linha)}
  .pd-box .cultura>label:nth-child(3){grid-column:1!important}.pd-box .cultura>label:nth-child(4){grid-column:2!important}
  .pd-box .cultura>button{grid-area:1/3/2/4}
  .pd-box .cultura+.cultura .f>span{display:block}
}

/* ── Modo CARTÕES (portal sempre; painel em tela ≤760px): cada fazenda = cartão com
   resumo; toque abre. Linha 1: Fazenda | Município | UF. Linha 2: três grupos
   (Posse · Agricultura · Pecuária) com 3 números cada. Grid de 11 colunas
   (3 + separador + 3 + separador + 3); o título do grupo (td.c-gt) ocupa 2 linhas
   atrás dos campos e faz o fundo do grupo. */
.props-cards{overflow:visible;border:0;background:transparent}
.props-cards .tb-props{display:block;min-width:0!important;width:100%}
.props-cards .tb-props thead,.props-cards .tb-props tfoot{display:none!important}
.props-cards .tb-props tbody.prop{display:block;background:var(--irg-card-solido);border:1px solid var(--irg-borda-ctrl);border-radius:var(--irg-raio-card);margin-bottom:8px;padding:0;overflow:hidden;box-shadow:0 1px 2px rgba(15,35,60,.05)}
.props-cards .tb-props tbody.prop.aberta{border-color:var(--irg-marca);box-shadow:var(--irg-foco)}
.props-cards .tb-props tr.ps{display:block}
.props-cards .tb-props tr.ps td{display:block;padding:0;border:0;background:transparent}
.ps-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:9px 12px;cursor:pointer;user-select:none}
.ps-ic{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--irg-acento-100);font-size:16px;flex:none}
.ps-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.ps-nome{text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-mun{font-size:var(--irg-fs-xs);color:var(--irg-texto-3);text-transform:uppercase}
.ps-num{display:flex;gap:6px;font-size:var(--irg-fs-sm);color:var(--irg-texto-2)}
.ps-num span{background:var(--irg-hover);border-radius:var(--irg-raio-pill);padding:2px 8px;white-space:nowrap}
.ps-num .ps-irr{background:var(--irg-info-bg);color:var(--irg-info)}
.ps-del{appearance:none;border:1px solid transparent;background:none;width:26px;height:26px;border-radius:50%;color:var(--irg-texto-3);cursor:pointer;font-size:12px;flex:none;padding:0}
.ps-del:hover{border-color:var(--irg-erro);color:var(--irg-erro);background:var(--irg-erro-bg)}
.ps-seta{font-size:22px;line-height:1;color:var(--irg-texto-3);transition:transform .15s;flex:none}
.prop.aberta .ps-seta{transform:rotate(90deg);color:var(--irg-marca)}
.prop.aberta .ps-h{border-bottom:1px solid var(--irg-linha);background:var(--irg-marca-100)}
.props-cards .tb-props tbody.prop:not(.aberta) tr.pl{display:none}
.props-cards .tb-props tr.pl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 8px minmax(0,1fr) minmax(0,1fr) minmax(0,.72fr) 8px minmax(0,1fr) minmax(0,1fr) minmax(0,.72fr);gap:4px;padding:10px 12px 8px;cursor:default}
.props-cards .tb-props tr.pl td{display:block;border:0;padding:0;width:auto!important;min-width:0!important;background:transparent!important}
.props-cards .tb-props tr.pl td[data-rc]::before{content:attr(data-rc);display:block;font-size:10px;color:var(--irg-texto-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.props-cards .tb-props tr.pl td.c-idx{display:none}
.props-cards .tb-props tr.pl td.c-nome{grid-area:1/1/2/7}
.props-cards .tb-props tr.pl td.c-mun{grid-area:1/7/2/10}
.props-cards .tb-props tr.pl td.c-uf{grid-area:1/10/2/11}
.props-cards .tb-props tr.pl td.c-ac{grid-area:1/11/2/12;display:flex;align-items:flex-end;justify-content:flex-end}
.props-cards .tb-props tr.pl td.c-ac [data-det]{display:none}
.props-cards .tb-props tr.pl td.c-ac [data-del-prop]{width:30px;height:30px;border-radius:8px;border:1px solid var(--irg-linha);background:var(--irg-card-solido);color:var(--irg-texto-3)}
.props-cards .tb-props tr.pl td.c-ac [data-del-prop]:hover{border-color:var(--irg-erro);color:var(--irg-erro);background:var(--irg-erro-bg)}
.props-cards .tb-props tr.pl td.c-gt{display:block;grid-row:2/4;line-height:1.2;background:var(--irg-hover)!important;border-radius:8px;padding:4px 6px!important;font-size:10.5px;font-weight:var(--irg-peso-forte);text-transform:uppercase;letter-spacing:.04em;color:var(--irg-marca);margin-top:4px}
.props-cards .tb-props tr.pl td.gt-p{grid-column:1/4}.props-cards .tb-props tr.pl td.gt-a{grid-column:5/8}.props-cards .tb-props tr.pl td.gt-c{grid-column:9/12}
.props-cards .tb-props tr.pl td:is(.gp1,.gp2,.gp3,.ga1,.ga2,.ga3,.gc1,.gc2,.gc3){grid-row:3;z-index:1;padding-top:19px!important;padding-bottom:6px!important}
.props-cards .tb-props tr.pl td:is(.gp1,.ga1,.gc1){padding-left:6px!important}
.props-cards .tb-props tr.pl td:is(.gp3,.ga3,.gc3){padding-right:6px!important}
.props-cards .tb-props tr.pl td.gp1{grid-column:1}.props-cards .tb-props tr.pl td.gp2{grid-column:2}.props-cards .tb-props tr.pl td.gp3{grid-column:3}
.props-cards .tb-props tr.pl td.ga1{grid-column:5}.props-cards .tb-props tr.pl td.ga2{grid-column:6}.props-cards .tb-props tr.pl td.ga3{grid-column:7}
.props-cards .tb-props tr.pl td.gc1{grid-column:9}.props-cards .tb-props tr.pl td.gc2{grid-column:10}.props-cards .tb-props tr.pl td.gc3{grid-column:11}
.props-cards .tb-props .inp-t{height:30px;background:var(--irg-card-solido)}
.props-cards .tb-props td.c-n .inp-t,.props-cards .tb-props td.c-p .inp-t{text-align:right;padding:0 6px}
/* bordas finas em TODOS os campos compactos das áreas (tabela, cartão e detalhe) */
.tb-props .inp-t,.tb-props .pd-box .inp,.tb-props .pd-box select.inp{border:1px solid var(--irg-linha)}
.tb-props .inp-t:focus,.tb-props .pd-box .inp:focus{border-color:var(--irg-marca)}
.props-cards .tb-props td.irr .inp-t{background:var(--irg-info-bg)}
.props-cards .tb-props tr.pd{display:block}
.props-cards .tb-props tr.pd td{display:block;padding:4px 12px 12px;background:transparent;border:0}
.props-cards .tb-props tr.pd td{border-top:1px dashed var(--irg-linha)!important;padding-top:10px}
/* estreito: grupos inteiros um embaixo do outro (3 colunas) */
@media (max-width:600px){
  .ps-num{flex-basis:100%;padding-left:42px;flex-wrap:wrap;order:3}
  .ps-del{order:2}.ps-seta{order:2}
  .props-cards .tb-props tr.pl{grid-template-columns:repeat(3,minmax(0,1fr)) 30px}
  .props-cards .tb-props tr.pl td.c-nome{grid-area:1/1/2/4}
  .props-cards .tb-props tr.pl td.c-ac{grid-area:1/4/2/5}
  .props-cards .tb-props tr.pl td.c-mun{grid-area:2/1/3/3}
  .props-cards .tb-props tr.pl td.c-uf{grid-area:2/3/3/5}
  .props-cards .tb-props tr.pl td.gt-p{grid-area:3/1/5/5}.props-cards .tb-props tr.pl td.gt-a{grid-area:5/1/7/5}.props-cards .tb-props tr.pl td.gt-c{grid-area:7/1/9/5}
  .props-cards .tb-props tr.pl td:is(.gp1,.gp2,.gp3){grid-row:4}.props-cards .tb-props tr.pl td:is(.ga1,.ga2,.ga3){grid-row:6}.props-cards .tb-props tr.pl td:is(.gc1,.gc2,.gc3){grid-row:8}
  .props-cards .tb-props tr.pl td:is(.gp1,.ga1,.gc1){grid-column:1}.props-cards .tb-props tr.pl td:is(.gp2,.ga2,.gc2){grid-column:2}.props-cards .tb-props tr.pl td:is(.gp3,.ga3,.gc3){grid-column:3/5}
}
/* Campo travado (portal) mostrado como TEXTO, e bloco recolhível (details[data-fold]) */
.f.ro .ro-v{min-height:var(--irg-ctrl-h);display:flex;align-items:center;gap:6px;font-size:var(--irg-fs-base);font-weight:var(--irg-peso-forte);color:var(--irg-texto);text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
.f.ro .ro-v::before{content:"🔒";font-size:11px;opacity:.7}
details.fold>summary{cursor:pointer;list-style:none;user-select:none}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"▾";margin-left:auto;font-size:14px;color:var(--irg-texto-3)}
details.fold:not([open])>summary::after{content:"▸ abrir";font-size:var(--irg-fs-xs)}
details.fold .fold-res{text-transform:none;letter-spacing:0;font-weight:400;color:var(--irg-texto-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
/* Culturas: barra "Repetir para o ano atual" e histórico de anos anteriores (recolhido) */
.cult-rep{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;margin-bottom:6px;border-radius:8px;background:var(--irg-acento-100);border:1px solid var(--irg-acento-700);font-size:var(--irg-fs-sm);color:var(--irg-texto)}
.cult-rep span{flex:1 1 220px;min-width:0}
.cult-rep .btn{white-space:nowrap}
details.cult-ant{margin-top:6px;font-size:var(--irg-fs-xs);color:var(--irg-texto-3)}
details.cult-ant>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;width:max-content}
.pd-box .cultura.cult-h{display:flex;align-items:center;gap:6px;margin:3px 0 0;padding:0;border:0;font-size:11px;color:var(--irg-texto-2)}
.pd-box .cultura.cult-h .btn-ic{width:22px;height:22px;font-size:10px}

/* ══ FORMS v2 (28/09) — todos os modais do painel/portal com a mesma cara do modal de ocorrência:
   cabeçalho colorido, seções com marcador, chips que acendem, anexo em bloco, ações fixas no celular.
   Um lugar só: nenhum form precisa de classe nova. Exceção: .ver-box (visualizador de arquivo). */
.modal-box:not(.ver-box)>.modal-h,.modal-box:not(.ver-box)>form>.modal-h{margin:calc(-1 * var(--irg-esp-4)) calc(-1 * var(--irg-esp-4)) 14px;padding:13px var(--irg-esp-4);
  background:linear-gradient(135deg,#0a4468,#0d5582 60%,#1b6a93);color:#fff;border-radius:var(--irg-raio-card) var(--irg-raio-card) 0 0;position:sticky;top:0;z-index:3;box-shadow:0 4px 14px rgba(10,68,104,.18)}
.modal-box:not(.ver-box) .modal-h h3{color:#fff;letter-spacing:.03em}
.modal-box:not(.ver-box) .modal-h .btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.38);color:#fff}
.modal-box:not(.ver-box) .modal-h .btn:hover{background:rgba(255,255,255,.26)}
.modal-box:not(.ver-box) .modal-h .muted{color:rgba(255,255,255,.8)}
.modal-h.perigo,.modal-box:has(.btn-perigo) .modal-h{background:linear-gradient(135deg,#8a1c1c,#c0392b)!important}
.modal-box:not(.ver-box) .modal-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#94c83d,rgba(148,200,61,0))}
/* Seções: marcador colorido + título na cor da marca */
.modal-box .sec,.card .sec{color:var(--irg-marca);font-weight:var(--irg-peso-forte);margin-top:14px}
.modal-box .sec::before,.card .sec::before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(#94c83d,var(--irg-marca));flex:none}
.modal-box .sec .muted,.card .sec .muted{font-weight:400}
/* Chips: acendem quando marcados */
.chips label{transition:background .12s,border-color .12s,color .12s}
.chips label:hover{border-color:var(--irg-marca)}
.chips label:has(input:checked){background:var(--irg-marca);border-color:var(--irg-marca);color:#fff}
.chips label:has(input:checked) input{accent-color:#fff}
/* Anexo: campo de arquivo vira um bloco tracejado */
input[type=file].inp{height:auto;min-height:var(--irg-ctrl-h);padding:5px 6px;border:1.5px dashed var(--irg-marca);background:var(--irg-marca-100);color:var(--irg-texto-2);font-size:var(--irg-fs-sm);cursor:pointer}
input[type=file].inp::file-selector-button{margin-right:8px;height:26px;padding:0 10px;border:0;border-radius:999px;background:var(--irg-marca);color:#fff;font-weight:600;font-size:var(--irg-fs-xs);text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
input[type=file].inp:hover{background:var(--irg-card-solido)}
/* Campos: foco mais visível, obrigatório com marcador */
.modal-box .inp:hover:not(:focus):not([readonly]){border-color:color-mix(in srgb,var(--irg-marca) 45%,var(--irg-linha))}
/* Ações do modal: separadas e, no celular, grudadas no rodapé */
.modal-box .form-acoes{border-top:1px solid var(--irg-linha);padding-top:12px;margin-top:14px}
.modal-box .form-acoes .btn-pri{min-width:120px}
@media (max-width:640px){
  .modal-box:not(.ver-box)>.modal-h,.modal-box:not(.ver-box)>form>.modal-h{border-radius:0;top:0}
  .modal-box .form-acoes{position:sticky;bottom:0;background:var(--irg-card-solido);margin:14px calc(-1 * var(--irg-esp-4)) calc(-1 * var(--irg-esp-3));padding:10px var(--irg-esp-4) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 16px rgba(10,25,40,.08);z-index:3}
  .modal-box .form-acoes .btn{flex:1;height:44px}
  .modal-box .inp{min-height:40px}
  .chips label{padding:6px 11px}
}

/* ══ RELATÓRIO GERENCIAL (painel, 28/09) — rodapé do painel: KPIs + gráficos SVG do servidor
   (os mesmos do PDF). O gráfico fica SEMPRE sobre "papel" branco: as cores do SVG são fixas
   (hex, exigência do mPDF), então no tema escuro ele não some. ══ */
.ger{margin-top:var(--irg-esp-5)}
.ger-topo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px}
.ger-tit{flex:1 1 220px;min-width:0}
.ger-tit h2{margin:0;font-size:var(--irg-fs-md);font-weight:var(--irg-peso-forte);color:var(--irg-marca);text-transform:uppercase;letter-spacing:.03em}
.ger-tit .muted{font-size:var(--irg-fs-xs)}
.ger-per{display:inline-flex;border:1px solid var(--irg-borda-ctrl);border-radius:var(--irg-raio-pill);overflow:hidden;background:var(--irg-card-solido)}
.ger-per a{padding:5px 11px;font-size:var(--irg-fs-xs);font-weight:600;color:var(--irg-texto-2);text-decoration:none;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.ger-per a+a{border-left:1px solid var(--irg-linha)}
.ger-per a:hover{background:var(--irg-hover)}
.ger-per a.on{background:var(--irg-marca);color:#fff}
.ger-acoes{display:flex;flex-wrap:wrap;gap:6px}
.ger-acoes .btn{white-space:nowrap}
.ger-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--irg-esp-3);margin:var(--irg-esp-3) 0}
.ger-kpi{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 10px 8px 12px;background:var(--irg-card);border:1px solid var(--irg-card-borda);border-left:4px solid var(--c,var(--irg-marca));border-radius:var(--irg-raio-inner);box-shadow:var(--irg-sombra-card)}
.ger-kpi-rot{font-size:.64rem;font-weight:650;color:var(--irg-texto-3);text-transform:uppercase;letter-spacing:.03em}
.ger-kpi-val{font-size:1.2rem;font-weight:650;color:var(--irg-texto);font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}
.ger-kpi-sub{font-size:.68rem;color:var(--irg-texto-3);line-height:1.3}
.ger-sec{display:flex;align-items:center;gap:8px;margin:14px 0 6px;font-size:.8rem;font-weight:650;color:var(--irg-marca);text-transform:uppercase;letter-spacing:.04em}
.ger-sec::before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(#94c83d,var(--irg-marca))}
.ger-sec::after{content:"";flex:1;border-top:1px solid var(--irg-linha)}
.ger-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--irg-esp-3)}
.ger-card{min-width:0;padding:10px 12px;display:flex;flex-direction:column}
.ger-card.largo{grid-column:1/-1}
.ger-card h4{margin:0 0 6px;font-size:.78rem;font-weight:650;color:var(--irg-texto);text-transform:uppercase;letter-spacing:.02em}
.ger-svg{background:#fff;border-radius:var(--irg-raio-inner);padding:6px;border:1px solid rgba(15,35,60,.06)}
.ger-svg svg{display:block;width:100%;height:auto;max-height:340px}
.ger-nota{margin-top:6px;font-size:.72rem;color:var(--irg-texto-2);line-height:1.45}
.ger-nota b{color:var(--irg-texto)}
.ger-tbl td.t-forte{font-weight:600}
.ger-tbl .cen,.tbl .cen{text-align:center}
.ger-tbl tfoot td{background:var(--irg-acento-100)}
.ger-rod{margin:10px 0 4px;font-size:var(--irg-fs-xs);text-align:right}
@media (max-width:1200px){.ger-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Tabela do relatório no celular: cartão compacto rótulo ⟷ valor; some o "#" e as células vazias do total */
@media (max-width:899px){
  .ger-tbl td,.ger-tbl td.num,.ger-tbl td.cen{display:flex!important;justify-content:space-between;gap:10px;text-align:right;height:auto;padding:1px 0;background:none!important}
  .ger-tbl td::before{flex:none;text-align:left}
  .ger-tbl td.t-forte{display:block!important;text-align:left;font-size:var(--irg-fs-base);padding-bottom:3px}
  .ger-tbl td.t-forte::before{content:none}
  .ger-tbl td[data-r="#"],.ger-tbl td:empty{display:none!important}
  .ger-tbl tfoot{display:block}
  .ger-tbl tfoot tr{background:var(--irg-acento-100)}
}
@media (max-width:900px){.ger-grid{grid-template-columns:1fr}}
@media (max-width:640px){
  .ger-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ger-per{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .ger-per a{text-align:center;padding:7px 4px}
  .ger-acoes{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .ger-acoes .btn{height:40px;justify-content:center}
  .ger-card{padding:9px 10px}
  .ger-svg{padding:3px}
  .ger-rod{text-align:left}
}
/* IMPRESSÃO (fallback do navegador — o botão Imprimir usa o PDF). Fica POR ÚLTIMO no arquivo:
   regra de @media anterior perde para a de tela declarada depois. */
@media print{
  @page{size:A4;margin:10mm}
  body.adm{background:#fff!important;color:#000}
  .side,.side-fundo,.topo,.ger-acoes,.ger-per,.modal,#toast,.leaflet-control-container{display:none!important}
  .main{margin:0!important;padding:0!important}
  .card,.kpi-card,.ger-kpi{box-shadow:none!important;backdrop-filter:none!important;background:#fff!important;border-color:#cfd8e3!important;break-inside:avoid}
  .ger{break-before:page}
  .ger-kpis{grid-template-columns:repeat(3,1fr)}
  .ger-grid{grid-template-columns:1fr 1fr}
  .ger-card.largo{grid-column:1/-1}
  .ger-sec{break-after:avoid}
  .kpi-card:hover{transform:none}
  a{color:inherit;text-decoration:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Relatório gerencial em tela larga (28/09): a página agora ocupa a largura toda — gráfico não
   pode crescer sem limite: altura travada (o SVG mantém a proporção e centraliza). */
.ger-svg{display:flex;justify-content:center}
.ger-svg svg{width:100%;height:auto;max-height:280px}
.ger-card.largo .ger-svg svg,.ger-card[style*="1/-1"] .ger-svg svg{max-height:240px}
@media print{.ger-svg svg{max-height:none}}

/* Números (28/09): valor em R$ e hectares alinhados à direita, com algarismos de mesma largura */
.inp[data-mask=moeda],.inp[data-mask=num]{text-align:right;font-variant-numeric:tabular-nums}
.inp[data-mask=moeda]{font-weight:600}
/* Maiúsculo nos forms: o app.js marca os campos elegíveis com .up-auto (e converte o valor ao digitar) */
.up-auto,.up-auto::placeholder{text-transform:uppercase}

/* ── Botões com cor (28/09): Excel verde, PDF vermelho, link azul, "+ novo" em destaque ──
   Ícone por máscara SVG (herda a cor do texto, funciona no tema escuro). Uso:
   .btn.btn-xls · .btn.btn-pdf · .btn.btn-lnk · .btn.btn-pri.btn-novo */
.btn-xls,.btn-pdf,.btn-lnk{--c:#15803d;--c-bg:rgba(21,128,61,.09);--c-bd:rgba(21,128,61,.32);
  color:var(--c)!important;background:var(--c-bg)!important;border-color:var(--c-bd)!important;font-weight:600;
  transition:transform .12s,box-shadow .12s,background .12s}
.btn-pdf{--c:#c0392b;--c-bg:rgba(192,57,43,.08);--c-bd:rgba(192,57,43,.30)}
.btn-lnk{--c:var(--irg-marca);--c-bg:var(--irg-marca-100);--c-bd:color-mix(in srgb,var(--irg-marca) 35%,transparent)}
.btn-xls:hover,.btn-pdf:hover,.btn-lnk:hover{background:var(--c)!important;color:#fff!important;border-color:var(--c)!important;transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--c) 30%,transparent)}
.btn-xls::before,.btn-pdf::before,.btn-lnk::before{content:"";width:15px;height:15px;flex:none;background:currentColor;
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.btn-xls{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M3 15h18M9 3v18'/%3E%3C/svg%3E")}
.btn-pdf{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M9 13h6M9 17h4'/%3E%3C/svg%3E")}
.btn-lnk{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E")}
/* "+ novo": marinho em degradê com filete verde embaixo e o "+" numa bolinha verde-limão (o texto do botão vem SEM o "+") */
.btn-novo{padding-left:9px;font-weight:600;color:#fff!important;background:linear-gradient(135deg,var(--irg-marca),var(--irg-marca-600))!important;
  box-shadow:0 3px 10px color-mix(in srgb,var(--irg-marca) 35%,transparent),inset 0 -2px 0 var(--irg-acento);transition:transform .12s,box-shadow .12s}
.btn-novo::before{content:"+";width:19px;height:19px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--irg-acento);color:#10240a;font-weight:800;font-size:15px;line-height:1}
.btn-novo:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--irg-marca) 45%,transparent),inset 0 -2px 0 var(--irg-acento)}
.btn-xls:active,.btn-pdf:active,.btn-lnk:active,.btn-novo:active{transform:none}
/* tema escuro: verde/vermelho mais claros para não sumirem no fundo */
:root[data-tema="escuro"] .btn-xls{--c:#4ade80;--c-bg:rgba(74,222,128,.10);--c-bd:rgba(74,222,128,.35)}
:root[data-tema="escuro"] .btn-pdf{--c:#f87171;--c-bg:rgba(248,113,113,.10);--c-bd:rgba(248,113,113,.35)}
@media (prefers-color-scheme: dark){
  :root:not([data-tema="claro"]) .btn-xls{--c:#4ade80;--c-bg:rgba(74,222,128,.10);--c-bd:rgba(74,222,128,.35)}
  :root:not([data-tema="claro"]) .btn-pdf{--c:#f87171;--c-bg:rgba(248,113,113,.10);--c-bd:rgba(248,113,113,.35)}
}
:root[data-tema="escuro"] .btn-xls:hover,:root[data-tema="escuro"] .btn-pdf:hover{color:#0d151d!important}
@media (prefers-color-scheme: dark){ :root:not([data-tema="claro"]) .btn-xls:hover,:root:not([data-tema="claro"]) .btn-pdf:hover{color:#0d151d!important} }
/* "📥 Pedidos" (Associados): âmbar com contador quando há cadastro aguardando */
.btn-ped{font-weight:600}
.btn-ped.tem{color:var(--irg-alerta);background:var(--irg-alerta-bg);border-color:color-mix(in srgb,var(--irg-alerta) 40%,transparent)}
.btn-ped i{font-style:normal;min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:inline-grid;place-items:center;background:var(--irg-alerta);color:#fff;font-size:11px;animation:pedPulso 1.8s ease-in-out infinite}
@keyframes pedPulso{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--irg-alerta) 25%,transparent)}}

/* ── FINANCEIRO em abas + CAIXA (v11, 29/09) ─────────────────────────── */
.fin-abas{align-items:center}
.fin-lanc{margin-left:auto;padding:3px 0 3px 8px;position:sticky;right:0;background:linear-gradient(90deg,transparent,var(--irg-card-solido) 12px)}
.pl-cod{display:inline-block;min-width:34px;padding:0 5px;border-radius:5px;background:var(--irg-marca-100);color:var(--irg-marca);font-weight:var(--irg-peso-med);font-size:var(--irg-fs-xs);text-align:center;font-variant-numeric:tabular-nums}
tr.inativo td{opacity:.55}
/* modal de lançamento: a cor do cabeçalho segue o sentido */
.lanc-tipos label{font-weight:var(--irg-peso-med)}
.lanc-tipos .lt-e:has(input:checked){background:var(--irg-ok-bg);border-color:var(--irg-ok);color:var(--irg-ok)}
.lanc-tipos .lt-s:has(input:checked){background:var(--irg-erro-bg);border-color:var(--irg-erro);color:var(--irg-erro)}
.lanc-tipos .lt-t:has(input:checked),.lanc-tipos .lt-a:has(input:checked){background:var(--irg-info-bg);border-color:var(--irg-info);color:var(--irg-info)}
.modal-box.lanc-e>form>.modal-h{background:linear-gradient(135deg,#1d6b3a,#2f8f55)!important}
.modal-box.lanc-s>form>.modal-h{background:linear-gradient(135deg,#8a1c1c,#c0392b)!important}
.lanc-ext{background:var(--irg-info-bg)!important}
/* conciliação */
.conc-barra{height:6px;border-radius:6px;background:var(--irg-neutro-bg);overflow:hidden;margin:6px 0 4px}
.conc-barra i{display:block;height:100%;background:var(--irg-ok);border-radius:6px}
.conc-arqs .badge a{color:inherit;text-decoration:none;margin-left:4px;font-weight:700}
.conc-grid .card-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.conc-grid .card-h h3{margin:0;font-size:var(--irg-fs-md)}
.conc-ver label{padding:2px 8px;font-size:var(--irg-fs-xs)}
.conc-ver input{display:none}
.conc-ext tr.cx-pendente{cursor:pointer}
.conc-ext tr.cx-pendente:hover td{background:var(--irg-hover)}
.conc-ext tr.sel td{background:var(--irg-marca-100)!important;box-shadow:inset 0 1px 0 var(--irg-marca),inset 0 -1px 0 var(--irg-marca)}
.conc-ext tr.cx-conciliado td{opacity:.8}
.conc-ext tr.cx-ignorado td{opacity:.55}
.cx-par{font-size:var(--irg-fs-xs);margin-top:3px;color:var(--irg-texto-2)}
.conc-mov tr.cx-m{cursor:pointer}
.conc-mov tr.cx-fora td{opacity:.6}
.conc-mov tr.cand td{background:var(--irg-alerta-bg)}
.conc-mov tr.marc td{background:var(--irg-ok-bg)!important;opacity:1}
.conc-bar{position:sticky;bottom:10px;z-index:30;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;border-radius:var(--irg-raio-card);
  background:var(--irg-card-solido);border:1.5px solid var(--irg-marca);box-shadow:var(--irg-sombra-pop)}
.conc-bar .cb-info{display:flex;gap:16px;flex-wrap:wrap;flex:1;font-size:var(--irg-fs-sm)}
/* fechamento */
.fech-det .grid{margin-bottom:12px}
.fech-conta{border:1px solid var(--irg-linha);border-left:4px solid var(--irg-ok);border-radius:var(--irg-raio-inner);padding:10px 12px;background:var(--irg-card-inner)}
.fech-conta.tem-aviso{border-left-color:var(--irg-alerta)}
.fech-conta.tem-bloq{border-left-color:var(--irg-erro)}
.fc-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fc-num{width:100%;font-size:var(--irg-fs-sm);border-collapse:collapse;margin-bottom:6px}
.fc-num td{padding:2px 0}
.fc-num .fc-tot td{border-top:1px solid var(--irg-linha);font-weight:var(--irg-peso-med)}
.fc-check{list-style:none;margin:0;padding:0;font-size:var(--irg-fs-sm)}
.fc-check li{padding:3px 0 3px 22px;position:relative}
.fc-check li::before{position:absolute;left:0;top:2px;font-weight:700}
.fc-check li.v::before{content:'✓';color:var(--irg-ok)}
.fc-check li.x::before{content:'✕';color:var(--irg-erro)}
.fc-check li.a::before{content:'!';color:var(--irg-alerta);left:4px}
.fc-saldo{display:inline-flex;gap:4px;vertical-align:middle}
.fc-saldo .inp{width:130px;height:28px;padding:2px 8px}
.fech-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--irg-linha)}
.fech-lista tr.sel td{background:var(--irg-marca-100)}
/* extrato conciliado */
.rel-ext tr.rel-pend td{background:var(--irg-erro-bg)}
.rel-ext tr.rel-ign td{opacity:.6}
@media (max-width:640px){
  .conc-bar{bottom:0;border-radius:14px 14px 0 0}
  .fc-saldo .inp{width:110px}
}

/* ── Área de produção → bloco IRRIGAÇÃO em blocos com ícone (29/09) ─────
   Mesma marcação que o assoc_form.js lê (.chip-a/data-kl/data-k); só o visual muda. */
.pd-g.g-irr{display:flex;flex-direction:column}
.g-irr .pd-sub{display:flex;align-items:baseline;gap:6px;font-weight:var(--irg-peso-med);color:var(--irg-texto-2);margin:2px 0 5px}
.g-irr .pd-sub small{font-weight:400;text-transform:none;letter-spacing:0;color:var(--irg-texto-3);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-irr .pd-sub+.irr-grid{margin-bottom:8px}
.pd-box .irr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pd-box .irr-grid>label,.pd-box .irr-grid>.chip-a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  height:auto;min-height:58px;padding:7px 4px 6px;border:1px solid var(--irg-linha);border-radius:10px;background:var(--irg-card-solido);text-align:center;cursor:pointer}
.pd-box .irr-grid>.chip-a>label{display:flex;flex-direction:column;align-items:center;gap:2px;height:auto;padding:0;border:0;background:transparent!important;color:inherit!important;position:static}
.pd-box .irr-grid input[type=checkbox]{position:absolute;top:5px;left:5px;width:13px;height:13px;margin:0}
.irr-grid .ti{font-size:19px;line-height:1.1;filter:grayscale(.65);opacity:.75;transition:filter .12s,opacity .12s}
.irr-grid .tl{font-size:10.5px;font-weight:var(--irg-peso-med);text-transform:uppercase;letter-spacing:0;line-height:1.15;max-width:100%;hyphens:manual;overflow-wrap:normal}
.pd-box .irr-grid>label:hover,.pd-box .irr-grid>.chip-a:hover{border-color:var(--irg-marca)}
/* marcado: fundo claro da marca (o ícone colorido chama mais atenção que o bloco escuro) */
.pd-box .irr-grid>label:has(input:checked),.pd-box .irr-grid>.chip-a:has(input[type=checkbox]:checked){background:var(--irg-marca-100);border-color:var(--irg-marca);color:var(--irg-marca);box-shadow:inset 0 0 0 1px var(--irg-marca)}
.pd-box .irr-grid label:has(input:checked) input{accent-color:var(--irg-marca)}
.irr-grid label:has(input:checked) .ti{filter:none;opacity:1}
/* hectares dentro do bloco (gotejamento/aspersão marcados) */
.pd-box .irr-grid .chip-ha{width:100%;padding:0 2px;margin-top:3px;gap:3px}
.pd-box .irr-grid .chip-ha .inp{flex:1 1 auto;width:auto;min-width:0;height:22px;border-radius:6px;background:var(--irg-card-solido)}
.pd-box .irr-grid .chip-ha i{font-size:10px}
@media (max-width:640px){.pd-box .irr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── Áreas de produção (29/09): LINHA só exibe · tudo se digita nos BLOCOS ───
   Ordem da Ficha AIEMS. Tabela (painel largo): linha com os números, clique abre os blocos.
   Cartões (portal / tela estreita): só o cabeçalho-resumo (tr.ps) + blocos. */
.tb-props td.c-v{height:32px;padding:4px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.tb-props td.c-v.c-n,.tb-props td.c-v.c-p{text-align:right;font-variant-numeric:tabular-nums}
.tb-props td.c-v.c-nome{font-weight:var(--irg-peso-med);text-transform:uppercase}
.tb-props td.c-v.c-mun,.tb-props td.c-v.c-uf{text-transform:uppercase;color:var(--irg-texto-2)}
.tb-props td.c-v.c-uf{text-align:center}
.tb-props td.c-v.irr{color:var(--irg-info);font-weight:var(--irg-peso-med)}
.tb-props td.c-v.vazio{color:var(--irg-texto-3);font-weight:400}
.tb-props tr.pl{cursor:pointer}
.props-cards .tb-props tr.pl,.props-cards .tb-props tbody.prop:not(.aberta) tr.pl{display:none!important}
/* blocos */
.pd-g.g-faz{flex-basis:520px}.pd-g.g-posse{flex-basis:340px;border-left-color:var(--irg-acento-700)}
.pd-g.g-agr{flex-basis:420px;border-left-color:#6a9a1f}.pd-g.g-pec{flex-basis:420px;border-left-color:#9a6a1f}
.pd-g.g-doc{flex-basis:420px}.pd-g.g-ene{flex-basis:340px}.pd-g.g-loc{flex-basis:300px;border-left-color:var(--irg-alerta)}
.pd-g.g-exp{flex-basis:100%}
.pd-row .f.uf{flex:0 0 64px}.pd-row .f.uf .inp{text-align:center}
.pd-row .f.irr>span{color:var(--irg-info)}.pd-row .f.irr .inp{background:var(--irg-info-bg)}
.pd-box .inp[data-mask=num],.pd-box .inp[data-mask=int]{text-align:right;font-variant-numeric:tabular-nums}
.pd-soma{margin-top:6px;font-size:var(--irg-fs-sm);color:var(--irg-texto-2);text-align:right}
.pd-soma b{color:var(--irg-texto)}
.pd-foot{flex-basis:100%;display:none;justify-content:flex-end}
.props-cards .pd-foot{display:flex}
.btn-rem{color:var(--irg-erro)}.btn-rem:hover{border-color:var(--irg-erro);background:var(--irg-erro-bg)}
/* Modal do associado → aba Acesso ao portal */
.ac-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.ac-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--irg-linha);border-radius:var(--irg-raio-inner);margin-bottom:6px;background:var(--irg-card-solido)}
.ac-ic{font-size:20px;width:28px;text-align:center}
.ac-t{flex:1;min-width:0;font-size:var(--irg-fs-sm);line-height:1.35}
.ac-hist{display:flex;flex-direction:column;gap:3px;font-size:var(--irg-fs-sm)}
.ac-hist>div{display:flex;gap:10px;flex-wrap:wrap;padding:4px 0;border-bottom:1px dashed var(--irg-linha)}
.ac-hist span{color:var(--irg-texto-3);min-width:120px}.ac-hist i{color:var(--irg-texto-2);font-style:normal}
@media (max-width:760px){.ac-grid{grid-template-columns:1fr}}
/* bloco único "Áreas da fazenda": 3 linhas × 3 campos, colunas alinhadas (como na ficha) */
.pd-g.g-areas{flex-basis:100%;border-left-color:var(--irg-acento-700)}
.g-areas .ar-l{display:grid;grid-template-columns:130px repeat(3,minmax(0,1fr));gap:4px 8px;align-items:end;padding:4px 0}
.g-areas .ar-l+.ar-l{border-top:1px dashed var(--irg-linha)}
.g-areas .ar-r{font-size:11px;font-weight:var(--irg-peso-forte);text-transform:uppercase;letter-spacing:.03em;color:var(--irg-marca);padding-bottom:8px}
.g-areas .f{gap:2px;grid-column:auto}
.g-areas .f.irr>span{color:var(--irg-info)}.g-areas .f.irr .inp{background:var(--irg-info-bg)}
.pd-g.g-irr{flex-basis:300px}.pd-g.g-doc{flex-basis:330px}
@media (max-width:600px){
  .g-areas .ar-l{grid-template-columns:repeat(3,minmax(0,1fr))}
  .g-areas .ar-r{grid-column:1/-1;padding-bottom:0}
}
@media (max-width:600px){.g-faz .pd-row .f.fx{flex-basis:100%}}
/* Áreas da fazenda compacto (29/09): 3 grupos lado a lado — 1 linha no largo, 2 no médio */
.g-areas .ar-gs{display:flex;flex-wrap:wrap;gap:6px 14px}
.g-areas .ar-g{flex:1 1 230px;min-width:0}
.g-areas .ar-g+.ar-g{border-left:1px dashed var(--irg-linha);padding-left:14px}
.g-areas .ar-h{font-size:11px;font-weight:var(--irg-peso-forte);text-transform:uppercase;letter-spacing:.03em;color:var(--irg-marca);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-areas .ar-h .pd-soma{display:inline;margin:0;font-weight:400;text-transform:none;letter-spacing:0;color:var(--irg-texto-3)}
.g-areas .ar-c{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:5px}
.g-areas .ar-c:has(.piv){grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.7fr)}
.g-areas .f{gap:2px;grid-column:auto}
@media (max-width:600px){.g-areas .ar-g+.ar-g{border-left:0;padding-left:0;border-top:1px dashed var(--irg-linha);padding-top:6px}}
/* Áreas: os 9 campos SEMPRE numa linha (29/09 — "todos na mesma linha"); só o celular (<640px) quebra */
@media (min-width:640px){
  .g-areas .ar-gs{flex-wrap:nowrap;gap:0 10px}
  .g-areas .ar-g{flex:1 1 0;min-width:0}
  .g-areas .ar-g+.ar-g{padding-left:10px}
  .g-areas .ar-c{gap:4px}
  .g-areas .ar-c .inp{min-width:0;padding:0 5px}
  .g-areas .f>span{font-size:9.5px}
}
/* "+ Nova fazenda" em destaque (29/09): faixa larga tracejada verde, ícone redondo */
.btn-add-prop{appearance:none;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:8px;padding:10px 14px;cursor:pointer;
  border:2px dashed var(--irg-acento-700);border-radius:var(--irg-raio-card);background:var(--irg-acento-100);color:var(--irg-marca);font:inherit;transition:background .12s,border-color .12s,transform .12s}
.btn-add-prop:hover{border-style:solid;background:var(--irg-card-solido);transform:translateY(-1px);box-shadow:var(--irg-sombra-card)}
.btn-add-prop .ap-ic{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--irg-acento-700);color:#fff;font-size:20px;font-weight:700;line-height:1;flex:none}
.btn-add-prop .ap-t{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}
.btn-add-prop b{font-size:var(--irg-fs-md);text-transform:uppercase;letter-spacing:.03em}
.btn-add-prop small{font-size:var(--irg-fs-xs);color:var(--irg-texto-3);text-transform:none}

/* Seletor de mês/ano (app.js — substitui o input type=month) */
.mes-pick{position:relative;display:inline-flex;align-items:stretch;height:var(--irg-ctrl-h);border:1px solid var(--irg-borda-ctrl);border-radius:var(--irg-raio-ctrl);background:var(--irg-card-solido);vertical-align:middle}
.mes-pick>button{appearance:none;border:0;background:none;font:inherit;color:var(--irg-texto);cursor:pointer;padding:0 9px}
.mes-pick .mp-ant,.mes-pick .mp-prox{font-size:18px;color:var(--irg-texto-3);padding:0 8px}
.mes-pick .mp-ant:hover:not(:disabled),.mes-pick .mp-prox:hover:not(:disabled){color:var(--irg-marca);background:var(--irg-hover)}
.mes-pick>button:disabled{opacity:.3;cursor:default}
.mes-pick .mp-btn{display:inline-flex;align-items:center;gap:6px;min-width:150px;justify-content:center;font-weight:var(--irg-peso-med);border-left:1px solid var(--irg-linha);border-right:1px solid var(--irg-linha)}
.mes-pick .mp-btn:hover{background:var(--irg-hover)}
.mp-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:60;width:250px;padding:8px;border-radius:var(--irg-raio-card);background:var(--irg-card-solido);border:1px solid var(--irg-linha);box-shadow:var(--irg-sombra-pop)}
.mp-pop[hidden]{display:none}
.mp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.mp-h b{font-size:var(--irg-fs-md)}
.mp-a{appearance:none;border:1px solid var(--irg-linha);background:var(--irg-card-solido);border-radius:8px;width:30px;height:28px;cursor:pointer;font-size:16px;color:var(--irg-texto-2)}
.mp-g{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.mp-g button{appearance:none;border:1px solid transparent;background:var(--irg-hover);border-radius:8px;height:34px;font:inherit;font-size:var(--irg-fs-sm);text-transform:uppercase;cursor:pointer;color:var(--irg-texto)}
.mp-g button:hover:not(:disabled){border-color:var(--irg-marca)}
.mp-g button.hj{box-shadow:inset 0 0 0 1px var(--irg-acento-700)}
.mp-g button.on{background:var(--irg-marca);color:#fff}
.mp-g button:disabled{opacity:.35;cursor:default}
.f .mes-pick{display:flex;width:100%}.f .mes-pick .mp-btn{flex:1;min-width:0}
/* Conciliação: resumo compacto numa faixa */
.conc-resumo{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:8px 4px}
.cr-i{display:flex;flex-direction:column;gap:1px;padding:2px 12px;min-width:0}
.cr-i+.cr-i{border-left:1px solid var(--irg-linha)}
.cr-i>span{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--irg-texto-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-i>b{font-size:1.02rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.cr-i>small{font-size:var(--irg-fs-xs);color:var(--irg-texto-3)}
.cr-i .conc-barra{margin:3px 0 1px}
@media (max-width:900px){.conc-resumo{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px}.cr-i:nth-child(4){border-left:0}}
@media (max-width:560px){.conc-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.cr-i:nth-child(odd){border-left:0}.cr-i:nth-child(4){border-left:1px solid var(--irg-linha)}}
.card:has(.mes-pick .mp-pop:not([hidden])),.modal-box:has(.mes-pick .mp-pop:not([hidden])) .fr:has(.mp-pop:not([hidden])){position:relative;z-index:70}

/* Botão SAIR do topo (painel e portal): vermelho suave, ícone de desligar */
.btn.btn-sair{gap:6px;padding:0 14px;border-radius:var(--irg-raio-pill);background:var(--irg-erro-bg);color:var(--irg-erro);border-color:color-mix(in srgb,var(--irg-erro) 30%,transparent);font-weight:600}
.btn.btn-sair svg{flex:none}
.btn.btn-sair:hover,.btn.btn-sair:focus-visible{background:var(--irg-erro);color:#fff;border-color:var(--irg-erro)}
@media (max-width:760px){.btn.btn-sair{width:var(--irg-ctrl-h);padding:0;justify-content:center}}

/* ── AJUDA ("?") ── */
.btn-ajuda{font-weight:800;color:var(--irg-marca);border-color:color-mix(in srgb,var(--irg-marca) 35%,transparent)!important}
.btn-ajuda:hover{background:var(--irg-marca);color:#fff}
.aj-modal{z-index:140}
.aj-box{max-width:820px}
.aj-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--irg-marca);color:#fff;font-weight:800;flex:none}
.aj-resumo{font-size:var(--irg-fs-md);color:var(--irg-texto-2);margin:0 0 12px;text-transform:none;line-height:1.5}
.aj-guias{border:2px solid var(--irg-acento);background:color-mix(in srgb,var(--irg-acento) 10%,var(--irg-card-solido));border-radius:var(--irg-raio-inner);padding:12px 14px;margin-bottom:12px;text-transform:none}
.aj-guias-t{font-size:var(--irg-fs-sm);margin-bottom:8px}.aj-guias-t b{color:var(--irg-acento-700)}
.aj-guias-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.aj-guias-l div{background:var(--irg-card-solido);border-radius:8px;padding:7px 10px;font-size:var(--irg-fs-sm);line-height:1.4}
.aj-guias-l > div > b{display:block;color:var(--irg-marca)}.aj-guias-l span{color:var(--irg-texto-2)}
.aj-nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px;font-size:var(--irg-fs-sm);color:var(--irg-texto-3);text-transform:none}
.aj-chip{appearance:none;border:1px solid var(--irg-linha);background:var(--irg-card-solido);border-radius:999px;padding:5px 11px;font:inherit;font-size:var(--irg-fs-sm);cursor:pointer;color:var(--irg-texto-2)}
.aj-chip.on,.aj-chip:hover{border-color:var(--irg-marca);color:var(--irg-marca);background:var(--irg-marca-100)}
.aj-print{margin:0 0 12px;border:1px solid var(--irg-linha);border-radius:var(--irg-raio-inner);overflow:hidden;background:var(--irg-card-inner);max-height:300px;position:relative;cursor:zoom-in}
.aj-print img{display:block;width:100%;height:auto}
.aj-print figcaption{position:absolute;right:8px;bottom:8px;background:rgba(10,25,40,.7);color:#fff;font-size:11px;padding:3px 8px;border-radius:999px;text-transform:none}
.aj-print.zoom{max-height:none;cursor:zoom-out}
.aj-h{font-size:var(--irg-fs-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--irg-texto-3);margin:14px 0 6px}
.aj-passos{margin:0;padding-left:22px;text-transform:none}.aj-passos li{margin:4px 0;line-height:1.5}
.aj-campos{display:grid;gap:4px;text-transform:none}
.aj-campos div{display:grid;grid-template-columns:minmax(150px,30%) 1fr;gap:10px;padding:6px 8px;border-radius:8px;background:var(--irg-card-inner);font-size:var(--irg-fs-sm);line-height:1.45}
.aj-campos b{color:var(--irg-texto)}
.aj-dicas{margin:0;padding:0;list-style:none;text-transform:none}.aj-dicas li{position:relative;padding:5px 0 5px 24px;line-height:1.45}.aj-dicas li::before{content:"💡";position:absolute;left:0;top:4px}
@media (max-width:640px){.aj-campos div{grid-template-columns:1fr;gap:2px}}
/* GUIAS: rótulo fixo na barra + aviso da 1ª visita */
.abas .abas-rot{align-self:center;flex:none;font-size:10px;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:999px;background:var(--irg-acento-100);color:var(--irg-acento-700);margin-right:6px}
.abas.abas-dica{animation:abasPisca 1.2s ease-in-out 4;border-radius:10px}
@keyframes abasPisca{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--irg-acento) 45%,transparent)}}
.abas-aviso{margin:-6px 0 10px;font-size:var(--irg-fs-sm);color:var(--irg-acento-700);background:var(--irg-acento-100);border-radius:8px;padding:6px 10px;text-transform:none;display:inline-block}

/* ── Barra lateral + TOPO escuros (09/10/2026): marinho do logo, texto branco, logo branco maior ──
   Logo: assets/img/logo-aiems-branco.png (trocar o arquivo pela arte branca definitiva, mesmo nome). */
:root{--irg-barra:#0a4468;--irg-barra-2:#08385a;--irg-barra-txt:#fff;--irg-barra-txt-2:rgba(255,255,255,.78);--irg-barra-hover:rgba(255,255,255,.09);--irg-barra-linha:rgba(255,255,255,.14)}
:root[data-tema="escuro"]{--irg-barra:#0b2b42;--irg-barra-2:#08223a}
@media (prefers-color-scheme: dark){:root:not([data-tema="claro"]){--irg-barra:#0b2b42;--irg-barra-2:#08223a}}
.side,.topo{background:linear-gradient(180deg,var(--irg-barra),var(--irg-barra-2));backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--irg-barra-txt)}
.side{border-right:0;box-shadow:2px 0 14px rgba(5,25,40,.18)}
.topo{background:var(--irg-barra);border-bottom:3px solid var(--irg-acento);box-shadow:0 2px 10px rgba(5,25,40,.15)}
@media (max-width:899px){.side{background:linear-gradient(180deg,var(--irg-barra),var(--irg-barra-2))}}
.side-logo{display:block;padding:6px 6px 14px;margin-bottom:4px;border-bottom:1px solid var(--irg-barra-linha)}
.side-logo img{height:auto;width:100%;max-width:184px;max-height:72px;object-fit:contain;margin:0 auto}
.side a,.side a:visited{color:var(--irg-barra-txt-2)}
.side a:hover{background:var(--irg-barra-hover);color:#fff}
.side a.on{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 3px 0 0 var(--irg-acento)}
.side-rod{border-top-color:var(--irg-barra-linha)}
.side nav::-webkit-scrollbar{width:6px}.side nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px}
.topo h1{color:#fff}
.topo .eu{color:#fff}
/* botões do sistema no topo (☰, ?, tema): vidro branco */
.topo .btn-ic,.topo .btn-ajuda{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25)!important;color:#fff}
.topo .btn-ic:hover,.topo .btn-ajuda:hover{background:rgba(255,255,255,.22);color:#fff}
.topo .btn-topo{text-decoration:none;font-size:15px}.topo .btn-topo.on{background:var(--irg-acento)!important;border-color:var(--irg-acento)!important;box-shadow:0 0 0 2px rgba(148,200,61,.35)}
.topo .btn.btn-sair{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
.topo .btn.btn-sair:hover,.topo .btn.btn-sair:focus-visible{background:var(--irg-erro);border-color:var(--irg-erro);color:#fff}
/* ações da tela no topo: primário vira o verde do logo (marinho some no marinho); claros ganham fundo sólido */
.topo .btn-pri,.topo .btn-novo{background:var(--irg-acento)!important;border-color:var(--irg-acento)!important;color:#10240a!important}
.topo .btn-novo::before{background:#10240a;color:var(--irg-acento)}
.topo .btn-xls,.topo .btn-pdf,.topo .btn-lnk{background:#fff;border-color:transparent}

/* ── Barra lateral recolhida no computador (☰, 09/10/2026): só ícones; a escolha fica no localStorage (irg_side_min) ── */
.side-logo img.side-ico{display:none}
.side,.main{transition:width .18s,margin-left .18s}
@media (min-width:900px){
  html.side-min .side{width:64px;padding-left:8px;padding-right:8px;overflow-x:hidden}
  html.side-min .main{margin-left:64px}
  html.side-min .side-logo img{display:none}
  html.side-min .side-logo img.side-ico{display:block;height:32px;width:32px;margin:2px auto 8px}
  html.side-min .side a{justify-content:center;padding:8px 0;gap:0}
  html.side-min .side a>span:not(.ic){display:none}
  html.side-min .side .ic{width:auto;font-size:17px}
}

/* ── Menu em GRUPOS com submenu (09/10/2026) ── */
.side-g{display:flex;flex-direction:column}
.side-gt{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;margin-top:4px;border:0;border-radius:var(--irg-raio-ctrl);background:none;cursor:pointer;
  font:inherit;font-weight:var(--irg-peso-med);color:var(--irg-barra-txt-2);text-align:left;text-transform:uppercase;letter-spacing:.02em}
.side-gt:hover{background:var(--irg-barra-hover);color:#fff}
.side-gt>span:not(.ic){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-gt .ic{width:20px;text-align:center}
.side-cv{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;opacity:.7;flex:none}
.side-g.aberto .side-cv{transform:rotate(45deg)}
.side-g.tem-on>.side-gt{color:#fff}
/* grupo ABERTO em destaque (09/10/2026): fundo do bloco inteiro; o grupo da tela atual ganha o verde do logo */
.side-g.aberto{background:rgba(255,255,255,.06);border-radius:var(--irg-raio-ctrl);margin:2px 0}
.side-g.aberto>.side-gt{color:#fff}
.side-g.tem-on>.side-gt{background:rgba(148,200,61,.22);box-shadow:inset 3px 0 0 var(--irg-acento)}
.side-g.tem-on .side-sub{border-left-color:rgba(148,200,61,.55)}
.side-sub{display:none;flex-direction:column;gap:1px;margin:2px 0 4px 14px;padding-left:8px;border-left:1px solid var(--irg-barra-linha)}
.side-g.aberto .side-sub{display:flex}
.side-sub a{padding:5px 8px;font-size:.92em;text-transform:none;letter-spacing:0}
.side-sub a .ic{font-size:.92em}
@media (min-width:900px){
  html.side-min .side-gt{justify-content:center;padding:8px 0;gap:0}
  html.side-min .side-gt>span:not(.ic),html.side-min .side-cv{display:none}
  html.side-min .side-gt .ic{width:auto;font-size:17px}
  html.side-min .side-sub{display:none!important}
  html.side-min .side-g.tem-on>.side-gt{background:rgba(255,255,255,.14);box-shadow:inset 3px 0 0 var(--irg-acento)}
}

/* CAIXA NORMAL (Configurações › Geral › Escrita, 09/10/2026): nada de maiúsculo forçado pelo visual — rótulos, botões,
   títulos e campos aparecem como estão escritos no código / gravados no banco. */
html[data-caixa="normal"] *,html[data-caixa="normal"] *::before,html[data-caixa="normal"] *::after,html[data-caixa="normal"] ::placeholder{text-transform:none!important}

/* ── AGENDA (09/10/2026): calendário do mês + próximos 7 dias (paginas/agenda.php) ── */
.ag-barra{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px}
.ag-nav{display:flex;align-items:center;gap:6px}
.ag-mes{font-size:var(--irg-fs-lg);font-weight:var(--irg-peso-forte);color:var(--irg-marca);margin-left:6px}
.ag-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}
.ag-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0;overflow:hidden;gap:0}
.ag-sem{padding:8px 6px;font-size:var(--irg-fs-xs);font-weight:var(--irg-peso-forte);color:var(--irg-texto-3);text-align:center;text-transform:uppercase;border-bottom:1px solid var(--irg-linha);background:var(--irg-hover)}
.ag-dia{min-height:112px;padding:4px 4px 6px;border-right:1px solid var(--irg-linha);border-bottom:1px solid var(--irg-linha);display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0;transition:background .12s}
.ag-dia:nth-child(7n){border-right:0}
.ag-dia:hover{background:var(--irg-hover)}
.ag-dia.fora{background:rgba(127,127,127,.05)}.ag-dia.fora .ag-n{opacity:.4}
.ag-dia.sobre{background:var(--irg-marca-100);outline:2px dashed var(--irg-marca);outline-offset:-3px}
.ag-dia.foco{box-shadow:inset 0 0 0 2px var(--irg-acento)}
.ag-n{font-size:12px;font-weight:var(--irg-peso-forte);color:var(--irg-texto-2);align-self:flex-end;width:24px;height:24px;display:grid;place-items:center;border-radius:50%}
.ag-dia.hoje .ag-n{background:var(--irg-marca);color:#fff}
.ag-it{display:flex;align-items:center;gap:3px;font-size:11px;line-height:1.25;padding:2px 5px;border-radius:5px;background:color-mix(in srgb,var(--c) 13%,transparent);color:var(--irg-texto);border-left:3px solid var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;cursor:pointer;min-width:0}
.ag-it>span{flex:none}
.ag-it:hover{background:color-mix(in srgb,var(--c) 24%,transparent);text-decoration:none}
.ag-it.ag-pz{background:transparent;border-left-style:dotted;color:var(--irg-texto-2)}
.ag-it.ag-realizado{opacity:.6}.ag-it.ag-cancelado{opacity:.45;text-decoration:line-through}
.ag-it[draggable=true]{cursor:grab}
.ag-oculto{display:none!important}
.ag-mais{font-size:11px;color:var(--irg-marca);font-weight:var(--irg-peso-forte);padding:0 5px;cursor:pointer}
.ag-prox{padding:12px 14px;position:sticky;top:70px}
.ag-prox h3{margin:0 0 6px;font-size:var(--irg-fs-md)}
.ag-pdia{font-size:var(--irg-fs-xs);font-weight:var(--irg-peso-forte);color:var(--irg-texto-3);text-transform:uppercase;letter-spacing:.03em;margin:10px 0 4px}
.ag-pit{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border-radius:8px;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 8%,transparent);margin-bottom:4px;cursor:pointer;color:var(--irg-texto);text-decoration:none;font-size:var(--irg-fs-sm);line-height:1.35}
.ag-pit:hover{background:color-mix(in srgb,var(--c) 16%,transparent);text-decoration:none}
.ag-pit small{display:block;color:var(--irg-texto-3);font-size:11px}
.ag-pit.ag-cancelado{text-decoration:line-through;opacity:.55}
.ag-pic{flex:none}
.ag-leg{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--irg-linha);font-size:11px;color:var(--irg-texto-3)}
.ag-tipos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ag-tipos label{cursor:pointer}.ag-tipos input{display:none}
.ag-tipos span{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:999px;border:1px solid var(--irg-linha);font-size:var(--irg-fs-sm);background:var(--irg-card-solido)}
.ag-tipos input:checked+span{background:var(--c);border-color:var(--c);color:#fff}
.ag-sec{font-size:var(--irg-fs-xs);font-weight:var(--irg-peso-forte);color:var(--irg-marca);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;padding-top:10px;border-top:1px solid var(--irg-linha)}
.ag-part{max-height:84px;overflow:auto}
.ag-excl{color:var(--irg-erro)}   /* não usa .btn-perigo: o tema pinta de vermelho o modal que tem .btn-perigo (confirmações) */
.ag-assocs{margin:-2px 0 8px;padding:8px;border:1px solid var(--irg-linha);border-radius:10px;max-height:190px;overflow:auto}
.ag-chks{display:flex;flex-direction:column;gap:6px}
.ag-chks .chk{text-transform:none}
.ag-dest{font-size:11.5px;margin:-2px 0 4px 24px;text-transform:none}
.ag-chks [hidden],.ag-hr[hidden],.ag-df[hidden]{display:none!important}
@media (max-width:1100px){.ag-layout{grid-template-columns:1fr}.ag-prox{position:static}}
/* Calendário ocupa a altura da tela no computador (09/10/2026): --ag-h vem do JS da agenda (janela − topo do calendário);
   as semanas (5 ou 6) dividem a altura igualmente; o "+N mais" continua valendo quando o dia não comporta tudo */
@media (min-width:1101px){
  .ag-cal{height:max(520px,var(--ag-h,auto));grid-template-rows:auto;grid-auto-rows:minmax(84px,1fr)}
  .ag-cal .ag-dia{min-height:0;overflow:hidden}
  .ag-cal.ag-livre{height:auto;grid-auto-rows:minmax(84px,auto)}.ag-cal.ag-livre .ag-dia{overflow:visible}
}
@media (max-width:640px){.ag-dia{min-height:64px;padding:2px}.ag-it{font-size:0;padding:3px;justify-content:center}.ag-it>span{font-size:11px}.ag-it b{display:none}.ag-sem{font-size:10px;padding:6px 2px}}

/* ── ABAS INTERNAS (09/10/2026): moldura (body.moldura) + tela dentro da aba (body.embed) ──
   Modal aberto numa tela cobre SÓ aquela aba (o iframe): barra lateral e abas continuam livres para consultar outra tela. */
body.moldura{height:100vh;overflow:hidden}
body.moldura .main{height:100vh;display:flex;flex-direction:column}
body.moldura .topo{flex:none;padding-top:6px;padding-bottom:6px}
.abas-area{flex:1;position:relative;min-height:0}
.abas-area iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:none;background:transparent}
.abas-area iframe.on{display:block}
.abas-int{flex:1;min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.abas-int::-webkit-scrollbar{display:none}
.abas-int .ai{display:flex;align-items:center;gap:6px;height:32px;max-width:220px;min-width:90px;padding:0 6px 0 10px;border-radius:9px;cursor:pointer;flex:0 1 auto;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.85);transition:background .12s}
.abas-int .ai:hover{background:rgba(255,255,255,.16);color:#fff}
.abas-int .ai.on{background:#fff;border-color:#fff;color:var(--irg-marca);box-shadow:0 2px 8px rgba(0,0,0,.15),inset 0 -3px 0 var(--irg-acento)}
.abas-int .ai-ic{flex:none;font-size:13px}
.abas-int .ai-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.82rem}
.abas-int .ai-x{flex:none;width:20px;height:20px;border:0;border-radius:6px;background:none;color:inherit;opacity:.6;cursor:pointer;font-size:15px;line-height:1}
.abas-int .ai-x:hover{opacity:1;background:rgba(220,38,38,.15);color:var(--irg-erro)}
.abas-int .ai:not(.on) .ai-x:hover{color:#fff;background:rgba(255,255,255,.2)}
.abas-int .ai-mais{flex:none;width:30px;height:30px;border-radius:9px;border:1px dashed rgba(255,255,255,.4);background:none;color:#fff;font-size:18px;cursor:pointer}
.abas-int .ai-mais:hover:not([disabled]){background:rgba(255,255,255,.15);border-style:solid}
.abas-int .ai-mais[disabled]{opacity:.35;cursor:not-allowed}
.abas-int .ai-n{flex:none;font-size:.68rem;color:rgba(255,255,255,.6);padding:0 4px;font-variant-numeric:tabular-nums}
@media (max-width:899px){.abas-int .ai{min-width:0;max-width:150px}.abas-int .ai-n{display:none}}
/* tela dentro da aba: sem barra lateral; faixa de título + ações da tela */
body.embed{background:var(--irg-fundo-grad);background-attachment:fixed}
body.embed .main,html.side-min body.embed .main{margin-left:0!important}
.pg-topo{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--irg-esp-2);flex-wrap:wrap;padding:8px var(--irg-esp-4);
  background:var(--irg-card-solido);border-bottom:1px solid var(--irg-linha);box-shadow:0 1px 6px rgba(15,35,60,.06)}
.pg-topo h1{margin:0;font-size:1.05rem;font-weight:650;color:var(--irg-marca);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-topo .btn-pri,.pg-topo .btn-novo{background:var(--irg-acento);border-color:var(--irg-acento);color:#10240a}
@media print{.pg-topo{display:none!important}}

/* Topo (09/10/2026): ícones MAIORES e todos centrados do mesmo jeito (links <a> e <button> alinhavam diferente o emoji);
   nunca encolhem quando há muitas abas. Abas com a MESMA largura (antes a de título longo esmagava as outras). */
.topo .btn-ic,.topo .btn-ajuda{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;font-size:18px;line-height:1}
.topo .btn-ajuda{font-size:17px}
.topo .btn-topo{font-size:19px}
.topo .eu{flex:none}
.topo .eu .quem-av{width:36px!important;height:36px!important;font-size:15px!important}
.topo .btn.btn-sair{flex:none;height:40px}
.abas-int .ai{flex:1 1 0;min-width:72px;max-width:200px}
@media (max-width:899px){.topo .btn-ic,.topo .btn-ajuda{width:36px;height:36px;font-size:16px}.topo .btn.btn-sair{height:36px}}


/* Fechamento: pacote da contabilidade + anexar PDF em destaque (09/10/2026) */
.ct-pac{margin-top:12px;border:1.5px solid color-mix(in srgb,var(--irg-acento) 55%,var(--irg-linha));border-radius:var(--irg-raio-card);background:color-mix(in srgb,var(--irg-acento) 7%,var(--irg-card-solido));padding:12px 14px}
.ct-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ct-ic{width:42px;height:42px;border-radius:12px;background:var(--irg-acento);display:grid;place-items:center;font-size:22px;flex:none}
.ct-aviso{margin-top:8px;font-size:var(--irg-fs-sm);color:var(--irg-alerta);text-transform:none}
.ct-hist{list-style:none;margin:10px 0 0;padding:8px 0 0;border-top:1px dashed var(--irg-linha);font-size:var(--irg-fs-sm);text-transform:none}
.ct-hist li{padding:3px 0}.ct-hist li.ok{color:var(--irg-ok)}.ct-hist li.er{color:var(--irg-erro)}.ct-hist .muted{color:var(--irg-texto-3)}
.fc-check .fc-anexar{margin-left:6px;height:28px;font-weight:650;box-shadow:0 0 0 3px color-mix(in srgb,var(--irg-erro) 18%,transparent);animation:fcPulso 2.2s ease-in-out infinite}
@keyframes fcPulso{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--irg-erro) 6%,transparent)}}

/* contador de não lidas no ícone 📬 do topo */
.topo .btn-topo{position:relative}
.topo .tp-n{position:absolute;top:-4px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--irg-erro);color:#fff;font-size:.66rem;font-weight:700;line-height:19px;text-align:center;box-shadow:0 0 0 2px var(--irg-barra);font-variant-numeric:tabular-nums}

/* Fazenda em ABAS (10/10/2026): dados · irrigação/outorga/CAR · energia · culturas/expansão */
.pd-box{display:block}
.pd-abas{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--irg-linha);margin:0 0 8px}
.pd-abas button{border:0;background:none;padding:7px 12px;font:inherit;font-size:.8rem;font-weight:600;color:var(--irg-texto-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.pd-abas button:hover{color:var(--irg-marca)}
.pd-abas button.on{color:var(--irg-marca);border-bottom-color:var(--irg-acento)}
.pd-pn{display:none;flex-wrap:wrap;gap:8px}
.pd-pn.on{display:flex}
.pd-pn .pd-g{flex:1 1 100%}
.pd-pn[data-pd-pn="irr"] .pd-g.g-irr{flex:1 1 420px}.pd-pn[data-pd-pn="irr"] .pd-g.g-doc{flex:1 1 380px}
.pd-row .f.fx2{flex:2 1 220px}
.pd-row .f.x60{flex:0 0 60px;min-width:56px}
.pd-row .f.x150{flex:0 1 150px;min-width:130px}
.pd-row .f.x180{flex:0 1 180px;min-width:140px}
.pd-row .f.x200{flex:0 1 200px;min-width:160px}
.pd-row .f.x260{flex:0 1 260px;min-width:180px}
.pd-foot{margin-top:8px}
@media (max-width:640px){.pd-abas{flex-wrap:nowrap;overflow-x:auto}.pd-row .f.x60{flex:0 0 56px}}

/* Culturas em 2 colunas (10/10/2026): anos anteriores × ano atual */
.cult-2c{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px;align-items:start}
@media (max-width:760px){.cult-2c{grid-template-columns:1fr}}
.cult-col-h{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--irg-texto-3);margin:0 0 6px;display:flex;gap:6px;align-items:baseline}
.cult-at .cult-col-h{color:var(--irg-acento-700)}
.cult-ant{background:var(--irg-card-inner);border:1px solid var(--irg-linha);border-radius:8px;padding:8px}
.cult-vazio{font-size:.78rem;color:var(--irg-texto-3);padding:6px 0}
.cult-ano-h{display:flex;align-items:center;gap:8px;margin:8px 0 3px;padding-top:6px;border-top:1px dashed var(--irg-linha)}
.cult-ano-h:first-child{margin-top:0;padding-top:0;border-top:0}
.cult-ano-h b{font-size:.82rem;color:var(--irg-marca)}.cult-ano-h span{font-size:.74rem;color:var(--irg-texto-3);flex:1}
.cult-ano-h .btn{height:26px;padding:0 9px;font-size:.72rem}
.pd-box .cult-ant .cultura.cult-h{display:grid;grid-template-columns:80px minmax(0,1fr) auto 24px;gap:6px;align-items:center;margin:0;padding:3px 4px;border-radius:6px;font-size:.78rem}
.pd-box .cult-ant .cultura.cult-h:hover{background:var(--irg-hover)}
.cult-h .ch-per{color:var(--irg-texto-3)}.cult-h .ch-cult{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cult-h .ch-ha{font-variant-numeric:tabular-nums;color:var(--irg-texto-2)}
.pd-box .cult-at .culturas{max-width:none}

/* Fazenda (10/10/2026): dados + coordenadas da sede na MESMA linha; áreas em 3 BLOCOS destacados */
.pd-pn[data-pd-pn="faz"] .pd-g.g-faz{flex:1 1 600px}
.pd-pn[data-pd-pn="faz"] .pd-g.g-loc{flex:0 1 300px}
.pd-pn[data-pd-pn="faz"] .pd-g.g-areas{flex:1 1 100%}
.pd-row .f.x220{flex:0 1 220px;min-width:160px}
.g-areas .ar-gs{gap:8px!important}
.g-areas .ar-g,.g-areas .ar-g+.ar-g{border:1px solid var(--irg-linha);border-left:4px solid var(--irg-acento-700);border-radius:8px;padding:7px 9px 8px!important;background:var(--irg-card-inner)}
.g-areas .ar-g:nth-child(2){border-left-color:#6a9a1f;background:color-mix(in srgb,#6a9a1f 7%,var(--irg-card-solido))}
.g-areas .ar-g:nth-child(3){border-left-color:#9a6a1f;background:color-mix(in srgb,#9a6a1f 7%,var(--irg-card-solido))}
.g-areas .ar-g:nth-child(1){background:color-mix(in srgb,var(--irg-acento-700) 6%,var(--irg-card-solido))}
.g-areas .ar-g:nth-child(2) .ar-h{color:#5a8a10}.g-areas .ar-g:nth-child(3) .ar-h{color:#8a5a10}
.g-areas .ar-h{font-size:11.5px;margin-bottom:5px}

/* Faixa de irrigação maior + nome da fazenda (10/10/2026) */
.irr-resumo{padding:10px 14px;font-size:.9rem;gap:4px 18px;margin-top:8px}
.irr-resumo .irr-faz{font-weight:700;color:var(--irg-marca);padding-right:14px;border-right:1px solid color-mix(in srgb,var(--irg-info) 35%,transparent);max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* coordenadas na linha dos dados */
.pd-row .f.x130{flex:0 1 130px;min-width:110px}
.pd-row .f.loc>span{color:var(--irg-alerta)}
/* KML por bloco de área */
.ar-kml{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px}
.kml-l{display:contents}
.kml-add{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border:1px dashed var(--irg-linha-forte,var(--irg-linha));border-radius:999px;font-size:.72rem;font-weight:600;color:var(--irg-texto-2);cursor:pointer;background:var(--irg-card-solido)}
.kml-add:hover{border-color:var(--irg-acento);color:var(--irg-marca)}
.kml-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;height:24px;padding:0 4px 0 8px;border-radius:999px;background:var(--irg-card-solido);border:1px solid var(--irg-linha);font-size:.72rem}
.kml-chip b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.kml-chip i{font-style:normal;color:var(--irg-texto-3);white-space:nowrap}
.kml-chip button{border:0;background:none;cursor:pointer;color:var(--irg-texto-3);font-size:.75rem;padding:0 3px}
.kml-chip button:hover{color:var(--irg-erro)}
.cult-at .culturas:empty::before{content:"Nenhuma cultura neste ano — use “↻ Repetir” ao lado ou “+ Cultura”.";display:block;font-size:.78rem;color:var(--irg-texto-3);padding:4px 0 8px}

/* Quadro societário (12/10/2026 — "X na linha, com e-mail"): FLEX numa regra só (antes grid + !important duplicado
   em rc.css quebrava no celular). Largo: Nome · CPF · E-mail · ✕ na mesma linha. O quadro decide pela PRÓPRIA largura
   (container query): estreito = Nome + ✕ na 1ª linha, CPF + E-mail embaixo, com rótulos. Mesmo no portal e no painel. */
.pes-tab{container-type:inline-size;border:1px solid var(--irg-linha);border-radius:10px;padding:8px 10px 10px;background:var(--irg-card-inner)}
.pes-tab .pes-h,.pes-tab .pessoa{display:flex!important;align-items:center;gap:8px}
.pes-tab .pes-h{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--irg-texto-3);padding:0 2px 6px;border-bottom:1px solid var(--irg-linha);margin-bottom:6px}
.pes-tab:not(:has(.pessoa)) .pes-h{display:none!important}
.pes-tab .pessoa{margin:0 0 6px;padding:0;background:none;border:0}
.pes-tab .pes-h>span,.pes-tab .pessoa>.f{grid-column:auto!important;margin:0;min-width:0}
.pes-tab .pes-h>:nth-child(1),.pes-tab .pessoa>:nth-child(1){flex:1.8 1 0}
.pes-tab .pes-h>:nth-child(2),.pes-tab .pessoa>:nth-child(2){flex:0 0 150px}
.pes-tab .pes-h>:nth-child(3),.pes-tab .pessoa>:nth-child(3){flex:1.6 1 0}
.pes-tab .pes-h>:nth-child(4),.pes-tab .pessoa>:nth-child(4){flex:0 0 34px}
.pes-tab .pessoa .f>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pes-tab .pessoa .inp{height:36px}
.pes-tab .pes-x{display:flex;justify-content:center;align-items:center}
.pes-tab .pes-x .btn-ic{width:32px;height:32px;border-radius:8px;color:var(--irg-erro)}
.pes-tab .pes-x .btn-ic:hover{background:var(--irg-erro-bg);border-color:var(--irg-erro)}
.pes-tab .pes-add{margin-top:6px}
@container (max-width:560px){
  .pes-tab .pes-h{display:none!important}
  .pes-tab .pessoa{flex-wrap:wrap;align-items:flex-end;gap:6px 8px;background:var(--irg-card-solido);border:1px solid var(--irg-linha);border-radius:var(--irg-raio-inner);padding:8px 10px;margin-bottom:8px}
  .pes-tab .pessoa>:nth-child(1){flex:1 1 calc(100% - 50px);order:1}
  .pes-tab .pessoa>:nth-child(4){flex:0 0 34px;order:2;align-self:flex-end;padding-bottom:2px}
  .pes-tab .pessoa>:nth-child(2){flex:1 1 140px;order:3}
  .pes-tab .pessoa>:nth-child(3){flex:2 1 180px;order:4}
  .pes-tab .pessoa .f>span{position:static;width:auto;height:auto;clip:auto;font-size:10.5px;color:var(--irg-texto-3);text-transform:uppercase}
}
/* CEP: situação da busca ao lado do rótulo */
.cep-st{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:var(--irg-texto-3);margin-left:4px}
.cep-st.ok{color:var(--irg-ok)}.cep-st.er{color:var(--irg-erro)}
/* Abas da fazenda com cara de ABA (10/10/2026): botões com borda, a ativa "cola" no painel */
.pd-abas{gap:4px;border-bottom:2px solid var(--irg-acento);padding:0 4px;margin:0 0 10px}
.pd-abas button{border:1px solid var(--irg-linha);border-bottom:0;border-radius:9px 9px 0 0;background:var(--irg-card-inner);padding:8px 14px;margin-bottom:0;color:var(--irg-texto-2)}
.pd-abas button:hover{background:var(--irg-hover);color:var(--irg-marca)}
.pd-abas button.on{background:var(--irg-acento);border-color:var(--irg-acento);color:#fff;box-shadow:0 -2px 6px rgba(0,0,0,.06)}

/* rodapé da barra lateral: crédito do desenvolvedor (10/10/2026) */
.side-rod a.side-dev{display:block;padding:6px 10px 2px;font-size:10.5px;font-weight:400;text-transform:none;letter-spacing:0;opacity:.6;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-rod a.side-dev:hover{opacity:1;background:none}
.side-rod a.side-dev b{font-weight:600}

/* Mapa: marcar pivô à mão */
.geo-marcando,.geo-marcando .leaflet-interactive{cursor:crosshair!important}
.geo-marca-tt{background:#a855f7;color:#fff;border:0;font-weight:700;box-shadow:none}
.geo-marca-tt::before{display:none}

/* Associado · aba Dados do painel em CARTÕES (12/10/2026 — "compactar e reorganizar"; lib/form_associado.php irg_form_bloco_dados_painel) */
.fa-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:10px}
.fa-grid .fb{border:1px solid var(--irg-linha);border-radius:10px;padding:8px 12px 2px;background:color-mix(in srgb,var(--irg-marca) 2.5%,var(--irg-card-solido));min-width:0}
.fa-grid .fb>.sec{margin:0 0 6px}
.fa-grid .fr{gap:6px 8px;margin-bottom:6px}
.fa-grid .fb-id{grid-column:1/-1}
.eh-pf .fa-grid .fb-obs{grid-column:1/-1}
.fa-grid .fb-id-c{display:flex;gap:12px;align-items:flex-start}
.fa-grid .fb-id-f{flex:1;min-width:0}
.fa-grid .fb-foto{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:4px;margin:0}
.fa-grid .fb-foto label:first-child{cursor:pointer}
.fa-grid .fb-foto .foto-rem{font-size:11px;text-transform:none}
.fa-grid .fb-obs{display:flex;flex-direction:column}
.fa-grid .fb-obs .f{flex:1;margin-bottom:8px}
.fa-grid .fb-obs textarea.inp{flex:1;min-height:76px}
.fa-grid .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.doc-busca{border:0;background:var(--irg-marca-100);color:var(--irg-marca);border-radius:var(--irg-raio-pill);font:inherit;font-size:10px;font-weight:600;padding:0 7px;margin-left:4px;cursor:pointer;line-height:16px;text-transform:none}
.doc-busca:hover{background:var(--irg-marca);color:#fff}
.doc-st{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:var(--irg-texto-3);margin-left:4px}
.doc-st.ok{color:var(--irg-ok)}.doc-st.er{color:var(--irg-erro)}
@media (max-width:900px){.fa-grid{grid-template-columns:minmax(0,1fr)}.fa-grid .fb-id-c{flex-direction:column;align-items:stretch}.fa-grid .fb-foto{flex-direction:row}}

/* Select pesquisável (app.js IRG.selBusca — select[data-busca]) */
.sb{position:relative;min-width:0}
.sb>select{position:absolute;left:0;right:0;bottom:0;height:1px;opacity:0;pointer-events:none}
.sb-in{padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--irg-texto-3) 50%),linear-gradient(135deg,var(--irg-texto-3) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat;text-overflow:ellipsis}
.sb-pop{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 3px);max-height:280px;overflow:auto;background:var(--irg-card-solido);border:1px solid var(--irg-linha);border-radius:8px;box-shadow:var(--irg-sombra-pop);padding:4px;font-size:var(--irg-fs-sm);font-weight:400;color:var(--irg-texto);text-transform:none}
.sb-g{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--irg-texto-3);padding:6px 8px 2px}
.sb-o{padding:6px 8px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-o.sel{font-weight:600;color:var(--irg-marca)}
.sb-o.on,.sb-o:hover{background:var(--irg-marca-100)}
.sb-vz{padding:8px;color:var(--irg-texto-3)}

/* Modal de lançamento em blocos (12/10/2026 — paginas/fin_modal_lanc.php) */
.modal-box.lanc-box{max-width:780px}
#fLanc .lanc-tipos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}
#fLanc .lanc-tipos label{justify-content:center;text-align:center;margin:0;white-space:nowrap}
#fLanc .lanc-tipos label.hide{display:none}
#fLanc .lb{border:1px solid var(--irg-linha);border-radius:10px;padding:8px 10px 2px;margin-bottom:8px;background:color-mix(in srgb,var(--irg-marca) 2.5%,var(--irg-card-solido))}
#fLanc .lb .fr{gap:6px 8px;margin-bottom:6px}
#fLanc .lb-dest{grid-column:7 / span 6}
#fLanc .lanc-valor{text-align:right;font-weight:700;font-size:var(--irg-fs-md)}
#fLanc .lb-fim input[type=file].inp{min-height:var(--irg-ctrl-h);padding:3px 6px}
@media (max-width:640px){#fLanc .lanc-tipos{grid-template-columns:repeat(2,minmax(0,1fr))}#fLanc .lb-dest{grid-column:span 12}}

/* Conciliação: lançamento rápido da linha (Lançar · ⇄ transferência · 💰 aplicação) — botões colados */
.cx-rap{display:inline-flex;white-space:nowrap}
.cx-rap .btn{border-radius:0;margin:0}
.cx-rap .btn:first-child{border-radius:var(--irg-raio-ctrl) 0 0 var(--irg-raio-ctrl)}
.cx-rap .btn:last-child{border-radius:0 var(--irg-raio-ctrl) var(--irg-raio-ctrl) 0}
.cx-rap .btn+.btn{margin-left:-1px;padding:0 7px}

/* Portal: links de manual / privacidade / termos (12/10/2026) */
.lg-legal{text-align:center;font-size:var(--irg-fs-xs);color:var(--irg-texto-3);margin-top:10px;text-transform:none}
.lg-legal a{color:var(--irg-marca);font-weight:600}
.pt-hero .pt-manual{margin-left:6px;background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4)}
