/* ============================================================
   RodoWall PAD — Esteiras de Validação
   ------------------------------------------------------------
   Filas de validação e advertência, botões de ação e caixa de conclusão.
   ============================================================ */

/* VALIDATION QUEUE */
.val-filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;margin-bottom:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.df-search{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 13px;color:var(--text);font-size:var(--fs-sm);font-family:var(--font);outline:none;min-width:240px;flex:1;max-width:320px;transition:border-color var(--t-base);}
.df-search:focus{border-color:var(--accent);}
.df-search::placeholder{color:var(--text3);}
.val-count{font-family:var(--font);font-size:var(--fs-xl);color:var(--text);}
.val-count-lbl{font-size:var(--fs-xs);color:var(--text2);font-family:var(--font);font-weight:600;}
.val-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs);}
.val-table th{text-align:left;padding:10px 12px;font-size:var(--fs-xs);color:var(--text2);border-bottom:2px solid var(--border);background:var(--surface2);font-family:var(--font);font-weight:600;position:sticky;top:0;z-index:1;}
.val-table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);}
.val-table tr:hover td{background:var(--surface2);}
.val-exp-row td{background:var(--surface2);padding:0;}
.val-exp-inner{padding:16px 18px;border-bottom:1px solid var(--border);background:var(--surface2);}
.val-actions{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap;padding:12px;background:var(--surface);border-radius:var(--r-md);border:1px solid var(--border);}
.val-inp{flex:1;min-width:200px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 11px;color:var(--text);font-size:var(--fs-xs);outline:none;}
.val-inp:focus{border-color:var(--accent);box-shadow:var(--foco);}
.vbtn{padding:9px 18px;border-radius:var(--r-sm);border:none;font-size:var(--fs-xs);font-family:var(--font);font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;}
.vbtn-ok{background:var(--green-solid);color:#fff;}
.vbtn-no{background:var(--red-solid);color:#fff;}
.vbtn-ok:hover,.vbtn-no:hover{filter:brightness(1.08);}
.tower-link-inp{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:7px 10px;color:var(--text);font-size:var(--fs-xs);outline:none;width:220px;}
.tower-link-inp:focus{border-color:var(--accent);box-shadow:var(--foco);}

/* ---------- Filtro por categoria (estilo Excel) ---------- */
.pd-filtros-cat-bar{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 12px;}
.pd-filtro-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);
  padding:6px 11px;color:var(--text2);font-size:var(--fs-xs);font-family:var(--font);
  cursor:pointer;transition:border-color .15s,color .15s;
}
.pd-filtro-btn:hover{border-color:var(--accent);color:var(--text);}
.pd-filtro-btn-on{border-color:var(--accent);color:var(--text);}
.pd-filtro-btn-ativo{background:var(--accent-dim);border-color:var(--accent);color:var(--text);}
.pd-filtro-btn-badge{
  background:var(--accent);color:var(--on-accent);border-radius:var(--r-full);
  font-size:var(--fs-xs);font-weight:600;padding:1px 6px;line-height:1.4;
}
.pd-filtro-btn-seta{font-size:var(--fs-xs);color:var(--text3);}

.pd-filtro-pop{
  position:absolute;z-index:1000;width:240px;
  background:var(--surface);border:1px solid var(--border2,var(--border));border-radius:var(--r-md);
  box-shadow:0 12px 32px rgba(0,0,0,.35);padding:10px;
}
.pd-filtro-pop-head{
  display:flex;align-items:center;justify-content:space-between;
  font-size:var(--fs-xs);font-weight:600;
  color:var(--text2);margin-bottom:8px;
}
.pd-filtro-pop-acoes{display:flex;gap:8px;}
.pd-filtro-link{background:none;border:none;color:var(--accent-text);font-size:var(--fs-xs);cursor:pointer;padding:0;text-decoration:underline;}
.pd-filtro-link:hover{opacity:.8;}
.pd-filtro-busca{
  width:100%;box-sizing:border-box;background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--r-sm);padding:6px 9px;color:var(--text);font-size:var(--fs-xs);outline:none;margin-bottom:8px;
}
.pd-filtro-busca:focus{border-color:var(--accent);}
.pd-filtro-lista{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;}
.pd-filtro-item{
  display:flex;align-items:center;gap:8px;padding:5px 4px;border-radius:var(--r-sm);
  font-size:var(--fs-sm);color:var(--text);cursor:pointer;
}
.pd-filtro-item:hover{background:var(--surface2);}
.pd-filtro-item input{margin:0;accent-color:var(--accent);flex-shrink:0;}
.pd-filtro-item-lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pd-filtro-item-cnt{font-size:var(--fs-xs);color:var(--text3);flex-shrink:0;}
.pd-filtro-vazio{font-size:var(--fs-xs);color:var(--text3);padding:8px 4px;}
