/* BetNossa - tema visual (override sobre os estilos compilados; nao altera logica) */
:root {
  --bn-bg: #060B08;
  --bn-surface: #0E1812;
  --bn-surface-2: #14221A;
  --bn-line: #1F3326;
  --bn-green: #14E05A;
  --bn-green-dark: #0A9A3E;
  --bn-glow: #7CFF6B;
  --bn-text: #F4FAF6;
  --bn-muted: #8FA699;
  /* aliases do tema anterior (mantem compatibilidade) */
  --bn-blue: var(--bn-green);
  --bn-gold: var(--bn-green);
  --bn-gray-dark: var(--bn-surface);
  --bn-gray-light: var(--bn-muted);
}

body, .wrapper, .content-wrapper {
  background-color: var(--bn-bg) !important;
  color: var(--bn-text) !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
}

.main-header, .main-header .navbar {
  background-color: var(--bn-surface) !important;
  border-bottom: 1px solid var(--bn-green) !important;
  box-shadow: 0 1px 14px rgba(20, 224, 90, .18);
}
.main-header .logo { background-color: var(--bn-bg) !important; color: var(--bn-green) !important; }
.btn-navbar { color: var(--bn-text) !important; }
.btn-navbar.btn-cadastrar, .btn-navbar.btn-login {
  border-radius: 8px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase;
}
.btn-navbar.btn-cadastrar {
  background: linear-gradient(135deg, var(--bn-glow), var(--bn-green)) !important;
  color: #04120A !important;
  box-shadow: 0 0 14px rgba(20, 224, 90, .45);
}
.btn-navbar.btn-login {
  background: transparent !important; color: var(--bn-text) !important;
  border: 1px solid var(--bn-green) !important;
}

.sports-categories { background-color: var(--bn-surface) !important; }
.sports-categories .category.active,
.sports-categories .category:hover {
  color: var(--bn-green) !important; border-bottom: 2px solid var(--bn-green) !important;
}

/* Cards e odds */
.box, .box-primary, .row-odds-list, .odd-match-plus, .cotacoes-principais .btn-home {
  background-color: var(--bn-surface) !important; color: var(--bn-text) !important;
  border-color: var(--bn-line) !important; border-radius: 10px;
}
.odd-match-plus, .cotacoes-principais .btn-home {
  font-weight: 800; font-variant-numeric: tabular-nums; transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.odd-match-plus:hover, .cotacoes-principais .btn-home:hover {
  border-color: var(--bn-green) !important; background-color: var(--bn-surface-2) !important;
  box-shadow: 0 0 12px rgba(20, 224, 90, .35);
}
.odd-match-plus .odd-label, .tempoSpan, .scoreSpan { color: var(--bn-green) !important; }
.real-time, .pisca { color: var(--bn-glow) !important; }

/* Botoes */
.btn-primary, .btn-success {
  background: linear-gradient(135deg, var(--bn-green), var(--bn-green-dark)) !important;
  border-color: var(--bn-green) !important; color: #04120A !important; font-weight: 800; border-radius: 8px;
}
.btn-primary:hover, .btn-success:hover { box-shadow: 0 0 14px rgba(20, 224, 90, .5); }
.btn-warning, .loadSendBet, .send-print {
  background: linear-gradient(135deg, var(--bn-glow), var(--bn-green)) !important;
  border-color: var(--bn-green) !important; color: #04120A !important; font-weight: 800; border-radius: 8px;
}

/* Bilhete */
.cupom-bilhete, .bilhetes-content, .modal-bilhete, .modal-content {
  background-color: var(--bn-surface) !important; color: var(--bn-text) !important;
}
.modal-header { background-color: var(--bn-bg) !important; border-bottom: 1px solid var(--bn-green) !important; }
.title-bilhete, .info-aposta-header { color: var(--bn-green) !important; }

/* Tabelas / formularios */
.table-row, .tableInfo, table.table { background-color: var(--bn-surface) !important; color: var(--bn-text) !important; }
.form-control {
  background-color: #0A120D !important; color: var(--bn-text) !important; border-color: var(--bn-line) !important;
}
.form-control:focus { border-color: var(--bn-green) !important; box-shadow: 0 0 0 2px rgba(20, 224, 90, .25) !important; }

.main-footer {
  background-color: var(--bn-surface) !important; color: var(--bn-muted) !important;
  border-top: 1px solid var(--bn-green);
}
a { color: var(--bn-green); }
a:hover { color: var(--bn-glow); }

/* Login / cadastro (AdminLTE) */
.login-page, .register-page { background: var(--bn-bg) !important; }
.login-box-body, .register-box-body {
  background: var(--bn-surface) !important; color: var(--bn-text) !important;
  border: 1px solid var(--bn-line); border-radius: 12px;
}

/* Celular */
@media (max-width: 767px) {
  .odd-match-plus, .cotacoes-principais .btn-home { min-height: 44px; }
  .btn-navbar.btn-cadastrar, .btn-navbar.btn-login { padding: 6px 10px; font-size: 12px; }
}

/* ==========================================================================
   BetNossa v2 - paleta verde sobre variaveis do app + layout 3 colunas
   (somente apresentacao; nenhuma logica alterada)
   ========================================================================== */
html:root {
  --app-bg: #060B08;
  --panel-bg: rgba(10, 22, 15, 0.97);
  --panel-strong: #0C1A12;
  --panel-soft: #12241A;
  --line-soft: rgba(70, 150, 100, 0.22);
  --text-main: #F4FAF6;
  --text-soft: #8FA699;
  --accent-main: #14E05A;
  --accent-alt: #FFD21F;
  --accent-danger: #FF5C5C;
}
html body, html body .wrapper { background: var(--bn-bg) !important; }
html body .content-wrapper { background: transparent !important; }

/* ---- Topo ---- */
html body .main-header, html body .main-header .navbar {
  background: #07110C !important; border-bottom: 1px solid var(--bn-line) !important; box-shadow: none !important;
}
html body .main-header > .logo.site-logo-wrap { background: transparent !important; border-right: 0 !important; }
html body .site-header-logo { height: 40px !important; width: auto !important; max-width: 100% !important; }
html body .header-toolbar a, html body .header-toolbar .nav > li > a { color: var(--text-main) !important; font-weight: 700; }
html body .navbar-nav > li > a:hover, html body .navbar-nav > li.active > a { color: var(--bn-green) !important; background: transparent !important; }
html body .header-toolbar .btn, html body .mobile-auth-btn { border-radius: 8px !important; font-weight: 800 !important; text-transform: uppercase; }
html body .header-toolbar .btn-success, html body .header-toolbar .btn-cadastrar, html body .mobile-auth-register {
  background: var(--bn-green) !important; border-color: var(--bn-green) !important; color: #04120A !important; box-shadow: none !important;
}
html body .header-toolbar .btn-default, html body .header-toolbar .btn-login, html body .mobile-auth-login {
  background: transparent !important; border: 1px solid var(--bn-green) !important; color: var(--text-main) !important;
}

/* ---- Coluna esquerda ---- */
html body .main-sidebar, html body .sidebar, html body .left-side { background: #08130D !important; border-right: 1px solid var(--bn-line); }
html body .sidebar-menu > li > a { color: var(--text-main) !important; }
html body .sidebar-menu > li > a:hover, html body .sidebar-menu > li.active > a {
  background: var(--bn-surface-2) !important; color: var(--bn-green) !important; border-left-color: var(--bn-green) !important;
}
html body .sidebar-menu > li.header { color: var(--bn-muted) !important; background: transparent !important; }
html body .sidebar-form input, html body .sidebar-form .form-control { background: #0A120D !important; border: 1px solid var(--bn-line) !important; color: var(--text-main) !important; }

/* ---- Bilhete: cores ---- */
html body .betslip-fab {
  background: var(--bn-green) !important; color: #04120A !important; border: 0 !important;
  border-radius: 12px !important; box-shadow: 0 8px 28px rgba(20, 224, 90, .35) !important;
}
html body .betslip-fab-count { background: rgba(4, 18, 10, .22) !important; }
html body .betslip-panel {
  background: #0A1610 !important; border: 1px solid var(--bn-line) !important; border-radius: 12px !important;
}
html body .betslip-panel-header { background: #0E1D14 !important; border-bottom: 1px solid var(--bn-line) !important; }
html body .betslip-panel-header strong { font-family: 'Montserrat', Arial, sans-serif !important; font-size: 1.7rem !important; }
html body .betslip-panel .box-cupon, html body .betslip-panel .empty-selection, html body .betslip-panel .box-rodape-cupon {
  background: #0E1D14 !important; border: 1px solid var(--bn-line) !important; border-radius: 10px !important;
}
html body .betslip-panel .btnSendBet {
  background: var(--bn-green) !important; color: #04120A !important; border-radius: 10px !important; box-shadow: none !important;
}

/* ---- Cards/odds: leitura ---- */
html body .odd-match-plus, html body .cotacoes-principais .btn-home {
  font-variant-numeric: tabular-nums; font-weight: 800; border-radius: 8px !important;
  background: #12241A !important; border: 1px solid var(--bn-line) !important; color: var(--text-main) !important;
}
html body .odd-match-plus:hover, html body .cotacoes-principais .btn-home:hover,
html body .odd-match-plus.active, html body .odd-match-plus.selected, html body .cotacoes-principais .btn-home.active {
  background: var(--bn-green) !important; color: #04120A !important; border-color: var(--bn-green) !important; box-shadow: none !important;
}

/* ---- Rodape ---- */
html body .main-footer { background: #07110C !important; border-top: 1px solid var(--bn-line) !important; color: var(--bn-muted) !important; }

/* ---- Desktop largo: [esquerda] [centro] [direita = bilhete] ---- */
@media (min-width: 1200px) {
  html body .content-wrapper { padding-right: 352px !important; padding-bottom: 24px !important; }
  html body .betslip-shell { position: fixed !important; top: 76px !important; right: 12px !important; bottom: 12px !important; left: auto !important; width: 328px !important; z-index: 900 !important; }
  html body .betslip-fab, html body .betslip-close { display: none !important; }
  html body .betslip-panel {
    position: absolute !important; inset: 0 !important; width: 100% !important; max-width: none !important; max-height: none !important;
    transform: none !important; opacity: 1 !important; pointer-events: auto !important; display: flex; flex-direction: column;
  }
  html body .betslip-panel .box.box-success { flex: 1 1 auto; overflow-y: auto; }
  html body .betslip-panel .palpites-inner { max-height: none !important; }
}
/* ---- Tablet/celular: bilhete continua botao flutuante ---- */
@media (max-width: 1199px) {
  html body .content-wrapper { padding-bottom: 96px !important; }
}
@media (max-width: 767px) {
  html body .site-header-logo { height: 32px !important; }
  html body .betslip-fab { min-width: 0 !important; width: 100%; padding: 12px 18px !important; font-size: 1.6rem !important; }
  html body .content-wrapper, html body .site-middle { overflow-x: hidden; }
}

/* detalhes */
html body .carousel-progress-bar { background: var(--bn-green) !important; }
html body .slimScrollBar { background: var(--bn-green) !important; opacity: .35 !important; }
html body .carousel-slide { border-radius: 12px !important; }

/* compactacao (desktop) */
@media (min-width: 992px) {
  html body .carousel-slide img { width: 100% !important; height: auto !important; }
  html body .search-shell { margin-top: 8px !important; margin-bottom: 8px !important; }
  html body .sports-categories { padding: 6px 8px !important; margin-bottom: 8px !important; }
  html body .container-lista-jogos { padding: 6px 12px !important; margin-bottom: 6px !important; border-radius: 10px !important; }
  html body .content-jogos { padding: 0 !important; }
  html body .cotacoes-principais .btn-home { min-height: 44px; padding: 4px 8px !important; }
}
html body .container-lista-jogos .cotacoes-principais .btn-home { background: #12241A !important; }
html body .container-lista-jogos .cotacoes-principais .btn-home:hover { background: var(--bn-green) !important; }

/* barras de rolagem */
html body * { scrollbar-color: #1F3326 transparent; scrollbar-width: thin; }
html body *::-webkit-scrollbar { height: 6px; width: 8px; }
html body *::-webkit-scrollbar-track { background: transparent; }
html body *::-webkit-scrollbar-thumb { background: #1F5A35; border-radius: 6px; }

/* modais */
html body .modal .modal-header, html body .modal-content .modal-header { background: #0C1A12 !important; color: #F4FAF6 !important; border-bottom: 1px solid var(--bn-green) !important; }
html body .modal .modal-header .modal-title, html body .modal .modal-header .close { color: #F4FAF6 !important; opacity: 1; text-shadow: none; }
html body .modal .modal-content { border: 1px solid var(--bn-line) !important; border-radius: 12px !important; overflow: hidden; }
html body .modal .btn-primary, html body .modal .btn-success, html body .modal button[type=submit] { background: var(--bn-green) !important; border-color: var(--bn-green) !important; color: #04120A !important; font-weight: 800; }
