:root{
  --brand:#e30613; --brand-dark:#c50011;
  --bg:#f4f5f7; --card:#fff; --border:#dee2e6; --border2:#e9ecef;
  --txt:#222; --txt-dim:#868e96; --head:#6c757d;
  --green:#2f9e44; --blue:#1971c2; --amber:#e8a20c; --red:#e30613;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--txt);font-family:'Segoe UI',system-ui,sans-serif;font-size:13px}
.d-none{display:none!important}

/* brand + login */
.brand-wordmark{font-family:'EB Garamond',Garamond,Georgia,serif;font-weight:700;font-size:2.6rem;color:var(--brand);letter-spacing:.12em;line-height:1;margin-bottom:.15rem}
.brand-wordmark-sub{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#555}
.login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#e30613 0%,#8b0000 100%);display:flex;align-items:center;justify-content:center;z-index:9999}
.login-card{background:#fff;border-radius:14px;padding:2.5rem 2rem;width:100%;max-width:380px;box-shadow:0 24px 64px rgba(0,0,0,.4);text-align:center}
.login-brand{margin-bottom:.25rem}
.login-sub{font-size:.85rem;color:#888;margin-bottom:1.5rem}

/* topbar */
.topbar{display:flex;align-items:center;gap:14px;padding:0 18px;height:52px;background:var(--brand);box-shadow:0 2px 8px rgba(0,0,0,.2);position:sticky;top:0;z-index:1030}
.brand{display:flex;align-items:baseline}
.brand-word{font-family:'EB Garamond',Garamond,Georgia,serif;font-weight:700;font-size:1.35rem;letter-spacing:.08em;color:#fff}
.brand-sub{color:rgba(255,255,255,.85);font-weight:600;margin-left:8px;letter-spacing:.12em;font-size:.72rem;text-transform:uppercase}
.type-toggle{display:flex;gap:4px}
.ty-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:6px;padding:4px 12px;font-size:.72rem;font-weight:700;cursor:pointer;letter-spacing:.03em}
.ty-btn.active{background:#fff;color:var(--brand);border-color:#fff}
.topbar .btn-outline-light{--bs-btn-color:#fff;--bs-btn-border-color:rgba(255,255,255,.6)}
.topbar .form-select-sm{font-size:.78rem}

/* view tabs */
.view-tabs{display:flex;gap:6px;padding:10px 16px 0;flex-wrap:wrap}
.vt-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-bottom:none;background:var(--bg);color:var(--txt-dim);border-radius:8px 8px 0 0;padding:7px 14px;font-size:.8rem;font-weight:600;cursor:pointer}
.vt-btn:hover{color:var(--txt)}
.vt-btn.active{color:var(--brand);background:var(--card);box-shadow:0 -2px 0 var(--brand) inset}

/* KPI */
.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:14px 18px 6px}
.kpi{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:12px;padding:9px 12px 10px;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:box-shadow .18s,transform .18s}
.kpi:hover{box-shadow:0 6px 18px rgba(0,0,0,.10);transform:translateY(-2px)}
.kpi .v{font-size:1.28rem;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.kpi .l{color:var(--head);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;display:flex;align-items:center;gap:4px}
.kpi .l i{font-size:.85rem;opacity:.85}
.kpi.acc-green{border-top-color:var(--green)}.kpi.acc-green .l i{color:var(--green)}
.kpi.acc-blue{border-top-color:var(--blue)}.kpi.acc-blue .l i{color:var(--blue)}
.kpi.acc-amber{border-top-color:var(--amber)}.kpi.acc-amber .l i{color:var(--amber)}
.kpi.acc-red{border-top-color:var(--red)}.kpi.acc-red .l i{color:var(--red)}
.kpi .v.green{color:var(--green)}.kpi .v.blue{color:var(--blue)}.kpi .v.red{color:var(--red)}.kpi .v.amber{color:var(--amber)}

/* layout */
.view{padding:8px 18px 0}
.panels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.card-dash{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:box-shadow .18s}
.card-dash:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}
.cd-title{background:#fff;padding:8px 12px;font-weight:700;color:var(--brand);font-size:.82rem;border-bottom:2px solid var(--border2);letter-spacing:.02em;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cd-sub{color:var(--txt-dim);font-weight:600;font-size:.66rem;letter-spacing:0;text-transform:none}
.cd-body{padding:10px;flex:1;min-height:150px;position:relative}
.cd-body.scroll{overflow:auto;max-height:560px}
.chartbox{position:relative;width:100%}
.chartbox canvas{max-height:none!important}
#viewGestao .card-dash,#viewMeta .card-dash{margin-bottom:12px}

/* loja picker bar */
.loja-pick{display:flex;gap:8px;align-items:center;padding:0 0 12px;flex-wrap:wrap}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:.76rem}
.tbl th{position:sticky;top:0;z-index:2;background:#f8f9fa;color:var(--head);text-align:left;padding:6px 8px;cursor:pointer;user-select:none;white-space:nowrap;border-bottom:2px solid var(--border2);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.tbl th.num{text-align:right}
.tbl th:hover{color:var(--brand)}
.tbl th.grp{text-align:center;color:var(--brand)}
.tbl th.grp-d{color:var(--blue)}
.tbl td{padding:4px 8px;border-bottom:1px solid #f0f0f0;white-space:nowrap}
.tbl td.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl tbody tr:hover{background:#fafafa}
.tbl tfoot td{font-weight:700;border-top:2px solid var(--border2);background:#fbfbfb}
.tbl .pos{color:var(--green)}.tbl .neg{color:var(--red)}
.badge-seg{font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:10px;color:#fff}
.badge-seg.varejo{background:var(--blue)}.badge-seg.atacado{background:#7048e8}

/* atingimento pill + progress */
.ating{font-weight:700}
.ating.ok{color:var(--green)}.ating.warn{color:var(--amber)}.ating.bad{color:var(--red)}
.prog{position:relative;height:14px;background:#eef0f2;border-radius:8px;overflow:hidden;min-width:120px}
.prog>span{position:absolute;inset:0 auto 0 0;border-radius:8px;background:var(--green)}
.prog>span.warn{background:var(--amber)}.prog>span.bad{background:var(--red)}

/* cadastro inputs */
.tbl-cad td input{width:74px;border:1px solid var(--border);border-radius:5px;padding:2px 5px;font-size:.74rem;text-align:right}
.tbl-cad td input:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.tbl-cad .fatcell{font-weight:700;color:var(--txt)}

/* IA */
.acao{border-left:4px solid var(--head);background:#fbfcfd;border-radius:6px;padding:8px 12px;margin-bottom:8px}
.acao.alta{border-left-color:var(--red)}.acao.media{border-left-color:var(--amber)}.acao.baixa{border-left-color:var(--green)}
.acao b{display:block;margin-bottom:2px}
.acao .pr{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--head)}
.mkt-badge{display:inline-block;font-size:.62rem;font-weight:700;padding:1px 8px;border-radius:10px;color:#fff}
.mkt-badge.emerald{background:var(--green)}.mkt-badge.blue{background:var(--blue)}.mkt-badge.amber{background:var(--amber)}.mkt-badge.red{background:var(--red)}.mkt-badge.gray{background:#adb5bd}
#iaTexto{white-space:pre-wrap;font-size:.82rem;line-height:1.5}
.ia-metric{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid #f0f0f0;font-size:.8rem}
.ia-metric b{font-variant-numeric:tabular-nums}

/* filtros (chips) — fiel à tela de produção */
.filtros{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.filtro-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.filtro-linha:last-child{margin-bottom:0}
.filtro-lbl{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--head);margin-right:2px}
.filtro-lbl .hint{font-weight:600;color:var(--txt-dim);text-transform:none;letter-spacing:0}
.chip{background:#fff;border:1px solid var(--border);border-radius:14px;padding:3px 12px;font-size:.72rem;font-weight:600;cursor:pointer;color:var(--txt);transition:all .12s;white-space:nowrap}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.chip.yr{font-weight:700}
.chip.yr.on[data-yr="2023"]{background:#868e96;border-color:#868e96}
.chip.yr.on[data-yr="2024"]{background:var(--blue);border-color:var(--blue)}
.chip.yr.on[data-yr="2025"]{background:#d9480f;border-color:#d9480f}
.chip.yr.on[data-yr="2026"]{background:var(--green);border-color:var(--green)}
.chip.yr.on[data-yr="meta"]{background:#7048e8;border-color:#7048e8}
.seg-pills{display:flex;gap:4px}
.seg-pills .chip.on{background:var(--blue);border-color:var(--blue)}

/* matriz Gestão mês × anos */
.tbl.matriz th{background:#2b2f36;color:#fff;border-bottom:none}
.tbl.matriz th:hover{color:#ffd7d9}
.tbl.matriz th.meta-col{color:#8ce99a}
.tbl.matriz td.meta-col{color:#2b8a3e;font-weight:600}
/* mínimo (previsão pessimista) — laranja, igual à linha nos gráficos */
.tbl th.min-col{color:#ffc9a0}
.tbl td.min-col{color:#e8590c;font-weight:600}
.tbl.matriz td.mes-lbl{font-weight:600}
.tbl.matriz tbody tr.mes-atual{background:#fff7f7}
.badge-pct{display:inline-block;font-size:.68rem;font-weight:700;padding:1px 7px;border-radius:8px;font-variant-numeric:tabular-nums}
.badge-pct.ok{background:#d3f9d8;color:#2b8a3e}
.badge-pct.warn{background:#fff3bf;color:#b8860b}
.badge-pct.bad{background:#ffe3e3;color:#c92a2a}
.badge-pct.na{color:var(--txt-dim)}
.tbl.matriz tfoot td{background:#2b2f36;color:#fff;border-top:none}
.tbl.matriz tfoot .badge-pct{background:rgba(255,255,255,.15);color:#fff}
.tbl.matriz tfoot .badge-pct.ok{background:#2b8a3e}.tbl.matriz tfoot .badge-pct.warn{background:#b8860b}.tbl.matriz tfoot .badge-pct.bad{background:#c92a2a}
/* — Dashboard Geral: seções Pedidos/Ticket/Faturamento — */
.dash-sec{margin-bottom:20px}
.dash-sec .card-dash{margin-bottom:12px}
.sec-title{font-size:1.05rem;font-weight:700;color:var(--head);padding-left:10px;border-left:4px solid #adb5bd;margin:4px 0 10px}
.sec-title.sec-ped{border-left-color:var(--blue)}
.sec-title.sec-tk{border-left-color:#e8a20c}
.sec-title.sec-fat{border-left-color:var(--green)}
.tbl.matriz th.delta-h{background:#3a3f47;color:#adb5bd;font-size:.62rem;font-weight:500}
.tbl.matriz td.delta{background:#f8f9fa;font-size:.68rem;font-variant-numeric:tabular-nums}
.tbl.matriz td.delta.pos{color:#2b8a3e}
.tbl.matriz td.delta.neg{color:#c92a2a}
.tbl.matriz th.tot-col{color:#ffd7d9}
.tbl.matriz td.tot-col{font-weight:700}

.resumo-linha{display:flex;justify-content:flex-start;gap:6px;align-items:center;padding:5px 8px;font-size:.74rem;border-bottom:1px solid #f0f0f0}
.resumo-linha .rl-lbl{min-width:150px;color:var(--head);font-weight:600}
.resumo-linha .rl-val{font-weight:700;font-variant-numeric:tabular-nums}
.footer-note{color:var(--txt-dim);font-size:.68rem;text-align:center;padding:18px 0 24px}

/* ── Validação: itens × títulos ── */
.kpi-row.kpi-6{grid-template-columns:repeat(6,1fr)}
.kpi .s{color:var(--txt-dim);font-size:.6rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi.acc-neutral{border-top-color:var(--border)}

.vd-aviso{margin:8px 18px 0;padding:8px 12px;border-radius:8px;font-size:.72rem;
  background:rgba(232,162,12,.12);border:1px solid rgba(232,162,12,.35);color:#8a6100}
.vd-aviso i{margin-right:5px}
.vd-lbl{color:var(--head);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.vd-status{font-size:.72rem;margin-left:8px}
.vd-chk{font-size:.66rem;font-weight:500;color:var(--head);margin-left:auto;display:flex;align-items:center;gap:4px;text-transform:none;letter-spacing:0}

/* cabeçalho fixo ao rolar a tabela */
.table-sticky thead th{position:sticky;top:0;z-index:2;background:var(--card)}

.vd-row{cursor:pointer}
.vd-row:hover{background:rgba(0,0,0,.035)}
tr.vd-div{background:rgba(227,6,19,.045)}
tr.vd-div:hover{background:rgba(227,6,19,.08)}
tr.vd-sel{box-shadow:inset 3px 0 0 var(--brand)}

.txt-pos{color:var(--green);font-weight:700}
.txt-neg{color:var(--red);font-weight:700}
td.empty{text-align:center;color:var(--txt-dim);padding:18px 0;font-size:.74rem}

.badge-div,.badge-warn,.badge-bad{display:inline-block;padding:1px 7px;border-radius:9px;font-size:.63rem;font-weight:700;line-height:1.5}
.badge-div{background:rgba(227,6,19,.12);color:var(--red)}
.badge-warn{background:rgba(232,162,12,.16);color:#8a6100}
.badge-bad{background:var(--red);color:#fff}

@media(max-width:900px){
  .kpi-row{grid-template-columns:repeat(2,1fr)}
  .kpi-row.kpi-6{grid-template-columns:repeat(2,1fr)}
  .panels{grid-template-columns:1fr}
  .col-span-2,.col-span-3{grid-column:span 1}
}

/* ═══ Meta — "Metas Consolidadas" (fiel à produção) ═══ */
.meta-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.meta-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}
.seg-tabs{display:inline-flex;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:4px;margin-bottom:12px;width:fit-content}
.stab{border:none;background:transparent;color:var(--txt-dim);border-radius:8px;padding:7px 20px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .12s}
.stab:hover{color:var(--txt);background:#f8f9fa}
.stab.active{background:var(--blue);color:#fff}
.meta-report .cd-title{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.03em}
.seg-dot{width:12px;height:12px;border-radius:3px;display:inline-block}
.seg-dot.d-at{background:var(--blue)}.seg-dot.d-vr{background:var(--amber)}.seg-dot.d-tot{background:var(--green)}

/* tabelas meta — grupos coloridos, colunas com tinta */
.tbl.meta-cons,.tbl.meta-hist{font-size:.72rem;white-space:nowrap}
.tbl.meta-cons th,.tbl.meta-hist th{padding:6px 10px;text-align:right}
.tbl.meta-cons td,.tbl.meta-hist td{padding:5px 10px;text-align:right;font-variant-numeric:tabular-nums}
.tbl.meta-cons th.canais,.tbl.meta-hist th.canais{text-align:left;background:#1f2937;color:#fff;position:sticky;left:0;z-index:3}
.tbl.meta-cons td.canais,.tbl.meta-hist td.canais{text-align:left;font-weight:600;color:#1f2937;position:sticky;left:0;background:#fff;z-index:2;border-right:1px solid var(--border2)}
.tbl.meta-cons .grp-row th{color:#fff;text-align:center;font-weight:700;letter-spacing:.04em}
.tbl.meta-cons .g-meta{background:#15803d}.tbl.meta-cons .g-des{background:#d97706}.tbl.meta-cons .g-ind{background:#1e40af}
.tbl.meta-cons .sub-row th{background:#f8f9fa;color:#6b7280;font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.tbl.meta-cons .sub-row th.c-meta{background:#f0fdf4;color:#166534}
.tbl.meta-cons .sub-row th.c-des{background:#fffbeb;color:#92400e}
.tbl.meta-cons .sub-row th.fat{font-weight:800}
.tbl.meta-cons .sub-row th.c-meta.fat{background:#dcfce7;color:#14532d}
.tbl.meta-cons .sub-row th.c-des.fat{background:#fef3c7;color:#78350f}
.tbl.meta-cons td.c-meta{background:rgba(240,253,244,.5)}
.tbl.meta-cons td.c-des{background:rgba(255,251,235,.5)}
.tbl.meta-cons td.c-meta.fat{background:rgba(220,252,231,.6);font-weight:700;color:#166534}
.tbl.meta-cons td.c-des.fat{background:rgba(254,243,199,.6);font-weight:700;color:#92400e}
.bl{border-left:1px solid var(--border2)}
.meta-hist th:not(.canais){background:#4b5563;color:#fff}
.tbl.meta-hist th.real{background:#1d4ed8}.tbl.meta-hist th.hmeta{background:#15803d}.tbl.meta-hist th.hdes{background:#d97706}
.meta-hist td.real{color:#1d4ed8;font-weight:600}
.meta-hist td.hmeta{background:rgba(240,253,244,.5);font-weight:600;color:#15803d}
.meta-hist td.hdes{background:rgba(255,251,235,.5);font-weight:600;color:#b45309}
/* estados numéricos */
.tbl.meta-cons td.pos,.tbl.meta-hist td.pos,.meta-cons .pos,.meta-hist .pos{color:#059669}
.tbl.meta-cons td.neg,.tbl.meta-hist td.neg,.meta-cons .neg,.meta-hist .neg{color:#dc2626}
.tbl.meta-cons td.dim,.tbl.meta-hist td.dim{color:#9ca3af}
.dash{color:#d1d5db}
.at-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.62rem;font-weight:700}
.at-badge.ok{background:#dcfce7;color:#15803d}.at-badge.warn{background:#fef9c3;color:#a16207}.at-badge.bad{background:#fee2e2;color:#b91c1c}
.tbl.meta-cons tbody tr:hover,.tbl.meta-hist tbody tr:hover{background:rgba(29,78,216,.04)}
.tbl.meta-cons tfoot .tot td,.tbl.meta-hist tfoot .tot td{background:#1f2937;color:#fff;font-weight:700;padding:7px 10px}
.tbl.meta-cons tfoot .tot td.canais,.tbl.meta-hist tfoot .tot td.canais{background:#1f2937;color:#fff}
.tbl.meta-cons tfoot .tot td.gpos{color:#6ee7b7}.tbl.meta-cons tfoot .tot td.gamber{color:#fcd34d}
.tbl.meta-cons tfoot .tot td.pos{color:#6ee7b7}.tbl.meta-cons tfoot .tot td.neg{color:#fca5a5}
.tbl.meta-hist tfoot .tot td.real{color:#93c5fd}

/* Meta — tabelas se adaptam à tela, sem barra de rolagem */
#viewMeta .cd-body.scroll{overflow:visible;max-height:none;padding:0}
#viewMeta .tbl.meta-cons,#viewMeta .tbl.meta-hist{width:100%;table-layout:fixed;font-size:.64rem}
#viewMeta .tbl.meta-cons th,#viewMeta .tbl.meta-cons td,
#viewMeta .tbl.meta-hist th,#viewMeta .tbl.meta-hist td{padding:4px 5px;overflow:hidden;text-overflow:ellipsis}
#viewMeta .tbl.meta-cons th.canais,#viewMeta .tbl.meta-cons td.canais,
#viewMeta .tbl.meta-hist th.canais,#viewMeta .tbl.meta-hist td.canais{width:118px}
#viewMeta .at-badge{padding:1px 5px}

/* Por Loja — tabela comparativa */
.tbl.loja-cmp th{background:#f8f9fa;color:#6b7280;font-weight:700;cursor:pointer;user-select:none}
.tbl.loja-cmp th:hover{color:#111827}
.tbl.loja-cmp th.canais,.tbl.loja-cmp td.canais{color:#374151;background:inherit;position:sticky;left:0}
.tbl.loja-cmp th.canais{background:#f8f9fa}
.tbl.loja-cmp td.canais{background:#fff;font-weight:600}
.tbl.loja-cmp td.delta-col,.tbl.loja-cmp th.delta-col{background:#f3f4f6;font-size:.64rem;text-align:center}
.tbl.loja-cmp td{color:#111827}
.tbl.loja-cmp tfoot .tot td{background:#e5e7eb;color:#111827;font-weight:700}
.tbl.loja-cmp tfoot .tot td.delta-col{background:#d1d5db}
.tbl.loja-cmp tfoot .tot td.canais{background:#e5e7eb}

/* Cadastro em lote — grids por combinação */
.cad-combo{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;background:var(--card)}
.cad-combo>summary{cursor:pointer;padding:8px 12px;font-size:.82rem;list-style:none;display:flex;align-items:center;gap:8px}
.cad-combo>summary::-webkit-details-marker{display:none}
.cad-combo>summary::before{content:'▸';color:var(--txt-dim);transition:transform .12s}
.cad-combo[open]>summary::before{transform:rotate(90deg)}
.cad-combo>summary:hover{background:#f8f9fa;border-radius:10px}
.cad-grid{margin:0 12px 12px}
.tbl-cad th.fatcol{color:var(--head)}

/* ═══ Peso de Distribuição Diária ═══ */
/* FIX ghost sob o cabeçalho: o container de scroll tinha padding-top:10px, então
   o thead sticky (top:0) gruda no content-box (10px abaixo) enquanto o overflow
   corta no border-box → sobra janela de 10px onde a linha aparece por cima do
   cabeçalho. Zerar o padding-top alinha o sticky ao corte. (Igual ao #viewMeta.) */
#viewPeso .cd-body.scroll{padding-top:0}
/* cabeçalho de 2 linhas (multi-segmento): 2ª linha gruda logo abaixo da 1ª */
.tbl.peso thead th{z-index:3;background:#f8f9fa}
.tbl.peso thead tr:first-child th{top:0}
.tbl.peso thead tr:nth-child(2) th{top:28px}
.tbl.peso td{border-bottom:1px solid #f1f3f5}
.tbl.peso tbody tr{transition:background .12s}
.tbl.peso tbody tr:hover{background:#f8fafc}
.tbl.peso tbody tr.p-lock{background:#fff9db}
.tbl.peso tbody tr.p-lock:hover{background:#fff3bf}
.tbl.peso tbody tr.p-lock>td:first-child{box-shadow:inset 3px 0 0 var(--amber)}
.tbl.peso tbody tr.p-dom td{color:#adb5bd}
/* multiselect dropdown (lojas que fecham) */
/* card do feriado precisa deixar o painel escapar (card-dash tem overflow:hidden) */
#pFeriadoCard{overflow:visible;position:relative;z-index:40}
.ms-dd{position:relative;display:inline-block;vertical-align:middle}
.ms-dd-btn{cursor:pointer;width:auto;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23495057' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:12px;padding-right:1.6rem}
.ms-dd-panel{position:absolute;z-index:30;top:calc(100% + 2px);left:0;min-width:240px;max-height:280px;overflow:auto;background:#fff;border:1px solid #ced4da;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.12);padding:6px}
.ms-dd-opt{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:5px;cursor:pointer;font-size:.85rem;white-space:nowrap}
.ms-dd-opt:hover{background:#f1f3f5}
.ms-dd-opt input{margin:0}
.ms-dd-sep{height:1px;background:#e9ecef;margin:4px 0}
.tbl.peso tbody tr.p-feriado{background:#ffe3e3}
.tbl.peso tbody tr.p-feriado:hover{background:#ffc9c9}
.tbl.peso tbody tr.p-feriado>td:first-child{box-shadow:inset 3px 0 0 var(--red,#e03131)}
.tbl.peso td.diacol{font-weight:600;color:var(--txt)}
.tbl.peso td.sem{color:var(--head);font-size:.66rem;text-transform:uppercase;letter-spacing:.03em}
.tbl.peso .segsep{border-left:2px solid var(--border2)}
/* nomes dos grupos com fundo tint p/ separar melhor (GERAL e Por Loja) */
.tbl.peso th.grp-a{color:#5f3dc4;background:#f3f0ff}   /* atacado    */
.tbl.peso th.grp-v{color:#1971c2;background:#e7f5ff}   /* varejo     */
.tbl.peso th.grp-t{color:#2b8a3e;background:#ebfbee}   /* consolidado*/
.tbl.peso th.sub{font-size:.6rem;color:var(--head);font-weight:700;padding-top:2px;padding-bottom:4px}
.tbl.peso td.totcol{background:rgba(47,158,68,.06);font-weight:600;color:#237a38}
.tbl.peso th.totcol,.tbl.peso td.totcol{border-left:2px solid rgba(47,158,68,.25)}
.p-inp{width:76px;border:1px solid var(--border);border-radius:6px;padding:2px 22px 2px 6px;
       font-size:.74rem;text-align:right;font-variant-numeric:tabular-nums;background:#fff;
       transition:border-color .12s,box-shadow .12s}
.p-inp:hover{border-color:#adb5bd}
.p-inp:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(227,6,19,.15)}
.p-inpwrap{position:relative;display:inline-block}
.p-inpwrap::after{content:'%';position:absolute;right:7px;top:50%;transform:translateY(-50%);
                  font-size:.66rem;color:var(--txt-dim);pointer-events:none}
.p-lockbtn{background:none;border:none;padding:2px 4px;cursor:pointer;line-height:1;border-radius:5px}
.p-lockbtn:hover{background:#e9ecef}
.p-lockbtn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.p-geral-txt{font-variant-numeric:tabular-nums;font-weight:600;color:var(--txt)}
.tbl.peso tfoot td{background:#f1f3f5}
.tbl.peso tfoot tr.ok td.totmark{color:var(--green)}
.tbl.peso tfoot tr.bad td{background:#fff0f0}
.tbl.peso tfoot tr.bad td.totmark{color:var(--red)}
.p-flag{display:inline-flex;align-items:center;gap:5px;background:#fff4e6;color:#b45309;
        border:1px solid #ffd8a8;border-radius:8px;padding:4px 10px;font-size:.7rem;font-weight:600;margin-top:6px}
.p-badge-ro{display:inline-flex;align-items:center;gap:4px;background:#edf2ff;color:#3b5bdb;
        border-radius:8px;padding:2px 9px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}

/* impressão — só o relatório de metas */
@media print{
  @page{size:landscape;margin:8mm}
  body{background:#fff}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .topbar,.view-tabs,.kpi-row,.no-print,.footer-note{display:none!important}
  .view.d-none{display:none!important}
  .card-dash{box-shadow:none;border:none;break-inside:avoid}
  .cd-body.scroll{overflow:visible!important}
  .meta-report{font-size:.62rem}
  #app{display:block!important}
}
