:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-2: #eef3f9;
  --text: #172033;
  --muted: #667085;
  --primary: #0b5ed7;
  --primary-2: #0a4fb5;
  --accent: #f59e0b;
  --success: #15803d;
  --danger: #b42318;
  --warning: #b54708;
  --border: #d8e0ea;
  --shadow: 0 12px 30px rgba(16, 24, 40, .08);
  --radius: 18px;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
.hidden { display: none !important; }

.app-shell { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; background: linear-gradient(180deg, #071d3b, #0b3568); color: #fff; padding: 22px 16px; overflow-y: auto; }
.brand { display: flex; align-items: center; gap: 12px; padding: 4px 8px 24px; }
.brand img { width: 48px; height: 48px; }
.brand h1 { font-size: 18px; margin: 0; }
.brand small { opacity: .75; }
.nav { display: grid; gap: 7px; }
.nav button { display: flex; gap: 10px; align-items: center; width: 100%; border: 0; color: rgba(255,255,255,.82); background: transparent; padding: 12px 14px; border-radius: 12px; text-align: left; }
.nav button:hover, .nav button.active { background: rgba(255,255,255,.13); color: #fff; }
.nav .icon { width: 22px; text-align: center; }
.sidebar-footer { margin-top: 24px; padding: 16px 10px; border-top: 1px solid rgba(255,255,255,.15); font-size: 12px; color: rgba(255,255,255,.7); }

.main { min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 24px; background: rgba(244,247,251,.88); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(216,224,234,.8); }
.topbar h2 { margin: 0; font-size: 22px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.online-badge { padding: 7px 10px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 12px; font-weight: 700; }
.online-badge.offline { background: #fff7ed; color: #9a3412; }
.content { padding: 24px; max-width: 1500px; margin: 0 auto; }
.page { display: none; }
.page.active { display: block; }

.grid { display: grid; gap: 18px; }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; }
.card h3 { margin: 0 0 14px; font-size: 17px; }
.card h4 { margin: 0 0 10px; }
.metric { display: flex; justify-content: space-between; align-items: flex-start; }
.metric strong { display: block; font-size: 30px; line-height: 1; margin-top: 8px; }
.metric .metric-icon { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--surface-2); font-size: 22px; }
.muted { color: var(--muted); }
.small { font-size: 12px; }

.toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; margin-bottom: 18px; }
.field { display: grid; gap: 6px; min-width: 160px; }
.field.grow { flex: 1; }
.field label { font-size: 12px; font-weight: 700; color: #475467; }
input, select, textarea { width: 100%; border: 1px solid #cfd8e3; border-radius: 11px; padding: 10px 12px; background: #fff; color: var(--text); outline: none; }
input:focus, select:focus, textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(11,94,215,.12); }
textarea { min-height: 90px; resize: vertical; }
.btn { border: 1px solid transparent; border-radius: 11px; padding: 10px 14px; font-weight: 700; background: #fff; color: var(--text); }
.btn:hover { transform: translateY(-1px); }
.btn.primary { background: var(--primary); color: #fff; }
.btn.primary:hover { background: var(--primary-2); }
.btn.secondary { border-color: var(--border); }
.btn.success { background: var(--success); color: #fff; }
.btn.danger { background: var(--danger); color: #fff; }
.btn.warning { background: var(--accent); color: #111827; }
.btn.ghost { background: transparent; border-color: var(--border); }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }

.table-wrap { overflow: auto; border: 1px solid var(--border); border-radius: 14px; }
table { border-collapse: collapse; width: 100%; min-width: 680px; background: #fff; }
th, td { padding: 12px 14px; border-bottom: 1px solid #e8edf3; text-align: left; vertical-align: middle; }
th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #475467; background: #f8fafc; position: sticky; top: 0; }
tr:last-child td { border-bottom: 0; }
.tag { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; background: #eef2ff; color: #3730a3; }
.tag.success { background: #dcfce7; color: #166534; }
.tag.warning { background: #fef3c7; color: #92400e; }
.tag.danger { background: #fee2e2; color: #991b1b; }

.event-banner { display: grid; grid-template-columns: 120px 1fr auto; gap: 18px; align-items: center; }
.event-banner img { width: 120px; height: 80px; object-fit: cover; border-radius: 12px; background: var(--surface-2); }
.event-list { display: grid; gap: 12px; }
.event-item { border: 1px solid var(--border); border-radius: 14px; padding: 14px; display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }

.draw-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); gap: 18px; }
.draw-stage { text-align: center; min-height: 360px; display: grid; align-content: center; gap: 18px; }
.current-ball { width: 190px; height: 190px; border-radius: 50%; margin: 0 auto; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, #fff, #e7edf6 42%, #9fb5d1); border: 8px solid #fff; box-shadow: 0 20px 50px rgba(11,53,104,.25); }
.current-ball span { font-size: 68px; font-weight: 900; color: #0b3568; }
.draw-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.ball-grid { display: grid; grid-template-columns: repeat(15, minmax(28px, 1fr)); gap: 6px; }
.ball { aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: #eef2f6; color: #667085; font-size: 12px; font-weight: 800; border: 1px solid #dfe6ef; }
.ball.drawn { background: #0b5ed7; color: #fff; border-color: #0b5ed7; }
.ball.last { outline: 3px solid #f59e0b; outline-offset: 2px; }
.near-list { display: grid; gap: 8px; max-height: 440px; overflow: auto; }
.near-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; }

.bingo-card { width: 360px; border: 2px solid #123765; border-radius: 16px; padding: 12px; background: #fff; break-inside: avoid; box-shadow: 0 10px 25px rgba(16,24,40,.12); }
.bingo-card-header { display: grid; grid-template-columns: 64px 1fr 62px; gap: 8px; align-items: center; min-height: 64px; }
.bingo-card-header img { width: 64px; height: 58px; object-fit: contain; border-radius: 8px; }
.bingo-title { text-align: center; }
.bingo-title strong { display: block; font-size: 18px; }
.bingo-title small { color: var(--muted); }
.bingo-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; margin-top: 9px; }
.bingo-grid div { display: grid; place-items: center; aspect-ratio: 1; border: 1px solid #aab8c8; font-size: 19px; font-weight: 800; background: #fff; }
.bingo-grid .head { background: #0b3568; color: #fff; aspect-ratio: auto; padding: 6px 0; }
.bingo-grid .free { background: #fff4cf; font-size: 11px; }
.bingo-card-footer { display: grid; grid-template-columns: 1fr 76px; gap: 8px; margin-top: 10px; align-items: end; }
.barcode svg { width: 100%; height: 42px; }
.qr canvas, .qr svg { width: 72px; height: 72px; image-rendering: pixelated; }
.cards-preview { display: flex; flex-wrap: wrap; gap: 18px; align-items: flex-start; }

.prize-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.prize-card { border: 1px solid var(--border); border-radius: 14px; background: #fff; padding: 10px; transition: .15s ease; }
.prize-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.prize-card img { width: 100%; aspect-ratio: 4/3; object-fit: contain; background: #f8fafc; border-radius: 10px; }
.prize-card strong { display: block; margin-top: 8px; font-size: 13px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(6,15,30,.58); display: grid; place-items: center; padding: 20px; }
.modal { width: min(760px, 100%); max-height: 90vh; overflow: auto; background: #fff; border-radius: 20px; padding: 22px; box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.modal-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 16px; }
.modal-header h3 { margin: 0; }
.icon-btn { border: 0; background: #eef2f6; border-radius: 50%; width: 36px; height: 36px; }

.toast-container { position: fixed; right: 20px; bottom: 20px; z-index: 120; display: grid; gap: 10px; }
.toast { min-width: 280px; max-width: 430px; padding: 13px 15px; border-radius: 12px; color: #fff; background: #172033; box-shadow: var(--shadow); animation: toast-in .2s ease; }
.toast.success { background: #166534; }
.toast.error { background: #991b1b; }
.toast.warning { background: #92400e; }
@keyframes toast-in { from { transform: translateY(10px); opacity: 0; } }

.progress { height: 10px; border-radius: 999px; overflow: hidden; background: #e7edf4; }
.progress > span { display: block; height: 100%; background: var(--primary); }
.finance-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.finance-box { border: 1px solid var(--border); border-radius: 14px; padding: 14px; }
.finance-box strong { display: block; font-size: 24px; margin-top: 4px; }

.camera-box { min-height: 260px; background: #0b1220; border-radius: 14px; overflow: hidden; display: grid; place-items: center; color: #fff; }
.camera-box video { width: 100%; max-height: 420px; object-fit: cover; }

@media (max-width: 1100px) {
  .grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .grid.cols-3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .draw-layout { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; z-index: 60; left: -280px; width: 260px; transition: .2s ease; }
  .sidebar.open { left: 0; }
  .topbar { padding: 14px 16px; }
  .content { padding: 16px; }
  .grid.cols-2, .grid.cols-3, .grid.cols-4 { grid-template-columns: 1fr; }
  .ball-grid { grid-template-columns: repeat(10, minmax(25px,1fr)); }
  .event-banner { grid-template-columns: 1fr; }
  .event-banner img { width: 100%; height: 150px; }
  .finance-summary { grid-template-columns: 1fr; }
  .bingo-card { width: 100%; }
}



#page-draw { padding-bottom: 170px; }
.draw-operator-dock {
  position: fixed;
  z-index: 80;
  left: calc(260px + 22px);
  right: 22px;
  bottom: max(12px, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: minmax(260px,.9fr) minmax(320px,1.5fr) minmax(420px,1.4fr);
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  background: rgba(5,24,51,.96);
  color: #fff;
  box-shadow: 0 18px 45px rgba(5,24,51,.35);
  backdrop-filter: blur(12px);
}
.draw-dock-top { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:9px; align-items:center; min-width:0; }
.draw-dock-last { width:64px; height:64px; border-radius:14px; display:grid; place-items:center; align-content:center; background:#f6bd19; color:#071b3b; }
.draw-dock-last small { font-size:9px; font-weight:900; }
.draw-dock-last strong { font-size:25px; line-height:1; }
.draw-dock-winner { min-width:0; display:grid; gap:1px; }
.draw-dock-winner small { color:#bfd4f6; font-size:9px; font-weight:900; letter-spacing:.06em; }
.draw-dock-winner strong { font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.draw-dock-winner span { color:#d8e8ff; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.draw-dock-winner.has-winner strong { color:#7df29b; }
.draw-dock-view-winner { padding:8px 10px; white-space:nowrap; }
.draw-dock-near { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; min-width:0; }
.draw-dock-near-item { border:1px solid rgba(255,255,255,.18); border-radius:9px; padding:5px 6px; text-align:center; background:rgba(255,255,255,.07); min-width:0; }
.draw-dock-near-item.has-cards { background:#f6bd19; color:#071b3b; border-color:#f6bd19; }
.draw-dock-near-item strong { display:block; font-size:17px; line-height:1; }
.draw-dock-near-item span { display:block; margin-top:2px; font-size:9px; font-weight:800; white-space:nowrap; }
.draw-dock-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.draw-dock-actions .btn { min-height:45px; padding:8px 7px; font-size:12px; }

@media (max-width:1180px) {
  .draw-operator-dock { grid-template-columns:minmax(250px,1fr) minmax(300px,1.2fr); }
  .draw-dock-actions { grid-column:1/-1; }
  #page-draw { padding-bottom: 220px; }
}
@media (max-width:900px) {
  .draw-operator-dock { right:12px; bottom:max(8px,env(safe-area-inset-bottom)); grid-template-columns:1fr; gap:7px; padding:8px; border-radius:14px; }
  .draw-dock-top { grid-template-columns:54px minmax(0,1fr) auto; }
  .draw-dock-last { width:54px; height:54px; }
  .draw-dock-last strong { font-size:22px; }
  .draw-dock-near { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .draw-dock-actions .btn { min-height:42px; font-size:11px; }
  #page-draw { padding-bottom: 245px; }
}
@media (max-width:780px) {
  .draw-operator-dock { left:12px; }
}
@media (max-width:520px) {
  .draw-dock-view-winner { font-size:10px; padding:7px 8px; }
  .draw-dock-near { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .draw-dock-near-item { padding:4px 2px; }
  .draw-dock-near-item strong { font-size:15px; }
  .draw-dock-near-item span { font-size:8px; }
  .draw-dock-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #page-draw { padding-bottom: 285px; }
}

@media print {
  .no-print, .sidebar, .topbar { display: none !important; }
  .app-shell { display: block; }
  .content { padding: 0; }
  .card { box-shadow: none; border: 0; padding: 0; }
  .bingo-card { width: 48%; display: inline-block; margin: 1%; box-shadow: none; }
}
.prize-stack { width: 62px; height: 58px; display: grid; grid-template-columns: repeat(2,1fr); gap: 2px; overflow: hidden; border-radius: 8px; background: #f8fafc; }
.prize-stack img { width: 100%; height: 100%; object-fit: contain; border-radius: 4px; }
.prize-stack img:first-child:last-child { grid-column: 1 / -1; }
.prize-stack img:nth-child(3) { grid-column: 1 / -1; height: 27px; }


.chip-list { display:flex; flex-wrap:wrap; gap:7px; min-height:34px; }
.chip { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; background:#eaf2ff; color:#0b3568; font-size:12px; font-weight:800; }
.chip button { border:0; background:transparent; color:inherit; padding:0; font-weight:900; }
.camera-box.compact { min-height:190px; }
.seller-wallet-positive { color:#166534; }
.seller-wallet-negative { color:#991b1b; }
.pix-panel { display:grid; grid-template-columns:minmax(210px,280px) 1fr; gap:20px; align-items:center; }
.pix-qr { padding:14px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.pix-qr svg { width:100%; height:auto; display:block; image-rendering:pixelated; }
.pix-code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; word-break:break-all; border:1px solid var(--border); border-radius:10px; padding:10px; background:#f8fafc; max-height:100px; overflow:auto; }
.winner-grid { display:grid; gap:12px; margin-top:12px; }
.winner-card { border:2px solid #16a34a; border-radius:14px; padding:12px; background:#f0fdf4; }
.winner-card h4 { margin:0 0 6px; }
.winner-stubs { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:8px; margin-top:10px; }
.winner-stubs img { width:100%; height:150px; object-fit:contain; border:1px solid #cbd5e1; border-radius:10px; background:#fff; }
.ticket-thumb { width:min(100%,560px); overflow:hidden; border:1px solid var(--border); border-radius:14px; background:#eef2f6; padding:10px; }
.ticket-thumb .a4-ticket { transform-origin:top left; width:210mm; min-height:297mm; transform:scale(.42); margin-bottom:calc(-297mm * .58); }

.a4-ticket { width:210mm; height:297mm; background:#fff; color:#111827; display:grid; grid-template-rows:minmax(0,1fr) 74mm; overflow:hidden; box-sizing:border-box; break-after:page; page-break-after:always; }
.a4-main { padding:9mm 10mm 6mm; display:flex; flex-direction:column; min-height:0; }
.a4-header { display:grid; grid-template-columns:28mm 1fr 35mm; align-items:center; gap:5mm; border-bottom:1.2mm solid #0b3568; padding-bottom:3mm; }
.a4-header img.event-logo { width:28mm; height:22mm; object-fit:contain; }
.a4-event-title { text-align:center; }
.a4-event-title h1 { font-size:17pt; line-height:1.05; margin:0; }
.a4-event-title p { margin:1.5mm 0 0; font-size:8.5pt; }
.a4-number { text-align:center; border:1px solid #0b3568; border-radius:3mm; padding:3mm 1mm; }
.a4-number small { display:block; font-size:7pt; text-transform:uppercase; }
.a4-number strong { display:block; font-size:18pt; }
.a4-prize-grids { flex:1; min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4mm; margin-top:4mm; align-content:center; }
.a4-prize-grids.count-1 { grid-template-columns:minmax(0,1fr); max-width:125mm; width:100%; margin-left:auto; margin-right:auto; }
.a4-prize-grids.count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.a4-prize-grids.count-3, .a4-prize-grids.count-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.a4-prize-grids.count-many { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5mm; }
.a4-round { border:1px solid #718096; border-radius:2.5mm; padding:2mm; display:flex; flex-direction:column; min-height:0; }
.a4-round-title { display:grid; grid-template-columns:14mm 1fr; align-items:center; gap:2mm; min-height:13mm; margin-bottom:1.5mm; }
.a4-round-title img { width:14mm; height:12mm; object-fit:contain; }
.a4-round-title strong { display:block; font-size:8pt; line-height:1.1; }
.a4-round-title small { font-size:6.5pt; }
.a4-bingo-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid #64748b; border-left:1px solid #64748b; }
.a4-bingo-grid div { display:grid; place-items:center; aspect-ratio:1; border-right:1px solid #64748b; border-bottom:1px solid #64748b; font-size:11pt; font-weight:900; }
.a4-bingo-grid .head { aspect-ratio:auto; background:#0b3568; color:#fff; padding:1.1mm 0; }
.a4-bingo-grid .free { font-size:6pt; background:#fff4cf; }
.count-many .a4-bingo-grid div { font-size:8pt; }
.count-many .a4-bingo-grid .free { font-size:5pt; }
.a4-info { display:grid; grid-template-columns:1fr 40mm; gap:4mm; align-items:end; margin-top:3mm; }
.a4-info p { margin:0; font-size:7pt; line-height:1.25; }
.a4-codes { display:grid; grid-template-columns:1fr 20mm; gap:2mm; align-items:end; }
.a4-codes .barcode svg { width:100%; height:15mm; }
.a4-codes .qr svg { width:20mm; height:20mm; }
.a4-stub { border-top:1mm dashed #475569; padding:4.5mm 10mm 5mm; display:flex; flex-direction:column; gap:2.5mm; position:relative; }
.a4-stub:before { content:'✂ destacar aqui'; position:absolute; top:-4mm; left:12mm; background:#fff; padding:0 2mm; font-size:7pt; color:#475569; }
.stub-details { flex:1; min-height:0; }
.stub-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:5mm; margin-bottom:1mm; }
.a4-stub h2 { margin:0; font-size:12pt; color:#0b3568; }
.stub-ticket-number { min-width:31mm; text-align:center; border:.35mm solid #0b3568; border-radius:2mm; padding:1.2mm 2mm; }
.stub-ticket-number small, .stub-id-number small { display:block; font-size:6pt; line-height:1; text-transform:uppercase; }
.stub-ticket-number strong { display:block; margin-top:.7mm; font-size:13pt; line-height:1; }
.stub-line { height:8.5mm; border-bottom:.35mm solid #334155; font-size:7pt; padding-top:3.5mm; box-sizing:border-box; }
.stub-name { height:9mm; }
.stub-address-row { display:grid; grid-template-columns:minmax(0,1fr) 35mm; gap:5mm; }
.stub-contact-row { display:grid; grid-template-columns:1fr 1fr; gap:5mm; }
.stub-identifiers { min-height:19mm; display:grid; grid-template-columns:19mm minmax(0,1fr) 34mm; gap:4mm; align-items:center; border-top:.3mm solid #94a3b8; padding-top:2mm; }
.stub-identifiers .qr svg { width:18mm; height:18mm; display:block; }
.stub-identifiers .barcode { min-width:0; }
.stub-identifiers .barcode svg { width:100%; height:14mm; display:block; }
.stub-id-number { text-align:center; border-left:.3mm solid #cbd5e1; padding-left:3mm; }
.stub-id-number strong { display:block; margin-top:1mm; font-size:15pt; line-height:1; }

@media (max-width:780px) {
  .pix-panel { grid-template-columns:1fr; }
  .winner-stubs { grid-template-columns:1fr 1fr; }
}

@media print {
  @page { size:A4 portrait; margin:0; }
  html, body { margin:0 !important; padding:0 !important; background:#fff !important; }
  .a4-ticket { width:210mm !important; height:297mm !important; margin:0 !important; }
}
.a4-prize-grids.count-5-6 { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5mm; }
.a4-prize-grids.count-7-8, .a4-prize-grids.count-9-12 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:2mm; }
.count-5-6 .a4-round, .count-7-8 .a4-round, .count-9-12 .a4-round { padding:1.3mm; }
.count-5-6 .a4-round-title, .count-7-8 .a4-round-title, .count-9-12 .a4-round-title { min-height:9mm; grid-template-columns:9mm 1fr; gap:1mm; margin-bottom:1mm; }
.count-5-6 .a4-round-title img, .count-7-8 .a4-round-title img, .count-9-12 .a4-round-title img { width:9mm; height:8mm; }
.count-5-6 .a4-round-title strong { font-size:6.5pt; }
.count-7-8 .a4-round-title strong, .count-9-12 .a4-round-title strong { font-size:5.5pt; }
.count-5-6 .a4-round-title small, .count-7-8 .a4-round-title small, .count-9-12 .a4-round-title small { font-size:4.8pt; }
.count-5-6 .a4-bingo-grid div { font-size:8pt; }
.count-7-8 .a4-bingo-grid div, .count-9-12 .a4-bingo-grid div { font-size:6.5pt; }
.count-5-6 .a4-bingo-grid .free, .count-7-8 .a4-bingo-grid .free, .count-9-12 .a4-bingo-grid .free { font-size:4pt; }


.sync-status { min-height:42px; display:flex; align-items:center; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:#f8fafc; font-weight:700; }
.sync-status.connected { color:#166534; background:#f0fdf4; border-color:#86efac; }
.winner-history { display:grid; gap:16px; }
.winner-record { border:1px solid var(--border); border-radius:16px; padding:16px; background:#fff; }
.winner-record-head { display:grid; grid-template-columns:1fr 90px; gap:16px; align-items:start; }
.winner-record-head h3 { margin:8px 0 4px; }
.winner-record-head > img { width:90px; height:76px; object-fit:contain; border:1px solid var(--border); border-radius:12px; background:#fff; }
@media (max-width:600px) { .winner-record-head { grid-template-columns:1fr; } .winner-record-head > img { width:100%; height:120px; } }



.header-design-previews { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.header-preview { margin-top:6px; height:100px; display:grid; place-items:center; overflow:hidden; border:1px dashed #aab8ca; border-radius:12px; background:#f8fafc; color:var(--muted); }
.header-preview.wide { aspect-ratio:5/1; height:auto; min-height:72px; }
.header-preview img { width:100%; height:100%; object-fit:contain; object-position:center center; display:block; }
.toolbar.compact { margin:8px 0 0; gap:6px; }
.file-button { position:relative; overflow:hidden; }
.file-button input { position:absolute; inset:0; opacity:0; cursor:pointer; }

/* Cartela A4: uma página, cabeçalho ampliado, linha de corte única e canhoto amplo */
.a4-ticket { width:210mm; height:297mm; background:#fff; color:#071b3b; display:grid; grid-template-rows:minmax(0,1fr) 8mm 68mm; overflow:hidden; box-sizing:border-box; break-after:page; page-break-after:always; font-family:Arial,sans-serif; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.a4-main { padding:8mm 8mm 3mm; min-height:0; display:grid; grid-template-rows:41mm minmax(0,1fr) 20mm; gap:3mm; }
.a4-header { display:grid; grid-template-columns:48mm minmax(0,1fr) 28mm; gap:4mm; align-items:stretch; border-radius:4mm; overflow:hidden; background:#071b3b; color:#fff; padding:3mm; border:0; }
.a4-header.a4-header-full { grid-template-columns:minmax(0,1fr); }
.a4-header.a4-header-full .a4-header-art { width:100%; min-width:0; }
.a4-event-image,.a4-header-art { background:#fff; border-radius:3mm; overflow:hidden; display:grid; place-items:center; }

.a4-event-image,.a4-header-art { align-items:center; justify-items:center; }
.a4-event-image img,.a4-header-art img { width:100%; height:100%; object-fit:contain; object-position:center center; display:block; }
.a4-event-placeholder { text-align:center; font-weight:900; font-size:6mm; color:#071b3b; line-height:.9; }
.a4-event-placeholder span { display:inline-grid; place-items:center; margin-top:1mm; width:13mm; height:13mm; border-radius:50%; background:#f6bd19; }
.a4-art-placeholder { color:#667085; font-size:3.2mm; font-weight:800; text-align:center; padding:3mm; }
.a4-event-title { align-self:center; min-width:0; text-align:left; }
.a4-event-title small { color:#f6bd19; font-size:3mm; font-weight:800; }
.a4-event-title h1 { margin:1mm 0; font-size:7mm; line-height:1.02; text-transform:uppercase; }
.a4-event-title p { margin:0; font-size:3mm; }
.a4-price { width:28mm; height:28mm; box-sizing:border-box; justify-self:end; align-self:center; background:#f6bd19; color:#071b3b; display:grid; place-items:center; align-content:center; justify-content:center; border-radius:3mm; text-align:center; padding:1.2mm; }
.a4-price small { display:block; margin:0; font-size:2.7mm; line-height:1; font-weight:800; }
.a4-price strong { display:block; margin:.8mm 0 0; font-size:5.2mm; line-height:1; white-space:nowrap; }
.a4-prize-grids { display:grid; gap:2mm; min-height:0; align-content:stretch; margin:0; }
.a4-prize-grids.count-1 { grid-template-columns:1fr; max-width:none; }
.a4-prize-grids.count-2 { grid-template-columns:repeat(2,1fr); }
.a4-prize-grids.count-3,.a4-prize-grids.count-4,.a4-prize-grids.count-5,.a4-prize-grids.count-6 { grid-template-columns:repeat(3,1fr); }
.a4-prize-grids.count-7,.a4-prize-grids.count-8,.a4-prize-grids.count-9,.a4-prize-grids.count-10,.a4-prize-grids.count-11,.a4-prize-grids.count-12 { grid-template-columns:repeat(4,1fr); }
.a4-round { min-width:0; display:grid; grid-template-rows:16mm minmax(0,1fr); gap:1mm; padding:1.5mm; border:.45mm solid #16477f; border-radius:2mm; }
.a4-round-title { display:grid; grid-template-columns:14mm 1fr; gap:1.5mm; align-items:center; min-width:0; min-height:0; margin:0; }
.a4-prize-image { width:14mm; height:14mm; display:grid; place-items:center; overflow:hidden; background:#f2f5f9; border-radius:1.5mm; }
.a4-prize-image img { width:100%; height:100%; object-fit:contain; }
.a4-round-title strong { display:block; font-size:2.8mm; color:#b27800; line-height:1.05; }
.a4-round-title small { display:block; font-size:2.7mm; line-height:1.05; overflow-wrap:anywhere; }
.a4-bingo-grid { display:grid; grid-template-columns:repeat(5,1fr); grid-template-rows:repeat(6,1fr); border:.35mm solid #071b3b; min-height:0; }
.a4-bingo-grid div { display:grid; place-items:center; border:.2mm solid #8291a6; font-weight:800; min-width:0; aspect-ratio:auto; font-size:3.4mm; }
.a4-bingo-grid .head { background:#0c2d60; color:#f6bd19; font-size:3.4mm; padding:0; }
.a4-bingo-grid .free { color:#c78c00; background:#fff; font-size:2.4mm; }
.count-7 .a4-bingo-grid div,.count-8 .a4-bingo-grid div,.count-9 .a4-bingo-grid div,.count-10 .a4-bingo-grid div,.count-11 .a4-bingo-grid div,.count-12 .a4-bingo-grid div { font-size:2.7mm; }
.a4-main-footer { display:grid; grid-template-columns:1fr 94mm; gap:3mm; align-items:start; height:20mm; }
.a4-rules { height:12mm; border-radius:3mm; background:#071b3b; color:#fff; padding:2mm 3mm; font-size:2.8mm; display:grid; align-content:center; overflow:hidden; }
.a4-identifiers,.a4-stub-identifiers { display:grid; grid-template-columns:30mm 18mm 1fr; gap:2mm; align-items:start; }
.a4-card-number { height:12mm; box-sizing:border-box; border-radius:2mm; background:#f6bd19; color:#071b3b; text-align:center; padding:.8mm 1.5mm; display:grid; align-content:center; }
.a4-card-number small { display:block; font-size:2.4mm; line-height:1; font-weight:800; }
.a4-card-number strong { display:block; font-size:6mm; line-height:1; }
.a4-identifiers>.qr { height:18mm; background:#fff; padding:1mm; }
.a4-identifiers>.qr svg { width:100%; height:100%; }
.a4-identifiers>.barcode { height:15mm; background:#fff; overflow:hidden; }
.a4-identifiers>.barcode svg { width:100%; height:100%; }
.a4-cut-line { position:relative; display:grid; place-items:center; padding:0 8mm; color:#344054; font-size:3mm; }
.a4-cut-line:before { content:""; position:absolute; left:8mm; right:8mm; top:50%; border-top:.4mm dashed #26364d; transform:translateY(-50%); }
.a4-cut-line b { position:relative; z-index:1; padding:0 2mm; background:#fff; text-align:center; }
.a4-cut-line span { position:absolute; z-index:1; left:8mm; top:50%; transform:translate(-12%,-50%); padding-right:1.2mm; background:#fff; font-size:5mm; line-height:1; }
.a4-stub { padding:3mm 8mm 5mm; display:grid; grid-template-rows:9mm 1fr 22mm; gap:2mm; border:1mm solid #0c2d60; border-top:0; margin:0 4mm 4mm; border-radius:0 0 4mm 4mm; position:static; }
.a4-stub:before { content:none; }
.a4-stub h2 { margin:0; border-radius:2mm; display:grid; place-items:center; background:#071b3b; color:#fff; font-size:5mm; }
.a4-buyer-fields { display:grid; gap:1.2mm; font-size:3mm; }
.a4-buyer-fields p { display:grid; grid-template-columns:auto 1fr; gap:2mm; align-items:end; margin:0; }
.a4-buyer-fields span { border-bottom:.35mm solid #26364d; height:5mm; }
.a4-field-row { display:grid; grid-template-columns:1fr 55mm; gap:5mm; }
.a4-stub-identifiers { grid-template-columns:35mm 20mm 1fr; align-items:center; border:0; padding:0; }
.a4-stub-identifiers>.a4-card-number { height:auto; padding:1.5mm; }
.a4-stub-identifiers>.qr { height:20mm; background:#fff; padding:1mm; }
.a4-stub-identifiers>.qr svg { width:100%; height:100%; }
.a4-stub-identifiers>.barcode { height:17mm; background:#fff; overflow:hidden; }
.a4-stub-identifiers>.barcode svg { width:100%; height:100%; }
.ticket-thumb .a4-ticket { transform-origin:top left; width:210mm; height:297mm; transform:scale(.42); margin-bottom:calc(-297mm * .58); }

/* Telão e controles */
.draw-screen { border-radius:22px; padding:18px; background:linear-gradient(145deg,#061a37,#0b3d78); color:#fff; box-shadow:0 20px 45px rgba(6,26,55,.25); }
.draw-screen-head { display:grid; grid-template-columns:230px minmax(0,1fr); gap:18px; align-items:stretch; }
.draw-current-panel { display:grid; align-content:center; justify-items:center; text-align:center; padding:14px; border-radius:18px; background:rgba(255,255,255,.08); }
.draw-current-panel small { color:#bfd4f6; font-weight:800; }
.draw-current-ball { width:160px; height:160px; margin:10px 0; border-radius:50%; display:grid; place-items:center; background:#f6bd19; color:#071b3b; border:7px solid #fff; box-shadow:0 14px 28px rgba(0,0,0,.2); }
.draw-current-ball span { font-size:62px; line-height:1; font-weight:900; }
.draw-current-panel>strong { font-size:18px; }
.draw-current-panel #drawStatus,.draw-current-panel #drawRoundSummary { color:#d8e8ff; margin-top:6px; }
.draw-board-wrap { min-width:0; }
.draw-board-title { display:flex; justify-content:space-between; gap:14px; margin-bottom:12px; color:#d8e8ff; }
.draw-ball-grid { grid-template-columns:repeat(15,minmax(34px,1fr)); gap:7px; }
.draw-ball-grid .ball { background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.25); font-size:14px; }
.draw-ball-grid .ball.drawn { background:#fff; color:#0b3568; border-color:#fff; }
.draw-ball-grid .ball.last { background:#f6bd19; color:#071b3b; outline:3px solid #fff; }
.draw-history { display:flex; flex-wrap:wrap; gap:7px; min-height:42px; }
.history-ball { width:39px; height:39px; border-radius:50%; display:grid; place-items:center; background:#e7edf6; color:#071b3b; font-weight:800; }
.history-ball.latest { background:#f6bd19; }
.draw-primary-command { font-size:17px; padding:13px 22px; }
.draw-options { display:flex; flex-wrap:wrap; gap:16px; padding-top:12px; border-top:1px solid var(--border); }
.draw-options label { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; }
.draw-options input { width:auto; }
.near-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.near-stat { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:12px; border:1px solid var(--border); border-radius:13px; background:#fff; }
.near-stat strong { grid-row:1/3; min-width:48px; color:#071b3b; font-size:2rem; line-height:1; text-align:center; }
.near-stat span { font-weight:900; color:#25324a; }
.near-stat small { color:var(--muted); font-weight:700; }
.near-stat.has-cards { border-color:#e1a900; background:#fff9df; }
.random-card-draw-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; align-items:center; }
.random-card-result { min-height:145px; border-radius:18px; background:#071b3b; color:#fff; display:grid; place-items:center; align-content:center; text-align:center; }
.random-card-result small { color:#bfd4f6; font-weight:800; }
.random-card-result strong { display:block; color:#f6bd19; font-size:46px; margin-top:8px; }
.random-card-history { display:flex; flex-wrap:wrap; gap:7px; }
.random-card-history>span:not(.muted) { display:inline-grid; place-items:center; min-width:55px; padding:8px 10px; border-radius:10px; background:#eef3f9; color:#071b3b; font-weight:800; }

@media (max-width:900px) {
  .draw-screen-head { grid-template-columns:1fr; }
  .draw-current-panel { grid-template-columns:auto auto; grid-template-rows:auto auto auto; column-gap:14px; }
  .draw-current-panel small { grid-column:1/-1; }
  .draw-current-ball { width:110px; height:110px; grid-row:2/5; }
  .draw-current-ball span { font-size:44px; }
  .draw-ball-grid { grid-template-columns:repeat(10,minmax(30px,1fr)); }
  .header-design-previews { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .draw-screen { padding:10px; border-radius:15px; }
  .draw-ball-grid { grid-template-columns:repeat(5,minmax(38px,1fr)); gap:6px; }
  .draw-ball-grid .ball { font-size:15px; }
  .near-summary { grid-template-columns:1fr; }
  .random-card-draw-layout { grid-template-columns:1fr; }
}

@media print {
  @page { size:A4 portrait; margin:0; }
  html,body { margin:0!important; padding:0!important; background:#fff!important; -webkit-print-color-adjust:exact!important; print-color-adjust:exact!important; }
  .a4-ticket { width:210mm!important; height:297mm!important; margin:0!important; box-shadow:none!important; }
  .a4-header,.a4-rules,.a4-stub h2,.a4-bingo-grid .head,.a4-price,.a4-card-number { -webkit-print-color-adjust:exact!important; print-color-adjust:exact!important; }
}


.draw-exit-fullscreen{position:absolute;top:14px;right:14px;z-index:10003}
#page-draw:fullscreen,#page-draw.is-telao{background:#041126;color:#fff;padding:16px;overflow:auto}
#page-draw:fullscreen .draw-screen,#page-draw.is-telao .draw-screen{min-height:calc(100vh - 32px);display:flex;align-items:center;border-radius:0;box-shadow:none}
#page-draw:fullscreen .draw-screen-head,#page-draw.is-telao .draw-screen-head{width:100%;grid-template-columns:minmax(250px,28vw) 1fr;align-items:center}
#page-draw:fullscreen .draw-current-ball,#page-draw.is-telao .draw-current-ball{width:min(25vw,260px);height:min(25vw,260px);font-size:clamp(64px,12vw,150px)}
#page-draw:fullscreen .draw-ball-grid .ball,#page-draw.is-telao .draw-ball-grid .ball{font-size:clamp(20px,2.4vw,38px);min-height:clamp(44px,5vw,72px)}
#page-draw:fullscreen .draw-history-panel,#page-draw:fullscreen .draw-command-panel,#page-draw:fullscreen > .grid,#page-draw:fullscreen > article:last-of-type,
#page-draw.is-telao .draw-history-panel,#page-draw.is-telao .draw-command-panel,#page-draw.is-telao > .grid,#page-draw.is-telao > article:last-of-type{display:none!important}
#page-draw:fullscreen .draw-operator-dock,#page-draw.is-telao .draw-operator-dock{display:grid!important;position:fixed;left:16px;right:16px;bottom:16px;max-width:none;z-index:10002}
#page-draw:fullscreen .draw-exit-fullscreen,#page-draw.is-telao .draw-exit-fullscreen{display:inline-flex!important}
.winner-stub-private{position:relative;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;background:#fff;min-height:150px}
.winner-stub-private img{width:100%;height:180px;object-fit:contain;border:0!important;border-radius:0!important;background:#fff}
.winner-stub-private .stub-phone-shield{position:absolute;left:0;right:0;bottom:0;height:42%;box-sizing:border-box;background:rgba(255,255,255,.985);border-top:1px solid #cbd5e1;padding:10px;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:900;color:#172033}
.event-ended{opacity:.88;border-style:dashed}
@media (max-width:700px){
  #page-draw:fullscreen,#page-draw.is-telao{padding:8px}
  #page-draw:fullscreen .draw-screen,#page-draw.is-telao .draw-screen{min-height:100vh;padding:8px}
  #page-draw:fullscreen .draw-screen-head,#page-draw.is-telao .draw-screen-head{grid-template-columns:1fr;gap:8px}
  #page-draw:fullscreen .draw-current-panel,#page-draw.is-telao .draw-current-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px}
  #page-draw:fullscreen .draw-current-ball,#page-draw.is-telao .draw-current-ball{width:98px;height:98px;font-size:56px;grid-row:1/5}
  #page-draw:fullscreen .draw-ball-grid .ball,#page-draw.is-telao .draw-ball-grid .ball{font-size:18px;min-height:38px}
  #page-draw:fullscreen .draw-operator-dock,#page-draw.is-telao .draw-operator-dock{left:8px;right:8px;bottom:8px}
}
#page-draw:fullscreen .draw-current-ball span,#page-draw.is-telao .draw-current-ball span{font-size:clamp(64px,12vw,150px)!important;line-height:1}
@media (max-width:700px){#page-draw:fullscreen .draw-current-ball span,#page-draw.is-telao .draw-current-ball span{font-size:56px!important}}


.modal-backdrop{z-index:20000}
.telao-branding-shell{display:none}
.draw-sponsor-config{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.draw-sponsor-config p{margin:4px 0 0}
.sponsor-upload-label{cursor:pointer}
.card-prize-draw-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.card-draw-exit-fullscreen{display:none;position:absolute;top:14px;right:14px;z-index:10006}

#page-draw.is-telao,#page-draw.is-card-telao{
  position:fixed;inset:0;z-index:10000;background:#041126;color:#fff;padding:12px;overflow:hidden;box-sizing:border-box;
}
#page-draw.is-telao .telao-branding-shell,#page-draw.is-card-telao .telao-branding-shell{
  display:grid;grid-template-columns:minmax(320px,38%) minmax(0,62%);gap:12px;height:clamp(170px,27vh,300px);width:100%;
}
.telao-event-header,.telao-sponsor-panel{min-width:0;overflow:hidden;border-radius:18px}
.telao-event-header{background:#fff;color:#071b3b;border:3px solid rgba(255,255,255,.9);display:flex}
.telao-event-header-standard{display:grid;grid-template-columns:minmax(120px,28%) 1fr;align-items:stretch;width:100%;height:100%}
.telao-event-header-standard .telao-event-image{display:grid;place-items:center;background:#eef3f9;overflow:hidden}
.telao-event-header-standard .telao-event-image img{width:100%;height:100%;object-fit:contain;padding:8px;box-sizing:border-box}
.telao-event-header-standard .telao-event-copy{display:grid;align-content:center;padding:18px 20px;min-width:0}
.telao-event-header-standard small{font-size:clamp(12px,1.3vw,20px);font-weight:800;color:#46617f}
.telao-event-header-standard h2{font-size:clamp(24px,3vw,52px);line-height:1.03;margin:5px 0 8px;color:#071b3b;white-space:normal}
.telao-event-header-standard p{font-size:clamp(12px,1.45vw,22px);font-weight:700;margin:0;color:#2e4764}
.telao-event-header-art{width:100%;height:100%;display:grid;place-items:center;background:#fff}
.telao-event-header-art img{width:100%;height:100%;object-fit:contain}
.telao-event-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:clamp(22px,3vw,46px);font-weight:900;color:#0b3d78}
.telao-sponsor-panel{position:relative;background:linear-gradient(135deg,#071b3b,#0c4d91);border:3px solid rgba(255,255,255,.32);min-height:0}
.telao-sponsor-label{position:absolute;left:12px;top:10px;z-index:2;background:rgba(4,17,38,.82);border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:5px 11px;font-size:11px;font-weight:900;letter-spacing:.08em;color:#fff}
.telao-sponsor-stage{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:#020914;color:#bfd4f6;font-weight:800;text-align:center}
.telao-sponsor-stage img,.telao-sponsor-stage video{width:100%;height:100%;object-fit:contain;display:block;background:#020914}
.telao-sponsor-stage .sponsor-caption{position:absolute;left:12px;right:12px;bottom:10px;padding:6px 10px;border-radius:10px;background:rgba(4,17,38,.76);color:#fff;font-size:12px;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#page-draw.is-telao .draw-screen{
  margin-top:12px;min-height:0!important;height:calc(100vh - clamp(170px,27vh,300px) - 150px);box-sizing:border-box;display:flex;align-items:center;padding:10px 14px;border-radius:18px;box-shadow:none;
}
#page-draw.is-telao .draw-screen-head{width:100%;grid-template-columns:minmax(225px,25vw) minmax(0,1fr);gap:16px;align-items:center}
#page-draw.is-telao .draw-current-panel{align-self:stretch;align-content:center}
#page-draw.is-telao .draw-current-ball{width:min(19vw,220px);height:min(19vw,220px);margin:8px 0}
#page-draw.is-telao .draw-current-ball span{font-size:clamp(64px,9vw,130px)!important}
#page-draw.is-telao .draw-ball-grid .ball{font-size:clamp(17px,1.85vw,31px);min-height:clamp(38px,4.1vw,59px)}
#page-draw.is-telao .draw-operator-dock{display:grid!important;position:fixed;left:12px;right:12px;bottom:10px;max-width:none;z-index:10005}
#page-draw.is-telao .draw-exit-fullscreen{display:inline-flex!important;position:fixed;top:18px;right:18px}

#page-draw.is-card-telao .draw-screen,#page-draw.is-card-telao .draw-history-panel,#page-draw.is-card-telao .draw-command-panel,#page-draw.is-card-telao > .grid,#page-draw.is-card-telao .draw-operator-dock{display:none!important}
#page-draw.is-card-telao #cardPrizeDrawPanel{
  position:relative;display:grid!important;grid-template-rows:auto 1fr;margin:12px 0 0!important;height:calc(100vh - clamp(170px,27vh,300px) - 36px);box-sizing:border-box;padding:18px 22px;border:0;border-radius:18px;background:linear-gradient(145deg,#061a37,#0b3d78);color:#fff;overflow:hidden;
}
#page-draw.is-card-telao #cardPrizeDrawPanel .card-prize-draw-heading{padding-right:105px}
#page-draw.is-card-telao #cardPrizeDrawPanel .card-prize-draw-heading h3{font-size:clamp(22px,2.4vw,40px);margin:0 0 4px;color:#fff}
#page-draw.is-card-telao #cardPrizeDrawPanel .card-prize-draw-heading p{color:#bfd4f6}
#page-draw.is-card-telao #fullscreenCardDrawBtn{display:none}
#page-draw.is-card-telao .card-draw-exit-fullscreen{display:inline-flex!important}
#page-draw.is-card-telao .random-card-draw-layout{grid-template-columns:minmax(280px,42%) minmax(0,1fr);gap:22px;min-height:0;align-items:stretch}
#page-draw.is-card-telao .random-card-result{min-height:0;height:100%;border:4px solid rgba(255,255,255,.25);background:#020914}
#page-draw.is-card-telao .random-card-result small{font-size:clamp(15px,1.5vw,24px)}
#page-draw.is-card-telao .random-card-result strong{font-size:clamp(90px,15vw,220px);line-height:1;color:#f6bd19}
#page-draw.is-card-telao .random-card-controls{display:grid;grid-template-rows:auto 1fr;gap:14px;min-height:0}
#page-draw.is-card-telao .random-card-controls .toolbar{align-self:start}
#page-draw.is-card-telao .random-card-controls .btn{font-size:clamp(14px,1.35vw,21px);padding:12px 18px}
#page-draw.is-card-telao .random-card-history{align-content:start;overflow:auto;padding:12px;border-radius:14px;background:rgba(255,255,255,.08)}
#page-draw.is-card-telao .random-card-history>span:not(.muted){font-size:clamp(16px,1.6vw,25px);background:#fff}

@media (max-width:800px){
  #page-draw.is-telao,#page-draw.is-card-telao{padding:6px;overflow:auto}
  #page-draw.is-telao .telao-branding-shell,#page-draw.is-card-telao .telao-branding-shell{grid-template-columns:1fr;height:auto;min-height:290px}
  .telao-event-header{min-height:130px}.telao-sponsor-panel{min-height:170px}
  #page-draw.is-telao .draw-screen{height:auto;min-height:430px!important;margin-top:6px;padding-bottom:116px}
  #page-draw.is-telao .draw-screen-head{grid-template-columns:1fr;gap:7px}
  #page-draw.is-telao .draw-current-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px}
  #page-draw.is-telao .draw-current-ball{width:96px;height:96px;grid-row:1/5}
  #page-draw.is-telao .draw-current-ball span{font-size:54px!important}
  #page-draw.is-telao .draw-ball-grid .ball{font-size:17px;min-height:37px}
  #page-draw.is-telao .draw-operator-dock{left:6px;right:6px;bottom:6px}
  #page-draw.is-card-telao #cardPrizeDrawPanel{height:auto;min-height:500px;margin-top:6px!important;padding:12px}
  #page-draw.is-card-telao .random-card-draw-layout{grid-template-columns:1fr}
  #page-draw.is-card-telao .random-card-result{min-height:240px}
  #page-draw.is-card-telao .random-card-result strong{font-size:100px}
}
.telao-event-header-standard{grid-template-columns:minmax(110px,25%) minmax(0,1fr) clamp(92px,10vw,145px)}
.telao-event-header-art{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(92px,10vw,145px);align-items:stretch;background:#fff}
.telao-event-art-wrap{min-width:0;display:grid;place-items:center;overflow:hidden}
.telao-event-art-wrap img{width:100%;height:100%;object-fit:contain}
.telao-event-price{display:grid;place-items:center;align-content:center;text-align:center;background:#f6bd19;color:#071b3b;padding:8px;box-sizing:border-box}
.telao-event-price small{font-size:clamp(10px,1vw,16px);font-weight:900;letter-spacing:.08em;color:#4e3c00}
.telao-event-price strong{font-size:clamp(20px,2.4vw,40px);line-height:1.05;word-break:break-word}
@media (max-width:800px){.telao-event-header-standard{grid-template-columns:90px minmax(0,1fr) 84px}.telao-event-header-standard .telao-event-copy{padding:10px}.telao-event-header-standard h2{font-size:22px}.telao-event-price strong{font-size:18px}.telao-event-header-art{grid-template-columns:minmax(0,1fr) 84px}}


#page-draw.is-telao{
  display:grid!important;
  grid-template-columns:minmax(225px,25vw) minmax(0,1fr);
  grid-template-rows:clamp(170px,27vh,300px) minmax(0,1fr);
  gap:12px;
  padding:12px 12px 150px;
  overflow:hidden;
}
#page-draw.is-telao .telao-branding-shell{
  display:contents!important;
  width:auto!important;
  height:auto!important;
}
#page-draw.is-telao .telao-sponsor-panel{
  grid-column:1;
  grid-row:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
#page-draw.is-telao .telao-event-header{
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
#page-draw.is-telao .draw-screen,
#page-draw.is-telao .draw-screen-head{
  display:contents!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  box-shadow:none!important;
}
#page-draw.is-telao .draw-current-panel{
  grid-column:1;
  grid-row:2;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  box-sizing:border-box;
  align-self:stretch;
  align-content:center;
  border:3px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,#061a37,#0b3d78);
}
#page-draw.is-telao .draw-board-wrap{
  grid-column:2;
  grid-row:2;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  box-sizing:border-box;
  overflow:hidden;
  padding:12px 14px;
  border-radius:18px;
  border:3px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,#061a37,#0b3d78);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#page-draw.is-telao .draw-ball-grid{
  min-height:0;
  align-content:center;
}

/* Cartela avulsa: o número deve permanecer integralmente dentro do quadro. */
#page-draw.is-card-telao .random-card-result{
  overflow:hidden;
  padding:18px;
  box-sizing:border-box;
}
#page-draw.is-card-telao .random-card-result strong{
  font-size:clamp(54px,9vw,140px);
  line-height:.95;
  max-width:100%;
  box-sizing:border-box;
  white-space:nowrap;
  overflow:hidden;
  text-align:center;
}

@media (max-width:800px){
  #page-draw.is-telao{
    grid-template-columns:minmax(112px,31vw) minmax(0,1fr);
    grid-template-rows:150px minmax(410px,1fr);
    gap:6px;
    padding:6px 6px 120px;
    overflow:auto;
  }
  #page-draw.is-telao .telao-event-header,
  #page-draw.is-telao .telao-sponsor-panel{min-height:0}
  #page-draw.is-telao .draw-current-panel{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto auto;
    gap:3px;
    padding:7px;
  }
  #page-draw.is-telao .draw-current-ball{
    width:min(25vw,100px);
    height:min(25vw,100px);
    margin:4px auto;
    grid-row:auto;
  }
  #page-draw.is-telao .draw-current-ball span{font-size:50px!important}
  #page-draw.is-telao .draw-board-wrap{padding:6px}
  #page-draw.is-telao .draw-ball-grid .ball{font-size:16px;min-height:35px}
  #page-draw.is-card-telao .random-card-result strong{font-size:clamp(52px,18vw,92px)}
}



#page-draw.is-telao .telao-sponsor-label,#page-draw.is-card-telao .telao-sponsor-label,
#page-draw.is-telao .sponsor-caption,#page-draw.is-card-telao .sponsor-caption{display:none!important}
#page-draw.is-telao .telao-sponsor-stage,#page-draw.is-card-telao .telao-sponsor-stage{
  position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;background:#020914;
}
#page-draw.is-telao .telao-sponsor-stage img,#page-draw.is-card-telao .telao-sponsor-stage img,
#page-draw.is-telao .telao-sponsor-stage video,#page-draw.is-card-telao .telao-sponsor-stage video{
  width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center center;display:block;background:#020914;
}
#page-draw.is-telao .telao-event-price,#page-draw.is-card-telao .telao-event-price{display:none!important}
#page-draw.is-telao .telao-event-header-standard,#page-draw.is-card-telao .telao-event-header-standard{
  grid-template-columns:minmax(120px,28%) minmax(0,1fr)!important;
}
#page-draw.is-telao .telao-event-header-art,#page-draw.is-card-telao .telao-event-header-art{
  grid-template-columns:minmax(0,1fr)!important;
}
#page-draw.is-telao .telao-event-art-wrap,#page-draw.is-card-telao .telao-event-art-wrap{width:100%;height:100%}
#page-draw.is-telao .telao-event-art-wrap img,#page-draw.is-card-telao .telao-event-art-wrap img{width:100%;height:100%;object-fit:contain;object-position:center}
@media (max-width:800px){
  #page-draw.is-telao .telao-event-header-standard,#page-draw.is-card-telao .telao-event-header-standard{grid-template-columns:90px minmax(0,1fr)!important}
  #page-draw.is-telao .telao-event-header-art,#page-draw.is-card-telao .telao-event-header-art{grid-template-columns:1fr!important}
}


#page-draw.is-card-telao{
  display:grid!important;
  grid-template-columns:minmax(225px,25vw) minmax(0,1fr);
  grid-template-rows:clamp(170px,27vh,300px) minmax(0,1fr);
  gap:12px;
  padding:12px;
  overflow:hidden;
}
#page-draw.is-card-telao .telao-branding-shell{
  display:contents!important;
  width:auto!important;
  height:auto!important;
}
#page-draw.is-card-telao .telao-sponsor-panel{
  grid-column:1;
  grid-row:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
#page-draw.is-card-telao .telao-event-header{
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
}
#page-draw.is-card-telao #cardPrizeDrawPanel{
  grid-column:1 / -1;
  grid-row:2;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0!important;
  box-sizing:border-box;
}
/* O modo normal volta sempre à geometria original do painel avulso. */
#page-draw:not(.is-card-telao) #cardPrizeDrawPanel{
  position:relative;
  width:auto;
  height:auto;
  min-height:0;
  overflow:visible;
}
#page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-draw-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:0;
}
#page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-result{
  min-height:145px;
  height:auto;
  padding:0;
  border:0;
  border-radius:18px;
  background:#071b3b;
  overflow:hidden;
}
#page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-result strong{
  font-size:46px;
  line-height:normal;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-align:center;
}
#page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-controls{
  display:block;
  min-height:0;
}
#page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-history{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  overflow:visible;
  padding:0;
  background:transparent;
}
@media (max-width:800px){
  #page-draw.is-card-telao{
    grid-template-columns:minmax(112px,31vw) minmax(0,1fr);
    grid-template-rows:150px minmax(500px,1fr);
    gap:6px;
    padding:6px;
    overflow:auto;
  }
  #page-draw.is-card-telao .telao-event-header,
  #page-draw.is-card-telao .telao-sponsor-panel{min-height:0}
  #page-draw.is-card-telao #cardPrizeDrawPanel{margin:0!important;min-height:500px;padding:12px}
  #page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-draw-layout{grid-template-columns:1fr}
  #page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-result{min-height:145px}
  #page-draw:not(.is-card-telao) #cardPrizeDrawPanel .random-card-result strong{font-size:46px}
}



.easy-intro,.easy-step,.easy-topbar{border:2px solid #cbd8e8}
.easy-title-row,.easy-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.easy-title-row h2,.easy-topbar h2{font-size:clamp(30px,4vw,48px);margin:8px 0 4px;color:#071b3b}
.easy-title-row p,.easy-topbar p{font-size:18px;margin:0;color:#475569}
.easy-badge{display:inline-block;background:#f6bd19;color:#071b3b;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900;letter-spacing:.05em}
.easy-login-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px 210px;gap:14px;align-items:end;margin-top:20px}
.easy-login-grid label,.easy-step label{font-size:17px;font-weight:900;color:#172033}
.easy-login-grid input,.easy-login-grid select,.easy-large-input{min-height:58px!important;font-size:22px!important;padding:12px 15px!important;border:2px solid #9fb0c6!important;border-radius:14px!important}
.easy-big-button{min-height:58px;font-size:19px!important;font-weight:900!important}
.easy-topbar{padding:16px 18px;border-radius:18px;background:#fff;margin-bottom:16px}
.easy-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.easy-voice-switch{display:flex;align-items:center;gap:8px;font-weight:900;font-size:16px}.easy-voice-switch input{width:24px;height:24px}
.easy-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.easy-step{background:#fff;border-radius:20px;padding:18px;position:relative;min-width:0}
.easy-step-number{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#071b3b;color:#f6bd19;font-size:24px;font-weight:900}
.easy-step h3{font-size:24px;margin:10px 0 16px;color:#071b3b}
.easy-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.easy-selected{margin-top:14px;padding:12px;border-radius:14px;background:#f5f8fc;min-height:70px}.easy-selected-title{font-weight:900;margin-bottom:8px}.easy-number-chips{display:flex;flex-wrap:wrap;gap:8px}.easy-number-chips button{border:0;background:#0b3568;color:#fff;border-radius:10px;padding:9px 12px;font-size:18px;font-weight:900}.easy-empty{color:#64748b;font-size:17px}
.easy-more{margin:14px 0;padding:12px;border:1px solid #cbd5e1;border-radius:12px}.easy-more summary{font-size:17px;font-weight:900;cursor:pointer}.easy-more .field{margin-top:10px}
.easy-total{background:#071b3b;color:#fff;border-radius:16px;padding:16px;display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.easy-total span{font-size:17px}.easy-total strong{font-size:30px;color:#f6bd19}
.easy-pay-button{width:100%;min-height:74px;border:0;border-radius:16px;font-size:22px;font-weight:900;margin:8px 0;cursor:pointer}.easy-pay-pix{background:#0b7a5c;color:#fff}.easy-pay-cash{background:#f6bd19;color:#071b3b}.easy-manual-pix{width:100%;margin-top:10px}.easy-feedback{margin-top:16px;border-radius:14px;padding:14px;background:#eef5ff;color:#0b3568;font-size:17px;font-weight:800;min-height:52px}.easy-help-modal{font-size:18px;line-height:1.5}.easy-help-modal li{margin:10px 0}
.tutorial-card video{display:block;width:100%;aspect-ratio:16/9;background:#071b3b;border-radius:14px;margin:12px 0;object-fit:contain}.tutorial-card ol{line-height:1.6}.tutorial-card li{margin:5px 0}
@media(max-width:980px){.easy-step-grid{grid-template-columns:1fr}.easy-login-grid{grid-template-columns:1fr}.easy-title-row,.easy-topbar{flex-direction:column}.easy-top-actions{justify-content:flex-start}}
@media(max-width:560px){.easy-actions{grid-template-columns:1fr}.easy-login-grid input,.easy-login-grid select,.easy-large-input{font-size:20px!important}.easy-pay-button{font-size:20px}.easy-title-row h2,.easy-topbar h2{font-size:34px}}



.auth-screen{position:fixed;inset:0;z-index:10000;background:linear-gradient(145deg,#061a37 0%,#0b3568 46%,#0b5ed7 100%);display:grid;place-items:center;padding:20px;overflow:auto}
.auth-screen.hidden{display:none!important}.auth-wrap{width:min(1100px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:28px;align-items:stretch}.auth-hero{color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:space-between;min-height:620px}.auth-logo{display:flex;align-items:center;gap:14px}.auth-logo img{width:68px;height:68px}.auth-logo h1{margin:0;font-size:32px}.auth-logo p{margin:4px 0 0;color:#c8dcff}.auth-hero h2{font-size:clamp(38px,5vw,64px);line-height:1.02;margin:40px 0 16px}.auth-hero .lead{font-size:20px;color:#dbe9ff;max-width:650px}.auth-role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}.auth-role-chip{border:1px solid rgba(255,255,255,.24);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.08);font-weight:800}.auth-card{background:#fff;border-radius:24px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.28);align-self:center}.auth-card h2{margin:0 0 6px;font-size:26px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#edf3fb;border-radius:12px;padding:5px;margin:18px 0}.auth-tab{border:0;border-radius:9px;padding:10px;font-weight:800;background:transparent}.auth-tab.active{background:#fff;color:#0b5ed7;box-shadow:0 3px 10px rgba(11,53,104,.08)}.auth-pane{display:none}.auth-pane.active{display:block}.auth-field{display:grid;gap:6px;margin:12px 0}.auth-field label{font-size:12px;font-weight:800;color:#475467}.auth-field input,.auth-field select{min-height:48px}.auth-submit{width:100%;min-height:50px;margin-top:8px}.google-btn{width:100%;min-height:50px;border:1px solid #cbd5e1;background:#fff;border-radius:11px;font-weight:800;display:flex;justify-content:center;align-items:center;gap:10px}.google-g{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#4285f4;border:1px solid #e2e8f0}.auth-divider{display:flex;align-items:center;gap:10px;color:#94a3b8;font-size:12px;margin:16px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e2e8f0}.auth-demo{margin-top:18px;border-top:1px solid #e2e8f0;padding-top:14px}.auth-demo summary{cursor:pointer;font-weight:800;color:#0b3568}.demo-accounts{display:grid;gap:7px;margin-top:10px}.demo-account{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;background:#f8fafc;border-radius:9px;font-size:12px}.auth-msg{min-height:22px;margin-top:10px;font-size:13px;font-weight:700}.auth-msg.error{color:#b42318}.auth-msg.success{color:#15803d}.auth-userbox{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:12px;background:#fff}.auth-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0b3568;color:#fff;font-weight:900}.auth-userbox strong{display:block;font-size:12px}.auth-userbox span{display:block;font-size:10px;color:#667085}.auth-logout{padding:7px 10px!important;font-size:11px!important}.superadmin-page .user-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:18px}.access-code{font-family:ui-monospace,monospace;background:#eef2f7;padding:3px 7px;border-radius:7px}.role-hidden{display:none!important}body.auth-locked .app-shell{visibility:hidden}
@media(max-width:850px){.auth-wrap{grid-template-columns:1fr}.auth-hero{min-height:auto;padding:18px}.auth-hero h2{font-size:38px;margin-top:22px}.auth-role-list{grid-template-columns:1fr 1fr}.auth-card{padding:20px}.superadmin-page .user-grid{grid-template-columns:1fr}.auth-userbox{display:none}}


.menu-overlay{display:none;position:fixed;inset:0;background:rgba(2,12,27,.45);border:0;z-index:55}
body.menu-open .menu-overlay{display:block}
@media(min-width:901px){body.menu-collapsed .app-shell{grid-template-columns:0 minmax(0,1fr)}body.menu-collapsed .sidebar{transform:translateX(-105%);visibility:hidden}.sidebar{transition:transform .2s ease,visibility .2s ease}.menu-overlay{display:none!important}}
@media(max-width:900px){body.menu-open .sidebar{left:0}body.menu-open{overflow:hidden}}
.tutorial-role-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tutorial-card.role-filter-hidden{display:none!important}
.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#f8fafc}.faq-list summary{cursor:pointer;font-weight:900;color:#0b3568}.faq-list p{margin:10px 0 2px;line-height:1.55}.faq-list details.role-filter-hidden{display:none!important}
.photo-capture-field{min-width:0}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0 8px}.photo-preview{min-height:90px;border:1px dashed #aab8ca;border-radius:12px;background:#f8fafc;padding:9px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;overflow:hidden}.photo-preview img{width:110px;height:82px;object-fit:contain;background:#fff;border:1px solid #d5dde8;border-radius:9px}.photo-preview .photo-note{width:100%;font-size:12px;color:#667085}
.easy-city-state-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px}.easy-uf-field input{width:76px!important;max-width:76px!important;text-align:center;text-transform:uppercase;padding-left:7px!important;padding-right:7px!important}
#dashboardAdminsCard.role-hidden,.superadmin-only.role-hidden{display:none!important}.event-admin-line{margin-top:4px;font-weight:700;color:#475467}.admin-chip{display:inline-flex;align-items:center;gap:5px;background:#eef5ff;color:#0b3568;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}
.user-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:18px}

.raffle-draw-panel{position:relative;background:#071b3b;color:#fff;border-radius:18px;padding:14px;overflow:hidden}.raffle-telao-grid{display:grid;grid-template-columns:minmax(260px,33.333%) minmax(0,1fr);gap:14px;min-height:560px}.raffle-card-stage{background:#fff;border-radius:16px;display:grid;place-items:center;position:relative;overflow:hidden;min-height:560px}.raffle-card-stage img{width:100%;height:100%;object-fit:contain;object-position:center}.raffle-card-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#667085;font-weight:900;letter-spacing:.08em}.raffle-telao-main{display:grid;grid-template-rows:180px minmax(0,1fr) auto;gap:12px;min-width:0}.raffle-sponsor-stage{border-radius:16px;background:#020a16;display:grid;place-items:center;overflow:hidden;min-height:180px}.raffle-sponsor-stage img,.raffle-sponsor-stage video{width:100%;height:100%;object-fit:contain;object-position:center;background:#020a16}.raffle-result-stage{border-radius:16px;background:#0b3568;display:grid;place-items:center;align-content:center;text-align:center;padding:20px;min-height:260px}.raffle-result-stage small{color:#cbd5e1;font-weight:900}.raffle-result-stage strong{font-size:clamp(72px,12vw,180px);line-height:.95;color:#f6bd19;max-width:100%;overflow-wrap:anywhere}.raffle-buyer-info{font-size:18px;margin-top:14px;line-height:1.5}.raffle-fixed-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;background:#071b3b;padding-top:8px}.raffle-telao-exit{position:absolute;right:14px;top:14px;z-index:10010}.raffle-status-ended{opacity:.72}
#page-raffles.is-raffle-telao{position:fixed;inset:0;z-index:10000;background:#041126;padding:8px;overflow:hidden}.is-raffle-telao>:not(#raffleDrawPanel){display:none!important}.is-raffle-telao #raffleDrawPanel{display:block!important;margin:0!important;height:100%;border-radius:0;padding:8px}.is-raffle-telao .raffle-telao-grid{height:100%;min-height:0;grid-template-columns:33.333% minmax(0,1fr)}.is-raffle-telao .raffle-card-stage{height:100%;min-height:0}.is-raffle-telao .raffle-telao-main{grid-template-rows:25% minmax(0,1fr) auto;height:100%}.is-raffle-telao .raffle-sponsor-stage{min-height:0}.is-raffle-telao .raffle-result-stage{min-height:0}.is-raffle-telao .raffle-fixed-actions{position:absolute;right:16px;bottom:16px;left:calc(33.333% + 28px);background:rgba(4,17,38,.92);padding:10px;border-radius:12px}.is-raffle-telao .raffle-telao-exit{display:block!important}
@media(max-width:800px){.tutorial-role-wrap{grid-template-columns:1fr}.user-grid{grid-template-columns:1fr}.raffle-telao-grid{grid-template-columns:1fr;min-height:0}.raffle-card-stage{min-height:300px;max-height:440px}.raffle-telao-main{grid-template-rows:150px minmax(240px,1fr) auto}.is-raffle-telao{overflow:auto!important}.is-raffle-telao #raffleDrawPanel{height:auto;min-height:100%}.is-raffle-telao .raffle-telao-grid{grid-template-columns:1fr;height:auto}.is-raffle-telao .raffle-card-stage{height:42vh}.is-raffle-telao .raffle-telao-main{height:auto}.is-raffle-telao .raffle-fixed-actions{position:sticky;left:auto;right:auto;bottom:0}.easy-city-state-row{grid-template-columns:minmax(0,1fr) 70px}.easy-uf-field input{width:70px!important;max-width:70px!important}}

@media print{
  @page{size:A4 portrait;margin:0}
  .a4-ticket{width:210mm!important;height:297mm!important;break-after:page!important;page-break-after:always!important}
}


.group-tree{display:grid;gap:12px}.group-tree-node{border:1px solid var(--border);border-radius:14px;padding:13px;background:#f8fafc}.group-tree-title{display:flex;gap:10px;align-items:center;font-size:16px}.group-tree-title>span{font-size:25px}.group-branches{margin:10px 0 0 28px;display:grid;gap:9px}.group-branch{border-left:2px solid #b7c8dd;padding-left:12px}.group-leaf{margin:7px 0 0 20px;font-size:13px}.group-own-summary{padding:14px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}
.raffle-admin-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#eef6ff;color:#25466c;font-weight:700;font-size:13px}
.raffle-buyer-screen{position:fixed;inset:0;z-index:20000;background:rgba(2,9,20,.97);overflow:auto;padding:18px}.raffle-buyer-shell{max-width:1180px;margin:auto;background:#f7f9fc;border-radius:18px;padding:18px;min-height:calc(100vh - 36px)}.raffle-buyer-head{margin-bottom:16px}.raffle-buyer-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px;margin:40px auto}.raffle-buyer-auth .field{margin-bottom:10px}.raffle-buyer-portal{display:grid;gap:16px}.raffle-number-grid{display:grid;grid-template-columns:repeat(10,minmax(42px,1fr));gap:8px}.raffle-number-btn{border:1px solid #aec0d5;background:#fff;color:#102a49;border-radius:10px;padding:10px 4px;font-weight:900;cursor:pointer}.raffle-number-btn:hover{border-color:#0b5fad}.raffle-number-btn.selected{background:#f6bd19;color:#071b3b;border-color:#d69f00}.raffle-number-btn.sold{background:#dce2e8;color:#8a98a8;text-decoration:line-through;cursor:not-allowed}.raffle-buyer-checkout{position:sticky;bottom:8px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:2px solid #d2dce7}.raffle-buyer-checkout #rbPixBtn{min-width:180px}
/* O painel normal não carrega mídia pesada até o telão ser acionado. */
#page-raffles:not(.is-raffle-telao) .raffle-sponsor-stage{min-height:120px;background:#071b3b}
/* Telão da rifa: card à esquerda (1/3), patrocinador com as mesmas dimensões-base do telão do bingo e resultado sem sobreposição. */
#page-raffles.is-raffle-telao .raffle-telao-grid{grid-template-columns:33.333% minmax(0,1fr);height:100%;gap:12px}
#page-raffles.is-raffle-telao .raffle-telao-main{display:grid;grid-template-columns:minmax(225px,25vw) minmax(0,1fr);grid-template-rows:clamp(170px,27vh,300px) minmax(0,1fr) auto;gap:12px;height:100%;min-height:0}
#page-raffles.is-raffle-telao .raffle-sponsor-stage{grid-column:1;grid-row:1;width:100%;height:100%;min-height:0;border:3px solid rgba(255,255,255,.32)}
#page-raffles.is-raffle-telao .raffle-result-stage{grid-column:2;grid-row:1/3;min-height:0;height:100%;padding:18px 18px 28px}
#page-raffles.is-raffle-telao .raffle-fixed-actions{grid-column:1/3;grid-row:3;position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0;background:rgba(4,17,38,.96);padding:10px;border-radius:12px;z-index:2}
#page-raffles.is-raffle-telao .raffle-buyer-info{display:none!important}
#page-raffles.is-raffle-telao .raffle-result-stage strong{font-size:clamp(70px,11vw,170px)}
@media(max-width:900px){.raffle-buyer-auth{grid-template-columns:1fr}.raffle-number-grid{grid-template-columns:repeat(5,minmax(44px,1fr))}#page-raffles.is-raffle-telao .raffle-telao-main{grid-template-columns:1fr;grid-template-rows:170px minmax(260px,1fr) auto}#page-raffles.is-raffle-telao .raffle-sponsor-stage{grid-column:1;grid-row:1}#page-raffles.is-raffle-telao .raffle-result-stage{grid-column:1;grid-row:2}#page-raffles.is-raffle-telao .raffle-fixed-actions{grid-column:1;grid-row:3}.raffle-buyer-shell{padding:10px}.raffle-buyer-screen{padding:6px}}



/* Cores por evento — aplicadas somente dentro da cartela */
.a4-ticket{
  background:var(--ticket-bg,#fff)!important;
  color:var(--ticket-primary,#071b3b)!important;
  grid-template-rows:minmax(0,1fr) 7mm 78mm;
}
.a4-header,.a4-rules,.a4-stub h2{background:var(--ticket-primary,#071b3b)!important}
.a4-header{color:#fff}
.a4-price,.a4-card-number{background:var(--ticket-accent,#f6bd19)!important;color:var(--ticket-primary,#071b3b)!important}
.a4-event-title small{color:var(--ticket-accent,#f6bd19)!important}
.a4-bingo-grid .head{background:var(--ticket-bingo,#0c2d60)!important;color:var(--ticket-accent,#f6bd19)!important}
.a4-bingo-grid{border-color:var(--ticket-primary,#071b3b)!important}
.a4-round{border-color:var(--ticket-bingo,#0c2d60)!important}
.a4-round-title strong{color:var(--ticket-primary,#071b3b)!important;font-size:3.55mm!important;line-height:1.08!important}
.a4-round-title small{font-size:3.25mm!important;line-height:1.08!important;font-weight:800!important}
.count-7 .a4-round-title strong,.count-8 .a4-round-title strong,.count-9 .a4-round-title strong,.count-10 .a4-round-title strong,.count-11 .a4-round-title strong,.count-12 .a4-round-title strong{font-size:3.15mm!important}
.count-7 .a4-round-title small,.count-8 .a4-round-title small,.count-9 .a4-round-title small,.count-10 .a4-round-title small,.count-11 .a4-round-title small,.count-12 .a4-round-title small{font-size:2.95mm!important}
.a4-cut-line{font-size:3.2mm}
.a4-cut-line b{background:var(--ticket-bg,#fff)!important}
.a4-cut-line span{background:var(--ticket-bg,#fff)!important}
.a4-cut-line:before{border-top-color:var(--ticket-primary,#26364d)!important}
.a4-stub{
  box-sizing:border-box;
  margin:0 4mm 0;
  padding:2.5mm 8mm 3mm;
  grid-template-rows:8.5mm minmax(0,1fr) 26mm;
  gap:1.5mm;
  border-color:var(--ticket-bingo,#0c2d60)!important;
  min-height:0;
  overflow:hidden;
}
.a4-buyer-fields{gap:1mm;font-size:2.9mm;min-height:0}
.a4-buyer-fields span{height:4.5mm}
.a4-stub-identifiers{grid-template-columns:34mm 22mm minmax(0,1fr);gap:2mm;align-items:center;min-height:0}
.a4-stub-identifiers>.a4-card-number{height:19mm!important;padding:1mm!important}
.a4-stub-identifiers>.qr{height:22mm!important;padding:.5mm!important}
.a4-stub-barcode{height:24mm;display:grid;grid-template-rows:minmax(0,1fr) 4.5mm;gap:.3mm;min-width:0;overflow:hidden;background:#fff}
.a4-stub-barcode>.barcode{height:19mm!important;min-width:0;overflow:hidden;background:#fff}
.a4-stub-barcode>.barcode svg{width:100%;height:100%;display:block}
.a4-barcode-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:3.1mm;font-weight:900;line-height:1;text-align:center;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a4-identifiers>.barcode svg,.a4-stub-identifiers .barcode svg{overflow:visible}

/* O placeholder do card só pode aparecer quando não houver imagem */
.raffle-card-placeholder[hidden]{display:none!important}
.raffle-card-stage img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center center!important;box-sizing:border-box;padding:6px}

/* Telão da rifa: patrocinadores centralizados verticalmente, sem sobrepor ações */
#page-raffles.is-raffle-telao .raffle-telao-main{
  display:grid;
  grid-template-columns:minmax(225px,25vw) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto;
  gap:12px;
  height:100%;
  min-height:0;
}
#page-raffles.is-raffle-telao .raffle-sponsor-stage{
  grid-column:1;
  grid-row:1;
  align-self:center;
  width:100%;
  height:clamp(180px,30vh,320px);
  min-height:0;
  border:3px solid rgba(255,255,255,.32);
}
#page-raffles.is-raffle-telao .raffle-result-stage{
  grid-column:2;
  grid-row:1;
  min-height:0;
  height:100%;
  padding:18px 18px 28px;
}
#page-raffles.is-raffle-telao .raffle-fixed-actions{
  grid-column:1/3;
  grid-row:2;
  position:static!important;
  left:auto!important;right:auto!important;bottom:auto!important;
  margin:0;
  background:rgba(4,17,38,.96);
  padding:10px;
  border-radius:12px;
  z-index:2;
}
@media(max-width:900px){
  #page-raffles.is-raffle-telao .raffle-telao-main{grid-template-columns:1fr;grid-template-rows:auto minmax(260px,1fr) auto}
  #page-raffles.is-raffle-telao .raffle-sponsor-stage{grid-column:1;grid-row:1;align-self:center;height:170px}
  #page-raffles.is-raffle-telao .raffle-result-stage{grid-column:1;grid-row:2}
  #page-raffles.is-raffle-telao .raffle-fixed-actions{grid-column:1;grid-row:3}
}



.a4-main-barcode{height:24mm;display:grid;grid-template-rows:minmax(0,1fr) 4.5mm;gap:.3mm;min-width:0;overflow:hidden;background:#fff}
.a4-main-barcode>.barcode{height:19mm!important;min-width:0;overflow:hidden;background:#fff}
.a4-main-barcode>.barcode svg{width:100%;height:100%;display:block}
.a4-main-barcode .a4-barcode-code,.a4-stub-barcode .a4-barcode-code{font-size:3.1mm!important;font-weight:900!important;line-height:1!important;letter-spacing:.05mm}
.a4-stub-barcode .barcode text,.a4-main-barcode .barcode text{display:none!important}
.raffle-prize-entry{display:grid;gap:4px;min-width:min(330px,100%);flex:1 1 300px;background:rgba(255,255,255,.08);padding:7px 9px;border-radius:10px}
.raffle-prize-entry label{font-size:12px;font-weight:900;color:#e5edf7;text-transform:uppercase;letter-spacing:.03em}
.raffle-prize-entry input{width:100%;min-height:38px;border-radius:8px;border:1px solid #71809a;padding:8px 10px;font-size:15px;font-weight:800;background:#fff;color:#172033}
#page-raffles.is-raffle-telao .raffle-fixed-actions{align-items:end}
@media(max-width:900px){.raffle-prize-entry{flex-basis:100%}.a4-barcode-code{font-size:3mm!important}}


/* O SVG do código de barras elimina a antiga faixa vazia
   reservada para texto. Aqui deixamos o código digitável o mais próximo
   possível das barras, sem encostar nelas. */
.a4-main-barcode,
.a4-stub-barcode{
  grid-template-rows:minmax(0,1fr) 4.5mm!important;
  gap:.05mm!important;
}
.a4-main-barcode>.barcode,
.a4-stub-barcode>.barcode{
  height:19.35mm!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
}
.a4-main-barcode>.barcode svg,
.a4-stub-barcode>.barcode svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
.a4-main-barcode .a4-barcode-code,
.a4-stub-barcode .a4-barcode-code{
  margin:0!important;
  padding:0!important;
  align-self:start;
  line-height:1!important;
}

/* De 9 a 12 prêmios: quatro quadros por linha, três linhas com altura
   idêntica e última linha centralizada automaticamente. Evita o efeito
   de uma última fileira deformada quando ela tem 1, 2 ou 3 quadros. */
.a4-ticket.count-9 .a4-prize-grids,
.a4-ticket.count-10 .a4-prize-grids,
.a4-ticket.count-11 .a4-prize-grids,
.a4-ticket.count-12 .a4-prize-grids{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  align-content:stretch;
  align-items:stretch;
  column-gap:1.5mm!important;
  row-gap:1.5mm!important;
  min-height:0;
  overflow:hidden;
}
.a4-ticket.count-9 .a4-prize-grids>.a4-round,
.a4-ticket.count-10 .a4-prize-grids>.a4-round,
.a4-ticket.count-11 .a4-prize-grids>.a4-round,
.a4-ticket.count-12 .a4-prize-grids>.a4-round{
  flex:0 0 calc((100% - 4.5mm)/4);
  height:calc((100% - 3mm)/3);
  min-height:0;
  box-sizing:border-box;
  grid-template-rows:11.5mm minmax(0,1fr);
  gap:.6mm;
  padding:1mm;
}
.a4-ticket.count-9 .a4-prize-image,
.a4-ticket.count-10 .a4-prize-image,
.a4-ticket.count-11 .a4-prize-image,
.a4-ticket.count-12 .a4-prize-image{
  width:9.5mm;
  height:9.5mm;
}
.a4-ticket.count-9 .a4-round-title,
.a4-ticket.count-10 .a4-round-title,
.a4-ticket.count-11 .a4-round-title,
.a4-ticket.count-12 .a4-round-title{
  grid-template-columns:9.5mm minmax(0,1fr);
  gap:1mm;
}
.a4-ticket.count-9 .a4-round-title strong,
.a4-ticket.count-10 .a4-round-title strong,
.a4-ticket.count-11 .a4-round-title strong,
.a4-ticket.count-12 .a4-round-title strong{
  font-size:2.95mm!important;
  line-height:1!important;
}
.a4-ticket.count-9 .a4-round-title small,
.a4-ticket.count-10 .a4-round-title small,
.a4-ticket.count-11 .a4-round-title small,
.a4-ticket.count-12 .a4-round-title small{
  font-size:2.7mm!important;
  line-height:1!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.a4-ticket.count-9 .a4-bingo-grid div,
.a4-ticket.count-10 .a4-bingo-grid div,
.a4-ticket.count-11 .a4-bingo-grid div,
.a4-ticket.count-12 .a4-bingo-grid div{
  font-size:2.65mm!important;
  min-height:0;
}
.a4-ticket.count-9 .a4-bingo-grid .head,
.a4-ticket.count-10 .a4-bingo-grid .head,
.a4-ticket.count-11 .a4-bingo-grid .head,
.a4-ticket.count-12 .a4-bingo-grid .head{
  font-size:2.75mm!important;
}
.a4-ticket.count-9 .a4-bingo-grid .free,
.a4-ticket.count-10 .a4-bingo-grid .free,
.a4-ticket.count-11 .a4-bingo-grid .free,
.a4-ticket.count-12 .a4-bingo-grid .free{
  font-size:2.05mm!important;
}

/* Aproveita alguns milímetros no rodapé da área principal para que os
   quadros com muitos prêmios tenham mais altura, mantendo Modalidades,
   Nº da Cartela, QR Code e código de barras abaixo deles e dentro do A4. */
.a4-ticket.count-9 .a4-main,
.a4-ticket.count-10 .a4-main,
.a4-ticket.count-11 .a4-main,
.a4-ticket.count-12 .a4-main{
  padding-bottom:1.2mm;
  grid-template-rows:40mm minmax(0,1fr) 20mm;
  row-gap:2mm;
}

/* Grade matemática de 8 colunas lógicas.
   Cada quadro ocupa 2 colunas, resultando em 4 quadros por linha.
   A última linha de 9/10/11 prêmios é centralizada sem aumentar nenhum quadro. */
.a4-ticket.count-9 .a4-prize-grids,
.a4-ticket.count-10 .a4-prize-grids,
.a4-ticket.count-11 .a4-prize-grids,
.a4-ticket.count-12 .a4-prize-grids{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:1.2mm!important;
  align-content:stretch!important;
  justify-content:stretch!important;
  overflow:hidden;
}
.a4-ticket.count-9 .a4-prize-grids>.a4-round,
.a4-ticket.count-10 .a4-prize-grids>.a4-round,
.a4-ticket.count-11 .a4-prize-grids>.a4-round,
.a4-ticket.count-12 .a4-prize-grids>.a4-round{
  grid-column:span 2;
  width:auto!important;
  height:auto!important;
  min-height:0;
  min-width:0;
  overflow:hidden;
}
.a4-ticket.count-9 .a4-prize-grids>.a4-round:nth-child(9){grid-column:4 / span 2;}
.a4-ticket.count-10 .a4-prize-grids>.a4-round:nth-child(9){grid-column:3 / span 2;}
.a4-ticket.count-10 .a4-prize-grids>.a4-round:nth-child(10){grid-column:5 / span 2;}
.a4-ticket.count-11 .a4-prize-grids>.a4-round:nth-child(9){grid-column:2 / span 2;}
.a4-ticket.count-11 .a4-prize-grids>.a4-round:nth-child(10){grid-column:4 / span 2;}
.a4-ticket.count-11 .a4-prize-grids>.a4-round:nth-child(11){grid-column:6 / span 2;}
\n\n/* MaxVirtus 75 Final — cartela frente e verso */
.a4-ticket.mv-front,.a4-ticket.mv-back{width:210mm;height:297mm;display:grid;overflow:hidden;box-sizing:border-box;break-after:page;page-break-after:always;background:#fff}
.a4-ticket.mv-front{grid-template-rows:minmax(0,1fr) 8mm 68mm}
.mv-front-main{padding:8mm 8mm 3mm;display:grid;grid-template-rows:minmax(0,1fr) 28mm;gap:3mm;min-height:0}
.mv-promo-art{border:1px solid #d6deea;border-radius:3mm;overflow:hidden;display:grid;place-items:center;background:#fff;min-height:0}
.mv-promo-art img{width:100%;height:100%;object-fit:contain;object-position:center}
.mv-promo-placeholder{text-align:center;font-weight:900;color:#667085;font-size:7mm}.mv-promo-placeholder small{font-size:4mm}
.mv-front-info{display:grid;grid-template-columns:minmax(0,1fr) 108mm;gap:3mm;align-items:stretch}
.mv-front-info .a4-rules{border-radius:2mm;padding:2mm;display:flex;align-items:center}
.mv-identifiers{display:grid;grid-template-columns:34mm 22mm minmax(0,1fr);gap:2mm;align-items:center;min-width:0}
.mv-identifiers>.a4-card-number{height:19mm!important;padding:1mm!important}.mv-identifiers>.qr{height:22mm!important;padding:.5mm!important}
.a4-ticket.mv-back{grid-template-rows:minmax(0,1fr) 76mm}
.mv-back-main{padding:8mm 8mm 3mm;display:grid;grid-template-rows:25mm minmax(0,1fr);gap:3mm;min-height:0}
.mv-back-top{display:flex;justify-content:flex-end}.mv-back-top .mv-identifiers{width:108mm}
.mv-back-main .a4-prize-grids{min-height:0}
.mv-back-safe{margin:0 4mm;border-top:1px dashed #aab8ca;display:grid;place-items:center;color:#a0a9b6;font-size:3mm;font-weight:700;text-align:center}
@media print{.a4-ticket.mv-front,.a4-ticket.mv-back{transform:none!important;margin:0!important}}
