:root {
  --laranja: #F7941D;
  --laranja-escuro: #d97c0a;
  --grafite: #33333A;
  --fundo: #F4F4F2;
  --card: #FFFFFF;
  --borda: #E4E4E1;
  --texto: #2A2A2E;
  --texto-2: #74747C;
  --verde: #2E9E5B;
  --vermelho: #D64545;
  --display: "Space Grotesk", system-ui, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }
body {
  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--fundo);
  color: var(--texto);
  min-height: 100vh;
}
button { font: inherit; cursor: pointer; border: 0; background: none; }
h1, h2, h3, .cb-titulo { font-family: var(--display); letter-spacing: -.01em; }
input, select, textarea {
  font: inherit; width: 100%; padding: 12px 14px;
  border: 1.5px solid var(--borda); border-radius: 12px; background: #fff; color: var(--texto);
}
input:focus, select:focus, textarea:focus { outline: 2px solid var(--laranja); border-color: var(--laranja); }

.tela-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.login-box { width: 100%; max-width: 340px; background: var(--card); border-radius: 20px; padding: 32px 24px; text-align: center; box-shadow: 0 8px 30px rgba(0,0,0,.08); }
.logo-grande { font-size: 30px; font-weight: 800; color: var(--grafite); letter-spacing: 1px; }
.logo-grande span, .logo span { color: var(--laranja); }
.login-sub { color: var(--texto-2); margin: 4px 0 22px; }
#inputPin { text-align: center; font-size: 26px; letter-spacing: 10px; margin-bottom: 14px; }

.topo {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; justify-content: space-between;
  background: var(--grafite); color: #fff; padding: 14px 16px;
}
.logo { font-size: 20px; font-weight: 800; letter-spacing: .5px; }

/* ---------- Sidebar (desktop) ---------- */
.sidebar { display: none; }
.side-logo { font-size: 20px; font-weight: 800; letter-spacing: .5px; color: #fff; padding: 4px 8px 22px; }
.side-logo span { color: var(--laranja); }
.side-nav { display: flex; flex-direction: column; gap: 4px; }
.side-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: 12px;
  color: #C9C9CE; font-size: 15px; font-weight: 600; text-align: left; width: 100%;
  transition: background .12s, color .12s;
}
.side-item .side-ico { font-size: 18px; width: 22px; text-align: center; }
.side-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.side-item.ativo { background: var(--laranja); color: #fff; }
.side-rodape { margin-top: auto; }

@media (min-width: 860px) {
  .app-shell { display: flex; min-height: 100vh; align-items: stretch; }
  .sidebar {
    display: flex; flex-direction: column;
    position: sticky; top: 0; align-self: flex-start;
    width: 224px; height: 100vh; flex-shrink: 0;
    background: var(--grafite); padding: 22px 14px;
  }
  .app-main { flex: 1; min-width: 0; }
  .topo .logo { display: none; }
  .app-shell .topo { justify-content: flex-end; background: #fff; color: var(--texto); border-bottom: 1px solid var(--borda); }
  .app-shell .chip-wa { background: #F2F2F0; color: var(--texto); }
  .conteudo { padding-bottom: 40px; }
  .app-shell .tabs { display: none; }
  .app-shell .ct-barra-sel { bottom: 0; left: 224px; }
}
.topo-acoes { display: flex; align-items: center; gap: 10px; }
.chip-wa {
  display: flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.12); color: #fff;
  padding: 7px 12px; border-radius: 999px; font-size: 13px;
}
.dot { width: 9px; height: 9px; border-radius: 50%; background: #999; }
.dot.on { background: #4ADE80; }
.dot.qr { background: var(--laranja); animation: pulsa 1.2s infinite; }
.dot.off { background: #F87171; }
@keyframes pulsa { 50% { opacity: .35; } }
.btn-icone { font-size: 20px; padding: 6px; }

.conteudo { padding: 16px 16px 96px; max-width: 760px; margin: 0 auto; }

.tabs {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 20;
  display: flex; background: #fff; border-top: 1px solid var(--borda);
  padding-bottom: env(safe-area-inset-bottom);
}
.tab {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 10px 0 8px; font-size: 20px; color: var(--texto-2);
}
.tab span { font-size: 12px; font-weight: 600; }
.tab.ativo { color: var(--laranja); }

.lote-ativo {
  display: block; width: 100%; text-align: left;
  margin-top: 10px; padding: 10px 14px; border-radius: 12px;
  background: #FDF3E3; color: #9A6108; font-size: 13px; font-weight: 600;
}
.aviso-risco {
  background: #FDEBD3; color: #9A6108; border: 1px solid #F3D9A8;
  padding: 12px 14px; border-radius: 12px; font-size: 13px; line-height: 1.5; margin-bottom: 14px;
}
.ct-lista-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 22px 0 10px; flex-wrap: wrap; }
.ct-sel-acoes { display: flex; gap: 14px; }
.link-sel { font-size: 13px; font-weight: 700; color: var(--laranja-escuro); text-decoration: underline; }

.ct-busca { margin: 4px 0 10px; }
.ct-busca input[type="search"] { font-size: 15px; }
.ct-filtros { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ct-filtro {
  padding: 6px 12px; border-radius: 999px; border: 1.5px solid var(--borda);
  background: #fff; font-size: 13px; font-weight: 700; color: var(--texto-2); white-space: nowrap;
}
.ct-filtro.ativo { border-color: var(--laranja); background: #FDF3E3; color: var(--laranja-escuro); }
.ct-resultado { font-size: 12px; color: var(--texto-2); margin-top: 8px; }

.ct-grade {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 6px;
}
@media (min-width: 560px) { .ct-grade { grid-template-columns: repeat(4, 1fr); gap: 8px; } }
.ct-cel {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 6px 7px 10px; position: relative;
  border: 1.5px solid var(--borda); border-radius: 10px; background: var(--card);
  cursor: pointer; overflow: hidden;
  transition: border-color .1s, background .1s;
}
/* barrinha de status na lateral esquerda */
.ct-cel::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--texto-2);
}
.ct-cel.st-novo::before { background: var(--laranja); }
.ct-cel.st-na_fila::before { background: #5B8DEF; }
.ct-cel.st-convidado::before { background: var(--verde); }
.ct-cel.st-ja_no_grupo::before { background: #1D6E3E; }
.ct-cel.st-erro::before { background: var(--vermelho); }
.ct-cel.st-sair::before { background: #B7B7BC; }
.ct-cel.nao-sel { cursor: default; opacity: .55; }
.ct-cel.sel { border-color: var(--laranja); background: #FDF3E3; }

.ct-check {
  flex-shrink: 0; width: 19px; height: 19px; border-radius: 50%;
  border: 2px solid var(--borda); background: #fff; position: relative;
}
.ct-cel.nao-sel .ct-check { opacity: .3; }
.ct-cel.sel .ct-check { border-color: var(--laranja); background: var(--laranja); }
.ct-cel.sel .ct-check::after {
  content: "✓"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 12px; font-weight: 900;
}
.ct-cel-info { min-width: 0; flex: 1; }
.ct-cel-nome { font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.25; }
.ct-cel-fone { font-size: 10.5px; color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ct-legenda { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 4px 0 12px; font-size: 12px; color: var(--texto-2); }
.ct-legenda span { display: inline-flex; align-items: center; gap: 5px; }
.ct-legenda .pt { width: 10px; height: 10px; border-radius: 3px; background: var(--texto-2); display: inline-block; }
.ct-legenda .pt.st-novo { background: var(--laranja); }
.ct-legenda .pt.st-na_fila { background: #5B8DEF; }
.ct-legenda .pt.st-convidado { background: var(--verde); }
.ct-legenda .pt.st-ja_no_grupo { background: #1D6E3E; }
.ct-legenda .pt.st-sair { background: #B7B7BC; }
.ct-barra-sel {
  position: fixed; left: 0; right: 0; z-index: 30;
  bottom: calc(56px + env(safe-area-inset-bottom));
  padding: 12px 16px;
  background: #fff; border-top: 1px solid var(--borda); box-shadow: 0 -4px 20px rgba(0,0,0,.12);
}
.ct-barra-sel .btn { max-width: 760px; margin: 0 auto; }
.como-botao { width: 100%; border: 0; }

.chips-titulo { font-size: 13px; color: var(--texto-2); font-weight: 600; margin: 12px 0 6px; }
.chips-linha { display: flex; gap: 8px; }
.chip-desc {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px;
  padding: 9px 4px; border-radius: 12px; border: 1.5px solid var(--borda);
  background: #fff; font-weight: 700; color: var(--texto); font-size: 15px;
}
.chip-desc small { font-size: 11px; font-weight: 600; color: var(--texto-2); }
.chip-desc.sel { border-color: var(--laranja); background: #FDF3E3; color: var(--laranja-escuro); }
.chip-desc.sel small { color: var(--laranja-escuro); }

.chip-estado {
  padding: 8px 12px; border-radius: 999px; border: 1.5px solid var(--borda);
  background: #fff; font-weight: 600; color: var(--texto); font-size: 13px;
}
.chip-estado.sel { border-color: var(--laranja); background: #FDF3E3; color: var(--laranja-escuro); font-weight: 700; }

.btn-vender { background: var(--verde); color: #fff; }
.vendido-info { background: #DCF3E4; color: #1D6E3E; padding: 10px 12px; border-radius: 10px; font-size: 14px; margin-top: 10px; font-weight: 600; }

.grade-kpi { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kpi { background: var(--card); border: 1px solid var(--borda); border-radius: 14px; padding: 14px; }
.kpi-num { font-size: 22px; font-weight: 800; color: var(--grafite); }
.kpi-lbl { font-size: 12px; color: var(--texto-2); margin-top: 2px; }
.kpi-hint { font-size: 11px; color: var(--texto-2); opacity: .7; font-weight: 500; }
.kpi-sub { font-size: 12px; font-weight: 700; color: var(--verde); margin-top: 6px; }
.kpi-destaque { background: var(--grafite); border-color: var(--grafite); }
.kpi-destaque .kpi-num { color: var(--laranja); }
.kpi-destaque .kpi-lbl { color: #C9C9CE; }
.sec-titulo { margin: 22px 0 10px; font-size: 16px; color: var(--grafite); }

/* 🕵️ Fila de aprovação de produtos de parceiro */
#apAprovLista { display: flex; flex-direction: column; gap: 10px; }
.aprov-item { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #E7E1D6; border-left: 4px solid #F7941D; border-radius: 14px; padding: 10px 12px; }
.aprov-foto { width: 54px; height: 54px; object-fit: cover; border-radius: 10px; background: #F5F1EA; flex: none; }
.aprov-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; font-size: 13px; color: #201F24; }
.aprov-info b { font-size: 13.5px; }
.aprov-info span { color: #78767F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aprov-info .aprov-preco { color: #149a5b; font-weight: 700; }
.aprov-acoes { display: flex; gap: 6px; flex: none; }
.aprov-acoes .btn { padding: 8px 12px; font-size: 13px; }
.btn-ok { background: #149a5b; color: #fff; border: 0; }
.btn-ok:hover { background: #0f7d49; }
/* chips de filtro por categoria na fila do grupo */
.fg-chip { font-size: 12.5px; font-weight: 600; color: #201F24; background: #fff; border: 1.5px solid #E7E1D6; border-radius: 999px; padding: 6px 12px; cursor: pointer; font-family: inherit; }
.fg-chip:hover { border-color: #F7941D; }
.fg-chip.on { background: #33333A; color: #fff; border-color: #33333A; }
@media (max-width: 560px) {
  .aprov-item { flex-wrap: wrap; }
  .aprov-acoes { width: 100%; }
  .aprov-acoes .btn { flex: 1; }
}

.convite-linha { display: flex; gap: 8px; margin-bottom: 10px; }
.convite-linha input { flex: 1; min-width: 0; }
.convite-linha .btn { padding: 13px 16px; white-space: nowrap; }
.convite-linha .btn:disabled { opacity: 0.55; }
.btn:disabled { opacity: 0.55; pointer-events: none; }

.nivel-barra { height: 12px; background: #EEE9E2; border-radius: 999px; overflow: hidden; margin-top: 8px; }
.nivel-fill { height: 100%; background: linear-gradient(90deg, var(--laranja), #FDBA74); border-radius: 999px; transition: width .4s; }

#modalEnquadre { z-index: 60; }
.enq-area { position: relative; width: 100%; aspect-ratio: 1 / 1; background: #101013; border-radius: 14px; overflow: hidden; touch-action: none; cursor: grab; border: 2px solid var(--laranja); }
.enq-area:active { cursor: grabbing; }
.enq-area img { position: absolute; max-width: none; user-select: none; -webkit-user-drag: none; pointer-events: none; }
#enqZoom { width: 100%; accent-color: var(--laranja); }

.lote-card { background: var(--card); border: 1px solid var(--borda); border-radius: 14px; padding: 14px; }
.lote-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.tag-ativo { font-size: 11px; font-weight: 700; background: var(--laranja); color: #fff; border-radius: 999px; padding: 2px 8px; vertical-align: middle; }
.btn-mini { font-size: 12px; font-weight: 700; color: var(--laranja-escuro); border: 1.5px solid var(--laranja); border-radius: 999px; padding: 5px 10px; white-space: nowrap; }
.barra { height: 8px; background: #EFEFEC; border-radius: 999px; margin-top: 10px; overflow: hidden; }
.barra-fill { height: 100%; background: var(--laranja); border-radius: 999px; transition: width .4s; }
.barra-fill.cheia { background: var(--verde); }
/* 🧾 abrir lote → produtos vendidos */
.lote-ver { margin-top: 8px; background: none; border: 0; color: var(--texto-2); font-weight: 600; font-size: 12px; cursor: pointer; padding: 4px 0; }
.lote-ver:hover { color: var(--laranja); }
.lote-vendidos { margin-top: 6px; display: flex; flex-direction: column; gap: 5px; }
.lv-row { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; background: var(--fundo); border: 1px solid var(--borda); border-radius: 10px; padding: 8px 10px; cursor: pointer; }
.lv-row:hover { border-color: var(--laranja); background: var(--card); }
.lv-cod { font-family: var(--display); font-weight: 700; font-size: 12px; color: var(--laranja); flex: 0 0 auto; }
.lv-nome { flex: 1 1 auto; color: var(--texto); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lv-preco { flex: 0 0 auto; font-family: var(--display); font-weight: 700; font-size: 13px; color: var(--texto); }
.lv-vazio { color: var(--texto-2); font-size: 12px; padding: 4px 2px; }
/* 📊 Analytics */
.an-kpis { margin-bottom: 20px; }
.an-kpi span { font-size: 11px; color: var(--texto-2); }
.an-kpi strong { font-family: var(--display); font-size: 30px; letter-spacing: -.04em; display: block; margin-top: 8px; }
.an-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.an-linha { display: flex; align-items: center; gap: 10px; margin: 10px 0; }
.an-lab { flex: 0 0 128px; font-size: 12px; color: var(--texto); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.an-track { flex: 1 1 auto; height: 10px; background: var(--fundo); border-radius: 999px; overflow: hidden; }
.an-fill { height: 100%; background: var(--laranja); border-radius: 999px; min-width: 3px; }
.an-num { flex: 0 0 auto; font-family: var(--display); font-weight: 700; font-size: 13px; color: var(--texto); }
.an-num small { color: var(--texto-2); font-weight: 600; font-size: 10px; }
.an-vazio { color: var(--texto-2); font-size: 12px; padding: 10px 2px; }
.an-nota { color: var(--texto-2); font-size: 11px; line-height: 1.5; margin-top: 18px; background: #fffaf3; border: 1px solid #f5eadb; border-radius: 8px; padding: 12px 14px; }
@media (max-width: 680px) { .an-grid { grid-template-columns: 1fr; gap: 14px; } .an-lab { flex-basis: 96px; font-size: 11px; } }
.venda-valor { font-weight: 800; color: var(--verde); white-space: nowrap; }
.campo-check .check-linha { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--texto-2); border: 1.5px solid var(--borda); border-radius: 12px; padding: 11px 12px; }
.campo-check input { width: 20px; height: 20px; accent-color: var(--laranja); flex-shrink: 0; margin-top: 1px; }
.campo-check b { color: var(--texto); }
/* o kit tem link longo: sem quebrar em qualquer ponto ele vaza a tela e o painel inteiro rola de lado (08/10) */
.kit-box { white-space: pre-wrap; overflow-wrap: anywhere; background: #fff; border: 1.5px dashed var(--laranja); border-radius: 14px; padding: 14px; font-size: 14px; color: var(--texto); }
.chip-oferta small.ganha { color: var(--verde); font-weight: 800; }
/* 🏷️ 09/10 (SS147): o desconto bateu no preço mínimo da loja e parou ali — abaixo disso seria
   prejuízo do dono do produto. A pílula avisa, em vez de prometer um valor que não vale. */
.chip-oferta.jabarato { border-style: dashed; }
.chip-oferta.jabarato::after { content: "mínimo da loja"; display: block; font-size: 10px; color: var(--texto-2); font-weight: 700; margin-top: 1px; }
/* 💰 valor livre: o cliente pede "faz por R$550?" e ela fecha sem depender dos degraus (08/10) */
.preco-livre { margin-top: 10px; border-top: 1px dashed var(--borda); padding-top: 10px; }
.preco-livre .pl-tit { font-size: 12.5px; color: var(--texto-2); font-weight: 700; display: block; margin-bottom: 6px; }
.preco-livre .pl-linha { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.preco-livre input { flex: 0 0 120px; padding: 10px 12px; border-radius: 10px; border: 1.5px solid var(--borda); background: #fff; color: var(--texto); font-size: 16px; font-weight: 700; min-width: 0; }
.preco-livre input:focus { outline: 2px solid var(--laranja); border-color: var(--laranja); }
.preco-livre .pl-ganho { font-size: 13px; font-weight: 800; color: var(--verde); }
.preco-livre .pl-ganho.erro { color: #C0392B; font-weight: 700; }
.preco-livre .btn-mini { flex: 0 0 auto; }
.chip-oferta small.trava { color: var(--texto-2); }
.chip-desc.off { opacity: .45; pointer-events: none; }

.tabela-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid var(--borda); background: #fff; }
table.tb { width: 100%; border-collapse: collapse; font-size: 13px; }
.tb th { text-align: left; background: var(--grafite); color: #fff; padding: 10px; font-size: 12px; white-space: nowrap; }
.tb td { padding: 9px 10px; border-top: 1px solid var(--borda); white-space: nowrap; }
.tb code { background: #F4F0E8; padding: 2px 7px; border-radius: 6px; font-weight: 700; }
.td-verde { color: var(--verde); font-weight: 800; }
.filtros-of { margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px; }
.filtros-of .linha-sel { display: flex; gap: 8px; flex-wrap: wrap; }
.filtros-of .linha-sel .sel-cat { flex: 1 1 170px; width: auto; min-width: 0; }
.busca-of { width: 100%; padding: 12px 16px; border-radius: 999px; border: 1.5px solid var(--borda); background: #fff; color: var(--texto); font-size: 15px; }
.busca-of:focus { outline: 2px solid var(--laranja); border-color: var(--laranja); }
.conta-of { font-size: 13px; color: var(--texto-2); font-weight: 600; padding-left: 4px; }
.sel-cat { width: min(360px, 100%); padding: 12px 16px; border-radius: 999px; border: 1.5px solid var(--borda); background: #fff; color: var(--texto); font-weight: 700; font-size: 15px; cursor: pointer; appearance: auto; }
.sel-cat:focus { outline: 2px solid var(--laranja); border-color: var(--laranja); }
.sem-clique { cursor: default; }

#apAutent { margin-top: 10px; border: 1.5px solid var(--borda); border-radius: 12px; padding: 12px; }
.aut-chip { display: inline-block; font-size: 13px; font-weight: 800; padding: 6px 12px; border-radius: 999px; margin-bottom: 8px; }
.aut-baixo { background: #DCF3E4; color: #1D6E3E; }
.aut-medio { background: #FDEBD3; color: #9A6108; }
.aut-alto { background: #FBDCDC; color: #A32D2D; }
.aut-txt { font-size: 13px; color: var(--texto); margin: 6px 0 2px; }
.aut-lista { margin: 4px 0 4px 18px; font-size: 13px; color: var(--texto-2); }
.aut-lista li { margin: 3px 0; }

.condicoes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.condicoes label {
  display: flex; align-items: center; gap: 8px;
  border: 1.5px solid var(--borda); border-radius: 12px; padding: 10px 12px;
  font-size: 14px; font-weight: 600; cursor: pointer;
}
.condicoes input { width: auto; accent-color: var(--laranja); transform: scale(1.25); }
.condicoes small { color: var(--texto-2); font-weight: 600; margin-left: auto; }
.condicoes label:has(input:checked) { border-color: var(--laranja); background: #FDF3E3; }

.link-galeria { display: block; margin: 10px auto 0; color: var(--texto-2); font-size: 13px; font-weight: 600; text-decoration: underline; }
.modal-camera {
  position: fixed; inset: 0; z-index: 100; background: #0D0D0F;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 14px; padding: 16px;
}
.modal-camera video { width: 100%; max-width: 560px; height: 64vh; border-radius: 16px; background: #000; object-fit: cover; }
.cam-thumbs { display: flex; gap: 10px; min-height: 76px; align-items: center; }
.thumb-box { position: relative; width: 64px; height: 64px; }
.thumb-box img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; border: 2.5px solid #555; }
.thumb-box.capa img { border-color: var(--laranja); }
.thumb-btn { position: absolute; width: 24px; height: 24px; border-radius: 50%; font-size: 12px; line-height: 1; color: #fff; background: rgba(0,0,0,.75); display: flex; align-items: center; justify-content: center; }
.thumb-girar { left: -8px; top: -8px; }
.thumb-x { right: -8px; top: -8px; background: rgba(180,30,30,.9); }
.cam-controles { display: flex; align-items: center; gap: 28px; }
.cam-disparo { width: 74px; height: 74px; border-radius: 50%; background: #fff; border: 5px solid #999; }
.cam-disparo:active { transform: scale(.92); }
.cam-disparo.cheio { opacity: .3; }
.cam-btn-sec { color: #fff; font-size: 20px; width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.15); }
.cam-btn-ok { background: var(--verde); color: #fff; font-weight: 800; font-size: 17px; padding: 14px 24px; border-radius: 999px; }
.cam-dica { color: #AAA; font-size: 13px; text-align: center; max-width: 420px; }
.thumb-capa { left: 50%; transform: translateX(-50%); bottom: -9px; background: rgba(247,148,29,.95); font-size: 11px; }
/* tira de fotos do produto já cadastrado (escolher a capa) */
.fotos-strip { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 8px; -webkit-overflow-scrolling: touch; }
.fs-item { position: relative; flex: 0 0 auto; width: 68px; height: 68px; padding: 0; border: none; background: none; }
.fs-item img { width: 68px; height: 68px; object-fit: cover; border-radius: 10px; border: 2.5px solid var(--borda); display: block; }
.fs-item.fs-capa img { border-color: var(--laranja); }
.fs-troca { cursor: pointer; }
.fs-troca img { opacity: .92; }
.fs-troca:active img { transform: scale(.94); }
.fs-tag { position: absolute; left: 0; right: 0; bottom: 3px; text-align: center; font-size: 9.5px; font-weight: 800; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.9); letter-spacing: .2px; }
.fs-tag-acao { background: rgba(0,0,0,.55); border-radius: 6px; margin: 0 4px; padding: 1px 0; }
.fs-x { position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%; border: 2px solid #fff; background: #D91F1F; color: #fff; font-size: 11px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; box-shadow: 0 1px 3px rgba(0,0,0,.4); padding: 0; }
.fs-x:active { transform: scale(.9); }
/* SaaS: cabeçalho e gating do PARCEIRO (vê só a loja dele) */
.loja-nome { font-weight: 700; font-size: 14px; color: var(--laranja); margin-left: 10px; align-self: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 45vw; }
body.papel-parceiro #btnWa,
body.papel-parceiro #chipIg,
body.papel-parceiro #loteAtivo,
body.papel-parceiro #apPostarIg,
body.papel-parceiro #apLinkVip,
body.papel-parceiro #apPericia,
body.papel-parceiro #apIgBloco,
body.papel-parceiro #apPublicar,
body.papel-parceiro #apRepostar,
body.papel-parceiro #apLiberar,
body.papel-parceiro #apImprimir,
body.papel-parceiro #apDesvender,
body.papel-parceiro #apVender { display: none !important; }
/* o botão de vitrine é SÓ do parceiro (o dono publica no grupo) */
#apListar { display: none; }
body.papel-parceiro #apListar { display: block !important; }
body.papel-parceiro #apListar[hidden] { display: none !important; }

.btn { border-radius: 14px; padding: 13px 18px; font-weight: 600; display: inline-block; text-align: center; }
.btn-largo { display: block; width: 100%; }
.btn-primario { background: var(--laranja); color: #fff; }
.btn-primario:active { background: var(--laranja-escuro); }
.btn-largo { width: 100%; }
.btn-fantasma { background: #fff; border: 1.5px solid var(--borda); color: var(--texto); }
.btn-perigo { background: #fff; border: 1.5px solid #F3C1C1; color: var(--vermelho); }

.aviso-receb { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: #FDECEA; border: 1.5px solid #E9A79F; border-radius: 14px; padding: 13px 15px; margin-bottom: 14px; }
.aviso-receb .ar-txt { flex: 1; min-width: 180px; font-size: 13.5px; color: #B0342A; line-height: 1.45; }
.aviso-receb .ar-btn { flex: none; background: #C0392B; color: #fff; border: 0; border-radius: 11px; padding: 10px 16px; font-family: var(--display); font-weight: 700; font-size: 14px; cursor: pointer; white-space: nowrap; }
.aviso-receb .ar-btn:active { background: #a03024; }
/* ---------- Postar no grupo manual (imagem automática fora do ar) ---------- */
.post-manual { margin-top: 10px; border: 1.5px solid var(--laranja); border-radius: 14px; padding: 12px 14px; background: #FFF8F0; }
.pm-tit { font-family: var(--display); font-weight: 700; font-size: 15px; margin-bottom: 2px; }
.pm-sub { color: var(--texto-2); font-size: 12.5px; line-height: 1.4; margin-bottom: 8px; }
.post-manual textarea { font-size: 13px; line-height: 1.4; }

/* ---------- Promoção geral (só dono) ---------- */
.promo-geral {
  background: var(--card); border: 1.5px solid var(--borda); border-radius: 16px;
  padding: 14px 16px; margin-bottom: 14px;
}
.pg-topo { display: flex; align-items: center; gap: 10px; }
.pg-tit { font-family: var(--display); font-weight: 700; font-size: 16px; }
.pg-status {
  font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px;
  background: #eee; color: var(--texto-2); text-transform: uppercase; letter-spacing: .02em;
}
.pg-status.on { background: rgba(46,158,91,.14); color: var(--verde); }
.pg-sub { color: var(--texto-2); font-size: 13px; line-height: 1.4; margin: 6px 0 12px; }
.pg-acao { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pg-input { display: flex; align-items: center; gap: 6px; }
.pg-input input { width: 84px; text-align: center; font-weight: 700; }
.pg-input span { color: var(--texto-2); font-weight: 700; font-size: 14px; }
.pg-acao .btn { padding: 12px 16px; border-radius: 12px; font-weight: 700; }

.btn-cadastrar {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; background: var(--laranja); color: #fff; font-family: var(--display); font-size: 19px; font-weight: 700; letter-spacing: -.01em;
  border-radius: 16px; padding: 19px; cursor: pointer;
  box-shadow: 0 10px 24px rgba(247,148,29,.3); transition: transform .12s, box-shadow .12s;
}
.btn-cadastrar:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(247,148,29,.4); }
.btn-cadastrar:active { transform: translateY(0); }
.btn-cadastrar .mais { font-size: 24px; font-weight: 700; }
.cad-opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.cad-opt {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  background: var(--card); border: 1.5px solid var(--borda); border-radius: 14px; padding: 13px 6px;
  font-family: var(--display); font-size: 12px; font-weight: 600; color: var(--texto); text-align: center; line-height: 1.2;
  cursor: pointer; transition: border-color .12s, transform .1s, box-shadow .12s;
}
.cad-opt:hover { border-color: var(--laranja); color: var(--laranja-escuro); box-shadow: 0 6px 16px rgba(38,38,43,.06); }
.cad-opt:active { transform: scale(.96); }
.cad-opt .ico { font-size: 21px; }
.upload-status { margin-top: 10px; color: var(--texto-2); text-align: center; }

.lista { margin-top: 18px; display: flex; flex-direction: column; gap: 12px; }
.vazio { text-align: center; color: var(--texto-2); margin-top: 40px; }

.card-prod {
  display: flex; gap: 12px; align-items: center;
  background: var(--card); border-radius: 16px; padding: 12px;
  border: 1px solid var(--borda); width: 100%; text-align: left;
}
.card-prod img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; background: #eee; flex-shrink: 0; }
.card-info { flex: 1; min-width: 0; }
.card-nome { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-sub { font-size: 13px; color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chip {
  font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 999px; white-space: nowrap;
}
.chip.analisando { background: #FDEBD3; color: #9A6108; }
.chip.aguardando { background: var(--laranja); color: #fff; }
.chip.publicado { background: #DCF3E4; color: #1D6E3E; }
.chip.vendido { background: #1D6E3E; color: #fff; }
.chip.erro { background: #FBDCDC; color: #A32D2D; }
.chip.reservado { background: #EDE6FA; color: #5B3E9E; }

.modal {
  position: fixed; inset: 0; z-index: 50;
  background: rgba(20,20,24,.55);
  display: flex; align-items: flex-end; justify-content: center;
}
.modal-caixa {
  position: relative; background: var(--card); width: 100%; max-width: 560px;
  border-radius: 22px 22px 0 0; padding: 22px 18px 30px;
  max-height: 92vh; overflow-y: auto;
}
@media (min-width: 600px) {
  .modal { align-items: center; }
  .modal-caixa { border-radius: 22px; }
}
.modal-caixa.centro { text-align: center; }
.modal-fechar {
  position: absolute; top: 12px; right: 14px; z-index: 5;
  width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  font-size: 16px; color: var(--texto); background: rgba(255,255,255,.9);
  border: 1px solid var(--borda); border-radius: 50%;
}
.modal-caixa h2 { font-size: 19px; margin-bottom: 16px; }
.campo { display: block; margin: 12px 0; }
.campo span { display: block; font-size: 13px; color: var(--texto-2); margin-bottom: 6px; font-weight: 600; }
.ap-foto { width: 100%; max-height: 300px; object-fit: contain; border-radius: 14px; background: #f4f4f2; }
.aviso-confianca { background: #FDEBD3; color: #9A6108; padding: 10px 12px; border-radius: 10px; font-size: 14px; margin-top: 10px; }
.ref-preco { font-size: 14px; color: var(--texto-2); margin: 4px 0 0; }
/* 🎨 cards de info do produto (ficha técnica + preço de novo) — visual premium pro parceiro */
.ap-info { background: #fff; border: 1px solid #ECE6DC; border-radius: 13px; padding: 11px 13px; margin: 9px 0 0; position: relative; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.ap-info:hover { border-color: #F7941D; box-shadow: 0 2px 10px rgba(247,148,29,.10); }
.ap-info-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ap-info-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #a39c90; }
.ap-edit { font-size: 12px; color: #F7941D; font-weight: 700; white-space: nowrap; }
.ap-info-val { font-family: var(--display, "Space Grotesk"), sans-serif; font-size: 20px; font-weight: 700; color: #201F24; margin-top: 3px; line-height: 1.1; }
.ap-info-why { font-size: 12px; color: #a39c90; line-height: 1.45; margin-top: 5px; }
.ap-info-txt { font-size: 13.5px; color: #3a3742; line-height: 1.5; margin-top: 4px; }
.ap-info.vazio { border-style: dashed; }
.ap-info.vazio .ap-info-txt { color: #a39c90; }

/* 📝 Campo em DESTAQUE (ex.: Nome do produto) — mesmo look do box de referência */
.campo-destaque { background: #FFF9F0; border: 1.5px solid #F7C98A; border-radius: 13px; padding: 10px 13px; margin: 12px 0; transition: border-color .15s, box-shadow .15s; }
.campo-destaque:focus-within { border-color: #F7941D; box-shadow: 0 2px 12px rgba(247,148,29,.14); }
.campo-destaque span { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #a35b00; margin-bottom: 3px; }
.campo-destaque input { width: 100%; border: 0; background: transparent; padding: 2px 0 0; font-family: var(--display, "Space Grotesk"), sans-serif; font-size: 19px; font-weight: 700; color: #201F24; }
.campo-destaque input:focus { outline: none; }

/* ▸ Texto do grupo recolhível (seta) */
.pm-toggle { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; background: none; border: 0; cursor: pointer; font: inherit; text-align: left; padding: 4px 0; }
.pm-toggle .pm-seta { color: var(--laranja); font-size: 13px; transition: transform .18s; flex: none; }
.pm-toggle.aberto .pm-seta { transform: rotate(90deg); }
.modal-botoes { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.linha-2btn { display: flex; gap: 10px; }
.linha-2btn .btn { flex: 1; }
.erro-txt { color: var(--vermelho); margin-top: 10px; font-size: 14px; }
.ok-txt { color: var(--verde); margin-top: 10px; font-size: 14px; }
.qr-img { width: 260px; height: 260px; margin: 14px auto; display: block; border-radius: 12px; }
.qr-detalhe { color: var(--texto-2); font-size: 14px; }
.qr-dica { font-size: 13px; color: var(--texto-2); margin-top: 10px; }
#modalConfig .btn-fantasma { width: 100%; margin-bottom: 4px; }

/* Clientes que compraram (Contador) */
.cli-card { background: var(--card); border: 1px solid var(--borda); border-radius: 16px; padding: 13px 15px; margin-bottom: 10px; }
.cli-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.cli-nome { font-weight: 800; font-size: 15px; }
.cli-total { font-weight: 800; color: var(--laranja-escuro); font-size: 16px; white-space: nowrap; }
.cli-sub { font-size: 12.5px; color: #74747C; margin-top: 3px; display: flex; gap: 10px; flex-wrap: wrap; }
.cli-sub a { color: var(--laranja-escuro); font-weight: 700; text-decoration: none; }
.cli-itens { margin-top: 9px; border-top: 1px dashed var(--borda); padding-top: 8px; display: grid; gap: 5px; }
.cli-item { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; }
.cli-item .ci-n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cli-item .ci-v { white-space: nowrap; font-weight: 700; }
.cli-item .ci-m { color: #9a9aa2; font-weight: 400; }

/* Grade de produtos (lado a lado) + busca */
#buscaProdutos { width: 100%; padding: 13px 15px; border-radius: 13px; border: 1.5px solid var(--borda); background: var(--card); color: var(--texto); font-size: 15px; margin: 16px 0 12px; box-shadow: 0 2px 10px rgba(38,38,43,.04); }
#lista.lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.card-v { position: relative; display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--borda); border-radius: 14px; overflow: hidden; text-align: left; padding: 0; cursor: pointer; }
.card-v img { width: 100%; aspect-ratio: 1; object-fit: cover; background: #eee; display: block; }
.card-v .cv-info { padding: 8px 10px 10px; }
.card-v .cv-nome { font-size: 12.5px; font-weight: 600; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 31px; color: var(--texto); }
.card-v .cv-sub { font-size: 12.5px; color: var(--laranja-escuro); margin-top: 3px; font-weight: 800; }
.card-v .cv-res { font-size: 11.5px; color: #78767F; margin-top: 3px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-v .chip { position: absolute; top: 6px; right: 6px; }
.card-v .cv-id { position: absolute; top: 6px; left: 6px; background: rgba(51,51,58,.88); color: #fff; font-size: 11px; font-weight: 800; padding: 2px 7px; border-radius: 7px; }
.card-v .cv-rep { position: absolute; top: 32px; left: 6px; font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 7px; color: #fff; z-index: 5; box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.card-v .cv-rep.ok { background: #2E9E5B; }
.card-v .cv-rep.zero { background: #D91F1F; }

/* Scanner: linha laser + captura verde */
#scanBox .scan-linha { position: absolute; left: 5%; right: 5%; height: 3px; background: #2E9E5B; box-shadow: 0 0 10px #2E9E5B; border-radius: 3px; animation: scanSweep 1.6s ease-in-out infinite; top: 10%; pointer-events: none; }
@keyframes scanSweep { 0% { top: 8%; } 50% { top: 88%; } 100% { top: 8%; } }
#scanBox.scan-ok video { outline: 5px solid #2E9E5B; outline-offset: -5px; }
#scanBox.scan-ok .scan-linha { animation: none; top: 50%; height: 6px; }

/* Filtro de status da grade de produtos */
.filtros-st { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 16px; }
.fst { border: 1.5px solid var(--borda); background: var(--card); color: var(--texto); font-family: var(--display); font-weight: 600; font-size: 13px; padding: 9px 15px; border-radius: 11px; cursor: pointer; transition: border-color .12s, background .12s, box-shadow .12s, color .12s; box-shadow: 0 2px 8px rgba(38,38,43,.04); }
.fst:hover { border-color: var(--laranja); }
.fst.ativo { background: var(--laranja); border-color: var(--laranja); color: #fff; box-shadow: 0 6px 16px rgba(247,148,29,.28); }
/* filtros do grupo do Renan não servem pro parceiro */
body.papel-parceiro .fst[data-st="postados"],
body.papel-parceiro .fst[data-st="sem-repost"],
body.papel-parceiro .fst[data-st="encalhados"] { display: none; }

.fb-botoes { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.fb-botoes .fb-resp { flex: 1 1 210px; font-size: 13px; padding: 10px 12px; text-align: left; }

/* RELOAD BOX — visual refresh. Existing visibility and event hooks are preserved. */
:root{--fundo:#F5F1EA;--borda:#E7E1D6;--texto:#201F24;--texto-2:#78767F;--verde:#149a5b;--vermelho:#D91F1F}
body{-webkit-font-smoothing:antialiased;line-height:1.5}
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#66666e #33333A}
.side-logo{font-family:var(--display);letter-spacing:-1px;font-size:24px;padding:6px 10px 22px}
.side-caption{font-size:10px;letter-spacing:.16em;color:#bebdc5;padding:0 14px 12px}
.side-item{font-size:13px;padding:10px 12px;min-height:42px;border-radius:12px;text-decoration:none}
.side-item.ativo{color:#fff;font-weight:800;box-shadow:0 6px 16px rgba(247,148,29,.28)}
.side-rodape{padding-top:24px}
.conteudo{max-width:none;padding:28px 28px 110px}
.workspace-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 30px;padding-bottom:25px;border-bottom:1px solid var(--borda)}
.workspace-eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#78767F}
.workspace-intro h1{font-size:clamp(25px,3vw,36px);line-height:1.15;margin:9px 0;letter-spacing:-.05em}
.workspace-intro p,.section-heading p{font-size:13px;color:var(--texto-2)}
.workspace-mark{display:grid;place-items:center;flex:none;width:58px;height:58px;background:var(--laranja);border-radius:16px;font:36px var(--display)}
.section-heading{margin-bottom:18px}.section-heading h2{font-size:22px;margin-bottom:5px}
.topo{gap:12px;min-height:68px}.topo-acoes{flex-wrap:wrap;justify-content:flex-end}.loja-nome{min-width:0;overflow-wrap:anywhere}
.btn-icone{min-width:40px;min-height:40px;border-radius:12px}.btn-icone:hover{background:#78767F18}
.btn-cadastrar{background:var(--laranja);color:#fff;box-shadow:0 5px 15px #201f2409;border:1px solid #e78a19;border-radius:16px;min-height:62px}
.btn-cadastrar:hover{box-shadow:0 8px 22px #201f2414}
.cad-opt{border-radius:14px;min-height:62px;box-shadow:none}
.fst{box-shadow:none;border-width:1px;min-height:42px}.fst.ativo{color:#fff;box-shadow:none}
#buscaProdutos{padding:16px 18px;border-width:1px;box-shadow:none;font-size:16px;margin-top:24px}
#lista.lista{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:18px;margin-top:22px}
.card-v{border-radius:18px;box-shadow:0 4px 16px #201f2405;transition:box-shadow .2s,border-color .2s}
.card-v:hover{border-color:#F7941D;box-shadow:0 10px 24px #201f2410}
.card-v img{object-fit:contain;background:#fff;padding:10px}
.card-v .cv-info{padding:14px 15px 16px;border-top:1px solid var(--borda)}
.card-v .cv-nome{font-size:14px;line-height:1.45;min-height:40px}
.card-v .cv-sub{font-family:var(--display);font-size:20px;color:var(--texto);margin-top:10px}
.card-v .cv-id{top:10px;left:10px}.card-v .chip{top:10px;right:10px}
.kpi{border-radius:18px;box-shadow:0 4px 16px #201f2405;padding:22px;border:1px solid var(--borda)}
.kpi-num{font-family:var(--display);font-size:clamp(25px,3vw,36px);letter-spacing:-.045em;overflow-wrap:anywhere}
.kpi-lbl{font-size:12px;margin-top:8px}.kpi-destaque{background:#33333A;color:#fff}.kpi-destaque .kpi-num{color:#F7941D}
.vazio{padding:36px 20px;background:#ffffff99;border:1px dashed #d8d1c6;border-radius:18px;margin-top:20px}
.modal-caixa{border:1px solid var(--borda);box-shadow:0 24px 80px #201f2426}
.login-box{max-width:420px;padding:40px 30px;border:1px solid var(--borda);box-shadow:0 16px 55px #201f2410;border-radius:18px;border-top:5px solid var(--laranja)}
.login-title{font-size:26px;margin-top:28px}.login-hint{color:var(--texto-2);font-size:13px;margin:8px 0 20px}.login-sub{margin:8px 0;font-size:13px}
.logo-grande{font-family:var(--display);letter-spacing:-1px}
.tabs{overflow-x:auto;overscroll-behavior-x:contain;justify-content:flex-start;scrollbar-width:thin}.tab{flex:1 0 66px;min-height:62px}.tab.ativo{color:#9b5100;background:#fff5e8}
.btn-primario{color:#fff}.chip.aguardando{color:#201F24}
@media(min-width:860px){.sidebar{width:242px;padding:24px 16px}.app-shell .ct-barra-sel{left:242px}.app-shell .topo{padding:14px 28px}.conteudo{padding-bottom:40px}}
@media(max-width:600px){.conteudo{padding:20px 14px 110px}.workspace-intro{margin-bottom:22px;padding-bottom:20px}.workspace-mark{width:42px;height:42px;font-size:28px;border-radius:12px}.workspace-intro p{max-width:240px}.workspace-eyebrow{font-size:9px}.topo{padding:12px;flex-wrap:wrap}.topo .logo{font-size:17px}.topo-acoes{gap:4px}.chip-wa{padding:7px 9px;font-size:12px}.cad-opt{font-size:12px}#lista.lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-v .cv-info{padding:11px}.card-v .cv-nome{font-size:12px}.card-v .cv-sub{font-size:18px}.card-v .chip,.card-v .cv-id{font-size:9px}.ct-grade{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:16px}.filtros-st{gap:6px}.fst{font-size:12px;padding:9px 11px}.qr-img{max-width:100%;height:auto}}

  :where(a,button,input,select,textarea):focus-visible{outline:3px solid #E07C0A;outline-offset:3px}
  input,select,textarea{min-width:0;font:inherit}
  button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Revision 2 — reference composition: compact controls and a real product overview. */
.app-main{background:var(--fundo)}.sidebar{background:#33333A}.side-logo{padding:0 8px 24px}.side-logo img{width:100%;max-width:190px;height:auto;object-fit:contain;display:block;opacity:1;filter:none;border-radius:8px}.side-caption{font-size:9px}.side-item{padding:9px 12px;font-size:12px;min-height:40px}.side-item .side-ico{display:flex;align-items:center;justify-content:center}.side-ico svg{width:18px;height:18px}.side-item.ativo{border-radius:8px}.conteudo{padding:24px 30px 90px;max-width:none}.app-shell .topo{min-height:56px;padding-top:8px;padding-bottom:8px}.overview-breadcrumb{font-size:12px!important;color:#78767F;margin:0 0 16px}.overview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.overview-head h1{font-size:34px;line-height:1.1;letter-spacing:-.065em;margin:0 0 8px}.overview-head p{font-size:12px;color:#78767F}.overview-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.overview-actions>a{font-size:10px;border:1px solid var(--borda);border-radius:6px;padding:5px 10px;color:#33333A;text-decoration:none;background:#fff}.overview-actions .btn-cadastrar{width:auto;min-height:40px;font-size:12px;padding:9px 14px;box-shadow:none;border:0;border-radius:7px;white-space:nowrap}.overview-actions .mais{font-size:20px}.overview-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.overview-kpi{padding:20px;background:#fff;border:1px solid var(--borda);border-radius:10px}.overview-kpi>span{display:flex;align-items:center;gap:10px;font-size:11px}.overview-kpi svg{width:21px;height:21px;color:#d97900}.overview-kpi strong{font-family:var(--display);font-size:33px;letter-spacing:-.05em;display:block;margin-top:10px}.overview-kpi small{font-size:9px;color:#78767F;display:block;margin-top:2px}.overview-middle{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:20px}.overview-card{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:20px;min-width:0}.overview h2{font-size:17px;letter-spacing:-.04em}.overview-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.overview-title>span{font-size:10px;color:#78767F;padding:5px 8px;border:1px solid var(--borda);border-radius:6px}.overview-title>a{font-size:10px;color:#9c5700}.overview-chart{display:flex;align-items:flex-end;justify-content:space-around;gap:14px;height:170px;padding-top:25px;border-bottom:1px solid var(--borda);background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#EFE9DF 39px,#EFE9DF 40px)}.overview-bar{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.overview-bar b{font-size:11px;font-family:var(--display)}.overview-bar i{width:min(44px,80%);height:var(--bar);background:#F7941D;display:block;border-radius:3px 3px 0 0;min-height:2px}.overview-bar span{font-size:9px;color:#78767F;background:#fff;min-height:20px;text-align:center}.overview-attention>a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#33333A;text-decoration:none;background:#fffaf3;border:1px solid #f5eadb;padding:16px 12px;border-radius:8px;margin-top:16px}.overview-attention>a span{font-size:11px;display:flex;align-items:center;gap:8px}.overview-attention svg{width:21px;height:21px;flex:none;color:#d97900}.overview-attention strong{font-family:var(--display);font-size:23px}.overview-attention>p{font-size:10px;color:#78767F;margin-top:12px}.overview-recent{margin-bottom:20px}.overview-table{overflow-x:auto}.overview-table table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}.overview-table th{font-weight:600;font-size:10px;color:#78767F;background:var(--fundo);padding:9px 12px}.overview-table td{padding:10px 12px;border-bottom:1px solid var(--borda)}.overview-table tr:last-child td{border:0}.overview-product{display:flex;align-items:center;gap:10px;max-width:330px}.overview-product span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.overview-product img{width:32px;height:32px;object-fit:contain;border-radius:5px;background:var(--fundo)}.overview-status{display:inline-block;border-radius:6px;background:#F1EEE8;padding:4px 7px;font-size:9px;white-space:nowrap}.overview-status.publicado{background:#e7f6ee;color:#237049}.overview-status.vendido{background:#F1EEE8;color:#5c626e}.overview-status.aguardando,.overview-status.analisando{background:#fff4d8;color:#805c13}.overview-status.erro{background:#fce8e8;color:#a02424}.overview-capture{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--borda);border-radius:10px;padding:20px;margin-bottom:30px}.overview-capture>svg{width:42px;height:42px;padding:8px;box-sizing:content-box;background:#FFF4E6;border-radius:10px}.overview-capture>div{flex:1}.overview-capture p{font-size:11px;color:#78767F;margin-top:5px}.overview-capture>button{background:#F7941D;border-radius:7px;padding:12px 15px;font-size:11px;font-weight:700;white-space:nowrap}.catalog-heading{margin:25px 0 14px}.catalog-heading h2{font-size:20px}.cad-opts{display:flex;gap:8px}.cad-opt{display:flex;flex-direction:row;min-height:38px;padding:8px 13px;font-size:11px;border-radius:8px;flex:none}.cad-opt .ico{font-size:16px}#buscaProdutos{margin-top:16px;padding:13px 15px;font-size:13px;border-radius:9px}.fst{font-size:11px;min-height:34px;padding:7px 10px;border-radius:7px}#lista.lista{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.card-v{border-radius:10px}.card-v .cv-info{padding:12px}.card-v .cv-sub{font-size:18px}.card-v .cv-nome{font-size:12px}.promo-geral{margin-bottom:18px}
@media(min-width:860px){.sidebar{width:210px;padding:22px 12px}.app-shell .ct-barra-sel{left:210px}}
@media(max-width:680px){.conteudo{padding:20px 14px 100px}.overview-head{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:20px}.overview-head h1{font-size:30px}.overview-head p{font-size:11px}.overview-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.overview-actions .btn-cadastrar{font-size:11px;min-height:40px}.overview-kpis{gap:8px;margin-bottom:12px}.overview-kpi{padding:12px 9px;border-radius:9px}.overview-kpi>span{font-size:9px;gap:5px;align-items:flex-start}.overview-kpi svg{width:16px;height:16px;flex:none}.overview-kpi strong{font-size:28px}.overview-kpi small{font-size:8px;line-height:1.45}.overview-middle{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:12px}.overview-card{padding:16px}.overview-chart{height:160px}.overview h2{font-size:17px}.overview-attention>a{padding:12px;margin-top:10px}.overview-attention>a span{font-size:11px}.overview-recent{margin-bottom:12px}.overview-table th,.overview-table td{padding:9px 5px;font-size:9px}.overview-table th:nth-child(2),.overview-table td:nth-child(2){display:none}.overview-product{gap:6px}.overview-product img{width:25px;height:25px}.overview-product span{-webkit-line-clamp:2;max-width:120px}.overview-status{font-size:8px;padding:4px 5px}.overview-capture{padding:16px;gap:10px;flex-wrap:wrap}.overview-capture>svg{width:27px;height:27px;padding:8px}.overview-capture>button{width:100%;min-height:42px}.overview-capture h2{font-size:18px}.overview-capture p{font-size:10px}.cad-opts{flex-wrap:wrap}.cad-opt{flex:1;padding:8px;font-size:10px;gap:5px}.cad-opt .ico{font-size:14px}#lista.lista{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-breadcrumb{margin-bottom:12px}}

/* Revision 3 — alinhamento ao design system APROVADO (protótipo): creme/kraft, branco no laranja, legibilidade, raios 14px.
   Só visual: nenhum id, data-tab, hook ou fetch muda. */
.app-main{background:var(--fundo)}
.side-caption{font-size:10px;letter-spacing:.14em}
.side-item{font-size:13.5px;min-height:42px;border-radius:11px}
.overview-head h1{font-size:clamp(26px,3.2vw,34px);letter-spacing:-.03em}.overview-head p{font-size:13px}
.overview-actions>a{font-size:12.5px;font-weight:700;border:1.5px solid rgba(247,148,29,.5);border-radius:10px;padding:8px 12px;color:var(--laranja-escuro);background:#fff}
.overview-actions .btn-cadastrar{font-size:14px;min-height:44px;padding:10px 16px;border-radius:12px;color:#fff;box-shadow:0 8px 18px rgba(247,148,29,.28)}
.overview-kpi,.overview-card,.overview-capture{border-radius:14px}
.overview-kpi>span{font-size:12.5px;font-weight:600;color:var(--texto-2)}.overview-kpi strong{font-size:clamp(26px,2.6vw,32px);letter-spacing:-.03em}.overview-kpi small{font-size:11px}
.overview h2{font-size:16px;letter-spacing:-.02em}.overview-title>span{font-size:12px;border-radius:8px}.overview-title>a{font-size:12.5px;font-weight:700;color:var(--laranja-escuro)}
.overview-bar b{font-size:12px}.overview-bar span{font-size:11px}.overview-bar i{border-radius:4px 4px 0 0}
.overview-attention>a{border-radius:12px;background:#FFF8EF;border-color:#F3E6D4}.overview-attention>a span{font-size:12.5px}.overview-attention strong{font-size:22px}.overview-attention>p{font-size:12px}
.overview-table table{font-size:12.5px}.overview-table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:#FAF7F1;color:var(--texto-2)}.overview-table td{padding:10px 12px}
.overview-status{font-size:11.5px;font-weight:700;border-radius:999px;padding:4px 10px}
.overview-capture p{font-size:12.5px}.overview-capture>button{font-size:13px;border-radius:12px;color:#fff;box-shadow:0 8px 18px rgba(247,148,29,.25)}
.catalog-heading h2{font-size:20px}.section-heading p{font-size:13px}
.cad-opt{font-size:12.5px;min-height:42px;border-radius:12px}.cad-opt .ico{font-size:17px}
#buscaProdutos{font-size:14px;border-radius:12px;padding:13px 16px}
.fst{font-size:12.5px;min-height:38px;border-radius:10px;padding:8px 12px}
.card-v{border-radius:14px}.card-v .cv-nome{font-size:12.5px}
@media(max-width:680px){.overview-kpi>span{font-size:11.5px}.overview-kpi strong{font-size:26px}.overview-kpi small{font-size:10.5px}.overview-table th,.overview-table td{font-size:11.5px;padding:9px 6px}.overview-status{font-size:10.5px}.overview-capture h2{font-size:17px}.cad-opt{font-size:11.5px}.fst{font-size:12px;padding:8px 10px}}
/* celular: KPIs empilhados (como no protótipo) + logomarca no topo escuro + barra de abas com ícones SVG */
@media(max-width:600px){.overview-kpis{grid-template-columns:1fr;gap:10px}.overview-kpi>span{font-size:12.5px}.overview-kpi small{font-size:11px}}
.topo .logo img{height:36px;width:auto;display:block;border-radius:7px}
.tab .tab-ico{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tab .tab-ico svg{width:22px;height:22px}
/* Produtos = ADICIONAR produtos: bloco-herói de cadastro no topo (o dashboard de estoque foi pro Contador) */
.cad-hero{background:#fff;border:1px solid var(--borda);border-radius:16px;padding:18px;margin:0 0 24px;box-shadow:0 4px 16px #201f2405}
.cad-hero .btn-cadastrar{width:100%;min-height:62px;font-size:19px;border-radius:14px;padding:16px 20px;box-shadow:0 10px 24px rgba(247,148,29,.3)}
.cad-hero-sub{font-size:13px;color:var(--texto-2);margin:12px 0 10px}
.cad-hero .cad-opts{display:flex;flex-wrap:wrap;gap:8px}.cad-hero .cad-opt{flex:1 1 150px;min-height:44px;font-size:13px;border-radius:12px;justify-content:center}
#secContador .overview{margin-bottom:24px}
/* Promoção geral: card fechado por padrão (uso esporádico) — abre/fecha no clique do título, sem JS */
details.promo-geral>summary{cursor:pointer;list-style:none;user-select:none;margin:0}
details.promo-geral>summary::-webkit-details-marker{display:none}
details.promo-geral:not([open])>summary{margin:-2px 0}
.pg-toggle{margin-left:auto;font-size:12px;font-weight:800;color:var(--laranja-escuro);white-space:nowrap;letter-spacing:.02em}
.pg-toggle::before{content:"abrir ▾"}
details.promo-geral[open] .pg-toggle::before{content:"fechar ▴"}
details.promo-geral[open]>summary{margin-bottom:2px}
@media(max-width:600px){.cad-hero{padding:14px;margin-bottom:18px}.cad-hero .btn-cadastrar{font-size:17px;min-height:56px}.cad-hero .cad-opt{flex:1 1 100%}}

/* 🎈 Tutorial guiado do parceiro (coach-marks) */
.rbt-spot{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px rgba(32,31,36,.62);pointer-events:none;z-index:9998;transition:top .28s ease,left .28s ease,width .28s ease,height .28s ease;display:none}
.rbt-spot.on{display:block}
.rbt-coach{position:fixed;z-index:9999;width:min(300px,calc(100vw - 32px));background:#fff;color:#201F24;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.42);padding:16px 17px;display:none;font-family:"Manrope",system-ui,sans-serif}
.rbt-coach.on{display:block}
.rbt-coach .rbt-step{font-size:11px;font-weight:800;color:#E07C0A;letter-spacing:.05em;text-transform:uppercase}
.rbt-coach h4{margin:6px 0;font-family:"Space Grotesk",system-ui,sans-serif;font-weight:700;font-size:16px;color:#201F24}
.rbt-coach p{margin:0;font-size:13.5px;color:#4B4954;line-height:1.5}
.rbt-nav{display:flex;align-items:center;gap:10px;margin-top:14px}
.rbt-dots{display:flex;gap:5px;margin-right:auto}
.rbt-dot{width:7px;height:7px;border-radius:50%;background:#E7E1D6}
.rbt-dot.on{background:#F7941D;width:18px;border-radius:4px}
.rbt-skip{background:none;border:0;color:#78767F;font-size:12.5px;cursor:pointer;font-weight:600;font-family:inherit}
.rbt-next{background:#F7941D;color:#fff;border:0;border-radius:10px;font-family:"Space Grotesk",system-ui,sans-serif;font-weight:700;font-size:13.5px;padding:9px 15px;cursor:pointer}
.rbt-next:hover{background:#E07C0A}
.rbt-replay{position:fixed;right:14px;bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:60;background:#33333A;color:#fff;border:0;border-radius:999px;font-family:"Space Grotesk",system-ui,sans-serif;font-weight:700;font-size:13px;padding:10px 16px;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.3);display:none}
.rbt-replay.on{display:inline-block}
@media(min-width:900px){.rbt-replay{bottom:calc(18px + env(safe-area-inset-bottom,0px))}}

/* 🏪 filtros Parceiros/Nossos = só no painel do dono (parceiro não vê) */
body.papel-parceiro .fst-dono{display:none!important}
/* 💰 preço de custo = só o dono (parceiro nunca vê) */
body.papel-parceiro .campo-dono{display:none!important}

/* 🔓 Destrave manual na trava dos 5% */
.st-destrave{margin-top:12px;padding-top:10px;border-top:1px solid rgba(217,31,31,.2)}
.st-destrave-link{font-size:12.5px;font-weight:700;color:#a12; text-decoration:underline; cursor:pointer;opacity:.75}
.st-destrave-link:hover{opacity:1}
.st-destrave-box{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.st-destrave-box input{flex:1;min-width:120px;padding:10px 12px;border:1.5px solid #E7E1D6;border-radius:10px;font-size:15px;font-family:inherit}
.st-destrave-box input:focus{outline:2px solid #33333A;border-color:#33333A}
.st-destrave-box button{background:#33333A;color:#fff;border:0;border-radius:10px;font-family:"Space Grotesk",system-ui,sans-serif;font-weight:700;font-size:14px;padding:10px 16px;cursor:pointer}
.st-destrave-box button:disabled{opacity:.6}
