/* Seção Projetos. Tudo com prefixo .prj- dentro de .aghtml.prj.
   Redesenho R1 (07/10/2026), pelo rascunho aprovado
   docs/superpowers/mockups/2026-10-07-projetos-redesenho.html:
   cabeçalho branco, trilha em 3 grupos, conteúdo lado a lado,
   tabelas de verdade (nunca .tabela-cartoes-fluida), números grandes
   e campo automático com borda tracejada e a origem escrita. */
.aghtml.prj {
  --pv: #2d6a3e; --pv2: #e8f1ea; --pv3: #1f4d2c; --pt: #1d2b20; --pt2: #5c6b60;
  --pb: #dde4dc; --pbg: #f4f6f2; --pneg: #b3261e; --pouro: #8a6a0d;
  max-width: 1320px; color: var(--pt);
}
.aghtml.prj .neg { color: var(--pneg) !important; }
.aghtml.prj .pos { color: var(--pv); }
.aghtml.prj .aten { color: var(--pouro); }
.prj-mut { color: var(--pt2); font-weight: 400; }
.prj .r, .prj td.r, .prj th.r { text-align: right; }
.prj-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.prj-topo h1 { font-size: 1.4rem; font-weight: 700; margin: 0; }
.prj-sub { color: var(--pt2); font-size: .9rem; margin: 2px 0 0; }

/* Casco do projeto aberto */
.prj-casco { background: #fff; border: 1px solid var(--pb); border-radius: 16px; overflow: hidden; }
.prj-cab { display: flex; align-items: center; gap: 16px; padding: 16px 22px; border-bottom: 1px solid var(--pb); background: #fff; flex-wrap: wrap; }
.aghtml.prj .btn.prj-voltar { background: none; border: 0; color: var(--pv); padding: 0 4px; font-weight: 600; }
.prj-cab-tit { flex: 1 1 320px; min-width: 0; }
.prj-cab-tit h1 { margin: 0; font-size: 1.3rem; font-weight: 700; color: var(--pt); line-height: 1.25; }
.prj-meta { margin: 3px 0 0; color: var(--pt2); font-size: .85rem; overflow-wrap: anywhere; }
.prj-cab-dir { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.prj-selo { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 12px; border-radius: 999px; font-size: .78rem; font-weight: 600; background: var(--pv2); color: var(--pv); white-space: nowrap; }
.prj-selo.cinza { background: #eef0ec; color: #4b574e; }
.prj-selo-ok { background: var(--pv2); color: var(--pv); }
.prj-selo-nao { background: #fbeaea; color: var(--pneg); }
.prj-lay { display: grid; grid-template-columns: 212px minmax(0, 1fr); align-items: stretch; }
.prj-trilha { display: flex; flex-direction: column; border-right: 1px solid var(--pb); padding: 10px 0 16px; background: #fbfcfa; }
.prj-grp { padding: 14px 16px 4px; font-size: .7rem; font-weight: 700; color: var(--pt2); text-transform: uppercase; letter-spacing: .06em; }
.prj-et { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 6px 14px; text-align: left; background: none; border: 0; border-left: 3px solid transparent; font-size: .9rem; color: var(--pt); cursor: pointer; font-family: inherit; }
.prj-et:hover { background: var(--pv2); }
.prj-et.on { background: var(--pv2); border-left-color: var(--pv); font-weight: 700; }
.prj-et:focus-visible { outline: 2px solid var(--pv); outline-offset: -2px; }
.prj-n { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; border: 1px solid #b9c4bb; color: var(--pt2); font-weight: 600; }
.prj-n.ok { background: var(--pv); border-color: var(--pv); color: #fff; }
.prj-n.falta { background: var(--pouro); border-color: var(--pouro); color: #fff; }
.prj-corpo { min-width: 0; padding: 20px 20px 28px; }
.prj-corpo h2 { font-size: 1.1rem; font-weight: 700; margin: 0 0 4px; color: var(--pt); }
.prj-tit { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.prj-tit > div:first-child { flex: 1 1 360px; min-width: 0; }
.prj-tit .prj-acoes { margin-top: 0; }
.prj-frase { color: var(--pt2); margin: 0 0 12px; }
.prj-abre { font-size: 1.05rem; line-height: 1.55; margin: 0 0 16px; color: var(--pt); }
.prj-abre b { color: var(--pv3); }
.prj-dica { font-size: .82rem; color: var(--pt2); margin: 10px 0 0; }
.prj-dica b { color: var(--pt); }
.prj-link { background: none; border: 0; padding: 0; color: var(--pv); text-decoration: underline; cursor: pointer; font: inherit; min-height: 32px; }
.prj-aviso { border: 1px solid #f0d78a; background: #fff8e1; border-radius: 12px; padding: 10px 14px; margin-bottom: 14px; font-size: .9rem; }
.prj-aviso ul { margin: 4px 0 0; padding-left: 18px; }

/* Números grandes */
.prj-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.prj-kpis.prj-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.prj-k { border: 1px solid var(--pb); border-radius: 12px; padding: 12px 14px; background: #fff; min-width: 0; }
.prj-k > span { display: block; color: var(--pt2); font-size: .78rem; }
.prj-k > b { display: block; font-size: 1.4rem; margin-top: 4px; font-variant-numeric: tabular-nums; line-height: 1.2; white-space: nowrap; }
.prj-k > small { display: block; color: var(--pt2); font-size: .78rem; margin-top: 2px; }
.prj-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.prj-num-card { border: 1px solid var(--pb); border-radius: 12px; padding: 12px 14px; background: #fff; }
.prj-num-card span { display: block; font-size: .78rem; color: var(--pt2); }
.prj-num-card b { display: block; font-size: 1.35rem; margin-top: 4px; font-variant-numeric: tabular-nums; }
.prj-num-card b.neg { color: var(--pneg); }

/* Cartões e lado a lado */
.prj-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; align-items: start; }
.prj-duas > * { margin-bottom: 0 !important; min-width: 0; }
.prj-cartao { border: 1px solid var(--pb); border-radius: 12px; padding: 14px 16px; background: #fff; margin-bottom: 16px; min-width: 0; }
.prj-cartao h3 { margin: 0 0 12px; font-size: .95rem; font-weight: 700; display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.prj-cartao h3 .prj-mut { font-size: .78rem; }
.prj-cartao-tab { padding: 0; overflow: hidden; }
.prj-cartao-tab > h3 { padding: 14px 16px 0; }
.aghtml.prj .card { border-color: var(--pb); border-radius: 12px; box-shadow: none; padding: 0; }
.aghtml.prj .card:hover { box-shadow: none; }
.aghtml.prj .card .head { font-weight: 700; font-size: .95rem; border-bottom: 0; padding: 14px 16px 6px; min-height: 0; }
.aghtml.prj .card .head .prj-mut { font-size: .78rem; }
.aghtml.prj .card .body { padding: 6px 16px 16px; }
table.prj-tab td > .inp { width: 100%; min-width: 76px; max-width: 160px; }
table.prj-tab td > .inp[type="date"], table.prj-tab td > .inp[type="month"] { max-width: 180px; }
.prj-bloco { margin-bottom: 16px; }
.prj-bloco .head { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.prj-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }

/* Campos */
.prj-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 12px 14px; margin-bottom: 14px; }
.prj-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.prj-form .prj-largo { grid-column: 1 / -1; }
.prj-campo { display: flex; flex-direction: column; gap: 4px; font-size: .8rem; color: var(--pt2); min-width: 0; }
.prj-campo .inp, .prj-campo select { font-size: 1rem; min-height: 44px; width: 100%; color: var(--pt); }
.prj-auto-cx { position: relative; display: flex; align-items: center; gap: 8px; }
.prj-auto .inp, .prj-auto select { background: #f2f7f3; border-style: dashed !important; border-color: #9cbfa6 !important; }
.prj-origem { font-style: normal; font-size: .74rem; color: var(--pv); font-weight: 600; }
.prj-origem::before { content: "↳ "; }
.prj-auto-cx > .inp, .prj-auto-cx > select { flex: 1 1 0; min-width: 0; }
.prj-valor { min-height: 44px; display: flex; align-items: center; font-weight: 700; color: var(--pt); font-size: 1rem; }
.prj-num { text-align: right; }
.prj-cel { width: 100%; min-width: 70px; min-height: 40px; font-size: .9rem; }

/* Tabelas de verdade: rolagem só no contêiner */
.prj-rolagem { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.aghtml.prj table.prj-tab, table.prj-tab { width: 100%; border-collapse: collapse; font-size: .85rem; }
.aghtml.prj thead th, table.prj-tab thead th { background: #fafbf9; color: #5c6b60; border-bottom: 1px solid #dde4dc; font-size: .7rem; font-weight: 600; letter-spacing: .04em; padding: 9px 8px; text-transform: uppercase; white-space: nowrap; text-align: left; }
.aghtml.prj thead th.r, table.prj-tab thead th.r { text-align: right; }
table.prj-tab td { padding: 6px 8px; border-bottom: 1px solid #eef1ec; vertical-align: middle; }
table.prj-tab td.r { white-space: nowrap; font-variant-numeric: tabular-nums; }
table.prj-tab tfoot td { font-weight: 700; background: #f2f7f3; color: #1f4d2c; border-bottom: 0; }
table.prj-tab tr.prj-g td { background: #f2f7f3; font-weight: 700; color: #1f4d2c; }
table.prj-tab tr.prj-tot td { background: #e8f1ea; font-weight: 700; font-size: .95rem; }
table.prj-tab td small { display: block; }
.prj-melhor { background: #f0f8f2; }
.prj-vazio { padding: 24px; text-align: center; color: var(--pt2); border: 1px dashed var(--pb); border-radius: 12px; }
.prj-pend { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 6px; }
.prj-pend button { background: none; border: 0; color: var(--pv); text-decoration: underline; cursor: pointer; padding: 0; min-height: 44px; text-align: left; }

/* Lista de projetos */
.prj-lista-safra { margin: 18px 0 8px; font-size: 1rem; font-weight: 700; }
.prj-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 12px; }
.prj-card { border: 1px solid var(--pb); border-radius: 12px; padding: 12px 14px; background: #fff; display: flex; flex-direction: column; gap: 6px; }
.prj-card-tit { font-weight: 700; font-size: 1rem; background: none; border: 0; padding: 0; text-align: left; color: var(--pv); cursor: pointer; min-height: 44px; }
.prj-card dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 0; font-size: .9rem; }
.prj-card dt { color: var(--pt2); }
.prj-card dd { margin: 0; text-align: right; }

/* Resumo: barras, cenários */
.prj-barras { display: flex; flex-direction: column; gap: 8px; }
.prj-barra { display: grid; grid-template-columns: minmax(130px, 1.5fr) minmax(50px, 1.3fr) auto 38px; align-items: center; gap: 10px; font-size: .85rem; }
.prj-barra-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prj-barra .r { font-variant-numeric: tabular-nums; white-space: nowrap; }
.prj-trilho { height: 10px; background: #eef1ec; border-radius: 6px; overflow: hidden; display: block; }
.prj-trilho i { display: block; height: 100%; background: var(--pv); border-radius: 6px; }
.prj-cens { display: flex; align-items: flex-end; gap: 16px; padding: 0 8px; border-bottom: 1px solid var(--pb); position: relative; }
.prj-cen { flex: 1; text-align: center; font-size: .78rem; font-weight: 600; display: flex; flex-direction: column; justify-content: flex-end; }
.prj-cen i { display: block; background: #9cc3a6; border-radius: 6px 6px 0 0; margin-top: 4px; }
.prj-cen.nor i { background: var(--pv); }
.prj-cen.neg i { background: #e6b3ae; }
.prj-cen.neg .prj-cen-v { color: var(--pneg); }
.prj-pe { position: absolute; left: 0; right: 0; border-top: 2px dashed var(--pouro); z-index: 1; pointer-events: none; }
.prj-pe span { position: absolute; right: 4px; top: -19px; font-size: .72rem; color: var(--pouro); font-weight: 700; background: rgba(255, 255, 255, .85); padding: 0 4px; border-radius: 4px; white-space: nowrap; }
.prj-cens-rot { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 6px 8px 0; text-align: center; font-size: .78rem; }

/* Gráficos */
.prj-grafico { position: relative; height: 300px; }
.prj-grafico-baixo { height: 240px; }
.prj-destaque { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; border: 1px solid var(--pb); border-left: 4px solid var(--pv); border-radius: 12px; padding: 10px 14px; margin-bottom: 12px; background: #fff; }
.prj-destaque.neg { border-left-color: var(--pneg); }
.prj-destaque > span:first-child { font-size: .78rem; color: var(--pt2); width: 100%; }
.prj-destaque > b { font-size: 1.15rem; }
.prj-tab-meses { border-collapse: collapse; min-width: 100%; font-size: .82rem; }
.prj-tab-meses th, .prj-tab-meses td { padding: 6px 8px; border-bottom: 1px solid #eef1ec; white-space: nowrap; font-variant-numeric: tabular-nums; }
.prj-tab-meses th:first-child, .prj-tab-meses td:first-child { position: sticky; left: 0; background: #fff; text-align: left; min-width: 150px; white-space: normal; z-index: 1; }
.prj-tab-meses .r { text-align: right; }
.prj-tab-meses tr.prj-tot td { font-weight: 700; background: var(--pv2); }
.prj-tab-meses tr.prj-tot td:first-child { background: var(--pv2); }
.prj-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 4px 14px; margin-bottom: 12px; }

@media (max-width: 1100px) {
  .prj-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prj-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .prj-duas { grid-template-columns: minmax(0, 1fr); }
  .prj-lay { grid-template-columns: minmax(0, 1fr); }
  .prj-trilha { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--pb); padding: 6px; gap: 2px; }
  .prj-grp { display: none; }
  .prj-et { border-left: 0; border-bottom: 3px solid transparent; white-space: nowrap; padding: 6px 12px; }
  .prj-et.on { border-bottom-color: var(--pv); }
  .prj-corpo { padding: 16px 14px 22px; }
  .prj-cab { padding: 14px; }
}
@media (max-width: 560px) {
  .prj-form { grid-template-columns: minmax(0, 1fr); }
  .prj-kpis, .prj-kpis.prj-kpis-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .prj-k > b { font-size: 1rem; }
  .prj-k { padding: 10px; }
  .prj-cab-tit h1 { font-size: 1.1rem; }
  .prj-abre { font-size: .95rem; }
  .prj-barra { grid-template-columns: minmax(0, 1fr) auto 36px; }
  .prj-barra .prj-trilho { grid-column: 1 / -1; grid-row: 2; }
  .prj-cens { gap: 8px; }
  .prj-cens-rot { gap: 8px; }
}

/* Fase 3: conferência da planilha importada (no modal) e faixa da etapa Dados */
.prj-conf h3 { font-size: .95rem; font-weight: 700; margin: 14px 0 6px; }
.prj-conf-ok { color: var(--verde); font-weight: 700; margin: 0 0 8px; }
.prj-conf-falta { color: var(--neg); font-weight: 700; margin: 0 0 8px; }
.prj-conf-tab { width: 100%; border-collapse: collapse; font-size: .9rem; }
.prj-conf-tab th, .prj-conf-tab td { padding: 6px 8px; border-bottom: 1px solid var(--borda); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.prj-conf-tab th.r, .prj-conf-tab td.r { text-align: right; white-space: nowrap; }
.prj-conf-lista, .prj-conf-avisos { margin: 0 0 8px; padding-left: 18px; font-size: .9rem; }
.prj-conf-avisos li { color: #8a6a0d; margin-bottom: 4px; }
.prj-importado { border-left: 3px solid var(--verde); }
@media (max-width: 560px) {
  .prj-conf-tab thead { display: none; }
  .prj-conf-tab tr { display: block; border-bottom: 1px solid var(--borda); padding: 4px 0; }
  .prj-conf-tab td { display: flex; justify-content: space-between; gap: 8px; border: 0; padding: 3px 4px; text-align: right; }
  .prj-conf-tab td::before { content: attr(data-rotulo); color: var(--txt2); text-align: left; }
  .prj-conf-tab td.r { white-space: normal; }
}

/* Fase 4: situação, faixa da versão entregue, cotação e execução */
.prj-casco > .prj-faixa { margin: 12px 22px 0; }
.prj-faixa { border: 1px solid var(--borda); border-left: 4px solid #8a6a0d; border-radius: 12px; padding: 10px 14px; margin-bottom: 12px; background: var(--card); color: var(--txt); }
.prj-faixa button { background: none; border: 0; color: var(--verde); text-decoration: underline; cursor: pointer; padding: 0 4px; min-height: 44px; }
.prj-cot { display: flex; flex-direction: column; gap: 2px; font-size: .85rem; min-width: 150px; }
.prj-cot small, .prj-frase-p { display: block; color: var(--txt2); font-size: .8rem; }
.prj-cot .btn { min-height: 44px; margin-top: 4px; }
.prj-exec tr.prj-mudou td { background: #fff8e6; }
.prj-exec td .btn { min-height: 44px; }

/* Fase 5: listas do modal do Fluxo de Caixa */
.prj-lista-mod { margin: 0 0 4px 18px; padding: 0; font-size: .9rem; overflow-wrap: anywhere; }
.prj-lista-mod li { margin: 2px 0; }

/* Fase 9: laudos de vistoria */
.prj-laudo-editor { margin-top: 8px; }
.prj-laudo-tit { font-size: 1rem; font-weight: 700; margin: 8px 0; }
.prj-laudo-sub { font-size: .9rem; font-weight: 700; margin: 10px 0 6px; }
.prj-laudo-obs { margin-top: 10px; }
.prj-laudo-obs textarea { min-height: 64px; font-size: 1rem; width: 100%; }
.prj-laudo-erros li { color: var(--neg); }

/* Redesenho R1: Dados e imóveis */
.prj-prefixo { white-space: nowrap; color: var(--pt2); font-size: .85rem; }
.prj-outra { margin-top: 6px; }
.prj-chk { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 40px; cursor: pointer; }
.prj-chk input { width: 18px; height: 18px; accent-color: var(--pv); }
table.prj-tab tr.prj-marcado td { background: #f6faf7; }
.prj-sub-tit { font-size: .78rem; font-weight: 700; color: var(--pt2); text-transform: uppercase; letter-spacing: .05em; margin: 14px 0 4px; }
.prj-hist { display: flex; align-items: flex-end; gap: 8px; min-height: 170px; padding-top: 6px; overflow-x: auto; }
.prj-hbar { flex: 1 0 64px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 3px; background: none; border: 0; padding: 4px 2px; border-radius: 8px; cursor: pointer; font: inherit; color: var(--pt); min-height: 44px; }
.prj-hbar:hover { background: var(--pv2); }
.prj-hbar:focus-visible { outline: 2px solid var(--pv); }
.prj-hbar i { display: block; width: 70%; max-width: 54px; background: #b9d4c0; border-radius: 5px 5px 0 0; }
.prj-hbar.top i { background: var(--pv); }
.prj-hv { font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.prj-hsc { font-size: .75rem; color: var(--pv3); font-variant-numeric: tabular-nums; white-space: nowrap; border-top: 1px solid var(--pb); padding-top: 3px; width: 100%; }
.prj-hbar:not(.top) .prj-hsc { color: var(--pt2); }
.prj-hs { font-size: .72rem; color: var(--pt2); }
.prj-det { margin-top: 10px; border-top: 1px solid #eef1ec; padding-top: 6px; }
.prj-det > summary { cursor: pointer; color: var(--pv); font-weight: 600; font-size: .85rem; min-height: 36px; display: flex; align-items: center; }
.prj-croquis { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: 12px; }
.prj-croqui { margin: 0; border: 1px solid var(--pb); border-radius: 10px; overflow: hidden; background: #fbfcfa; }
.prj-croqui figcaption { font-size: .82rem; font-weight: 700; padding: 8px 10px; border-bottom: 1px solid #eef1ec; background: #fff; }
.prj-croqui svg { display: block; width: 100%; height: auto; }
.prj-croqui-vazio { padding: 28px 14px; text-align: center; color: var(--pt2); font-size: .85rem; }

/* Redesenho R1: planilha de Custos */
table.prj-planilha { min-width: 840px; }
table.prj-planilha td { padding: 4px 4px; }
.aghtml.prj table.prj-planilha th { padding-left: 6px; padding-right: 6px; white-space: normal; vertical-align: bottom; }
table.prj-planilha .prj-cel { min-height: 36px; min-width: 58px; padding: 6px 7px; font-size: .88rem; }
table.prj-planilha select.prj-cel { padding: 4px 18px 4px 6px; background-position: right 4px center; }
table.prj-planilha td.prj-c-prod { min-width: 120px; }
table.prj-planilha td.prj-c-prod .prj-cel { min-width: 118px; }
table.prj-planilha td .prj-cel.prj-num[data-prj-col="precoUnit"] { min-width: 78px; }
table.prj-planilha td:last-child { width: 40px; }
table.prj-planilha select.prj-cel[data-prj-col="parcela"] { min-width: 50px; }
table.prj-planilha select.prj-cel[data-prj-col="mes"] { min-width: 64px; }
table.prj-planilha select.prj-cel[data-prj-col="mes"], table.prj-planilha select.prj-cel[data-prj-col="parcela"] { font-size: .82rem; padding: 4px 14px 4px 5px; background-position: right 2px center; }
table.prj-planilha tr.prj-tot td { font-size: .9rem; }
table.prj-planilha td:nth-child(2) select { min-width: 100px; }
.prj-dose { display: flex; gap: 4px; align-items: center; }
.prj-dose .prj-cel { min-width: 56px; }
.prj-dose .prj-un { min-width: 38px; width: 40px; flex: 0 0 40px; padding-left: 5px; padding-right: 5px; }
.prj-un-txt { color: var(--pt2); font-size: .8rem; min-width: 46px; }
table.prj-tab tr.prj-g td { padding-top: 7px; padding-bottom: 7px; }
.prj-g-bt { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: inherit; cursor: pointer; min-height: 32px; display: inline-flex; align-items: center; gap: 6px; text-align: left; }
.prj-g-seta { display: inline-block; width: 14px; color: var(--pv); }
.aghtml.prj .btn.prj-x { min-width: 34px; min-height: 36px; padding: 4px 6px; }
table.prj-tab tr.prj-add td { background: #fbfcfa; }
.prj-add-cx { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .85rem; color: var(--pt2); }
.prj-add-cx select { min-height: 36px; font-size: .88rem; max-width: 260px; }
.prj-corpo h2 .prj-selo { margin-left: 8px; vertical-align: middle; }
.prj-kpis.prj-kpis-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .prj-hbar { flex-basis: 46px; } .prj-hist { gap: 4px; } .prj-hv { font-size: .7rem; } .prj-hsc { font-size: .68rem; } }
@media (max-width: 560px) { .prj-auto-cx { flex-wrap: wrap; } .prj-auto-cx > .inp[type="date"] { flex-basis: 100%; } }

/* ── R2: Cotação em planilha e Compras e entregas ── */
.prj-nowrap { white-space: nowrap; }
.prj-rdc-info { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 14px; }
.prj-rdc-info .prj-frase-p { flex: 1 1 260px; margin: 0; }
.prj-rdc-sel { max-width: 220px; }
.prj-rdc-tab td { vertical-align: top; }
.prj-rdc-tab td .prj-cel { min-width: 110px; }
.prj-rdc-tab td.r { position: relative; min-width: 150px; }
.prj-rdc-tab .prj-rdc-preco { text-align: right; font-variant-numeric: tabular-nums; font-size: .95rem; }
.prj-rdc-sub { display: block; color: var(--pt2, #5c6b60); font-size: .76rem; margin-top: 3px; text-align: right; white-space: normal; }
.prj-rdc-sub .prj-link { font-size: .76rem; min-height: 0; padding: 0; }
.prj-rdc-v { white-space: nowrap; }
.prj-rdc-v .prj-link { font-weight: 700; color: #1d2b20; text-transform: none; letter-spacing: 0; font-size: .82rem; }
.prj-rdc-x { border: 0; background: none; color: #b3261e; font-size: 1rem; line-height: 1; cursor: pointer; padding: 2px 6px; min-width: 28px; min-height: 28px; }
.prj-rdc-best { background: #dff1e4; }
.prj-rdc-best .prj-rdc-preco { font-weight: 700; color: #1f4d2c; border-color: #2d6a3e; }
.prj-rdc-star { position: absolute; left: 6px; top: 12px; color: #2d6a3e; font-weight: 700; }
.prj-rdc-atraso .prj-rdc-preco { color: #b3261e; border-color: #e3a19b; }
.prj-rdc-atraso .prj-rdc-sub b { color: #b3261e; }
.prj-rdc-esc { box-shadow: inset 0 -3px 0 #8a6a0d; }
.prj-rdc-neg { color: #8a6a0d; font-weight: 600; }
table.prj-tab tr.prj-tot td { font-weight: 700; background: #fbfcfa; border-top: 1px solid #dde4dc; }
.prj-cmp-ped { margin-bottom: 16px; }
.prj-cmp-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 14px 16px 8px; }
.prj-cmp-cab h3 { margin: 0; font-size: 1rem; }
.prj-cmp-total { font-size: 1.25rem; font-variant-numeric: tabular-nums; margin-right: auto; }
.prj-cmp-tab td .btn { min-height: 44px; margin: 2px 4px 2px 0; }
.prj-cmp-div { display: inline-block; background: #fdecea; color: #8c1d16; border-radius: 999px; padding: 2px 8px; margin: 2px 4px 2px 0; font-size: .78rem; font-weight: 600; }
.prj-cmp-ok { display: inline-block; background: #e8f1ea; color: #1f4d2c; border-radius: 999px; padding: 2px 8px; font-size: .78rem; font-weight: 600; }
tr.prj-cmp-det td { background: #fbfcfa; padding-top: 2px; }
.prj-cmp-chip { display: inline-flex; align-items: center; gap: 2px; border: 1px solid #dde4dc; border-radius: 8px; padding: 2px 4px 2px 8px; margin: 2px 6px 2px 0; font-size: .8rem; background: #fff; }
tr.prj-cmp-fora td { color: #5c6b60; }
/* Produto fica à vista ao rolar a planilha para os lados. */
.prj-rdc-tab th:first-child, .prj-rdc-tab td:first-child { position: sticky; left: 0; background: #fff; z-index: 1; min-width: 150px; }
.prj-rdc-tab thead th:first-child { background: #fafbf9; z-index: 2; }
.prj-rdc-tab tr.prj-tot td:first-child { background: #fbfcfa; }

/* Cartão "Seu agrônomo" abaixo da lista de projetos: respiro entre ele e os cartões dos projetos. */
.aghtml.prj .ctd-cartao { margin-top: 24px; }

/* Cotação refeita para o produtor (07/10/2026): passo a passo,
   resultado numa frase, revendas comparadas e ofertas em cartões. */
.prj .rdc-de { margin: -4px 0 12px; }
.prj .rdc-passos { list-style: none; margin: 0 0 16px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.prj .rdc-passos li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--pb); border-radius: 12px; background: #fff; min-width: 0; }
.prj .rdc-passos li b { display: block; font-size: .9rem; }
.prj .rdc-passos li small { display: block; color: var(--pt2); font-size: .78rem; margin-top: 2px; }
.prj .rdc-passos li.ok { background: var(--pv2); border-color: #c8dccd; }
.prj .rdc-passos li.agora { border: 2px solid var(--pv); box-shadow: 0 2px 8px rgba(45,106,62,.12); }
.prj .rdc-pn { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; border: 1px solid #b9c4bb; color: var(--pt2); background: #fff; }
.prj .rdc-passos li.ok .rdc-pn { background: var(--pv); border-color: var(--pv); color: #fff; }
.prj .rdc-passos li.agora .rdc-pn { border-color: var(--pv); color: var(--pv); }
.prj .rdc-pb { margin-top: 8px; }
.prj .rdc-pb .btn { width: 100%; min-height: 40px; }
.prj .rdc-hero { border: 1px solid #c8dccd; background: linear-gradient(180deg, #f2f8f3, #fff); border-radius: 14px; padding: 16px 20px; margin-bottom: 16px; }
.prj .rdc-hero > p { margin: 0; font-size: 1.12rem; line-height: 1.55; max-width: 980px; }
.prj .rdc-hero b { font-variant-numeric: tabular-nums; }
.prj .rdc-alerta { margin: 10px 0 0 !important; font-size: .9rem !important; color: var(--pneg); background: #fbeaea; border-radius: 8px; padding: 8px 12px; }
.prj .rdc-como { margin-top: 10px; font-size: .88rem; color: var(--pt2); }
.prj .rdc-como summary { cursor: pointer; color: var(--pv); font-weight: 600; min-height: 32px; display: inline-flex; align-items: center; }
.prj .rdc-como p { margin: 6px 0 0; max-width: 880px; line-height: 1.5; }
.prj .rdc-bloco { border: 1px solid var(--pb); border-radius: 14px; background: #fff; margin-bottom: 16px; overflow: hidden; }
.prj .rdc-bloco-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 14px 18px; border-bottom: 1px solid var(--pb); background: #fbfcfa; }
.prj .rdc-bloco-cab h3 { margin: 0; font-size: 1rem; font-weight: 700; }
.prj .rdc-bloco-cab > small { color: var(--pt2); font-size: .82rem; flex: 1 1 240px; }
.prj .rdc-bloco-cab > .prj-acoes { margin-left: auto; }
.prj .rdc-revs { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; padding: 14px 18px; }
.prj .rdc-rev { border: 1px solid var(--pb); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.prj .rdc-rev.destaque { border-color: var(--pv); box-shadow: inset 0 0 0 1px var(--pv); }
.prj .rdc-rev-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.prj .rdc-rev-cab b { font-size: .95rem; overflow-wrap: anywhere; }
.prj .rdc-rev > small { color: var(--pt2); font-size: .78rem; }
.prj .rdc-barra { height: 8px; border-radius: 99px; background: #eef1ec; overflow: hidden; }
.prj .rdc-barra span { display: block; height: 100%; background: var(--pv); border-radius: 99px; }
.prj .rdc-rev-num b { display: block; font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.prj .rdc-rev-num small { color: var(--pt2); font-size: .78rem; }
.prj .rdc-rev-ganha { font-size: .82rem; }
.prj .rdc-rev-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 2px; }
.prj .rdc-rev-acoes small { color: var(--pt2); font-size: .76rem; flex: 1 1 100%; overflow-wrap: anywhere; }
.prj .rdc-tag { display: inline-flex; align-items: center; padding: 1px 8px; border-radius: 99px; font-size: .7rem; font-weight: 700; background: #eef1ec; color: #3d4a40; white-space: nowrap; }
.prj .rdc-tag.verde { background: var(--pv); color: #fff; }
.prj .rdc-tag.ouro { background: #f6eed6; color: var(--pouro); }
.prj .rdc-filtros { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; flex: 1 1 100%; margin-top: 6px; }
.prj .rdc-fil { min-height: 36px; padding: 4px 14px; border-radius: 99px; border: 1px solid var(--pb); background: #fff; font: inherit; font-size: .84rem; cursor: pointer; color: var(--pt); }
.prj .rdc-fil.on { background: var(--pt); border-color: var(--pt); color: #fff; }
.prj .rdc-filtros .btn { margin-left: auto; }
.prj .rdc-prod { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'info res' 'ofs ofs'; gap: 10px 16px; padding: 14px 18px; border-bottom: 1px solid #edf0ea; align-items: start; }
.prj .rdc-prod-info { grid-area: info; }
.prj .rdc-ofs { grid-area: ofs; }
.prj .rdc-prod-res { grid-area: res; }
.prj .rdc-prod:last-child { border-bottom: 0; }
.prj .rdc-prod-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: .82rem; }
.prj .rdc-prod-nome { font-size: .98rem; overflow-wrap: anywhere; }
.prj .rdc-marca { color: var(--pouro); font-size: .76rem; }
.prj .rdc-prod-acoes { display: flex; gap: 12px; margin-top: 2px; }
.prj .rdc-ofs { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.prj .rdc-of { position: relative; flex: 1 1 200px; max-width: 280px; min-width: 170px; border: 1px solid var(--pb); border-radius: 12px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.prj .rdc-of:hover { border-color: var(--pv); }
.prj .rdc-of.esc { border: 2px solid var(--pv); background: #f2f8f3; }
.prj .rdc-of.atrasada { border-style: dashed; border-color: #e3a19b; }
.prj .rdc-of.vazia { border-style: dashed; background: #fbfcfa; }
.prj .rdc-of-esc { display: flex; flex-direction: column; gap: 2px; width: 100%; padding: 10px 12px 22px; border: 0; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; border-radius: 12px; min-height: 44px; }
.prj .rdc-of-esc:focus-visible { outline: 2px solid var(--pv); outline-offset: 2px; }
.prj .rdc-of-nome { font-size: .8rem; font-weight: 700; color: var(--pt2); overflow-wrap: anywhere; }
.prj .rdc-of-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.prj .rdc-of-preco { font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; margin-top: 2px; }
.prj .rdc-of.esc .rdc-of-preco { color: var(--pv3); }
.prj .rdc-of-preco small { font-size: .78rem; font-weight: 400; color: var(--pt2); margin-left: 2px; }
.prj .rdc-of-tot { font-size: .78rem; color: var(--pt2); font-variant-numeric: tabular-nums; }
.prj .rdc-of-l { font-size: .76rem; color: var(--pt2); }
.prj .rdc-of-hoje { white-space: nowrap; }
.prj .rdc-of-sem { font-size: .95rem; color: var(--pt2); margin-top: 4px; }
.prj .rdc-of.vazia .rdc-of-l { color: var(--pv); font-weight: 600; }
.prj .rdc-of-marca { margin: 0; padding: 0 12px 24px; font-size: .76rem; }
.prj .rdc-of-ed { position: absolute; right: 8px; bottom: 4px; border: 0; background: none; color: var(--pv); font: inherit; font-size: .74rem; text-decoration: underline; cursor: pointer; padding: 2px 4px; }
.prj .rdc-prod-res { text-align: right; display: flex; flex-direction: column; gap: 2px; align-items: flex-end; }
.prj .rdc-prod-res b { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.prj .rdc-prod-res small { font-size: .76rem; }
.prj .rdc-fim { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; border: 1px solid var(--pb); border-radius: 14px; padding: 14px 18px; background: #fbfcfa; margin: 16px 0 12px; }
.prj .rdc-fim > div:first-child { flex: 1 1 320px; }
.prj .rdc-fim small { display: block; color: var(--pt2); font-size: .82rem; margin-top: 2px; }
.prj .rdc-mais summary { cursor: pointer; color: var(--pt2); font-size: .86rem; min-height: 36px; display: inline-flex; align-items: center; }
.prj .rdc-mais-c { display: flex; flex-direction: column; gap: 10px; padding: 8px 0; }
@media (max-width: 760px) {
  .prj .rdc-passos { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .prj .rdc-passos li { padding: 6px 10px; }
  .prj .rdc-passos li.ok small { display: none; }
  .prj .rdc-prod { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'info' 'res' 'ofs'; gap: 8px; }
  .prj .rdc-prod-res { text-align: left; align-items: flex-start; }
  .prj .rdc-of { flex: 1 1 100%; max-width: none; }
  .prj .rdc-hero > p { font-size: 1rem; }
  .prj .rdc-filtros .btn { margin-left: 0; }
}

.aghtml.prj .rdc-demo { align-self:flex-start; white-space:nowrap; font-size:.85rem; min-height:44px; display:inline-flex; align-items:center; }

/* Cotação: duas condições, frete de retirada, lista de compras (07/10/2026) */
.prj .rdc-param { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-bottom: 12px; }
.prj .rdc-pc { border: 1px solid var(--pb); border-radius: 12px; padding: 12px 14px; background: #fff; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.prj .rdc-pc > span { color: var(--pt2); font-size: .78rem; }
.prj .rdc-pc > b { font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.prj .rdc-pc > small { color: var(--pt2); font-size: .76rem; overflow-wrap: anywhere; }
.prj .rdc-pc .prj-link { align-self: flex-start; min-height: 44px; display: inline-flex; align-items: center; }
.prj .rdc-ganho { margin: 0 0 14px; font-size: .95rem; color: var(--pv3); }
.prj .rdc-of-topo { padding: 10px 12px 2px; min-height: 44px; }
.prj .rdc-of-base { padding: 6px 12px 28px; min-height: 44px; gap: 3px; }
.prj .rdc-pos { font-style: normal; font-weight: 400; color: #76807a; font-size: .72rem; margin-left: 4px; }
.prj .rdc-dois { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px 10px; }
.prj .rdc-pp { display: flex; flex-direction: column; gap: 1px; text-align: left; font: inherit; color: inherit; min-height: 44px; border-radius: 8px; padding: 4px 8px; background: #f6f8f5; border: 1px solid transparent; }
.prj .rdc-pp small { font-size: .66rem; color: var(--pt2); }
.prj .rdc-pp b { font-size: .95rem; font-variant-numeric: tabular-nums; }
.prj button.rdc-pp { cursor: pointer; }
.prj button.rdc-pp:hover { border-color: var(--pv); }
.prj .rdc-pp.ganha { background: #e3f2e7; outline: 2px solid var(--pv); }
.prj .rdc-pp.vazio { color: #a3aca5; border-style: dashed; border-color: #dfe5dd; }
.prj .rdc-pp .rdc-vh { color: var(--pv3); }
.prj .rdc-ent { font-size: .74rem; color: var(--pt2); }
.prj .rdc-ent.ret { color: #1f5f8b; }
.prj .rdc-av { font-size: .72rem; color: var(--pouro); }
.prj .rdc-cf { font-size: .76rem; border-top: 1px dashed #dfe5dd; padding-top: 4px; margin-top: 2px; }
.prj .rdc-cf b { font-variant-numeric: tabular-nums; }
.prj .rdc-tag.azul { background: #e6f0f8; color: #1f5f8b; }
.prj .rdc-pend { margin: 0; padding: 4px 12px 26px; font-size: .76rem; color: var(--pouro); }
.prj .rdc-ofs-rod { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; font-size: .8rem; }
.prj .rdc-ofs-rod .prj-link { min-height: 44px; display: inline-flex; align-items: center; }
.prj .rdc-forns { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 12px; padding: 14px 18px; }
.prj .rdc-forn { border: 1px solid var(--pb); border-radius: 12px; overflow: hidden; min-width: 0; }
.prj .rdc-forn-cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 10px 14px; background: #fafbf9; border-bottom: 1px solid var(--pb); }
.prj .rdc-forn-cab b { overflow-wrap: anywhere; }
.prj .rdc-forn-cab span { font-variant-numeric: tabular-nums; font-weight: 700; }
.prj .rdc-blk { border-top: 1px solid #edf0ea; }
.prj .rdc-blk:first-of-type { border-top: 0; }
.prj .rdc-blk-cab { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 14px 4px; }
.prj .rdc-blk-rod { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 6px 14px 10px; font-size: .84rem; }
.prj .rdc-blk-rod span { color: var(--pt2); }
.prj .rdc-cal { padding: 4px 18px 16px; }
.prj .rdc-cal h4 { margin: 8px 0 2px; font-size: .95rem; }
.prj .rdc-cal p { margin: 0 0 8px; font-size: .82rem; }
.prj .rdc-barras { display: flex; align-items: flex-end; gap: 8px; height: 130px; border-bottom: 1px solid var(--pb); padding: 0 4px; min-width: 100%; width: max-content; }
.prj .rdc-bar { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 56px; }
.prj .rdc-bar .b { width: 100%; max-width: 44px; background: var(--pv); border-radius: 6px 6px 0 0; }
.prj .rdc-bar small { font-size: .68rem; color: var(--pt2); margin-top: 3px; white-space: nowrap; }
.prj .rdc-bar em { font-style: normal; font-size: .68rem; font-weight: 700; margin-bottom: 2px; white-space: nowrap; }
@media (max-width: 760px) {
  .prj .rdc-forns { grid-template-columns: minmax(0, 1fr); padding: 12px; }
  .prj .rdc-cal { padding: 4px 12px 14px; }
}
.prj .rdc-of { max-width: 330px; flex: 1 1 240px; }
@media (max-width: 760px) { .prj .rdc-of { max-width: none; flex: 1 1 100%; } }

/* Abas da tela inicial do Projetos (07/10/2026) e selos lado a lado. */
.prj-abas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.prj-selos { display: flex; flex-wrap: wrap; gap: 6px; }

/* "Como está indo" no cartão do orçamento (ligação com o Plano da Safra, 08/10/2026) */
.aghtml.prj .prj-comovai { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: .85rem; color: #3d443d; background: #f6f7f4; border-radius: 8px; padding: 8px 10px; margin: 6px 0 10px; }
.aghtml.prj .prj-comovai .prj-selo.neg { background: #fbe6e4; color: #b3261e; }
.aghtml.prj .prj-comovai .prj-link { min-height: 44px; }

/* Orçamento aberto dentro do Projetos (08/10/2026): o mesmo recuo do
   cabeçalho, e sem o "Voltar aos orçamentos" do Planejamento antigo, que
   repete o "← Projetos" do cabeçalho. */
.prj-orc-host { padding: 20px 22px; }
.prj-orc-host [data-gen-voltar], .prj-orc-host [data-plan-voltar], .prj-orc-host [data-pec-voltar] { display: none; }
.prj-orc-host [data-gen-duplicar], .prj-orc-host [data-plan-duplicar], .prj-orc-host [data-pec-duplicar] { margin-left: 0 !important; }
.prj-orc-host [data-gen-apagar], .prj-orc-host [data-plan-apagar], .prj-orc-host [data-pec-apagar] { margin-left: 8px !important; }
@media (max-width: 640px) { .prj-orc-host { padding: 14px; } }

/* Caixa "Banco" da tabela de custos (o banco financia este item) */
table.prj-tab td.c, table.prj-tab th.c { text-align: center; }
table.prj-tab td.c input[type="checkbox"] { width: 20px; height: 20px; accent-color: #2f6b34; cursor: pointer; }

/* Modelos de planilha das instituições (09/10/2026) */
.prj .mdl-aviso { color: #8a6a0d; }
.prj .mdl-msg { font-weight: 600; }
.prj .mdl-dados { margin-bottom: 12px; }
.prj .mdl-lay { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .prj .mdl-lay { grid-template-columns: minmax(0, 1fr); } }
.prj .mdl-campos { max-height: 560px; overflow: auto; padding: 0 12px 12px; }
.prj .mdl-cp { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; padding: 8px 0; border-bottom: 1px solid var(--pb); align-items: center; }
.prj .mdl-cp-n { font-weight: 600; }
.prj .mdl-cp-c { grid-column: 1; font-size: .8rem; color: var(--pt2); }
.prj .mdl-cp-b { grid-column: 2; grid-row: 1 / span 2; display: flex; gap: 4px; }
.prj .mdl-cp-ok .mdl-cp-c { color: #2f6b34; }
.prj .mdl-cp-ativo { background: #fff7db; }
.prj .mdl-grade { max-height: 560px; overflow: auto; border: 1px solid var(--pb); border-radius: 8px; background: #fff; }
.prj .mdl-escolhendo .mdl-c { cursor: crosshair; }
.prj .mdl-g { border-collapse: collapse; font-size: .8rem; }
.prj .mdl-g th { position: sticky; top: 0; background: #eef1ea; color: var(--pt2); font-weight: 600; padding: 4px 8px; border: 1px solid var(--pb); z-index: 1; }
.prj .mdl-g th.mdl-n { position: sticky; left: 0; z-index: 2; min-width: 38px; }
.prj .mdl-c { min-width: 84px; max-width: 200px; padding: 4px 8px; border: 1px solid #e3e7de; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: top; }
.prj .mdl-c:hover { background: #f4f7ef; }
.prj .mdl-c-campo { background: #dff0e2; border-color: #2f6b34; }
.prj .mdl-c-tab { background: #fdf3cf; }
.prj .mdl-tag { display: block; font-style: normal; font-size: .68rem; font-weight: 700; color: #2f6b34; }
.prj .mdl-tabela { margin-bottom: 16px; }
.prj .mdl-tabela h3 { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.prj .mdl-tab-cab, .prj .mdl-tab-cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 10px; }
