/*
  Betting UI refresh layer.
  Rollback path: remove this stylesheet link from betting pages or revert the
  refresh PR. The underlying site-shell.css remains intact.
*/

:root {
  --bet-refresh-bg: #050b14;
  --bet-refresh-panel: rgba(10, 18, 31, 0.86);
  --bet-refresh-panel-strong: rgba(12, 22, 38, 0.96);
  --bet-refresh-elevated: rgba(15, 27, 45, 0.98);
  --bet-refresh-line: rgba(156, 179, 214, 0.18);
  --bet-refresh-line-strong: rgba(156, 179, 214, 0.28);
  --bet-refresh-muted: #9fb0c9;
  --bet-refresh-soft: #c8d5e8;
  --bet-refresh-cyan: #42c8ff;
  --bet-refresh-green: #23d38b;
  --bet-refresh-amber: #f6b84b;
  --bet-refresh-red: #ff6f8f;
  --bet-refresh-radius: 10px;
  --bet-refresh-radius-sm: 8px;
  --bet-refresh-shadow: 0 22px 80px rgba(0, 0, 0, 0.36);
}

body.betting-shell-page {
  background:
    radial-gradient(circle at 16% 0%, rgba(35, 211, 139, 0.12), transparent 30%),
    radial-gradient(circle at 86% 6%, rgba(66, 200, 255, 0.08), transparent 26%),
    linear-gradient(180deg, #07111f 0%, var(--bet-refresh-bg) 44%, #030812 100%);
}

.bet-shell {
  max-width: 1520px;
  padding: 18px 24px 44px;
}

.bet-header {
  top: 10px;
  margin-bottom: 22px;
  padding: 12px 16px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(10, 18, 31, 0.92), rgba(6, 13, 24, 0.88));
  border-color: rgba(82, 118, 165, 0.24);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.bet-brand img {
  width: 40px;
  height: 40px;
}

.bet-brand span {
  font-size: clamp(1.45rem, 1.8vw, 1.85rem);
  letter-spacing: 0;
}

.bet-nav-links {
  gap: 6px;
}

.bet-nav-links a {
  min-height: 42px;
  padding: 0 14px;
  border-radius: var(--bet-refresh-radius-sm);
  color: #aab8cf;
}

.bet-nav-links a:hover,
.bet-nav-links a.is-active {
  background: rgba(66, 200, 255, 0.10);
  color: #f4f8ff;
}

.bet-shell-user {
  color: #b7c6dd;
}

.bet-primary-btn,
.bet-secondary-btn,
.bet-shell-auth-btn,
.vakio-system-submit,
.vakio-program-open {
  border-radius: var(--bet-refresh-radius-sm);
  min-height: 42px;
  letter-spacing: 0;
}

.bet-primary-btn,
.vakio-system-submit {
  border-color: rgba(35, 211, 139, 0.36);
  background: linear-gradient(180deg, rgba(35, 211, 139, 0.24), rgba(17, 120, 84, 0.24));
  color: #effff8;
  box-shadow: 0 12px 28px rgba(35, 211, 139, 0.12);
}

.bet-secondary-btn,
.bet-shell-auth-btn {
  border-color: var(--bet-refresh-line);
  background: rgba(255, 255, 255, 0.045);
  color: #ecf3ff;
}

.bet-kicker {
  min-height: 26px;
  padding: 0 10px;
  border-radius: var(--bet-refresh-radius-sm);
  border-color: rgba(156, 179, 214, 0.20);
  background: rgba(156, 179, 214, 0.06);
  color: #aebed6;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.bet-surface,
.bet-section-card,
.bet-vakio-shell .vakio-list-wrap,
.bet-vakio-shell .vakio-analysis-panel,
.bet-vakio-shell .betting-table-wrap,
.bet-vakio-shell .vakio-historical-panel,
.bet-vakio-shell .vakio-system-panel,
.bet-vakio-shell .betting-mobile-cards,
.bet-history-filters-wrap,
.bet-history-overview,
.bet-history-grid,
.bet-history-compare,
.bet-history-list {
  border-radius: var(--bet-refresh-radius);
  border-color: var(--bet-refresh-line);
  background:
    linear-gradient(180deg, rgba(15, 27, 45, 0.90), rgba(7, 14, 26, 0.92));
  box-shadow: var(--bet-refresh-shadow);
}

.bet-surface,
.bet-section-card {
  padding: 20px;
}

.bet-admin-layout,
.bet-scanner-layout {
  gap: 18px;
}

.bet-surface-heading {
  align-items: flex-start;
  margin-bottom: 12px;
}

.bet-surface-heading h1,
.bet-surface-heading h2,
.bet-vakio-shell .vakio-list-head h2 {
  margin: 8px 0 6px;
  font-size: clamp(1.55rem, 2.4vw, 2.45rem);
  line-height: 1.05;
  letter-spacing: 0;
}

.bet-surface-heading p,
.bet-vakio-shell .betting-status,
.bet-vakio-shell .vakio-list-head p,
.bet-muted-copy {
  color: #aab8cf;
}

.bet-admin-card-head {
  align-items: flex-start;
  margin-bottom: 14px;
}

.bet-admin-card-head h2 {
  margin-top: 8px;
  font-size: 1.16rem;
  letter-spacing: 0;
}

.bet-admin-summary-grid,
.bet-admin-metrics,
.bet-admin-insights-grid,
.bet-history-metrics,
.bet-vakio-shell .vakio-historical-metrics {
  gap: 10px;
}

.bet-admin-summary-card,
.bet-admin-metric,
.bet-admin-insight-card,
.bet-admin-chart-stat,
.bet-history-metric,
.bet-history-list-item,
.bet-history-compare-row,
.bet-vakio-shell .vakio-historical-block,
.bet-vakio-shell .vakio-historical-compare,
.bet-vakio-shell .vakio-historical-empty,
.bet-vakio-shell .vakio-historical-metric,
.bet-vakio-shell .vakio-historical-compare-row,
.bet-vakio-shell .match-details-box,
.bet-vakio-shell .betting-mobile-card,
.bet-vakio-shell .vakio-program-card {
  border-radius: var(--bet-refresh-radius-sm);
  border-color: rgba(156, 179, 214, 0.16);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.bet-admin-summary-card strong,
.bet-admin-metric strong,
.bet-history-metric strong,
.bet-vakio-shell .vakio-historical-metric strong {
  letter-spacing: 0;
}

.bet-admin-badge {
  min-height: 30px;
  padding: 0 10px;
  border-radius: var(--bet-refresh-radius-sm);
  font-size: 0.8rem;
}

.bet-admin-badge.success {
  border-color: rgba(35, 211, 139, 0.28);
  background: rgba(35, 211, 139, 0.14);
  color: #bff9df;
}

.bet-admin-badge.warning {
  border-color: rgba(246, 184, 75, 0.32);
  background: rgba(246, 184, 75, 0.13);
  color: #ffd995;
}

.bet-admin-badge.danger {
  border-color: rgba(255, 111, 143, 0.30);
  background: rgba(255, 111, 143, 0.12);
  color: #ffc6d6;
}

.bet-admin-pre,
.bet-admin-collapsible,
.bet-admin-tech-section,
.bet-admin-tech-inner {
  border-radius: var(--bet-refresh-radius-sm);
}

.bet-scanner-page .bet-surface {
  padding: 18px;
}

.bet-scanner-page .bet-surface-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.bet-scanner-page .bet-surface-heading h1 {
  font-size: clamp(1.85rem, 3vw, 3rem);
}

.bet-scanner-page #bet-scanner-status {
  max-width: 88ch;
  min-height: 24px;
}

.bet-scanner-filter-form,
.bet-history-filters {
  gap: 10px;
}

.bet-scanner-filter-form {
  grid-template-columns: 1fr 1.1fr 1.1fr 0.9fr 0.9fr 1.15fr auto;
  align-items: end;
}

.bet-scanner-field span,
.bet-scanner-pill-group > span,
.bet-history-filters label span,
.bet-admin-field span {
  color: #9badc7;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
}

.bet-scanner-field input,
.bet-scanner-field select,
.bet-scanner-settings-form input,
.bet-scanner-settings-form select,
.bet-history-filters input,
.bet-history-filters select,
.bet-admin-field input {
  min-height: 42px;
  border-radius: var(--bet-refresh-radius-sm);
  border-color: rgba(156, 179, 214, 0.18);
  background: rgba(4, 10, 19, 0.72);
}

.bet-scanner-filter-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  justify-content: stretch;
}

.bet-scanner-source-pill {
  min-height: 42px;
  padding: 6px 10px;
  border-radius: var(--bet-refresh-radius-sm);
  background: rgba(66, 200, 255, 0.07);
}

.bet-scanner-main-grid {
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
}

.bet-scanner-sidebar {
  gap: 18px;
}

.bet-scanner-summary-inline {
  gap: 8px;
}

.bet-scanner-mini-stat {
  border-radius: var(--bet-refresh-radius-sm);
  padding: 7px 9px;
  background: rgba(66, 200, 255, 0.055);
}

.bet-scanner-mini-stat strong {
  font-size: 0.88rem;
}

.bet-scanner-mini-stat span {
  font-size: 0.68rem;
}

.bet-scanner-table-wrap,
.bet-admin-table-wrap,
.bet-vakio-shell .betting-table-wrap {
  border-radius: var(--bet-refresh-radius-sm);
  border-color: rgba(156, 179, 214, 0.18);
  background: rgba(2, 7, 14, 0.54);
}

.bet-scanner-table {
  min-width: 1280px;
  background: rgba(3, 9, 17, 0.68);
}

.bet-scanner-table th,
.bet-scanner-table td,
.bet-admin-table th,
.bet-admin-table td {
  padding: 12px 14px;
}

.bet-scanner-table thead th,
.bet-admin-table th {
  background: rgba(7, 14, 26, 0.98);
  color: #9badc7;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.bet-scanner-table td:nth-child(3) strong {
  color: #f5f8ff;
}

.bet-scanner-table td:nth-child(9),
.bet-scanner-table td:nth-child(10),
.bet-scanner-table td:nth-child(12) {
  color: #d7fce9;
  font-weight: 700;
}

.bet-scanner-row:hover,
.bet-scanner-row:focus {
  background: rgba(66, 200, 255, 0.07);
}

.bet-scanner-alert-card,
.bet-scanner-detail-card,
.bet-scanner-detail-section,
.bet-scanner-raw-odds div,
.bet-scanner-detail-grid div {
  border-radius: var(--bet-refresh-radius-sm);
  border-color: rgba(156, 179, 214, 0.16);
  background: rgba(255, 255, 255, 0.035);
}

.bet-scanner-drawer {
  width: min(520px, 100vw);
  background:
    linear-gradient(180deg, rgba(13, 24, 42, 0.98), rgba(4, 9, 17, 1));
  border-left-color: rgba(156, 179, 214, 0.22);
}

.bet-scanner-drawer-head {
  padding: 22px 22px 14px;
  border-bottom: 1px solid rgba(156, 179, 214, 0.12);
}

.bet-scanner-drawer-head h2 {
  margin: 8px 0 0;
  font-size: 1.35rem;
  letter-spacing: 0;
}

.bet-scanner-drawer-body {
  gap: 12px;
  padding: 16px 22px 22px;
}

.bet-scanner-detail-metrics,
.bet-scanner-raw-odds {
  gap: 10px;
}

.bet-scanner-detail-card span,
.bet-scanner-detail-grid dt,
.bet-scanner-raw-odds span {
  color: #9badc7;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

.bet-scanner-detail-card strong,
.bet-scanner-raw-odds strong,
.bet-scanner-detail-grid dd {
  letter-spacing: 0;
}

.bet-scanner-detail-section h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.bet-scanner-drawer-actions {
  margin: 0 -22px -22px;
  padding: 12px 22px calc(14px + env(safe-area-inset-bottom));
}

.bet-scanner-drawer-actions > * {
  flex-basis: 150px;
}

.bet-history-filters-wrap .bet-surface-heading h2 {
  font-size: clamp(1.5rem, 2.4vw, 2.2rem);
}

.bet-history-filter-actions,
.bet-admin-toolbar {
  gap: 8px;
}

.bet-vakio-shell .vakio-list-wrap {
  padding: 20px;
}

.bet-vakio-shell .vakio-programs-grid {
  gap: 12px;
}

.bet-vakio-shell .vakio-program-card {
  min-height: 106px;
}

.bet-vakio-shell .vakio-system-tools {
  gap: 10px;
}

@media (max-width: 1120px) {
  .bet-scanner-filter-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bet-scanner-filter-actions {
    grid-column: 1 / -1;
    grid-template-columns: auto auto;
    justify-content: start;
  }

  .bet-scanner-main-grid {
    grid-template-columns: 1fr;
  }

  .bet-scanner-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 840px) {
  .bet-shell {
    padding: 12px 12px 36px;
  }

  .bet-header {
    border-radius: 14px;
  }

  .bet-scanner-page .bet-surface-heading,
  .bet-surface-heading {
    grid-template-columns: 1fr;
  }

  .bet-scanner-sidebar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .bet-scanner-filter-form,
  .bet-history-filters {
    grid-template-columns: 1fr;
  }

  .bet-scanner-filter-actions {
    grid-template-columns: 1fr;
  }

  .bet-scanner-table {
    min-width: 1080px;
  }

  .bet-scanner-drawer-head,
  .bet-scanner-drawer-body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .bet-scanner-drawer-actions {
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
}
