/* Frontend Design System — Bingo Online */
:root{--bgo-bg:#07111f;--bgo-panel:#0e1a2b;--bgo-panel-2:#122238;--bgo-line:#22334b;--bgo-text:#f5f7fb;--bgo-muted:#9fb0c5;--bgo-gold:#f5c451;--bgo-green:#2bd28a;--bgo-blue:#5aa7ff;--bgo-danger:#ff6474;--bgo-radius:16px}
.modern-ui{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:#07111f!important;color:var(--bgo-text)!important;line-height:1.5;overflow-x:hidden}
.modern-ui *, .modern-ui *::before,.modern-ui *::after{box-sizing:border-box}
.modern-ui a,.modern-ui button,.modern-ui input,.modern-ui select,.modern-ui textarea{transition:border-color .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease}
.modern-ui :focus-visible{outline:3px solid rgba(90,167,255,.36)!important;outline-offset:2px!important}
.modern-ui .sidebar{background:#0a1524!important;border-right:1px solid var(--bgo-line)!important;box-shadow:none!important}
.modern-ui .sidebar-header{background:#0a1524!important;border-bottom:1px solid var(--bgo-line)!important}
.modern-ui .sidebar-header h2,.modern-ui .user-info{color:#eaf1f8!important}
.modern-ui .user-balance{background:#15263b!important;color:#fff!important;border:1px solid #2e4561!important;box-shadow:none!important}
.modern-ui .sidebar-menu,.modern-ui .nav{padding-top:10px}
.modern-ui .menu-item,.modern-ui .sidebar a{color:#afc0d2!important;border-radius:11px!important;border-left:0!important;margin:3px 8px!important;min-height:44px!important}
.modern-ui .menu-item:hover,.modern-ui .sidebar a:hover{background:#15263b!important;color:#fff!important}
.modern-ui .menu-item.active,.modern-ui .sidebar a.active{background:#15263b!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--bgo-gold)!important}
.modern-ui .deposit-btn{background:var(--bgo-gold)!important;color:#221a07!important;border-radius:12px!important;box-shadow:none!important}
.modern-ui .main-content,.modern-ui .content{background:#07111f!important;color:var(--bgo-text)!important}
.modern-ui .header,.modern-ui .mobile-header{border-color:var(--bgo-line)!important}
.modern-ui .card,.modern-ui .info-card,.modern-ui .profile-container,.modern-ui .stats-card,.modern-ui .form-container,.modern-ui .historico-container,.modern-ui .user-card,.modern-ui .modal-content{background:#0e1a2b!important;color:var(--bgo-text)!important;border:1px solid var(--bgo-line)!important;box-shadow:none!important;border-radius:var(--bgo-radius)!important}
.modern-ui .card-header{background:#122238!important;color:#fff!important;border-bottom:1px solid var(--bgo-line)!important}
.modern-ui h1,.modern-ui h2,.modern-ui h3,.modern-ui h4,.modern-ui h5,.modern-ui h6{color:#fff!important;letter-spacing:-.015em}
.modern-ui p,.modern-ui small,.modern-ui .text-muted,.modern-ui .subtitle,.modern-ui .card-subtitle,.modern-ui .info-label{color:var(--bgo-muted)!important}
.modern-ui input:not([type=checkbox]):not([type=radio]),.modern-ui select,.modern-ui textarea,.modern-ui .form-control{background:#091525!important;color:#fff!important;border:1px solid #2a3d56!important;border-radius:11px!important;min-height:44px!important;box-shadow:none!important}
.modern-ui input::placeholder,.modern-ui textarea::placeholder{color:#6f849b!important}
.modern-ui input:focus,.modern-ui select:focus,.modern-ui textarea:focus,.modern-ui .form-control:focus{border-color:var(--bgo-blue)!important;box-shadow:0 0 0 3px rgba(90,167,255,.12)!important}
.modern-ui input:disabled,.modern-ui select:disabled,.modern-ui textarea:disabled{opacity:.6!important;background:#0c1726!important}
.modern-ui .btn,.modern-ui button.btn,.modern-ui .btn-submit,.modern-ui .download-app-btn{border-radius:11px!important;box-shadow:none!important;font-weight:700!important;min-height:42px}
.modern-ui .btn-primary,.modern-ui .btn-submit{background:var(--bgo-gold)!important;border-color:var(--bgo-gold)!important;color:#241c08!important}
.modern-ui .btn-success{background:#1da86d!important;border-color:#1da86d!important;color:#fff!important}
.modern-ui .btn-danger{background:#3a1a20!important;border-color:#69323c!important;color:#ffc2c8!important}
.modern-ui .btn-secondary,.modern-ui .btn-light{background:#15263b!important;border-color:#35506d!important;color:#fff!important}
.modern-ui table,.modern-ui .table{--bs-table-bg:transparent!important;--bs-table-color:#e9f1f8!important;--bs-table-border-color:#263a53!important;color:#e9f1f8!important;background:transparent!important}
.modern-ui table thead th,.modern-ui .table thead th{background:#122238!important;color:#dbe7f3!important;border-color:#2a3d56!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.05em}
.modern-ui table td,.modern-ui .table td{border-color:#22334b!important;color:#d7e2ed!important}
.modern-ui .table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:#0b1726!important;color:#d7e2ed!important}
.modern-ui .badge{border-radius:999px!important;padding:.5em .7em!important}
.modern-ui .bg-success{background:#174c39!important}.modern-ui .bg-warning{background:#4b3b18!important;color:#ffe6a0!important}.modern-ui .bg-danger{background:#4a2028!important}
.modern-ui .alert-success{background:#0e261e!important;border-color:#28513f!important;color:#bdebd7!important}.modern-ui .alert-danger{background:#29171c!important;border-color:#61313a!important;color:#ffc2c8!important}.modern-ui .alert-warning{background:#2b2415!important;border-color:#554824!important;color:#f8da8d!important}
.modern-ui .overlay,.modern-ui .sidebar-backdrop{background:rgba(2,8,17,.7)!important}
.modern-ui .toast{background:#122238!important;color:#fff!important;border:1px solid #2a3d56!important;box-shadow:0 12px 36px rgba(0,0,0,.26)!important}
.modern-ui .modal{backdrop-filter:none!important}.modern-ui .modal-header,.modern-ui .modal-footer{border-color:#22334b!important}.modern-ui .btn-close{filter:invert(1) grayscale(1)}
.modern-ui .pagination .page-link{background:#0e1a2b!important;border-color:#2a3d56!important;color:#c8d8e8!important}.modern-ui .pagination .active .page-link{background:#f5c451!important;border-color:#f5c451!important;color:#241c08!important}
.modern-ui code{color:#bcd9f5;background:#091525;border:1px solid #22334b;border-radius:7px;padding:2px 5px}
.modern-ui hr{border-color:#22334b!important;opacity:1}
.modern-ui .menu-toggle{background:#15263b!important;color:#fff!important;border:1px solid #35506d!important;border-radius:10px!important}
@media(max-width:767px){.modern-ui .content,.modern-ui .main-content{padding-left:14px!important;padding-right:14px!important}.modern-ui .card,.modern-ui .info-card,.modern-ui .profile-container{border-radius:14px!important}.modern-ui input,.modern-ui select,.modern-ui textarea{font-size:16px!important}.modern-ui .table-responsive{border:1px solid var(--bgo-line);border-radius:12px}}
@media(prefers-reduced-motion:reduce){.modern-ui *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ===== Frontend Design System v2 — compatibilidade total com o tema legado ===== */
.modern-ui{
  --primary-color:#5aa7ff!important;
  --primary-hover:#378cf0!important;
  --secondary-color:#f5c451!important;
  --secondary-dark:#d9a72d!important;
  --success-color:#2bd28a!important;
  --error-color:#ff6474!important;
  --warning-color:#f5c451!important;
  --neutral-bg-light:#0e1a2b!important;
  --neutral-bg-dark:#122238!important;
  --neutral-border:#22334b!important;
  --neutral-text:#dce7f2!important;
  --neutral-grey:#9fb0c5!important;
  --secondary-text-light:#9fb0c5!important;
  --bg-color:#07111f!important;
  --card-bg:#0e1a2b!important;
  --text-color:#f5f7fb!important;
  --link-hover-color:#7cbbff!important;
  --active-bg:#122238!important;
  min-width:0!important;
}

.modern-ui body,.modern-ui main,.modern-ui section,.modern-ui article,.modern-ui aside,.modern-ui div{min-width:0}
.modern-ui img,.modern-ui video,.modern-ui canvas,.modern-ui svg{max-width:100%}
.modern-ui a{color:inherit}
.modern-ui label,.modern-ui .form-label{color:#d8e5f1!important}

/* Auth: elimina o cartão branco e melhora leitura em celular */
.modern-ui.auth-page{
  background:
    radial-gradient(circle at 15% 10%,rgba(90,167,255,.12),transparent 28rem),
    radial-gradient(circle at 85% 85%,rgba(245,196,81,.08),transparent 26rem),
    #07111f!important;
  color:var(--bgo-text)!important;
  min-height:100vh;
  padding:clamp(14px,4vw,32px)!important;
}
.modern-ui.auth-page .container{
  background:#0e1a2b!important;
  color:#f5f7fb!important;
  border:1px solid #22334b!important;
  box-shadow:0 22px 70px rgba(0,0,0,.28)!important;
  border-radius:22px!important;
  padding:clamp(22px,5vw,34px)!important;
  max-width:430px!important;
}
.modern-ui.auth-page .header{background:transparent!important;border:0!important}
.modern-ui.auth-page .logo{width:min(170px,48vw)!important;height:auto!important;background:transparent!important;overflow:visible!important}
.modern-ui.auth-page .logo img{object-fit:contain!important;border-radius:0!important}
.modern-ui.auth-page .divider{border-color:#263a53!important}
.modern-ui.auth-page .divider span{background:#0e1a2b!important;color:#7f93a8!important}
.modern-ui.auth-page .forgot-password a,
.modern-ui.auth-page .register-link a,
.modern-ui.auth-page .login-link a{color:#8bc4ff!important;text-decoration:none!important}
.modern-ui.auth-page .home-link{display:flex;justify-content:center;margin-top:16px}
.modern-ui.auth-page .home-link a{color:#9fb0c5!important;text-decoration:none;font-size:13px}
.modern-ui.auth-page .home-link a:hover{color:#fff!important}
.modern-ui.auth-page .btn-primary{min-height:50px!important;border-radius:13px!important;background:#f5c451!important;color:#231b08!important;box-shadow:none!important}
.modern-ui.auth-page .modal-content{background:#0e1a2b!important;color:#eaf2fa!important;border:1px solid #2a3d56!important}
.modern-ui.auth-page .modal-content p,.modern-ui.auth-page .checkbox-text{color:#aebfd0!important}
.modern-ui.auth-page .checkmark{background:#091525!important;border-color:#35506d!important}

/* Jogo: converte as superfícies antigas para o novo sistema visual */
.modern-ui.game-page .game-header,
.modern-ui.game-page .winners-panel,
.modern-ui.game-page .bingo-area,
.modern-ui.game-page .purchase-panel,
.modern-ui.game-page .players-panel,
.modern-ui.game-page .game-container,
.modern-ui.game-page .last-four-balls,
.modern-ui.game-page .numbers-board,
.modern-ui.game-page .cartela,
.modern-ui.game-page .mobile-header{
  background:#0e1a2b!important;
  color:#eaf2fa!important;
  border-color:#22334b!important;
  box-shadow:none!important;
}
.modern-ui.game-page .game-header{border-radius:18px!important}
.modern-ui.game-page .bingo-area,
.modern-ui.game-page .purchase-panel,
.modern-ui.game-page .players-panel{border-radius:16px!important}
.modern-ui.game-page .players-online,
.modern-ui.game-page .winner-item,
.modern-ui.game-page .purchase-info,
.modern-ui.game-page .empty-cartelas{background:#122238!important;color:#dbe7f3!important;border-color:#263a53!important}
.modern-ui.game-page .section-title,
.modern-ui.game-page .winner-name,
.modern-ui.game-page .player-id,
.modern-ui.game-page .info-value,
.modern-ui.game-page .cartela-header{color:#dce7f2!important}
.modern-ui.game-page .board-number,
.modern-ui.game-page .cartela-number{
  background:#0a1524!important;
  color:#aebfd0!important;
  border-color:#22334b!important;
}
.modern-ui.game-page .board-number.drawn{background:#2769b3!important;color:#fff!important;border-color:#5aa7ff!important}
.modern-ui.game-page .cartela-number.marked{background:#16784f!important;color:#fff!important;border-color:#2bd28a!important}
.modern-ui.game-page .quick-buy-btn{background:#122238!important;border-color:#2a3d56!important;color:#dce7f2!important;border-radius:10px!important;min-height:42px}
.modern-ui.game-page .quick-buy-btn:hover:not(:disabled){background:#1b3552!important;color:#fff!important;border-color:#5aa7ff!important}
.modern-ui.game-page .banner-slider{border:1px solid #22334b!important;border-radius:18px!important;background:#0e1a2b!important}

/* Páginas do usuário que tinham superfícies claras */
.modern-ui .redeem-container,
.modern-ui .sacar-container,
.modern-ui .page-header,
.modern-ui .bingo-board-container,
.modern-ui .historico-container,
.modern-ui .warning-block,
.modern-ui .link-display,
.modern-ui .info-cpa,
.modern-ui .board-area,
.modern-ui .panel{
  background:#0e1a2b!important;
  color:#eaf2fa!important;
  border-color:#22334b!important;
  box-shadow:none!important;
}
.modern-ui .historico-tabela tr,
.modern-ui .transaction-item,
.modern-ui .history-item{background:#0e1a2b!important;color:#dce7f2!important;border-color:#22334b!important}
.modern-ui .historico-tabela tr:nth-child(even){background:#0b1726!important}
.modern-ui .link-display input,.modern-ui .link-display code{color:#eaf2fa!important}

/* Painel administrativo: o próprio conjunto de variáveis muda as telas antigas */
.modern-ui .header{background:#122238!important;color:#f5f7fb!important;border:1px solid #22334b!important;box-shadow:none!important}
.modern-ui .header p{color:#9fb0c5!important}
.modern-ui .content{max-width:100%!important;overflow-x:hidden}
.modern-ui .table-responsive{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
.modern-ui .table{margin-bottom:0!important}
.modern-ui .card-body{color:#dce7f2!important}
.modern-ui .list-group-item{background:#0e1a2b!important;color:#dce7f2!important;border-color:#22334b!important}
.modern-ui .dropdown-menu{background:#0e1a2b!important;border-color:#22334b!important}
.modern-ui .dropdown-item{color:#dce7f2!important}.modern-ui .dropdown-item:hover{background:#122238!important;color:#fff!important}

/* Não deixa textos globais ficarem brancos em superfícies que precisam permanecer claras, como QR/PDF */
.modern-ui .qr-wrap,.modern-ui .qr{color:#111827!important}
.modern-ui .qr-wrap *, .modern-ui .qr *{color:#111827}

/* Responsividade consistente */
@media(max-width:767px){
  .modern-ui{font-size:14px}
  .modern-ui .sidebar{width:min(86vw,300px)!important;max-width:300px!important}
  .modern-ui .main-content,.modern-ui .content{margin-left:0!important;max-width:100%!important;width:100%!important;padding:14px!important}
  .modern-ui .content.active{transform:none!important;width:100%!important}
  .modern-ui .mobile-header{margin-left:0!important;margin-right:0!important;width:100%!important;border-radius:14px!important;position:sticky;top:0;z-index:50}
  .modern-ui .game-content,.modern-ui .grid{grid-template-columns:minmax(0,1fr)!important}
  .modern-ui .game-header{gap:14px!important;padding:16px!important}
  .modern-ui .numbers-board{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:3px!important;padding:8px!important}
  .modern-ui .board-number{font-size:clamp(9px,2.8vw,12px)!important;min-width:0!important}
  .modern-ui .cartelas-container{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .modern-ui .cartela{min-width:0!important}
  .modern-ui .quick-buy-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .modern-ui .topbar{flex-direction:column!important;align-items:stretch!important}
  .modern-ui .secure{white-space:normal!important;width:max-content;max-width:100%}
  .modern-ui .actions,.modern-ui .action-buttons,.modern-ui .btn-group{flex-wrap:wrap!important;gap:8px!important}
  .modern-ui .form-row,.modern-ui .row{min-width:0}
  .modern-ui .modal-dialog{margin:12px!important;max-width:calc(100% - 24px)!important}
  .modern-ui .toast{left:12px!important;right:12px!important;top:12px!important;max-width:none!important;width:auto!important}
}
@media(max-width:420px){
  .modern-ui .numbers-board{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}
  .modern-ui .cartelas-container{grid-template-columns:minmax(0,1fr)!important}
  .modern-ui .quick-buy-grid{grid-template-columns:minmax(0,1fr)!important}
  .modern-ui.auth-page .container{padding:20px 16px!important;border-radius:18px!important}
}

/* A impressão de cartelas continua branca e legível */
@media print{
  .modern-ui.print-page,.modern-ui.print-page *{color:#111!important}
  .modern-ui.print-page{background:#fff!important}
  .modern-ui.print-page .cartela-print,.modern-ui.print-page .cartela-cell{background:#fff!important;border-color:#111!important}
}

/* Cobertura de componentes Bootstrap/legados restantes */
.modern-ui .bg-white,.modern-ui .bg-light,.modern-ui .accordion-item,.modern-ui .accordion-button,.modern-ui .input-group-text,.modern-ui .list-group,.modern-ui .number-btn{
  background:#0e1a2b!important;color:#dce7f2!important;border-color:#22334b!important;
}
.modern-ui .accordion-button:not(.collapsed){background:#122238!important;color:#fff!important;box-shadow:none!important}
.modern-ui .nav-tabs{border-color:#22334b!important}.modern-ui .nav-tabs .nav-link{color:#9fb0c5!important;border-color:transparent!important}.modern-ui .nav-tabs .nav-link.active{background:#122238!important;color:#fff!important;border-color:#22334b!important}
.modern-ui .progress{background:#091525!important}.modern-ui .text-dark{color:#dce7f2!important}.modern-ui .text-secondary{color:#9fb0c5!important}
.modern-ui pre{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.modern-ui .card,.modern-ui .panel,.modern-ui .container-fluid,.modern-ui .container{min-width:0}
.modern-ui .table td,.modern-ui .table th{vertical-align:middle}
.modern-ui .table-responsive table{min-width:640px}
.modern-ui .user-card,.modern-ui .transaction-card{overflow-wrap:anywhere}
.modern-ui.print-page .cartela-preview,.modern-ui.print-page .cartela-print,.modern-ui.print-page .cartela-cell{background:#fff!important;color:#111!important}
.modern-ui.print-page .cartela-preview *,.modern-ui.print-page .cartela-print *,.modern-ui.print-page .cartela-cell *{color:#111!important}
@media(max-width:767px){
  .modern-ui .table-responsive table{min-width:620px}
  .modern-ui .header h1{font-size:clamp(22px,7vw,30px)!important;overflow-wrap:anywhere}
  .modern-ui .header{padding:15px!important}
  .modern-ui .card-body,.modern-ui .card{padding-left:14px!important;padding-right:14px!important}
  .modern-ui .form-control,.modern-ui input,.modern-ui select,.modern-ui textarea{max-width:100%!important}
}
