/* Estoque do pátio (prefixo et-) · visual limpo: títulos à esquerda, ações à direita, números alinhados à direita.
   Sem ícones coloridos em quadradinhos, sem degradês e sem tracejados. Cartões de número usam o .mini global (css/nei.css). */

/* ---------- Indicadores e abas ---------- */
.et-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.et-kpis.sv { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#view .et-kpi { text-align: left; cursor: pointer; width: 100%; color: inherit; font: inherit; transition: border-color var(--t-fast); }
#view .et-kpi:hover { border-color: var(--line-3); }
#view .et-kpi.on { border-color: var(--red-line); box-shadow: inset 0 0 0 1px var(--red-line); }
.et-kpis .mini .muted { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#view .et-mcrit > div > b { color: var(--crit); }
.et-tabs { margin-bottom: 20px; }
.et-tabs .badge:not(.red) { background: var(--s3); color: var(--tx-2); }
.et-tdot { display: inline-block; width: 7px; height: 7px; margin-left: 7px; border-radius: 50%; background: var(--red-tx); vertical-align: 2px; }

/* Cabeçalho de cada aba: título à esquerda, ações à direita, na mesma linha */
.et-th { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; margin-bottom: 16px; }
.et-th__t { min-width: 0; flex: 1 1 360px; }
.et-th__t h2 { font-size: var(--fs-xl); font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.et-th__t p { margin-top: 4px; font-size: var(--fs-sm); color: var(--tx-3); line-height: 1.5; max-width: 80ch; }
.et-th__a { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* ---------- Estoque: categorias / espécies à esquerda ---------- */
.et-saldo, .et-inv { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 16px; align-items: start; }
.et-cats { position: sticky; top: calc(var(--topbar-h) + 12px); display: grid; gap: 2px; padding: 10px; border-radius: var(--r-md); background: var(--s1); border: 1px solid var(--line); min-width: 0; }
.et-cats__h { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px 8px; }
.et-cats__h > span { font-size: var(--fs-2xs); font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--tx-3); }
.et-agrup { width: 100%; }
.et-agrup button { flex: 1; }
.et-cats__sep { height: 1px; margin: 4px 8px; background: var(--line); }
.et-cat { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px 8px; border-radius: var(--r-sm); text-align: left; color: var(--tx-2); transition: background var(--t-fast); }
.et-cat:hover { background: var(--s2); }
.et-cat.on { background: var(--s3); color: var(--tx); }
.et-cat__ic { width: 24px; height: 24px; display: grid; place-items: center; color: var(--tx-3); }
.et-cat.on .et-cat__ic { color: var(--red-tx); }
.et-cat__ic svg { width: 16px; height: 16px; }
.et-cat__sw { width: 12px; height: 12px; border-radius: 3px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25); }
.et-cat__t { display: grid; min-width: 0; }
.et-cat__t b { font-weight: 500; font-size: var(--fs-sm); line-height: 1.3; }
.et-cat__t small { font-size: var(--fs-2xs); color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.et-cat__al { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: var(--r-pill); background: var(--crit-soft); color: var(--crit); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------- Estoque: barra, legenda e tabela ---------- */
.et-card { overflow: hidden; min-width: 0; }
.et-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.et-bar__r { margin-left: auto; }
.et-busca { flex: 1 1 300px; max-width: 460px; }
.et-busca .input { height: 40px; }
.et-busca svg { width: 16px; height: 16px; }
.et-flt { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 13px; border-radius: var(--r-pill); border: 1px solid var(--line-2); color: var(--tx-2); font-size: var(--fs-xs); transition: border-color var(--t-fast), color var(--t-fast), background var(--t-fast); }
.et-flt:hover { border-color: var(--line-3); color: var(--tx); }
.et-flt.on { border-color: transparent; color: var(--crit); background: var(--crit-soft); }
.et-flt svg { width: 14px; height: 14px; }
.et-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; padding: 16px 16px 10px; }
.et-head__t { display: grid; gap: 3px; min-width: 0; flex: 1 1 260px; }
.et-head h3 { display: flex; align-items: center; gap: 8px; font-size: var(--fs-lg); font-weight: 600; }
.et-head small { font-size: var(--fs-xs); color: var(--tx-3); }
.wood-dot.lg { width: 12px; height: 12px; border-radius: 3px; }
/* Linha que explica os três números */
.et-leg { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0 16px 14px; font-size: var(--fs-xs); color: var(--tx-3); line-height: 1.45; }
.et-leg b { font-weight: 600; color: var(--tx-2); margin-right: 4px; }
.et-cod { font-family: var(--mono); font-size: 11.5px; font-weight: 500; color: var(--tx-2); white-space: nowrap; }
.et-esp-n { font-weight: 400; color: var(--tx-2); }
.et-hl { background: var(--warn-soft); color: var(--tx); border-radius: 3px; padding: 0 1px; }
.et-tbl th, .et-tbl td { padding-left: 10px; padding-right: 10px; }
.et-tbl th:first-child, .et-tbl td:first-child { padding-left: 16px; }
.et-tbl th:last-child, .et-tbl td:last-child { padding-right: 16px; }
.et-tbl td { vertical-align: middle; }
.et-tbl .c-pat, .et-tbl .c-res, .et-tbl .c-liv { width: 1%; white-space: nowrap; }
.et-tbl .c-liv { padding-right: 22px; }
.et-row { cursor: pointer; }
.et-row:focus-visible { outline: 2px solid var(--red-line); outline-offset: -2px; }
.et-row.low td:first-child { box-shadow: inset 2px 0 0 var(--crit); }
.et-it { display: flex; align-items: center; gap: 10px; min-width: 0; color: inherit; }
a.et-it:hover b { color: var(--red-tx); }
.et-it__t { display: grid; min-width: 0; justify-items: start; }
.et-it__t b { font-weight: 500; }
.et-it__t small { font-size: var(--fs-2xs); color: var(--tx-3); display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 1px; }
.et-it__t .bitola { font-size: 10.5px; padding: 0 5px; }
.et-chega { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; font-size: var(--fs-2xs); font-weight: 500; color: var(--info); white-space: nowrap; }
.et-chega svg { width: 12px; height: 12px; flex: none; }
.et-chega.atr { color: var(--warn); }
/* Números: valor + unidade na primeira linha, detalhe embaixo, tudo alinhado pela direita */
.et-n { white-space: nowrap; font-variant-numeric: tabular-nums; }
.et-n b { font-weight: 600; font-size: var(--fs-md); }
.et-n small { color: var(--tx-3); font-size: var(--fs-xs); }
.et-sub { display: block; margin-top: 2px; font-size: var(--fs-2xs); color: var(--tx-3); white-space: nowrap; font-variant-numeric: tabular-nums; }
.et-zero { color: var(--tx-4); }
.et-neg, .et-neg b, .et-neg small, .et-out { color: var(--crit); }
.et-out, .et-in, .et-tr { font-weight: 600; }
.et-in { color: var(--ok); }
.et-tr { color: var(--tx-2); }
.et-loc { display: inline-flex; align-items: flex-start; gap: 5px; font-size: var(--fs-xs); color: var(--tx-2); line-height: 1.35; min-width: 0; }
.et-loc > span { display: grid; }
.et-loc small { color: var(--tx-3); font-size: var(--fs-2xs); }
.et-loc svg { width: 13px; height: 13px; color: var(--tx-4); flex: none; margin-top: 2px; }
.et-tbl .c-loc .et-loc > span { white-space: nowrap; }
.et-page .tbl .pill { white-space: nowrap; }
.et-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; align-items: center; padding: 12px 16px; border-top: 1px solid var(--line); font-size: var(--fs-xs); color: var(--tx-3); }
.et-foot b { font-weight: 500; }
.et-empty { padding: 40px 16px 44px; display: grid; justify-items: center; gap: 4px; text-align: center; }
.et-empty > svg { width: 24px; height: 24px; color: var(--tx-4); margin-bottom: 6px; }
.et-empty b { font-weight: 500; }
.et-empty small { font-size: var(--fs-xs); }
.et-empty.sm { padding: 22px 16px 26px; }
.et-new td { animation: et-new 2.6s var(--ease); }
.et-newb { animation: et-new 2.6s var(--ease); }
@keyframes et-new { 0%, 40% { background-color: var(--ok-soft); } 100% { background-color: transparent; } }
.et-os { font-family: var(--mono); font-size: 12.5px; font-weight: 500; color: var(--red-tx); white-space: nowrap; }
.et-os:hover { text-decoration: underline; }
.et-lnk { font: inherit; color: var(--red-tx); padding: 0; background: none; text-align: left; }
.et-lnk.mono { font-family: var(--mono); font-size: 12.5px; }
.et-lnk:hover { text-decoration: underline; }
.et-ref { font-size: var(--fs-xs); color: var(--tx-2); }
.et-who { display: inline-flex; align-items: flex-start; gap: 8px; font-size: var(--fs-sm); min-width: 0; }
.et-who > span { min-width: 0; }
.et-b5 { font-weight: 500; }
.et-okt { color: var(--ok); } .et-wnt { color: var(--warn); }
.et-page .tbl small.block { font-size: var(--fs-2xs); margin-top: 2px; }
.et-when { font-size: 12px; color: var(--tx-2); white-space: nowrap; }

/* ---------- Blocos dentro das abas (Reservas) ---------- */
.et-blk { margin-bottom: 16px; overflow: hidden; }
.et-blk__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; padding: 16px 16px 12px; }
.et-blk__h h3 { font-size: var(--fs-md); font-weight: 600; }
.et-blk__h .badge { align-self: center; height: 18px; min-width: 18px; font-size: 10px; background: var(--s3); color: var(--tx-2); }
.et-blk__h small { font-size: var(--fs-xs); flex: 1 1 260px; }
.et-blk__h.plain { padding: 0 0 12px; }
.et-blk .tbl th:first-child, .et-blk .tbl td:first-child, .et-page .card > .table-wrap .tbl th:first-child, .et-page .card > .table-wrap .tbl td:first-child { padding-left: 16px; }
.et-blk .tbl th:last-child, .et-blk .tbl td:last-child, .et-page .card > .table-wrap .tbl th:last-child, .et-page .card > .table-wrap .tbl td:last-child { padding-right: 16px; }
.et-rtbl .c-act, .et-itbl .c-act { width: 1%; white-space: nowrap; }
.et-rtbl td:nth-child(2), .et-rtbl td:nth-child(4) { width: 1%; white-space: nowrap; }
.et-rtbl td:first-child, .et-atbl td:nth-child(3) { min-width: 250px; }
.et-rtbl tr.et-off td { color: var(--tx-3); }
.et-rtbl tr.et-off b { color: var(--tx-2); }
.et-note { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 12px 16px; border-top: 1px solid var(--line); font-size: var(--fs-xs); color: var(--tx-3); line-height: 1.5; }
.et-note > svg { width: 14px; height: 14px; flex: none; margin-top: 2px; }

/* ---------- Resumo em linha (Movimentações e Inventário): rótulo em cima, número embaixo ---------- */
.et-sum { display: flex; flex-wrap: wrap; gap: 12px 36px; margin: 0 0 16px; padding: 14px 18px; border-radius: var(--r-md); background: var(--s1); border: 1px solid var(--line); }
.et-sum > div { min-width: 0; }
.et-sum dt { font-size: var(--fs-xs); color: var(--tx-3); }
.et-sum dd { margin: 2px 0 0; font-size: var(--fs-lg); font-weight: 600; white-space: nowrap; }
.et-sum dd small { font-size: var(--fs-2xs); font-weight: 400; color: var(--tx-3); margin-left: 4px; }

/* ---------- Barra de filtros ---------- */
.et-fbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.et-fbar.card { border-bottom: 1px solid var(--line); margin-bottom: 16px; }
.et-chips { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.et-chips button { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: var(--r-pill); border: 1px solid var(--line-2); font-size: var(--fs-xs); color: var(--tx-2); transition: border-color var(--t-fast), background var(--t-fast), color var(--t-fast); }
.et-chips button:hover { border-color: var(--line-3); color: var(--tx); }
.et-chips button.on { background: var(--red-soft); border-color: var(--red-line); color: var(--tx); }
.et-chips button span { font-size: 11px; color: var(--tx-3); font-variant-numeric: tabular-nums; }
.et-fsel { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-xs); color: var(--tx-3); }
.et-fsel .select { height: 34px; min-width: 180px; font-size: var(--fs-xs); }

/* ---------- Lotes ---------- */
.et-sec { margin-bottom: 20px; }
.et-secgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.et-lsec { padding: 16px; display: grid; gap: 14px; align-content: start; }
.et-lsec header { display: grid; gap: 4px; min-width: 0; }
.et-lsec__id { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; }
.et-lsec__id b { font-size: 12.5px; color: var(--tx-2); font-weight: 500; }
.et-lsec__n { display: flex; align-items: center; gap: 7px; font-weight: 600; font-size: var(--fs-md); }
.et-lsec header small { font-size: var(--fs-2xs); }
.et-umid { display: grid; gap: 8px; }
.et-umid__bar { height: 6px; border-radius: 6px; background: var(--s4); overflow: hidden; }
.et-umid__bar i { display: block; height: 100%; width: var(--w); border-radius: inherit; background: var(--info); transition: width 1.2s var(--ease); }
.et-umid__lg, .et-lsec__f { display: flex; justify-content: space-between; gap: 8px; margin: 0; }
.et-umid__lg dt, .et-lsec__f dt { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-umid__lg dd, .et-lsec__f dd { margin: 0; font-size: var(--fs-sm); font-weight: 600; }
.et-umid__lg > div:nth-child(2) { text-align: center; } .et-umid__lg > div:last-child, .et-lsec__f > div:last-child { text-align: right; }
.et-lsec__f { padding-top: 12px; border-top: 1px solid var(--line); }
.et-lid { font-size: 12.5px; font-weight: 500; white-space: nowrap; }
.et-esp { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }

/* ---------- Inventário ---------- */
.et-itbl tr.dif td:first-child { box-shadow: inset 2px 0 0 var(--warn); }
.et-itbl td.muted { font-size: var(--fs-xs); }
.et-lst { display: inline-grid; place-items: center; height: 20px; padding: 0 7px; border-radius: var(--r-pill); background: var(--s3); font-size: 10.5px; font-weight: 600; color: var(--tx-3); font-variant-numeric: tabular-nums; white-space: nowrap; }
.et-lst.ok { background: var(--ok-soft); color: var(--ok); } .et-lst.warn { background: var(--warn-soft); color: var(--warn); } .et-lst.red { background: var(--red-soft); color: var(--red-tx); }

/* ---------- Compras: etapas (da solicitação à entrada no estoque) e um cartão por compra ---------- */
.et-etapas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.et-etp { position: relative; display: grid; gap: 2px; justify-items: start; padding: 14px 16px 13px; border-radius: var(--r-md); background: var(--s1); border: 1px solid var(--line); text-align: left; color: var(--tx-2); min-width: 0; transition: border-color var(--t-fast), background var(--t-fast); }
.et-etp::before { content: ""; position: absolute; left: 16px; right: 16px; top: -1px; height: 2px; border-radius: 0 0 2px 2px; background: transparent; }
.et-etp:hover { border-color: var(--line-3); }
.et-etp.on { border-color: var(--red-line); background: var(--s2); }
.et-etp.on::before { background: var(--red); }
.et-etp small { font-size: var(--fs-2xs); color: var(--tx-4); font-variant-numeric: tabular-nums; }
.et-etp b { font-size: var(--fs-md); font-weight: 600; color: var(--tx); }
.et-etp span { font-size: var(--fs-xs); color: var(--tx-2); }
.et-etp em { font-style: normal; font-size: var(--fs-2xs); color: var(--tx-3); }
.et-fbar__t { align-self: center; margin-left: 8px; font-size: var(--fs-xs); color: var(--tx-3); }
.et-cps { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 500px), 1fr)); gap: 14px; align-items: start; }
.et-cp { overflow: hidden; display: grid; }
.et-cp.alerta { border-color: rgba(255, 75, 92, .35); }
.et-cp__h { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 14px; padding: 16px 16px 12px; }
.et-cp__t { display: grid; gap: 3px; min-width: 0; flex: 1 1 220px; }
.et-cp__id { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.et-cp__id b { font-size: 12.5px; font-weight: 500; color: var(--tx-2); }
.et-cp__f { font-size: var(--fs-md); font-weight: 600; }
.et-cp__t small { font-size: var(--fs-xs); color: var(--tx-3); }
.et-cp__a { display: flex; flex-wrap: wrap; gap: 8px; }
/* Passos da compra */
.et-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 16px 12px; padding: 0; }
.et-steps li { position: relative; display: grid; gap: 1px; padding-top: 12px; min-width: 0; }
.et-steps li::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--s4); }
.et-steps li:first-child::before { border-radius: 3px 0 0 3px; } .et-steps li:last-child::before { border-radius: 0 3px 3px 0; }
.et-steps li + li::before { left: 2px; }
.et-steps li.feito::before { background: var(--tx-3); }
.et-steps li.agora::before { background: var(--red); }
.et-steps span { font-size: var(--fs-2xs); color: var(--tx-3); line-height: 1.3; padding-right: 6px; }
.et-steps li.agora span { color: var(--tx); font-weight: 600; }
.et-steps li.feito span { color: var(--tx-2); }
.et-steps small { font-size: var(--fs-2xs); color: var(--tx-4); font-variant-numeric: tabular-nums; }
.et-cp__its { border-top: 1px solid var(--line); }
.et-cpi { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 9px 16px; border-bottom: 1px solid var(--line); }
.et-cpi__n { display: grid; min-width: 0; }
.et-cpi__n b { font-weight: 500; font-size: var(--fs-sm); }
.et-cpi__n small { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-cpi__q { display: grid; justify-items: end; text-align: right; white-space: nowrap; }
.et-cpi__q b { font-weight: 600; }
.et-cpi__q small { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-cp__d { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0; padding: 12px 16px; }
.et-cp__d dt { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-cp__d dd { margin: 2px 0 0; font-size: var(--fs-sm); font-weight: 500; }
.et-cp__obs { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 16px; border-top: 1px solid var(--line); font-size: var(--fs-xs); color: var(--tx-3); line-height: 1.45; }
.et-cp__obs svg { width: 14px; height: 14px; flex: none; margin-top: 1px; }
.et-cp__obs.crit { color: var(--crit); background: var(--crit-soft); border-top-color: transparent; }

/* ---------- Detalhe do produto ---------- */
.et-back { display: inline-flex; align-items: center; gap: 5px; color: var(--tx-2); }
.et-back:hover { color: var(--red-tx); }
.et-back svg { width: 14px; height: 14px; }
.et-vit { display: inline-flex; align-items: center; gap: 5px; margin-left: 6px; padding-left: 14px; border-left: 1px solid var(--line-2); color: var(--red-tx); }
.et-vit:hover { text-decoration: underline; }
.et-vit svg { width: 13px; height: 13px; }
.et-dhead .eyebrow .mono { color: var(--tx-3); }
.et-dhead .eyebrow .mono::before { content: "·"; margin-right: 8px; color: var(--tx-4); font-family: var(--font); }
.et-h1-esp { color: var(--gold-tx); }
.et-dpills { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
.et-dpills .bitola { height: 24px; display: inline-flex; align-items: center; }
.et-dpills .pill .wood-dot { width: 9px; height: 9px; }
.et-alert { align-items: center; margin-bottom: 16px; }
.et-alert > div { flex: 1; min-width: 0; }
.et-alert b { font-weight: 500; }
.et-alert .btn { flex: none; }
.et-dgrid { align-items: start; }
.et-col { display: grid; gap: 16px; min-width: 0; }
.et-dlocs, .et-drs, .et-dlotes, .et-dmovs { display: grid; padding: 8px 20px 12px; }
.et-dlocs > div, .et-drs > div, .et-dlotes > div, .et-dmovs > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--line); }
.et-dlocs > div:last-child, .et-drs > div:last-child, .et-dlotes > div:last-child, .et-dmovs > div:last-child { border-bottom: 0; }
.et-dloc__t, .et-drs__t, .et-dlote__t, .et-dmov__t { display: grid; min-width: 0; }
.et-dloc__t b, .et-dmov__t b { font-weight: 500; font-size: var(--fs-sm); }
.et-dloc__t small, .et-drs__t small, .et-dlote__t small, .et-dmov__t small { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-dmov__t small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.et-dmov__t .et-os, .et-dmov__t .et-ref, .et-dmov__t .et-lnk { font-size: inherit; }
.et-dloc__q { display: grid; justify-items: end; } .et-dloc__q b { font-weight: 600; } .et-dloc__q small { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-drs__t .et-os { justify-self: start; }
.et-dlote__t b { font-size: 12.5px; font-weight: 500; }
.et-dlote__r { display: grid; justify-items: end; gap: 3px; } .et-dlote__r small { font-size: var(--fs-2xs); }
.et-dmovs > div > b, .et-drs > div > b { white-space: nowrap; }
.et-page .card-head .btn svg { width: 14px; height: 14px; }

/* ---------- Janelas ---------- */
.modal.et-modal { width: min(620px, calc(100vw - 32px)); }
.modal.et-modal.et-mw { width: min(720px, calc(100vw - 32px)); }
.modal.et-modal.lg { width: min(860px, calc(100vw - 32px)); }
.et-modal .modal__head h3 { font-size: var(--fs-lg); font-weight: 600; }
.et-modal .select { height: 40px; width: 100%; }
.et-modal .modal__foot .et-fnote { margin-right: auto; }
.et-form { display: grid; gap: 16px; }
.et-ro { display: flex; align-items: center; color: var(--tx-2); background: var(--s2); }
.et-err, .et-err:focus { border-color: var(--crit) !important; box-shadow: 0 0 0 3px var(--crit-soft) !important; }
/* Produto escolhido (com Trocar) ou seletor embutido */
.et-esc { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-sm); border: 1px solid var(--line-2); background: var(--s2); }
.et-esc__t { display: grid; min-width: 0; flex: 1; }
.et-esc__t b { font-weight: 500; }
.et-esc__t small { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-pick .em-lista { max-height: min(34vh, 300px); }
.et-sitq { margin-top: 8px; min-height: 18px; font-size: var(--fs-2xs); }
.et-sitq small { margin-top: 2px; }
.et-qchips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.et-qchips button { height: 26px; padding: 0 10px; border-radius: var(--r-pill); border: 1px solid var(--line-2); font-size: var(--fs-2xs); color: var(--tx-2); }
.et-qchips button:hover { border-color: var(--line-3); color: var(--tx); }
.et-mot { display: flex; flex-wrap: wrap; gap: 8px; }
.et-mot button { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: var(--r-pill); border: 1px solid var(--line-2); color: var(--tx-2); font-size: var(--fs-xs); transition: border-color var(--t-fast), background var(--t-fast); }
.et-mot.sm button { height: 30px; }
.et-mot button:hover { border-color: var(--line-3); }
.et-mot button.on { border-color: var(--red-line); background: var(--red-soft); color: var(--tx); }
.et-mot svg { width: 14px; height: 14px; }
.et-calc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.et-calc > div { display: grid; gap: 2px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--s2); border: 1px solid var(--line); min-width: 0; }
.et-calc > div.ok { background: var(--ok-soft); border-color: transparent; } .et-calc > div.warn { background: var(--warn-soft); border-color: transparent; } .et-calc > div.crit { background: var(--crit-soft); border-color: transparent; }
.et-calc b { font-size: var(--fs-md); font-weight: 600; overflow-wrap: anywhere; } .et-calc small { font-size: var(--fs-2xs); color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.et-calc p { grid-column: 1 / -1; display: flex; gap: 6px; align-items: center; margin: 2px 0 0; font-size: var(--fs-xs); }
.et-calc p svg { width: 14px; height: 14px; flex: none; }
.et-fnote { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--tx-3); min-width: 0; }
.et-fnote svg { width: 14px; height: 14px; flex: none; }
.et-fnote b { color: var(--tx); font-weight: 600; }
.et-mhint { display: flex; align-items: flex-start; gap: 8px; margin: 0; font-size: var(--fs-xs); color: var(--tx-3); line-height: 1.5; }
.et-mhint svg { width: 14px; height: 14px; flex: none; margin-top: 2px; }
.et-mhint b { color: var(--tx-2); font-weight: 600; }
.et-eg__modo { width: 100%; }
.et-eg__modo button { flex: 1; justify-content: center; }
.et-lblrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.et-lblrow .lbl { margin: 0; }
.et-ncl { display: grid; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; }
.et-nci { display: grid; grid-template-columns: 10px minmax(0, 1fr) 120px 130px 32px; gap: 12px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.et-nci:last-child { border-bottom: 0; }
.et-nci__n { display: grid; min-width: 0; } .et-nci__n b { font-weight: 500; font-size: var(--fs-sm); } .et-nci__n small { font-size: var(--fs-2xs); color: var(--tx-3); }
.et-nci__f { display: grid; gap: 3px; } .et-nci__f span { font-size: var(--fs-2xs); color: var(--tx-3); } .et-nci__f .input { height: 34px; text-align: right; width: 100%; }
.et-nci .icon-btn { width: 32px; height: 32px; }
#nc-pick { margin-top: 12px; }
.et-vazio { display: flex; align-items: center; gap: 8px; margin: 0; padding: 14px; border-radius: var(--r-sm); border: 1px solid var(--line); font-size: var(--fs-xs); color: var(--tx-3); }
.et-vazio svg { width: 16px; height: 16px; }
.et-rtop { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.et-rtop .input { width: 100%; }
.et-umsg { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--s2); border: 1px solid var(--line); font-size: var(--fs-xs); color: var(--tx-2); }
.et-umsg svg { width: 15px; height: 15px; flex: none; margin-top: 1px; color: var(--tx-3); }
.et-umsg b { font-weight: 600; }
.et-umsg.warn { background: var(--warn-soft); border-color: transparent; } .et-umsg.warn svg, .et-umsg.warn b { color: var(--warn); }
.et-umsg.ok { background: var(--ok-soft); border-color: transparent; } .et-umsg.ok svg, .et-umsg.ok b { color: var(--ok); }
.et-rblks { display: grid; gap: 12px; margin-top: 16px; }
.et-rblk { padding: 14px; border-radius: var(--r-md); border: 1px solid var(--line); background: var(--s1); }
.et-rblk__h { display: flex; align-items: flex-start; gap: 10px; }
.et-rblk__h .wood-dot { margin-top: 5px; }
.et-rblk__h > span { display: grid; min-width: 0; } .et-rblk__h b { font-weight: 500; } .et-rblk__h small { font-size: var(--fs-2xs); }
.et-rgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.et-rgrid .input { width: 100%; }
.et-rblk .et-calc { margin-top: 12px; }
.et-sugb { padding: 8px 12px 16px; }
.et-stbl th, .et-stbl td { padding-left: 8px; padding-right: 8px; }
.et-stbl tr.off td:not(:first-child) { opacity: .5; }
.et-stbl tr.et-foco td { background: var(--red-soft); }
.et-chk { width: 17px; height: 17px; accent-color: var(--red); cursor: pointer; }
.et-sq { display: inline-flex; align-items: center; gap: 6px; }
.et-sq .input { width: 84px; height: 34px; text-align: right; padding: 0 10px; }
.et-sq small { font-size: var(--fs-xs); color: var(--tx-3); width: 18px; }
.et-modal .select.et-fsel2 { height: 34px; max-width: 200px; font-size: var(--fs-xs); }

/* ---------- Tema claro ---------- */
:root[data-theme="light"] .et-cat__sw { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
:root[data-theme="light"] .et-cat.on { background: var(--s3); }
:root[data-theme="light"] .et-steps li.feito::before { background: var(--tx-4); }
:root[data-theme="light"] .et-cp.alerta { border-color: rgba(200, 40, 60, .35); }

/* ---------- Responsivo ---------- */
@media (max-width: 1280px) {
  .et-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .et-kpis.sv { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .et-secgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .et-dgrid > .span-7, .et-dgrid > .span-5 { grid-column: 1 / -1; }
}
@media (max-width: 1000px) {
  .et-saldo, .et-inv { grid-template-columns: minmax(0, 1fr); }
  .et-cats { position: static; display: flex; overflow-x: auto; padding: 8px; gap: 6px; scrollbar-width: thin; }
  .et-cats__h { flex: none; padding: 0; } .et-cats__sep, .et-locs .et-cats__h { display: none; }
  .et-agrup { width: auto; }
  .et-cat { flex: none; grid-template-columns: 20px auto auto; border: 1px solid var(--line); }
  .et-cat__ic { width: 20px; height: 20px; } .et-cat__t small { display: none; }
}
@media (max-width: 760px) {
  .et-kpis, .et-kpis.sv { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .et-kpis > :nth-child(5) { grid-column: 1 / -1; }
  .et-th { align-items: stretch; }
  .et-th__a { width: 100%; } .et-th__a .btn { flex: 1 1 auto; justify-content: center; }
  .et-th__a .et-chips { width: 100%; }
  .et-busca { flex-basis: 100%; max-width: none; } .et-bar__r { margin-left: 0; }
  .et-hide-sm { display: none; }
  .et-leg { display: grid; gap: 3px; }
  /* Tabela do estoque vira cartões: código e situação, produto, os três números lado a lado, local */
  .et-tbl, .et-tbl tbody { display: block; } .et-tbl thead { display: none; }
  .et-tbl tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 12px; padding: 14px; border-bottom: 1px solid var(--line); }
  .et-tbl td { display: block; padding: 0 !important; border: 0; text-align: left; width: auto !important; }
  .et-tbl .c-prod { grid-column: 1 / 3; grid-row: 2; }
  .et-tbl .c-sit { grid-column: 3; grid-row: 2; justify-self: end; align-self: start; }
  .et-tbl .c-pat { grid-column: 1; grid-row: 3; } .et-tbl .c-res { grid-column: 2; grid-row: 3; } .et-tbl .c-liv { grid-column: 3; grid-row: 3; }
  .et-tbl .c-loc { grid-column: 1 / -1; grid-row: 4; }
  .et-tbl .et-sub { white-space: normal; }
  .et-tbl td.r { text-align: left !important; }
  .et-tbl td.c-pat[data-l]::before, .et-tbl td.c-res[data-l]::before, .et-tbl td.c-liv[data-l]::before { content: attr(data-l); display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--tx-4); margin-bottom: 3px; white-space: nowrap; }
  .et-row.low td:first-child { box-shadow: none; } .et-row.low { box-shadow: inset 2px 0 0 var(--crit); }
  .et-tbl .c-sit .pill { height: 22px; padding: 0 8px; font-size: 10.5px; }
  /* Tabelas genéricas viram cartões com rótulo em cima de cada valor */
  .et-ct, .et-ct tbody { display: block; } .et-ct thead { display: none; }
  .et-ct tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .et-ct td { display: block; padding: 0 !important; border: 0; text-align: left !important; min-width: 0; width: auto !important; white-space: normal !important; }
  .et-ct td.c-full, .et-ct td.c-act { grid-column: 1 / -1; }
  .et-ct td:empty, .et-ct td.c-pos { display: none; }
  .et-ct td[data-l]::before { content: attr(data-l); display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--tx-4); margin-bottom: 3px; }
  .et-ct td.c-act .btn { width: 100%; justify-content: center; }
  .et-ct tr.dif td:first-child { box-shadow: none; } .et-itbl tr.dif { box-shadow: inset 2px 0 0 var(--warn); }
  .et-stbl td.c-chk { grid-column: 1 / -1; }
  .et-stbl tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .et-modal .select.et-fsel2 { max-width: none; width: 100%; }
  .et-fbar { align-items: stretch; } .et-fsel { width: 100%; } .et-fsel .select { flex: 1; min-width: 0; }
  .et-sum { gap: 12px 24px; padding: 12px 14px; } .et-sum > div { flex: 1 1 40%; } .et-sum dd { font-size: var(--fs-md); }
  .et-secgrid { grid-template-columns: minmax(0, 1fr); }
  .et-etapas { grid-template-columns: repeat(2, minmax(0, 1fr)); } .et-etp em { display: none; }
  .et-fbar__t { display: none; }
  .et-cp__a { width: 100%; } .et-cp__a .btn { flex: 1 1 auto; justify-content: center; }
  .et-steps { margin: 0 14px 12px; }
  .et-alert { display: grid; grid-template-columns: auto minmax(0, 1fr); } .et-alert .btn { grid-column: 2; justify-self: start; }
  .et-page .page-head .actions { width: 100%; } .et-page .page-head .actions .btn { flex: 1 1 auto; justify-content: center; }
  .et-vit { margin-left: 0; padding-left: 0; border-left: 0; }
  .et-dhead .eyebrow { flex-wrap: wrap; row-gap: 4px; }
  .et-dkpis > :last-child { grid-column: 1 / -1; }
  .et-dlocs, .et-drs, .et-dlotes, .et-dmovs { padding: 6px 16px 10px; }
  .modal.et-modal .modal__foot { flex-wrap: wrap; } .modal.et-modal .et-fnote { flex-basis: 100%; }
  .modal.et-modal .modal__foot .btn { flex: 1 1 auto; justify-content: center; }
  .et-rtop { grid-template-columns: 1fr 1fr; }
  .et-rgrid { grid-template-columns: 1fr 1fr; } .et-rgrid > div:last-child { grid-column: 1 / -1; }
  .et-nci { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 32px; } .et-nci > .wood-dot { display: none; } .et-nci__n { grid-column: 1 / 3; } .et-nci .icon-btn { grid-row: 1; grid-column: 3; }
}
@media (max-width: 420px) {
  .et-calc { grid-template-columns: 1fr 1fr; } .et-calc > div:nth-child(3) { grid-column: 1 / -1; }
  .et-rtop { grid-template-columns: 1fr; }
  .et-steps span { font-size: 10px; }
}
.et-mtbl .et-who { align-items: center; }
.et-form > div > .input, .et-form > div > .select { width: 100%; }
.modal__body > .et-mhint:first-child { margin-bottom: 16px; }
.et-modal .select.et-fsel2 { min-width: 170px; }
.et-eg__modo button { display: inline-flex; align-items: center; gap: 6px; }
