:root {
  /* mesmas cores do Mateus BI (V253) */
  --fundo: #f4f7fb; --superficie: #ffffff; --tinta: #172033; --suave: #718096; --linha: #e7edf5;
  --marca: #005bff; --marca-escura: #021b45; --acento: #d99117; --ok: #16834b; --ruim: #c0392b; --barra: #005bff;
  --raio: 16px; --sombra: 0 8px 28px #19365c0a;
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--fundo); color: var(--tinta); font: 14px/1.45 Inter, "Segoe UI", Arial, sans-serif; }
a { color: var(--marca); }
.oculto, [hidden] { display: none !important; }

.marca { font-weight: 700; letter-spacing: -.01em; display: flex; align-items: center; gap: 8px; font-size: 1.1rem; }
.marca-sinal { width: 12px; height: 12px; border-radius: 3px; background: var(--acento); box-shadow: 5px 5px 0 var(--marca); margin-right: 6px; }

/* login */
.entrada { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.cartao-login { width: 100%; max-width: 360px; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px 24px; box-shadow: var(--sombra); display: grid; gap: 14px; }
.cartao-login .sub { margin: -6px 0 4px; color: var(--suave); }
label { display: grid; gap: 6px; font-size: .9rem; color: var(--suave); }
input, select { font: inherit; color: var(--tinta); background: var(--fundo); border: 1px solid var(--linha); border-radius: 10px; padding: 10px 12px; min-height: 42px; }
input:focus, select:focus { outline: 2px solid var(--marca); outline-offset: 1px; }
button { font: inherit; font-weight: 600; border: 0; border-radius: 10px; padding: 11px 14px; background: var(--marca); color: var(--superficie); cursor: pointer; }
button.link { background: none; color: var(--marca); padding: 0; font-weight: 500; }
.alerta { background: color-mix(in srgb, var(--ruim) 12%, transparent); color: var(--ruim); border-radius: 10px; padding: 10px 12px; margin: 0; }
.rodape { text-align: center; color: var(--suave); font-size: .8rem; margin: 8px 0 0; }

/* topo */
.topo { position: sticky; top: 0; z-index: 2; background: var(--superficie); border-bottom: 1px solid var(--linha); padding: 10px 16px; display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; flex: 1; }
.filtros select { max-width: 260px; }
.conta { display: flex; gap: 12px; align-items: center; font-size: .9rem; }
.conta form { margin: 0; }
.quem { color: var(--suave); }

/* painel */
.painel { max-width: 1180px; margin: 0 auto; padding: 16px; display: grid; gap: 16px; }
.lojas { display: flex; flex-wrap: wrap; gap: 8px; }
.selo { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; padding: 4px 10px; border-radius: 999px; background: var(--superficie); border: 1px solid var(--linha); color: var(--suave); }
.selo i { width: 8px; height: 8px; border-radius: 50%; background: var(--ruim); }
.selo.on i { background: var(--ok); }

.cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.card { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); padding: 14px 16px; box-shadow: var(--sombra); min-width: 0; }
.card h3 { margin: 0; font-size: .8rem; font-weight: 600; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; }
.card p { margin: 6px 0 2px; font-size: 1.6rem; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.card small { color: var(--suave); font-size: .8rem; }
.card.destaque { border-top: 3px solid var(--marca); }
.alerta-card { border-top: 3px solid var(--acento); }
.sobe { color: var(--ok) !important; } .desce { color: var(--ruim) !important; }

.bloco { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); padding: 14px 16px; box-shadow: var(--sombra); min-width: 0; }
.bloco h2 { margin: 0 0 12px; font-size: 1rem; }
.duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }

.horas { display: flex; align-items: flex-end; gap: 4px; height: 180px; padding-top: 8px; }
.hora { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; min-width: 0; }
.hora .barra { width: 100%; max-width: 34px; background: var(--barra); border-radius: 5px 5px 2px 2px; }
.hora span { font-size: .7rem; color: var(--suave); }
.hora:hover .barra { background: var(--acento); }

.tabela { width: 100%; border-collapse: collapse; font-size: .9rem; font-variant-numeric: tabular-nums; }
.tabela th { text-align: left; font-weight: 600; color: var(--suave); font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid var(--linha); padding: 6px 8px; }
.tabela td { border-bottom: 1px solid var(--linha); padding: 8px; }
.tabela tr:last-child td { border-bottom: 0; }
.n { text-align: right !important; white-space: nowrap; }
.rolagem { overflow-x: auto; max-height: 440px; overflow-y: auto; }
.rolagem td { white-space: nowrap; }
.vazio { color: var(--suave); text-align: center; padding: 18px; }
.nota { color: var(--suave); font-size: .82rem; margin: 10px 0 0; }
.nota:empty { display: none; }

@media (max-width: 860px) {
  .cards { grid-template-columns: 1fr 1fr; }
  .duas { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .topo { padding: 10px 16px; }
  .filtros select, .filtros input { flex: 1 1 100%; max-width: none; }
  .card p { font-size: 1.3rem; }
  .horas { height: 140px; gap: 2px; }
  .hora span { font-size: .6rem; }
}

/* ---------- administração ---------- */
.selo-adm { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--acento); border: 1px solid var(--acento); border-radius: 999px; padding: 2px 8px; margin-left: 4px; }
.alerta.ok { background: color-mix(in srgb, var(--ok) 14%, transparent); color: var(--ok); }
.nota-topo { color: var(--suave); margin: -6px 0 12px; font-size: .9rem; }
.bloco h3 { font-size: .95rem; margin: 22px 0 8px; }
button.sec { background: transparent; color: var(--marca); border: 1px solid var(--linha); padding: 7px 12px; font-weight: 600; }
button.sec:hover { border-color: var(--marca); }
button.perigo { background: transparent; color: var(--ruim); border: 1px solid color-mix(in srgb, var(--ruim) 40%, transparent); padding: 7px 12px; }
button:disabled { opacity: .5; cursor: not-allowed; }
.grade-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; }
.grade-form .largo { grid-column: span 2; }
.grade-form .acoes-form { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.linha-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.linha-form input, .linha-form select { flex: 1 1 160px; min-height: 38px; padding: 7px 10px; }
.linha-form span { color: var(--suave); font-size: .88rem; }
.check { display: inline-flex; flex-direction: row; align-items: center; gap: 4px; color: var(--tinta); }
.check input { min-height: 0; }
.cab-lista { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.cab-lista h2 { margin: 0; }
.ferramentas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ferramentas input[type=search] { min-width: 220px; min-height: 38px; padding: 7px 10px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips button { background: transparent; color: var(--suave); border: 1px solid var(--linha); border-radius: 999px; padding: 5px 12px; font-weight: 500; font-size: .85rem; }
.chips button.ativo { background: var(--marca); color: var(--superficie); border-color: var(--marca); }
.rolagem-x { overflow-x: auto; }
.tabela-clientes tbody tr { cursor: pointer; }
.tabela-clientes tbody tr:hover td { background: color-mix(in srgb, var(--marca) 5%, transparent); }
.etq { display: inline-block; font-size: .78rem; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.etq.bom { background: color-mix(in srgb, var(--ok) 15%, transparent); color: var(--ok); }
.etq.atencao { background: color-mix(in srgb, var(--acento) 18%, transparent); color: var(--acento); }
.etq.ruim { background: color-mix(in srgb, var(--ruim) 14%, transparent); color: var(--ruim); }
.selo.esp i { background: var(--acento); }
.apagado td { opacity: .55; }
.atencao-txt { color: var(--acento); }
.nowrap { white-space: nowrap; }
.tabela small { color: var(--suave); }
.sem-rolagem { overflow: hidden; }
.modal { position: fixed; inset: 0; z-index: 10; background: rgba(10, 20, 20, .45); display: grid; place-items: start center; padding: 32px 16px; overflow-y: auto; }
.modal-caixa { width: 100%; max-width: 860px; background: var(--superficie); border-radius: var(--raio); padding: 18px 20px 22px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.modal-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--linha); padding-bottom: 10px; margin-bottom: 10px; }
.modal-cab h2 { margin: 0; font-size: 1.15rem; }
.modal-cab .link { font-size: 1.2rem; color: var(--suave); }
.segredo { margin-top: 16px; border: 2px dashed var(--acento); border-radius: var(--raio); padding: 14px 16px; background: color-mix(in srgb, var(--acento) 6%, transparent); }
.seg-linha { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--linha); flex-wrap: wrap; }
.seg-linha code { font: 600 1.05rem/1.3 ui-monospace, "Cascadia Mono", Consolas, monospace; letter-spacing: .03em; user-select: all; }
.copiar { margin-top: 12px; }
@media (max-width: 860px) {
  .grade-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .grade-form { grid-template-columns: 1fr; }
  .grade-form .largo { grid-column: auto; }
  .ferramentas input[type=search] { min-width: 0; flex: 1 1 100%; }
  .modal { padding: 0; }
  .modal-caixa { border-radius: 0; min-height: 100%; padding: 14px 16px; }
}

/* ---------- menu e telas do BI ---------- */
.menu { display: flex; gap: 4px; }
.menu a { text-decoration: none; color: var(--suave); font-weight: 600; padding: 7px 12px; border-radius: 9px; }
.menu a:hover { color: var(--tinta); background: color-mix(in srgb, var(--marca) 7%, transparent); }
.menu a.ativo { color: var(--superficie); background: var(--marca); }
.barra-filtros { background: var(--superficie); border-bottom: 1px solid var(--linha); padding: 10px 16px; display: grid; gap: 8px; }
.bf-linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; max-width: 1180px; margin: 0 auto; width: 100%; }
.bf-campo { font-size: .78rem; gap: 4px; min-width: 130px; flex: 0 1 auto; }
.bf-campo input, .bf-campo select { min-height: 38px; padding: 7px 10px; }
.bf-acoes { display: flex; gap: 8px; }
.bf-acoes button { min-height: 38px; padding: 7px 14px; }
.barra-filtros .chips { max-width: 1180px; margin: 0 auto; width: 100%; }
.extras { margin: 12px 0 0; max-width: none; }
.chips.relatorios button { font-weight: 600; }
.cards-3 { grid-template-columns: repeat(3, 1fr); }
.bloco h2 .sub { font-weight: 500; color: var(--suave); font-size: .8rem; margin-left: 6px; }
.barras-v { display: flex; align-items: flex-end; gap: 8px; height: 190px; padding-top: 18px; }
.bv { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; min-width: 0; }
.bv-barra { width: 100%; max-width: 46px; background: var(--barra); border-radius: 6px 6px 2px 2px; }
.bv:hover .bv-barra { background: var(--acento); }
.bv span { font-size: .72rem; color: var(--suave); white-space: nowrap; }
.bv-val { font-size: .66rem !important; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.barras-h { display: grid; gap: 6px; }
.bh { display: grid; grid-template-columns: 92px 1fr 110px; gap: 8px; align-items: center; font-size: .82rem; font-variant-numeric: tabular-nums; }
.bh-trilho { height: 10px; background: color-mix(in srgb, var(--marca) 8%, transparent); border-radius: 99px; overflow: hidden; }
.bh-barra { height: 100%; background: var(--barra); border-radius: 99px; }
.ranking { margin: 0; padding: 0 0 0 22px; display: grid; gap: 2px; font-size: .9rem; }
.ranking li { padding: 6px 0; border-bottom: 1px solid var(--linha); }
.ranking li:last-child { border-bottom: 0; }
.ranking li { display: list-item; }
.ranking li > .r-nome { display: inline-block; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: top; }
.ranking li > .r-valor { float: right; text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.ranking li > .r-valor small { display: block; font-weight: 400; color: var(--suave); font-size: .75rem; }
.ranking .vazio { list-style: none; margin-left: -22px; }
.status-ok { color: var(--ok); font-weight: 600; }
.status-ruim { color: var(--ruim); font-weight: 600; }
.status-esp { color: var(--acento); font-weight: 600; }
.rolagem-alta { max-height: 68vh; overflow: auto; }
.tabela-rel thead th { position: sticky; top: 0; background: var(--superficie); cursor: pointer; white-space: nowrap; z-index: 1; }
.tabela-rel tfoot th { position: sticky; bottom: 0; background: var(--superficie); border-top: 2px solid var(--linha); color: var(--tinta); font-size: .85rem; text-transform: none; }
.tabela-rel td { white-space: nowrap; }
.classe-A { color: var(--ok); font-weight: 700; } .classe-B { color: var(--acento); font-weight: 700; } .classe-C { color: var(--ruim); font-weight: 700; }
a.botao { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 12px; border-radius: 10px; font-weight: 600; text-decoration: none; }
a.botao.sec { border: 1px solid var(--linha); color: var(--marca); }
@media (max-width: 860px) {
  .cards-3 { grid-template-columns: 1fr 1fr; }
  .menu { order: 3; width: 100%; }
}
@media (max-width: 520px) {
  .cards-3 { grid-template-columns: 1fr; }
  .bf-campo { flex: 1 1 calc(50% - 10px); min-width: 0; }
  .bh { grid-template-columns: 78px 1fr 92px; font-size: .74rem; }
  .barras-v { gap: 3px; }
  .bv-val { display: none; }
}
.bf-campo input, .bf-campo select { width: 100%; min-width: 0; box-sizing: border-box; }
.bf-campo { display: grid; }

/* ======================================================================
   Layout do Mateus BI (V253): menu lateral azul, títulos, painéis e KPIs
   ====================================================================== */
.marca-sinal { background: #5ec7ff; box-shadow: 5px 5px 0 var(--marca); }
.entrada { background: linear-gradient(135deg, #021b45, #005bff 65%, #5ec7ff); }
.cartao-login { max-width: 430px; border: 0; border-radius: 18px; padding: 34px; box-shadow: 0 24px 70px #021b4550; }
.cartao-login .marca { color: var(--marca-escura); font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.cartao-login label { font-size: 12px; font-weight: 800; color: #475569; }
.cartao-login input { background: #fff; border-color: #dbe3ee; border-radius: 9px; min-height: 46px; }
.cartao-login button { min-height: 46px; border-radius: 9px; font-weight: 900; }
input, select { background: #fff; border-color: #dbe3ee; border-radius: 9px; }
input:focus, select:focus { outline: none; border-color: var(--marca); box-shadow: 0 0 0 3px #005bff1a; }
button { border-radius: 9px; font-weight: 700; }

body.bi { background: var(--fundo); }
.side { position: fixed; left: 0; top: 0; bottom: 0; width: 245px; background: linear-gradient(180deg, #021b45, #063b91); color: #fff;
  padding: 22px 14px 28px; box-shadow: 8px 0 30px #0b214015; overflow-y: auto; z-index: 20; scrollbar-width: thin; scrollbar-color: #5ec7ff #ffffff14; }
.side .brand { font-weight: 900; letter-spacing: 1px; font-size: 18px; padding: 8px 12px 6px; }
.side .cliente-nome { font-size: 12px; opacity: .7; padding: 0 12px 18px; overflow-wrap: anywhere; }
.navgroup { font-size: 11px; text-transform: uppercase; opacity: .55; margin: 20px 12px 7px; letter-spacing: .03em; }
.nav { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 10px; margin: 4px 0; font-size: 14px; color: #fff; text-decoration: none; }
.nav:hover, .nav.active { background: #ffffff1c; }
.nav .ic { width: 20px; text-align: center; flex: 0 0 auto; }
.nav-sub { display: flex; align-items: center; gap: 6px; padding: 9px 10px; border-radius: 8px; margin: 2px 0 2px 18px; font-size: 12px; color: #dbeafe; text-decoration: none; }
.nav-sub:hover, .nav-sub.active { background: #ffffff18; color: #fff; }
.nav.breve, .nav-sub.breve { opacity: .45; cursor: default; }
.nav.breve:hover, .nav-sub.breve:hover { background: none; }
.breve-tag { margin-left: auto; font-size: 9px; text-transform: uppercase; letter-spacing: .04em; border: 1px solid #ffffff55; border-radius: 99px; padding: 1px 6px; }
.side form { margin: 0; }
.side button.nav { width: 100%; background: none; border: 0; font: inherit; font-size: 14px; font-weight: 400; text-align: left; cursor: pointer; }
.side .quem-side { font-size: 12px; opacity: .6; padding: 6px 12px 0; }

.main { margin-left: 245px; padding: 28px; max-width: 1700px; }
.top { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 20px; }
.top h1 { font-size: 28px; margin: 0; color: var(--tinta); }
.top .sub { color: var(--suave); font-size: 13px; margin-top: 5px; }
.btn { border: 0; background: var(--marca); color: #fff; min-height: 40px; padding: 0 16px; border-radius: 9px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px; text-decoration: none; font-size: 14px; }
.btn.secondary { background: #edf3ff; color: var(--marca); }
.top.hero { padding: 22px 24px; border-radius: 20px; background: linear-gradient(115deg, #071d43 0%, #0b397b 58%, #087db5 100%); color: #fff;
  box-shadow: 0 12px 28px #062d631c; position: relative; overflow: hidden; }
.top.hero:after { content: ""; position: absolute; width: 230px; height: 230px; border: 1px solid #ffffff20; border-radius: 50%; right: 9%; top: -145px;
  box-shadow: 0 0 0 28px #ffffff08, 0 0 0 58px #ffffff06; pointer-events: none; }
.top.hero h1 { color: #fff; font-size: 27px; letter-spacing: -.7px; position: relative; z-index: 1; }
.top.hero .sub { color: #c6dcfa; position: relative; z-index: 1; }
.top.hero .btn { background: #fff; color: #0b4eb6; box-shadow: 0 5px 14px #001b4933; position: relative; z-index: 1; }

.panel { background: #fff; border: 1px solid var(--linha); border-radius: 16px; padding: 20px; box-shadow: var(--sombra); margin-bottom: 18px; min-width: 0; }
.panelhead { display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.panelhead h3 { margin: 0; font-size: 16px; color: #19345d; }
.small { font-size: 12px; color: var(--suave); }
.filter-note { font-size: 12px; color: var(--suave); margin-left: auto; }
.filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.field { display: flex; flex-direction: column; gap: 6px; min-width: 150px; color: inherit; }
.field > span, .field label { font-size: 11px; font-weight: 700; color: #64748b; text-transform: uppercase; }
.field input, .field select { height: 40px; min-height: 40px; padding: 0 10px; width: 100%; }
.quick { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.quick button { border: 1px solid #d8e4f4; background: #f3f7ff; color: #345274; border-radius: 999px; padding: 7px 11px; font-size: 11px; font-weight: 700; cursor: pointer; }
.quick button:hover { border-color: #80aef0; color: #0c55c4; }
.quick button.ativo { background: var(--marca); border-color: var(--marca); color: #fff; }

.kpis, .exec-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-bottom: 18px; }
.kpis.k6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.exec-kpi, .kpi { position: relative; overflow: hidden; background: linear-gradient(135deg, #fff 0%, #f7faff 100%); border: 1px solid #dbe6f4; border-radius: 17px;
  padding: 18px 19px 17px 21px; box-shadow: 0 7px 20px #183b6a09; min-width: 0; }
.exec-kpi { min-height: 118px; }
.exec-kpi:before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--kpi, #145bdb); }
.exec-kpi:after { content: ""; position: absolute; width: 82px; height: 82px; border-radius: 50%; right: -30px; top: -34px; background: var(--kpi, #145bdb); opacity: .07; }
.exec-kpis .exec-kpi:nth-child(6n+1) { --kpi: #145bdb; } .exec-kpis .exec-kpi:nth-child(6n+2) { --kpi: #0c9bb6; } .exec-kpis .exec-kpi:nth-child(6n+3) { --kpi: #6b5ce7; }
.exec-kpis .exec-kpi:nth-child(6n+4) { --kpi: #149b78; } .exec-kpis .exec-kpi:nth-child(6n+5) { --kpi: #d99117; } .exec-kpis .exec-kpi:nth-child(6n+6) { --kpi: #d94c68; }
.exec-kpi .label, .kpi > span { display: block; font-size: 10px; color: #607797; text-transform: uppercase; font-weight: 800; letter-spacing: .65px; }
.exec-kpi .value, .kpi > b { display: block; font-size: clamp(20px, 2vw, 27px); font-weight: 900; margin: 7px 0 4px; color: #172b4b; letter-spacing: -.5px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; position: relative; z-index: 1; }
.exec-kpi .meta, .kpi > small { display: block; font-size: 12px; color: #7185a2; line-height: 1.45; }
.kpi.clicavel { cursor: pointer; } .kpi.clicavel:hover { border-color: #80aef0; }

.annual { display: grid; grid-template-columns: minmax(0, 1fr) 245px; gap: 22px; align-items: center; }
.annual-total { border-left: 1px solid #dce7f5; padding: 17px 0 17px 22px; background: linear-gradient(135deg, #f0f6ff, #fff); border-radius: 0 12px 12px 0; }
.annual-total .smalllabel { font-size: 11px; color: #5c7394; text-transform: uppercase; font-weight: 800; margin-bottom: 6px; }
.annual-total .big { font-size: clamp(23px, 2vw, 30px); font-weight: 900; color: #123b7c; margin-bottom: 7px; }
.growth { color: #147d66; background: #e6f8f1; display: inline-block; border-radius: 8px; padding: 7px 9px; font-size: 12px; font-weight: 900; margin-top: 8px; }
.chart-bi { height: 230px; display: flex; align-items: flex-end; gap: 9px; padding: 14px 10px 8px; background: linear-gradient(180deg, #f4f8ff 0%, #fff 92%); border: 1px solid #e3ebf7; border-radius: 13px; overflow-x: auto; }
.chart-bi .col { flex: 1; min-width: 42px; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; }
.chart-bi .val { font-size: 10px; font-weight: 800; color: #3e5678; white-space: nowrap; }
.chart-bi .bar { width: min(54%, 34px); min-width: 14px; min-height: 2px; border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, #37b7f2 0%, #1763e9 65%, #1748b5 100%); box-shadow: 0 4px 10px #1763e926; }
.chart-bi .bar.compra { background: linear-gradient(180deg, #7bdcb5, #19a974); box-shadow: none; }
.chart-bi .pares { display: flex; gap: 3px; align-items: flex-end; height: calc(100% - 34px); width: 100%; justify-content: center; }
.chart-bi .pares .bar { width: 15px; min-width: 8px; }
.chart-bi .rot { font-size: 10px; font-weight: 700; color: #5e7392; white-space: nowrap; }
.legend { display: flex; gap: 16px; font-size: 11px; color: #64748b; margin-bottom: 8px; }
.legend i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 4px; background: #1763e9; }
.legend i.compra { background: #19a974; }

.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: start; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.grid2.largo { grid-template-columns: 1.5fr 1fr; }
.barlist { display: flex; flex-direction: column; gap: 10px; }
.barrow { display: grid; grid-template-columns: minmax(80px, 1.1fr) 1.2fr minmax(70px, .8fr); gap: 8px; align-items: center; font-size: 11px; color: #3b5374; }
.barrow > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.track { height: 10px; background: #e9f0fa; border: 1px solid #dfe8f5; border-radius: 99px; overflow: hidden; }
.fill { height: 100%; background: linear-gradient(90deg, #145bdb, #38bce8); border-radius: 99px; }
.money { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.payrow { display: grid; grid-template-columns: 1.7fr .8fr 1fr; gap: 10px; align-items: center; padding: 11px 7px; border-bottom: 1px solid #e9eff8; font-size: 13px; color: #253e60; border-radius: 8px; }
.payrow:nth-child(even) { background: #f5f8fe; }
.paythead { display: grid; grid-template-columns: 1.7fr .8fr 1fr; gap: 10px; font-size: 11px; font-weight: 700; color: #627897; padding: 0 7px 8px; border-bottom: 1px solid #dfe8f4; }
.paythead span:not(:first-child), .payrow span:not(:first-child) { text-align: right; }
.paytotal { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 2px solid #cbdcf1; color: #18345b; background: #edf5ff; border-radius: 10px; padding: 14px; margin-top: 10px; font-weight: 800; font-size: 12px; }
.paytotal strong { font-size: 16px; }
.payrows-scroll { max-height: 290px; overflow-y: auto; }
.rankrow { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid #e7eef8; }
.ranknum { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #e0edff, #c8e4ff); color: #1255bc; display: flex; align-items: center; justify-content: center; font-weight: 900; box-shadow: inset 0 0 0 1px #bad6f7; }
.rankname { color: #2a4264; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rankvalue { text-align: right; font-weight: 800; color: #173b76; font-variant-numeric: tabular-nums; }
.rankvalue small { display: block; color: var(--suave); font-size: 11px; font-weight: 500; margin-top: 2px; }
.tablewrap { overflow: auto; max-height: 530px; }
.exec-table, .tabela-bi { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.exec-table th, .exec-table td, .tabela-bi th, .tabela-bi td { padding: 9px 8px; border-bottom: 1px solid #edf1f6; text-align: left; white-space: nowrap; }
.exec-table th { font-size: 11px; color: #4e6688; background: #edf4fd; font-weight: 700; }
.exec-table tr:nth-child(even) td { background: #f8fbff; }
.tabela-bi th { color: #64748b; font-size: 10px; text-transform: uppercase; position: sticky; top: 0; background: #fff; z-index: 1; font-weight: 700; }
.tabela-bi tfoot th { position: sticky; bottom: 0; top: auto; border-top: 2px solid var(--linha); color: var(--tinta); font-size: 12px; text-transform: none; }
.num { text-align: right !important; }
.status-final { color: #0a9b47; } .status-cancel { color: #d35400; } .status-open { color: #2563eb; }
.loading { padding: 25px; text-align: center; color: #6b7f9d; background: #f7faff; border-radius: 10px; }
.exec-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mini-kpis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin: 14px 0; }
.mini { background: linear-gradient(135deg, #edf5ff, #f9fbff); border: 1px solid #dfe9f7; border-radius: 10px; padding: 12px; min-width: 0; }
.mini span { font-size: 10px; color: #5e7697; text-transform: uppercase; font-weight: 800; }
.mini b { display: block; font-size: 17px; margin-top: 4px; color: #173b76; overflow-wrap: anywhere; }
.mini.clicavel { cursor: pointer; } .mini.clicavel:hover { border-color: #80aef0; }
.report-tabs { display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--linha); padding-bottom: 14px; margin-bottom: 16px; }
.report-tab { border: 1px solid #dbe3ee; background: #fff; color: #334155; border-radius: 9px; padding: 9px 12px; font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.report-tab.active { background: var(--marca); color: #fff; border-color: var(--marca); }
.alerta { border-radius: 10px; margin: 0 0 16px; }
.etq-est { display: inline-block; font-size: 11px; font-weight: 800; padding: 3px 9px; border-radius: 999px; }
.etq-est.normal { background: #ecfdf3; color: #137447; } .etq-est.baixo { background: #fff7ed; color: #c2410c; } .etq-est.sem { background: #fff1f2; color: #c0392b; }
.link-prod { color: #0b5fff; font-weight: 600; cursor: pointer; text-decoration: none; background: none; border: 0; padding: 0; font: inherit; text-align: left; }
.link-prod:hover { text-decoration: underline; }
.rodape-bi { text-align: center; color: var(--suave); font-size: 12px; margin: 8px 0 0; }

.mobile-menu-btn { display: none; position: fixed; z-index: 30; left: 12px; top: 12px; width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--marca); color: #fff; font-size: 21px; box-shadow: 0 8px 24px #0b21402b; padding: 0; }
.mobile-overlay { display: none; }

@media (max-width: 1300px) { .grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kpis.k6, .mini-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1100px) {
  .exec-kpis, .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .annual { grid-template-columns: 1fr; }
  .annual-total { border-left: 0; border-top: 1px solid #dce7f5; border-radius: 0 0 12px 12px; padding: 15px 0 0; background: transparent; }
  .exec-panels, .grid2, .grid2.largo { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .side { transform: translateX(-100%); transition: transform .2s; width: 260px; }
  body.menu-aberto .side { transform: none; }
  body.menu-aberto .mobile-overlay { display: block; position: fixed; inset: 0; background: #021b4566; z-index: 15; }
  .mobile-menu-btn { display: block; }
  .main { margin-left: 0; padding: 68px 15px 15px; }
}
@media (max-width: 720px) {
  .top { flex-wrap: wrap; } .top h1 { font-size: 23px; }
  .top.hero { padding: 18px; border-radius: 15px; }
  .grid4 { grid-template-columns: 1fr; }
  .panel { padding: 14px; border-radius: 14px; }
  .exec-kpi { padding: 14px 12px 13px 16px; min-height: 104px; }
  .exec-kpi .value { font-size: 20px; }
  .field { min-width: 0; flex: 1 1 calc(50% - 12px); }
  .kpis.k6, .mini-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .chart-bi .val { display: none; }
}
.exec-kpis.k4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.horas .hora .barra { background: linear-gradient(180deg, #37b7f2 0%, #1763e9 65%, #1748b5 100%); }
.lojas:empty { display: none; }
@media (max-width: 1100px) { .exec-kpis.k4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pilha { display: grid; gap: 16px; } .pilha .bloco { border-radius: 16px; padding: 20px; } .pilha .card { border-radius: 16px; }
.navgroup .breve-tag { margin-left: 6px; text-transform: none; } .nav.breve { white-space: nowrap; }
.kpi > b { font-size: clamp(16px, 1.45vw, 24px); overflow-wrap: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kpi { padding: 16px 16px 15px; }
.chart-bi .col { min-width: 28px; } .chart-bi { gap: 6px; } #stockforn td:first-child { white-space: normal; min-width: 140px; }

/* ---------- administração: área separada, cor própria (grafite + âmbar) ---------- */
body.adm .side-adm { background: linear-gradient(180deg, #111827, #1f2937); }
body.adm .side-adm .nav:hover, body.adm .side-adm .nav.active { background: #f59e0b22; }
body.adm .side-adm .brand { color: #fbbf24; }
body.adm .top.hero { background: linear-gradient(115deg, #111827 0%, #1f2937 60%, #92400e 100%); }
body.adm .mobile-menu-btn { background: #1f2937; }
body.adm html { scroll-behavior: smooth; }
body.adm .bloco { scroll-margin-top: 16px; }
body.adm-entrada .entrada { background: linear-gradient(135deg, #111827, #1f2937 60%, #92400e); }
body.adm-entrada .cartao-login .marca { color: #92400e; }
body.adm-entrada .cartao-login button { background: #1f2937; }
.qr { width: 210px; height: 210px; margin: 4px auto; background: #fff; }
.qr svg { width: 100%; height: 100%; }
.chave-totp { font: 600 .95rem ui-monospace, Consolas, monospace; letter-spacing: .06em; user-select: all; word-break: break-all; }
body.menu-aberto .mobile-menu-btn { left: auto; right: 12px; }
.finance-status { font-weight: 800; padding: 4px 8px; border-radius: 999px; font-size: 10px; display: inline-block; white-space: nowrap; }
.finance-status.a-vencer { background: #eff6ff; color: #2563eb; } .finance-status.vencido { background: #fff1f2; color: #c0392b; }
.finance-status.quitado { background: #ecfdf3; color: #137447; } .finance-status.parcial { background: #fff7ed; color: #c2410c; }
.finance-status.excluido { background: #f1f5f9; color: #64748b; }
.sub-h { font-size: 14px; margin: 16px 0 8px; color: #19345d; }
.kpi > b.down { color: #c0392b; }
.cx-badge { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.cx-ok { background: #e6f6ec; color: #146c2e; } .cx-warn { background: #fff4d6; color: #8a5a00; } .cx-bad { background: #fde7e7; color: #a11d1d; } .cx-info { background: #e8eefc; color: #2c4a8a; }
.cx-num-bad { color: #a11d1d; font-weight: 700; } .cx-num-warn { color: #8a5a00; font-weight: 700; } .cx-num-ok { color: #146c2e; }
.cx-row { cursor: pointer; } .cx-row:hover td { background: #f3f7ff; } .cx-detail { display: none; } .cx-detail.open { display: table-row; }
.cx-detail td { background: #f8fafd; padding: 10px 16px; }
.cx-sub { width: 100%; border-collapse: collapse; margin: 4px 0; } .cx-sub th, .cx-sub td { padding: 5px 8px; border-bottom: 1px solid #e3e9f3; font-size: 13px; text-align: left; }
.cx-sub th.num, .cx-sub td.num { text-align: right; } .cx-note { font-size: 12px; color: #5b6b85; margin-top: 6px; }

/* Etapa D: Central de Metas / Comissão */
.btn.acao { height: 30px; min-height: 30px; padding: 0 9px; font-size: 12px; }
.up { color: #15803d; font-weight: 700; }
.error { color: #b91c1c; }
.cfg-tabela input[type=number] { width: 110px; text-align: right; }
.total-row td { font-weight: 700; background: #f1f5f9; }
.aviso-sv { margin-top: 8px; font-size: 13px; }
select[multiple] { min-height: 90px; }
/* Etapa E: Clientes */
.link-ficha { color: var(--marca); text-decoration: underline dotted; cursor: pointer; }
.field textarea { width: 100%; border: 1px solid #dbe3ee; border-radius: 8px; padding: 8px; font: inherit; }
/* Etapa F: Compras */
.so-impressao { display: none; }
.qtd-pedir { width: 80px; text-align: right; }
.forn-linha { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 4px 0; }
.forn-linha b { min-width: 200px; }
@media print {
  body.imprimindo > *:not(#impressao) { display: none !important; }
  body.imprimindo #impressao { display: block !important; }
  #impressao table { width: 100%; border-collapse: collapse; font-size: 11px; }
  #impressao th, #impressao td { border: 1px solid #ccd; padding: 4px 6px; text-align: left; }
  #impressao h2 { page-break-before: always; } #impressao h2:first-of-type { page-break-before: auto; }
}

/* ---------- celular (revisão geral) ---------- */
.filtros-resumo { display: none; }
@media (max-width: 720px) {
  input, select, textarea { font-size: 16px !important; }            /* iPhone não dá zoom ao tocar no campo */
  .main { padding: 64px 12px 24px; }
  .top { flex-wrap: nowrap; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
  .top h1 { font-size: 21px; line-height: 1.2; }
  .top .sub { font-size: 12px; }
  .top > .btn, .top .btn { flex: 0 0 auto; height: 38px; min-height: 38px; padding: 0 12px; font-size: 13px; }
  .top.hero h1 { font-size: 21px; }
  .filtros-resumo { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 8px; border: 0; background: none;
                    padding: 2px 0; font: inherit; font-size: 14px; color: var(--tinta, #10213f); text-align: left; cursor: pointer; }
  .filtros-resumo span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
  .filtros-resumo b { color: var(--marca, #005bff); font-size: 13px; white-space: nowrap; }
  .panel.recolhido > :not(.filtros-resumo) { display: none !important; }
  .panel:has(> .filtros-resumo):not(.recolhido) > .filtros-resumo { margin-bottom: 10px; }
  .panelhead { flex-wrap: wrap; gap: 8px; }
  .panelhead > .quick, .panelhead > div:last-child:not(:first-child) { width: 100%; }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
  .kpi { padding: 12px; } .kpi > b { font-size: 17px; } .kpi small { font-size: 11px; }
  .mini-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px; }
  .mini b { font-size: 15px; }
  .tablewrap { max-height: 70vh !important; -webkit-overflow-scrolling: touch; }
  .tabela-bi, .exec-table { font-size: 13px; }
  .tabela-bi th, .tabela-bi td { padding: 8px 8px; }
  .tabela-bi th:first-child, .tabela-bi td:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 #e6ecf5; }
  .tabela-bi thead th:first-child { z-index: 3; }
  .tabela-bi td:first-child { max-width: 46vw; white-space: normal; }
  .btn.acao { height: 36px; min-height: 36px; padding: 0 10px; }
  .filters > .btn, .filters > a.btn { flex: 1 1 auto; }
  .quick { gap: 6px; }
  .check { flex: 1 1 100%; }
  .grid2, .grid2.largo { grid-template-columns: 1fr !important; }
  .forn-linha b { min-width: 0; flex: 1 1 100%; }
  .qtd-pedir { width: 64px; }
  .modal-caixa .filters .field { flex: 1 1 100%; }
}
@media (max-width: 900px) {
  /* barra fixa no topo: o botão do menu não cobre mais o conteúdo ao rolar */
  body.bi::before { content: "Mateus BI"; position: fixed; top: 0; left: 0; right: 0; height: 64px; z-index: 25; display: flex; align-items: center;
                    padding-left: 68px; font-weight: 800; font-size: 15px; color: #19345d; background: rgba(244, 247, 251, .94);
                    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 1px 0 #e3e9f3; }
  body.bi.menu-aberto::before { display: none; }
  .main { padding-top: 76px !important; }
  .modal { z-index: 40; }
}
@media (max-width: 720px) {
  .panel, section[id] { scroll-margin-top: 80px; }
  .quick .btn, .quick a.btn { min-height: 38px; height: auto; font-size: 13px; padding: 8px 12px; }
  .modal .quick .btn { flex: 1 1 auto; }
}
/* Etapa G: Central de Avisos */
.av-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-bottom: 12px; }
.av-card { text-align: left; cursor: pointer; background: #fff; color: inherit; border: 2px solid #9994; border-radius: 10px; padding: 10px 12px; font: inherit; }
.av-card .q { font-size: 24px; font-weight: 800; }
.av-badge { color: #fff; border-radius: 99px; padding: 2px 8px; font-size: 11px; font-weight: 700; display: inline-block; }
.av-alerta { margin: 10px 0; padding: 10px 12px; border-radius: 6px; font-size: 13px; }
.av-heat td { text-align: center; height: 22px; min-width: 20px; border-radius: 4px; font-size: 10px; }
.av-graf { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 12px; }
@media (max-width: 720px) { .av-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .av-graf { grid-template-columns: 1fr; } .av-card .q { font-size: 20px; } }
#avBody .kpis { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
@media (min-width: 721px) { .av-cards { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }

/* aviso rápido (gerando PDF/Excel) */
#bi-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;background:#0b2a5b;color:#fff;padding:10px 16px;border-radius:10px;
  box-shadow:0 6px 24px rgba(0,0,0,.25);font-size:14px;max-width:calc(100vw - 32px)}
#bi-toast.erro{background:#b91c1c}
#bi-toast[hidden]{display:none}
[data-exp][aria-busy="true"]{opacity:.6;pointer-events:none}

/* filtro por horário (Vendas e Conferência de Caixa) */
.campo-hora input[type=time]{min-width:118px}

/* menu: grupo recolhível (Financeiro) */
.nav-grupo > summary { list-style: none; cursor: pointer; user-select: none; }
.nav-grupo > summary::-webkit-details-marker { display: none; }
.nav-grupo > summary .seta { margin-left: auto; font-size: 11px; opacity: .8; transition: transform .15s; }
.nav-grupo[open] > summary .seta { transform: rotate(90deg); }
.nav-grupo > summary:focus-visible { outline: 2px solid #93c5fd; outline-offset: 1px; }

/* marcar vendas / títulos para o PDF detalhado */
.sel-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px; }
.sel-barra[hidden] { display: none; }
.sel-barra .small { margin-right: auto; }
th.col-sel, td.col-sel { width: 34px; text-align: center; }
.col-sel input { width: 18px; height: 18px; }

/* Consulta de Preço (mesmo visual do Mateus BI) */
.price-search { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; max-width: 860px; }
.price-search input { height: 48px; font-size: 18px; padding: 0 14px; border: 1px solid #cfdbea; border-radius: 12px; }
.price-result-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.price-card { border: 1px solid #e7edf5; border-radius: 14px; padding: 16px; background: #fff; }
.price-product { font-size: 17px; font-weight: 800; margin-bottom: 6px; overflow-wrap: anywhere; }
.price-big { font-size: 32px; font-weight: 900; color: #005bff; letter-spacing: -1px; }
.price-big small { font-size: .45em; font-weight: 600; color: #64748b; }
.price-promo { color: #c0392b; font-weight: 800; margin-top: 2px; }
.price-inativo { background: #fde8e8; color: #b42318; border-radius: 6px; padding: 1px 6px; font-size: 11px; font-weight: 700; }
.price-meta { font-size: 12px; color: #64748b; line-height: 1.6; margin-top: 6px; overflow-wrap: anywhere; }
.price-empty { grid-column: 1 / -1; padding: 30px; text-align: center; color: #718096; border: 1px dashed #dbe3ee; border-radius: 12px; }
@media (max-width: 720px) { .price-search { grid-template-columns: 1fr; } .price-result-grid { grid-template-columns: 1fr; } }

/* Vendas: resumo do período × anterior e itens da venda (como no Mateus BI) */
.resumo-vendas { margin: 0 0 16px; }
.resumo-vendas[hidden] { display: none; }
.exec-kpis.k5 { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 8px; }
.resumo-nota { margin: 0 2px; }
.exec-kpis.k5 .value { font-size: clamp(18px, 1.55vw, 24px); overflow-wrap: normal; white-space: nowrap; }
.var-sobe { color: #15803d; font-weight: 700; } .var-desce { color: #b91c1c; font-weight: 700; }
a.link-venda, a.link-ficha { color: #005bff; text-decoration: underline dotted; text-underline-offset: 2px; }
.vm-h { font-size: 15px; margin: 16px 0 6px; } .vm-total { font-size: 16px; margin: 12px 0 0; }
@media (max-width: 1300px) { .exec-kpis.k5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .exec-kpis.k5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Ficha do produto e Extrato de estoque */
.ficha[hidden], .extrato[hidden] { display: none; }
.ficha .grid2 > div { min-width: 0; }
.ficha-topo { display: flex; gap: 12px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
.ficha-dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px 14px; margin: 12px 0; }
.ficha-dados > div { min-width: 0; overflow-wrap: anywhere; } .ficha-dados b { font-size: 15px; }
.ficha-vendas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 10px 0 14px; }
.ficha-vendas > div { border: 1px solid #e3eaf4; border-radius: 12px; padding: 10px 12px; background: #f8fbff; min-width: 0; }
.ficha-vendas span { display: block; font-size: 11px; color: #64748b; text-transform: uppercase; font-weight: 700; letter-spacing: .4px; }
.ficha-vendas b { display: block; font-size: 17px; margin-top: 3px; overflow-wrap: anywhere; }
.mov-mais { color: #15803d; font-weight: 700; } .mov-menos { color: #b91c1c; font-weight: 700; }
@media (max-width: 900px) { .ficha-vendas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Gravação no ERP pelo portal (2.11): aviso, situação do pedido, listas de escolha e edição do produto */
.erp-banner { border-radius: 12px; padding: 12px 14px; margin: 0 0 14px; font-size: 13px; line-height: 1.45; }
.erp-banner[hidden] { display: none; }
.erp-ok { background: #ecfdf3; border: 1px solid #b7ebcb; color: #14532d; }
.erp-off { background: #fff8eb; border: 1px solid #fde1a6; color: #7a4b00; }
.erp-status { display: block; margin-top: 6px; padding: 8px 10px; border-radius: 10px; background: #f1f5fb; font-size: 13px; }
.erp-pendente, .erp-entregue { background: #eef4ff; color: #1e3a8a; }
.erp-feito { background: #ecfdf3; color: #14532d; }
.erp-recusado, .erp-expirado, .erp-sem_resposta { background: #fdecec; color: #8a1c1c; }
.pr-lista { display: flex; flex-direction: column; gap: 6px; margin: 8px 0; max-height: 340px; overflow-y: auto; }
.pr-lista[hidden] { display: none; }
.pr-item { text-align: left; border: 1px solid #dbe5f3; background: #fff; border-radius: 10px; padding: 10px 12px; cursor: pointer; font: inherit; min-height: 44px; }
.pr-item:hover, .pr-item:focus { border-color: #80aef0; background: #f5f9ff; }
.pr-item .small { display: block; margin-top: 2px; overflow-wrap: anywhere; }
.perda-escolhido { margin: 8px 0; padding: 10px 12px; border-radius: 10px; background: #eef4ff; font-size: 13px; overflow-wrap: anywhere; }
.perda-escolhido[hidden] { display: none; }
.btn.mini { padding: 5px 10px; min-height: 32px; font-size: 12px; }
.btn.perigo { color: #b42318; }
td.acoes { white-space: nowrap; } td.acoes .btn + .btn { margin-left: 6px; }
.pe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 12px; }
.pe-grid .field { min-width: 0; } .pe-grid .pe-largo { grid-column: span 2; }
@media (max-width: 720px) { .pe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pe-grid .pe-largo { grid-column: 1 / -1; } }
.inv-contar input, .inv-contar select { font-size: 16px; }

/* Leitor de código de barras (câmera) */
.leitor-caixa { max-width: 560px; }
.leitor-video { position: relative; border-radius: 14px; overflow: hidden; background: #0b1220; aspect-ratio: 4 / 3; }
.leitor-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.leitor-guia { position: absolute; left: 4%; right: 4%; top: 22%; bottom: 22%; border: 3px solid #38bce8cc; border-radius: 12px; pointer-events: none; }
.leitor-guia span { position: absolute; top: -26px; left: 0; color: #fff; font-size: 12px; font-weight: 700; text-shadow: 0 1px 2px #000; }
.leitor-log { max-height: 140px; overflow: auto; margin-top: 8px; border: 1px solid #dbe3ee; border-radius: 10px; padding: 6px 8px; background: #f8fbff; font-size: 12px; }
.leitor-log[hidden] { display: none; }
.leitor-log .ok { color: #0f7a3d; padding: 2px 0; border-bottom: 1px solid #e8eef6; } .leitor-log .erro { color: #c0392b; padding: 2px 0; border-bottom: 1px solid #e8eef6; }
@media (max-width: 720px) { .leitor-caixa { min-height: 100%; } .price-search { grid-template-columns: 1fr 1fr; } .price-search input { grid-column: 1 / -1; } }
.mini-link { font-size: 11px; font-weight: 700; margin-left: 4px; text-transform: none; letter-spacing: 0; }
.setor-lista { display: flex; flex-direction: column; gap: 6px; max-height: 300px; overflow: auto; }
.setor-item { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #e3eaf4; border-radius: 10px; }

/* Configurar Gôndola / Ofertas da TV (2.13) */
.gc-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.gmsg { padding: 10px 14px; border-radius: 10px; margin: 0 0 12px; font-size: 14px; }
.gmsg[hidden] { display: none; } .gmsg.ok { background: #dff5e6; color: #0b5a28; } .gmsg.err { background: #fde3e0; color: #9b1c14; }
.gc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 18px; align-items: start; }
@media (max-width: 1100px) { .gc-grid { grid-template-columns: 1fr; } }
.gc-temas { display: flex; gap: 8px; flex-wrap: wrap; }
.gc-temas .tm { width: 84px; border: 3px solid transparent; border-radius: 10px; cursor: pointer; padding: 0; overflow: hidden; background: #fff; font-size: 12px; font: inherit; }
.gc-temas .tm.on { border-color: #111; } .gc-temas .tm i { display: block; height: 36px; }
.gc-cores { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px 12px; margin-top: 10px; }
.gc-cores .cor { display: flex; align-items: center; gap: 8px; } .gc-cores input[type=color] { width: 46px; height: 34px; padding: 0; border: 1px solid #cfd8d2; border-radius: 6px; background: #fff; }
.gc-chk { display: flex; align-items: center; gap: 8px; margin: 7px 0; font-size: 14px; } .gc-chk input { width: 18px; height: 18px; flex: 0 0 auto; }
.gc-logo img { max-height: 60px; max-width: 200px; background: #ddd; border-radius: 6px; padding: 4px; vertical-align: middle; }
.gc-prev { position: sticky; top: 12px; } .gc-pb { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.gc-prev iframe { box-sizing: border-box; width: 100%; height: 470px; border: 6px solid #222; border-radius: 18px; background: #000; display: block; }
.gc-prev iframe.tv { height: 240px; }
.disp-novo { margin: 10px 0; padding: 12px; border-radius: 10px; background: #ecfdf3; border: 1px solid #b7ebcb; font-size: 13px; }
.disp-novo[hidden] { display: none; }
.disp-url { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin: 8px 0; } .disp-url code { background: #fff; border: 1px solid #cfe9d9; border-radius: 8px; padding: 6px 8px; overflow-wrap: anywhere; flex: 1 1 260px; font-size: 12px; }
.of-grid { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 18px; align-items: start; }
.of-grid .of-full { grid-column: 1 / -1; } .panel .of-full { flex-basis: 100%; width: 100%; }
@media (max-width: 900px) { .of-grid { grid-template-columns: 1fr; } }
.of-dias { display: flex; gap: 6px; flex-wrap: wrap; } .of-dia { border: 1px solid #cfd8d2; border-radius: 8px; padding: 5px 9px; margin: 0; }
.of { display: flex; gap: 12px; align-items: center; padding: 10px 4px; border-bottom: 1px solid #e3ece6; }
.of img, .of-semfoto { width: 56px; height: 56px; object-fit: contain; background: #f2f6f3; border-radius: 8px; flex: 0 0 auto; display: grid; place-items: center; font-size: 24px; }
.of .n { flex: 1; min-width: 0; font-size: 13px; overflow-wrap: anywhere; } .of .n b { display: block; } .of .n b.in { display: inline; }
.tag { font-size: 11px; border-radius: 6px; padding: 2px 7px; background: #dff5e6; color: #0b5a28; white-space: nowrap; }
.tag.off { background: #eee; color: #666; } .tag.am { background: #fff3c4; color: #7a5b00; } .tag.vm { background: #fde3e0; color: #9b1c14; }
.tag.az { background: #e7f0ff; color: #0b3a8a; } .tag.cz { background: #eee; color: #444; }
.gc-grid > *, .of-grid > * { min-width: 0; }
.gc-logo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .gc-logo input[type=file] { max-width: 100%; min-width: 0; }

/* Usuários (2.14) */
.u-atalhos { display: flex; gap: 6px; flex-wrap: wrap; }
.u-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 2px 14px; }
.u-grade .gc-chk { font-size: 13.5px; align-items: center; color: inherit; margin: 4px 0; line-height: 1.3; cursor: pointer; }
.u-grade .gc-chk input { height: 18px; min-height: 0; padding: 0; margin: 0; }
#uFuncoesBox[hidden] { display: none; }

/* Central de Etiquetas (2.15): estilos da Central de Etiquetas do Mateus BI V253 (V164-V206), sem alteração */
.label-layout{display:grid;grid-template-columns:1.05fr 1.95fr;gap:18px}
.label-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:560px;overflow:auto}
.label-model{border:1px solid #dbe3ee;border-radius:12px;padding:12px;background:#fff;cursor:pointer}
.label-model.active{border-color:#005bff;box-shadow:0 0 0 3px #005bff12}
.label-model h4{margin:0 0 5px;font-size:13px}
.label-model .tag{display:inline-block;padding:3px 7px;border-radius:99px;background:#edf3ff;color:#005bff;font-size:10px;font-weight:800;margin-right:4px}
.label-products{max-height:340px;overflow:auto;border:1px solid #e7edf5;border-radius:12px}
.label-row{display:grid;grid-template-columns:34px 1fr 82px 70px;gap:8px;align-items:center;padding:10px;border-bottom:1px solid #edf1f6;font-size:12px}
.label-row:last-child{border-bottom:0}
.label-row input[type=number]{width:68px;height:34px;border:1px solid #dbe3ee;border-radius:8px;padding:0 7px}
.label-preview{border:1px solid #dbe3ee;border-radius:14px;min-height:210px;padding:16px;background:linear-gradient(180deg,#fff,#f8fbff);display:flex;align-items:center;justify-content:center}
.label-preview-paper{border:1px dashed #8fa8c5;background:#fff;padding:12px;min-width:220px;max-width:100%;text-align:center;box-shadow:0 8px 20px #19365c0b}
.label-preview-paper .lp-img{width:72px;height:72px;margin:0 auto 8px;border-radius:10px;background:#f4f7fb;display:flex;align-items:center;justify-content:center;overflow:hidden}.label-preview-paper .lp-img img{width:100%;height:100%;object-fit:contain}
.label-preview-paper .lp-name{font-weight:800;font-size:14px}
.label-preview-paper .lp-price{font-weight:900;font-size:24px;color:#005bff;margin:7px 0}
.label-preview-paper .lp-code{font-size:10px;color:#64748b}
.label-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.label-editor-workspace{display:grid;grid-template-columns:minmax(250px,330px) minmax(320px,1fr);gap:14px;align-items:start}.label-editor-sidebar{border:1px solid #dbe3ee;border-radius:12px;background:#fff;padding:12px}.label-editor-canvas-wrap{border:1px solid #dbe3ee;border-radius:12px;background:#f8fbff;padding:12px;overflow:auto}.label-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.label-add-btn{border:1px solid #dbe3ee;background:#f8fbff;border-radius:8px;padding:8px;font-size:11px;font-weight:800;color:#0f3f91;cursor:pointer}.label-add-btn:hover{background:#edf4ff;border-color:#9dbcf5}.label-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.label-editor-fields label{display:flex;gap:6px;align-items:center;font-size:11px;color:#475569}.label-selected-field-name{margin-top:5px;padding:8px;border-radius:8px;background:#edf4ff;color:#0f3f91;font-weight:800;font-size:12px}.label-selected-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.label-selected-controls>label{display:flex;gap:6px;align-items:center;font-size:11px}.label-pos-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.label-visual-editor{position:relative;margin:0 auto;max-width:100%;min-height:170px;background:#fff;border:2px dashed #8fa8c5;border-radius:6px;box-shadow:0 8px 20px #19365c0b;overflow:hidden;background-image:linear-gradient(#edf2f8 1px,transparent 1px),linear-gradient(90deg,#edf2f8 1px,transparent 1px);background-size:20px 20px;touch-action:none}.label-design-item{position:absolute;box-sizing:border-box;padding:2px 4px;border:1px dashed transparent;color:#0f172a;overflow:hidden;cursor:move;user-select:none;display:flex;align-items:center;justify-content:flex-start;line-height:1.05}.label-design-item.selected{border:2px solid #005bff;background:#005bff10;z-index:10}.label-design-item .drag-handle{position:absolute;right:1px;top:1px;font-size:9px;color:#005bff;opacity:.7}.label-design-image{justify-content:center;background:#f4f7fb;border-radius:5px}.label-design-image img{max-width:100%;max-height:100%;object-fit:contain}.label-design-barcode{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#111}.barcode-bars{font-size:18px;letter-spacing:-2px;line-height:12px;white-space:nowrap;transform:scaleX(.9)}.label-design-barcode span{font-size:8px;margin-top:2px}.label-editor-sidebar .field label{font-size:10px}.label-editor-sidebar .field input,.label-editor-sidebar .field select{height:32px;font-size:12px}
.label-editor label{display:flex;gap:7px;align-items:center;font-size:12px;color:#475569}
.label-editor .full{grid-column:1/-1}
@media(max-width:1050px){.label-layout{grid-template-columns:1fr}.label-models{max-height:300px}.label-editor-workspace{grid-template-columns:1fr}}
@media(max-width:680px){.label-models{grid-template-columns:1fr}.label-row{grid-template-columns:30px 1fr 65px 62px}.label-editor{grid-template-columns:1fr}.label-editor .full{grid-column:auto}}
.label-layout-v169{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.label-models-v169{max-height:560px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:3px}
.label-models-v169 .label-model{padding:10px}
.etq-products-v169{margin-bottom:14px}
.etq-products-v169 .compact-search{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:8px;align-items:end}
.etq-products-v169 .label-products{max-height:190px}
.etq-products-v169 .label-selected-panel{margin-top:10px;padding:10px}
.etq-products-v169 .label-selected-list{max-height:180px;overflow:auto}
.etq-editor-v169{padding:16px;background:#f8fbff}
.etq-editor-v169 .editor-main{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:start}
.etq-editor-v169 .label-editor-sidebar{max-height:720px;overflow:auto}
.etq-editor-v169 .label-editor-canvas-wrap{min-height:610px;display:flex;flex-direction:column}
.etq-editor-v169 .label-editor-ruler-row{flex:1;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:8px 4px 18px}
.etq-editor-v169 #labelVisualEditor{box-shadow:0 12px 28px rgba(25,54,92,.10);min-height:260px}
.etq-editor-v169 .label-ruler-top{margin:0 auto}
.etq-editor-v169 .editor-canvas-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.etq-model-toolbar-v169{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}
.etq-model-toolbar-v169 .small{max-width:70%}
@media(max-width:1050px){.label-layout-v169{grid-template-columns:1fr}.label-models-v169{max-height:220px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.etq-editor-v169 .editor-main{grid-template-columns:1fr}.etq-editor-v169 .label-editor-sidebar{max-height:none}.etq-products-v169 .compact-search{grid-template-columns:1fr 1fr}.etq-products-v169 .compact-search .search-main{grid-column:1/-1}}
@media(max-width:720px){.label-models-v169{grid-template-columns:1fr}.etq-products-v169 .compact-search{grid-template-columns:1fr}.etq-editor-v169 .label-editor-canvas-wrap{min-height:500px}}
.etq-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}.etq-preset{border:1px solid #dbe3ee;border-radius:14px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:6px}.etq-preset h4{margin:0;font-size:14px}.etq-preset .small{min-height:32px}.etq-prev{position:relative;background:#fff;border:1px solid #1e293b;box-shadow:0 2px 8px #0b21401f;margin:6px auto;max-width:100%;overflow:hidden}.etq-prev>div{position:absolute;overflow:hidden;white-space:nowrap;line-height:1.05;display:flex;align-items:center}.etq-prev .pv-bars{background:repeating-linear-gradient(90deg,#111 0 1.5px,#fff 1.5px 3px,#111 3px 3.5px,#fff 3.5px 6px,#111 6px 8px,#fff 8px 9px)}.etq-prev .pv-img{background:#e8eef6;justify-content:center;color:#64748b;font-size:18px}.etq-prev .pv-box{border:1px solid #111}
.label-selected-panel{margin-top:14px;padding:16px;border:1px solid #e7edf5;border-radius:14px;background:#f8fbff}
.label-selected-list{display:flex;flex-direction:column;gap:8px}.label-selected-row{display:grid;grid-template-columns:44px minmax(0,1fr) 90px 42px;gap:10px;align-items:center;padding:10px;border:1px solid #e7edf5;background:#fff;border-radius:10px}.label-selected-thumb{width:44px;height:44px;border-radius:8px;background:#f4f7fb;display:flex;align-items:center;justify-content:center;overflow:hidden}.label-selected-thumb img{width:100%;height:100%;object-fit:contain}.label-selected-row input[type=number]{width:80px;height:36px;border:1px solid #dbe3ee;border-radius:8px;padding:0 8px}.label-remove-btn{border:0;background:#fff1f2;color:#c0392b;width:36px;height:36px;border-radius:8px;font-weight:900;cursor:pointer}.label-row input[type=checkbox]{width:18px;height:18px}
@media(max-width:720px){.label-selected-row{grid-template-columns:40px minmax(0,1fr) 72px 36px}.label-selected-row input[type=number]{width:68px}}
.label-editor-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.label-tool-btn{border:1px solid #dbe3ee;background:#fff;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;color:#0f3f91;cursor:pointer}.label-tool-btn:hover{background:#edf4ff}.label-saved-box{margin-top:12px;padding:10px;border:1px solid #dbe3ee;border-radius:10px;background:#fff}.label-saved-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;margin-top:7px}.label-saved-row select,.label-saved-row input{height:34px;border:1px solid #dbe3ee;border-radius:8px;padding:0 8px}.label-design-item.locked{cursor:not-allowed;opacity:.85}.label-design-item.special{border-style:dashed}.label-design-line{height:2px!important;background:#334155;border:0!important;padding:0}.label-design-box{background:transparent;border:2px dashed #64748b!important}.label-design-qr{display:flex;align-items:center;justify-content:center;background:#fff}.label-design-qr:before{content:'QR';font-weight:900;font-size:12px;color:#111;border:2px solid #111;padding:8px}.label-grid-off{background-image:none!important}.label-ruler-note{font-size:10px;color:#64748b;margin-top:5px}.label-size-box{margin-top:10px;padding:10px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fbff}.label-size-title{font-size:12px;font-weight:900;color:#0f3f91;margin-bottom:3px}.label-size-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.label-size-actions{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}.label-size-actions .label-tool-btn{flex:1;min-width:110px}@media(max-width:720px){.label-saved-row{grid-template-columns:1fr 1fr}.label-saved-row>*:first-child{grid-column:1/-1}}
.label-editor-ruler-row{display:flex;align-items:stretch;gap:4px;overflow:auto;padding-bottom:4px}.label-ruler-top{height:22px;margin-left:28px;position:relative;overflow:hidden;font-size:9px;color:#64748b;border-bottom:1px solid #cbd5e1}.label-ruler-top span{position:absolute;bottom:0;transform:translateX(-50%);white-space:nowrap}.label-ruler-top i{position:absolute;bottom:0;width:1px;height:7px;background:#94a3b8}.label-ruler-left{width:28px;min-width:28px;position:relative;border-right:1px solid #cbd5e1;font-size:9px;color:#64748b}.label-ruler-left span{position:absolute;right:3px;transform:translateY(-50%);white-space:nowrap}.label-ruler-left i{position:absolute;right:0;height:1px;width:7px;background:#94a3b8}.label-design-item.snap-guide{outline:2px dashed rgba(0,91,255,.25)}
/* Central de Etiquetas no portal */
.etq-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
.etq-acoes [hidden] { display: none; }
.etq-modal .modal-caixa { max-width: 980px; }
.etq-products-v169 .compact-search .field label, .label-editor-sidebar .field label { display: block; font-size: 11px; font-weight: 800; color: #64748b; margin-bottom: 4px; text-transform: uppercase; }
.label-editor-sidebar .field input, .label-editor-sidebar .field select, .etq-reaj .field input { width: 100%; height: 36px; border: 1px solid #dbe3ee; border-radius: 8px; padding: 0 8px; box-sizing: border-box; }
.label-editor-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; margin: 10px 0; }
.label-editor-fields label, .label-selected-controls > label { display: flex; gap: 6px; align-items: center; font-size: 12px; }
@media (max-width: 720px) {
  .label-row { grid-template-columns: 30px minmax(0, 1fr) auto; } .label-row > span.small { display: none; }
  .etq-editor-v169 { padding: 10px; } .etq-editor-v169 .label-editor-canvas-wrap { min-height: 0; }
  .label-editor-tools { gap: 4px; } .editor-canvas-title { flex-wrap: wrap; }
  .etq-reaj .field { min-width: 0 !important; flex: 1 1 130px; }
}
.aviso-bi { background: #fff7e6; border: 1px solid #f5d59a; color: #7a4b00; border-radius: 10px; padding: 8px 12px; font-size: 13px; margin: 0 0 12px; }
.label-size-grid .field, .label-pos-grid .field, .label-selected-controls .field { min-width: 0; } .label-size-actions .label-tool-btn { min-width: 0; }
/* Fotos dos produtos (2.16) */
.price-foto { height: 150px; margin: -4px -4px 10px; border-radius: 10px; background: #f4f7fb; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.price-foto img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Encartes (2.17): estilos do Encarte do Mateus BI V253 (V130-V207), sem alteração */
.encarte-layout{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:18px;align-items:start}.encarte-tools{position:sticky;top:18px}.encarte-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:520px;overflow:auto}.enc-prod{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:8px;align-items:start;min-height:142px}.enc-prod .btn{grid-column:1/-1;grid-row:2;justify-self:end;margin:0;height:30px;min-width:88px;padding:0 12px;font-size:12px}.enc-prod:hover{border-color:#005bff;box-shadow:0 5px 18px #005bff12}.enc-thumb{width:54px;height:54px;border-radius:10px;background:linear-gradient(135deg,#e8f1ff,#f8fbff);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;font-size:23px}.enc-thumb img{width:100%;height:100%;object-fit:contain}.enc-prod-info{min-width:0;flex:1}.enc-prod-name{font-weight:800;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enc-prod-meta{font-size:10px;color:#718096;margin-top:3px}.enc-prod-price{font-weight:900;color:#005bff;margin-top:4px;font-size:12px}.enc-selected{display:flex;flex-direction:column;gap:9px;max-height:430px;overflow:auto}.enc-selected-row{display:grid;grid-template-columns:44px 1fr 90px 90px auto;gap:9px;align-items:center;border:1px solid #e7edf5;border-radius:11px;padding:8px;background:#fff}.enc-selected-row input{height:34px;border:1px solid #dbe3ee;border-radius:7px;padding:0 7px;width:100%;font-size:12px}.enc-mini{width:44px;height:44px;border-radius:8px;background:#f5f8fc;display:flex;align-items:center;justify-content:center;overflow:hidden}.enc-mini img{width:100%;height:100%;object-fit:contain}.enc-page{width:210mm;min-height:297mm;margin:0 auto 18px;background:#fff;box-shadow:0 8px 30px #19365c18;border-radius:4px;padding:7mm;position:relative;overflow:hidden;display:flex;flex-direction:column}.enc-page.cover{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(145deg,#021b45,#005bff 65%,#5ec7ff);color:#fff}.enc-cover-logo{max-width:55mm;max-height:35mm;object-fit:contain;margin-bottom:12mm}.enc-cover-title{font-size:34px;font-weight:1000;letter-spacing:.5px;text-transform:uppercase}.enc-cover-sub{font-size:15px;margin-top:7px;opacity:.9}.enc-grid{display:grid;gap:4mm;align-content:stretch;flex:1;min-height:0}.enc-grid.cols-2{grid-template-columns:repeat(2,1fr)}.enc-grid.cols-3{grid-template-columns:repeat(3,1fr)}.enc-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.enc-page.four-parts .enc-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:4mm}
.enc-page.four-parts .enc-card{min-height:0}
.enc-page.four-parts .enc-card-img{height:58mm}
.enc-page.four-parts .enc-card-name{font-size:17px}
.enc-page.four-parts .enc-promo{font-size:34px}.enc-card{border:1.2px solid #dce5ef;border-radius:4mm;padding:5mm;min-height:0;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#fff;justify-content:center}.enc-card-img{height:58mm;display:flex;align-items:center;justify-content:center;margin-bottom:3mm}.enc-card-img img{max-width:100%;max-height:100%;object-fit:contain}.enc-placeholder{font-size:34px;color:#cbd5e1}.enc-card-name{font-size:17px;font-weight:900;line-height:1.2;min-height:12mm}.enc-card-ref{font-size:10px;color:#718096;margin-top:1.5mm}.enc-old{font-size:12px;color:#94a3b8;text-decoration:line-through;margin-top:2mm}.enc-promo{font-size:34px;font-weight:1000;color:#005bff;line-height:1.05;margin-top:1mm}.enc-unit{font-size:11px;color:#64748b;margin-top:1mm}.enc-badge{position:absolute;top:3mm;right:3mm;background:#ff3b30;color:#fff;font-size:8px;font-weight:1000;padding:1.5mm 2mm;border-radius:999px}.enc-page-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #005bff;padding-bottom:3mm;margin-bottom:3mm;flex:0 0 auto}.enc-page-head img{max-height:12mm;max-width:32mm;object-fit:contain}.enc-page-title{font-size:21px;font-weight:1000;color:#021b45;text-align:right}.enc-footer{position:absolute;bottom:3mm;left:7mm;right:7mm;border-top:1px solid #e2e8f0;padding-top:2mm;font-size:7px;color:#64748b;text-align:center}.enc-preview-wrap{background:#e9eef5;padding:18px;border-radius:14px;min-height:500px}.enc-empty{padding:50px 20px;text-align:center;color:#718096;background:#fff;border:1px dashed #cbd5e1;border-radius:12px}.enc-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.enc-summary .kpi{padding:12px}.enc-actions{display:flex;gap:8px;flex-wrap:wrap}.enc-move{display:flex;flex-direction:column;gap:3px}.enc-move button{border:1px solid #dbe3ee;background:#fff;border-radius:5px;width:28px;height:24px;cursor:pointer}.enc-promo-label{font-size:9px;color:#64748b;text-transform:uppercase;font-weight:800}@media(max-width:1200px){.encarte-layout{grid-template-columns:1fr}.encarte-tools{position:static}.encarte-results{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.encarte-results{grid-template-columns:1fr}.enc-selected-row{grid-template-columns:44px 1fr}.enc-selected-row .enc-move{display:none}.enc-page{transform-origin:top left;width:210mm}.enc-summary{grid-template-columns:repeat(2,1fr)}}
.enc-page{--enc-bg:#ffffff;--enc-card:#ffffff;--enc-accent:#005bff;--enc-title:#021b45;--enc-price:#005bff;--enc-badge:#ff3b30;--enc-text:#172033;--enc-border:#dce5ef;background:var(--enc-bg)!important;color:var(--enc-text)}
.enc-page-head{border-color:var(--enc-accent)!important}
.enc-page-title{color:var(--enc-title)!important}
.enc-card{background:var(--enc-card)!important;border-color:var(--enc-border)!important}
.enc-promo{color:var(--enc-price)!important}
.enc-badge{background:var(--enc-badge)!important}
.enc-page.layout-one .enc-grid{grid-template-columns:1fr!important;grid-template-rows:1fr!important;gap:0!important}
.enc-page.layout-one .enc-card{border-width:1.5px;border-radius:7mm;padding:10mm}
.enc-page.layout-one .enc-card-img{height:112mm!important}
.enc-page.layout-one .enc-card-name{font-size:28px;min-height:18mm}
.enc-page.layout-one .enc-card-ref{font-size:13px}
.enc-page.layout-one .enc-promo{font-size:58px}
.enc-page.layout-two .enc-grid{grid-template-columns:1fr!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:5mm!important}
.enc-page.layout-two .enc-card-img{height:78mm!important}
.enc-page.layout-two .enc-card-name{font-size:23px;min-height:15mm}
.enc-page.layout-two .enc-promo{font-size:48px}
.enc-page.layout-four .enc-grid{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:4mm!important}
.enc-page.layout-six .enc-grid{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(3,minmax(0,1fr))!important;gap:4mm!important}
.enc-page.layout-eight .enc-grid{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:3mm!important}
.enc-page.layout-six .enc-card,.enc-page.layout-eight .enc-card{padding:3.5mm}
.enc-page.layout-six .enc-card-img{height:38mm!important;margin-bottom:2mm}
.enc-page.layout-eight .enc-card-img{height:29mm!important;margin-bottom:1.5mm}
.enc-page.layout-six .enc-card-name{font-size:13px;min-height:9mm}.enc-page.layout-eight .enc-card-name{font-size:11px;min-height:7mm}
.enc-page.layout-six .enc-promo{font-size:27px}.enc-page.layout-eight .enc-promo{font-size:22px}
.encarte-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.encarte-style-grid .field{min-width:0}.enc-color{width:100%;height:40px;padding:3px!important;cursor:pointer}
.enc-theme-note{font-size:10px;color:#64748b;margin-top:7px;line-height:1.35}
@media(max-width:700px){.encarte-style-grid{grid-template-columns:1fr}}
.enc-page.theme-mateus .enc-page-head{background:linear-gradient(110deg,#021b45,#005bff);color:#fff;padding:4mm;border:0!important;border-radius:3mm;margin-bottom:4mm}
.enc-page.theme-mateus .enc-page-title{color:#fff!important}
.enc-page.theme-mega{background:#fff7cc!important}
.enc-page.theme-mega .enc-page-head{background:#111827;color:#facc15;padding:5mm;border:0!important;border-bottom:4px solid #facc15!important;border-radius:2mm}
.enc-page.theme-mega .enc-page-title{color:#facc15!important;text-transform:uppercase}
.enc-page.theme-mega .enc-card{border:2px solid #facc15!important;border-radius:2mm;box-shadow:0 2mm 0 #11182712}
.enc-page.theme-mega .enc-promo{background:#facc15;color:#111827!important;padding:2mm 3mm;border-radius:2mm;display:inline-block;align-self:flex-start}
.enc-page.theme-liquidacao{background:#fff1f2!important}
.enc-page.theme-liquidacao .enc-page-head{background:#b91c1c;color:#fff;padding:5mm;border:0!important;border-bottom:3px dashed #facc15!important}
.enc-page.theme-liquidacao .enc-page-title{color:#fff!important;text-transform:uppercase}
.enc-page.theme-liquidacao .enc-card{border:2px solid #ef4444!important;border-radius:1mm}
.enc-page.theme-liquidacao .enc-promo{color:#b91c1c!important;font-weight:1000;text-shadow:1px 1px 0 #fee2e2}
.enc-page.theme-premium{background:#f8f4e9!important;color:#1f2937}
.enc-page.theme-premium .enc-page-head{background:#172033;color:#f5d889;padding:5mm;border:1px solid #b89b50!important;border-radius:2mm}
.enc-page.theme-premium .enc-page-title{color:#f5d889!important;font-family:Georgia,serif;letter-spacing:.4px}
.enc-page.theme-premium .enc-card{border:1px solid #b89b50!important;border-radius:2mm;background:#fffdf7!important}
.enc-page.theme-premium .enc-promo{color:#8a6a19!important;font-family:Georgia,serif}
.enc-page.theme-construcao{background:#f4f7fb!important}
.enc-page.theme-construcao .enc-page-head{background:#0f2747;color:#fff;padding:5mm;border:0!important;border-bottom:5px solid #fbbf24!important;border-radius:1mm}
.enc-page.theme-construcao .enc-page-title{color:#fbbf24!important;text-transform:uppercase}
.enc-page.theme-construcao .enc-card{border:1.5px solid #cbd5e1!important;border-top:4px solid #fbbf24!important;border-radius:1mm;box-shadow:0 1mm 2mm #0f274710}
.enc-page.theme-construcao .enc-promo{background:#fbbf24;color:#111827!important;padding:1.5mm 2mm;border-radius:1mm;align-self:flex-start}
.enc-page.theme-moderno{background:#eef6ff!important}
.enc-page.theme-moderno .enc-page-head{background:linear-gradient(110deg,#0f172a,#155e75);color:#fff;padding:4mm;border:0!important;border-radius:4mm}
.enc-page.theme-moderno .enc-page-title{color:#fff!important}
.enc-page.theme-moderno .enc-card{border:1px solid #bae6fd!important;border-radius:5mm;box-shadow:0 2mm 5mm #0f172a10}
.enc-page.theme-moderno .enc-promo{color:#0369a1!important}
/* Encartes no portal: a prévia A4 cabe na tela (no celular, reduzida) */
.encarte-layout > * { min-width: 0; }
#encPreview { overflow-x: auto; }
.enc-move button { color: #0f3f91; background: #fff; border: 1px solid #dbe3ee; border-radius: 6px; min-width: 28px; height: 28px; cursor: pointer; font-weight: 800; }
@media (max-width: 1250px) { #encPreview .enc-page { zoom: .75; } }
@media (max-width: 1050px) { .encarte-layout { grid-template-columns: 1fr; } .encarte-tools { position: static; } }
@media (max-width: 720px) { #encPreview .enc-page { zoom: .44; } .encarte-results { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  #encPreview .enc-page { zoom: .40; }
  .enc-selected-row { grid-template-columns: 44px 1fr 1fr; }
  .enc-selected-row > div:nth-child(2) { grid-column: 2 / -1; }
  .enc-selected-row > div:nth-child(3) { grid-column: 1 / 3; }
  .enc-selected-row > div:nth-child(4) { grid-column: 3; }
  .enc-selected-row .enc-move { display: flex; flex-direction: row; justify-content: flex-end; grid-column: 1 / -1; }
  .enc-selected-row input[type=file] { max-width: 100%; font-size: 11px; }
}
.enc-move button { display: inline-flex; align-items: center; justify-content: center; padding: 0; line-height: 1; }
/* Administração: saúde do sistema (2.18) */
.saude-avisos { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-height: 340px; overflow: auto; }
.saude-avisos li { padding: 8px 10px; border-radius: 9px; font-size: 13px; line-height: 1.35; border: 1px solid #e7edf5; background: #fff; }
.saude-avisos li.saude-erro { background: #fff1f2; border-color: #fecdd3; }
.saude-avisos li.saude-atencao { background: #fffbeb; border-color: #fde68a; }
.saude-avisos li.saude-info { background: #f0f7ff; border-color: #cfe2ff; }
.saude-avisos li.saude-ok { background: #f0fdf4; border-color: #bbf7d0; }
.saude-avisos a { font-weight: 800; }

/* 2.19 — gráficos com valor também no celular (valor curto: 49,6 mil) */
.chart-bi .val.curto, .hora .hv.curto { display: none; }
.hora .hv { font-size: 10px; font-weight: 800; color: #3e5678; white-space: nowrap; min-height: 12px; }
.chart-bi .val.par { display: flex; gap: 3px; font-size: 9px; } .chart-bi .val.par b { color: #1763e9; } .chart-bi .val.par b.c { color: #128a5e; }
@media (max-width: 720px) {
  .chart-bi .val { display: block; } .chart-bi .val:not(.curto):not(.par) { display: none; }
  .chart-bi .val.curto { display: block; font-size: 9.5px; }
  .chart-bi .val.par { display: flex; flex-direction: column; align-items: center; gap: 0; }
  .chart-bi .col { min-width: 40px; } #stockchart .col { min-width: 50px; }
  .hora .hv { display: none; } .hora .hv.curto { display: block; font-size: 8.5px; letter-spacing: -.2px; }
  .horas { height: 170px; }
}
/* 2.19 — abas dentro da tela */
[data-aba][hidden] { display: none !important; }
.abas-tela { position: sticky; top: 0; z-index: 6; background: var(--fundo, #f4f7fb); padding: 10px 0 12px; margin: 0 0 14px; border-bottom: 1px solid #dbe3ee; }
.abas-tela .report-tab { font-size: 13px; padding: 9px 14px; }
@media (max-width: 720px) { .abas-tela { top: 56px; padding: 8px 0 10px; max-width: 100%; } .abas-tela .report-tab { font-size: 12px; padding: 8px 11px; } }
/* 2.19 — menu por assunto: itens um pouco mais baixos para caber sem rolar em telas de notebook */
.side .nav { padding: 9px 12px; margin: 2px 0; }
.side .navgroup { margin-top: 14px; }
/* 2.19 — tabelas no celular: uma linha por registro (arraste para o lado), sem quebrar nome do produto/cliente */
@media (max-width: 720px) {
  .tablewrap .tabela-bi th, .tablewrap .tabela-bi td, .tablewrap .exec-table th, .tablewrap .exec-table td { white-space: nowrap; }
  .tablewrap .tabela-bi td, .tablewrap .exec-table td { max-width: 230px; overflow: hidden; text-overflow: ellipsis; }
  .tablewrap { border-radius: 10px; background: linear-gradient(90deg, #fff 30%, #fff0) left / 24px 100% no-repeat local,
    linear-gradient(270deg, #fff 30%, #fff0) right / 24px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, #0b214022, #0000) left / 10px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, #0b214022, #0000) right / 10px 100% no-repeat scroll; }
}
/* 2.19 — tabelas em cartões no celular */
@media (max-width: 720px) {
  .tablewrap table.cartoes-celular { min-width: 0 !important; }
  table.cartoes-celular thead { display: none; }
  table.cartoes-celular, table.cartoes-celular tbody, table.cartoes-celular tfoot, table.cartoes-celular tr { display: block; width: 100%; }
  table.cartoes-celular tr { border: 1px solid #e3eaf4; border-radius: 12px; padding: 8px 12px; margin: 0 0 8px; background: #fff; box-shadow: 0 2px 8px #0b21400a; }
  table.cartoes-celular tfoot tr { background: #eef4ff; }
  .tablewrap table.cartoes-celular td, table.cartoes-celular td { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 3px 0 !important;
    border: 0 !important; text-align: right; white-space: normal; max-width: none; overflow: visible; background: none !important; }
  table.cartoes-celular td::before { content: attr(data-label); font-size: 10.5px; color: #64748b; font-weight: 800; text-transform: uppercase; text-align: left; flex: 0 0 auto; max-width: 45%; }
  table.cartoes-celular td[data-label=""]::before, table.cartoes-celular td:empty { display: none; }
  table.cartoes-celular td[data-label=""] { justify-content: flex-start; }
  .tablewrap:has(table.cartoes-celular) { background: none; }
}
@media (max-width: 720px) {
  table.cartoes-celular tr { position: relative; }
  table.cartoes-celular td { position: static !important; box-shadow: none !important; border-right: 0 !important; }
  table.cartoes-celular td:has(> input[type=checkbox]:only-child) { position: absolute !important; top: 7px !important; right: 12px !important; left: auto !important; height: auto !important; min-height: 0 !important; align-items: flex-start !important; line-height: 1; width: auto !important; padding: 0 !important; z-index: 1; }
  table.cartoes-celular tr:has(td > input[type=checkbox]:only-child) td:nth-child(2) { padding-right: 34px !important; min-height: 26px; }
}
@media (max-width: 720px) { table.cartoes-celular td > input[type=checkbox] { height: 20px; width: 20px; margin: 0; min-height: 0; } }
/* 2.20 — grupos do menu recolhem (abre o grupo da tela atual; tocar no nome abre/fecha) */
.side summary.navgroup { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; user-select: none;
  opacity: .8; margin: 10px 0 2px; padding: 9px 12px; border-radius: 10px; font-weight: 800; }
.side summary.navgroup::-webkit-details-marker { display: none; }
.side summary.navgroup:hover { background: #ffffff12; opacity: 1; }
.side .nav-grupo[open] > summary.navgroup { opacity: 1; }
.side .nav-grupo > .nav { margin-left: 6px; }
/* 2.20 — Minha conta */
.conta-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-bottom: 16px; }
.conta-grade .panel { margin: 0; }
.tema-opcoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.tema-opcoes button { border: 1px solid #dbe3ee; background: #fff; color: #172033; border-radius: 10px; padding: 10px 14px; font-weight: 700; cursor: pointer; }
.tema-opcoes button.ativo { border-color: var(--marca); box-shadow: 0 0 0 3px #005bff22; }
.previa-email { width: 100%; height: 640px; border: 1px solid #dbe3ee; border-radius: 12px; margin-top: 12px; background: #fff; }
.ok-txt { color: #16834b; }
/* 2.20 — Comparar lojas */
.cmp-cartoes .kpis { margin-bottom: 16px; }
.cmp-barras { display: flex; flex-direction: column; gap: 10px; }
.cmp-linha { display: grid; grid-template-columns: minmax(90px, 200px) 1fr auto 70px; gap: 12px; align-items: center; font-size: 14px; }
.cmp-linha .cmp-nome { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmp-linha .track { height: 14px; background: #eef3fa; border-radius: 8px; overflow: hidden; } .cmp-linha .fill { height: 100%; border-radius: 8px; }
.cmp-linha .money { font-weight: 800; white-space: nowrap; }
.cmp-var, td.sobe, td.desce { font-weight: 800; font-size: 13px; text-align: right; } .sobe { color: #16834b; } .desce { color: #c0392b; }
#cmp-tabela th[data-ord] { cursor: pointer; } #cmp-tabela th.ord-ativa { color: var(--marca); }
.cmp-total td { background: #eef4ff; font-weight: 800; }
.cmp-legenda { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: #475569; margin-bottom: 8px; }
.cmp-legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.cmp-mensal .pares .bar { width: 12px; min-width: 6px; }
@media (max-width: 720px) { .cmp-linha { grid-template-columns: 1fr auto; } .cmp-linha .track { grid-column: 1 / -1; order: 3; } .cmp-linha .cmp-var { display: none; } }

/* 2.20 — modo escuro (só nas telas do portal; login, gôndola/TV e prévias de impressão ficam como estão) */
html[data-tema="escuro"] body.bi { --fundo:#0d1524; --superficie:#151f31; --tinta:#e4eaf4; --suave:#93a3bb; --linha:#26344b; --sombra:0 8px 28px #0006; color-scheme: dark; background:#0d1524; color:#e4eaf4; }
html[data-tema="escuro"]:has(> body.bi) { color-scheme: dark; }
html[data-tema="escuro"] body.bi .main a:not(.btn):not(.report-tab) { color:#6aa5ff; }
html[data-tema="escuro"] body.bi input, html[data-tema="escuro"] body.bi select, html[data-tema="escuro"] body.bi textarea, html[data-tema="escuro"] body.bi .field textarea { background:#0f1a2b; color:#e4eaf4; border-color:#2b3b55; }
html[data-tema="escuro"] body.bi input::placeholder, html[data-tema="escuro"] body.bi textarea::placeholder { color:#6f819c; }
html[data-tema="escuro"] body.bi .panel, html[data-tema="escuro"] body.bi .bloco, html[data-tema="escuro"] body.bi .card, html[data-tema="escuro"] body.bi .modal-caixa, html[data-tema="escuro"] body.bi .selo, html[data-tema="escuro"] body.bi .price-card, html[data-tema="escuro"] body.bi .av-card, html[data-tema="escuro"] body.bi .pr-item, html[data-tema="escuro"] body.bi .saude-avisos li, html[data-tema="escuro"] body.bi .label-model, html[data-tema="escuro"] body.bi .label-editor-sidebar, html[data-tema="escuro"] body.bi .label-saved-box, html[data-tema="escuro"] body.bi .etq-preset, html[data-tema="escuro"] body.bi .label-selected-row, html[data-tema="escuro"] body.bi .enc-prod, html[data-tema="escuro"] body.bi .enc-selected-row, html[data-tema="escuro"] body.bi .enc-empty, html[data-tema="escuro"] body.bi .tema-opcoes button { background:#151f31; border-color:#26344b; color:#e4eaf4; }
html[data-tema="escuro"] body.bi .panelhead h3, html[data-tema="escuro"] body.bi .sub-h, html[data-tema="escuro"] body.bi .top h1, html[data-tema="escuro"] body.bi .rankname, html[data-tema="escuro"] body.bi .barrow, html[data-tema="escuro"] body.bi .payrow, html[data-tema="escuro"] body.bi .paytotal, html[data-tema="escuro"] body.bi .exec-kpi .value, html[data-tema="escuro"] body.bi .kpi > b, html[data-tema="escuro"] body.bi .mini b, html[data-tema="escuro"] body.bi .rankvalue, html[data-tema="escuro"] body.bi .annual-total .big, html[data-tema="escuro"] body.bi .enc-prod-name { color:#e4eaf4; }
html[data-tema="escuro"] body.bi .field > span, html[data-tema="escuro"] body.bi .field label, html[data-tema="escuro"] body.bi .exec-kpi .label, html[data-tema="escuro"] body.bi .kpi > span, html[data-tema="escuro"] body.bi .exec-kpi .meta, html[data-tema="escuro"] body.bi .kpi > small, html[data-tema="escuro"] body.bi .mini span, html[data-tema="escuro"] body.bi .chart-bi .val, html[data-tema="escuro"] body.bi .chart-bi .rot, html[data-tema="escuro"] body.bi .hora .hv, html[data-tema="escuro"] body.bi .legend, html[data-tema="escuro"] body.bi .paythead, html[data-tema="escuro"] body.bi .annual-total .smalllabel, html[data-tema="escuro"] body.bi .cmp-legenda, html[data-tema="escuro"] body.bi .tabela-bi th, html[data-tema="escuro"] body.bi .exec-table th, html[data-tema="escuro"] body.bi .cx-note, html[data-tema="escuro"] body.bi .label-ruler-note { color:#93a3bb; }
html[data-tema="escuro"] body.bi .exec-kpi, html[data-tema="escuro"] body.bi .kpi { background:linear-gradient(135deg,#172338 0%,#131d2e 100%); border-color:#26344b; box-shadow:none; }
html[data-tema="escuro"] body.bi .mini { background:linear-gradient(135deg,#17243a,#131d2e); border-color:#26344b; }
html[data-tema="escuro"] body.bi .chart-bi { background:linear-gradient(180deg,#121d30 0%,#151f31 92%); border-color:#26344b; }
html[data-tema="escuro"] body.bi .annual-total { background:linear-gradient(135deg,#17243a,#151f31); border-color:#26344b; }
html[data-tema="escuro"] body.bi .track, html[data-tema="escuro"] body.bi .cmp-linha .track { background:#0f1a2b; border-color:#26344b; }
html[data-tema="escuro"] body.bi .exec-table th, html[data-tema="escuro"] body.bi .exec-table td, html[data-tema="escuro"] body.bi .tabela-bi th, html[data-tema="escuro"] body.bi .tabela-bi td, html[data-tema="escuro"] body.bi .cx-sub th, html[data-tema="escuro"] body.bi .cx-sub td, html[data-tema="escuro"] body.bi .payrow, html[data-tema="escuro"] body.bi .rankrow { border-color:#22304a; }
html[data-tema="escuro"] body.bi .tabela-bi th { background:#151f31; }
html[data-tema="escuro"] body.bi .exec-table th { background:#18263d; }
html[data-tema="escuro"] body.bi .exec-table tr:nth-child(even) td, html[data-tema="escuro"] body.bi .payrow:nth-child(even) { background:#131d2e; }
html[data-tema="escuro"] body.bi .paytotal, html[data-tema="escuro"] body.bi .total-row td, html[data-tema="escuro"] body.bi .cmp-total td, html[data-tema="escuro"] body.bi .cx-detail td { background:#18263d; border-color:#2b3b55; }
html[data-tema="escuro"] body.bi .cx-row:hover td { background:#1a2840; }
html[data-tema="escuro"] body.bi .loading { background:#131d2e; color:#93a3bb; }
html[data-tema="escuro"] body.bi .report-tab, html[data-tema="escuro"] body.bi .label-tool-btn, html[data-tema="escuro"] body.bi .label-add-btn, html[data-tema="escuro"] body.bi .enc-move button { background:#151f31; border-color:#2b3b55; color:#c9d5e6; }
html[data-tema="escuro"] body.bi .report-tab.active { background:var(--marca); border-color:var(--marca); color:#fff; }
html[data-tema="escuro"] body.bi .quick button { background:#16233a; border-color:#2b3b55; color:#b9c8dd; }
html[data-tema="escuro"] body.bi .quick button.ativo { background:var(--marca); border-color:var(--marca); color:#fff; }
html[data-tema="escuro"] body.bi .btn.secondary { background:#1b2b47; color:#8fb8ff; }
html[data-tema="escuro"] body.bi .abas-tela { background:#0d1524; border-color:#26344b; }
html[data-tema="escuro"] body.bi .ranknum { background:linear-gradient(135deg,#1b2d4c,#1a3358); color:#8fb8ff; box-shadow:inset 0 0 0 1px #2b4570; }
html[data-tema="escuro"] body.bi .growth { background:#12352b; color:#5fd3a6; }
html[data-tema="escuro"] body.bi .finance-status.a-vencer, html[data-tema="escuro"] body.bi .cx-info { background:#16284a; color:#8fb8ff; }
html[data-tema="escuro"] body.bi .finance-status.vencido, html[data-tema="escuro"] body.bi .cx-bad, html[data-tema="escuro"] body.bi .etq-est.sem, html[data-tema="escuro"] body.bi .label-remove-btn { background:#3a1820; color:#ff8a8a; }
html[data-tema="escuro"] body.bi .finance-status.quitado, html[data-tema="escuro"] body.bi .cx-ok, html[data-tema="escuro"] body.bi .etq-est.normal { background:#123522; color:#6ee7a0; }
html[data-tema="escuro"] body.bi .finance-status.parcial, html[data-tema="escuro"] body.bi .cx-warn, html[data-tema="escuro"] body.bi .etq-est.baixo { background:#3a2a10; color:#fbbf6a; }
html[data-tema="escuro"] body.bi .finance-status.excluido { background:#1d2636; color:#93a3bb; }
html[data-tema="escuro"] body.bi .saude-avisos li.saude-erro { background:#3a1820; border-color:#5a2530; }
html[data-tema="escuro"] body.bi .saude-avisos li.saude-atencao { background:#3a2e10; border-color:#5a4718; }
html[data-tema="escuro"] body.bi .saude-avisos li.saude-info { background:#16284a; border-color:#24406e; }
html[data-tema="escuro"] body.bi .saude-avisos li.saude-ok { background:#123522; border-color:#1d5236; }
html[data-tema="escuro"] body.bi .cx-num-bad, html[data-tema="escuro"] body.bi .desce, html[data-tema="escuro"] body.bi .error, html[data-tema="escuro"] body.bi .kpi > b.down { color:#ff8a8a !important; }
html[data-tema="escuro"] body.bi .cx-num-ok, html[data-tema="escuro"] body.bi .sobe, html[data-tema="escuro"] body.bi .up, html[data-tema="escuro"] body.bi .ok-txt { color:#5fd3a6 !important; }
html[data-tema="escuro"] body.bi .cx-num-warn { color:#fbbf6a; }
html[data-tema="escuro"] body.bi .status-final { color:#4ade80; } .status-cancel { color:#fb923c; } .status-open { color:#6aa5ff; }
html[data-tema="escuro"] body.bi .link-prod { color:#6aa5ff; }
html[data-tema="escuro"] body.bi .alerta { background:#3a182099; color:#ff9b9b; }
html[data-tema="escuro"] body.bi .enc-preview-wrap, html[data-tema="escuro"] body.bi .label-editor-canvas-wrap, html[data-tema="escuro"] body.bi .label-size-box { background:#0f1a2b; border-color:#26344b; }
html[data-tema="escuro"] body.bi .label-selected-field-name { background:#16284a; color:#8fb8ff; }
html[data-tema="escuro"] body.bi .label-size-title { color:#8fb8ff; }
html[data-tema="escuro"] body.bi .enc-thumb, html[data-tema="escuro"] body.bi .enc-mini, html[data-tema="escuro"] body.bi .label-selected-thumb { background:#0f1a2b; }
html[data-tema="escuro"] body.bi .filtros-resumo { color:#e4eaf4; }
@media (max-width: 720px) {
html[data-tema="escuro"] body.bi .tabela-bi th:first-child, html[data-tema="escuro"] body.bi .tabela-bi td:first-child { background:#151f31; box-shadow:1px 0 0 #26344b; }
html[data-tema="escuro"] body.bi table.cartoes-celular tr { background:#151f31; border-color:#26344b; box-shadow:none; }
html[data-tema="escuro"] body.bi table.cartoes-celular tfoot tr { background:#18263d; }
html[data-tema="escuro"] body.bi table.cartoes-celular td::before { color:#93a3bb; }
html[data-tema="escuro"] body.bi .tablewrap { background:linear-gradient(90deg,#151f31 30%,#151f3100) left / 24px 100% no-repeat local, linear-gradient(270deg,#151f31 30%,#151f3100) right / 24px 100% no-repeat local, radial-gradient(farthest-side at 0 50%,#0008,#0000) left / 10px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%,#0008,#0000) right / 10px 100% no-repeat scroll; }
html[data-tema="escuro"] body.bi .tablewrap:has(table.cartoes-celular) { background:none; }
}
@media (max-width: 900px) {
html[data-tema="escuro"] body.bi::before { color:#e4eaf4; background:rgba(13,21,36,.94); box-shadow:0 1px 0 #26344b; }
}
html[data-tema="escuro"] .tema-opcoes button.ativo { border-color: var(--marca); }
html[data-tema="escuro"] body.bi .aviso-bi { background:#3a2e10; border-color:#5a4718; color:#fbd38d; }
.chart-bi .val.cmp-vals { display: flex !important; flex-direction: column; align-items: center; gap: 0; font-size: 9.5px; line-height: 1.2; }
.cmp-mensal .pares { height: calc(100% - 54px); }
/* 2.21 — edição de produto: margem e markup */
.pe-margem { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; grid-column: 1 / -1; padding: 10px; border: 1px dashed #b9cdea; border-radius: 10px; background: #f6f9ff; }
.pe-margem-nota { grid-column: 1 / -1; }
html[data-tema="escuro"] body.bi .pe-margem { background: #131d2e; border-color: #2b3b55; }
/* 2.21 — inventário */
.inv-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.inv-kpis .mini.inv-falta b { color: #b91c1c; } .inv-kpis .mini.inv-sobra b { color: #15803d; }
.abas-inv { margin: 4px 0 12px; padding-bottom: 10px; }
.inv-ferramentas { margin-bottom: 4px; }
html[data-tema="escuro"] body.bi .inv-kpis .mini.inv-falta b, html[data-tema="escuro"] body.bi .mov-menos { color: #ff8a8a; }
html[data-tema="escuro"] body.bi .inv-kpis .mini.inv-sobra b, html[data-tema="escuro"] body.bi .mov-mais { color: #5fd3a6; }
@media (max-width: 1100px) { .inv-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .inv-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .inv-contar .btn { flex: 1 1 auto; } }
/* 2.21 — recados da revenda */
.recado-revenda { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #eaf2ff; border: 1px solid #b9d2fb; color: #12366e;
  border-radius: 12px; padding: 10px 14px; margin: 0 0 14px; font-size: 14px; }
.recado-revenda.atencao { background: #fff7e6; border-color: #f5d59a; color: #7a4b00; }
.recado-revenda .link { flex: 0 0 auto; font-size: 13px; }
html[data-tema="escuro"] body.bi .recado-revenda { background: #16284a; border-color: #24406e; color: #cfe0ff; }
html[data-tema="escuro"] body.bi .recado-revenda.atencao { background: #3a2e10; border-color: #5a4718; color: #fbd38d; }
a.sec.botao-link { display: inline-flex; align-items: center; border: 1px solid var(--linha); border-radius: 9px; padding: 7px 12px; font-weight: 600; color: var(--marca); text-decoration: none; font-size: 14px; }
@media (max-width: 720px) { #upd-arquivo { max-width: 100%; } #bloco-acessos table { display: block; overflow-x: auto; } .modal-caixa { max-width: 100vw; overflow-x: hidden; } .modal-caixa .tabela { display: block; overflow-x: auto; } }
#f-email label { min-width: 0; } #f-email select, #f-email input:not([type=checkbox]) { width: 100%; min-width: 0; } #f-email .acoes-form input { width: auto; }

/* Fluxo de Caixa (2.25) */
.fx-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fx-duas > .panel { min-width: 0; }
@media (max-width: 900px) { .fx-duas { grid-template-columns: 1fr; } }
.fx-graf { width: 100%; height: auto; display: block; margin-top: 6px; }
.fx-graf .fx-l { fill: none; stroke: #145bdb; stroke-width: 2.4; }
.fx-graf .fx-p { fill: #145bdb; } .fx-graf .fx-pn { fill: #dc2626; }
.fx-graf .fx-be { fill: #149b78; opacity: .45; } .fx-graf .fx-bs { fill: #d94c68; opacity: .45; }
.fx-graf .fx-g { stroke: #e3e9f2; stroke-width: 1; } .fx-graf .fx-z { stroke: #dc2626; stroke-dasharray: 4 4; stroke-width: 1.2; }
.fx-graf .fx-t { fill: #6b7a90; font-size: 11px; }
html[data-tema="escuro"] body.bi .fx-graf .fx-g { stroke: #26344b; }
html[data-tema="escuro"] body.bi .fx-graf .fx-l { stroke: #6aa5ff; } html[data-tema="escuro"] body.bi .fx-graf .fx-p { fill: #6aa5ff; }
html[data-tema="escuro"] body.bi .fx-graf .fx-t { fill: #93a3bb; }
.fx-graf-wrap { overflow-x: auto; }
@media (max-width: 700px) { .fx-graf { min-width: 640px; } }

/* Vendas OS (2.26) */
.os-barra { display: inline-block; width: 90px; height: 8px; background: #edf1f6; border-radius: 99px; overflow: hidden; vertical-align: middle; }
.os-barra i { display: block; height: 100%; background: #145bdb; border-radius: 99px; }
.os-nota { margin: 0 0 10px; padding: 8px 10px; border-left: 4px solid #145bdb; background: #145bdb10; border-radius: 6px; }
.os-nota.atencao { border-left-color: #d97706; background: #d9770612; }
.os-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.os-duas > .panel { min-width: 0; }
@media (max-width: 900px) { .os-duas { grid-template-columns: 1fr; } }
.os-linha { cursor: pointer; } .os-linha:hover td { background: #145bdb0a; }
.os-linha[aria-expanded="true"] td { background: #145bdb12; }
.os-det > td { background: #f7faff; padding: 6px 10px 12px !important; white-space: normal !important; }
.os-equip { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.os-pct { width: 90px; }
html[data-tema="escuro"] body.bi .os-barra { background: #26344b; }
html[data-tema="escuro"] body.bi .os-det > td { background: #101a2c; }
/* Homologação (2.26) */
.faixa-teste { position: sticky; top: 0; z-index: 9999; background: repeating-linear-gradient(45deg, #b91c1c, #b91c1c 14px, #dc2626 14px, #dc2626 28px);
  color: #fff; font-weight: 700; font-size: 13px; text-align: center; padding: 6px 12px; }
.os-sit { display: inline-block; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 99px; background: #64748b1a; color: #475569; }
.os-doc { display: inline-block; font-size: 11px; padding: 1px 7px; border-radius: 99px; background: #149b781a; color: #0f7a5e; white-space: nowrap; }
.os-ver { font-size: 12px; padding: 0; }
.os-imprimir { align-items: flex-end; flex-wrap: wrap; gap: 8px; }
.os-imprimir .field { margin: 0; min-width: 220px; }
html[data-tema="escuro"] body.bi .os-sit { background: #94a3b833; color: #cbd5e1; }
html[data-tema="escuro"] body.bi .os-doc { background: #149b7833; color: #6ee7b7; }

/* 2.26.9: Conferência de Caixa — cartões por caixa, opções avançadas, detalhes e impressão */
.cx-avancado { margin-top: 8px; } .cx-avancado > summary { cursor: pointer; font-size: 13px; color: #2c4a8a; font-weight: 600; padding: 4px 0; }
.cx-faixa { margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: #f1f5fb; border: 1px solid #dfe7f2; font-size: 13px; line-height: 1.9; }
.cx-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.cx-card { border: 1px solid #dfe7f2; border-left: 6px solid #94a3b8; border-radius: 14px; padding: 12px 14px; background: #fff; display: flex; flex-direction: column; gap: 6px; }
.cx-card.cx-bad-borda { border-left-color: #dc2626; } .cx-card.cx-warn-borda { border-left-color: #d97706; } .cx-card.cx-ok-borda { border-left-color: #16a34a; } .cx-card.cx-info-borda { border-left-color: #3b6fd8; }
.cx-card-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.cx-veredito { font-size: 22px; font-weight: 800; padding: 6px 10px; border-radius: 10px; text-align: center; letter-spacing: .3px; }
.cx-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; margin: 4px 0; } .cx-mini dt { font-size: 11px; color: #5b6b85; } .cx-mini dd { margin: 0; font-weight: 700; font-size: 14px; }
.cx-ver { margin-top: auto; }
.cx-dialog { border: 0; border-radius: 16px; padding: 0; width: min(860px, 96vw); max-height: 90vh; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.cx-dialog::backdrop { background: rgba(15,23,42,.45); }
.cx-dialog > div { padding: 14px 18px; } .cx-dlg-cab { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e3e9f3; position: sticky; top: 0; background: inherit; }
.cx-dlg-cab h3 { margin: 0; }
.cx-dlg-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin-bottom: 12px; }
.cx-dlg-kpi { border-radius: 12px; padding: 10px 12px; color: #fff; display: flex; flex-direction: column; gap: 2px; }
.cx-dlg-kpi span { font-size: 12px; opacity: .9; } .cx-dlg-kpi b { font-size: 18px; } .cx-dlg-kpi small { font-size: 11px; opacity: .85; }
.k-azul { background: #2563eb; } .k-vermelho { background: #dc2626; } .k-verde { background: #16a34a; } .k-roxo { background: #7c3aed; } .k-laranja { background: #ea580c; }
html[data-tema="escuro"] body.bi .cx-card, html[data-tema="escuro"] body.bi .cx-dialog { background: #111c2e; border-color: #22304a; color: #e5edf8; }
html[data-tema="escuro"] body.bi .cx-faixa { background: #16233a; border-color: #22304a; }
@media print {
  body.cx-imprimindo [data-aba][hidden] { display: block !important; }
  body.cx-imprimindo .abas-tela, body.cx-imprimindo .cx-ver, body.cx-imprimindo .cx-avancado { display: none !important; }
  body.cx-imprimindo .cx-detail { display: table-row !important; }
  body.cx-imprimindo .tablewrap { max-height: none !important; overflow: visible !important; }
  body.cx-imprimindo .cx-card { break-inside: avoid; }
}

/* 2.26.9: Central de Etiquetas — passo a passo, lista de impressão, editor recolhido */
.etq-passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.etq-passo { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; border: 1px solid #dfe7f2; background: #fff; text-decoration: none; color: inherit; font-weight: 700; font-size: 14px; }
.etq-passo i { font-style: normal; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #e2e8f0; color: #334155; flex: none; }
.etq-passo.feito { border-color: #16a34a; background: #ecfdf3; } .etq-passo.feito i { background: #16a34a; color: #fff; }
.etq-passo.feito i::after { content: ""; } .etq-num { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #2563eb; color: #fff; font-size: 13px; margin-right: 4px; }
.etq-passo-panel { scroll-margin-top: 70px; }
.etq-lista-barra { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; margin: 4px 0 8px; }
.etq-total { margin-left: auto; font-weight: 800; font-size: 16px; padding: 6px 12px; border-radius: 10px; background: #eef4ff; color: #1e3a8a; }
.etq-avisos-lista { padding: 8px 12px; border-radius: 10px; background: #fff7e6; border: 1px solid #f5d38a; font-size: 13px; margin-bottom: 8px; }
.etq-qtd { display: flex; align-items: center; gap: 4px; } .etq-qtd input { width: 64px; text-align: center; }
.etq-qtd-btn { width: 32px; height: 32px; border-radius: 8px; border: 1px solid #cbd5e1; background: #fff; font-size: 18px; font-weight: 800; cursor: pointer; line-height: 1; }
.etq-qtd-btn:disabled { opacity: .4; cursor: default; }
.etq-tag { display: inline-block; font-size: 10px; font-weight: 800; padding: 1px 6px; border-radius: 6px; vertical-align: middle; } .etq-tag-bad { background: #fde8e8; color: #b42318; }
.etq-row-alerta { background: #fffaf0; }
.etq-imprimir-fim { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; padding-top: 10px; border-top: 1px solid #e3e9f3; }
.etq-editor-det > summary { cursor: pointer; padding: 6px 0; list-style-position: inside; }
.etq-editor-det[open] > summary { margin-bottom: 8px; }
@media (max-width: 640px) { .etq-passos { grid-template-columns: 1fr; } .etq-total { margin-left: 0; } }
html[data-tema="escuro"] body.bi .etq-passo, html[data-tema="escuro"] body.bi .etq-qtd-btn { background: #111c2e; border-color: #22304a; color: #e5edf8; }
html[data-tema="escuro"] body.bi .etq-passo.feito { background: #123522; border-color: #16a34a; }
html[data-tema="escuro"] body.bi .etq-total { background: #16284a; color: #8fb8ff; }
html[data-tema="escuro"] body.bi .etq-avisos-lista, html[data-tema="escuro"] body.bi .etq-row-alerta { background: #3a2a10; border-color: #6b4e1a; }
.label-selected-row { grid-template-columns: 44px minmax(0,1fr) auto 42px; } .label-selected-row .etq-qtd input[type=number] { width: 60px; text-align: center; padding: 0 4px; }
@media (max-width: 720px) { .label-selected-row { grid-template-columns: 40px minmax(0,1fr) auto 36px; } .label-selected-row .etq-qtd input[type=number] { width: 48px; } .etq-qtd-btn { width: 28px; height: 30px; } }
body.bi .etq-qtd-btn { color: #1e293b; padding: 0; font-family: inherit; }
html[data-tema="escuro"] body.bi .etq-qtd-btn { color: #e5edf8; }
.etq-lista-barra .field input { max-width: 110px; }
@media (max-width: 520px) { .label-selected-row { grid-template-columns: minmax(0,1fr) auto 34px; } .label-selected-row .label-selected-thumb { display: none; } }

/* 2.29: faixa de cobrança (mensalidade) */
.faixa-cobranca { margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: #fff7e6; border: 1px solid #f5d38a; color: #5c3d00; }
.faixa-cobranca.grave { background: #fde8e8; border-color: #f3b0b0; color: #7a1414; }
.faixa-cobranca details { margin-top: 6px; } .faixa-cobranca summary { cursor: pointer; font-weight: 700; }
.faixa-pix { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-start; margin-top: 8px; }
.faixa-pix img { width: 180px; height: 180px; background: #fff; border-radius: 8px; }
.faixa-pix textarea { width: min(420px, 80vw); font-size: 12px; }
html[data-tema="escuro"] body.bi .faixa-cobranca { background: #3a2a10; border-color: #6b4e1a; color: #fbe3b0; }
html[data-tema="escuro"] body.bi .faixa-cobranca.grave { background: #3a1820; border-color: #7a2a35; color: #ffc2c2; }
