/* Bingo Web PRO - camada visual padronizada
   Carregue este arquivo por ultimo nas paginas administrativas/cliente.
   Não aplicar no painel de sorteio nem no painel de TV. */
:root{
  --bwp-bg:#ffffff;
  --bwp-card:#ffffff;
  --bwp-card-soft:#fbfefc;
  --bwp-ink:#061827;
  --bwp-muted:#607083;
  --bwp-line:#dfece5;
  --bwp-line-strong:#c9dfd2;
  --bwp-green:#14a85c;
  --bwp-green-dark:#087a3e;
  --bwp-green-soft:#eaf8ef;
  --bwp-red:#e73545;
  --bwp-red-soft:#fff0f1;
  --bwp-shadow:0 14px 36px rgba(4,82,42,.08);
  --bwp-shadow-soft:0 8px 22px rgba(4,82,42,.05);
  --bwp-radius:16px;
  --bwp-radius-lg:22px;
}

*{box-sizing:border-box}
html{background:#fff}
body.has-side-menu,
body.client-dashboard,
body.admin-clients-page{
  background:#fff!important;
  color:var(--bwp-ink);
  font-family:"Segoe UI",Inter,Roboto,Arial,sans-serif;
}

.wrap,.client-wrap,.admin-clients-wrap{
  width:min(1160px,calc(100% - 28px));
  margin:0 auto;
  padding:34px 0 44px;
}

.page-heading,.client-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 18px;
}
.page-title-block h1,.client-brand h1,.brand{
  margin:0;
  color:var(--bwp-ink)!important;
  font-size:clamp(24px,3vw,34px)!important;
  line-height:1.06;
  font-weight:950;
  letter-spacing:0;
}
.page-title-block p,.client-brand span,.muted,.mini{
  color:var(--bwp-muted)!important;
}
.client-brand{display:flex;align-items:center;gap:12px}
.brand-icon,.quick-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(180deg,#18b967,#078241);
  box-shadow:0 12px 26px rgba(15,143,79,.18);
  font-weight:950;
}
.brand-icon{width:48px;height:48px;border-radius:14px;font-size:20px}
.quick-icon{width:38px;height:38px;min-width:38px;border-radius:12px;font-size:17px;margin-bottom:10px}

.card,.hero-card,.event-filter,.top-column-card,.clients-list-card,.report-shell{
  background:var(--bwp-card)!important;
  border:1px solid var(--bwp-line)!important;
  border-radius:var(--bwp-radius-lg)!important;
  box-shadow:var(--bwp-shadow)!important;
}
.card,.hero-card,.event-filter{padding:22px}
.card h2,.hero-card h2,.card h3,.section-title-row h2{
  color:var(--bwp-ink)!important;
  font-weight:950;
  letter-spacing:0;
}
.hero-card:before{display:none!important}
.hello{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
}
.hello h2{
  margin:0 0 8px!important;
  color:var(--bwp-ink)!important;
  font-size:clamp(22px,3vw,30px)!important;
  line-height:1.1;
  font-weight:950;
}
.hello p{margin:0;color:var(--bwp-muted)!important}
.admin-summary-panel h2{margin-top:0}

.quick-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:14px;
}
.quick-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:var(--bwp-card-soft)!important;
  border:1px solid var(--bwp-line)!important;
  border-radius:var(--bwp-radius)!important;
  padding:16px!important;
  box-shadow:var(--bwp-shadow-soft)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.quick-card:hover{
  transform:translateY(-1px);
  border-color:var(--bwp-line-strong)!important;
  box-shadow:var(--bwp-shadow)!important;
}
.quick-card b{display:block;color:var(--bwp-ink)!important;font-size:16px;line-height:1.15;margin:0 0 4px}
.quick-card span{display:block;color:var(--bwp-muted)!important;font-size:13px;line-height:1.25}
.value-big{font-size:24px!important;font-weight:950!important;color:var(--bwp-green-dark)!important}

label{
  display:block;
  color:var(--bwp-ink);
  font-size:13px;
  font-weight:850;
  margin:0 0 7px;
}
input,select,textarea{
  width:100%;
  min-height:46px;
  border:1px solid var(--bwp-line-strong)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--bwp-ink)!important;
  padding:11px 13px!important;
  font-weight:750;
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--bwp-green)!important;
  box-shadow:0 0 0 3px rgba(20,168,92,.12)!important;
}
input[type="checkbox"],input[type="radio"]{
  width:auto!important;
  min-height:auto!important;
  padding:0!important;
  accent-color:var(--bwp-green);
}

.btn,button.btn,a.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  border:0!important;
  border-radius:13px!important;
  background:var(--bwp-green)!important;
  color:#fff!important;
  padding:10px 16px!important;
  font-weight:950!important;
  text-decoration:none!important;
  box-shadow:0 12px 24px rgba(20,168,92,.16)!important;
  cursor:pointer;
}
.btn:hover,button.btn:hover,a.btn:hover{background:var(--bwp-green-dark)!important}
.btn.light,.logout-btn{
  background:#fff!important;
  color:var(--bwp-ink)!important;
  border:1px solid var(--bwp-line)!important;
  box-shadow:var(--bwp-shadow-soft)!important;
}
.btn.red,.danger{
  background:var(--bwp-red)!important;
  color:#fff!important;
}

.alert,.ok,.bad{
  border-radius:14px!important;
  padding:12px 14px!important;
  font-weight:850;
  margin:0 0 14px;
}
.alert.ok,.ok{background:var(--bwp-green-soft)!important;color:var(--bwp-green-dark)!important;border:1px solid #bdebd0!important}
.alert.bad,.bad{background:var(--bwp-red-soft)!important;color:#9f1239!important;border:1px solid #fecdd3!important}

.grid,.admin-client-form,.client-edit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.grid .full,.admin-client-form .full,.client-edit-grid .full{grid-column:1/-1}
.form-action{align-self:end}

.table-scroll{overflow:auto;border-radius:var(--bwp-radius);border:1px solid var(--bwp-line)}
table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff}
th{
  background:#eef9f3!important;
  color:#08351f!important;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:0;
  font-weight:950!important;
}
td,th{padding:12px 14px!important;border-bottom:1px solid #edf3ef!important}
tr:last-child td{border-bottom:0!important}

.status-pill,.client-status-pill,.feature-pill,.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1;
  padding:8px 11px!important;
}
.status-pill.ok,.client-status-pill.ok,.feature-pill{
  background:var(--bwp-green-soft)!important;
  color:var(--bwp-green-dark)!important;
  border:1px solid #bdebd0!important;
}
.status-pill.bad,.client-status-pill.bad{
  background:var(--bwp-red-soft)!important;
  color:#b91c1c!important;
  border:1px solid #fecdd3!important;
}
.feature-pill.off{background:#f8fafc!important;color:#64748b!important;border-color:#e2e8f0!important}

.admin-access-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}
.admin-access-option{
  min-height:76px;
  border:1px solid var(--bwp-line)!important;
  background:var(--bwp-card-soft)!important;
  border-radius:14px!important;
  padding:12px!important;
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
}
.admin-access-option div{font-weight:950}
.admin-access-option span{display:block;margin-top:4px;color:var(--bwp-muted);font-size:12px;font-weight:700}

.cartelas-summary-card{
  display:grid!important;
  grid-template-columns:1fr auto 1fr auto 1fr!important;
  align-items:center!important;
  gap:0!important;
  background:#fff!important;
  border:1px solid var(--bwp-line)!important;
  border-radius:var(--bwp-radius-lg)!important;
  box-shadow:var(--bwp-shadow-soft)!important;
  padding:16px!important;
}
.cartelas-summary-divider{
  width:1px!important;
  align-self:stretch!important;
  background:#edf3ef!important;
  margin:0 16px!important;
}
.cartelas-summary-item{text-align:center!important}
.cartelas-summary-number{
  color:var(--bwp-ink)!important;
  font-size:24px!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.cartelas-summary-number.green{color:var(--bwp-green-dark)!important}
.cartelas-summary-text{
  color:#526275!important;
  font-size:11px!important;
  text-transform:uppercase;
  font-weight:950!important;
}
.cartelas-summary-meta{grid-column:1/-1;text-align:center;margin-top:10px;color:var(--bwp-muted);font-size:12px}

@media(max-width:760px){
  .wrap,.client-wrap,.admin-clients-wrap{width:calc(100% - 22px);padding:18px 0 32px}
  .page-heading,.client-top{align-items:flex-start;gap:10px}
  .brand-icon{width:44px;height:44px;border-radius:13px}
  .card,.hero-card,.event-filter{padding:16px!important;border-radius:18px!important}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .quick-card{min-height:108px;padding:13px!important}
  .quick-icon{width:34px;height:34px;min-width:34px;border-radius:11px;font-size:15px}
  .grid,.admin-client-form,.client-edit-grid{grid-template-columns:1fr}
  .form-action .btn,.btn.mobile-full{width:100%}
  td,th{padding:10px!important;font-size:12px}
  .cartelas-summary-card{grid-template-columns:1fr auto 1fr auto 1fr!important;padding:14px 10px!important}
  .cartelas-summary-divider{margin:0 8px!important}
  .cartelas-summary-number{font-size:21px!important}
  .cartelas-summary-text{font-size:9px!important}
  .cartelas-summary-meta{display:none!important}
}

@media(max-width:420px){
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quick-card b{font-size:14px}
  .quick-card span{font-size:11px}
  .page-title-block h1,.client-brand h1,.brand{font-size:22px!important}
}

/* Dashboard moderno: camada final compartilhada */
:root{
  --dash-sidebar:#111827;--dash-sidebar-soft:#1f2937;--dash-canvas:#f6f8fb;
  --dash-surface:#fff;--dash-border:#e5e9f0;--dash-text:#172033;--dash-muted:#6b7688;
  --dash-primary:#16a765;--dash-primary-dark:#0d8951;--dash-primary-soft:#eaf8f1;
  --dash-radius:12px;--dash-shadow:0 5px 18px rgba(15,23,42,.045);--dash-sidebar-width:244px;
}
body.has-side-menu:not(.bingo-screen){background:var(--dash-canvas)!important;color:var(--dash-text)!important}
body.has-side-menu:not(.bingo-screen) .wrap,
body.has-side-menu:not(.bingo-screen) .client-wrap,
body.has-side-menu:not(.bingo-screen) .seller-wrap,
body.has-side-menu:not(.bingo-screen) .finance-app,
body.has-side-menu:not(.bingo-screen) .page,
body.has-side-menu:not(.bingo-screen) .report-page{
  width:auto!important;max-width:1460px!important;min-height:100vh!important;
  margin:0 0 0 var(--dash-sidebar-width)!important;padding:24px 28px 36px!important;background:var(--dash-canvas)!important;
}
body.has-side-menu:not(.bingo-screen) .header,
body.has-side-menu:not(.bingo-screen) .client-top,
body.has-side-menu:not(.bingo-screen) .seller-head,
body.has-side-menu:not(.bingo-screen) .finance-top,
body.has-side-menu:not(.bingo-screen) .report-toolbar,
body.has-side-menu:not(.bingo-screen) .page-heading{
  min-height:68px!important;margin:0 0 18px!important;padding:14px 16px!important;
  border:1px solid var(--dash-border)!important;border-radius:var(--dash-radius)!important;
  background:rgba(255,255,255,.96)!important;box-shadow:var(--dash-shadow)!important;
}
body.has-side-menu:not(.bingo-screen) .card,
body.has-side-menu:not(.bingo-screen) .seller-card,
body.has-side-menu:not(.bingo-screen) .hero-card,
body.has-side-menu:not(.bingo-screen) .manager-card,
body.has-side-menu:not(.bingo-screen) .report,
body.has-side-menu:not(.bingo-screen) .report-shell,
body.has-side-menu:not(.bingo-screen) .section,
body.has-side-menu:not(.bingo-screen) .finance-hero,
body.has-side-menu:not(.bingo-screen) .metric,
body.has-side-menu:not(.bingo-screen) .winner-card,
body.has-side-menu:not(.bingo-screen) .resume-card,
body.has-side-menu:not(.bingo-screen) .qr-box{
  border:1px solid var(--dash-border)!important;border-radius:var(--dash-radius)!important;box-shadow:var(--dash-shadow)!important;
}
body.has-side-menu:not(.bingo-screen) .card,
body.has-side-menu:not(.bingo-screen) .seller-card,
body.has-side-menu:not(.bingo-screen) .hero-card,
body.has-side-menu:not(.bingo-screen) .report,
body.has-side-menu:not(.bingo-screen) .finance-hero{padding:18px!important;margin-bottom:14px!important}
body.has-side-menu:not(.bingo-screen) .quick-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;gap:10px!important}
body.has-side-menu:not(.bingo-screen) .quick-card{
  min-height:112px!important;padding:14px!important;border:1px solid var(--dash-border)!important;
  border-radius:10px!important;background:var(--dash-surface)!important;box-shadow:none!important;
}
body.has-side-menu:not(.bingo-screen) .quick-card:hover{border-color:#b8e4ce!important;background:#fbfefc!important;box-shadow:var(--dash-shadow)!important}
body.has-side-menu:not(.bingo-screen) .brand-icon,
body.has-side-menu:not(.bingo-screen) .quick-icon,
body.has-side-menu:not(.bingo-screen) .config-icon{
  width:36px!important;height:36px!important;min-width:36px!important;margin:0 0 10px!important;
  border-radius:10px!important;background:var(--dash-primary-soft)!important;color:var(--dash-primary-dark)!important;box-shadow:none!important;
}
body.has-side-menu:not(.bingo-screen) .brand-icon{width:40px!important;height:40px!important;min-width:40px!important;margin:0!important;background:var(--dash-primary)!important;color:#fff!important}
.bwp-icon{width:18px;height:18px;display:inline-block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brand-icon .bwp-icon{width:20px;height:20px}.quick-icon .bwp-icon{width:18px;height:18px}
body.has-side-menu:not(.bingo-screen) .btn,
body.has-side-menu:not(.bingo-screen) button,
body.has-side-menu:not(.bingo-screen) input[type=submit]{min-height:40px!important;border-radius:9px!important;box-shadow:none!important}
body.has-side-menu:not(.bingo-screen) input,
body.has-side-menu:not(.bingo-screen) select,
body.has-side-menu:not(.bingo-screen) textarea{min-height:42px!important;border-radius:9px!important;background:#fff!important}
body.has-side-menu:not(.bingo-screen) th{background:#f4f7fa!important;color:#536174!important;font-size:11px!important;letter-spacing:.04em!important}
body.has-side-menu:not(.bingo-screen) td,body.has-side-menu:not(.bingo-screen) th{padding:10px 12px!important}
body.has-side-menu:not(.bingo-screen) .side-menu{
  width:var(--dash-sidebar-width)!important;padding:20px 12px!important;background:var(--dash-sidebar)!important;
  border:0!important;box-shadow:none!important;transform:none!important;overflow-y:auto!important;
}
body.has-side-menu:not(.bingo-screen) .side-menu-title{
  display:flex!important;align-items:center!important;gap:10px!important;min-height:40px!important;
  margin:0 4px 20px!important;padding:0!important;background:transparent!important;color:#fff!important;font-size:15px!important;
}
.side-menu-title .bwp-menu-logo{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--dash-primary);color:#fff}
body.has-side-menu:not(.bingo-screen) .side-menu a,
body.has-side-menu:not(.bingo-screen) .side-menu button{
  min-height:39px!important;margin:0 0 4px!important;padding:9px 10px!important;border:0!important;
  border-radius:8px!important;background:transparent!important;color:#cbd5e1!important;font-size:13px!important;font-weight:700!important;
}
body.has-side-menu:not(.bingo-screen) .side-menu a:hover,
body.has-side-menu:not(.bingo-screen) .side-menu button:hover{background:var(--dash-sidebar-soft)!important;color:#fff!important}
body.has-side-menu:not(.bingo-screen) .side-menu a.active,
body.has-side-menu:not(.bingo-screen) .side-menu button.active{background:rgba(22,167,101,.18)!important;color:#7ce6ae!important}
body.has-side-menu:not(.bingo-screen) .side-menu a.danger{margin-top:12px!important;background:rgba(239,68,68,.08)!important;color:#fca5a5!important}
body.has-side-menu:not(.bingo-screen) .side-menu .side-submenu-items{padding:4px 0 5px 12px!important}
body.has-side-menu:not(.bingo-screen) .side-menu .side-submenu-items a{font-size:12px!important}
body.has-side-menu:not(.bingo-screen) .side-submenu>.side-submenu-toggle:after{display:none!important;content:none!important}
body.has-side-menu:not(.bingo-screen) .side-submenu-toggle .bwp-chevron{margin-left:auto;transition:transform .18s ease}
body.has-side-menu:not(.bingo-screen) .side-submenu.open>.side-submenu-toggle .bwp-chevron{transform:rotate(180deg)}
body.has-side-menu:not(.bingo-screen)>.menu-fab{display:none!important}
body.has-side-menu:not(.bingo-screen) .seller-head .menu-fab-inline{display:none!important}
@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen)>.menu-fab{display:flex!important}
  body.has-side-menu:not(.bingo-screen) .seller-head .menu-fab-inline{display:flex!important}
  body.has-side-menu:not(.bingo-screen) .side-menu{width:min(84vw,286px)!important;padding:18px 12px!important;transform:translateX(-104%)!important;box-shadow:18px 0 45px rgba(15,23,42,.22)!important}
  body.has-side-menu:not(.bingo-screen) .side-menu.open{transform:translateX(0)!important}
  body.has-side-menu:not(.bingo-screen) .menu-fab{width:42px!important;height:42px!important;left:14px!important;top:14px!important;border:1px solid var(--dash-border)!important;border-radius:10px!important;background:#fff!important;color:var(--dash-text)!important;box-shadow:var(--dash-shadow)!important}
  body.has-side-menu:not(.bingo-screen) .wrap,
  body.has-side-menu:not(.bingo-screen) .client-wrap,
  body.has-side-menu:not(.bingo-screen) .seller-wrap,
  body.has-side-menu:not(.bingo-screen) .finance-app,
  body.has-side-menu:not(.bingo-screen) .page,
  body.has-side-menu:not(.bingo-screen) .report-page{width:100%!important;max-width:680px!important;margin:0 auto!important;padding:12px!important;background:var(--dash-canvas)!important}
  body.has-side-menu:not(.bingo-screen) .header,
  body.has-side-menu:not(.bingo-screen) .client-top,
  body.has-side-menu:not(.bingo-screen) .finance-top,
  body.has-side-menu:not(.bingo-screen) .report-toolbar,
  body.has-side-menu:not(.bingo-screen) .page-heading{min-height:58px!important;margin:0 0 12px!important;padding:10px 10px 10px 54px!important;border-radius:10px!important}
  body.has-side-menu:not(.bingo-screen) .seller-head{border-radius:10px!important}
  body.has-side-menu:not(.bingo-screen) .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.has-side-menu:not(.bingo-screen) .quick-card{min-height:100px!important;padding:12px!important}
  body.has-side-menu:not(.bingo-screen) .card,
  body.has-side-menu:not(.bingo-screen) .seller-card,
  body.has-side-menu:not(.bingo-screen) .hero-card{padding:14px!important;border-radius:10px!important}
}

/* Design system final: variantes legadas convergem para os mesmos componentes. */
:root{
  --dash-danger:#dc3545;--dash-danger-dark:#b4232f;--dash-danger-soft:#fff1f2;
  --dash-warning:#d97706;--dash-warning-soft:#fff7ed;
  --dash-neutral:#64748b;--dash-neutral-soft:#f1f5f9;
}
body:not(.bingo-screen) .btn,
body:not(.bingo-screen) button.btn,
body:not(.bingo-screen) a.btn,
body:not(.bingo-screen) input[type=submit]{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  min-height:40px!important;margin:0!important;padding:9px 13px!important;border:1px solid transparent!important;
  border-radius:9px!important;background:var(--dash-primary)!important;color:#fff!important;
  font-size:13px!important;font-weight:800!important;line-height:1.15!important;text-decoration:none!important;
  box-shadow:none!important;cursor:pointer!important;transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
body:not(.bingo-screen) .btn:hover,
body:not(.bingo-screen) button.btn:hover,
body:not(.bingo-screen) a.btn:hover{background:var(--dash-primary-dark)!important;transform:translateY(-1px)!important;filter:none!important}
body:not(.bingo-screen) .btn.light,
body:not(.bingo-screen) .btn.dark,
body:not(.bingo-screen) .logout-btn{
  background:#fff!important;color:var(--dash-text)!important;border-color:var(--dash-border)!important;
}
body:not(.bingo-screen) .btn.light:hover,
body:not(.bingo-screen) .btn.dark:hover,
body:not(.bingo-screen) .logout-btn:hover{background:#f8fafc!important;border-color:#cbd5e1!important}
body:not(.bingo-screen) .btn.red,
body:not(.bingo-screen) .btn.danger,
body:not(.bingo-screen) .danger.btn,
body:not(.bingo-screen) .danger-inline,
body:not(.bingo-screen) .btn-red-action,
body:not(.bingo-screen) .btn-sales-close,
body:not(.bingo-screen) .btn-finalize,
body:not(.bingo-screen) .btn-remove{background:var(--dash-danger)!important;color:#fff!important;border-color:transparent!important}
body:not(.bingo-screen) .btn.red:hover,
body:not(.bingo-screen) .btn.danger:hover,
body:not(.bingo-screen) .danger-inline:hover,
body:not(.bingo-screen) .btn-sales-close:hover,
body:not(.bingo-screen) .btn-finalize:hover{background:var(--dash-danger-dark)!important}
body:not(.bingo-screen) .btn[disabled],
body:not(.bingo-screen) button[disabled]{opacity:.48!important;cursor:not-allowed!important;transform:none!important}
body:not(.bingo-screen) .btn-mini,
body:not(.bingo-screen) .seller-modal-close{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;
  width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:1px solid var(--dash-border)!important;
  border-radius:9px!important;background:#fff!important;color:var(--dash-primary-dark)!important;box-shadow:none!important;cursor:pointer!important;
}
body:not(.bingo-screen) .btn-mini.btn-remove{background:var(--dash-danger-soft)!important;color:var(--dash-danger)!important;border-color:#fecdd3!important}
body:not(.bingo-screen) .success-ok{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border-radius:9px!important}

body:not(.bingo-screen) .status-pill,
body:not(.bingo-screen) .client-status-pill,
body:not(.bingo-screen) .feature-pill,
body:not(.bingo-screen) .sales-pill,
body:not(.bingo-screen) .sales-badge,
body:not(.bingo-screen) .event-state-badge,
body:not(.bingo-screen) .migration-status,
body:not(.bingo-screen) .log-badge,
body:not(.bingo-screen) .pill,
body:not(.bingo-screen) .status-ok,
body:not(.bingo-screen) .status-bad{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  width:auto!important;min-height:26px!important;margin:0!important;padding:5px 9px!important;border:1px solid #bdebd0!important;
  border-radius:999px!important;background:var(--dash-primary-soft)!important;color:var(--dash-primary-dark)!important;
  font-size:11px!important;font-weight:800!important;line-height:1!important;white-space:nowrap!important;
}
body:not(.bingo-screen) .status-pill.bad,
body:not(.bingo-screen) .client-status-pill.bad,
body:not(.bingo-screen) .sales-pill.closed,
body:not(.bingo-screen) .sales-badge.closed,
body:not(.bingo-screen) .operational-badge.state-sales-closed,
body:not(.bingo-screen) .status-bad{
  border-color:#fecdd3!important;background:var(--dash-danger-soft)!important;color:#b4232f!important;
}
body:not(.bingo-screen) .operational-badge.state-drawing{
  border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important;
}
body:not(.bingo-screen) .operational-badge.state-finished,
body:not(.bingo-screen) .operational-badge.state-unavailable{
  border-color:#e2e8f0!important;background:var(--dash-neutral-soft)!important;color:var(--dash-neutral)!important;
}
body:not(.bingo-screen) .migration-status.pending{border-color:#fed7aa!important;background:var(--dash-warning-soft)!important;color:#9a3412!important}
body:not(.bingo-screen) .feature-pill.off,
body:not(.bingo-screen) .event-state-badge.finished{border-color:#e2e8f0!important;background:var(--dash-neutral-soft)!important;color:var(--dash-neutral)!important}
body:not(.bingo-screen) .badge-dot{width:7px!important;height:7px!important}
body:not(.bingo-screen) .status-pill .bwp-icon,
body:not(.bingo-screen) .client-status-pill .bwp-icon,
body:not(.bingo-screen) .sales-pill .bwp-icon,
body:not(.bingo-screen) .sales-badge .bwp-icon,
body:not(.bingo-screen) .migration-status .bwp-icon{width:13px!important;height:13px!important}

/* Status operacionais vivos: reforçam que vendas e painel seguem atualizando. */
@keyframes bwp-status-pulse{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(22,167,101,.34)}
  50%{opacity:.58;transform:scale(.82);box-shadow:0 0 0 5px rgba(22,167,101,0)}
}
@keyframes bwp-status-pulse-closed{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(220,53,69,.3)}
  50%{opacity:.58;transform:scale(.82);box-shadow:0 0 0 5px rgba(220,53,69,0)}
}
body:not(.bingo-screen) .sales-pill:before,
body:not(.bingo-screen) .sales-badge:before,
body:not(.bingo-screen) .operational-badge:before{
  content:""!important;display:inline-block!important;flex:0 0 auto!important;width:7px!important;height:7px!important;
  border-radius:999px!important;background:var(--dash-primary)!important;animation:bwp-status-pulse 1.25s ease-in-out infinite!important;
}
body:not(.bingo-screen) .sales-pill.closed:before,
body:not(.bingo-screen) .sales-badge.closed:before,
body:not(.bingo-screen) .operational-badge.state-sales-closed:before{
  background:var(--dash-danger)!important;animation-name:bwp-status-pulse-closed!important;
}
body:not(.bingo-screen) .operational-badge.state-drawing:before{background:#2563eb!important}
body:not(.bingo-screen) .operational-badge.state-finished:before,
body:not(.bingo-screen) .operational-badge.state-unavailable:before{background:#64748b!important;animation:none!important}
body:not(.bingo-screen) .sales-badge .badge-dot{display:none!important}
body:not(.bingo-screen) .sales-pill .bwp-icon,
body:not(.bingo-screen) .sales-badge .bwp-icon{display:none!important}
@media(prefers-reduced-motion:reduce){
  body:not(.bingo-screen) .sales-pill:before,
  body:not(.bingo-screen) .sales-badge:before,
  body:not(.bingo-screen) .operational-badge:before{animation:none!important}
}

body:not(.bingo-screen) .seller-modal{
  position:fixed!important;inset:0!important;z-index:20000!important;display:none!important;
  align-items:center!important;justify-content:center!important;padding:16px!important;background:rgba(15,23,42,.55)!important;
  backdrop-filter:blur(3px)!important;
}
body:not(.bingo-screen) .seller-modal.open{display:flex!important}
body:not(.bingo-screen) .seller-modal-card{
  width:min(520px,100%)!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;padding:18px!important;
  border:1px solid var(--dash-border)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 20px 60px rgba(15,23,42,.18)!important;
}
body:not(.bingo-screen) .seller-edit-modal-card{width:min(760px,100%)!important}
body:not(.bingo-screen) .seller-modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
body:not(.bingo-screen) .seller-modal-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:14px!important}
body:not(.bingo-screen) .seller-modal-actions .btn{width:100%!important}
body:not(.bingo-screen) .client-modal-card{width:min(680px,calc(100vw - 24px))!important}
body:not(.bingo-screen) .client-modal .seller-modal-actions{display:block!important}
body:not(.bingo-screen) .client-modal .seller-modal-actions .btn{width:100%!important}

body:not(.bingo-screen) .notice-ok,
body:not(.bingo-screen) .notice-err,
body:not(.bingo-screen) .alert,
body:not(.bingo-screen) .ok,
body:not(.bingo-screen) .bad{
  display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 0px!important;padding:10px 12px!important;
  border-radius:9px!important;font-size:13px!important;font-weight:700!important;
}
body:not(.bingo-screen) .notice-ok{border:1px solid #bdebd0!important;background:var(--dash-primary-soft)!important;color:var(--dash-primary-dark)!important}
body:not(.bingo-screen) .notice-err{border:1px solid #fecdd3!important;background:var(--dash-danger-soft)!important;color:#b4232f!important}
body:not(.bingo-screen) .config-grid{gap:10px!important}
body:not(.bingo-screen) .config-option{padding:16px!important;border:1px solid var(--dash-border)!important;border-radius:10px!important;box-shadow:none!important}
body:not(.bingo-screen) .config-option:hover{border-color:#b8e4ce!important;background:#fbfefc!important;box-shadow:var(--dash-shadow)!important}
body:not(.bingo-screen) .seller-row-actions .whatsapp{background:#25d366!important;color:#fff!important;border-color:#25d366!important}
body:not(.bingo-screen) .seller-row-actions .whatsapp:hover{background:#1da851!important;border-color:#1da851!important}
.bwp-whatsapp-icon{display:inline-block!important;flex:0 0 auto!important;width:18px!important;height:18px!important;color:#0ca763!important;fill:currentColor!important;stroke:none!important;vertical-align:-.125em}
.bwp-whatsapp-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;background:#fff!important;color:#087a49!important;border:1px solid #0ca763!important}
.bwp-whatsapp-action:hover{background:#eefaf4!important;color:#075f3b!important;border-color:#087a49!important}
body:not(.bingo-screen) .seller-row-actions .whatsapp.bwp-whatsapp-action{background:#fff!important;color:#087a49!important;border-color:#0ca763!important}
body:not(.bingo-screen) .seller-row-actions .whatsapp.bwp-whatsapp-action:hover{background:#eefaf4!important;border-color:#087a49!important}

@media(max-width:640px){
  body:not(.bingo-screen) .seller-modal-actions{grid-template-columns:1fr!important}
}

/* Cabeçalhos leves: sem card branco envolvendo o título. */
body.has-side-menu:not(.bingo-screen) .header,
body.has-side-menu:not(.bingo-screen) .client-top,
body.has-side-menu:not(.bingo-screen) .seller-head,
body.has-side-menu:not(.bingo-screen) .finance-top,
body.has-side-menu:not(.bingo-screen) .report-toolbar,
body.has-side-menu:not(.bingo-screen) .page-heading{
  min-height:52px!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) .header,
  body.has-side-menu:not(.bingo-screen) .client-top,
  body.has-side-menu:not(.bingo-screen) .finance-top,
  body.has-side-menu:not(.bingo-screen) .report-toolbar,
  body.has-side-menu:not(.bingo-screen) .page-heading{
    min-height:46px!important;
    margin:0 0 12px!important;
    padding:0 0 0 54px!important;
  }
  body.has-side-menu:not(.bingo-screen) .seller-head{
    min-height:46px!important;
    margin:0 0 12px!important;
    padding:0!important;
  }
  body.has-side-menu:not(.bingo-screen) .menu-fab{
    width:42px!important;height:42px!important;left:14px!important;top:14px!important;
    border:0!important;border-radius:10px!important;background:var(--dash-primary)!important;color:#fff!important;
    box-shadow:0 6px 14px rgba(22,167,101,.22)!important;
  }
  body.has-side-menu:not(.bingo-screen) .side-menu{
    padding-top:14px!important;
  }
  body.has-side-menu:not(.bingo-screen) .side-menu-title{
    min-height:42px!important;margin:0 0 16px 0!important;padding:0 8px 0 54px!important;
    align-items:center!important;
  }
body.has-side-menu:not(.bingo-screen) .side-menu-title .bwp-menu-logo{
    display:none!important;
  }
}

/* Etapa 4: padrao global de cards e blocos.
   Ajuste estes tokens para alterar o acabamento de blocos em todas as paginas com menu lateral. */
:root{
  --bwp-block-radius:18px;
  --bwp-block-radius-mobile:16px;
  --bwp-block-padding-y:20px;
  --bwp-block-padding-x:20px;
  --bwp-block-padding-y-mobile:16px;
  --bwp-block-padding-x-mobile:16px;
  --bwp-block-gap:16px;
  --bwp-block-border:#dde8e2;
  --bwp-block-shadow:0 12px 30px rgba(15,23,42,.055);
  --bwp-block-shadow-soft:0 8px 22px rgba(15,23,42,.04);
}

body.has-side-menu:not(.bingo-screen) :is(
  .card,
  .hero-card,
  .seller-card,
  .manage-card,
  .event-filter,
  .rounds-panel,
  .history-panel,
  .section,
  .seller-list,
  .admin-summary-panel,
  .clients-list-card,
  .top-column-card
){
  width:100%!important;
  margin:0 0 var(--bwp-block-gap)!important;
  padding:var(--bwp-block-padding-y) var(--bwp-block-padding-x)!important;
  border:1px solid var(--bwp-block-border)!important;
  border-radius:var(--bwp-block-radius)!important;
  background:#fff!important;
  box-shadow:var(--bwp-block-shadow)!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .report-shell,
  .resume-card,
  .finance-metric,
  .metric,
  .quick-card
){
  border:1px solid var(--bwp-block-border)!important;
  border-radius:var(--bwp-block-radius)!important;
  background:#fff!important;
  box-shadow:var(--bwp-block-shadow-soft)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.seller-card.compact,.event-current-card){
  padding:12px 14px!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .card h2,
  .hero-card h2,
  .seller-card h2,
  .manage-card h2,
  .rounds-panel h2,
  .history-panel h2,
  .section h2,
  .admin-summary-panel h2,
  .clients-list-card h2,
  .top-column-card h2
){
  margin:0 0 14px!important;
  color:var(--dash-text,#172033)!important;
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .quick-grid,
  .logs-grid,
  .finance-metrics,
  .daily-settings-grid,
  .forms
){
  gap:var(--bwp-block-gap)!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) :is(
    .card,
    .hero-card,
    .seller-card,
    .manage-card,
    .event-filter,
    .rounds-panel,
    .history-panel,
    .section,
    .seller-list,
    .admin-summary-panel,
    .clients-list-card,
    .top-column-card
  ){
    margin-bottom:12px!important;
    padding:var(--bwp-block-padding-y-mobile) var(--bwp-block-padding-x-mobile)!important;
    border-radius:var(--bwp-block-radius-mobile)!important;
    box-shadow:0 10px 24px rgba(15,23,42,.05)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .report-shell,
    .resume-card,
    .finance-metric,
    .metric,
    .quick-card
  ){
    border-radius:var(--bwp-block-radius-mobile)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.seller-card.compact,.event-current-card){
    padding:12px 14px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .card h2,
    .hero-card h2,
    .seller-card h2,
    .manage-card h2,
    .rounds-panel h2,
    .history-panel h2,
    .section h2,
    .admin-summary-panel h2,
    .clients-list-card h2,
    .top-column-card h2
  ){
    margin-bottom:12px!important;
    font-size:20px!important;
    line-height:1.15!important;
  }
}

/* Padrão definitivo: títulos autenticados ficam soltos sobre o canvas. */
body.has-side-menu:not(.bingo-screen) :is(
  .header,
  .client-top,
  .seller-head,
  .finance-top,
  .report-toolbar,
  .page-heading
){
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Desktop: centraliza o dashboard dentro da área útil restante após a sidebar. */
@media(min-width:861px){
  body.has-side-menu:not(.bingo-screen){
    padding-left:var(--dash-sidebar-width)!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .wrap,
    .client-wrap,
    .seller-wrap,
    .finance-app,
    .page,
    .report-page
  ){
    width:min(1460px,calc(100% - 56px))!important;
    max-width:1460px!important;
    margin:0 auto!important;
  }
}

/* Cabeçalho padronizado para páginas com menu lateral.
   Desktop: título limpo, sem botão ao lado.
   Mobile: botão do menu inline ao lado do título, sem usar .menu-fab. */
.bwp-standard-header-page>button.menu-fab{display:none!important}
.bwp-page-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  min-height:48px!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.bwp-page-title-row{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.bwp-page-menu{
  display:none!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--dash-primary,#16a765)!important;
  color:#fff!important;
  font:900 22px/1 Arial,sans-serif!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  box-shadow:0 6px 14px rgba(22,167,101,.22)!important;
  cursor:pointer!important;
  flex:0 0 auto!important;
}
.bwp-page-title-block{min-width:0!important}
.bwp-page-title-block h1,.bwp-page-head>h1{
  margin:0!important;
  color:var(--dash-text,#061421)!important;
  font-size:28px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.bwp-page-title-block p{
  margin:6px 0 0!important;
  color:#64748b!important;
  font-size:14px!important;
  line-height:1.25!important;
}
.bwp-page-head .bwp-page-side{justify-self:end!important}
@media(max-width:860px){
  .bwp-page-head{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    min-height:44px!important;
    margin:0 0 12px!important;
  }
  .bwp-page-menu{display:inline-flex!important}
  .bwp-page-title-block h1,.bwp-page-head>h1{font-size:24px!important}
  .bwp-page-title-block p{font-size:13px!important}
}

/* BWP Global Page Standard
   Camada final para manter as paginas autenticadas com o mesmo tamanho,
   alinhamento, hierarquia de titulos e blocos. */
:root{
  --bwp-page-max:1360px;
  --bwp-page-gutter:28px;
  --bwp-page-pad-top:28px;
  --bwp-page-pad-bottom:48px;
  --bwp-section-gap:18px;
  --bwp-card-radius:12px;
}

@media(min-width:861px){
  body.has-side-menu:not(.bingo-screen){
    padding-left:var(--dash-sidebar-width)!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .wrap,
    .client-wrap,
    .seller-wrap,
    .finance-app,
    .finance-dashboard,
    .manage-wrap,
    .report-page,
    .page
  ){
    width:min(var(--bwp-page-max),calc(100% - (var(--bwp-page-gutter) * 2)))!important;
    max-width:var(--bwp-page-max)!important;
    min-height:100vh!important;
    margin:0 auto!important;
    padding:var(--bwp-page-pad-top) var(--bwp-page-gutter) var(--bwp-page-pad-bottom)!important;
    background:var(--dash-canvas)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
}

body.has-side-menu:not(.bingo-screen) :is(
  .page-heading,
  .client-top,
  .header,
  .seller-head,
  .finance-heading,
  .finance-top,
  .report-toolbar,
  .bwp-page-head
){
  width:100%!important;
  min-height:52px!important;
  margin:0 0 var(--bwp-section-gap)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.has-side-menu:not(.bingo-screen) :is(.page-heading,.client-top,.header,.finance-heading,.finance-top,.report-toolbar,.bwp-page-head){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
}

body.has-side-menu:not(.bingo-screen) .seller-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:16px!important;
}

body.has-side-menu:not(.bingo-screen) :is(.page-title-block,.client-brand>div:last-child,.seller-title-block,.finance-title-block,.bwp-page-title-block){
  display:block!important;
  min-width:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .page-title-block h1,
  .client-brand h1,
  .seller-title-block h1,
  .finance-title-block h1,
  .report-toolbar h1,
  .bwp-page-title-block h1,
  .header .brand,
  .finance-title
){
  margin:0!important;
  color:var(--dash-text,#172033)!important;
  font-size:32px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-align:left!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .page-title-block p,
  .client-brand span,
  .seller-title-block p,
  .finance-title-block p,
  .report-toolbar p,
  .bwp-page-title-block p
){
  display:block!important;
  margin:5px 0 0!important;
  color:var(--dash-muted,#6b7688)!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .card,
  .hero-card,
  .seller-card,
  .manage-card,
  .event-filter,
  .finance-metric,
  .rounds-panel,
  .report-shell,
  .history-panel,
  .metric,
  .section,
  .seller-list,
  .resume-card,
  .admin-summary-panel,
  .clients-list-card,
  .top-column-card
){
  border:1px solid var(--dash-border,#e5e9f0)!important;
  border-radius:var(--bwp-card-radius)!important;
  background:#fff!important;
  box-shadow:var(--dash-shadow,0 5px 18px rgba(15,23,42,.045))!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .card,
  .hero-card,
  .seller-card,
  .manage-card,
  .rounds-panel,
  .history-panel,
  .section
){
  padding:20px!important;
  margin:0 0 var(--bwp-section-gap)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.card h2,.hero-card h2,.seller-card h2,.manage-card h2,.rounds-panel h2,.history-panel h2,.section h2){
  margin:0 0 14px!important;
  color:var(--dash-text,#172033)!important;
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(.quick-grid,.logs-grid,.finance-metrics){
  gap:14px!important;
}

body.has-side-menu:not(.bingo-screen) .quick-card,
body.has-side-menu:not(.bingo-screen) .finance-metric,
body.has-side-menu:not(.bingo-screen) .metric{
  min-height:126px!important;
  padding:18px!important;
  border-radius:var(--bwp-card-radius)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.finance-label,.metric span,.resume-text,.cartelas-summary-text){
  letter-spacing:0!important;
}

body.has-side-menu:not(.bingo-screen) .finance-app .finance-top{
  grid-template-columns:minmax(0,1fr)!important;
}

body.has-side-menu:not(.bingo-screen) .finance-app .finance-top>div:empty{
  display:none!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-head>h1{
  margin:0!important;
  color:var(--dash-text,#172033)!important;
  font-size:32px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-align:left!important;
}

body.has-side-menu:not(.bingo-screen) :is(input,select,textarea){
  min-height:42px!important;
  border-radius:9px!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn,button.btn,a.btn,input[type=submit]){
  min-height:40px!important;
  border-radius:9px!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) :is(
    .wrap,
    .client-wrap,
    .seller-wrap,
    .finance-app,
    .finance-dashboard,
    .manage-wrap,
    .report-page,
    .page
  ){
    width:100%!important;
    max-width:680px!important;
    margin:0 auto!important;
    padding:14px 12px 32px!important;
    background:var(--dash-canvas)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(.page-heading,.client-top,.header,.finance-heading,.finance-top,.report-toolbar,.bwp-page-head){
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    min-height:44px!important;
    margin-bottom:12px!important;
    padding-left:54px!important;
  }
  body.has-side-menu:not(.bingo-screen) .seller-head{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    margin-bottom:12px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .page-title-block h1,
    .client-brand h1,
    .seller-title-block h1,
    .finance-title-block h1,
    .report-toolbar h1,
    .bwp-page-title-block h1,
    .header .brand,
    .finance-title,
    .bwp-page-head>h1
  ){
    font-size:24px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(.card,.hero-card,.seller-card,.manage-card,.rounds-panel,.history-panel,.section){
    padding:16px!important;
    margin-bottom:12px!important;
  }
}

/* Padrao global mobile/desktop para paginas com menu lateral.
   O botao do menu vem de bwp_client_menu() como .menu-fab; botoes inline no titulo ficam ocultos. */
body.has-side-menu:not(.bingo-screen) .bwp-page-menu{
  display:none!important;
}

@media(min-width:861px){
  body.has-side-menu:not(.bingo-screen)>button.menu-fab{
    display:none!important;
  }
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen)>button.menu-fab{
    display:flex!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .wrap,
    .client-wrap,
    .seller-wrap,
    .finance-app,
    .finance-dashboard,
    .manage-wrap,
    .report-page,
    .page
  ){
    width:100%!important;
    max-width:680px!important;
    margin:0 auto!important;
    padding:14px 20px 32px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .page-heading,
    .client-top,
    .header,
    .seller-head,
    .finance-heading,
    .finance-top,
    .report-toolbar,
    .bwp-page-head
  ){
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    min-height:54px!important;
    margin:0 0 18px!important;
    padding:0 0 0 46px!important;
    gap:10px!important;
  }
  body.has-side-menu:not(.bingo-screen) .bwp-page-head .bwp-page-side{
    margin-left:auto!important;
    flex:0 0 auto!important;
    align-self:center!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .page-title-block h1,
    .client-brand h1,
    .seller-title-block h1,
    .finance-title-block h1,
    .report-toolbar h1,
    .bwp-page-title-block h1,
    .header .brand,
    .finance-title,
    .bwp-page-head>h1
  ){
    margin:0!important;
    font-size:24px!important;
    line-height:1.05!important;
    letter-spacing:0!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .page-title-block p,
    .client-brand span,
    .seller-title-block p,
    .finance-title-block p,
    .report-toolbar p,
    .bwp-page-title-block p
  ){
    display:none!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(
    .card,
    .hero-card,
    .seller-card,
    .manage-card,
    .event-filter,
    .rounds-panel,
    .history-panel,
    .section,
    .seller-list,
    .resume-card,
    .report-shell
  ){
    padding:20px!important;
    margin:0 0 18px!important;
    border-radius:14px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(.card h2,.hero-card h2,.seller-card h2,.manage-card h2,.rounds-panel h2,.history-panel h2,.section h2){
    font-size:20px!important;
    line-height:1.12!important;
    margin:0 0 14px!important;
  }
  body.has-side-menu:not(.bingo-screen) .hello h2{
    font-size:22px!important;
    line-height:1.12!important;
    margin:0 0 14px!important;
    word-break:normal!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(.grid,.forms,.payment-grid,.admin-client-form,.client-edit-grid){
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.has-side-menu:not(.bingo-screen) label{
    margin:0 0 7px!important;
    font-size:15px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(input,select,textarea){
    min-height:54px!important;
    font-size:16px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(.btn,button.btn,a.btn,input[type=submit]){
    min-height:54px!important;
    font-size:16px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(.actions,.finance-actions,.top-actions,.seller-actions){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.has-side-menu:not(.bingo-screen) :is(.actions form,.btn,button.btn,a.btn){
    width:100%!important;
  }
}

/* Camada final de padronizacao: componentes reutilizados nas paginas internas.
   Esta parte fica no fim para corrigir estilos locais antigos sem mexer pagina por pagina. */
body.has-side-menu:not(.bingo-screen) :is(.bwp-page-title-row,.seller-title-row,.finance-title-row,.client-title-row){
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(.bwp-page-title-block,.seller-title-block,.finance-title-block,.page-title-block,.client-brand){
  min-width:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(.page-title-block p,.client-brand span,.seller-title-block p,.finance-title-block p,.report-toolbar p,.bwp-page-title-block p){
  display:block!important;
  margin:4px 0 0!important;
  color:var(--dash-muted,#64748b)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:600!important;
}

body.has-side-menu:not(.bingo-screen) :is(.sales-badge,.sales-pill,.status-pill,.client-status-pill,.event-state-badge,.log-badge,.feature-pill,.pill){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  border-radius:999px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

body.has-side-menu:not(.bingo-screen) :is(.badge-row,.top-actions,.finance-actions,.seller-actions,.report-actions,.history-filter-actions,.daily-seller-actions){
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}

body.has-side-menu:not(.bingo-screen) :is(.bwp-page-head .bwp-page-side,.seller-head .seller-status-inline,.finance-heading .bwp-page-side){
  margin-left:auto!important;
  flex:0 0 auto!important;
  align-self:center!important;
}

body.has-side-menu:not(.bingo-screen) .seller-head .seller-status-inline>p{
  display:none!important;
}

body.has-side-menu:not(.bingo-screen) :is(.manage-filter form,.payment-grid,.history-filter,.search-paid,.price-card-form,.daily-price-form,.pair-manual,.client-renew-row){
  display:grid!important;
  gap:12px!important;
  align-items:end!important;
}

body.has-side-menu:not(.bingo-screen) :is(.seller-checks,.seller-checks.with-limits,.daily-mode-options,.daily-info-list,.admin-access-grid){
  display:grid!important;
  gap:10px!important;
}

body.has-side-menu:not(.bingo-screen) .seller-check{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:36px!important;
  width:auto!important;
  max-width:max-content!important;
  padding:8px 11px!important;
  border:1px solid var(--dash-border,#dce6ef)!important;
  border-radius:12px!important;
  background:#f7fcf9!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:none!important;
}

body.has-side-menu:not(.bingo-screen) .seller-check input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  display:inline-block!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  margin:0!important;
  padding:0!important;
  accent-color:var(--dash-green,#18a85b)!important;
  box-shadow:none!important;
}

body.has-side-menu:not(.bingo-screen) .seller-limit{
  width:76px!important;
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
  padding:4px 8px!important;
  border-radius:8px!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table){
  width:100%!important;
  overflow:auto!important;
  border-radius:14px!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table) table{
  width:100%!important;
  border-collapse:collapse!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table) th{
  background:#f1f6f9!important;
  color:#24435f!important;
  font-size:13px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table) th,
body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table) td{
  padding:13px 14px!important;
  border-bottom:1px solid #e3ebef!important;
  text-align:left!important;
  vertical-align:middle!important;
}

@media(min-width:861px){
  body.has-side-menu:not(.bingo-screen) .menu-fab-inline{
    display:none!important;
  }

  body.has-side-menu:not(.bingo-screen) .bwp-page-head .bwp-page-side{
    margin-left:auto!important;
    flex:0 0 auto!important;
  }

  body.has-side-menu:not(.bingo-screen) .manage-filter form{
    grid-template-columns:minmax(0,1fr) auto auto auto!important;
  }

  body.has-side-menu:not(.bingo-screen) .payment-grid{
    grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(240px,1.6fr) auto!important;
  }
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) :is(.bwp-page-title-row,.seller-title-row,.finance-title-row,.client-title-row){
    gap:8px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .page-heading,
    .client-top,
    .header,
    .seller-head,
    .finance-heading,
    .finance-top,
    .report-toolbar,
    .bwp-page-head
  ){
    margin-top:-4px!important;
    margin-bottom:14px!important;
    min-height:50px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.manage-page-head,.bwp-page-head){
    justify-content:flex-start!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.sales-badge,.sales-pill,.status-pill,.client-status-pill,.event-state-badge,.log-badge,.feature-pill,.pill){
    min-height:30px!important;
    padding:7px 10px!important;
    font-size:12px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.badge-row,.top-actions,.finance-actions,.seller-actions,.report-actions,.history-filter-actions,.daily-seller-actions){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }

  body.has-side-menu:not(.bingo-screen) .bwp-page-head .bwp-page-side{
    margin-left:auto!important;
    justify-self:end!important;
    flex:0 0 auto!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.seller-head .seller-status-inline,.finance-heading .bwp-page-side){
    margin-left:auto!important;
    justify-self:end!important;
    flex:0 0 auto!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.manage-filter form,.payment-grid,.history-filter,.search-paid,.price-card-form,.daily-price-form,.pair-manual,.client-renew-row){
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:10px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.manage-filter .btn,.payment-grid .btn,.history-filter .btn,.search-paid .btn,.price-card-form .btn,.daily-price-form .btn,.pair-manual .btn){
    width:100%!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.quick-grid,.logs-grid,.finance-metrics,.seller-stats-grid,.summary){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.seller-checks,.seller-checks.with-limits,.daily-mode-options,.daily-info-list,.admin-access-grid){
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.has-side-menu:not(.bingo-screen) .seller-check{
    width:100%!important;
    max-width:none!important;
    justify-content:flex-start!important;
    padding:9px 10px!important;
    font-size:13px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table){
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table) table{
    min-width:720px!important;
  }
}

@media(max-width:420px){
  body.has-side-menu:not(.bingo-screen) :is(.quick-grid,.logs-grid,.finance-metrics,.seller-stats-grid,.summary){
    grid-template-columns:1fr!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.sales-badge,.sales-pill,.status-pill,.client-status-pill,.event-state-badge,.log-badge,.feature-pill,.pill){
    font-size:11px!important;
  }
}

/* Padrao global unico do menu lateral.
   Replica o menu funcional usado em /bingo/cartelas.php; cada pagina muda apenas os links. */
body.has-side-menu:not(.bingo-screen) .side-menu{
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  z-index:10000!important;
  width:var(--dash-sidebar-width,244px)!important;
  padding:20px 12px!important;
  background:var(--dash-sidebar,#111827)!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  overflow-y:auto!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  min-height:40px!important;
  margin:0 4px 20px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu-title .bwp-menu-logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  margin:0!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--dash-primary,#16a765)!important;
  color:#fff!important;
  box-shadow:none!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu-title .bwp-menu-logo .bwp-icon{
  width:18px!important;
  height:18px!important;
  stroke-width:1.9!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu-title>span:not(.bwp-menu-logo){
  display:block!important;
  min-width:0!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a,
body.has-side-menu:not(.bingo-screen) .side-menu button{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:39px!important;
  margin:0 0 4px!important;
  padding:9px 10px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#cbd5e1!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a:hover,
body.has-side-menu:not(.bingo-screen) .side-menu button:hover{
  background:var(--dash-sidebar-soft,#1f2937)!important;
  color:#fff!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a.active,
body.has-side-menu:not(.bingo-screen) .side-menu button.active{
  background:rgba(22,167,101,.18)!important;
  color:#7ce6ae!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a.danger,
body.has-side-menu:not(.bingo-screen) .side-menu button.danger{
  margin-top:12px!important;
  background:rgba(239,68,68,.08)!important;
  color:#fca5a5!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu .side-submenu-items{
  padding:4px 0 5px 12px!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu .side-submenu-items a{
  min-height:38px!important;
  font-size:12px!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) .side-menu{
    width:min(84vw,286px)!important;
    padding:20px 12px!important;
    transform:translateX(-104%)!important;
    box-shadow:18px 0 45px rgba(15,23,42,.22)!important;
  }

  body.has-side-menu:not(.bingo-screen) .side-menu.open{
    transform:translateX(0)!important;
  }

  body.has-side-menu:not(.bingo-screen) .side-menu-title{
    min-height:40px!important;
    margin:0 4px 20px!important;
    padding:0!important;
    gap:10px!important;
  }
}

/* Padrao global de cabecalho de pagina.
   Use bwp_page_header() no PHP para manter titulo, subtitulo e badge alinhados em todas as paginas. */
body.has-side-menu:not(.bingo-screen) .bwp-page-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:16px!important;
  row-gap:6px!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:0!important;
  text-align:left!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-title-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:0!important;
  min-width:0!important;
  width:auto!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-title-block{
  min-width:0!important;
  width:auto!important;
  text-align:left!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-title-block h1{
  margin:0!important;
  color:var(--dash-text,#0f172a)!important;
  font-size:28px!important;
  font-weight:950!important;
  line-height:1.05!important;
  letter-spacing:0!important;
  white-space:normal!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-title-block p{
  display:block!important;
  margin:4px 0 0!important;
  color:var(--dash-muted,#64748b)!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.25!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-side{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:auto!important;
  max-width:max-content!important;
  margin:0 0 0 auto!important;
  justify-self:end!important;
  align-self:start!important;
  white-space:nowrap!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-badge{
  border-radius:999px!important;
  padding:7px 11px!important;
  border:1px solid #bbf7d0!important;
  background:#ecfdf5!important;
  color:#047857!important;
  font-size:12px!important;
  font-weight:950!important;
  line-height:1!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-badge.closed,
body.has-side-menu:not(.bingo-screen) .bwp-page-badge.bad{
  border-color:#fecaca!important;
  background:#fff1f2!important;
  color:#be123c!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) :is(
    .page-heading,
    .client-top,
    .header,
    .seller-head,
    .finance-heading,
    .finance-top,
    .report-toolbar,
    .bwp-page-head
  ){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    column-gap:10px!important;
    row-gap:2px!important;
    min-height:54px!important;
    width:100%!important;
    margin:0 0 18px!important;
    padding:0 0 0 44px!important;
    text-align:left!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .page-title-block,
    .client-brand,
    .seller-title-row,
    .finance-title-block,
    .bwp-page-title-row,
    .report-toolbar>div:first-child
  ){
    grid-column:1!important;
    min-width:0!important;
    width:auto!important;
    justify-self:start!important;
    align-self:start!important;
    text-align:left!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .page-title-block h1,
    .client-brand h1,
    .seller-title-block h1,
    .finance-title-block h1,
    .report-toolbar h1,
    .bwp-page-title-block h1,
    .header .brand,
    .finance-title,
    .bwp-page-head>h1
  ){
    margin:0!important;
    font-size:22px!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    text-align:left!important;
    white-space:normal!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .page-title-block p,
    .client-brand span,
    .seller-title-block p,
    .finance-title-block p,
    .bwp-page-title-block p,
    .report-toolbar p
  ){
    display:block!important;
    margin:3px 0 0!important;
    color:var(--dash-muted,#64748b)!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.2!important;
    text-align:left!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.bwp-page-title-row,.seller-title-row,.finance-title-row,.client-title-row){
    display:flex!important;
    align-items:flex-start!important;
    gap:0!important;
    width:auto!important;
    flex:initial!important;
    min-width:0!important;
  }

  body.has-side-menu:not(.bingo-screen) .menu-fab-inline{
    display:none!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .seller-head .seller-status-inline,
    .bwp-page-head .bwp-page-side,
    .finance-heading .bwp-page-side
  ){
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    max-width:max-content!important;
    margin:0 0 0 auto!important;
    flex:0 0 auto!important;
    align-self:start!important;
    justify-self:end!important;
    justify-content:flex-end!important;
    white-space:nowrap!important;
  }

  body.has-side-menu:not(.bingo-screen) .seller-head .seller-status-inline>p{
    display:none!important;
  }

  body.has-side-menu:not(.bingo-screen) .bwp-page-head{
    column-gap:10px!important;
    row-gap:2px!important;
    min-height:54px!important;
    padding:0 0 0 44px!important;
    align-items:start!important;
  }

  body.has-side-menu:not(.bingo-screen) .bwp-page-title-block h1{
    font-size:22px!important;
  }

  body.has-side-menu:not(.bingo-screen) .bwp-page-title-block p{
    margin-top:3px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }

  body.has-side-menu:not(.bingo-screen) .bwp-page-side{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    justify-self:end!important;
    max-width:max-content!important;
  }
}

/* Etapa 2: fonte global final do menu lateral.
   O HTML do menu vem de bwp_side_menu_render() e o comportamento vem de assets/saas-pro.js. */
body.has-side-menu:not(.bingo-screen)>button.menu-fab{
  position:fixed!important;
  left:14px!important;
  top:14px!important;
  z-index:10001!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--dash-primary,#16a765)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(22,167,101,.22)!important;
}

body.has-side-menu:not(.bingo-screen)>.side-menu{
  position:fixed!important;
  inset:0 auto 0 0!important;
  z-index:10000!important;
  width:var(--dash-sidebar-width,244px)!important;
  padding:20px 12px!important;
  background:var(--dash-sidebar,#111827)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
  overflow-y:auto!important;
  transition:transform .24s ease!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu-title{
  display:flex!important;
  align-items:center!important;
  min-height:40px!important;
  gap:10px!important;
  margin:0 4px 20px!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  font:900 15px/1.2 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:0!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu-title .bwp-menu-logo{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:9px!important;
  background:var(--dash-primary,#16a765)!important;
  color:#fff!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a,
body.has-side-menu:not(.bingo-screen) .side-menu button{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:39px!important;
  margin:0 0 4px!important;
  padding:9px 10px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#cbd5e1!important;
  text-align:left!important;
  text-decoration:none!important;
  font:700 13px/1.2 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a:hover,
body.has-side-menu:not(.bingo-screen) .side-menu button:hover{
  background:var(--dash-sidebar-soft,#1f2937)!important;
  color:#fff!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a.active,
body.has-side-menu:not(.bingo-screen) .side-menu button.active{
  background:rgba(22,167,101,.18)!important;
  color:#7ce6ae!important;
}

body.has-side-menu:not(.bingo-screen) .side-menu a.danger,
body.has-side-menu:not(.bingo-screen) .side-menu button.danger{
  margin-top:12px!important;
  background:rgba(239,68,68,.08)!important;
  color:#fca5a5!important;
}

body.has-side-menu:not(.bingo-screen) .side-submenu{
  margin:0 0 4px!important;
}

body.has-side-menu:not(.bingo-screen) .side-submenu-items{
  display:none!important;
  padding:4px 0 5px 12px!important;
}

body.has-side-menu:not(.bingo-screen) .side-submenu.open .side-submenu-items{
  display:block!important;
}

body.has-side-menu:not(.bingo-screen) .side-submenu>.side-submenu-toggle:after{
  display:none!important;
  content:none!important;
}

body.has-side-menu:not(.bingo-screen) .side-submenu-toggle .bwp-chevron{
  margin-left:auto!important;
  transition:transform .18s ease!important;
}

body.has-side-menu:not(.bingo-screen) .side-submenu.open>.side-submenu-toggle .bwp-chevron{
  transform:rotate(180deg)!important;
}

body.has-side-menu:not(.bingo-screen) .bwp-page-side :is(a,.btn,button){
  display:inline-flex!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen)>button.menu-fab{
    display:flex!important;
  }

  body.has-side-menu:not(.bingo-screen)>.side-menu{
    width:min(84vw,286px)!important;
    transform:translateX(-104%)!important;
    box-shadow:18px 0 45px rgba(15,23,42,.22)!important;
  }

  body.has-side-menu:not(.bingo-screen)>.side-menu.open{
    transform:translateX(0)!important;
  }

  body.has-side-menu:not(.bingo-screen) .side-menu-title{
    min-height:42px!important;
    margin:0 0 16px!important;
    padding:0 8px 0 54px!important;
  }

  body.has-side-menu:not(.bingo-screen) .side-menu-title .bwp-menu-logo{
    display:none!important;
  }
}

/* Etapa 5: padrao global de botoes, inputs e selects.
   Ajuste estes tokens para alterar campos e botoes em todas as paginas com menu lateral. */
:root{
  --bwp-control-height:44px;
  --bwp-control-radius:12px;
  --bwp-control-padding-x:13px;
  --bwp-control-border:#cfe0d7;
  --bwp-control-border-focus:#18a85b;
  --bwp-control-shadow-focus:0 0 0 4px rgba(22,167,101,.12);
  --bwp-button-height:42px;
  --bwp-button-radius:10px;
  --bwp-button-padding-x:16px;
}

body.has-side-menu:not(.bingo-screen) :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
){
  width:100%!important;
  min-height:var(--bwp-control-height)!important;
  padding:10px var(--bwp-control-padding-x)!important;
  border:1px solid var(--bwp-control-border)!important;
  border-radius:var(--bwp-control-radius)!important;
  background:#fff!important;
  color:var(--dash-text,#172033)!important;
  font:800 14px/1.25 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:0!important;
  box-shadow:none!important;
  outline:none!important;
}

body.has-side-menu:not(.bingo-screen) textarea{
  min-height:96px!important;
  resize:vertical!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea
):focus{
  border-color:var(--bwp-control-border-focus)!important;
  box-shadow:var(--bwp-control-shadow-focus)!important;
}

body.has-side-menu:not(.bingo-screen) :is(input,textarea)::placeholder{
  color:#9aa7b8!important;
  opacity:1!important;
}

body.has-side-menu:not(.bingo-screen) label{
  margin:0 0 6px!important;
  color:var(--dash-text,#172033)!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn,button.btn,a.btn,input[type="submit"]){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:var(--bwp-button-height)!important;
  padding:10px var(--bwp-button-padding-x)!important;
  border:1px solid transparent!important;
  border-radius:var(--bwp-button-radius)!important;
  background:var(--dash-primary,#16a765)!important;
  color:#fff!important;
  font:900 13px/1.15 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn,button.btn,a.btn,input[type="submit"]):hover{
  background:var(--dash-primary-dark,#087a3e)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  filter:none!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn.light,.btn.dark,.logout-btn){
  background:#fff!important;
  color:var(--dash-text,#172033)!important;
  border-color:var(--bwp-control-border)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn.light,.btn.dark,.logout-btn):hover{
  background:#f8fafc!important;
  color:var(--dash-text,#172033)!important;
  border-color:#b8c9bf!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn.green,.purple,.btn-add,.btn-sales-start){
  background:var(--dash-primary,#16a765)!important;
  color:#fff!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn.red,.btn.danger,.danger.btn,.btn-remove,.btn-red-action,.btn-sales-close,.btn-finalize){
  background:var(--dash-danger,#ef4444)!important;
  color:#fff!important;
  border-color:transparent!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn.red,.btn.danger,.danger.btn,.btn-remove,.btn-red-action,.btn-sales-close,.btn-finalize):hover{
  background:var(--dash-danger-dark,#b42318)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.btn[disabled],button[disabled],input[type="submit"][disabled]){
  opacity:.48!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  transform:none!important;
}

body.has-side-menu:not(.bingo-screen) .btn-mini{
  width:46px!important;
  height:44px!important;
  min-width:46px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:10px!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen){
    --bwp-control-height:46px;
    --bwp-button-height:46px;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .actions .btn,
    .actions button.btn,
    .actions a.btn,
    .form-action .btn,
    .manage-filter .btn,
    .payment-grid .btn,
    .history-filter .btn,
    .search-paid .btn,
    .price-card-form .btn,
    .daily-price-form .btn,
    .pair-manual .btn
  ){
    width:100%!important;
  }
}

/* Etapa 6: padrao global de tabelas e scroll mobile.
   Ajuste estes tokens para alterar tabelas em todas as paginas com menu lateral. */
:root{
  --bwp-table-radius:14px;
  --bwp-table-border:#dfe8e3;
  --bwp-table-head-bg:#f3f7f5;
  --bwp-table-head-text:#536174;
  --bwp-table-row-border:#e8f0eb;
  --bwp-table-cell-y:12px;
  --bwp-table-cell-x:14px;
  --bwp-table-min-mobile:680px;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table){
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:1px solid var(--bwp-table-border)!important;
  border-radius:var(--bwp-table-radius)!important;
  background:#fff!important;
  box-shadow:none!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table)::-webkit-scrollbar,
body.has-side-menu:not(.bingo-screen) :is(.card,.seller-card,.hero-card) > table::-webkit-scrollbar{
  height:8px!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table)::-webkit-scrollbar-thumb,
body.has-side-menu:not(.bingo-screen) :is(.card,.seller-card,.hero-card) > table::-webkit-scrollbar-thumb{
  border-radius:999px!important;
  background:#c4d2ca!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table)::-webkit-scrollbar-track,
body.has-side-menu:not(.bingo-screen) :is(.card,.seller-card,.hero-card) > table::-webkit-scrollbar-track{
  background:#eef3f0!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .table-scroll table,
  .manage-table table,
  .card > table,
  .seller-card > table,
  .hero-card > table
){
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  table-layout:auto!important;
}

body.has-side-menu:not(.bingo-screen) :is(.card,.seller-card,.hero-card) > table{
  display:table!important;
  overflow:visible!important;
  border:1px solid var(--bwp-table-border)!important;
  border-radius:var(--bwp-table-radius)!important;
  box-shadow:none!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .table-scroll th,
  .manage-table th,
  .card > table th,
  .seller-card > table th,
  .hero-card > table th
){
  padding:var(--bwp-table-cell-y) var(--bwp-table-cell-x)!important;
  border:0!important;
  border-bottom:1px solid var(--bwp-table-border)!important;
  background:var(--bwp-table-head-bg)!important;
  color:var(--bwp-table-head-text)!important;
  font:900 12px/1.2 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .table-scroll td,
  .manage-table td,
  .card > table td,
  .seller-card > table td,
  .hero-card > table td
){
  padding:var(--bwp-table-cell-y) var(--bwp-table-cell-x)!important;
  border:0!important;
  border-bottom:1px solid var(--bwp-table-row-border)!important;
  background:#fff!important;
  color:var(--dash-text,#172033)!important;
  font:600 13px/1.35 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  text-align:left!important;
  vertical-align:middle!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .table-scroll tr:last-child td,
  .manage-table tr:last-child td,
  .card > table tr:last-child td,
  .seller-card > table tr:last-child td,
  .hero-card > table tr:last-child td
){
  border-bottom:0!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .table-scroll tbody tr:hover td,
  .manage-table tbody tr:hover td,
  .card > table tbody tr:hover td,
  .seller-card > table tbody tr:hover td,
  .hero-card > table tbody tr:hover td
){
  background:#fbfefc!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll td[colspan],.manage-table td[colspan],.card > table td[colspan],.seller-card > table td[colspan]){
  color:#536174!important;
  font-weight:700!important;
}

body.has-side-menu:not(.bingo-screen) :is(.table-scroll .btn,.manage-table .btn,.card > table .btn,.seller-card > table .btn){
  min-height:34px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  font-size:12px!important;
  white-space:nowrap!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen){
    --bwp-table-cell-y:11px;
    --bwp-table-cell-x:12px;
  }

  body.has-side-menu:not(.bingo-screen) :is(.table-scroll,.manage-table){
    margin-left:0!important;
    margin-right:0!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .table-scroll table,
    .manage-table table
  ){
    min-width:var(--bwp-table-min-mobile)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.card,.seller-card,.hero-card):has(> table){
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.card,.seller-card,.hero-card) > table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .table-scroll th,
    .manage-table th,
    .card > table th,
    .seller-card > table th,
    .hero-card > table th
  ){
    font-size:12px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .table-scroll td,
    .manage-table td,
    .card > table td,
    .seller-card > table td,
    .hero-card > table td
  ){
    font-size:12px!important;
    white-space:nowrap!important;
  }

  /* Mobile: mantem o scroll horizontal das tabelas, mas oculta a barra visual. */
  body.has-side-menu:not(.bingo-screen) :is(
    .table-scroll,
    .manage-table,
    .card:has(> table),
    .seller-card:has(> table),
    .hero-card:has(> table),
    table,
    .card > table,
    .seller-card > table,
    .hero-card > table
  ){
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .table-scroll,
    .manage-table,
    .card:has(> table),
    .seller-card:has(> table),
    .hero-card:has(> table),
    table,
    .card > table,
    .seller-card > table,
    .hero-card > table
  )::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }
}

@media(max-width:420px){
  body.has-side-menu:not(.bingo-screen){
    --bwp-table-min-mobile:620px;
  }
}

/* Etapa 7: padrao global de grids e espacamentos.
   Ajuste estes tokens para alterar largura das paginas, gutters e distancias entre secoes. */
:root{
  --bwp-layout-max:1360px;
  --bwp-layout-gutter-desktop:28px;
  --bwp-layout-gutter-tablet:18px;
  --bwp-layout-gutter-mobile:14px;
  --bwp-layout-top-desktop:28px;
  --bwp-layout-top-mobile:14px;
  --bwp-layout-bottom:48px;
  --bwp-section-space:16px;
  --bwp-section-space-mobile:12px;
  --bwp-grid-gap:14px;
  --bwp-grid-gap-mobile:10px;
}

@media(min-width:861px){
  body.has-side-menu:not(.bingo-screen) :is(
    .wrap,
    .client-wrap,
    .admin-clients-wrap,
    .seller-wrap,
    .finance-app,
    .finance-dashboard,
    .manage-wrap,
    .report-page,
    .page
  ){
    width:min(var(--bwp-layout-max),calc(100% - (var(--bwp-layout-gutter-desktop) * 2)))!important;
    max-width:var(--bwp-layout-max)!important;
    margin:0 auto!important;
    padding:var(--bwp-layout-top-desktop) var(--bwp-layout-gutter-desktop) var(--bwp-layout-bottom)!important;
  }
}

body.has-side-menu:not(.bingo-screen) :is(
  .page-heading,
  .client-top,
  .header,
  .seller-head,
  .finance-heading,
  .finance-top,
  .report-toolbar,
  .bwp-page-head
){
  margin-bottom:var(--bwp-section-space)!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .card,
  .hero-card,
  .seller-card,
  .manage-card,
  .event-filter,
  .rounds-panel,
  .history-panel,
  .section,
  .seller-list,
  .admin-summary-panel,
  .clients-list-card,
  .top-column-card,
  .report-shell
){
  margin-bottom:var(--bwp-section-space)!important;
}

body.has-side-menu:not(.bingo-screen) :is(
  .quick-grid,
  .logs-grid,
  .finance-metrics,
  .daily-settings-grid,
  .daily-info-list,
  .seller-stats-grid,
  .summary,
  .forms,
  .grid,
  .admin-client-form,
  .client-edit-grid,
  .payment-grid,
  .manage-filter,
  .history-filter,
  .price-card-form,
  .daily-price-form,
  .seller-checks,
  .seller-checks.with-limits,
  .admin-access-grid
){
  gap:var(--bwp-grid-gap)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.quick-grid,.logs-grid,.finance-metrics,.daily-settings-grid,.summary){
  align-items:stretch!important;
}

body.has-side-menu:not(.bingo-screen) :is(.forms,.grid,.admin-client-form,.client-edit-grid,.payment-grid,.manage-filter,.history-filter){
  align-items:end!important;
}

body.has-side-menu:not(.bingo-screen) :is(.actions,.top-actions,.history-filter-actions,.report-actions,.seller-actions){
  gap:10px!important;
}

body.has-side-menu:not(.bingo-screen) :is(.alert,.notice-ok,.notice-err){
  margin-bottom:var(--bwp-section-space)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.finance-metrics,.quick-grid,.summary) + :is(.rounds-panel,.card,.section,.hero-card){
  margin-top:var(--bwp-section-space)!important;
}

body.has-side-menu:not(.bingo-screen) :is(.card,.hero-card,.seller-card,.manage-card,.section) > :last-child{
  margin-bottom:0!important;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) :is(
    .wrap,
    .client-wrap,
    .admin-clients-wrap,
    .seller-wrap,
    .finance-app,
    .finance-dashboard,
    .manage-wrap,
    .report-page,
    .page
  ){
    width:100%!important;
    max-width:680px!important;
    margin:0 auto!important;
    padding:var(--bwp-layout-top-mobile) var(--bwp-layout-gutter-mobile) var(--bwp-layout-bottom)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .page-heading,
    .client-top,
    .header,
    .seller-head,
    .finance-heading,
    .finance-top,
    .report-toolbar,
    .bwp-page-head
  ){
    margin-bottom:var(--bwp-section-space-mobile)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .card,
    .hero-card,
    .seller-card,
    .manage-card,
    .event-filter,
    .rounds-panel,
    .history-panel,
    .section,
    .seller-list,
    .admin-summary-panel,
    .clients-list-card,
    .top-column-card,
    .report-shell
  ){
    margin-bottom:var(--bwp-section-space-mobile)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .quick-grid,
    .logs-grid,
    .finance-metrics,
    .daily-settings-grid,
    .daily-info-list,
    .seller-stats-grid,
    .summary,
    .forms,
    .grid,
    .admin-client-form,
    .client-edit-grid,
    .payment-grid,
    .manage-filter,
    .history-filter,
    .price-card-form,
    .daily-price-form,
    .seller-checks,
    .seller-checks.with-limits,
    .admin-access-grid
  ){
    gap:var(--bwp-grid-gap-mobile)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.forms,.grid,.admin-client-form,.client-edit-grid,.payment-grid,.manage-filter,.history-filter){
    align-items:stretch!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.finance-metrics,.quick-grid,.summary) + :is(.rounds-panel,.card,.section,.hero-card){
    margin-top:var(--bwp-section-space-mobile)!important;
  }
}

@media(max-width:420px){
  body.has-side-menu:not(.bingo-screen){
    --bwp-layout-gutter-mobile:12px;
  }
}

/* Ajuste global: respiro do titulo ao lado do botao de menu no mobile.
   Altere --bwp-mobile-title-offset e --bwp-mobile-title-top para ajustar todos os titulos de uma vez. */
:root{
  --bwp-mobile-title-offset:50px;
  --bwp-mobile-title-top:0px;
}

@media(max-width:860px){
  body.has-side-menu:not(.bingo-screen) :is(
    .page-heading,
    .client-top,
    .header,
    .seller-head,
    .finance-heading,
    .finance-top,
    .report-toolbar,
    .bwp-page-head
  ){
    padding-left:var(--bwp-mobile-title-offset)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .bwp-page-title-row,
    .client-brand,
    .seller-title-row,
    .finance-title-row,
    .report-toolbar>div:first-child
  ){
    align-items:flex-start!important;
    transform:translateY(var(--bwp-mobile-title-top))!important;
  }
}

/* Etapa 8: padrao global de mensagens, badges e estados visuais.
   Ajuste estes tokens para alterar alertas, status, textos auxiliares e estados vazios. */
:root{
  --bwp-message-radius:12px;
  --bwp-message-padding-y:11px;
  --bwp-message-padding-x:13px;
  --bwp-message-gap:8px;
  --bwp-badge-height:28px;
  --bwp-badge-padding-x:10px;
  --bwp-badge-radius:999px;
  --bwp-help-color:#64748b;
  --bwp-empty-border:#d7e2dc;
  --bwp-empty-bg:#fbfefc;
}

@media screen{
  body.has-side-menu:not(.bingo-screen) :is(
    .alert,
    .notice-ok,
    .notice-err
  ){
    display:flex!important;
    align-items:center!important;
    gap:var(--bwp-message-gap)!important;
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    margin:0 0 var(--bwp-section-space,16px)!important;
    padding:var(--bwp-message-padding-y) var(--bwp-message-padding-x)!important;
    border-radius:var(--bwp-message-radius)!important;
    font:800 13px/1.35 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    box-shadow:none!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.alert.ok,.notice-ok){
    border:1px solid #bdebd0!important;
    background:var(--dash-primary-soft,#ecfdf3)!important;
    color:var(--dash-primary-dark,#087a3e)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.alert.bad,.notice-err){
    border:1px solid #fecdd3!important;
    background:var(--dash-danger-soft,#fff1f2)!important;
    color:#b4232f!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.alert,.notice-ok,.notice-err) .bwp-icon{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    flex:0 0 auto!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .sales-badge,
    .sales-pill,
    .status-pill,
    .client-status-pill,
    .event-state-badge,
    .migration-status,
    .log-badge,
    .feature-pill,
    .pill,
    .status-ok,
    .status-bad,
    .bwp-page-badge
  ){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:var(--bwp-badge-height)!important;
    margin:0!important;
    padding:6px var(--bwp-badge-padding-x)!important;
    border:1px solid #bdebd0!important;
    border-radius:var(--bwp-badge-radius)!important;
    background:var(--dash-primary-soft,#ecfdf3)!important;
    color:var(--dash-primary-dark,#087a3e)!important;
    font:900 11px/1 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .status-pill.bad,
    .client-status-pill.bad,
    .sales-pill.closed,
    .sales-badge.closed,
    .status-bad,
    .bwp-page-badge.bad,
    .bwp-page-badge.closed
  ){
    border-color:#fecdd3!important;
    background:var(--dash-danger-soft,#fff1f2)!important;
    color:#b4232f!important;
  }

  body.has-side-menu:not(.bingo-screen) .migration-status.pending{
    border-color:#fed7aa!important;
    background:var(--dash-warning-soft,#fff7ed)!important;
    color:#9a3412!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.feature-pill.off,.event-state-badge.finished){
    border-color:#e2e8f0!important;
    background:var(--dash-neutral-soft,#f8fafc)!important;
    color:var(--dash-neutral,#64748b)!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .muted,
    .muted-small,
    .mini,
    .log-meta,
    .muted-dash,
    .footer-note
  ){
    color:var(--bwp-help-color)!important;
    font-weight:600!important;
    letter-spacing:0!important;
    line-height:1.4!important;
  }

  body.has-side-menu:not(.bingo-screen) .muted-small{
    font-size:12px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.empty,.blocked){
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:13px 14px!important;
    border:1px dashed var(--bwp-empty-border)!important;
    border-radius:var(--bwp-message-radius)!important;
    background:var(--bwp-empty-bg)!important;
    color:var(--bwp-help-color)!important;
    font:700 13px/1.4 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
    letter-spacing:0!important;
    overflow-wrap:anywhere!important;
    box-shadow:none!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.bwp-page-side,.badge-row){
    min-width:0!important;
    max-width:100%!important;
  }
}

@media screen and (max-width:860px){
  body.has-side-menu:not(.bingo-screen) :is(.alert,.notice-ok,.notice-err){
    margin-bottom:var(--bwp-section-space-mobile,12px)!important;
    padding:10px 12px!important;
    font-size:12px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(
    .sales-badge,
    .sales-pill,
    .status-pill,
    .client-status-pill,
    .event-state-badge,
    .migration-status,
    .log-badge,
    .feature-pill,
    .pill,
    .status-ok,
    .status-bad,
    .bwp-page-badge
  ){
    min-height:26px!important;
    padding:5px 9px!important;
    font-size:11px!important;
  }

  body.has-side-menu:not(.bingo-screen) :is(.empty,.blocked){
    padding:12px!important;
    font-size:12px!important;
  }
}

/* Autoridade final do componente global de status.
   Mantem compatibilidade com nomes legados sem permitir estilos locais de capsula. */
@media screen{
  html body.has-side-menu:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ),
  html body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:22px!important;
    margin:0!important;
    padding:3px 7px!important;
    border:1px solid #cbd5e1!important;
    border-radius:4px!important;
    background:#fff!important;
    color:#475569!important;
    font:800 11px/1 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }

  html body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ):is(.is-success,.ok,.is-active),
  html body:not(.bingo-screen) :is(.event-state-badge:not(.finished),.operational-badge.state-sales-open),
  html body:not(.bingo-screen) :is(.sales-badge,.sales-pill):not(.closed):not(.state-sales-closed):not(.state-drawing):not(.state-finished):not(.state-unavailable){
    border-color:#4ade80!important;background:#fff!important;color:#008a3d!important
  }
  html body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ):is(.is-warning,.pending){
    border-color:#eab308!important;background:#fff!important;color:#854d0e!important
  }
  html body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ):is(.is-danger,.bad,.closed,.error),
  html body:not(.bingo-screen) .operational-badge.state-sales-closed{
    border-color:#f87171!important;background:#fff!important;color:#b4232f!important
  }
  html body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ):is(.is-neutral,.is-finished,.finished,.off),
  html body:not(.bingo-screen) :is(.operational-badge.state-finished,.operational-badge.state-unavailable){
    border-color:#cbd5e1!important;background:#fff!important;color:#475569!important
  }
  html body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ):is(.is-info,.info),
  html body:not(.bingo-screen) .operational-badge.state-drawing{
    border-color:#60a5fa!important;background:#fff!important;color:#1d4ed8!important
  }
}


/* Dashboard do cliente: respiro entre a notificacao de licenca e os atalhos. */
body.client-dashboard .hero-card .hello{
  margin-bottom:14px!important;
}

/* Padrao global compacto de badges de situacao.
   Referencia: fundo branco, borda fina, cantos discretos e cor semantica. */
:root{
  --bwp-status-badge-height:22px;
  --bwp-status-badge-radius:4px;
  --bwp-status-badge-padding-x:7px;
}

@media screen{
  body:not(.bingo-screen) :is(
    .sales-badge,
    .sales-pill,
    .status-pill,
    .client-status-pill,
    .event-state-badge,
    .migration-status,
    .log-badge,
    .feature-pill,
    .pill,
    .status-ok,
    .status-bad,
    .status-badge,
    .bwp-page-badge,
    .operational-badge
  ){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:var(--bwp-status-badge-height)!important;
    margin:0!important;
    padding:3px var(--bwp-status-badge-padding-x)!important;
    border:1px solid #cbd5e1!important;
    border-radius:var(--bwp-status-badge-radius)!important;
    background:#fff!important;
    color:#334155!important;
    font:800 11px/1 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }

  body:not(.bingo-screen) :is(
    .status-pill.ok,
    .client-status-pill.ok,
    .feature-pill:not(.off),
    .status-ok,
    .status-badge.ok,
    .status-badge.is-active,
    .status-badge.is-success,
    .event-state-badge:not(.finished),
    .sales-badge:not(.closed):not(.state-sales-closed):not(.state-drawing):not(.state-finished):not(.state-unavailable),
    .sales-pill:not(.closed):not(.state-sales-closed):not(.state-drawing):not(.state-finished):not(.state-unavailable),
    .operational-badge.state-sales-open
  ){
    border-color:#4ade80!important;
    background:#fff!important;
    color:#008a3d!important;
  }

  body:not(.bingo-screen) :is(
    .status-pill.bad,
    .client-status-pill.bad,
    .status-bad,
    .status-badge.bad,
    .bwp-page-badge.bad,
    .bwp-page-badge.closed,
    .sales-badge.closed,
    .sales-pill.closed,
    .operational-badge.state-sales-closed
  ){
    border-color:#fca5a5!important;
    background:#fff!important;
    color:#b4232f!important;
  }

  body:not(.bingo-screen) :is(.migration-status.pending,.status-badge.pending){
    border-color:#eab308!important;
    background:#fff!important;
    color:#854d0e!important;
  }

  body:not(.bingo-screen) :is(.operational-badge.state-drawing,.status-badge.info){
    border-color:#93c5fd!important;
    background:#fff!important;
    color:#1d4ed8!important;
  }

  body:not(.bingo-screen) :is(
    .feature-pill.off,
    .event-state-badge.finished,
    .status-badge.is-finished,
    .operational-badge.state-finished,
    .operational-badge.state-unavailable
  ){
    border-color:#cbd5e1!important;
    background:#fff!important;
    color:#334155!important;
  }

  body:not(.bingo-screen) :is(.sales-pill,.sales-badge,.operational-badge)::before{
    display:none!important;
    content:none!important;
    animation:none!important;
  }

  body:not(.bingo-screen) :is(
    .sales-badge,
    .sales-pill,
    .status-pill,
    .client-status-pill,
    .event-state-badge,
    .migration-status,
    .log-badge,
    .feature-pill,
    .pill,
    .status-ok,
    .status-bad,
    .status-badge,
    .bwp-page-badge,
    .operational-badge
  ) :is(.bwp-icon,.badge-dot){
    display:none!important;
  }

  /* Modificadores semanticos oficiais do componente global. */
  body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ).is-success{border-color:#4ade80!important;background:#fff!important;color:#008a3d!important}
  body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ).is-warning{border-color:#eab308!important;background:#fff!important;color:#854d0e!important}
  body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ).is-danger{border-color:#f87171!important;background:#fff!important;color:#b4232f!important}
  body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ).is-neutral{border-color:#cbd5e1!important;background:#fff!important;color:#475569!important}
  body:not(.bingo-screen) :is(
    .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
    .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
    .status-ok,.status-bad,.bwp-page-badge,.operational-badge
  ).is-info{border-color:#60a5fa!important;background:#fff!important;color:#1d4ed8!important}
}

/* Dashboard admin: mesmo respiro entre status informativo e atalhos. */
body.admin-dashboard-page .hero-card .hello{
  margin-bottom:14px!important;
}

/* Etapa 9: padrao global de modais, overlays e leitores em telas autenticadas.
   Ajuste estes tokens para alterar todos os pop-ups e cameras de uma vez. */
:root{
  --bwp-overlay-bg:rgba(15,23,42,.58);
  --bwp-modal-width:680px;
  --bwp-modal-radius:18px;
  --bwp-modal-padding:18px;
  --bwp-modal-mobile-padding:14px;
  --bwp-modal-z:20000;
  --bwp-reader-max-width:440px;
  --bwp-reader-mobile-height:54vh;
}

@media screen{
  body.modal-open,
  body.sale-success-open{
    overflow:hidden!important;
  }

  body:not(.bingo-screen) :is(.seller-modal,.client-modal,.qr-modal,.success-modal){
    position:fixed!important;
    inset:0!important;
    z-index:var(--bwp-modal-z)!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:clamp(10px,3vw,24px)!important;
    background:var(--bwp-overlay-bg)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  body:not(.bingo-screen) :is(.seller-modal.open,.client-modal.open,.qr-modal.open,.success-modal.open){
    display:flex!important;
  }

  body:not(.bingo-screen) :is(.seller-modal-card,.client-modal-card,.qr-box,.success-box){
    width:min(var(--bwp-modal-width),calc(100vw - 24px))!important;
    max-width:100%!important;
    max-height:calc(100vh - 24px)!important;
    margin:auto!important;
    overflow-y:auto!important;
    border:1px solid var(--dash-border,#d8e3dc)!important;
    border-radius:var(--bwp-modal-radius)!important;
    background:#fff!important;
    color:var(--dash-text,#172033)!important;
    box-shadow:0 24px 80px rgba(15,23,42,.24)!important;
  }

  body:not(.bingo-screen) :is(.seller-modal-card,.client-modal-card){
    padding:var(--bwp-modal-padding)!important;
  }

  body:not(.bingo-screen) .qr-box{
    padding:var(--bwp-modal-padding)!important;
    text-align:center!important;
  }

  body:not(.bingo-screen) .success-box{
    width:min(420px,calc(100vw - 24px))!important;
    padding:22px!important;
    text-align:center!important;
    border-color:#25d66b!important;
    background:#07190d!important;
    color:#fff!important;
  }

  body:not(.bingo-screen) .seller-modal-head{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin:calc(var(--bwp-modal-padding) * -1) calc(var(--bwp-modal-padding) * -1) 14px!important;
    padding:var(--bwp-modal-padding)!important;
    border-bottom:1px solid #eef2f7!important;
    background:#fff!important;
  }

  body:not(.bingo-screen) .seller-modal-close{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    padding:0!important;
    border:1px solid var(--dash-border,#d8e3dc)!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--dash-text,#172033)!important;
    box-shadow:none!important;
  }

  body:not(.bingo-screen) .seller-modal-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:14px!important;
  }

  body:not(.bingo-screen) .seller-modal-actions :is(.btn,button,a.btn),
  body:not(.bingo-screen) .client-modal :is(.btn,button,a.btn),
  body:not(.bingo-screen) .qr-actions :is(.btn,button,a.btn){
    justify-content:center!important;
  }

  body:not(.bingo-screen) #reader{
    width:100%!important;
    max-width:var(--bwp-reader-max-width)!important;
    margin:12px auto!important;
    overflow:hidden!important;
    border-radius:12px!important;
  }

  body:not(.bingo-screen) #reader video,
  body:not(.bingo-screen) .qr-box video{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    max-height:min(440px,62vh)!important;
    object-fit:contain!important;
    border-radius:12px!important;
    background:#000!important;
  }
}

@media screen and (max-width:860px){
  body:not(.bingo-screen) :is(.seller-modal,.client-modal,.qr-modal,.success-modal){
    align-items:flex-start!important;
    padding:10px!important;
  }

  body:not(.bingo-screen) :is(.seller-modal-card,.client-modal-card,.qr-box,.success-box){
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:var(--bwp-modal-radius)!important;
  }

  body:not(.bingo-screen) :is(.seller-modal-card,.client-modal-card,.qr-box,.success-box){
    padding:var(--bwp-modal-mobile-padding)!important;
  }

  body:not(.bingo-screen) .seller-modal-head{
    margin:calc(var(--bwp-modal-mobile-padding) * -1) calc(var(--bwp-modal-mobile-padding) * -1) 12px!important;
    padding:var(--bwp-modal-mobile-padding)!important;
  }

  body:not(.bingo-screen) .seller-modal-actions{
    grid-template-columns:1fr!important;
  }

  body:not(.bingo-screen) :is(.seller-modal-actions,.qr-actions) :is(.btn,button,a.btn),
  body:not(.bingo-screen) .client-modal :is(.btn,button,a.btn){
    width:100%!important;
  }

  body:not(.bingo-screen) #reader video,
  body:not(.bingo-screen) .qr-box video{
    max-height:var(--bwp-reader-mobile-height)!important;
  }
}

/* Fundo definitivo do componente: a cor semantica pertence somente ao contorno
   e ao texto, inclusive para aliases legados com maior especificidade. */
html body.has-side-menu.has-side-menu:not(.bingo-screen) :is(
  .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
  .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
  .status-ok,.status-bad,.bwp-page-badge,.operational-badge
),
html body:not(.bingo-screen):not(.bingo-screen) :is(
  .status-badge,.sales-badge,.sales-pill,.status-pill,.client-status-pill,
  .event-state-badge,.migration-status,.log-badge,.feature-pill,.pill,
  .status-ok,.status-bad,.bwp-page-badge,.operational-badge
){background:#fff!important}

/* Componente operacional: preserva as capsulas antigas de vendas e sorteio.
   Nao participa do padrao retangular global de status. */
@media screen{
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:auto!important;
    max-width:100%!important;
    min-height:26px!important;
    margin:0!important;
    padding:5px 9px!important;
    border:1px solid #bdebd0!important;
    border-radius:999px!important;
    background:var(--dash-primary-soft,#ecfdf3)!important;
    color:var(--dash-primary-dark,#087a49)!important;
    font:800 11px/1 Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge.is-started{
    border-color:#bbefd4!important;
    background:var(--dash-primary-soft,#e9f8f0)!important;
    color:#087a49!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge.is-running{
    border-color:#bfdbfe!important;
    background:#eff6ff!important;
    color:#1d4ed8!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge.is-finished{
    border-color:#fecdd3!important;
    background:var(--dash-danger-soft,#fff1f2)!important;
    color:#b4232f!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge.is-waiting{
    border-color:#fed7aa!important;
    background:var(--dash-warning-soft,#fff7ed)!important;
    color:#9a3412!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge::before{
    content:""!important;
    display:inline-block!important;
    flex:0 0 auto!important;
    width:7px!important;
    height:7px!important;
    border-radius:999px!important;
    background:var(--dash-primary,#16a765)!important;
    animation:bwp-status-pulse 1.25s ease-in-out infinite!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge.is-running::before{
    background:#2563eb!important;
    animation-name:bwp-status-pulse-running!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge.is-finished::before{
    background:var(--dash-danger,#dc3545)!important;
    animation-name:bwp-status-pulse-closed!important;
  }
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge.is-waiting::before{
    background:#f59e0b!important;
    animation-name:bwp-status-pulse-waiting!important;
  }
}

@keyframes bwp-status-pulse-running{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(37,99,235,.3)}
  50%{opacity:.58;transform:scale(.82);box-shadow:0 0 0 5px rgba(37,99,235,0)}
}

@keyframes bwp-status-pulse-waiting{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(245,158,11,.3)}
  50%{opacity:.58;transform:scale(.82);box-shadow:0 0 0 5px rgba(245,158,11,0)}
}

@media(prefers-reduced-motion:reduce){
  html body:not(.bingo-screen) .sales-status-badge.sales-status-badge::before{animation:none!important}
}

