/* ═══════════════════════════════════════════════════════════════════
   MÓDULO PRODUTOS — Magazine dos Pés
   ═══════════════════════════════════════════════════════════════════ */
:root {
  --dark:#003399;--accent:#15803D;--accent-h:#166534;--gold:#b45309;--red:#DC2626;
  --bg:#F8FAFC;--card:#FFFFFF;--muted:#F1F5F9;--inp:#FAFAFA;
  --t1:#0f172a;--t2:#64748B;--t3:#94A3B8;
  --bdr:#E2E8F0;--bdr2:#CBD5E1;
  --r:8px;--rl:12px;
  --sh:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --shm:0 4px 12px rgba(0,0,0,.1);
  --marca-azul:#003399;--marca-laranja:#F47920;--marca-laranja-h:#D96910;
}
* { box-sizing:border-box; margin:0; padding:0; }
body {
  font-family:var(--font-body);
  background:var(--bg);color:var(--t1);min-height:100vh;
  font-size:14px;-webkit-font-smoothing:antialiased;padding-bottom:80px;
}

/* ── HEADER ── */
.produtos-header {
  background:#003399;height:68px;display:flex;align-items:center;
  justify-content:space-between;padding:0 1.5rem;
  position:sticky;top:30px;z-index:200;
  box-shadow:0 2px 12px rgba(0,51,153,.35);border-bottom:3px solid #F47920;
}
.produtos-header__left { display:flex;align-items:center;gap:12px; }
.produtos-header__right { display:flex;align-items:center;gap:12px; }
.produtos-header__right select {
  height:32px;padding:0 10px;border-radius:6px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.12);color:#fff;
  font-size:12px;font-weight:600;cursor:pointer;outline:none;font-family:inherit;
}
.produtos-header__right select option { background:#003399;color:#fff; }

.produtos-tabs-bar {
  position:sticky;top:98px;z-index:190;
  background:#fff;border-bottom:1px solid var(--bdr);
  display:flex;align-items:stretch;
  padding:0 1rem;
}
.produtos-tabs {
  display:flex;justify-content:center;
  overflow-x:auto;width:100%;
}
.produtos-tab {
  padding:14px 16px;font-size:13px;font-weight:500;
  color:var(--t2);cursor:pointer;
  border-bottom:2px solid transparent;
  transition:all .15s;white-space:nowrap;flex-shrink:0;
  background:none;border-top:none;border-left:none;border-right:none;
  font-family:inherit;
}
.produtos-tab.active { color:var(--marca-laranja);border-bottom-color:var(--marca-laranja); }
.produtos-tab:hover:not(.active) { color:var(--marca-azul); }

/* ── TOOLBAR ── */
.produtos-toolbar {
  display:flex;align-items:center;gap:12px;
  padding:.75rem 1.5rem;background:var(--card);
  border-bottom:1px solid var(--bdr);
}

/* ── WRAP / LISTA ── */
.produtos-wrap { width:100%;margin:0; }
#produtos-lista { padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem; }
.empty-state { text-align:center;padding:3rem;color:var(--t3);font-size:14px; }

/* ── FORNECEDOR GRUPO ── */
.forn-grupo { margin-bottom:2rem; }
.forn-grupo__header {
  display:flex;align-items:center;gap:10px;
  padding:.6rem 1rem;margin-bottom:.75rem;
}
.forn-grupo__badge {
  background:var(--marca-azul);color:#fff;border-radius:4px;
  padding:3px 12px;font-size:12px;font-weight:700;letter-spacing:.6px;
}
.forn-grupo__count { color:var(--t3);font-size:12px; }
.forn-grupo__body { display:flex;flex-direction:column;gap:12px; }
.forn-grupo__hint { font-size:11px;color:var(--t3);margin-left:8px; }

/* ── PROD CARD ── */
.prod-card {
  background:var(--card);border:1px solid var(--bdr);
  border-radius:var(--rl);box-shadow:var(--sh);overflow:hidden;
}
.prod-card__summary {
  display:flex;align-items:center;gap:12px;
  padding:.75rem 1rem;cursor:pointer;transition:background .15s;
}
.prod-card__summary:hover { background:var(--muted); }
.prod-card__thumb {
  width:90px;height:90px;flex-shrink:0;
  border-radius:var(--r);overflow:hidden;
  background:#fff;border:1px solid var(--bdr);
  display:flex;align-items:center;justify-content:center;
}
.prod-card__thumb img { width:100%;height:100%;object-fit:contain; }
.prod-card__thumb-placeholder { font-size:24px; }
.prod-card__info { text-align:center;min-width:160px;flex-shrink:0; }
.prod-card__nome { font-size:13px;font-weight:700;color:var(--t1); }
.prod-card__ref { font-size:11px;color:var(--t3);margin-top:2px; }
.prod-card__sku { font-size:10px;color:var(--t3);margin-top:2px; }
.prod-card__custo {
  display:flex;flex-direction:column;gap:3px;flex-shrink:0;
}
.prod-card__custo-label {
  font-size:11px;font-weight:600;color:var(--t2);
}
.prod-card__custo-valor {
  font-size:13px;font-weight:700;color:var(--t1);
}
.prod-card__fields { display:flex;gap:10px;flex:1;flex-wrap:wrap; }
.prod-card__fields label { display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;color:var(--t2); }
.prod-card__fields input {
  height:30px;padding:0 8px;border:1px solid var(--bdr2);
  border-radius:var(--r);font-size:12px;font-family:inherit;
  background:var(--inp);color:var(--t1);outline:none;width:120px;
}
.prod-card__fields input:focus { border-color:var(--marca-azul); }
.prod-card__meta { display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0; }
.prod-card__actions { display:flex;gap:6px;flex-shrink:0; }
.prod-card__chevron { color:var(--t3);font-size:14px;flex-shrink:0;transition:transform .2s;margin-left:4px; }
.prod-card__detail { border-top:1px solid var(--bdr);padding:.75rem 1rem 1rem; }
.prod-card__detail-fields {
  display:flex;gap:12px;flex-wrap:wrap;
  padding:.75rem 0 1rem;border-bottom:1px solid var(--bdr);margin-bottom:.75rem;
}
.prod-card__detail-fields label { display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;color:var(--t2); }
.prod-card__detail-fields input {
  height:30px;padding:0 8px;border:1px solid var(--bdr2);
  border-radius:var(--r);font-size:12px;font-family:inherit;
  background:var(--inp);color:var(--t1);outline:none;width:140px;
}
.prod-card__detail-fields input:focus { border-color:var(--marca-azul); }

/* ── META TAGS ── */
.meta-tag {
  background:var(--muted);border:1px solid var(--bdr);
  border-radius:4px;padding:2px 8px;font-size:11px;color:var(--t2);
}
.meta-tag--destaque {
  background:#DCFCE7;border-color:#86EFAC;color:#166534;font-weight:600;
}

/* ── CORES GRID ── */
.cores-grid { display:flex; flex-wrap:wrap; border-left:1px solid var(--bdr); border-right:1px solid var(--bdr); }

.cores-grid:has(.cor-tabela:nth-child(4)) .cor-tabela {
  width: 50%;
  max-width: 50%;
  flex: none;
}

.cores-grid:not(:has(.cor-tabela:nth-child(4))) .cor-tabela {
  flex: 1;
  min-width: 0;
  max-width: none;
}

.cor-tabela {
  border-right: 1px solid var(--bdr);
  border-bottom: 1px solid var(--bdr);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-width: 0;
}
.cor-tabela:last-child { border-right: 1px solid var(--bdr); }

.peso-padrao-wrap {
  display:flex;align-items:center;gap:8px;
  padding:.5rem 1rem;background:var(--muted);
  border-top:1px solid var(--bdr);font-size:12px;color:var(--t2);
}
.peso-padrao-valor { color:#166534;font-size:13px;font-weight:600; }

.cor-foto-wrap { display:flex;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--bdr);overflow:hidden; }
.cor-foto-wrap:not(:has(.cor-foto-img img)) { min-height:48px; }
.cor-foto-img { width:300px;height:180px;flex-shrink:0;overflow:hidden;background:var(--muted);display:flex;align-items:center;justify-content:center;border-right:1px solid var(--bdr); }
.cor-foto-img img { width:100%;height:100%;object-fit:cover;display:block; }
.cor-foto-img[style*="height:0"] { width:0;border-right:none; }
.cor-foto-img--vazia { min-height:0;height:0;border-right:none; }
.cor-foto-img__img { width:100%;height:100%;object-fit:cover;display:block; }
.cor-foto-info { flex:1;padding:.75rem 1rem;display:flex;flex-direction:column;justify-content:center;gap:4px; }
.cor-foto-sub { font-size:11px;font-weight:800;letter-spacing:.8px;color:var(--t2); }
.btn-foto-cor { background:none;border:1px solid var(--bdr2);border-radius:var(--r);padding:4px 8px;font-size:11px;cursor:pointer;color:var(--t2);font-family:inherit; }
.btn-foto-cor:hover { background:var(--muted); }
.btn-foto-cor--remover { color:var(--t3);border-color:var(--bdr);font-size:10px;padding:2px 6px; }
.cores-vazio { padding:1rem;color:var(--t3); }

/* ── COR TABELA ── */
.cor-tabela__header { margin-bottom:0; }
.cor-header-row {
  display:flex;align-items:center;justify-content:center;
  gap:8px;padding:.55rem 1rem;
  border-bottom:1px solid var(--bdr);
  background:var(--muted);
}
.cor-header-left { display:flex;align-items:center; }
.cor-circle-inline {
  width:14px;height:14px;border-radius:50%;
  border:1.5px solid rgba(0,0,0,.15);
  display:inline-block;flex-shrink:0;margin-left:-4px;
}
.cor-circle-inline:first-child { margin-left:0; }
.cor-nome-label {
  margin-left:8px;font-size:12px;font-weight:700;
  color:var(--t2);text-transform:uppercase;letter-spacing:.5px;
}

/* ── TABELA ── */
.tabela-tam { width:100%;border-collapse:collapse;font-size:12px; }
.tabela-tam th {
  text-align:center;padding:6px 8px;
  background:var(--muted);color:var(--t2);
  font-weight:600;font-size:11px;letter-spacing:.3px;
  border-bottom:1px solid var(--bdr);
  border-right:1px solid var(--bdr);
  }
.tabela-tam th:last-child { border-right:none; }
.tabela-tam td {
  padding:8px 10px;
  border-bottom:1px solid var(--bdr);
  border-right:1px solid var(--bdr);
  color:var(--t1);
  font-variant-numeric:tabular-nums;
  font-size:12px;
  height:36px;
  text-align:center;
}
.tabela-tam td:last-child { border-right: none; }
.tabela-tam tr:last-child td { border-bottom: none; }
.tabela-tam tbody tr:hover td { background:var(--muted); }
.tr-padrao th {
  text-align:center;
  background:var(--muted);font-size:10px;
  color:var(--t3);letter-spacing:.3px;
  padding:3px 8px;border-bottom:none;
  border-right:1px solid var(--bdr);
}
.tr-padrao th:last-child { border-right:none; }
.sku-cell {
  font-size:12px;color:var(--t2);font-weight:500;
}
.cell-edit { cursor:text;min-width:44px;text-align:center; }
.cell-edit:focus { background:var(--muted);outline:2px solid var(--marca-azul);border-radius:2px; }
.td-tam { font-weight:600;color:var(--t1); }
.td-cubado { color:#166534;font-weight:600; }
.peso-maior { color:#166534;font-weight:700; }

/* ── TABELA EDITOR (modal) ── */
.tabela-tam--editor input {
  width:100%;border:1px solid var(--bdr2);border-radius:4px;
  padding:3px 6px;font-size:12px;font-family:inherit;
  background:var(--inp);color:var(--t1);outline:none;
}

.tabela-tam th:nth-child(1),
.tabela-tam td:nth-child(1) { width:36px; }

.tabela-tam th:nth-child(2),
.tabela-tam td:nth-child(2) { width:120px; }

.tabela-tam th:nth-child(3),
.tabela-tam th:nth-child(4),
.tabela-tam th:nth-child(5),
.tabela-tam td:nth-child(3),
.tabela-tam td:nth-child(4),
.tabela-tam td:nth-child(5) { width:52px; }

.tabela-tam th:nth-child(6),
.tabela-tam th:nth-child(7),
.tabela-tam td:nth-child(6),
.tabela-tam td:nth-child(7) { width:52px; font-size:11px; }

.tabela-tam th:nth-child(8),
.tabela-tam td:nth-child(8) { width:52px; }

.tabela-tam--editor input[type=number] {
  -moz-appearance: textfield;
  appearance: textfield;
  text-align: center;
}
.tabela-tam--editor input::-webkit-outer-spin-button,
.tabela-tam--editor input::-webkit-inner-spin-button { -webkit-appearance: none; }
.tabela-tam--editor input:focus { border-color:var(--marca-azul); }

/* ── BOTÕES ── */
.btn {
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:var(--r);border:1px solid var(--bdr2);
  background:var(--card);color:var(--t1);font-size:13px;
  font-family:inherit;font-weight:500;cursor:pointer;
  transition:all .15s;white-space:nowrap;
}
.btn:hover { background:var(--muted);border-color:var(--bdr2); }
.btn-primary { background:var(--marca-laranja);border-color:var(--marca-laranja);color:#fff; }
.btn-primary:hover { background:var(--marca-laranja-h);border-color:var(--marca-laranja-h); }
.btn-red { background:transparent;border-color:#FECACA;color:var(--red); }
.btn-red:hover { background:#FEF2F2; }
.btn-sm { padding:4px 10px;font-size:12px; }

select {
  height:36px;padding:0 10px;border:1px solid var(--bdr2);
  border-radius:var(--r);font-size:13px;font-family:inherit;
  background:var(--inp);color:var(--t1);outline:none;cursor:pointer;
}
select:focus { border-color:var(--marca-azul); }

/* ── MODAL ── */
.modal-overlay {
    position:fixed;inset:0;background:rgba(0,0,0,.45);
    z-index:1000;display:none;align-items:center;justify-content:center;padding:1rem;
  }
.modal-overlay.open {
    display:flex;
  }
.modal-box {
  background:var(--card);border-radius:var(--rl);
  box-shadow:0 20px 60px rgba(0,0,0,.25);
  width:100%;max-width:720px;max-height:90vh;
  display:flex;flex-direction:column;overflow:hidden;
}
.modal-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.25rem;border-bottom:1px solid var(--bdr);
  font-size:15px;font-weight:700;color:var(--t1);flex-shrink:0;
}
.modal-header button { background:none;border:none;font-size:18px;cursor:pointer;color:var(--t3);padding:4px;border-radius:4px; }
.modal-header button:hover { color:var(--red); }
.modal-body { padding:1.25rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px; }
.modal-footer { padding:.875rem 1.25rem;border-top:1px solid var(--bdr);display:flex;justify-content:flex-end;gap:8px;flex-shrink:0; }
.form-row { display:flex;flex-direction:column;gap:4px; }
.form-label {
  font-size:11px;font-weight:500;color:var(--t2);
  letter-spacing:.8px;text-transform:uppercase;
}
.imp-titulo { text-align:center; margin:2rem 0 .5rem; font-size:20px; font-weight:700; }
.imp-desc { text-align:center; color:var(--t2); font-size:13px; margin-bottom:1.5rem; }
.imp-zona { border:2px dashed var(--bdr2); border-radius:var(--r); padding:32px 40px; text-align:center; cursor:pointer; max-width:480px; margin:0 auto; font-size:13px; color:var(--t2); transition:border-color .15s; }
.imp-zona:hover { border-color:var(--marca-azul); color:var(--marca-azul); }
.form-row input[type=text], .form-row input[type=number] {
  height:40px;padding:0 12px;border:1px solid var(--bdr2);
  border-radius:var(--r);font-size:13px;font-family:inherit;
  background:var(--inp);color:var(--t1);outline:none;
}
.form-row input:focus { border-color:var(--marca-azul); }
.form-section-title {
  font-size:12px;font-weight:700;color:var(--t2);
  text-transform:uppercase;letter-spacing:.5px;
  padding-top:4px;border-top:1px solid var(--bdr);margin-top:4px;
}

/* ── COR BLOCO (editor modal) ── */
.cor-bloco {
  border:1px solid var(--bdr);border-radius:var(--r);
  padding:.75rem;display:flex;flex-direction:column;gap:8px;background:var(--muted);
}
.cor-bloco__header { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.cor-nome-input {
  flex:1;height:32px;padding:0 10px;border:1px solid var(--bdr2);
  border-radius:var(--r);font-size:13px;font-family:inherit;
  background:var(--card);color:var(--t1);outline:none;
}
.cor-nome-input:focus { border-color:var(--marca-azul); }

.cor-padrao-row {
  display:flex;align-items:center;gap:12px;
  padding:.5rem 0;border-bottom:1px solid var(--bdr);
}
.cor-padrao-row:last-child { border-bottom:none; }

.layout{display:flex;min-height:calc(100vh - 108px);}
.sidebar{
  width:220px;min-width:220px;background:var(--card);
  border-right:1px solid var(--bdr);display:flex;flex-direction:column;
  overflow-y:auto;box-shadow:1px 0 0 rgba(15,23,42,.04);
}
.sidebar-section{
  padding:10px 0;border-bottom:1px solid var(--bdr);
  display:flex;flex-direction:column;gap:2px;
}
.sidebar-label{
  font-size:9px;font-weight:700;color:var(--t3);letter-spacing:.14em;
  text-transform:uppercase;padding:0 14px 8px;
}
.sidebar-item{
  display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;
  color:var(--t2);font-size:13px;font-weight:500;
  transition:background .12s,color .12s;border-left:3px solid transparent;
}
.sidebar-item:hover{background:var(--muted);color:var(--marca-azul);}
.sidebar-item.active{
  background:rgba(0,51,153,.06);color:var(--marca-azul);
  border-left-color:var(--marca-laranja);font-weight:700;
}
.sidebar-dot{width:6px;height:6px;border-radius:50%;background:var(--bdr2);flex-shrink:0;}
.sidebar-item.active .sidebar-dot{background:var(--marca-laranja);}
.sidebar-item__nome { flex:1;text-align:right; }
.sidebar-item__count { font-size:10px;opacity:.5;min-width:18px;text-align:right; }
.sidebar-vazio { font-size:12px;color:var(--t3);padding:4px 8px; }
.sidebar-add{padding:10px 14px;}
.sidebar-add-btn{width:100%;justify-content:center;}
.main{flex:1;min-width:0;overflow-y:auto;background:var(--bg);}

.pcc-resumo {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--muted, #F1F5F9);
  border: 1px solid var(--bdr, #E2E8F0);
  border-radius: 8px;
  padding: 8px 14px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.pcc-resumo--editor {
  margin: 6px 0 8px;
  min-height: 36px;
  align-items: center;
}
.pcc-resumo__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
.pcc-resumo__label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--t3, #94A3B8);
}
.pcc-resumo__val {
  font-size: 14px;
  font-weight: 700;
  color: var(--t1, #1E293B);
  line-height: 1.2;
}
.pcc-resumo__sep {
  font-size: 14px;
  color: var(--t3, #94A3B8);
  margin-top: 10px;
}
.pcc-resumo__divider {
  width: 1px;
  height: 28px;
  background: var(--bdr, #E2E8F0);
  margin: 0 4px;
}
.pcc-resumo__item--pcc {
  background: var(--marca-azul, #003399);
  border-radius: 8px;
  padding: 4px 12px;
}
.pcc-resumo__item--pcc .pcc-resumo__label {
  color: rgba(255,255,255,.6);
}
.pcc-resumo__val--pcc {
  color: #fff;
  font-size: 15px;
}
.pcc-resumo__inp {
  width: 52px;
  height: 28px;
  padding: 0 6px;
  border: 1px solid var(--bdr2);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  background: var(--card);
  color: var(--t1);
  outline: none;
  text-align: center;
  -moz-appearance: textfield;
  appearance: textfield;
}
.pcc-resumo__inp:focus {
  border-color: var(--marca-azul);
}
.pcc-resumo__inp::-webkit-outer-spin-button,
.pcc-resumo__inp::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/* ── Toast (mesmo padrão do módulo Compras) ── */
#toast {
  position: fixed;
  bottom: 72px;
  right: 1.5rem;
  background: var(--t1);
  color: #fff;
  border-radius: var(--r);
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  opacity: 0;
  transform: translateY(6px);
  transition: all .2s;
  pointer-events: none;
  z-index: 3000;
}
#toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* ── Modal Fornecedor — Header ── */
.mf-header-acoes { display:flex;align-items:center;gap:8px; }
.modal-header .mf-btn-fechar,
.modal-header .mf-btn-novo-icone {
  width:28px;height:28px;border-radius:6px;
  background:transparent;color:var(--t2);
  border:1px solid var(--bdr);line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .15s;padding:0;
  position:relative;
}
.modal-header .mf-btn-fechar { font-size:16px;font-weight:300; }
.modal-header .mf-btn-novo-icone { font-size:18px; }
.modal-header .mf-btn-fechar:hover,
.modal-header .mf-btn-novo-icone:hover {
  color:var(--t1);border-color:var(--bdr2);background:var(--muted);
}
.modal-header .mf-btn-novo-icone[data-tip]:hover::after {
  content:attr(data-tip);
  position:absolute;top:calc(100% + 6px);right:0;
  background:var(--t1);color:#fff;
  font-size:11px;font-weight:500;white-space:nowrap;
  padding:4px 8px;border-radius:4px;
  pointer-events:none;z-index:10;
}
.mf-btn-novo-icone {
  width:28px;height:28px;border-radius:6px;
  background:transparent;color:var(--marca-laranja);
  border:1px solid var(--marca-laranja);font-size:18px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .15s;font-weight:300;
}
.mf-btn-novo-icone:hover { background:var(--marca-laranja);color:#fff; }

/* ── Modal Fornecedor — Onboarding ── */
.mf-form-wrap { display:none; }
.mf-form-acoes { display:flex;gap:8px;margin-top:1rem; }
.mf-secao { margin-bottom:1rem; }
.mf-secao-titulo { font-size:13px;font-weight:700;color:var(--t1);margin-bottom:1rem; }
.mf-secao-label {
  font-size:10px;font-weight:700;color:var(--t3);
  text-transform:uppercase;letter-spacing:.6px;
  margin-bottom:.5rem;padding-bottom:.35rem;
  border-bottom:1px solid var(--bdr);
}
.mf-grade-2 { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.mf-grade-3 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px; }
.mf-minimo-radios { display:flex;gap:16px;flex-wrap:wrap;margin-bottom:.25rem; }
.mf-minimo-campos { display:none;margin-top:.5rem; }
.mf-campo-pares,
.mf-campo-valor { display:none; }
.mf-radio-label {
  display:flex;align-items:center;gap:6px;
  font-size:13px;color:var(--t2);cursor:pointer;
}
.mf-radio-label input[type=radio],
.mf-radio-label input[type=checkbox] { cursor:pointer; }
.mf-opcoes { display:flex;gap:20px;flex-wrap:wrap; }
.mf-campo-readonly {
  opacity:.5;pointer-events:none;
  background:var(--muted);
}
.mf-grade-1 { display:grid;grid-template-columns:1fr;gap:10px;max-width:50%; }
.mf-caixa-proibida {
  opacity:.4;cursor:not-allowed;
  text-decoration:line-through;
  color:var(--t3);
}
.mf-caixa-proibida input { cursor:not-allowed; }
.mf-caixa-atencao { color:#dc2626;font-weight:600; }
.mf-grade-radios { display:flex;gap:16px;flex-wrap:wrap;margin-bottom:.5rem; }
.mf-caixas-preview {
  font-size:12px;color:var(--t2);padding:6px 10px;
  background:var(--muted);border-radius:var(--r);
  border:1px solid var(--bdr);margin-bottom:.5rem;
  min-height:30px;display:flex;align-items:center;
}
.mf-caixas-custom { display:none; }
.mf-caixas-checks { display:flex;gap:12px;flex-wrap:wrap;margin-top:.35rem; }

/* ── Modal Fornecedor — Popover Ícone ── */
.mf-icone-popover {
  position:fixed;z-index:9999;background:#fff;
  border:1px solid var(--bdr);border-radius:10px;
  padding:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);
  display:grid;grid-template-columns:repeat(10,1fr);
  gap:2px;width:300px;
}
.mf-icone-popover__btn {
  font-size:16px;width:26px;height:26px;
  background:transparent;border:1px solid transparent;
  border-radius:6px;cursor:pointer;padding:2px;
}
.mf-icone-popover__btn--ativo { background:#EFF6FF;border-color:#3B82F6; }
.mf-icone-popover__btn:hover { background:var(--muted); }

/* ── Modal Fornecedor — Lista ── */
.mf-lista-vazia { font-size:13px;color:var(--t3);text-align:center;padding:1rem 0; }
.mf-lista-item {
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem .75rem;border:1px solid var(--bdr);
  border-radius:8px;margin-bottom:.5rem;
}
.mf-lista-item__esq { display:flex;align-items:center;gap:8px; }
.mf-lista-item__dir { display:flex;align-items:center;gap:10px; }
.mf-lista-item__nome { font-size:13px;font-weight:600;color:var(--t1); }
.mf-lista-item__custom { font-size:11px;color:var(--t3);font-weight:400; }
.mf-icone-btn {
  font-size:20px;background:none;border:1px solid var(--bdr);
  border-radius:6px;width:36px;height:36px;cursor:pointer;flex-shrink:0;
}
.mf-icone-btn:hover { background:var(--muted); }
.mf-btn-excluir { color:var(--red);border-color:#FECACA; }
.mf-btn-excluir:hover { background:#FEF2F2; }

/* ── Filiais ── */
.mp-filiais-wrap {
  display: none;
  margin: 8px 0;
}
.mp-filiais-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--t2);
  margin-bottom: 6px;
  letter-spacing: 0.04em;
}
.mp-filiais-row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.mp-filiais-select {
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--bdr2);
  border-radius: var(--r);
  font-size: 13px;
  font-family: inherit;
  background: var(--inp);
  color: var(--t1);
  outline: none;
  min-width: 140px;
}
.mp-filiais-select:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.mp-filiais-hint {
  font-size: 12px;
  color: var(--t3);
  margin-top: 4px;
  display: block;
}

/* ── Bloco visual de grade ───────────────────────────────────────── */
.mf-grade-visual {
  margin-top: .5rem;
  padding: .5rem .75rem;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 12px;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.mf-gv-linha {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.mf-gv-label {
  color: var(--t3);
  min-width: 60px;
}
.mf-gv-val {
  color: var(--t1);
  font-weight: 600;
  margin-right: .75rem;
}
.mf-gv-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
}
.mf-gv-pill {
  padding: 1px 7px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
}
.mf-gv-pill--ok {
  background: #d1fae5;
  color: #065f46;
}
.mf-gv-pill--no {
  background: #fee2e2;
  color: #991b1b;
}
.mf-gv-pill--etc {
  background: var(--bg3);
  color: var(--t3);
}
.mf-gv-pill--alerta {
  background: #fed7aa;
  color: #9a3412;
}

/* Editor cores padrão */
.cp-input-nome { width:140px; height:32px; padding:0 8px; border:1px solid var(--bdr2); border-radius:var(--r); font-size:13px; font-family:inherit; }
.cp-col-cor { display:flex; flex-direction:column; align-items:center; gap:2px; }
.cp-input-cor { width:32px; height:32px; border:1px solid var(--bdr); border-radius:6px; padding:2px; cursor:pointer; }
.cp-label-cor { font-size:9px; color:var(--t3); }
.cp-label-check { display:flex; align-items:center; gap:2px; font-size:9px; color:var(--t3); cursor:pointer; }
.cp-check { width:10px; height:10px; }
.cp-input-aliases { flex:1; height:32px; padding:0 8px; border:1px solid var(--bdr2); border-radius:var(--r); font-size:11px; font-family:inherit; color:var(--t2); }