/* Entrada de peças: lote DXF, planilha, formas padrão, soltar arquivos. Só tokens do app.css. */
.trab-pecas{position:relative}
.trab-pecas.en-sobre{outline:2px dashed var(--cy);outline-offset:-6px}
.en-soltar{position:absolute;inset:6px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:12px;background:color-mix(in srgb,var(--sup) 88%,transparent);color:var(--cy-tx);font-size:15px;pointer-events:none}
.en-soltar svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8}
.en-dica{margin:-4px 0 12px}
.colar .acoes .arquivo input,.en-mais input{position:absolute;opacity:0;width:1px;height:1px}
.en-res{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--ok-suave);font-size:13.5px;color:var(--tx)}
.en-res.com-erro{background:var(--alerta-suave)}
.en-res p{display:flex;gap:8px;margin:0;align-items:flex-start}
.en-res svg{width:18px;height:18px;flex:none;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8;color:var(--ok)}
.en-res.com-erro svg{color:var(--alerta)}
.en-res ul{margin:8px 0 0;padding-left:26px;color:var(--tx2);display:grid;gap:3px}
.en-ruim{color:var(--erro)}
#parts tr.en-mudou td{background:var(--cy-suave);transition:background .6s}

/* diálogo */
.en-dlg{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
.en-dlg[open]{display:flex;flex-direction:column}
.en-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 16px 10px 20px;flex:none}
.en-cab h2{margin:0;font-size:17px}
.en-corpo{padding:4px 20px 12px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.en-pe{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--borda);flex:none}
.en-pe:empty{display:none}
.en-int{margin:0 0 12px}
.en-dlg .msg-erro:empty{display:none}
.en-dlg svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.en-arqs{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}
.en-arqs li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 6px 6px 12px;border:1px solid var(--borda);border-radius:10px;background:var(--sup2)}
.en-arq{display:flex;gap:8px;align-items:center;min-width:0;font-weight:600;font-size:14px}
.en-arq span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.en-arq svg{width:18px;height:18px;flex:none;color:var(--tx3)}
.en-q{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tx3);font-weight:600}
.en-q input{width:78px;min-height:36px;padding:6px 8px}
.en-mais{position:relative;margin:0 0 12px;color:var(--cy-tx)}
.en-un{max-width:280px}

.en-placar{margin:0 0 10px;font-size:14px}
.en-rel{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.en-rel li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:8px 12px 8px 8px;border:1px solid var(--borda);border-radius:10px}
.en-rel li.ruim{background:var(--erro-suave);border-color:transparent}
.en-rel .pc-mini{width:52px;height:52px}
.en-rel li>div{display:grid;gap:2px;min-width:0}
.en-rel b{overflow-wrap:anywhere}
.en-det,.en-motivo{font-size:13px;color:var(--tx2)}
.en-motivo{color:var(--erro)}
.en-limpo{display:flex;gap:5px;align-items:center;font-size:12.5px;color:var(--tx3)}
.en-limpo svg{width:14px;height:14px;color:var(--ok)}
.en-mini-vazia{display:grid;place-items:center;width:52px;height:52px;border-radius:8px;background:var(--sup);color:var(--erro)}
.en-mini-vazia svg{width:22px;height:22px}

.en-formas{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.en-forma{display:grid;justify-items:center;gap:8px;padding:14px 8px 10px;border:1px solid var(--borda);border-radius:12px;background:var(--sup2);color:var(--tx);font:600 13px var(--fonte);cursor:pointer;text-align:center}
.en-forma:hover,.en-forma:focus-visible{border-color:var(--cy);color:var(--cy-tx);outline:none}
.en-forma .pc-mini{width:64px;height:64px}
.en-forma-ed{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.en-prev{margin:0;display:grid;gap:8px;justify-items:center;padding:16px;border:1px solid var(--borda);border-radius:12px;background:var(--sup2)}
.en-prev .pc-mini{width:180px;height:150px}
.en-prev figcaption{font-size:13px;color:var(--tx2);font-variant-numeric:tabular-nums;text-align:center}
.en-prev.invalida .pc-mini{opacity:.3}
.en-linha2{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px}
.en-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 10px}
.en-grade .sub{font-size:12px}

@media (max-width:560px){
  .en-dlg{margin:auto auto 0;width:100vw;max-width:100vw;max-height:94dvh;border-radius:18px 18px 0 0}
  .en-pe{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .en-pe .bt{flex:1}
  .en-arqs li{grid-template-columns:minmax(0,1fr) auto;padding:8px 6px 8px 12px}
  .en-arq{grid-column:1/-1}
  .en-arqs li .ico-bt{grid-row:1;grid-column:2}
  .en-arq{grid-column:1}
  .en-q{grid-column:1/-1}
  .en-un{max-width:none}
  .en-formas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .en-forma-ed{grid-template-columns:1fr;gap:14px}
  .en-prev .pc-mini{width:150px;height:110px}
  .en-grade{grid-template-columns:1fr 1fr}
}
