@import url("fardos.css");
@import url("aco.css");
/* Sistema PIR - mesmas cores das telas do SOFMan (20/10/2026: "telas modernas, sem o aspecto de planilha") */
:root {
  --topo: #1E293B; --topo-txt: #FFFFFF; --topo-leg: #94A3B8;
  --barra: #F1F5F9; --borda: #CBD5E1; --fundo: #FFFFFF; --txt: #0F172A; --quieto: #5A5A5A;
  --cab: #0070C0; --g1: #FFE699; --g2: #BDD7EE; --data: #FFF2CC; --total: #003366;
  --rea: #16A34A; --erro: #C00000;
}
* { box-sizing: border-box; }
body { margin: 0; font: 13px "Segoe UI", Calibri, Arial, sans-serif; color: var(--txt); background: var(--fundo); }
.topo { background: var(--topo); color: var(--topo-txt); display: flex; flex-wrap: wrap; align-items: center;
        gap: 12px; padding: 10px 16px; }
.topo h1 { margin: 0; font: 600 20px "Segoe UI Semibold", "Segoe UI", sans-serif; }
.topo p { margin: 2px 0 0; color: var(--topo-leg); font-size: 12px; max-width: 760px; }
.topo nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 4px; }
.nav { display: inline-block; min-width: 92px; text-align: center; padding: 5px 8px; border-radius: 5px;
       background: #334155; color: #fff; text-decoration: none; font: 600 12px "Segoe UI", sans-serif; }
.nav.atual { background: #3B82F6; }
.nav.off { opacity: .45; cursor: not-allowed; }
.barra { background: var(--barra); border-bottom: 1px solid var(--borda); padding: 6px 16px;
         display: flex; flex-wrap: wrap; gap: 7px; }
.btn { display: inline-block; padding: 6px 12px; border-radius: 5px; color: #fff; text-decoration: none;
       font: 600 12px "Segoe UI", sans-serif; white-space: nowrap; }
.btn.off { opacity: .4; cursor: not-allowed; }
.copia { background: #FEF3C7; border-bottom: 1px solid #F59E0B; padding: 6px 16px; font-size: 12px; }
main { padding: 8px 16px 32px; }
.total { color: var(--total); padding: 6px 0 8px; }
.total .sep { margin: 0 6px; }
.total .tipo { margin-left: 22px; font-weight: 600; }
.tabela { overflow-x: auto; }
table.agu { border-collapse: collapse; min-width: 1400px; }
.agu th { background: var(--cab); color: #fff; font-weight: 700; padding: 6px 6px; border: 1px solid #fff;
          white-space: normal; position: sticky; top: 0; }
.agu th.th-erro { background: var(--erro); }
.agu td { border: 1px solid #C8C8C8; padding: 4px 6px; vertical-align: middle; }
.agu td.ped { text-align: center; }
.agu td.ped.lembrete { background: #FFFF00; color: var(--erro); font-weight: 700; cursor: help; }
.agu td.cli { min-width: 300px; }
.agu td.aco { font-weight: 700; min-width: 150px; }
.agu td.n { text-align: right; }
.agu td.c { text-align: center; }
.agu td.calc { color: var(--quieto); }
.agu td.data { background: var(--data); min-width: 80px; }
.agu td.grupo { font-weight: 700; text-align: center; white-space: nowrap; }
.agu td.g1 { background: var(--g1); }
.agu td.g2 { background: var(--g2); }
.agu td.rea { color: var(--rea); font-weight: 700; text-align: center; white-space: nowrap; }
.agu td.vazio { font-style: italic; color: #808080; padding: 10px; }
.agu tbody tr:hover td { outline: 1px solid #94A3B8; }
.erro { border: 2px solid var(--erro); border-radius: 8px; padding: 12px 16px; max-width: 900px; }
.erro h2 { color: var(--erro); margin: 0 0 8px; font-size: 16px; }
.erro pre { white-space: pre-wrap; margin: 0; font: 13px Consolas, monospace; }
/* 04/11/2026: gravações */
button.btn { border: 0; cursor: pointer; }
button.btn:hover, a.btn:hover { filter: brightness(1.08); }
.nsel { align-self: center; font-weight: 600; color: #334155; margin-left: 6px; }
.agu th.marca, .agu td.marca { width: 28px; text-align: center; cursor: pointer; }
.agu td.ped a { color: inherit; text-decoration: none; font-weight: 600; }
.agu td.ped a:hover { text-decoration: underline; }
.agu td.data { padding: 0; }
.agu input.dp { width: 92px; border: 0; background: transparent; padding: 4px 6px; font: inherit; text-align: center; }
.agu input.dp:focus { outline: 2px solid #CA8A04; background: #fff; }
.agu tr:has(input[name=sel]:checked) td:not(.aco):not(.grupo) { background-color: #DBEAFE; }
.msg { border-radius: 8px; padding: 8px 12px; margin: 4px 0 10px; border: 1px solid; }
.msg ul { margin: 4px 0 0 18px; padding: 0; }
.msg.ok { background: #DCFCE7; border-color: #16A34A; }
.msg.aviso { background: #FEF3C7; border-color: #D97706; }
.msg.erro { background: #FEE2E2; border-color: #C00000; }
.colar { border: 1px solid var(--borda); border-radius: 8px; padding: 6px 10px; margin: 4px 0 8px; background: #F8FAFC; }
.colar summary { cursor: pointer; font-weight: 600; color: #0F766E; }
.colar textarea { width: 100%; margin-top: 6px; font: 12px Consolas, monospace; tab-size: 14; }
.colar-pe { display: flex; gap: 10px; align-items: center; margin-top: 6px; font-size: 12px; color: #475569; flex-wrap: wrap; }
.ficha th { text-align: left; padding: 5px 12px 5px 0; color: #334155; font-weight: 600; }
.ficha td { padding: 4px 0; }
.ficha input { font: inherit; padding: 4px 6px; border: 1px solid var(--borda); border-radius: 4px; }
.nota { color: #475569; font-size: 12px; max-width: 640px; }
/* 04/11/2026: quadro da O.P. + reaproveitamento */
.agu td.cli a { color: inherit; text-decoration: none; }
.agu td.cli a:hover { text-decoration: underline; color: #1E40AF; }
.agu td.cli.aberto { outline: 2px solid #1E40AF; outline-offset: -2px; }
.divide { display: block; }
/* 10/11/2026 (Rogerio): quadro da O.P. maior - mais largo, letra maior, até o fim da tela */
.quadro { position: fixed; right: 14px; top: 200px; width: min(680px, 48vw); height: calc(100vh - 214px); overflow: auto;
          z-index: 20; border: 1.5px solid #003366; border-radius: 8px; padding: 12px 16px; background: #fff;
          box-shadow: 0 6px 24px rgba(0,0,0,.22); font-size: 14px; }
.q-topo { display: flex; justify-content: space-between; margin-bottom: 8px; }
.quadro h3 { margin: 0; color: #003366; font-size: 17px; }
.quadro h4 { margin: 14px 0 6px; font-size: 14px; color: #334155; }
.q-sub { margin: 2px 0 8px; color: #334155; }
.q-cum { background: #FFF3C4; border: 1px solid #F59E0B; border-radius: 6px; padding: 6px 8px; margin: 6px 0; font-family: Consolas, monospace; }
.q-info { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 6px 0; }
.q-info dt { color: #475569; font-weight: 600; } .q-info dd { margin: 0; }
.quadro table { border-collapse: collapse; width: 100%; font-family: Consolas, monospace; font-size: 13.5px; }
.quadro th { background: #334155; color: #fff; padding: 5px 7px; text-align: left; }
.quadro td { border-bottom: 1px solid #E2E8F0; padding: 4px 7px; }
.quadro td.n { text-align: right; }
.quadro tfoot td { font-weight: 700; border-top: 1.5px solid #334155; }
.q-hist tr.forn td { color: #64748B; border-bottom: 1px solid #CBD5E1; }
.q-sem { color: #B45309; font-weight: 600; }
.q-falta { color: #C00000; font-size: 13px; }
table.rea { border-collapse: collapse; }
.rea th { background: #334155; color: #fff; padding: 6px 8px; }
.rea td { border: 1px solid #CBD5E1; padding: 0; }
.rea input { border: 0; padding: 4px 6px; font: inherit; width: 150px; background: transparent; }
.rea input.c { width: 110px; text-align: center; } .rea input.b { font-weight: 700; width: 60px; }
.rea input.obs { width: 420px; color: #B45309; }
.rea input:focus { outline: 2px solid #16A34A; background: #fff; }
@media (max-width: 700px) { .quadro { position: static; width: 100%; max-height: none; height: auto; } }
/* 04/11/2026: O.P. MANUAL */
.opm-cab { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px 14px; max-width: 1100px; margin: 6px 0 12px; }
.opm-cab label { display: flex; flex-direction: column; font: 600 11px "Segoe UI", sans-serif; color: #334155; gap: 3px; }
.opm-cab label.larga { grid-column: span 2; }
.opm-cab input, .opm-cab select { font: 600 13px "Segoe UI", sans-serif; padding: 5px 7px; border: 1px solid #94A3B8; border-radius: 4px; }
.opm-cab small { font-weight: 400; color: #64748B; }
table.opm-grade { border-collapse: collapse; }
.opm-grade th { background: #334155; color: #fff; padding: 6px 8px; font-weight: 600; }
.opm-grade td { border: 1px solid #CBD5E1; padding: 0 4px; text-align: center; }
.opm-grade td.m2 { color: #475569; min-width: 90px; }
.opm-grade input { border: 0; width: 110px; text-align: center; font: 600 13px "Segoe UI", sans-serif; padding: 3px; background: transparent; }
.opm-grade input.obs { width: 460px; text-align: left; font-weight: 400; }
.opm-grade input:focus { outline: 2px solid #2563EB; background: #fff; }
.opm-grade tfoot td { font-weight: 700; background: #E2E8F0; padding: 4px; }
/* 04/11/2026: IMPORTAR PDF */
ul.pdfs { columns: 3; font-family: Consolas, monospace; font-size: 12px; }
pre.relatorio { background: #0F172A; color: #E2E8F0; padding: 10px 12px; border-radius: 8px; font: 12px Consolas, monospace;
                white-space: pre-wrap; max-height: 60vh; overflow: auto; }
/* 05/11/2026: LEMBRETES */
.lemb-novo { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; background: #FEF9C3; border: 1px solid #CA8A04;
             border-radius: 8px; padding: 10px 12px; margin: 6px 0 14px; max-width: 1200px; }
.lemb-novo label { display: flex; flex-direction: column; font: 600 11px "Segoe UI", sans-serif; color: #334155; gap: 3px; }
.lemb-novo label.larga { flex: 1 1 380px; }
.lemb-novo input, .lemb-novo select { font: 13px "Segoe UI", sans-serif; padding: 5px 7px; border: 1px solid #94A3B8; border-radius: 4px; }
table.lemb { border-collapse: collapse; min-width: 800px; }
.lemb th { background: #334155; color: #fff; padding: 5px 8px; text-align: left; }
.lemb td { border-bottom: 1px solid #E2E8F0; padding: 4px 8px; vertical-align: middle; }
.lemb td.c { text-align: center; }
.btn.mini { padding: 3px 9px; font-size: 11px; }
.q-lemb { background: #FFFF00; color: #C00000; border-radius: 6px; padding: 6px 8px; margin: 6px 0; font-weight: 600; }
/* 05/11/2026: SEQUÊNCIA */
h3.secao { background: #E2E8F0; border-bottom: 2px solid #64748B; margin: 10px 0 0; padding: 6px 10px; font: 600 14px "Segoe UI", sans-serif; }
h3.secao.mod { background: #DCFCE7; margin-top: 18px; }
h3.secao small { font-weight: 400; color: #475569; }
.tot-mod { text-align: right; font-weight: 700; color: #375623; padding: 4px 0; max-width: 1560px; }
table.seq { min-width: 1500px; }
.seq td.b { font-weight: 700; }
.seq td.t-filme { background: #DAE3F3; } .seq td.t-painel { background: #E2EFDA; }
.seq td.atrasado { color: #C00000; }
.seq td.ped { font-weight: 700; text-align: center; }
.seq td.ped.encaixe, .seq td.setup.roxo { color: #7030A0; font-weight: 700; }
.seq td.setup { font-weight: 600; color: #334155; min-width: 260px; }
.ponto { font-size: 15px; } .ponto.laranja { color: #EA580C; } .ponto.verde { color: #16A34A; }
.seq th.num { background: #F59E0B; } .seq td.num { background: #FFF2CC; padding: 0; }
.seq input.nx { width: 42px; border: 0; background: transparent; text-align: center; font: 700 14px "Segoe UI"; color: #006100; }
form.maq { margin-left: auto; display: flex; align-items: center; gap: 6px; font: 700 12px "Segoe UI"; color: #334155; }
form.maq select { font: 700 12px "Segoe UI"; padding: 4px; background: #FFF2CC; border: 1px solid #BF8F00; border-radius: 4px; }
/* 05/11/2026: PCP */
table.pcp-res { border-collapse: collapse; float: right; margin: 0 0 8px 12px; font-size: 12px; }
.pcp-res th { background: #334155; color: #fff; padding: 3px 10px; } .pcp-res td { border: 1px solid #CBD5E1; padding: 2px 10px; text-align: center; }
.pcp-res td.pend { color: #0070C0; font-weight: 700; } .pcp-res td.fin { color: #FF0000; font-weight: 700; } .pcp-res tr.tot td { font-weight: 700; }
table.pcp { min-width: 1450px; margin: 14px 0 6px; clear: none; }
.pcp tr.dia th { background: #DBEAFE; color: #1E293B; border: 0; border-bottom: 2px solid #64748B; font: 700 13px "Segoe UI", sans-serif; }
.pcp th.dia-d { font-size: 15px; } .pcp th.dia-t { text-align: right; } .pcp th.dia-p { text-align: left; font-size: 11px; color: #334155; }
.pcp td.ped { font-weight: 700; text-align: center; } .pcp td.ped.cumeeira { background: #FFC000; color: #000; }
.pcp td.ped.encaixe { color: #7030A0; }
.pcp td.pend { color: #0070C0; } .pcp td.fin { color: #FF0000; }
.pcp tr.l-fin td:not(.aco):not(.ped) { color: #64748B; }
.pcp td.ops { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.pcp td.op-ok { background: #C6EFCE; color: #006100; } .pcp td.op-pend { background: #FFF2CC; color: #846000; }
.pcp td.op-sem { color: #969696; font-style: italic; } .pcp b.cum { color: #C55A11; }
.pcp td.forn { background: #FFF2CC; padding: 0; } .pcp td.forn input { border: 0; background: transparent; width: 210px; font: 700 12px "Segoe UI"; padding: 4px; }
.pcp td.forn input.antes::placeholder { color: #C55A11; font-style: italic; font-weight: 700; }
.pcp span.alerta { color: #EA580C; font-weight: 700; }

/* 09/11/2026 (Rogerio): o topo (titulo, menu e botoes) fica parado ao rolar a tela - desce ate' o dia no PCP e os
   botoes (ENCAIXAR, GRAVAR FORNECEDOR, FINALIZAR...) continuam a mao. No celular (tela estreita) rola junto. */
.fixo { position: sticky; top: 0; z-index: 50; background: var(--topo); box-shadow: 0 2px 6px rgba(0,0,0,.25); }
@media (max-width: 600px), (max-height: 360px) { .fixo { position: static; } }   /* 11/11: congela até em tela com zoom */
@media print { .fixo { position: static; box-shadow: none; } }
@media (min-width: 701px) and (min-height: 501px) { html { scroll-padding-top: 170px; } }
/* 09/11/2026: PAINEL (tela inicial) */
.pn { display: flex; gap: 18px; flex-wrap: wrap; align-items: flex-start; }
.pn-esq { flex: 1 1 560px; } .pn-dir { flex: 1 1 520px; background: #fff; border: 1px solid #CBD5E1; border-radius: 12px; padding: 10px 16px; }
.pn-dir h2 { background: var(--topo); color: #fff; margin: -10px -16px 8px; padding: 10px; text-align: center; border-radius: 12px 12px 0 0; font-size: 18px; }
.pn-bloco { background: #fff; border: 1px solid #CBD5E1; border-radius: 10px; padding: 8px 10px; margin-bottom: 12px; }
.pn-btit { font-size: 11px; color: #475569; font-weight: 700; margin-bottom: 6px; }
.pn-bts { display: flex; flex-wrap: wrap; gap: 8px; }
.pn-bt { display: flex; align-items: center; justify-content: center; text-align: center; width: 128px; height: 64px; border: 2px solid; border-radius: 10px;
  font: 700 12px "Segoe UI"; text-decoration: none; background: #fff; overflow-wrap: anywhere; box-shadow: 0 2px 4px rgba(0,0,0,.12); padding: 4px; }
.pn-bt:hover { background: #F1F5F9; } .pn-bt.off { border-color: #CBD5E1; color: #94A3B8; cursor: not-allowed; box-shadow: none; }
.pn-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pn-card { border: 1px solid #E2E8F0; border-radius: 10px; padding: 8px; text-align: center; }
.pn-t { font-size: 10px; color: #475569; font-weight: 700; } .pn-v { font-size: 26px; font-weight: 700; } .pn-s { font-size: 11px; color: #64748B; }
table.pn-prox { border-collapse: collapse; font: 12px Consolas, monospace; width: 100%; }
.pn-prox th { text-align: left; border-bottom: 1px dashed #94A3B8; color: #C00000; } .pn-prox td { color: #C00000; padding: 1px 4px; }
.pn-prox tr.verm td { font-weight: 700; } .pn-prox td.num { text-align: right; }
@media (max-width: 700px) { .pn-cards { grid-template-columns: repeat(2, 1fr); } .pn-bt { width: 46%; } }

/* 09/11/2026: login e usuários */
.nav.quem { background: #0F766E; }
.nav.sair { background: #7F1D1D; min-width: 60px; }
form.login { max-width: 340px; margin: 32px auto; display: flex; flex-direction: column; gap: 12px;
             padding: 20px; border: 1px solid var(--borda); border-radius: 8px; background: #F8FAFC; }
form.login label, .usu-novo label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; }
form.login input { font-size: 16px; padding: 8px; border: 1px solid var(--borda); border-radius: 5px; }
form.login .btn { font-size: 15px; padding: 10px; border: 0; cursor: pointer; }
div.login { max-width: 460px; margin: 32px auto; padding: 20px; border: 1px solid #F59E0B; border-radius: 8px;
            background: #FEF3C7; }
.login-rede { text-align: center; color: var(--quieto); }
.usu-novo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 10px 0 16px; }
.usu-novo h3 { width: 100%; margin: 0; }
.usu-novo .btn, td form .btn { border: 0; cursor: pointer; }

/* 10/11/2026 (Rogerio): "a tela está muito grande, não aparece até o final" - as tabelas
   AGUARDANDO / SEQUÊNCIA / PCP agora cabem na largura da janela (sem largura mínima fixa),
   com letra e espaços menores; em tela menor (notebook, Windows com escala 125%) diminui mais.
   Produto e cliente não quebram em 3 linhas. */
table.agu, table.seq, table.pcp { min-width: 0; width: 100%; }
.agu td.cli { min-width: 0; max-width: 300px; }
.agu td.aco { min-width: 0; white-space: nowrap; }
.seq td.setup { min-width: 160px; }
.agu th, .agu td { white-space: normal; }
.agu td.n, .agu td.c, .agu td.ped { white-space: nowrap; }
.pcp td.ops { max-width: 200px; }
.pcp td.forn input { width: 150px; }
@media (max-width: 1800px) {
  .agu { font-size: 12px; }
  .agu th { padding: 4px 4px; }
  .agu td { padding: 3px 4px; }
  .pcp td.ops { max-width: 160px; font-size: 10.5px; }
  .pcp td.forn input { width: 130px; font-size: 11px; }
}
@media (max-width: 1450px) {
  .agu { font-size: 11px; }
  .agu th { padding: 3px 3px; font-size: 10.5px; }
  .agu td { padding: 2px 3px; }
  .agu td.cli { max-width: 210px; }
  .pcp td.ops { max-width: 120px; }
  .pcp td.forn input { width: 105px; }
  .nav { min-width: 0; padding: 4px 7px; }
}
table.pcp-res ~ form .tabela { clear: both; }   /* 10/11: o PCP usa a largura toda (nao fica ao lado do resumo) */

/* 11/11/2026: PROGRAMAR AUTOMÁTICO */
.chips { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; }
.chip { display:flex; flex-direction:column; padding:6px 10px; border:1px solid #CBD5E1; border-radius:6px;
        background:#fff; color:#0F172A; text-decoration:none; min-width:150px; }
.chip small { font-size:11px; color:#475569; }
.chip.on { background:#FFE699; border-color:#BF8F00; }
.chip.vazio { opacity:.45; }
.chip.limpar { background:#FEE2E2; border-color:#B91C1C; color:#991B1B; }
.auto-imp { background:#E0F2FE; border:1px solid #0369A1; padding:10px; margin:8px 0; border-radius:6px; }
.auto-imp .btn { margin:3px 4px; }
input.num { width:38px; text-align:center; font-weight:700; background:#FFF2CC; border:1px solid #BF8F00; }

/* 11/11/2026: PROGRAMAÇÃO DO DIA (folha para a produção) */
.pdia { background:#fff; padding:10px; }
.pdia-cab { display:flex; justify-content:space-between; align-items:center; border:2px solid #0F172A; padding:8px 12px; margin-bottom:6px; }
.pdia-cab .marca-b { font-size:22px; letter-spacing:.5px; }
.pdia-tit { text-align:center; font:800 18px Segoe UI; }
.pdia-tit span { font-size:22px; }
table.pdia-t { width:100%; border-collapse:collapse; font-size:13px; }
table.pdia-t th { background:#1E293B; color:#fff; padding:5px 4px; }
table.pdia-t td { border:1px solid #94A3B8; padding:4px 5px; }
table.pdia-t td.seq { font:800 18px Segoe UI; text-align:center; width:42px; }
table.pdia-t td.ped { font-weight:700; text-align:center; }
table.pdia-t td.ops { font-size:11px; }
table.pdia-t td.aco, table.pdia-t td:nth-child(7) { white-space:nowrap; }
table.pdia-t td.ok { width:60px; }
table.pdia-t td.sit { font-weight:700; color:#1D4ED8; } table.pdia-t td.sit.f { color:#C00000; }
table.pdia-t td.marca { text-align:center; cursor:pointer; width:28px; }
table.pdia-t tr.nao td { opacity:.35; }
.pdia-rod { font-size:12px; margin-top:8px; }
@media print {
  @page { size: A4 landscape; margin: 8mm; }
  body:has(.pdia) * { visibility:hidden; } body:has(.pdia) .pdia, body:has(.pdia) .pdia * { visibility:visible; }
  body:has(.pdia) .pdia { position:absolute; left:0; top:0; width:100%; padding:0; }
  .nao-imprime { display:none !important; }
  table.pdia-t tr.nao { display:none; }
  table.pdia-t th { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  table.pdia-t td.aco { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* 11/11/2026: LOGÍSTICA */
.log-filtro { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:6px 0; font-weight:600; }
.log-h { font:800 16px Segoe UI; margin:16px 0 6px; color:#0F172A; border-bottom:2px solid #0F172A; padding-bottom:3px; }
.log-h small { font:400 12px Segoe UI; color:#475569; margin-left:8px; }
.log-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(380px, 1fr)); gap:12px; }
.log-card { background:#fff; border:1px solid #CBD5E1; border-radius:10px; padding:12px; box-shadow:0 2px 6px rgba(15,23,42,.08);
            display:flex; flex-direction:column; gap:8px; }
.log-card.sem-cid { border-style:dashed; opacity:.85; }
.lc-top h3 { margin:0; font:800 17px Segoe UI; } .lc-top p { margin:0; color:#475569; font-size:12px; }
.lc-num { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; text-align:center; background:#F1F5F9; border-radius:8px; padding:6px; }
.lc-num b { display:block; font:800 16px Segoe UI; } .lc-num span { font-size:10px; color:#64748B; text-transform:uppercase; }
.ideal { background:#DCFCE7; border:1px solid #16A34A; border-radius:8px; padding:6px 10px; display:flex; flex-direction:column; }
.ideal span { font:700 10px Segoe UI; color:#166534; letter-spacing:.5px; } .ideal b { font:800 18px Segoe UI; color:#14532D; }
.ideal small { color:#166534; } .ideal.passou { background:#FEE2E2; border-color:#B91C1C; } .ideal.passou * { color:#991B1B !important; }
.ocup { display:grid; grid-template-columns:80px 1fr 90px; align-items:center; gap:6px; font-size:12px; }
.ocup span { color:#475569; } .ocup b { text-align:right; }
.barra-oc { height:9px; background:#E2E8F0; border-radius:5px; overflow:hidden; }
.barra-oc i { display:block; height:100%; background:#16A34A; } .barra-oc i.cheio { background:#D97706; } .barra-oc i.passou { background:#DC2626; }
.lc-peds { list-style:none; margin:0; padding:0; font-size:12px; max-height:150px; overflow:auto; }
.lc-peds li { padding:2px 0; border-bottom:1px dashed #E2E8F0; } .lc-peds i { display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; }
.lc-peds span { color:#0369A1; } .lc-peds em { color:#B45309; font-size:11px; }
table.log-t td.c { text-align:center; } table.log-t tr.em-carga td { background:#F1F5F9; color:#64748B; }
form.dest { display:flex; gap:2px; } form.dest input { width:120px; font-size:12px; } form.dest button { font-size:11px; }
.st-montando { color:#B45309; font-weight:800; } .st-enviada { color:#15803D; font-weight:800; }
.truck-box { background:#F8FAFC; border:1px solid #CBD5E1; border-radius:10px; padding:10px; margin:10px 0; }
.truck-svg { width:100%; height:auto; display:block; }
.truck-svg .cab { fill:#334155; } .truck-svg .vidro { fill:#93C5FD; } .truck-svg .corpo { fill:#E2E8F0; stroke:#475569; stroke-width:2; }
.truck-svg .regua { stroke:#94A3B8; } .truck-svg .pilha { stroke:#0F172A; stroke-width:1; opacity:.92; }
.truck-svg .div { stroke:rgba(255,255,255,.7); stroke-dasharray:4 3; } .truck-svg .fardo { stroke:#0F172A; stroke-width:.8; }
.truck-svg .assoalho { fill:#475569; } .truck-svg .roda { fill:#1E293B; stroke:#94A3B8; stroke-width:3; }
.truck-svg .limite { stroke:#DC2626; stroke-dasharray:6 4; }
.truck-svg text { font-family:Segoe UI, Arial; } .truck-svg .t-tit { font-size:12px; font-weight:700; fill:#334155; }
.truck-svg .t-cota { font-size:11px; fill:#475569; } .truck-svg .t-pl { font-size:12px; font-weight:800; fill:#fff; }
.truck-svg .t-pl2 { font-size:10px; fill:#fff; } .truck-svg .t-fd { font-size:10px; font-weight:700; fill:#fff; }
.leg { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; margin-top:6px; } .leg i { display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:4px; vertical-align:-2px; }
.carga-cab { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:12px; align-items:center; }
.carga-cab h2 { margin:0; font:800 22px Segoe UI; } .carga-cab h2 small { font-size:13px; color:#475569; }
.oc-box { display:flex; flex-direction:column; gap:4px; }
form.veic { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; background:#fff; border:1px solid #CBD5E1; border-radius:8px; padding:8px 10px; margin:8px 0; }
form.veic label { display:flex; flex-direction:column; font:700 11px Segoe UI; color:#334155; gap:2px; }
form.veic input, form.veic select { font:600 14px Segoe UI; padding:4px; }
.log-2col { display:grid; grid-template-columns:1.6fr 1fr; gap:14px; } table.log-t tr.nao td { color:#94A3B8; }
i.bola { display:inline-block; width:14px; height:14px; border-radius:50%; }
form.add { margin-top:6px; display:flex; gap:6px; } .fechada { background:#DCFCE7; border:1px solid #16A34A; padding:10px; border-radius:8px; font-weight:700; }
@media (max-width: 1100px) { .log-2col, .carga-cab { grid-template-columns:1fr; } }
@media print {
  .topo, nav, .barra, form.veic, .log-2col > div:last-child, form.add, .nao-imprime, button { display:none !important; }
  .log-2col { grid-template-columns:1fr; } .truck-box { break-inside:avoid; }
  .truck-svg * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
/* 11/11: altura pela lei */
.selo-alt { display:flex; align-items:center; gap:14px; border-radius:10px; padding:8px 14px; margin:8px 0; font-family:Segoe UI; }
.selo-alt span { font-weight:800; font-size:13px; letter-spacing:.5px; } .selo-alt b { font-size:26px; font-weight:900; }
.selo-alt small { font-size:12px; } .selo-alt.ok { background:#DCFCE7; border:2px solid #16A34A; color:#14532D; }
.selo-alt.passou { background:#FEE2E2; border:2px solid #DC2626; color:#7F1D1D; }
.truck-svg .t-lei { font-size:11px; font-weight:800; fill:#7F1D1D; } .truck-svg .t-alt { font-size:14px; font-weight:900; fill:#fff; }
.truck-svg .t-alt2 { font-size:10px; font-weight:800; fill:#fff; }

/* 11/11/2026 (Rogerio: "acho pequeno a tela aonde precisamos usar as informações") - topo COMPACTO
   (19:57: "um pouquinho maior a parte de cima" e congelado ao descer) */
.topo { padding: 6px 14px; gap: 10px; }
.topo h1 { font-size: 18px; white-space: nowrap; }
.topo h1 .info { font-size: 14px; opacity: .6; cursor: pointer; margin-left: 4px; }
.topo p { display: none; } .titulo.leg p { display: block; }
.topo nav { gap: 4px; }
.nav { min-width: 0; padding: 5px 11px; font-size: 12.5px; }
.barra { padding: 6px 14px; gap: 6px; }
.barra .btn, .barra button.btn { padding: 6px 12px; font-size: 12.5px; }
.copia { padding: 3px 14px; font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.copia.aberta { white-space: normal; }
main { padding: 6px 12px 28px; }
/* TELA CHEIA: some o topo; um botão pequeno traz de volta */
.volta-topo { display: none; }
body.cheia .fixo { display: none; }
body.cheia .volta-topo { display: block; position: fixed; top: 6px; right: 10px; z-index: 60; background: #1E293B; color: #fff;
  font: 700 12px "Segoe UI", sans-serif; padding: 5px 10px; border-radius: 6px; text-decoration: none; opacity: .85;
  box-shadow: 0 2px 6px rgba(0,0,0,.3); }
body.cheia .volta-topo:hover { opacity: 1; }
.nav.cheia-bt { background: #475569; font-size: 14px; padding: 1px 9px; }
@media print { .volta-topo { display: none !important; } }
/* 12/11/2026: INVENTÁRIO DO AÇO */
.inv-top { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin:6px 0; }
.inv-res { font-weight:800; color:#7030A0; }
table.inv-t input.fis { width:90px; text-align:right; font:700 14px Segoe UI; background:#FFF2CC; border:1px solid #BF8F00; }
table.inv-t tr.mexeu td { background:#FEF9C3; }
table.inv-t td.dif.mais { color:#15803D; font-weight:800; } table.inv-t td.dif.menos { color:#B91C1C; font-weight:800; }
table.inv-t td.dif.igual { color:#475569; }
