:root {
  color-scheme: dark;
  --bg: #0c1018;
  --panel: #151b27;
  --panel-2: #1b2332;
  --line: #2b3547;
  --text: #f3f5f8;
  --muted: #9ca8ba;
  --green: #61e6a6;
  --blue: #79a9ff;
  --orange: #ffb56b;
  --red: #ff7f88;
}

/* Override final: el cupón siempre conserva su comportamiento de panel flotante. */
main .bet-slip-card,
main .workspace-sidebar .bet-slip-card {
  position: fixed;
  inset: auto 104px 24px auto;
  z-index: 70;
  display: flex;
  flex-direction: column;
  width: min(410px, calc(100vw - 28px));
  max-height: min(680px, calc(100vh - 48px));
  margin: 0;
  overflow: hidden;
  transform: translateX(calc(100% + 34px));
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: transform .22s ease, opacity .18s ease, visibility .22s ease;
}
main .bet-slip-backdrop {
  pointer-events: none;
  background: transparent;
}
main .bet-slip-card.is-open,
main .workspace-sidebar .bet-slip-card.is-open {
  transform: translateX(0);
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 760px) {
  main .bet-slip-card,
  main .workspace-sidebar .bet-slip-card {
    inset: auto 0 0;
    width: 100%;
    max-height: 85vh;
    border-radius: 16px 16px 0 0;
    transform: translateY(110%);
  }
  main .bet-slip-card.is-open,
  main .workspace-sidebar .bet-slip-card.is-open {
    transform: translateY(0);
  }
}

/* Alineación flotante: se abre igual que la combinada y no ocupa espacio del flujo. */
.lineup-float-panel { position: fixed; inset: 14px 18px auto auto; z-index: 72; display: flex; flex-direction: column; width: min(900px, calc(100vw - 28px)); max-height: calc(100vh - 28px); margin: 0; overflow: hidden; border-color: rgba(101,216,255,.38); transform: translateX(calc(100% + 34px)); visibility: hidden; opacity: 0; transition: transform .22s ease, opacity .18s ease, visibility .22s ease; }
.lineup-float-panel.is-open { transform: translateX(0); visibility: visible; opacity: 1; }
.lineup-float-panel .section-heading { flex: 0 0 auto; }
.lineup-float-panel #probableLineupContent { flex: 1 1 auto; min-height: 0; overflow: auto; padding-right: 2px; }
.lineup-head-actions { display: flex; align-items: flex-start; gap: 7px; }
.lineup-close { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 21px; line-height: 1; }
.lineup-close:hover { color: var(--text); border-color: var(--blue); }
.lineup-fab { position: fixed; right: 24px; bottom: 104px; z-index: 60; display: grid; place-items: center; width: 66px; height: 66px; padding: 0; border: 2px solid rgba(255,255,255,.5); border-radius: 50%; color: #07131a; background: var(--blue); box-shadow: 0 12px 32px rgba(0,0,0,.42), 0 0 0 5px rgba(101,216,255,.12); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
.lineup-fab:disabled { cursor: not-allowed; opacity: .32; box-shadow: none; }
.lineup-fab:not(:disabled):hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.5), 0 0 0 7px rgba(101,216,255,.18); }
.lineup-fab.has-match { box-shadow: 0 12px 32px rgba(0,0,0,.42), 0 0 0 7px rgba(101,216,255,.2); }
.lineup-fab-icon { font-size: 16px; font-weight: 900; line-height: 1; }
.lineup-fab-label { position: absolute; right: 76px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--text); background: #111720; font-size: 10px; font-weight: 800; white-space: nowrap; opacity: .9; }
.lineup-backdrop { position: fixed; inset: 0; z-index: 67; background: transparent; }
.lineup-backdrop.hidden { display: none; }

@media (max-width: 760px) {
  .lineup-fab { right: 16px; bottom: 86px; width: 60px; height: 60px; }
  .lineup-fab-label { right: 68px; }
  .lineup-float-panel { inset: auto 0 0; width: 100%; max-height: 85vh; border-radius: 16px 16px 0 0; transform: translateY(110%); }
  .lineup-float-panel.is-open { transform: translateY(0); }
  .lineup-float-panel #probableLineupContent { max-height: 70vh; }
}
@media (max-width: 760px) { .shell { width: min(100% - 20px, 620px); padding-top: 14px; }.workflow { overflow-x: auto; padding-bottom: 2px; }.workflow-line { flex: 0 0 18px; }.workflow-step { flex: 0 0 auto; }.card { padding: 15px; }.compact-hero h1 { font-size: 29px; }.hero-metric { width: 100%; } }

/* Créditos prepago, actividad del comprador y administración del piloto */
.credits-panel { border-color: rgba(85,229,141,.32); background: linear-gradient(145deg, rgba(35,72,57,.28), rgba(16,23,32,.96) 48%); }
.credits-panel .section-heading { margin-bottom: 12px; }
.credits-balance { display: flex; align-items: baseline; gap: 10px; padding: 12px 15px; border: 1px solid rgba(85,229,141,.24); border-radius: 10px; background: rgba(5,14,12,.45); }
.credits-balance span { color: var(--muted); font-size: 12px; }.credits-balance strong { color: var(--bet365); font-size: 27px; font-variant-numeric: tabular-nums; }.credits-balance small { margin-left: auto; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.credits-history-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: 13px; margin-top: 13px; }
.credits-history-grid section { min-width: 0; }.credits-history-grid h3, .admin-consultations h3, .admin-create-user h3 { margin: 0 0 8px; font-size: 13px; }
.credit-history-list { display: grid; gap: 6px; max-height: 230px; overflow: auto; padding: 1px; }
.credit-history-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: rgba(8,14,23,.58); text-align: left; }
.credit-history-item > div, .credit-history-item > span { display: grid; min-width: 0; gap: 3px; }.credit-history-item strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.credit-history-item small { color: var(--muted); font-size: 9px; }
.credit-history-item > b { flex: 0 0 auto; font-size: 13px; font-variant-numeric: tabular-nums; }.credit-positive { color: var(--bet365); }.credit-negative { color: var(--betano); }
.credit-consultation { width: 100%; cursor: default; font: inherit; }.credit-consultation.is-reusable { border-color: rgba(85,229,141,.25); cursor: pointer; }.credit-consultation.is-reusable:hover { border-color: var(--bet365); background: rgba(85,229,141,.08); }.credit-consultation:disabled { opacity: .72; }
.test-account-badge { color: var(--orange) !important; }.is-test-row { background: rgba(255,184,107,.035); }
.admin-summary { grid-template-columns: repeat(3, minmax(0,1fr)); }
.admin-create-user { display: grid; grid-template-columns: minmax(130px,1fr) minmax(170px,1.2fr) minmax(130px,.7fr) auto auto; align-items: end; gap: 9px; margin: 12px 0; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: rgba(8,14,23,.5); }
.admin-create-user h3 { grid-column: 1 / -1; margin: 0; }.admin-create-user label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; }.admin-create-user input:not([type=checkbox]), .admin-create-user select, .admin-user-actions select { min-width: 0; height: 35px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--text); background: #0d131c; }
.admin-test-toggle { display: flex !important; align-items: center; min-height: 35px; white-space: nowrap; }.admin-test-toggle input { width: auto; accent-color: var(--orange); }.admin-create-user .button { min-height: 35px; white-space: nowrap; }.admin-create-user .hint { grid-column: 1 / -1; margin: 0; }
.admin-user-actions { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }.admin-user-actions select { width: 58px; height: 29px; padding: 4px; font-size: 10px; }.admin-user-actions .button { padding: 6px 7px; font-size: 9px; white-space: nowrap; }
.admin-consultations { margin-top: 16px; }.admin-table { min-width: 970px; }.admin-panel .admin-table-wrap + .error { margin-top: 10px; }
.admin-panel .retry-book { white-space: nowrap; }

@media (max-width: 760px) {
  .credits-history-grid { grid-template-columns: 1fr; }
  .credits-balance { flex-wrap: wrap; }.credits-balance small { width: 100%; margin-left: 0; }
  .admin-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admin-create-user { grid-template-columns: 1fr 1fr; }.admin-create-user h3, .admin-create-user .hint { grid-column: 1 / -1; }.admin-create-user .admin-test-toggle { grid-column: 1 / -1; }.admin-create-user .button { grid-column: 1 / -1; }
  .admin-actions { justify-content: flex-start; }
}

@media (max-width: 390px) {
  .admin-summary { grid-template-columns: 1fr; }
  .admin-create-user { grid-template-columns: 1fr; }
}

/* Últimos overrides móviles: se mantienen al final para ganar a los estilos heredados. */
@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body { min-height: 100dvh; }
  .shell { width: 100%; max-width: none; padding: 12px max(12px, env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .card { margin: 10px 0; padding: 12px; border-radius: 11px; }
  .section-heading { gap: 10px; margin-bottom: 12px; }
  .section-heading .button, .button.small { width: auto; min-height: 42px; }
  .market-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .market-option { min-height: 44px; padding: 8px 9px; font-size: 11px; }
  .market-option input { width: 17px; height: 17px; }
  .bookmaker-card { min-height: 0; padding: 10px; }
  .results-view-tabs, .combination-direction-tabs { width: 100%; overflow-x: auto; }
  .results-view-tab, .combination-direction-tab { min-height: 42px; flex: 1 0 auto; }
  .difference-market-tab { min-height: 42px; padding: 8px 10px; }
  .difference-filter-button, .difference-sort-control select { min-height: 40px; }
  .matrix-caption { margin-top: 10px; padding: 10px 11px; }
  .matrix-caption strong { font-size: 13px; }
  .player-matrix-wrap { display: none; }
  .player-mobile-list { display: grid; gap: 8px; margin-top: 8px; }
  .player-mobile-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-deep); }
  .player-mobile-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-width: 0; padding: 10px; border-bottom: 1px solid var(--line); background: #111a27; }
  .player-mobile-card-head > div { min-width: 0; }
  .player-mobile-card-head strong, .player-mobile-card-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .player-mobile-card-head strong { color: var(--text); font-size: 12px; }
  .player-mobile-card-head small { margin-top: 2px; color: var(--muted); font-size: 10px; }
  .player-mobile-card-head .recent-stats { max-width: 210px; margin-top: 4px; font-size: 9px; }
  .player-mobile-market { flex: 0 0 auto; padding: 3px 5px; border: 1px solid rgba(101,216,255,.25); border-radius: 5px; color: var(--blue); font-size: 8px; font-weight: 800; text-transform: uppercase; }
  .player-mobile-card > .mobile-player-line { padding-right: 10px; padding-left: 10px; }
  .player-mobile-lines { padding: 0 10px; }
  .player-mobile-lines .mobile-player-line { padding-right: 0; padding-left: 0; }
  .mobile-player-line .matrix-odd { min-height: 34px; padding: 7px 3px; }
  .filters-bar { gap: 7px; }
  .filters-bar label, .filters-bar .button { min-width: 100%; }
  .filter-control select, .filter-control input { min-height: 42px; }
  .market-line-filters, .player-filter { padding: 10px; }
  .market-line-row { gap: 8px; padding: 9px; }
  .line-inputs { max-width: none; }
  .line-inputs input, .clear-line-filter { min-height: 40px; }
  .player-filter-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 230px; gap: 6px; }
  .player-filter-player { width: 100%; border-radius: 9px; }
  .player-filter-player label { min-width: 0; min-height: 44px; padding: 7px; }
  .player-filter-player label > span { min-width: 0; }
  .player-scope-trigger { min-width: 40px; min-height: 44px; }
  .quick-stats > div { min-width: 0; padding: 9px 7px; }
  .quick-stats span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
  .quick-stats strong { font-size: 17px; }
  .lineup-fab, .bet-slip-fab { right: max(14px, env(safe-area-inset-right)); touch-action: manipulation; }
  .bet-slip-fab { bottom: calc(14px + env(safe-area-inset-bottom)); }
  .lineup-fab { bottom: calc(84px + env(safe-area-inset-bottom)); }
  .lineup-fab-label, .bet-slip-fab-label { right: 68px; }
  .bet-slip-card, .lineup-float-panel { max-height: min(88dvh, 760px); }
  .bet-slip-card { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .bet-slip-card .section-heading, .lineup-float-panel .section-heading { position: sticky; top: 0; z-index: 2; background: inherit; }
  .bet-slip-card .bet-slip-list { max-height: 48dvh; }
  .bet-slip-item { min-height: 58px; }
  .bet-slip-remove, .bet-slip-close, .lineup-close { min-width: 42px; min-height: 42px; }
  .lineup-float-panel { padding: 12px; }
  .lineup-float-panel #probableLineupContent { max-height: 74dvh; }
  .probable-lineup-pitch { min-height: 222px; padding: 8px 4px; }
  .probable-lineup-player strong { font-size: 9px; }
  .probable-lineup-player small { font-size: 8px; }
  .lineup-selection-popover { max-height: 58dvh; padding: 10px; }
}

@media (max-width: 390px) {
  .shell { padding-right: 10px; padding-left: 10px; }
  .card { padding: 10px; }
  .market-options { grid-template-columns: 1fr; }
  .mobile-player-line { grid-template-columns: 42px minmax(0, 1fr) minmax(0, 1fr) 46px; gap: 4px; }
  .player-mobile-card-head .recent-stats { max-width: 165px; }
  .player-filter-list { grid-template-columns: 1fr; }
  .quick-stats strong { font-size: 16px; }
  .lineup-fab, .bet-slip-fab { width: 56px; height: 56px; }
  .lineup-fab { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .lineup-fab-label, .bet-slip-fab-label { right: 62px; }
}

/* Mobile-first presentation: cards replace the wide odds matrix on phones. */
.player-mobile-list { display: none; }
.mobile-player-line { display: grid; grid-template-columns: 48px minmax(0, 1fr) minmax(0, 1fr) 52px; align-items: center; gap: 6px; min-height: 44px; padding: 5px 0; border-bottom: 1px solid rgba(43,53,71,.7); }
.mobile-player-line:last-child { border-bottom: 0; }

/* OddsScout workspace: compact fixture-led dashboard. Login keeps its existing theme. */
#appShell {
  --bg: #0a0d0d;
  --panel: #111716;
  --panel-2: #19211f;
  --line: #293632;
  --text: #edf3ef;
  --muted: #9aa9a2;
  --green: #70d6aa;
  --accent: #70d6aa;
  --surface-deep: #0d1311;
  width: min(1460px, calc(100% - 48px));
  padding-top: 0;
  color: var(--text);
}
body.app-authenticated { background: radial-gradient(ellipse at 50% -24%, #192521 0, #0a0d0d 52%); color: #edf3ef; }
#appShell .workspace-view.hidden { display: none !important; }
#appShell .workspace-view { min-width: 0; }
#appShell .topbar {
  position: sticky;
  top: 0;
  z-index: 55;
  display: grid;
  grid-template-columns: auto minmax(210px, 1fr) auto;
  align-items: center;
  gap: 22px;
  min-height: 62px;
  margin-bottom: 16px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(132, 162, 148, .18);
  background: rgba(10, 13, 13, .94);
  backdrop-filter: blur(16px);
}
#appShell .brand { gap: 10px; }
#appShell .brand-mark { width: 32px; height: 32px; border-radius: 9px; color: #06110c; background: var(--green); box-shadow: none; }
#appShell .brand-mark-image { width: 32px; height: 32px; flex: 0 0 32px; border-radius: 9px; object-fit: cover; box-shadow: 0 0 0 1px rgba(24,48,83,.2); }
#appShell .brand .eyebrow { margin: 0; color: var(--green); font-size: 9px; letter-spacing: .16em; }
#appShell .brand strong { color: var(--muted); font-size: 11px; font-weight: 550; }
.workspace-nav { display: flex; justify-content: center; align-items: center; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.workspace-nav::-webkit-scrollbar { display: none; }
.workspace-tab { flex: 0 0 auto; min-height: 38px; padding: 8px 14px; border: 1px solid transparent; border-radius: 8px; color: #aab6b0; background: transparent; cursor: pointer; font: inherit; font-size: 12px; font-weight: 750; transition: color .16s ease, background .16s ease, border-color .16s ease; }
.workspace-tab:hover { color: var(--text); background: rgba(255,255,255,.045); }
.workspace-tab.active { border-color: rgba(112,214,170,.18); color: #06110c; background: var(--green); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: 0; }
.account-nav-button { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: #111715; cursor: pointer; font: inherit; font-size: 10px; }
.account-nav-button b { color: var(--green); font-size: 12px; font-variant-numeric: tabular-nums; }
.account-nav-button.active { border-color: rgba(112,214,170,.55); color: var(--text); background: #19251f; }
.admin-nav-tab { border-color: var(--line); }
#appShell .header-actions .status, #appShell .last-updated { white-space: nowrap; font-size: 10px; }
#appShell .header-actions .button { min-height: 36px; padding: 7px 11px; }

.match-context-strip { display: grid; grid-template-columns: minmax(0,1fr) 176px; align-items: center; gap: 20px; margin: 12px 0 18px; padding: 16px 20px; border: 1px solid rgba(127,157,143,.2); border-radius: 13px; background: linear-gradient(112deg, rgba(37,56,47,.64), rgba(19,26,23,.92) 44%, rgba(19,24,22,.92)); }
.match-context-strip.hidden { display: none !important; }
.match-context-main { min-width: 0; }
.match-context-main > .eyebrow { margin: 0 0 7px; color: var(--green); font-size: 9px; letter-spacing: .14em; }
#appShell .selected-match { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 37px; margin: 0; padding: 0; border: 0; color: var(--muted); background: transparent; text-align: left; }
#appShell .selected-match strong { color: var(--text); font-size: clamp(17px,2.2vw,24px); letter-spacing: -.035em; }
#appShell .selected-match strong span { margin: 0 8px; color: var(--green); font-size: 12px; font-weight: 700; }
#appShell .selected-match > span { color: #b2beb7; font-size: 11px; text-align: right; }
#appShell .selected-match.empty-state { justify-content: flex-start; min-height: 26px; padding: 0; border: 0; font-size: 13px; }
#appShell .hero-metric { min-width: 0; padding: 0 0 0 18px; border: 0; border-left: 1px solid rgba(169,193,178,.2); border-radius: 0; background: transparent; text-align: right; }
#appShell .hero-metric span, #appShell .hero-metric small { color: var(--muted); font-size: 9px; }
#appShell .hero-metric strong { color: var(--green); font-size: 24px; font-variant-numeric: tabular-nums; }

.workspace-page { animation: workspace-enter .18s ease-out; }
@keyframes workspace-enter { from { opacity: .72; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
.workspace-surface { min-width: 0; padding: 20px 18px 24px; border: 1px solid rgba(127,157,143,.17); border-radius: 13px; background: linear-gradient(160deg, rgba(20,27,24,.94), rgba(14,19,17,.98)); }
.workspace-surface > .section-heading { align-items: center; margin-bottom: 18px; }
.workspace-surface h1 { margin: 0; color: var(--text); font-size: clamp(22px, 2.6vw, 30px); letter-spacing: -.045em; }
.workspace-surface .section-heading .eyebrow { margin: 0 0 4px; color: var(--green); font-size: 9px; letter-spacing: .14em; }
.workspace-surface .section-heading .hint { margin: 4px 0 0; font-size: 11px; }
.consultation-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.consultation-actions .button { white-space: nowrap; }
.odds-workspace > #previousConsultationNotice { margin: -6px 0 14px; }
#appShell .button.primary, #appShell .button.accent { border-color: transparent; color: #06110c; background: var(--green); box-shadow: none; }
#appShell .button.primary:hover, #appShell .button.accent:hover { background: #8be2bd; }
#appShell .button.secondary { border-color: rgba(112,214,170,.35); color: var(--green); background: rgba(112,214,170,.08); }
#appShell .button.outline, #appShell .button.ghost { border-color: rgba(140,164,150,.24); color: #b6c2bb; background: transparent; }
#appShell .button.outline:hover, #appShell .button.ghost:hover { border-color: var(--green); color: var(--text); background: rgba(112,214,170,.06); }
#appShell :is(button, select, input):focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }

.control-grid { grid-template-columns: minmax(250px, 1fr) minmax(150px, .38fr); align-items: end; gap: 12px; }
.control-grid label { gap: 5px; color: var(--muted); font-size: 10px; }
.control-grid select, .control-grid input { min-height: 39px; border-color: var(--line); border-radius: 7px; background: #0c1210; }
.event-meta { margin-top: 8px; }
.event-day-filters { gap: 4px; margin-top: 14px; padding: 0 0 9px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.event-day-filter { min-height: 35px; padding: 7px 11px; border-radius: 7px; }
.event-day-filter.active { color: #06110c; background: var(--green); }
.event-groups { gap: 20px; margin-top: 13px; }
.event-day h3 { margin: 0 0 8px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.event-list { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.event-card { grid-template-columns: 48px minmax(0,1fr) 14px; min-height: 68px; gap: 8px; padding: 9px 11px; border-color: rgba(127,157,143,.15); border-radius: 9px; background: #141b18; }
.event-card:hover, .event-card.selected { border-color: rgba(112,214,170,.68); background: #1a2821; transform: none; }
.event-time { color: var(--green); font-size: 10px; }
.event-teams { gap: 2px; font-size: 11px; }
.event-teams span { display: none; }
.event-league { grid-column: 2; margin-top: -3px; color: #82928a; font-size: 9px; }
.event-arrow { grid-column: 3; grid-row: 1 / span 2; color: var(--green); }
.workspace-events > .workspace-surface > .hint:last-child { margin: 12px 0 0; font-size: 10px; }

.market-settings { grid-template-columns: 1fr; gap: 10px; margin-bottom: 16px; padding: 0 0 14px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.market-settings h3 { margin: 0; font-size: 12px; }
.market-settings .hint { margin: 3px 0 0; font-size: 10px; }
.market-options { display: flex; flex-wrap: wrap; gap: 6px; }
.market-option { min-height: 36px; padding: 7px 11px; border-color: rgba(127,157,143,.2); border-radius: 8px; background: #111815; font-size: 10px; }
.market-option:has(input:checked) { border-color: rgba(112,214,170,.55); background: rgba(112,214,170,.09); }
.combination-mode, .single-market { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 10px; }
.combination-mode select, .single-market select { min-height: 34px; }
.bookmaker-grid { gap: 10px; }
.bookmaker-card { min-height: 100px; padding: 13px 15px; border-radius: 9px; background: #111715; }
.bookmaker-card[data-book="bet365"] { border-left: 2px solid var(--bet365); }
.bookmaker-card[data-book="betano"] { border-left: 2px solid var(--betano); }
.bookmaker-head h3 { font-size: 13px; }
.bookmaker-state { margin-top: 10px; font-size: 11px; }
.notice { margin-top: 12px; padding: 10px 12px; border-style: solid; border-color: rgba(127,157,143,.15); border-radius: 8px; background: rgba(255,255,255,.025); font-size: 10px; }

.analysis-workspace > .section-heading { margin-bottom: 12px; }
.results-view-tabs, .combination-direction-tabs { gap: 3px; margin: 0 0 12px; padding: 3px; border: 1px solid rgba(127,157,143,.16); border-radius: 9px; background: #0e1411; }
.results-view-tab, .combination-direction-tab { min-height: 34px; padding: 7px 12px; border-radius: 7px; font-size: 10px; }
.results-view-tab.active { color: #06110c; background: var(--green); }
.quick-stats { gap: 0; margin: 0 0 12px; border: 1px solid rgba(127,157,143,.14); border-radius: 9px; background: rgba(8,13,11,.44); }
.quick-stats > div { padding: 9px 14px; border-right: 1px solid rgba(127,157,143,.13); }
.quick-stats > div:last-child { border-right: 0; }
.quick-stats span { color: #91a098; font-size: 9px; }
.quick-stats strong { color: var(--text); font-size: 17px; }
.filters-bar { gap: 8px; padding: 10px; border: 1px solid rgba(127,157,143,.14); border-radius: 9px; background: #111715; }
.filter-control { min-width: 120px; }
.filter-control select, .filter-control input { min-height: 34px; border-color: var(--line); border-radius: 6px; background: #0b100e; }
.market-line-filters, .player-filter { border-color: rgba(127,157,143,.15); border-radius: 9px; background: #101613; }
.market-line-row { border-color: rgba(127,157,143,.12); border-radius: 7px; background: rgba(8,13,11,.46); }
.difference-market { border-color: rgba(127,157,143,.18); border-radius: 10px; background: #111715; }
.difference-market-heading { padding: 12px 14px 9px; }
.difference-market-heading h3 { font-size: 13px; }
.difference-table-wrap { border-top-color: rgba(127,157,143,.13); }
.difference-table th { background: #19211e; }
.player-matrix-wrap { border-color: rgba(127,157,143,.2); border-radius: 0 0 9px 9px; background: #0c1210; }
.matrix-caption { border-color: rgba(127,157,143,.2); border-radius: 9px 9px 0 0; background: #151d19; }
.player-matrix th, .player-matrix td { border-color: rgba(127,157,143,.12); }
.matrix-player-header, .matrix-market-header, .matrix-line-header { background: #17201b; }
.result { border-color: rgba(112,214,170,.24); border-radius: 10px; background: #141d18; }

#accountView, #adminView { padding-top: 2px; }
#accountView .credits-panel:not(.hidden), #adminView .admin-panel:not(.hidden) { display: block; padding: 20px; border: 1px solid rgba(127,157,143,.18); border-radius: 12px; background: linear-gradient(150deg, #151e19, #101513 65%); }
#accountView .credits-balance { border-color: rgba(112,214,170,.22); border-radius: 9px; background: rgba(8,15,11,.45); }
#adminView .admin-summary > div { border-color: rgba(127,157,143,.16); border-radius: 9px; background: #111815; }
#adminView .admin-create-user { border-color: rgba(127,157,143,.16); border-radius: 9px; background: #111815; }
#appShell .admin-table-wrap { border: 1px solid rgba(127,157,143,.16); border-radius: 9px; background: #0d1310; }
#appShell .admin-table th { background: #18211c; }
#appShell .credit-history-item { border-color: rgba(127,157,143,.14); border-radius: 7px; background: #111815; }

#appShell .lineup-fab { background: #183b2c; border-color: #80d9b1; color: #d9f4e6; box-shadow: 0 10px 28px rgba(0,0,0,.36), 0 0 0 5px rgba(112,214,170,.09); }
#appShell .lineup-fab-label, #appShell .bet-slip-fab-label { border-color: rgba(127,157,143,.24); border-radius: 7px; background: #111815; }
#appShell .lineup-float-panel, #appShell .bet-slip-card { border-color: rgba(127,157,143,.3); border-radius: 12px; background: #111815; box-shadow: 0 18px 70px rgba(0,0,0,.5); }
#appShell .lineup-float-panel { border-top: 2px solid var(--green); }
#appShell .bet-slip-card { border-top: 2px solid var(--bet365); }
#appShell .bet-slip-item, #appShell .bet-slip-summary > div { border-color: rgba(127,157,143,.16); border-radius: 8px; background: #0d1310; }
#appShell footer { color: #718078; font-size: 10px; }

@media (max-width: 1080px) {
  #appShell .topbar { grid-template-columns: auto minmax(0,1fr); gap: 8px 16px; }
  #appShell .workspace-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  #appShell .header-actions { grid-column: 2; grid-row: 1; }
  .event-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  #appShell { width: 100%; padding: 0 max(12px, env(safe-area-inset-right)) calc(84px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  #appShell .topbar { top: 0; grid-template-columns: minmax(0,1fr) auto; gap: 5px 8px; min-height: auto; margin: 0 -12px 12px; padding: 8px 12px 7px; }
  #appShell .brand { grid-column: 1; grid-row: 1; }
  #appShell .brand strong { display: none; }
  #appShell .header-actions { grid-column: 2; grid-row: 1; gap: 6px; }
  #appShell #lastUpdated, #appShell #apiStatus { display: none !important; }
  #appShell .header-actions .button { min-height: 34px; }
  #appShell .account-nav-button { min-height: 34px; padding: 5px 8px; }
  #appShell .workspace-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-content: flex-start; gap: 3px; }
  .workspace-tab { min-height: 37px; padding: 7px 12px; }
  .match-context-strip { grid-template-columns: minmax(0,1fr); gap: 10px; margin: 9px 0 12px; padding: 13px; border-radius: 10px; }
  #appShell .selected-match { align-items: flex-start; flex-direction: column; gap: 4px; }
  #appShell .selected-match strong { font-size: clamp(16px,5vw,21px); }
  #appShell .selected-match > span { text-align: left; }
  #appShell .hero-metric { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; padding: 8px 0 0; border: 0; border-top: 1px solid rgba(169,193,178,.16); text-align: left; }
  #appShell .hero-metric strong { font-size: 18px; }
  .workspace-surface { padding: 14px 12px 18px; border-radius: 10px; }
  .workspace-surface > .section-heading { align-items: flex-start; }
  .workspace-surface .section-heading .button { width: auto; min-height: 42px; }
  .control-grid { grid-template-columns: 1fr; }
  .event-list { grid-template-columns: 1fr; }
  .event-card { grid-template-columns: 48px minmax(0,1fr) 14px; min-height: 62px; }
  .market-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .market-option { min-width: 0; justify-content: flex-start; min-height: 42px; padding: 7px; }
  .combination-mode, .single-market { align-items: stretch; flex-direction: column; }
  .bookmaker-grid { grid-template-columns: 1fr; }
  .quick-stats > div { padding: 8px 7px; }
  .quick-stats span { white-space: normal; }
  .filters-bar label, .filters-bar .button { min-width: 100%; }
  #accountView .credits-panel, #adminView .admin-panel { padding: 14px 11px; }
  #appShell .lineup-float-panel, #appShell .bet-slip-card { max-height: min(88dvh, 760px); border-radius: 14px 14px 0 0; }
}
@media (max-width: 390px) {
  #appShell { padding-right: 10px; padding-left: 10px; }
  #appShell .topbar { margin-right: -10px; margin-left: -10px; padding-right: 10px; padding-left: 10px; }
  #appShell .brand-mark, #appShell .brand-mark-image { width: 29px; height: 29px; }
  #appShell .brand-mark-image { flex-basis: 29px; }
  #appShell .workspace-tab { padding-right: 10px; padding-left: 10px; font-size: 11px; }
  .account-nav-button span { display: none; }
  .market-options { grid-template-columns: 1fr; }
}
.mobile-player-line-head { min-height: 28px; padding: 4px 0; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.mobile-player-line-head span:not(:first-child) { text-align: center; }
.mobile-player-line-label { color: var(--muted); font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; }
.mobile-player-book { min-width: 0; }
.mobile-player-book .matrix-odd { width: 100%; min-height: 34px; padding: 7px 3px; }
.mobile-player-delta { color: var(--muted); font-size: 9px; font-weight: 900; text-align: right; font-variant-numeric: tabular-nums; }
.mobile-player-line.delta-up .mobile-player-delta { color: var(--delta-up); }
.mobile-player-line.delta-down .mobile-player-delta { color: var(--delta-down); }
.mobile-player-line.is-missing .mobile-player-delta { color: #5f6b7a; }

@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body { min-height: 100dvh; }
  .shell { width: 100%; max-width: none; padding: 12px max(12px, env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .topbar { gap: 10px; padding-bottom: 12px; }
  .brand strong { font-size: 13px; }
  .header-actions { width: 100%; }
  .hero-metric { min-width: 0; padding: 11px 12px; }
  .hero-metric strong { font-size: 21px; }
  .workflow { margin-bottom: 12px; }
  .card { margin: 10px 0; padding: 12px; border-radius: 11px; }
  .section-heading { gap: 10px; margin-bottom: 12px; }
  .section-heading h2 { font-size: 16px; }
  .section-heading .button, .button.small { width: auto; min-height: 42px; }
  .selected-match { min-height: 48px; margin-bottom: 9px; padding: 9px 10px; }
  .selected-match strong { font-size: 13px; }
  .market-settings { gap: 9px; padding: 10px; }
  .market-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .market-option { min-height: 44px; justify-content: flex-start; padding: 8px 9px; font-size: 11px; }
  .market-option input { width: 17px; height: 17px; }
  .bookmaker-card { min-height: 0; padding: 10px; }
  .bookmaker-head .button.small { min-height: 40px; }
  .bookmaker-state { margin-top: 9px; }
  .results-view-tabs, .combination-direction-tabs { width: 100%; overflow-x: auto; }
  .results-view-tab, .combination-direction-tab { min-height: 42px; flex: 1 0 auto; }
  .difference-market-tabs { margin-top: 8px; }
  .difference-market-tab { min-height: 42px; padding: 8px 10px; }
  .difference-controls { margin-top: 8px; padding: 6px; }
  .difference-filter-button { min-height: 40px; padding: 7px 10px; }
  .difference-sort-control select { min-height: 40px; }
  .matrix-caption { margin-top: 10px; padding: 10px 11px; }
  .matrix-caption strong { font-size: 13px; }
  .matrix-caption-note { align-self: flex-start; }
  .player-matrix-wrap { display: none; }
  .player-mobile-list { display: grid; gap: 8px; margin-top: 8px; }
  .player-mobile-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-deep); }
  .player-mobile-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-width: 0; padding: 10px; border-bottom: 1px solid var(--line); background: #111a27; }
  .player-mobile-card-head > div { min-width: 0; }
  .player-mobile-card-head strong, .player-mobile-card-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .player-mobile-card-head strong { color: var(--text); font-size: 12px; }
  .player-mobile-card-head small { margin-top: 2px; color: var(--muted); font-size: 10px; }
  .player-mobile-card-head .recent-stats { max-width: 210px; margin-top: 4px; font-size: 9px; }
  .player-mobile-market { flex: 0 0 auto; padding: 3px 5px; border: 1px solid rgba(101,216,255,.25); border-radius: 5px; color: var(--blue); font-size: 8px; font-weight: 800; text-transform: uppercase; }
  .player-mobile-card > .mobile-player-line { padding-right: 10px; padding-left: 10px; }
  .player-mobile-lines { padding: 0 10px; }
  .player-mobile-lines .mobile-player-line { padding-right: 0; padding-left: 0; }
  .player-mobile-lines .matrix-odd:hover, .player-mobile-lines .matrix-odd.is-selected { outline-width: 1px; }
  .filters-bar { gap: 7px; padding: 7px; }
  .filters-bar label, .filters-bar .button { min-width: 100%; }
  .filter-control select, .filter-control input { min-height: 42px; }
  .market-line-filters, .player-filter { padding: 10px; }
  .market-line-row { gap: 8px; padding: 9px; }
  .line-inputs { max-width: none; }
  .line-inputs input { min-height: 40px; }
  .clear-line-filter { min-height: 40px; }
  .player-filter-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 230px; gap: 6px; }
  .player-filter-player { width: 100%; border-radius: 9px; }
  .player-filter-player label { min-width: 0; min-height: 44px; padding: 7px; }
  .player-filter-player label > span { min-width: 0; }
  .player-filter-player label strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .player-scope-trigger { min-width: 40px; min-height: 44px; }
  .quick-stats > div { min-width: 0; padding: 9px 7px; }
  .quick-stats span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
  .quick-stats strong { font-size: 17px; }
  .lineup-fab, .bet-slip-fab { right: max(14px, env(safe-area-inset-right)); }
  .bet-slip-fab { bottom: calc(14px + env(safe-area-inset-bottom)); }
  .lineup-fab { bottom: calc(84px + env(safe-area-inset-bottom)); }
  .lineup-fab-label, .bet-slip-fab-label { right: 68px; }
  .bet-slip-fab, .lineup-fab { touch-action: manipulation; }
  .bet-slip-card, .lineup-float-panel { max-height: min(88dvh, 760px); }
  .bet-slip-card { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .bet-slip-card .section-heading, .lineup-float-panel .section-heading { position: sticky; top: 0; z-index: 2; background: inherit; }
  .bet-slip-card .bet-slip-list { max-height: 48dvh; }
  .bet-slip-item { min-height: 58px; }
  .bet-slip-remove, .bet-slip-close, .lineup-close { min-width: 42px; min-height: 42px; }
  .lineup-float-panel { padding: 12px; }
  .lineup-float-panel #probableLineupContent { max-height: 74dvh; }
  .probable-lineup-grid { gap: 8px; }
  .probable-lineup-pitch { min-height: 222px; padding: 8px 4px; }
  .probable-lineup-player strong { font-size: 9px; }
  .probable-lineup-player small { font-size: 8px; }
  .lineup-number { width: 19px; height: 19px; }
  .lineup-selection-popover { max-height: 58dvh; padding: 10px; }
  footer { padding: 0 8px; font-size: 10px; }
}

@media (max-width: 390px) {
  .shell { padding-right: 10px; padding-left: 10px; }
  .card { padding: 10px; }
  .market-options { grid-template-columns: 1fr; }
  .mobile-player-line { grid-template-columns: 42px minmax(0, 1fr) minmax(0, 1fr) 46px; gap: 4px; }
  .mobile-player-line .matrix-odd { font-size: 10px; }
  .player-mobile-card-head .recent-stats { max-width: 165px; }
  .player-filter-list { grid-template-columns: 1fr; }
  .quick-stats strong { font-size: 16px; }
  .lineup-fab, .bet-slip-fab { width: 56px; height: 56px; }
  .lineup-fab { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .lineup-fab-label, .bet-slip-fab-label { right: 62px; }
}

/* Alineación probable de SofaScore: tarjetas compactas, sin fotos ni cancha */
.probable-lineup-panel { margin: 12px 0; padding: 14px; border: 1px solid rgba(101,216,255,.24); border-radius: 14px; background: #101925; }
.probable-lineup-panel.is-collapsed { padding-bottom: 14px; }
.probable-lineup-panel.is-collapsed > :not(.section-heading) { display: none; }
.probable-lineup-heading { align-items: flex-start; margin-bottom: 12px; }
.probable-lineup-heading h3 { margin: 0; font-size: 15px; }
.probable-lineup-heading .eyebrow { margin-bottom: 3px; }
.probable-lineup-status { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 800; }
.probable-lineup-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.probable-lineup-status.status-probable { color: var(--blue); }
.probable-lineup-status.status-confirmed { color: var(--green); }
.probable-lineup-status.status-unavailable { color: var(--warning, #ffb56b); }
.probable-lineup-status.status-loading { color: var(--blue); }
.probable-lineup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.probable-lineup-team { min-width: 0; border: 1px solid #304157; border-radius: 10px; background: #0b121c; overflow: hidden; }
.probable-lineup-team-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 52px; padding: 10px 11px 9px; border-bottom: 1px solid #26364a; background: #111d2c; }
.probable-lineup-team-title { min-width: 0; }
.probable-lineup-team-head strong { display: block; overflow: hidden; color: var(--text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.probable-lineup-team-head small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.probable-lineup-count { flex: 0 0 auto; padding-top: 1px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.probable-lineup-pitch { position: relative; display: flex; flex-direction: column; justify-content: space-around; min-height: 280px; padding: 12px 8px; overflow: hidden; background: #0a151c; isolation: isolate; }
.probable-lineup-pitch::before { position: absolute; inset: 10px; z-index: -1; border: 1px solid rgba(127,213,190,.18); border-radius: 7px; background: linear-gradient(90deg, transparent 49.7%, rgba(127,213,190,.13) 50%, transparent 50.3%), radial-gradient(circle at 50% 50%, transparent 0 28px, rgba(127,213,190,.13) 29px 30px, transparent 31px), repeating-linear-gradient(0deg, rgba(127,213,190,.025) 0 22px, rgba(127,213,190,.06) 23px 24px); content: ""; }
.probable-lineup-pitch::after { position: absolute; top: 50%; left: 50%; z-index: -1; width: 7px; height: 7px; border: 1px solid rgba(127,213,190,.16); border-radius: 50%; background: #0a151c; content: ""; transform: translate(-50%, -50%); }
.probable-lineup-pitch-row { display: flex; align-items: flex-start; justify-content: space-around; gap: 5px; min-width: 0; }
.probable-lineup-player { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; min-width: 0; max-width: 94px; padding: 2px 1px; border-radius: 6px; text-align: center; transition: background .15s ease; }
.probable-lineup-player { cursor: pointer; outline: 0; }
.probable-lineup-player:hover, .probable-lineup-player:focus-visible { background: rgba(101,216,255,.08); }
.probable-lineup-player.is-selected { background: rgba(101,216,255,.16); box-shadow: 0 0 0 1px rgba(138,180,255,.72); }
.probable-lineup-player .lineup-number { margin-bottom: 4px; }
.lineup-player-copy { min-width: 0; }
.probable-lineup-player .lineup-player-copy { width: 100%; }
.probable-lineup-player strong, .probable-lineup-player small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.probable-lineup-player strong { color: var(--text); font-size: 10px; font-weight: 800; }
.probable-lineup-player small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.lineup-number { display: grid; flex: 0 0 20px; place-items: center; width: 20px; height: 20px; border: 1px solid rgba(101,216,255,.18); border-radius: 50%; color: var(--blue); background: rgba(101,216,255,.1); font-size: 9px; font-variant-numeric: tabular-nums; }
.lineup-loading { display: flex; align-items: center; gap: 8px; }
.loading-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(101,216,255,.12); animation: lineup-pulse 1.2s ease-in-out infinite; }
@keyframes lineup-pulse { 50% { opacity: .35; transform: scale(.7); } }
@media (max-width: 760px) { .probable-lineup-grid { grid-template-columns: 1fr; }.probable-lineup-pitch { min-height: 250px; }.probable-lineup-heading { flex-direction: row; align-items: flex-start; } }

/* Selector de cuotas desde la alineación: solo usa las cuotas ya cargadas. */
.lineup-float-panel { overflow: visible; }
.lineup-selection-popover { position: absolute; z-index: 5; max-height: min(520px, calc(100vh - 32px)); overflow: auto; padding: 11px; border: 1px solid rgba(138,180,255,.58); border-radius: 11px; color: var(--text); background: #101925; box-shadow: 0 18px 42px rgba(0,0,0,.48); }
.lineup-selection-popover.hidden { display: none !important; }
.lineup-selection-heading, .lineup-selection-market-heading, .lineup-selection-line { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.lineup-selection-heading { margin-bottom: 9px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.lineup-selection-heading strong { display: block; max-width: 245px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.lineup-selection-heading small, .lineup-selection-market-heading small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.lineup-selection-close { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: transparent; cursor: pointer; font-size: 18px; line-height: 1; }
.lineup-selection-close:hover { color: var(--text); border-color: var(--blue); }
.lineup-selection-market { padding: 8px 0; border-bottom: 1px solid rgba(43,53,71,.7); }
.lineup-selection-market:last-child { border-bottom: 0; padding-bottom: 2px; }
.lineup-selection-market-heading { margin-bottom: 6px; }
.lineup-selection-market-heading strong { color: var(--text); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.lineup-selection-line { min-height: 28px; padding: 3px 0; }
.lineup-selection-line-label { min-width: 32px; color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.lineup-selection-odds { display: flex; justify-content: flex-end; gap: 5px; }
.lineup-selection-odd { min-width: 52px; padding: 4px 7px; border: 1px solid transparent; border-radius: 5px; font-size: 10px; font-weight: 900; line-height: 14px; text-align: center; font-variant-numeric: tabular-nums; }
button.lineup-selection-odd { cursor: pointer; }
button.lineup-selection-odd:hover, button.lineup-selection-odd.is-selected { outline: 2px solid rgba(255,255,255,.8); outline-offset: 1px; }
.lineup-selection-odd-bet365 { color: var(--bet365); background: var(--bet365-soft); }
.lineup-selection-odd-bet365.is-selected { border-color: var(--bet365); background: rgba(85,229,141,.24); }
.lineup-selection-odd-betano { color: var(--betano); background: var(--betano-soft); }
.lineup-selection-odd-betano.is-selected { border-color: var(--betano); background: rgba(255,111,125,.24); }
.lineup-selection-odd.is-missing { color: #687487; background: #121a25; }
.lineup-selection-message { margin: 4px 0 2px; color: var(--muted); font-size: 11px; line-height: 1.4; }
@media (max-width: 760px) {
  .lineup-selection-popover { right: 12px !important; bottom: 12px; left: 12px !important; top: auto !important; width: auto !important; max-height: 62vh; }
}

/* Prioridad final: el cupón se abre únicamente desde el botón flotante. */
.workspace-grid { display: block; }
.workspace-sidebar { display: contents; }
.bet-slip-card { position: fixed; inset: 14px 18px 14px auto; z-index: 70; display: flex; flex-direction: column; width: min(410px, calc(100vw - 28px)); max-height: calc(100vh - 28px); margin: 0; overflow: hidden; border-color: rgba(85,229,141,.55); transform: translateX(calc(100% + 34px)); visibility: hidden; opacity: 0; transition: transform .22s ease, opacity .18s ease, visibility .22s ease; }
.bet-slip-card.is-open { transform: translateX(0); visibility: visible; opacity: 1; }
.bet-slip-card .section-heading { flex: 0 0 auto; }
.bet-slip-card .bet-slip-list { flex: 1 1 auto; max-height: none; overflow: auto; }
.bet-slip-head-actions { display: flex; align-items: flex-start; gap: 7px; }
.bet-slip-close { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 21px; line-height: 1; }
.bet-slip-close:hover { color: var(--text); border-color: var(--bet365); }
.player-matrix { min-width: 520px; }
.player-matrix thead th { top: 0; }
.matrix-player-header { top: 0; left: 0; z-index: 4 !important; }
.matrix-line-header { top: 0; }

@media (max-width: 760px) {
  .bet-slip-card { inset: auto 0 0; width: 100%; max-height: 85vh; border-radius: 16px 16px 0 0; transform: translateY(110%); }
  .bet-slip-card.is-open { transform: translateY(0); }
  .bet-slip-card .bet-slip-list { max-height: 42vh; }
}

/* Panel de actividad reservado para superusuarios. */
.admin-panel { border-color: rgba(101, 216, 255, .28); background: linear-gradient(135deg, rgba(101, 216, 255, .07), rgba(14, 21, 32, .96) 44%); }
.admin-panel .section-heading { margin-bottom: 12px; }
.admin-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.admin-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.admin-summary > div { display: grid; gap: 3px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; background: rgba(8, 14, 23, .58); }
.admin-summary span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.admin-summary strong { color: var(--text); font-size: 20px; font-variant-numeric: tabular-nums; }
.admin-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; }
.admin-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 12px; }
.admin-table th, .admin-table td { padding: 10px 12px; border-bottom: 1px solid rgba(140, 164, 190, .14); text-align: left; }
.admin-table thead th { color: var(--muted); background: rgba(20, 31, 46, .8); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.admin-table tbody tr:last-child th, .admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table tbody th { color: var(--text); font-weight: 700; }
.admin-table tbody td { color: var(--soft); font-variant-numeric: tabular-nums; }
.admin-table small { display: block; margin-top: 3px; color: var(--muted); font-weight: 500; }
.admin-active-count { display: inline-grid; min-width: 24px; min-height: 22px; place-items: center; padding: 2px 7px; border-radius: 999px; background: rgba(140, 164, 190, .12); color: var(--muted); }
.admin-active-count.is-active { background: rgba(85, 229, 141, .16); color: var(--bet365); }

@media (max-width: 760px) {
  .admin-summary { grid-template-columns: 1fr; }
}

.matrix-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); border-bottom: 0; border-radius: 10px 10px 0 0; background: #101720; }.matrix-caption > div { display: grid; gap: 3px; }.matrix-caption .eyebrow { margin: 0; font-size: 9px; color: var(--green); }.matrix-caption strong { color: var(--text); font-size: 14px; }.matrix-caption span { color: var(--muted); font-size: 11px; }.matrix-caption-note { flex: 0 0 auto; color: var(--muted) !important; font-size: 10px !important; font-weight: 800; }
.player-matrix-wrap { max-height: 560px; overflow: auto; border: 1px solid var(--line); border-radius: 0 0 10px 10px; background: #0a1018; }.player-matrix { min-width: 2020px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }.player-matrix th, .player-matrix td { border-right: 1px solid rgba(43,53,71,.7); border-bottom: 1px solid rgba(43,53,71,.7); }.player-matrix thead th { position: sticky; z-index: 3; text-align: center; }.matrix-player-header { left: 0; top: 0; width: 190px; min-width: 190px; background: #19202d; }.matrix-market-header { top: 0; height: 32px; min-width: 260px; color: var(--text); background: #182130; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }.matrix-market-player_tackles { color: #7dd3fc; }.matrix-market-player_fouls_won { color: #c4b5fd; }.matrix-market-player_fouls_committed { color: #fdba74; }.matrix-line-header { top: 32px; width: 37px; min-width: 37px; padding: 6px 2px; color: var(--muted); background: #111a27; font-size: 10px; }.player-matrix tbody th, .player-matrix tbody td { height: 60px; padding: 6px 4px; }.player-matrix tbody tr:hover th, .player-matrix tbody tr:hover td { background-color: rgba(255,255,255,.025); }.player-matrix tbody tr:last-child th, .player-matrix tbody tr:last-child td { border-bottom: 0; }.matrix-player { position: sticky; left: 0; z-index: 2; width: 190px; min-width: 190px; padding: 8px 10px !important; text-align: left; background: #0d151f; }.matrix-player strong, .matrix-player small, .matrix-player em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.matrix-player strong { color: var(--text); font-size: 12px; }.matrix-player small { margin-top: 3px; color: var(--muted); font-size: 10px; }.matrix-player em { margin-top: 4px; color: #8fb2d8; font-size: 8px; font-style: normal; }.matrix-cell { width: 37px; min-width: 37px; padding: 4px 2px !important; text-align: center; vertical-align: middle; }.matrix-cell.is-empty { color: #465366; }.matrix-odds { display: grid; gap: 2px; justify-items: center; }.matrix-odd { display: block; width: 33px; min-height: 19px; padding: 2px 1px; border: 1px solid transparent; border-radius: 4px; color: var(--text); background: #141d29; font-size: 10px; font-weight: 900; line-height: 14px; cursor: pointer; font-variant-numeric: tabular-nums; }.matrix-odd:hover, .matrix-odd.is-selected { outline: 2px solid rgba(255,255,255,.8); outline-offset: 1px; }.matrix-odd-bet365 { color: var(--bet365); background: rgba(85,229,141,.14); }.matrix-odd-betano { color: var(--betano); background: rgba(255,111,125,.14); }.matrix-odd.is-missing { color: #6b7788; background: #121a25; cursor: default; }.matrix-delta { display: block; min-height: 12px; margin-top: 2px; color: var(--delta-up); font-size: 8px; font-weight: 900; line-height: 10px; font-variant-numeric: tabular-nums; }.matrix-cell.delta-down .matrix-delta { color: var(--delta-down); }.matrix-cell.is-missing .matrix-delta { color: #5f6b7a; }.matrix-cell.delta-flat .matrix-delta { color: var(--muted); }
@media (max-width: 760px) { .matrix-caption { align-items: flex-start; flex-direction: column; gap: 7px; }.player-matrix-wrap { max-height: 480px; }.player-matrix { min-width: 2020px; }.matrix-player, .matrix-player-header { width: 150px; min-width: 150px; }.matrix-player strong { font-size: 11px; } }

/* Trading dashboard redesign */
:root {
  --bet365: #55e58d;
  --bet365-soft: rgba(85, 229, 141, .13);
  --betano: #ff6f7d;
  --betano-soft: rgba(255, 111, 125, .13);
  --delta-up: #65d8ff;
  --delta-down: #ffb86b;
  --surface-deep: #0b111a;
}

body { background: radial-gradient(circle at 50% -20%, #182b2d 0, #0a0e14 46%); }
.shell { width: min(1420px, calc(100% - 44px)); }
.topbar { border-bottom-color: rgba(85,229,141,.18); }
.brand-mark { background: linear-gradient(145deg, var(--bet365), #1ca765); box-shadow: 0 0 24px rgba(85,229,141,.18); }
.workspace-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 16px; align-items: start; }
.workspace-main { min-width: 0; }
.workspace-sidebar { position: sticky; top: 14px; min-width: 0; }
.workspace-main > .card { margin-top: 0; }
.workspace-main > .card + .card { margin-top: 16px; }
.workspace-sidebar .card { margin: 0; }

.workspace-main .section-heading { margin-bottom: 14px; }
.workspace-main .section-heading h2 { letter-spacing: -.03em; }
.market-settings { grid-template-columns: minmax(160px, .85fr) minmax(0, 2fr) minmax(170px, .85fr) minmax(170px, .85fr); border-color: rgba(85,229,141,.12); }
.selected-match { margin-bottom: 10px; border-color: rgba(101,216,255,.25); background: rgba(101,216,255,.06); }
.bookmaker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bookmaker-card { min-height: 0; padding: 10px 12px; border-radius: 10px; background: var(--surface-deep); }
.bookmaker-card[data-book="bet365"] { border-color: rgba(85,229,141,.38); }
.bookmaker-card[data-book="betano"] { border-color: rgba(255,111,125,.38); }
.bookmaker-card.is-loading { border-color: var(--blue); }
.bookmaker-head h3 { font-size: 13px; }
.bookmaker-head small { font-size: 10px; }
.bookmaker-logo { width: 28px; height: 28px; border-radius: 8px; }
.bet365-logo { background: var(--bet365); color: #06150d; }
.betano-logo { background: var(--betano); color: #27080d; }
.bookmaker-state { margin-top: 8px; font-size: 11px; }
.market-status-list { margin-top: 7px; gap: 4px; }
.market-status { padding: 3px 5px; font-size: 9px; }
.bookmaker-card[data-book="bet365"] .market-status.available { color: var(--bet365); background: var(--bet365-soft); }
.bookmaker-card[data-book="betano"] .market-status.available { color: var(--betano); background: var(--betano-soft); }
.odds-market-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-deep); }
.odds-market-tab { display: inline-flex; align-items: center; gap: 7px; border: 1px solid transparent; border-radius: 7px; padding: 7px 10px; color: var(--muted); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }
.odds-market-tab b { color: inherit; font-size: 10px; font-variant-numeric: tabular-nums; }
.odds-market-tab:hover { color: var(--text); border-color: var(--line); }
.odds-market-tab.active { color: var(--text); border-color: rgba(85,229,141,.55); background: rgba(85,229,141,.12); }
.odds-market-tab.is-empty { opacity: .52; }
.table-wrap { margin-top: 10px; max-height: 610px; overflow: auto; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-deep); }
.odds-table { min-width: 680px; width: 100%; border-collapse: separate; border-spacing: 0; }
.odds-table th, .odds-table td { padding: 9px 11px; border-bottom: 1px solid rgba(43,53,71,.75); }
.odds-table thead th { position: sticky; top: 0; z-index: 2; background: #161e2a; color: var(--muted); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.odds-table tbody tr:last-child td { border-bottom: 0; }
.odds-table tbody tr:hover { background: rgba(255,255,255,.025); }
.odds-table th:first-child, .odds-table td:first-child { min-width: 240px; }
.odds-table .odds-player strong { font-size: 12px; }
.odds-table .odds-player small { margin-top: 3px; font-size: 10px; }
.odds-table .odds-line { color: var(--muted); font-weight: 800; white-space: nowrap; }
.book-header { text-align: center; }
.book-header-bet365 { color: var(--bet365) !important; border-bottom: 2px solid var(--bet365); }
.book-header-betano { color: var(--betano) !important; border-bottom: 2px solid var(--betano); }
.odds-cell { display: block; width: 100%; min-width: 72px; border: 1px solid transparent; border-radius: 6px; padding: 6px 8px; color: inherit; background: transparent; cursor: pointer; font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; font-weight: 900; text-align: center; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.odds-cell:hover { transform: translateY(-1px); }
.odds-cell-bet365 { color: var(--bet365); background: var(--bet365-soft); }
.odds-cell-bet365:hover, .odds-cell-bet365.is-selected { border-color: var(--bet365); background: rgba(85,229,141,.24); }
.odds-cell-betano { color: var(--betano); background: var(--betano-soft); }
.odds-cell-betano:hover, .odds-cell-betano.is-selected { border-color: var(--betano); background: rgba(255,111,125,.24); }
.odds-cell.is-missing { color: #667386; background: rgba(255,255,255,.035); cursor: default; }
.odds-difference { font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 900; text-align: right; white-space: nowrap; }
.odds-difference.delta-up { color: var(--delta-up); }
.odds-difference.delta-down { color: var(--delta-down); }
.odds-difference.delta-flat, .odds-difference.is-missing { color: var(--muted); }
.odds-table .recent-stats { max-width: 300px; overflow: hidden; text-overflow: ellipsis; }
.odds-table-empty { display: grid; gap: 4px; padding: 22px; color: var(--muted); }
.odds-table-empty strong { color: var(--text); }

.bet-slip-card { border-color: rgba(85,229,141,.42); background: linear-gradient(160deg, rgba(28,74,52,.32), rgba(13,19,28,.96)); }
.bet-slip-card .section-heading { align-items: flex-start; }
.bet-slip-card .section-heading h2 { font-size: 17px; }
.bet-slip-card .subtitle { max-width: 220px; }
.bet-slip-list { max-height: 490px; overflow: auto; padding-right: 2px; }
.bet-slip-item { grid-template-columns: minmax(0,1fr) auto 28px; gap: 8px; border-color: rgba(85,229,141,.18); }
.bet-slip-odds { gap: 6px; }
.bet-slip-odds .bet365-odd { color: var(--bet365); }
.bet-slip-odds .betano-odd { color: var(--betano); }
#betSlipBet365 { color: var(--bet365); }
#betSlipBetano { color: var(--betano); }
.bet-slip-summary { grid-template-columns: 1fr 1fr; }
.bet-slip-summary > div:first-child { grid-column: 1 / -1; }
.bet-slip-summary strong { font-size: 22px; }
.bet-slip-card .empty-state { padding: 14px; }

.results-view-tabs, .combination-direction-tabs { margin-top: 0; }
.results-view-tab.active { background: var(--bet365); }
.resultsLegend .delta-up-dot { background: var(--delta-up); }
.delta-up-dot { background: var(--delta-up) !important; }
.delta-down-dot { background: var(--delta-down) !important; }
.difference-value.positive { color: var(--delta-up); }
.difference-value.negative { color: var(--delta-down); }
.result { border-color: rgba(85,229,141,.35); }

@media (max-width: 1120px) {
  .workspace-grid { grid-template-columns: minmax(0, 1fr) 300px; }
  .market-settings { grid-template-columns: 1fr 2fr; }
  .combination-mode, .single-market { max-width: none; }
}
@media (max-width: 900px) {
  .workspace-grid { display: block; }
  .workspace-sidebar { position: static; margin-top: 16px; }
  .workspace-sidebar .bet-slip-card { position: sticky; bottom: 10px; top: auto; z-index: 5; }
  .bet-slip-list { max-height: 260px; }
}
@media (max-width: 760px) {
  .shell { width: min(100% - 20px, 680px); }
  .workspace-main > .card + .card { margin-top: 12px; }
  .market-settings { grid-template-columns: 1fr; }
  .bookmaker-grid { grid-template-columns: 1fr; }
  .odds-market-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .odds-market-tab { flex: 0 0 auto; }
  .table-wrap { max-height: 520px; }
  .bet-slip-card .section-heading { flex-direction: row; align-items: flex-start; }
  .bet-slip-card .section-heading .button { width: auto; }
}

/* Cupón flotante y navegación de diferencias por mercado */
.workspace-grid { display: block; }
.workspace-main { width: 100%; }
.workspace-sidebar { display: contents; }
.difference-market-tabs { display: flex; gap: 6px; overflow-x: auto; margin: 14px 0 0; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-deep); scrollbar-width: thin; }
.difference-market-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; border: 1px solid transparent; border-radius: 7px; padding: 8px 11px; color: var(--muted); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; white-space: nowrap; }
.difference-market-tab b { color: inherit; font-size: 10px; font-variant-numeric: tabular-nums; }
.difference-market-tab:hover { color: var(--text); border-color: var(--line); }
.difference-market-tab.active { color: #06110e; border-color: var(--bet365); background: var(--bet365); }
.difference-market-tab.is-empty { opacity: .55; }
.difference-market-tab.is-empty.active { color: var(--text); background: rgba(85,229,141,.12); }
.difference-controls { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-deep); }
.difference-filter-buttons { display: flex; flex-wrap: wrap; gap: 4px; }
.difference-filter-button { border: 1px solid transparent; border-radius: 6px; padding: 6px 9px; color: var(--muted); background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; white-space: nowrap; }
.difference-filter-button:hover { color: var(--text); border-color: var(--line); }
.difference-filter-button.active { color: #06110e; border-color: var(--bet365); background: var(--bet365); }
.difference-sort-control { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.difference-sort-control select { min-width: 145px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--text); background: #111a27; font-size: 10px; }
.difference-filter-summary { color: var(--muted); font-size: 10px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.bet-slip-fab { position: fixed; right: 24px; bottom: 24px; z-index: 60; display: grid; place-items: center; width: 66px; height: 66px; padding: 0; border: 2px solid rgba(255,255,255,.5); border-radius: 50%; color: #06110e; background: var(--bet365); box-shadow: 0 12px 32px rgba(0,0,0,.42), 0 0 0 5px rgba(85,229,141,.12); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.bet-slip-fab:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.5), 0 0 0 7px rgba(85,229,141,.18); }
.bet-slip-fab-icon { font-size: 27px; font-weight: 900; line-height: 1; }
.bet-slip-fab-label { position: absolute; right: 76px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--text); background: #111720; font-size: 10px; font-weight: 800; white-space: nowrap; opacity: .9; }
.bet-slip-fab b { position: absolute; top: -5px; right: -3px; display: grid; place-items: center; min-width: 23px; height: 23px; padding: 0 5px; border: 2px solid #0a0e14; border-radius: 999px; color: var(--text); background: #1c2a3a; font-size: 10px; font-variant-numeric: tabular-nums; }
.bet-slip-fab.has-selections { box-shadow: 0 12px 32px rgba(0,0,0,.42), 0 0 0 7px rgba(85,229,141,.2); }
.bet-slip-backdrop { position: fixed; inset: 0; z-index: 65; background: transparent; }
.bet-slip-backdrop.hidden { display: none; }
.bet-slip-card { position: fixed; inset: 14px 18px 14px auto; z-index: 70; display: flex; flex-direction: column; width: min(410px, calc(100vw - 28px)); max-height: calc(100vh - 28px); margin: 0; overflow: hidden; border-color: rgba(85,229,141,.55); transform: translateX(calc(100% + 34px)); visibility: hidden; opacity: 0; transition: transform .22s ease, opacity .18s ease, visibility .22s ease; }
.bet-slip-card.is-open { transform: translateX(0); visibility: visible; opacity: 1; }
.bet-slip-card .section-heading { flex: 0 0 auto; }
.bet-slip-head-actions { display: flex; align-items: flex-start; gap: 7px; }
.bet-slip-close { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 21px; line-height: 1; }
.bet-slip-close:hover { color: var(--text); border-color: var(--bet365); }
.bet-slip-card .bet-slip-list { flex: 1 1 auto; max-height: none; overflow: auto; }
.bet-slip-card .bet-slip-summary { flex: 0 0 auto; }

.player-matrix { min-width: 520px; }
.player-matrix thead th { top: 0; }
.matrix-player-header { top: 0; left: 0; z-index: 4 !important; }
.matrix-line-header { top: 0; }

@media (max-width: 760px) {
  .bet-slip-fab { right: 16px; bottom: 16px; width: 60px; height: 60px; }
  .bet-slip-fab-label { right: 68px; }
  .bet-slip-card { inset: auto 0 0; width: 100%; max-height: 85vh; border-radius: 16px 16px 0 0; transform: translateY(110%); }
  .bet-slip-card.is-open { transform: translateY(0); }
  .bet-slip-card .bet-slip-list { max-height: 42vh; }
  .difference-market-tabs { margin-top: 10px; }
  .difference-controls { align-items: stretch; flex-wrap: wrap; }
  .difference-filter-buttons { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
  .difference-sort-control { width: 100%; margin-left: 0; justify-content: space-between; }
  .difference-sort-control select { flex: 1; }
  .difference-filter-summary { display: block; width: 100%; }
}

.recent-stats { display: block; margin-top: 4px; color: #8fb2d8; font-size: 10px; line-height: 1.35; font-variant-numeric: tabular-nums; white-space: nowrap; }.recent-stats b { color: #b8c8dc; font-weight: 800; }.recent-stats em { margin-left: 6px; color: var(--green); font-style: normal; font-weight: 800; }.difference-table td:first-child .recent-stats { max-width: 250px; overflow: hidden; text-overflow: ellipsis; }.legs .recent-stats { display: inline; margin-left: 6px; }
.stats-notice { margin: 0 0 10px; color: var(--muted); font-size: 11px; }

/* Minimal trading dashboard refresh */
:root {
  --bg: #0a0e14;
  --panel: #111720;
  --panel-2: #18212d;
  --line: #263344;
  --text: #edf3f8;
  --muted: #8997a8;
  --green: #66e5aa;
  --blue: #8ab4ff;
  --orange: #ffbd76;
  --red: #ff7f8d;
}

body { background: var(--bg); font-size: 14px; }
.shell { width: min(1240px, calc(100% - 40px)); padding: 24px 0 48px; }
.topbar { padding: 0 0 16px; border-bottom-color: var(--line); }
.brand-mark { width: 30px; height: 30px; border-radius: 8px; }
.brand-mark-image { display: block; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; object-fit: cover; }
.hero { margin-bottom: 18px; }
.compact-hero { margin: 22px 0 14px; }
.compact-hero h1 { font-size: clamp(26px, 3.6vw, 42px); margin-bottom: 9px; }
.compact-hero .subtitle { max-width: 620px; font-size: 14px; }
.eyebrow { font-size: 9px; letter-spacing: .16em; }
.hero-metric { min-width: 168px; padding: 13px 15px; border-radius: 10px; background: var(--panel); box-shadow: none; }
.hero-metric strong { font-size: 25px; }
.workflow { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; color: var(--muted); font-size: 11px; font-weight: 800; }
.workflow-step { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: rgba(17,23,32,.72); white-space: nowrap; }
.workflow-step b { color: var(--muted); font-size: 9px; }.workflow-step.active { border-color: rgba(102,229,170,.6); color: var(--text); }.workflow-step.active b { color: var(--green); }
.workflow-line { width: 28px; height: 1px; background: var(--line); }
.card { margin: 12px 0; padding: 19px; border-radius: 12px; background: var(--panel); box-shadow: none; }
.section-heading { margin-bottom: 16px; }.section-heading h2 { font-size: 18px; }.section-heading .button { align-self: center; }
.button { border-radius: 8px; padding: 9px 13px; }.button.primary { background: var(--green); }.button.secondary, .button.accent { background: var(--blue); }
.control-grid { gap: 10px; }.control-grid input, .control-grid select, .market-settings, .filters-bar { background: #0d131c; }
.event-groups { gap: 16px; margin-top: 18px; }.event-list { gap: 8px; }.event-card { min-height: 76px; padding: 11px 12px; border-radius: 9px; background: #0d131c; transition: border-color .15s ease, background .15s ease; }.event-card:hover, .event-card.selected { transform: none; background: #14231e; }
.event-time { font-size: 11px; }.event-teams { font-size: 12px; }.event-league { font-size: 9px; }
.selected-match { padding: 10px 12px; border-radius: 9px; background: rgba(138,180,255,.06); }.selected-match strong { font-size: 14px; }
.market-settings { gap: 10px; padding: 12px; border-radius: 10px; }.market-options { gap: 6px; }.market-option { padding: 7px 9px; border-radius: 7px; font-size: 12px; }
.bookmaker-grid { gap: 9px; }.bookmaker-card { min-height: 112px; padding: 13px; border-radius: 10px; background: #0d131c; }.bookmaker-head h3 { font-size: 14px; }.bookmaker-state { margin-top: 13px; font-size: 12px; }.market-status-list { margin-top: 10px; }.market-status { padding: 3px 6px; font-size: 9px; }
.notice { padding: 11px 12px; border-radius: 9px; font-size: 12px; }
.bet-slip-card { position: sticky; top: 12px; z-index: 4; border-color: rgba(102,229,170,.45); background: #101c1a; }
.bet-slip-card .section-heading { margin-bottom: 11px; }.bet-slip-card .subtitle { font-size: 11px; }.bet-slip-item { padding: 8px 10px; border-radius: 8px; background: #0d131c; }.bet-slip-summary > div { padding: 9px 11px; border-radius: 8px; }.bet-slip-summary strong { font-size: 18px; }
.results-view-tabs, .combination-direction-tabs { border-radius: 8px; background: #0d131c; }.results-view-tab, .combination-direction-tab { padding: 7px 11px; font-size: 11px; }
.quick-stats { gap: 7px; margin-bottom: 11px; }.quick-stats > div { padding: 9px 11px; border-radius: 8px; background: #0d131c; }.quick-stats strong { font-size: 19px; }
.filters-bar { gap: 5px; padding: 7px; border-radius: 9px; }.filter-control { padding: 0 7px 2px; }.filter-control select, .filter-control input { height: 32px; padding: 5px 8px; border-radius: 7px; font-size: 11px; }
.market-line-filters, .player-filter { padding: 12px; border-radius: 10px; background: #101720; }.market-line-row { border-radius: 8px; background: #0d131c; }.difference-market { border-radius: 10px; background: #0d131c; }.difference-market-heading { padding: 11px 13px 8px; }.difference-table-wrap { max-height: 400px; }
.results { gap: 9px; }.result { padding: 13px; border-radius: 10px; background: #101c1a; }.result h3 { font-size: 14px; }.ratio { font-size: 20px; }
footer { margin-top: 18px; font-size: 11px; }

@media (max-width: 900px) {
  .bet-slip-card { position: static; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 20px, 620px); padding-top: 14px; }
  .workflow { overflow-x: auto; padding-bottom: 2px; }.workflow-line { flex: 0 0 18px; }.workflow-step { flex: 0 0 auto; }
  .card { padding: 15px; }.section-heading h2 { font-size: 17px; }
  .compact-hero { margin-top: 18px; }.compact-hero h1 { font-size: 29px; }.hero-metric { width: 100%; }.hero-metric strong { font-size: 22px; }
}

* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(circle at 20% 0%, #17233a 0, var(--bg) 40%); color: var(--text); font: 15px/1.5 Inter, ui-sans-serif, system-ui, sans-serif; }
.shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 42px 0 56px; }
.hidden { display: none !important; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.button.ghost { background: transparent; border: 1px solid var(--line); color: var(--muted); }
.login-panel { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(420px, 100%); padding: 28px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.login-card h1 { font-size: 34px; margin-bottom: 10px; }
.login-card form { display: grid; gap: 14px; margin-top: 22px; }
.hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.eyebrow { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .14em; margin: 0 0 7px; }
h1 { font-size: clamp(30px, 5vw, 54px); line-height: 1.03; letter-spacing: -.04em; max-width: 780px; margin: 0 0 14px; }
h2 { font-size: 20px; margin: 0; letter-spacing: -.02em; }
.subtitle { color: var(--muted); font-size: 17px; max-width: 760px; margin: 0; }
.card { background: rgba(21, 27, 39, .92); border: 1px solid var(--line); border-radius: 18px; padding: 24px; margin: 16px 0; box-shadow: 0 14px 45px rgba(0,0,0,.15); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.grid { display: grid; gap: 14px; }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.compact { max-width: 760px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
label { color: var(--muted); display: grid; gap: 7px; font-size: 13px; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: #0e141e; padding: 11px 12px; font: inherit; }
textarea { resize: vertical; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(121,169,255,.35); border-color: var(--blue); }
.button { border: 0; border-radius: 10px; padding: 11px 15px; color: #081018; cursor: pointer; font-weight: 800; white-space: nowrap; }
.button:disabled { cursor: not-allowed; opacity: .45; }
.primary { background: var(--green); }
.secondary { background: var(--blue); }
.accent { background: var(--orange); }
.status { border-radius: 999px; padding: 7px 11px; font-size: 12px; white-space: nowrap; }
.status-ok { color: #082015; background: var(--green); }
.status-warn { color: #261504; background: var(--orange); }
.status-muted { color: var(--muted); background: var(--panel-2); }
.hint, footer { color: var(--muted); font-size: 13px; }
.hint { margin: 16px 0 0; }
.player-filter { position: relative; margin: 18px 0; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, 0.02); }.player-filter.is-collapsed { padding-bottom: 16px; }.player-filter.is-collapsed > :not(.filter-heading) { display: none; }
.filter-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.filter-heading h3 { margin: 0; }
.filter-heading .hint { margin-bottom: 0; }
.player-filter-actions { display: flex; align-items: end; gap: 8px; }
.player-mode-control { min-width: 175px; padding: 0; }
.autocomplete-field { display: flex; align-items: center; min-width: 230px; height: 42px; padding: 0 7px 0 11px; border: 1px solid var(--line); border-radius: 999px; background: #0e141e; transition: border-color .18s ease, box-shadow .18s ease; }
.autocomplete-field:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(121,169,255,.12); }
.search-icon { color: var(--muted); font-size: 20px; line-height: 1; transform: rotate(-20deg); }
.autocomplete-field input { min-width: 0; flex: 1; height: 100%; padding: 0 8px; border: 0; outline: 0; background: transparent; font-size: 12px; }
.autocomplete-field button { width: 24px; height: 24px; border: 0; border-radius: 50%; color: var(--muted); background: transparent; cursor: pointer; font-size: 18px; }.autocomplete-field button:hover { color: var(--text); background: var(--panel-2); }
.selected-player-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 14px; color: var(--muted); font-size: 11px; }.selected-player-chip { display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 2px 4px 2px 9px; border: 1px solid rgba(121,169,255,.35); border-radius: 999px; color: var(--text); background: rgba(121,169,255,.08); font-weight: 600; }.selected-player-chip-remove { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; color: var(--muted); background: transparent; font: inherit; font-size: 16px; line-height: 1; cursor: pointer; }.selected-player-chip-remove:hover { color: var(--text); background: rgba(255,255,255,.1); }.selected-player-chip-remove:focus-visible { outline: 2px solid var(--green); outline-offset: 1px; }
.player-filter-list { display: flex; flex-wrap: wrap; gap: 8px; max-height: 150px; overflow-y: auto; margin-top: 14px; padding-right: 4px; }.player-filter-player { display: inline-flex; align-items: stretch; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; background: #0e141e; }.player-filter-player label { display: flex; align-items: center; gap: 7px; padding: 7px 8px 7px 10px; font-size: 12px; cursor: pointer; transition: border-color .18s ease, background .18s ease; }.player-filter-player label > span { display: grid; gap: 2px; }.player-filter-player label small { color: var(--muted); font-size: 9px; }.player-filter-player:has(input:checked) { border-color: var(--blue); background: rgba(121,169,255,.1); }.player-filter-player input { width: auto; accent-color: var(--blue); }.player-scope-trigger { border: 0; border-left: 1px solid var(--line); padding: 0 8px; color: var(--muted); background: transparent; cursor: pointer; }.player-scope-trigger:hover { color: var(--text); background: rgba(121,169,255,.16); }
.notice { border: 1px dashed var(--line); background: rgba(27,35,50,.7); border-radius: 12px; color: var(--muted); padding: 14px; }
.event-meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); margin-top: 16px; }
.pill { background: var(--panel-2); border: 1px solid var(--line); border-radius: 999px; padding: 5px 9px; font-size: 12px; }
.table-wrap { overflow-x: auto; margin-top: 16px; }
table { border-collapse: collapse; width: 100%; min-width: 680px; }
th, td { text-align: left; border-bottom: 1px solid var(--line); padding: 11px 9px; vertical-align: top; }
th { color: var(--muted); font-size: 12px; font-weight: 700; }
td strong { display: block; }
td small { display: block; margin-top: 3px; color: var(--muted); }
.price { font-variant-numeric: tabular-nums; font-weight: 800; }
.missing { color: var(--muted); }
.table-wrap .button.small { white-space: nowrap; }
.bet-slip-card { border-color: rgba(97,230,166,.28); background: linear-gradient(145deg, rgba(24,54,45,.22), rgba(14,20,30,.7)); }
.bet-slip-card .subtitle { margin-top: 4px; font-size: 12px; }
.bet-slip-list { display: grid; gap: 7px; margin-top: 4px; }
.bet-slip-item { display: grid; grid-template-columns: minmax(0, 1fr) auto 30px; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(14,20,30,.78); }
.bet-slip-item strong, .bet-slip-item small { display: block; }.bet-slip-item strong { font-size: 13px; }.bet-slip-item small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.bet-slip-odds { display: flex; gap: 8px; color: var(--muted); font-size: 11px; white-space: nowrap; }.bet-slip-odds b { color: var(--text); font-variant-numeric: tabular-nums; }
.bet-slip-remove { width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 18px; line-height: 1; }.bet-slip-remove:hover { color: var(--red); border-color: var(--red); }
.bet-slip-summary { display: grid; grid-template-columns: .8fr 1fr 1fr; gap: 9px; margin-top: 12px; }.bet-slip-summary > div { padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: rgba(14,20,30,.58); }.bet-slip-summary span, .bet-slip-summary strong, .bet-slip-summary small { display: block; }.bet-slip-summary span, .bet-slip-summary small { color: var(--muted); font-size: 10px; }.bet-slip-summary strong { margin-top: 3px; font-size: 20px; }.bet-slip-price { color: var(--green); font-variant-numeric: tabular-nums; }.bet-slip-message { margin: 10px 0 0; color: var(--orange); font-size: 12px; }
.results { margin-top: 18px; display: grid; gap: 12px; }
.results.empty { color: var(--muted); border: 1px dashed var(--line); border-radius: 12px; padding: 18px; }
.results-view-tabs { display: flex; gap: 6px; margin: 0 0 14px; padding: 4px; border: 1px solid var(--line); border-radius: 11px; background: rgba(14,20,30,.72); width: fit-content; }
.results-view-tab { border: 0; border-radius: 8px; padding: 8px 13px; color: var(--muted); background: transparent; cursor: pointer; font-size: 12px; font-weight: 800; }.results-view-tab:hover { color: var(--text); }.results-view-tab.active { color: #06110e; background: var(--green); }
.combination-direction-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 4px; border: 1px solid rgba(121,169,255,.3); border-radius: 11px; background: rgba(121,169,255,.06); width: fit-content; }
.combination-direction-tab { border: 1px solid transparent; border-radius: 8px; padding: 8px 12px; color: var(--muted); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }.combination-direction-tab:hover { color: var(--text); border-color: var(--blue); }.combination-direction-tab.active { color: var(--text); border-color: var(--blue); background: rgba(121,169,255,.2); }
.market-differences { display: grid; gap: 12px; margin-top: 18px; }.difference-market { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: rgba(14,20,30,.72); }.difference-market.is-collapsed { padding-bottom: 0; }.difference-market.is-collapsed > :not(.difference-market-heading) { display: none; }.difference-market-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px 10px; }.difference-market-heading .eyebrow { margin: 0 0 3px; font-size: 9px; }.difference-market-heading h3 { margin: 0; font-size: 15px; }.difference-market-actions { display: flex; align-items: center; gap: 10px; }.difference-total { color: var(--muted); font-size: 11px; font-weight: 800; }.difference-collapse-button { min-width: 30px; height: 30px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 16px; line-height: 1; }.difference-collapse-button:hover { color: var(--text); border-color: var(--accent); }.difference-line-tabs { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 15px 10px; }.difference-line-tab { border: 1px solid var(--line); border-radius: 6px; padding: 3px 8px; color: var(--muted); background: #182130; cursor: pointer; font-size: 10px; }.difference-line-tab:hover { color: var(--text); border-color: var(--blue); }.difference-line-tab.active { color: var(--text); border-color: rgba(121,169,255,.65); background: rgba(121,169,255,.2); }.difference-line-tab b { color: inherit; font-weight: 800; }.difference-table-wrap { max-height: 460px; overflow: auto; border-top: 1px solid rgba(43,53,71,.75); }.difference-table { min-width: 560px; }.difference-table th, .difference-table td { padding: 8px 10px; font-size: 12px; }.difference-table th { position: sticky; top: 0; z-index: 1; background: #19202d; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }.difference-table td strong { font-size: 12px; }.difference-value { font-variant-numeric: tabular-nums; font-weight: 900; }.difference-value.positive { color: var(--green); }.difference-value.negative { color: var(--red); }.difference-value.neutral { color: var(--muted); }
.result { border: 1px solid rgba(97,230,166,.35); background: linear-gradient(135deg, rgba(40,79,63,.55), rgba(21,27,39,.8)); border-radius: 14px; padding: 16px; }
.result-top { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.result h3 { font-size: 16px; margin: 0 0 8px; }
.ratio { color: var(--green); font-size: 22px; font-weight: 900; white-space: nowrap; }
.result-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.result-meta span { border-radius: 8px; background: rgba(8,16,24,.4); padding: 6px 8px; color: var(--muted); font-size: 12px; }
.legs { color: var(--text); margin: 0; padding-left: 18px; }
.error { color: var(--red); }
.hidden { display: none; }
code { color: var(--orange); }
footer { text-align: center; margin-top: 24px; }
.card.is-collapsed > :not(.section-heading) { display: none; }
.collapse-button { margin-left: auto; min-width: 34px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 1rem; }
.collapse-button:hover { color: var(--text); border-color: var(--accent); }
@media (max-width: 760px) {
  .hero, .section-heading, .filter-heading { align-items: stretch; flex-direction: column; }
  .grid.three, .grid.compact { grid-template-columns: 1fr; }
  .button { width: 100%; }
}

/* Trading-style dashboard */
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0 22px; border-bottom: 1px solid rgba(121,169,255,.12); }
.brand, .brand > div, .bookmaker-head, .bookmaker-head > div:first-child { display: flex; align-items: center; gap: 10px; }
.brand strong { display: block; font-size: 14px; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #06110e; background: var(--green); font-weight: 950; }
.topbar .eyebrow { margin: 0; font-size: 9px; }
.last-updated { color: var(--muted); font-size: 11px; white-space: nowrap; }
.compact-hero { align-items: center; margin: 26px 0 18px; padding: 6px 0; }
.compact-hero h1 { font-size: clamp(28px, 4vw, 45px); max-width: 680px; }
.hero-metric { min-width: 150px; padding: 16px; border: 1px solid rgba(97,230,166,.35); border-radius: 14px; background: linear-gradient(145deg, rgba(47,98,75,.52), rgba(21,27,39,.8)); text-align: right; }
.hero-metric span, .hero-metric small { display: block; color: var(--muted); font-size: 11px; }
.hero-metric strong { display: block; color: var(--green); font-size: 29px; line-height: 1.15; }
.control-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 14px; }
.sport-field { opacity: .75; }
.event-groups { display: grid; gap: 20px; margin-top: 22px; }
.event-day-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: rgba(14,20,30,.72); }
.event-day-filter { border: 0; border-radius: 8px; padding: 8px 11px; color: var(--muted); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }
.event-day-filter:hover { color: var(--text); background: rgba(121,169,255,.12); }.event-day-filter.active { color: #06110e; background: var(--green); }.event-day-filter b { font-weight: 900; }
.event-day h3 { margin: 0 0 9px; color: var(--muted); font-size: 12px; text-transform: capitalize; }
.event-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.event-card { display: grid; grid-template-columns: 56px minmax(0, 1fr) minmax(130px, .82fr) 16px; align-items: center; gap: 13px; min-height: 92px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: rgba(14,20,30,.72); cursor: pointer; text-align: left; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.event-card:hover, .event-card.selected { border-color: var(--green); background: rgba(43,83,66,.42); transform: translateY(-1px); }
.event-time { color: var(--green); font-size: 12px; font-weight: 900; line-height: 1.15; }
.event-teams { display: grid; min-width: 0; gap: 3px; font-size: 13px; }
.event-teams strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-teams span { color: var(--muted); font-size: 10px; line-height: 1; }
.event-league { display: -webkit-box; min-width: 0; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.event-arrow { color: var(--green); font-size: 22px; text-align: right; }
.selected-match { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid rgba(121,169,255,.3); border-radius: 12px; background: rgba(121,169,255,.08); }
.selected-match strong { font-size: 16px; }
.selected-match strong span, .result h3 span { color: var(--muted); font-weight: 400; }
.selected-match > span { color: var(--muted); font-size: 12px; }
.bookmaker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bookmaker-card { min-height: 126px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(14,20,30,.72); transition: border-color .18s ease, background .18s ease; }
.bookmaker-card.is-loading { border-color: var(--blue); background: rgba(35,57,94,.26); }
.bookmaker-card.is-ready { border-color: rgba(97,230,166,.48); }
.bookmaker-card.is-error, .bookmaker-card.is-empty { border-color: rgba(255,181,107,.55); }
.bookmaker-head { justify-content: space-between; }
.bookmaker-head h3 { margin: 0; font-size: 16px; }
.bookmaker-head small { color: var(--muted); font-size: 11px; }
.bookmaker-logo { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #fff; font-size: 11px; font-weight: 950; }
.bet365-logo { background: #198754; }
.betano-logo { background: #2f80ed; }
.bookmaker-state { margin-top: 18px; color: var(--muted); font-size: 13px; }
.state-ready { color: var(--green); }.state-error, .state-empty { color: var(--orange); }.state-loading { color: var(--blue); }
.button.small { padding: 7px 10px; font-size: 11px; }.button.outline { border: 1px solid var(--line); color: var(--muted); background: transparent; }.button.outline:hover { border-color: var(--blue); color: var(--text); }
.quick-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 15px; }
.quick-stats > div { padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: rgba(14,20,30,.56); }
.quick-stats span, .quick-stats strong { display: block; }.quick-stats span { color: var(--muted); font-size: 11px; }.quick-stats strong { margin-top: 2px; color: var(--text); font-size: 22px; }
.stats-notice { margin: -5px 0 12px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: rgba(255,255,255,.025); font-size: 11px; }
.stats-notice.loading { color: var(--blue); border-color: rgba(121,169,255,.35); background: rgba(121,169,255,.08); }
.stats-notice.success { color: var(--green); border-color: rgba(97,230,166,.32); background: rgba(97,230,166,.07); }
.stats-notice.warning { color: var(--orange); border-color: rgba(255,181,107,.35); background: rgba(255,181,107,.07); }
.filters-bar { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(110px, .7fr) minmax(120px, .8fr) minmax(220px, 1.5fr) auto; align-items: end; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); }
.filter-control { display: grid; min-width: 0; gap: 5px; padding: 0 10px 3px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.filter-control select, .filter-control input { min-width: 0; height: 36px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: #0e141e; font-size: 12px; }.filter-control input { font-weight: 800; }.filter-sort select { color: var(--text); }
.filters-bar > .button { height: 36px; }
.market-line-filters { margin-top: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.018); }.market-line-filters.is-collapsed { padding-bottom: 14px; }.market-line-filters.is-collapsed > :not(.market-line-heading) { display: none; }
.market-line-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }.market-line-heading h3 { margin: 0; font-size: 15px; }.market-line-heading .hint { margin: 3px 0 0; }.market-line-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }.filter-collapse-button { min-width: 30px; height: 30px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 16px; line-height: 1; }.filter-collapse-button:hover { color: var(--text); border-color: var(--accent); }
.market-line-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }.market-line-row { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(190px, 1.5fr) auto; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 11px; background: #0e141e; }.market-line-row.has-line-filter { border-color: rgba(121,169,255,.55); background: rgba(121,169,255,.07); }.market-line-row.invalid { border-color: var(--red); }
.line-inputs { display: flex; align-items: end; gap: 5px; }.line-inputs label { min-width: 58px; gap: 3px; font-size: 9px; }.line-inputs input { height: 30px; padding: 5px 7px; font-size: 11px; }.line-inputs > span { padding-bottom: 7px; color: var(--muted); }.clear-line-filter { padding: 6px 8px; font-size: 10px; }
.active-line-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }.line-filter-chip { padding: 5px 8px; border: 1px solid rgba(121,169,255,.35); border-radius: 999px; color: var(--muted); background: rgba(121,169,255,.08); font-size: 10px; }.line-filter-chip b { color: var(--text); }
.line-filter-error { margin: 9px 0 0; color: var(--red); font-size: 11px; }
.player-scope-heading-actions { display: flex; align-items: center; gap: 7px; }.player-scope-select-all { border: 0; padding: 4px 5px; color: var(--blue); background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; white-space: nowrap; }.player-scope-select-all:hover { color: var(--text); }
.player-scope-popover { position: fixed; z-index: 30; max-height: min(520px, calc(100vh - 24px)); overflow-y: auto; padding: 14px; border: 1px solid rgba(121,169,255,.7); border-radius: 14px; color: var(--text); background: #151d2b; box-shadow: 0 20px 55px rgba(0,0,0,.45); }.player-scope-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }.player-scope-heading strong { display: block; font-size: 14px; }.player-scope-heading small { color: var(--muted); font-size: 11px; }.player-scope-close { width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: 18px; line-height: 1; }.player-scope-close:hover { color: var(--text); }.player-scope-market { padding: 11px 0; border-bottom: 1px solid rgba(43,53,71,.7); }.player-scope-market-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; font-size: 12px; }.player-scope-market-heading button { border: 0; padding: 2px 4px; color: var(--blue); background: transparent; cursor: pointer; font-size: 10px; }.player-scope-market-heading button:hover { color: var(--text); }.player-scope-lines { display: flex; flex-wrap: wrap; gap: 6px; }.player-scope-lines label { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: #0e141e; cursor: pointer; font-size: 11px; }.player-scope-lines label:has(input:checked) { border-color: var(--green); color: var(--text); background: rgba(97,230,166,.12); }.player-scope-lines input { width: auto; accent-color: var(--green); }.player-scope-footer { display: flex; justify-content: flex-end; padding-top: 12px; }
.badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 8px; font-size: 10px; font-weight: 800; }.badge.success { color: #062015; background: var(--green); }.badge.warning { color: #261504; background: var(--orange); }
.legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; color: var(--muted); font-size: 11px; }.legend span { display: inline-flex; align-items: center; gap: 5px; }.dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }.dot.green { background: var(--green); }.dot.orange { background: var(--orange); }.dot.red { background: var(--red); }.dot.muted { background: var(--muted); }
.event-meta { margin-bottom: 12px; }.selected-pill { color: var(--green); }
.empty-state { padding: 17px; border: 1px dashed var(--line); border-radius: 11px; color: var(--muted); font-size: 13px; }.empty-state.error { color: var(--red); }
.card.is-collapsed { padding-bottom: 16px; }.card.is-collapsed > :not(.section-heading) { display: none; }
.market-settings { display: grid; grid-template-columns: minmax(180px, 1fr) 2fr minmax(190px, .8fr) minmax(190px, .8fr); gap: 12px; align-items: center; margin-bottom: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.025); }
.market-settings h3 { margin: 0; font-size: 15px; }.market-settings .hint { margin: 4px 0 0; }
.market-options { display: flex; flex-wrap: wrap; gap: 8px; }.market-option { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; background: #0e141e; cursor: pointer; color: var(--muted); }
.market-option input { width: auto; accent-color: var(--green); }.market-option:has(input:checked) { border-color: var(--green); color: var(--text); background: rgba(97,230,166,.12); }
.market-status-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }.market-status { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 4px 7px; font-size: 10px; background: rgba(255,255,255,.05); color: var(--muted); }.market-status small { font-size: inherit; }.market-status.available { color: var(--green); background: rgba(97,230,166,.1); }.market-status.unavailable { color: var(--orange); background: rgba(255,181,107,.1); }
@media (max-width: 760px) {
  .shell { width: min(100% - 20px, 1180px); padding-top: 14px; }
  .topbar, .header-actions, .selected-match { align-items: stretch; flex-direction: column; }
  .header-actions { gap: 8px; }.header-actions .button, .header-actions .status { width: 100%; text-align: center; }
  .compact-hero { align-items: stretch; flex-direction: column; }.hero-metric { text-align: left; }.hero-metric strong { display: inline-block; margin-right: 7px; }
  .control-grid, .bookmaker-grid, .event-list { grid-template-columns: 1fr; }.sport-field { display: none; }
  .event-card { grid-template-columns: 52px minmax(0, 1fr) 16px; min-height: 82px; gap: 10px; }.event-league { grid-column: 2 / -1; grid-row: 2; -webkit-line-clamp: 1; }.event-arrow { grid-column: 3; grid-row: 1 / span 2; }
  .market-settings { grid-template-columns: 1fr; }.market-options { display: grid; grid-template-columns: 1fr 1fr; }.combination-mode, .single-market { max-width: none; }.market-line-heading { align-items: stretch; flex-direction: column; }.market-line-actions { justify-content: space-between; }.active-line-filters { justify-content: flex-start; }.market-line-grid { grid-template-columns: 1fr; }.market-line-row { grid-template-columns: 1fr; }.line-inputs { max-width: 260px; }.clear-line-filter { justify-self: start; }
  .event-day-filters { overflow-x: auto; flex-wrap: nowrap; }.event-day-filter { flex: 0 0 auto; }.results-view-tabs, .combination-direction-tabs { width: 100%; }.results-view-tab, .combination-direction-tab { flex: 1; }.difference-market-heading { align-items: flex-start; flex-direction: column; }.difference-table-wrap { max-height: 380px; }
  .filters-bar { grid-template-columns: 1fr; align-items: stretch; }.filters-bar label, .filters-bar .button { min-width: 100%; }.player-filter-actions { align-items: stretch; flex-direction: column; }.player-mode-control, .autocomplete-field { min-width: 100%; }.player-filter-actions .filter-collapse-button { align-self: flex-end; }.quick-stats { grid-template-columns: repeat(3, 1fr); }.quick-stats > div { padding: 10px 8px; }.quick-stats strong { font-size: 18px; }.player-scope-popover { max-height: calc(100vh - 24px); }.bet-slip-item { grid-template-columns: minmax(0, 1fr) 28px; }.bet-slip-odds { grid-column: 1; grid-row: 2; }.bet-slip-remove { grid-column: 2; grid-row: 1 / span 2; }.bet-slip-summary { grid-template-columns: 1fr 1fr; }.bet-slip-summary > div:first-child { grid-column: 1 / -1; }
}

/* OddsScout visual system: refined graphite, editorial headings, data-first surfaces. */
:root {
  color-scheme: dark;
  --bg: #0c1114;
  --panel: #141c1f;
  --panel-2: #1b2728;
  --surface-deep: #101719;
  --line: #30403f;
  --text: #f0f4f1;
  --muted: #a0ada8;
  --green: #69d7aa;
  --blue: #a3c9e8;
  --orange: #f1b779;
  --red: #f28a91;
  --accent: #69d7aa;
  --bet365: #5bd68a;
  --bet365-soft: rgba(91, 214, 138, .12);
  --betano: #f07882;
  --betano-soft: rgba(240, 120, 130, .12);
  --delta-up: #7fc8e0;
  --delta-down: #efaa70;
}

html { background: var(--bg); }
body {
  color: var(--text);
  background: radial-gradient(70rem 30rem at 12% -12%, rgba(48, 103, 80, .17), transparent 68%), var(--bg);
  font: 14px/1.55 "Segoe UI", system-ui, -apple-system, sans-serif;
  font-kerning: normal;
}
.shell { width: min(1240px, calc(100% - 48px)); padding: 28px 0 56px; }
.topbar { padding: 0 0 14px; border-color: rgba(160, 173, 168, .18); }
.brand { gap: 11px; }
.brand-mark { width: 34px; height: 34px; border-radius: 9px; color: #0a1711; background: var(--bet365); box-shadow: 0 0 0 4px rgba(91, 214, 138, .08); }
.brand strong { font-size: 13px; letter-spacing: .01em; }
.topbar .eyebrow, .eyebrow { color: var(--green); font-size: 9px; letter-spacing: .17em; }
.header-actions { gap: 12px; }
.last-updated, .header-actions .status { font-size: 10px; }

h1, .compact-hero h1, .login-card h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: -.035em; }
h1 { color: var(--text); }
h2, h3, button, input, select, textarea { font-family: "Segoe UI", system-ui, -apple-system, sans-serif; }
h2 { color: var(--text); font-size: 19px; font-weight: 650; letter-spacing: -.02em; }
h3 { color: var(--text); font-weight: 650; }
strong, b, .ratio, .price, .odds-cell, .matrix-odd, .difference-value, .hero-metric strong,
.bet-slip-summary strong, .credits-balance strong, .quick-stats strong {
  font-variant-numeric: tabular-nums lining-nums;
}
.subtitle, .hint { color: var(--muted); }
.compact-hero { align-items: center; margin: 30px 0 18px; padding: 7px 0 10px; }
.compact-hero h1 { max-width: 700px; margin-bottom: 8px; font-size: clamp(34px, 4.4vw, 50px); line-height: 1.02; }
.compact-hero .subtitle { max-width: 650px; font-size: 14px; line-height: 1.6; }
.hero-metric { min-width: 170px; padding: 3px 0 3px 18px; border: 0; border-left: 1px solid rgba(105, 215, 170, .48); border-radius: 0; background: transparent; box-shadow: none; text-align: left; }
.hero-metric span, .hero-metric small { color: var(--muted); font-size: 10px; }
.hero-metric strong { color: var(--green); font-size: 30px; letter-spacing: -.03em; }
.workflow { gap: 11px; margin: 0 0 25px; color: var(--muted); font-size: 10px; font-weight: 650; }
.workflow-step { gap: 8px; padding: 5px 0; border: 0; border-radius: 0; background: transparent; }
.workflow-step b { color: var(--muted); font-size: 9px; }
.workflow-step.active { color: var(--text); }
.workflow-step.active b { color: var(--green); }
.workflow-line { width: 34px; background: linear-gradient(90deg, var(--line), transparent); }

/* Major sections use rhythm and rules instead of identical nested cards. */
.card { margin: 24px 0; padding: 23px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.section-heading { align-items: center; gap: 18px; margin-bottom: 18px; }
.section-heading h2 { font-size: 20px; }
.section-heading .eyebrow { margin-bottom: 5px; }
.section-heading .hint { margin-top: 5px; }
.workspace-main > .card { margin-top: 0; }
.workspace-main > .card + .card { margin-top: 20px; }
.workspace-sidebar .card { margin: 0; }
.settings.card, #adminPanel.card, #creditsPanel.card { border-top: 0; }
#adminPanel.card, #creditsPanel.card { padding: 21px; border: 1px solid var(--line); border-left: 2px solid var(--green); border-radius: 4px 10px 10px 4px; background: linear-gradient(105deg, rgba(105, 215, 170, .065), rgba(20, 28, 31, .64) 38%, rgba(20, 28, 31, .32)); }
.section-heading h2, .filter-heading h3, .market-line-heading h3 { text-wrap: balance; }

.button { min-height: 38px; padding: 9px 14px; border: 1px solid transparent; border-radius: 6px; font-size: 12px; font-weight: 700; transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button.primary, .primary { color: #071710; background: var(--green); }
.button.primary:hover:not(:disabled), .primary:hover:not(:disabled) { background: #86e3bd; }
.button.secondary, .button.accent, .secondary, .accent { color: var(--text); border-color: var(--line); background: var(--panel-2); }
.button.outline, .button.ghost { color: var(--muted); border-color: var(--line); background: transparent; }
.button.outline:hover:not(:disabled), .button.ghost:hover:not(:disabled) { color: var(--text); border-color: var(--green); background: rgba(105, 215, 170, .07); }
.button.small { min-height: 32px; padding: 6px 10px; font-size: 10px; }
input, select, textarea, .filter-control select, .filter-control input,
.admin-create-user input:not([type=checkbox]), .admin-create-user select, .admin-user-actions select {
  color: var(--text); border: 1px solid #3a4a47; border-radius: 6px; background: #11191b;
}
input::placeholder, textarea::placeholder { color: #788780; }
input:focus, select:focus, textarea:focus, .autocomplete-field:focus-within { outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(105, 215, 170, .13); }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
label { color: var(--muted); }

/* Fixture: readable rows with a clear selected state, not a grid of tiles. */
.control-grid { gap: 18px; }
.control-grid input, .control-grid select { min-height: 42px; }
.sport-field { opacity: .66; }
.event-meta { gap: 7px; margin: 14px 0 8px; }
.pill { color: var(--muted); border: 1px solid var(--line); border-radius: 4px; background: rgba(255,255,255,.025); }
.event-day-filters { gap: 5px; margin-top: 14px; padding: 2px 0 9px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.event-day-filter { min-height: 34px; padding: 7px 10px; border-radius: 4px; font-size: 10px; }
.event-day-filter:hover { color: var(--text); background: rgba(255,255,255,.045); }
.event-day-filter.active { color: #081710; background: var(--green); }
.event-groups { gap: 18px; margin-top: 18px; }
.event-day h3 { margin: 0 0 5px; color: var(--green); font-size: 10px; font-weight: 750; letter-spacing: .04em; }
.event-list { gap: 0 20px; }
.event-card { min-height: 72px; padding: 10px 8px; border: 0; border-bottom: 1px solid rgba(160,173,168,.16); border-radius: 0; background: transparent; }
.event-card:hover, .event-card.selected { transform: none; background: rgba(105,215,170,.055); }
.event-card.selected { box-shadow: inset 2px 0 var(--green); }
.event-time { color: var(--green); font-size: 11px; }
.event-teams { font-size: 12px; }
.event-league { color: #93a19b; font-size: 9px; }
.event-arrow { color: var(--green); }

/* Markets and provider responses */
.market-settings { gap: 13px; margin-bottom: 16px; padding: 14px 0; border: 0; border-top: 1px solid rgba(160,173,168,.16); border-bottom: 1px solid rgba(160,173,168,.16); border-radius: 0; background: transparent; }
.market-options { gap: 4px 14px; }
.market-option { padding: 7px 9px; border-color: transparent; border-radius: 4px; color: var(--muted); background: transparent; }
.market-option:has(input:checked) { color: var(--text); border-color: rgba(105,215,170,.38); background: rgba(105,215,170,.09); }
.market-option input { accent-color: var(--green); }
.combination-mode, .single-market { font-size: 11px; }
.selected-match { padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.selected-match strong { font-size: 15px; }
.bookmaker-grid { gap: 22px; }
.bookmaker-card { min-height: 102px; padding: 12px 0; border: 0; border-top: 2px solid var(--bet365); border-bottom: 1px solid rgba(160,173,168,.16); border-radius: 0; background: transparent; }
.bookmaker-card[data-book="betano"] { border-top-color: var(--betano); }
.bookmaker-card.is-loading { border-top-color: var(--blue); background: rgba(163,201,232,.035); }
.bookmaker-card.is-error, .bookmaker-card.is-empty { border-top-color: var(--orange); }
.bookmaker-head h3 { font-size: 14px; }
.bookmaker-logo { width: 30px; height: 30px; border-radius: 7px; }
.bet365-logo { color: #071710; background: var(--bet365); }
.betano-logo { color: #2a0b0e; background: var(--betano); }
.bookmaker-state { margin-top: 12px; font-size: 11px; }
.state-ready { color: var(--bet365); }.state-error, .state-empty { color: var(--orange); }.state-loading { color: var(--blue); }
.market-status { border: 1px solid rgba(160,173,168,.18); border-radius: 3px; }
.market-status.available { color: var(--bet365); border-color: rgba(91,214,138,.25); background: var(--bet365-soft); }
.market-status.unavailable { color: var(--orange); border-color: rgba(241,183,121,.25); background: rgba(241,183,121,.08); }
.notice, .stats-notice { padding: 10px 12px; border: 0; border-left: 2px solid var(--blue); border-radius: 0; color: var(--muted); background: rgba(163,201,232,.055); font-size: 11px; }
.stats-notice.success { border-left-color: var(--bet365); }.stats-notice.warning { border-left-color: var(--orange); }.stats-notice.loading { border-left-color: var(--blue); }

/* Results: compact metrics, open filters, and fine table rules. */
.results-view-tabs, .combination-direction-tabs { width: fit-content; max-width: 100%; padding: 2px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.results-view-tab, .combination-direction-tab { min-height: 36px; padding: 7px 12px; border-radius: 3px; color: var(--muted); font-size: 11px; }
.results-view-tab.active, .combination-direction-tab.active { color: var(--text); background: transparent; box-shadow: inset 0 -2px var(--green); }
.quick-stats { gap: 0; margin: 14px 0; }
.quick-stats > div { padding: 4px 16px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; }
.quick-stats > div:first-child { padding-left: 0; }.quick-stats > div:last-child { border-right: 0; }
.quick-stats span { color: var(--muted); font-size: 9px; letter-spacing: .03em; }
.quick-stats strong { margin-top: 2px; color: var(--text); font-size: 21px; }
.filters-bar { gap: 10px; padding: 9px 0; border: 0; border-top: 1px solid rgba(160,173,168,.16); border-bottom: 1px solid rgba(160,173,168,.16); border-radius: 0; background: transparent; }
.filter-control { padding: 0 3px 2px; font-size: 9px; }
.filter-control select, .filter-control input { min-height: 36px; height: 36px; padding: 6px 9px; border-radius: 4px; }
.market-line-filters, .player-filter { padding: 16px 0; border: 0; border-top: 1px solid rgba(160,173,168,.16); border-bottom: 1px solid rgba(160,173,168,.16); border-radius: 0; background: transparent; }
.market-line-row { border: 0; border-bottom: 1px solid rgba(160,173,168,.15); border-radius: 0; background: transparent; }
.market-line-row.has-line-filter { border-bottom-color: rgba(163,201,232,.55); background: rgba(163,201,232,.045); }
.player-filter-player { border-color: rgba(160,173,168,.2); border-radius: 5px; background: transparent; }
.player-filter-player:has(input:checked) { border-color: var(--blue); background: rgba(163,201,232,.09); }
.selected-player-chip { border-color: rgba(163,201,232,.28); border-radius: 4px; background: rgba(163,201,232,.06); }
.difference-market { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.difference-market-heading { padding: 12px 0 8px; }
.difference-table-wrap { border-top: 1px solid rgba(160,173,168,.15); }
.difference-table th, .odds-table thead th { background: #172122; }
.difference-table th, .difference-table td, .odds-table th, .odds-table td { border-color: rgba(160,173,168,.14); }
.difference-table tbody tr:hover, .odds-table tbody tr:hover { background: rgba(255,255,255,.025); }
.difference-line-tab { border-radius: 4px; background: var(--panel-2); }
.difference-line-tab.active { border-color: var(--blue); background: rgba(163,201,232,.13); }
.difference-value.positive { color: var(--delta-up); }.difference-value.negative { color: var(--delta-down); }
.result { padding: 14px 14px 14px 17px; border: 0; border-left: 2px solid var(--green); border-bottom: 1px solid rgba(160,173,168,.17); border-radius: 0; background: transparent; }
.result h3 { font-size: 14px; }
.ratio { color: var(--green); font-size: 22px; }
.result-meta span { border-radius: 3px; background: rgba(255,255,255,.045); }
.empty-state { padding: 15px 0; border: 0; border-top: 1px dashed var(--line); border-bottom: 1px dashed var(--line); border-radius: 0; }

/* Account/admin surfaces remain distinct; rows carry the information hierarchy. */
.credits-balance { padding: 11px 0; border: 0; border-bottom: 1px solid rgba(105,215,170,.28); border-radius: 0; background: transparent; }
.credits-history-grid { gap: 20px; }
.credit-history-list { gap: 0; }
.credit-history-item { padding: 10px 4px; border: 0; border-bottom: 1px solid rgba(160,173,168,.15); border-radius: 0; background: transparent; }
.credit-history-item:hover, .credit-consultation.is-reusable:hover { background: rgba(105,215,170,.055); }
.admin-create-user { padding: 14px 0; border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.admin-table-wrap { overflow-x: auto; border-top: 1px solid var(--line); }
.admin-table { min-width: 970px; }
.admin-table th { color: var(--green); font-size: 9px; letter-spacing: .08em; }
.admin-table th, .admin-table td { border-color: rgba(160,173,168,.15); }
.admin-table tbody tr:hover { background: rgba(255,255,255,.025); }
.admin-summary > div { padding: 11px 12px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; }
.admin-summary strong { color: var(--green); font-size: 21px; }
.login-panel { background: radial-gradient(45rem 28rem at 50% 20%, rgba(48,103,80,.2), transparent 68%), var(--bg); }
.login-card { padding: 34px; border: 1px solid var(--line); border-top: 2px solid var(--green); border-radius: 4px 12px 12px 12px; background: var(--panel); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.login-card h1 { font-size: 38px; }

/* Floating tools keep a stronger surface because they are focused workspaces. */
.lineup-float-panel, .bet-slip-card, main .bet-slip-card {
  border: 1px solid #3b4c47;
  border-radius: 9px;
  background: #141d1e;
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
}
.lineup-float-panel { border-top: 2px solid var(--blue); }
.bet-slip-card { border-top: 2px solid var(--bet365); }
.bet-slip-item { padding: 9px 3px; border: 0; border-bottom: 1px solid rgba(160,173,168,.17); border-radius: 0; background: transparent; }
.bet-slip-summary { gap: 10px; }
.bet-slip-summary > div { padding: 9px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.bet-slip-fab, .lineup-fab { border: 1px solid rgba(240,244,241,.55); box-shadow: 0 8px 28px rgba(0,0,0,.38); }
.bet-slip-fab { color: #071710; background: var(--bet365); }
.lineup-fab { color: #0e1b24; background: var(--blue); }
.bet-slip-fab-label, .lineup-fab-label { border-color: var(--line); border-radius: 4px; background: #172122; }
.bet-slip-fab b { border-color: var(--bg); background: var(--panel-2); }

.player-mobile-card { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.player-mobile-card-head { padding: 10px 2px; border-bottom: 1px solid rgba(160,173,168,.16); background: transparent; }
.player-mobile-lines { padding: 0 2px; }
.mobile-player-line { border-bottom-color: rgba(160,173,168,.14); }
.matrix-odd { border-radius: 3px; }
.matrix-odd.is-selected { outline: 2px solid var(--text); }
.odds-cell { border-radius: 3px; }
.odds-cell-bet365 { color: var(--bet365); }.odds-cell-betano { color: var(--betano); }
.odds-cell.is-selected { outline: 2px solid var(--text); outline-offset: 1px; }
.recent-stats { color: var(--blue); }
.probable-lineup-panel { border-radius: 8px; background: #141d1e; }
.lineup-team-card { border-radius: 5px; background: #11191b; }
.lineup-selection-popover, .player-scope-popover { border-color: #42544f; border-radius: 7px; background: #172122; box-shadow: 0 18px 48px rgba(0,0,0,.4); }

@media (max-width: 1024px) {
  html, body { overflow-x: clip; }
  .shell { width: min(100% - 36px, 1180px); }
  .card { padding-top: 19px; padding-bottom: 19px; }
  .market-settings { grid-template-columns: 1fr 1.5fr; }
  .market-options { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  body { font-size: 14px; }
  .shell { width: 100%; padding: 14px max(14px, env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); }
  .topbar { align-items: flex-start; gap: 10px; padding-bottom: 12px; }
  .header-actions { flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
  .brand strong { font-size: 12px; }
  .compact-hero { gap: 13px; margin: 22px 0 17px; }
  .compact-hero h1 { font-size: clamp(31px, 9vw, 39px); }
  .hero-metric { width: 100%; min-width: 0; padding: 3px 0 3px 12px; }
  .workflow { overflow-x: auto; padding-bottom: 5px; }
  .workflow-step { flex: 0 0 auto; }
  .workflow-line { flex: 0 0 18px; }
  .card { margin: 18px 0; padding: 18px 0; }
  #adminPanel.card, #creditsPanel.card { padding: 14px; }
  .section-heading { align-items: flex-start; flex-direction: row; gap: 10px; }
  .section-heading h2 { font-size: 18px; }
  .section-heading .button { width: auto; }
  .control-grid { grid-template-columns: 1fr; }
  .event-list { grid-template-columns: 1fr; }
  .event-card { grid-template-columns: 47px minmax(0, 1fr) minmax(54px, .42fr) 12px; gap: 8px; min-height: 66px; padding: 8px 5px; }
  .event-teams { font-size: 11px; }
  .event-league { font-size: 8px; }
  .market-settings { grid-template-columns: 1fr; padding: 12px 0; }
  .market-options { grid-column: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bookmaker-grid { gap: 14px; }
  .bookmaker-card { padding: 10px 0; }
  .quick-stats > div { padding: 4px 9px; }
  .quick-stats span { font-size: 8px; }
  .quick-stats strong { font-size: 19px; }
  .filters-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-control { padding: 0; }
  .difference-market-heading { align-items: flex-start; }
  .difference-table-wrap, .table-wrap, .admin-table-wrap { max-width: 100%; }
  .bet-slip-card, .lineup-float-panel { max-height: min(88dvh, 760px); border-radius: 12px 12px 0 0; }
  .lineup-fab { bottom: calc(100px + env(safe-area-inset-bottom)); }
  .bet-slip-fab { bottom: calc(20px + env(safe-area-inset-bottom)); }
  .admin-create-user { grid-template-columns: 1fr 1fr; }
  .admin-create-user h3, .admin-create-user .hint, .admin-create-user .admin-test-toggle, .admin-create-user .button { grid-column: 1 / -1; }
  .credits-history-grid { grid-template-columns: 1fr; }
}
@media (max-width: 390px) {
  .shell { padding-right: 12px; padding-left: 12px; }
  .header-actions .status { display: none; }
  .market-options { grid-template-columns: 1fr; }
  .quick-stats > div { padding-right: 6px; padding-left: 6px; }
  .admin-summary, .admin-create-user { grid-template-columns: 1fr; }
  .admin-create-user h3, .admin-create-user .hint, .admin-create-user .admin-test-toggle, .admin-create-user .button { grid-column: 1; }
}

/* Login experience inspired by the supplied sign-in card, adapted to OddsScout. */
.login-panel {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  padding: clamp(18px, 4vw, 56px);
  overflow: hidden;
  background:
    radial-gradient(ellipse 48rem 34rem at 14% 4%, rgba(86, 194, 147, .16), transparent 68%),
    radial-gradient(ellipse 30rem 25rem at 94% 90%, rgba(64, 128, 105, .11), transparent 70%),
    #0b1112;
}
.login-panel::before, .login-panel::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
  border-radius: 50%;
  filter: blur(1px);
}
.login-panel::before { width: 420px; height: 420px; top: -270px; left: 12%; border: 1px solid rgba(116, 222, 177, .14); box-shadow: 0 0 0 38px rgba(116,222,177,.018), 0 0 0 82px rgba(116,222,177,.014); }
.login-panel::after { width: 300px; height: 300px; right: -230px; bottom: -210px; border: 1px solid rgba(116, 222, 177, .12); box-shadow: 0 0 0 34px rgba(116,222,177,.02), 0 0 0 70px rgba(116,222,177,.012); }
.login-experience {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr);
  width: min(100%, 1000px);
  min-height: 580px;
  margin: auto;
  overflow: hidden;
  border: 1px solid rgba(134, 171, 154, .25);
  border-radius: 17px;
  background: rgba(16, 24, 24, .92);
  box-shadow: 0 34px 100px rgba(0,0,0,.48), 0 0 65px rgba(75,183,135,.07);
  animation: login-arrive .65s cubic-bezier(.2,.75,.25,1) both;
}
.login-experience::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: -36%;
  width: 32%;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, #a4f0cb, transparent);
  box-shadow: 0 0 18px 2px rgba(105, 215, 170, .45);
  animation: login-edge-glint 7s ease-in-out 1s infinite;
  pointer-events: none;
}
.login-promo {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: clamp(28px, 5vw, 56px);
  overflow: hidden;
  border-right: 1px solid rgba(143, 177, 159, .16);
  background:
    radial-gradient(ellipse 27rem 21rem at 70% 85%, rgba(67, 170, 122, .15), transparent 75%),
    linear-gradient(145deg, rgba(26, 45, 39, .76), rgba(17, 26, 26, .36) 58%, rgba(14, 21, 22, .82));
}
.login-brand { display: flex; align-items: center; gap: 11px; color: #e9f4ed; font-size: 12px; font-weight: 850; letter-spacing: .17em; }
.login-brand .brand-mark { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(187,255,218,.62); border-radius: 11px 4px 11px 11px; background: var(--green); color: #0b1710; font-size: 20px; letter-spacing: -.06em; box-shadow: 0 0 26px rgba(105,215,170,.2); }
.login-brand-logo { width: 37px; height: 37px; flex: 0 0 37px; border-radius: 11px 4px 11px 11px; object-fit: cover; box-shadow: 0 0 22px rgba(70,155,234,.15); }
.login-promo-copy { position: relative; z-index: 1; max-width: 430px; margin: auto 0; padding: 48px 0 28px; }
.login-promo-copy .eyebrow, .login-card-heading .eyebrow { color: var(--green); font-size: 10px; letter-spacing: .17em; }
.login-promo-copy h1 { max-width: none; margin: 0 0 17px; color: #f1f5f1; font: 600 clamp(39px, 5vw, 57px)/1.04 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.login-promo-copy h1 em { color: #8ce0b5; font-weight: 500; }
.login-promo-copy > p:last-child { max-width: 340px; margin: 0; color: #abbab2; font-size: 14px; line-height: 1.75; }
.login-visual { position: absolute; right: 2%; bottom: 14%; width: 57%; height: 125px; opacity: .5; transform: rotate(-13deg); }
.login-visual-line { position: absolute; top: 59px; left: 4%; width: 91%; height: 1px; background: linear-gradient(90deg, transparent, rgba(119,224,176,.16), rgba(119,224,176,.75), rgba(119,224,176,.12), transparent); }
.login-visual-node { position: absolute; top: 51px; width: 17px; height: 17px; border: 1px solid rgba(156,239,196,.72); border-radius: 50%; background: #15241e; box-shadow: 0 0 0 5px rgba(105,215,170,.07), 0 0 18px rgba(105,215,170,.2); }
.login-visual-node::after { position: absolute; inset: 5px; border-radius: 50%; background: var(--green); content: ""; }
.node-one { left: 13%; top: 68px; }.node-two { left: 48%; top: 22px; }.node-three { right: 12%; top: 53px; }
.login-visual-label { position: absolute; top: 79px; color: #8fa59a; font: 700 8px/1 system-ui, sans-serif; letter-spacing: .13em; }
.label-one { left: 7%; }.label-two { right: 5%; top: 78px; color: #d88b8e; }
.login-promo-foot { margin: 0; color: #789086; font-size: 9px; font-weight: 750; letter-spacing: .16em; }
.login-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: auto;
  min-width: 0;
  padding: clamp(30px, 5vw, 62px);
  border: 0;
  border-radius: 0;
  background: linear-gradient(145deg, rgba(24,33,33,.97), rgba(16,23,24,.96));
  box-shadow: none;
}
.login-card::before { position: absolute; top: 12%; left: 0; width: 1px; height: 76%; background: linear-gradient(transparent, rgba(105,215,170,.28), transparent); content: ""; }
.login-card-heading h2 { margin: 10px 0 5px; color: var(--text); font: 600 clamp(24px, 3vw, 29px)/1.15 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.login-card-heading .subtitle { margin: 0; color: #9eaea5; font-size: 13px; }
.login-card form { display: grid; gap: 9px; margin-top: 29px; }
.login-card form > label { margin-top: 5px; color: #d6e0d9; font-size: 11px; font-weight: 700; letter-spacing: .025em; }
.login-input-wrap { position: relative; display: flex; align-items: center; min-width: 0; }
.login-input-wrap input { width: 100%; min-width: 0; height: 49px; padding: 0 46px; border: 1px solid #354541; border-radius: 7px; outline: 0; background: rgba(10,16,17,.58); color: var(--text); font: inherit; font-size: 13px; line-height: 1.3; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.login-input-wrap input::placeholder { color: #708079; }
.login-input-wrap input:focus { border-color: var(--green); background: rgba(11,19,17,.82); box-shadow: 0 0 0 3px rgba(105,215,170,.11), 0 0 22px rgba(105,215,170,.05); }
.login-input-icon { position: absolute; left: 15px; z-index: 1; width: 17px; height: 17px; stroke: #82978b; stroke-width: 1.5; pointer-events: none; }
.login-password-toggle { position: absolute; right: 8px; display: grid; width: 36px; height: 36px; place-items: center; border: 0; border-radius: 5px; background: transparent; color: #94a69c; cursor: pointer; }
.login-password-toggle:hover { color: var(--green); background: rgba(105,215,170,.08); }
.login-password-toggle svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.login-submit { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 49px; margin-top: 12px; border: 1px solid rgba(196,255,220,.5); border-radius: 7px; background: linear-gradient(105deg, #65c995, #82dfad 54%, #68cd99); color: #0b1911; font-size: 13px; letter-spacing: .015em; box-shadow: 0 9px 24px rgba(65,177,121,.14), inset 0 1px rgba(255,255,255,.28); }
.login-submit:hover:not(:disabled) { background: linear-gradient(105deg, #7cdaa5, #a0ebbd 54%, #80dfa9); box-shadow: 0 11px 29px rgba(65,177,121,.22), inset 0 1px rgba(255,255,255,.34); }
.login-submit svg { width: 17px; height: 17px; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.login-submit:hover svg { transform: translateX(3px); }
.login-card #loginError { min-height: 0; margin: 0; font-size: 12px; }
.login-card-foot { margin: 27px 0 0; padding-top: 16px; border-top: 1px solid rgba(143,177,159,.13); color: #75877e; font-size: 10px; letter-spacing: .04em; }
@keyframes login-arrive { from { opacity: 0; transform: translateY(13px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes login-edge-glint { 0%, 18% { left: -36%; opacity: 0; } 25% { opacity: .8; } 58%, 100% { left: 108%; opacity: 0; } }
@media (max-width: 700px) {
  .login-panel { align-items: start; padding: max(18px, env(safe-area-inset-top)) 15px max(18px, env(safe-area-inset-bottom)); }
  .login-experience { grid-template-columns: 1fr; width: min(100%, 470px); min-height: 0; border-radius: 13px; }
  .login-promo { min-height: 225px; padding: 21px 23px; border-right: 0; border-bottom: 1px solid rgba(143,177,159,.16); }
  .login-brand .brand-mark { width: 32px; height: 32px; border-radius: 9px 4px 9px 9px; font-size: 17px; }
  .login-brand-logo { width: 32px; height: 32px; flex-basis: 32px; border-radius: 9px 4px 9px 9px; }
  .login-promo-copy { padding: 25px 0 7px; }
  .login-promo-copy h1 { margin-bottom: 8px; font-size: clamp(34px, 10vw, 43px); }
  .login-promo-copy > p:last-child { max-width: 320px; font-size: 12px; line-height: 1.5; }
  .login-visual { right: 3%; bottom: 8%; width: 43%; height: 82px; opacity: .3; }
  .login-visual-line { top: 41px; }.login-visual-node { top: 33px; transform: scale(.8); }.node-one { top: 47px; }.node-two { top: 8px; }.node-three { top: 34px; }
  .login-visual-label { display: none; }.login-promo-foot { display: none; }
  .login-card { padding: 25px 23px 22px; }
  .login-card::before { top: 0; left: 8%; width: 84%; height: 1px; background: linear-gradient(90deg, transparent, rgba(105,215,170,.3), transparent); }
  .login-card-heading h2 { font-size: 25px; }
  .login-card form { margin-top: 21px; }
  .login-card-foot { margin-top: 18px; padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .login-experience, .login-experience::before { animation: none; }
  .login-submit svg, .login-input-wrap input { transition: none; }
}

/* Inner spacing for focused panels and bookmaker status cards. */
.lineup-float-panel,
main .bet-slip-card,
main .workspace-sidebar .bet-slip-card {
  padding: 18px;
}
.bookmaker-card { padding: 14px 16px; }
.bet-slip-item { padding: 10px 8px; }
.bet-slip-summary { gap: 8px; }
.bet-slip-summary > div {
  padding: 11px 12px;
  border: 1px solid rgba(160,173,168,.16);
  border-radius: 8px;
  background: rgba(8,14,17,.3);
}
.probable-lineup-pitch-row { padding-inline: 4px; }
.probable-lineup-player { padding-inline: 3px; }

@media (max-width: 760px) {
  .lineup-float-panel,
  main .bet-slip-card,
  main .workspace-sidebar .bet-slip-card {
    padding: 16px 14px calc(16px + env(safe-area-inset-bottom));
  }
  .bet-slip-item { grid-template-columns: minmax(0, 1fr) 42px; }
  .bookmaker-card { padding: 13px 14px; }
  .bet-slip-summary > div { padding: 10px 11px; }
  .probable-lineup-pitch-row { padding-inline: 3px; }
}

@media (max-width: 390px) {
  .lineup-float-panel,
  main .bet-slip-card,
  main .workspace-sidebar .bet-slip-card { padding-right: 12px; padding-left: 12px; }
  .bookmaker-card { padding-right: 12px; padding-left: 12px; }
}

/* OddsScout light theme: warm neutral surfaces, restrained jade, high-contrast data. */
html[data-theme="light"] { background: #f3f5f2; }
body.app-authenticated[data-theme="light"] {
  color-scheme: light;
  --bg: #f3f5f2;
  --panel: #ffffff;
  --panel-2: #edf2ef;
  --surface-deep: #f8faf8;
  --line: #d5dfd9;
  --text: #1b2922;
  --soft: #35473e;
  --muted: #53635b;
  --green: #176c50;
  --accent: #176c50;
  --blue: #326f91;
  --orange: #96540b;
  --warning: #96540b;
  --red: #ad3f4a;
  --bet365: #187548;
  --bet365-soft: rgba(24, 117, 72, .1);
  --betano: #b33e4a;
  --betano-soft: rgba(179, 62, 74, .09);
  --delta-up: #126d83;
  --delta-down: #97520f;
  color: var(--text);
  background: var(--bg);
}
body.app-authenticated[data-theme="light"] #appShell {
  color-scheme: light;
  --bg: inherit;
  --panel: inherit;
  --panel-2: inherit;
  --surface-deep: inherit;
  --line: inherit;
  --text: inherit;
  --soft: inherit;
  --muted: inherit;
  --green: inherit;
  --accent: inherit;
  --blue: inherit;
  --orange: inherit;
  --warning: inherit;
  --red: inherit;
  --bet365: inherit;
  --bet365-soft: inherit;
  --betano: inherit;
  --betano-soft: inherit;
  --delta-up: inherit;
  --delta-down: inherit;
}
body.app-authenticated[data-theme="light"] #appShell .topbar {
  border-bottom-color: rgba(27, 41, 34, .12);
  background: rgba(248, 250, 248, .94);
  box-shadow: 0 5px 18px rgba(25, 46, 35, .045);
}
body.app-authenticated[data-theme="light"] #appShell .brand-mark {
  color: #14583f;
  background: #d9eee2;
  box-shadow: inset 0 0 0 1px rgba(23, 108, 80, .12);
}
body.app-authenticated[data-theme="light"] #appShell .brand strong,
body.app-authenticated[data-theme="light"] #appShell .brand .eyebrow { color: var(--green); }

.theme-toggle {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--muted);
  background: var(--panel-2);
  cursor: pointer;
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}
.theme-toggle:hover { color: var(--green); border-color: var(--green); transform: translateY(-1px); }
.theme-toggle:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.theme-icon { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-icon-moon { display: none; }
html[data-theme="light"] .theme-icon-sun { display: none; }
html[data-theme="light"] .theme-icon-moon { display: block; }

body.app-authenticated[data-theme="light"] #appShell .workspace-tab { color: #4b5c53; }
body.app-authenticated[data-theme="light"] #appShell .workspace-tab:hover { color: #173d2e; background: #e9f1ec; }
body.app-authenticated[data-theme="light"] #appShell .workspace-tab.active {
  border-color: #bdd8c8;
  color: #145b41;
  background: #e3f1e9;
}
body.app-authenticated[data-theme="light"] #appShell .account-nav-button {
  border-color: var(--line);
  color: var(--muted);
  background: #fff;
}
body.app-authenticated[data-theme="light"] #appShell .account-nav-button.active {
  border-color: #98c5ab;
  color: var(--text);
  background: #e8f3ec;
}
body.app-authenticated[data-theme="light"] .match-context-strip {
  border-color: #d6e3da;
  background: linear-gradient(108deg, #e9f2ec, #fff 72%);
  box-shadow: 0 5px 18px rgba(25, 46, 35, .035);
}
body.app-authenticated[data-theme="light"] #appShell .selected-match > span { color: #53635b; }
body.app-authenticated[data-theme="light"] #appShell .hero-metric { border-color: #c9d9cf; }

body.app-authenticated[data-theme="light"] .workspace-surface,
body.app-authenticated[data-theme="light"] #accountView .credits-panel:not(.hidden),
body.app-authenticated[data-theme="light"] #adminView .admin-panel:not(.hidden) {
  border-color: #dce4df;
  background: #fff;
  box-shadow: 0 8px 28px rgba(25, 46, 35, .045);
}
body.app-authenticated[data-theme="light"] #accountView .credits-panel:not(.hidden),
body.app-authenticated[data-theme="light"] #adminView .admin-panel:not(.hidden) { border-left: 2px solid #77a98e; }
body.app-authenticated[data-theme="light"] #appShell .button.primary,
body.app-authenticated[data-theme="light"] #appShell .button.accent {
  border-color: #145f45;
  color: #fff;
  background: #176c50;
}
body.app-authenticated[data-theme="light"] #appShell .button.primary:hover:not(:disabled),
body.app-authenticated[data-theme="light"] #appShell .button.accent:hover:not(:disabled) { background: #105a41; }
body.app-authenticated[data-theme="light"] #appShell .button.secondary {
  border-color: #b7d1c1;
  color: #145f45;
  background: #edf5f0;
}
body.app-authenticated[data-theme="light"] #appShell .button.outline,
body.app-authenticated[data-theme="light"] #appShell .button.ghost {
  border-color: #ccd8d1;
  color: #42534a;
  background: #fff;
}
body.app-authenticated[data-theme="light"] #appShell .button.outline:hover:not(:disabled),
body.app-authenticated[data-theme="light"] #appShell .button.ghost:hover:not(:disabled) {
  border-color: #7eae92;
  color: #173d2e;
  background: #f0f6f2;
}
body.app-authenticated[data-theme="light"] #appShell :is(button, select, input, textarea):focus-visible {
  outline-color: #176c50;
}

body.app-authenticated[data-theme="light"] #appShell :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea) {
  border-color: #cbd7d0;
  color: #1b2922;
  background-color: #fff;
}
body.app-authenticated[data-theme="light"] #appShell :is(input, textarea)::placeholder { color: #68776f; }
body.app-authenticated[data-theme="light"] .event-day-filters { border-color: #d7e0da; }
body.app-authenticated[data-theme="light"] .event-day-filter { color: #4e5e55; }
body.app-authenticated[data-theme="light"] .event-day-filter:hover { color: #173d2e; background: #edf4ef; }
body.app-authenticated[data-theme="light"] .event-day-filter.active {
  color: #145b41;
  background: #e3f1e9;
  box-shadow: inset 0 -2px #176c50;
}
body.app-authenticated[data-theme="light"] .event-card {
  border-color: #e0e7e2;
  background: #fff;
  box-shadow: 0 2px 7px rgba(25, 46, 35, .025);
}
body.app-authenticated[data-theme="light"] .event-card:hover,
body.app-authenticated[data-theme="light"] .event-card.selected {
  border-color: #76ad8e;
  background: #eff6f1;
}
body.app-authenticated[data-theme="light"] .event-card.selected { box-shadow: inset 3px 0 #176c50; }
body.app-authenticated[data-theme="light"] .event-league { color: #596a61; }

body.app-authenticated[data-theme="light"] .market-settings { border-color: #dce4df; }
body.app-authenticated[data-theme="light"] .market-option {
  border-color: #d7e0da;
  color: #46564d;
  background: #fff;
}
body.app-authenticated[data-theme="light"] .market-option:has(input:checked) {
  border-color: #8db99f;
  color: #145b41;
  background: #eaf4ee;
}
body.app-authenticated[data-theme="light"] .bookmaker-card {
  border-color: #dce4df;
  background: #fff;
}
body.app-authenticated[data-theme="light"] .bookmaker-card[data-book="bet365"] { border-left-color: var(--bet365); }
body.app-authenticated[data-theme="light"] .bookmaker-card[data-book="betano"] { border-left-color: var(--betano); }
body.app-authenticated[data-theme="light"] .bookmaker-card.is-loading { background: #eff5f8; }
body.app-authenticated[data-theme="light"] .bookmaker-card.is-error,
body.app-authenticated[data-theme="light"] .bookmaker-card.is-empty { background: #fffaf2; }
body.app-authenticated[data-theme="light"] .bet365-logo,
body.app-authenticated[data-theme="light"] .betano-logo { color: #fff; }
body.app-authenticated[data-theme="light"] .notice { border-color: #d9e3dc; color: #46574e; background: #f2f6f3; }
body.app-authenticated[data-theme="light"] .market-status { border: 1px solid #dce4df; background: #f3f6f4; }
body.app-authenticated[data-theme="light"] .market-status.available { border-color: #b7d8c3; color: #17643f; background: #eaf5ee; }
body.app-authenticated[data-theme="light"] .market-status.unavailable { border-color: #e6cda8; color: #84500e; background: #fbf3e7; }
body.app-authenticated[data-theme="light"] .stats-notice { background: #f0f5f8; }
body.app-authenticated[data-theme="light"] .stats-notice.success { color: #17643f; background: #edf6f0; }
body.app-authenticated[data-theme="light"] .stats-notice.warning { color: #84500e; background: #fbf3e7; }

body.app-authenticated[data-theme="light"] .results-view-tabs,
body.app-authenticated[data-theme="light"] .combination-direction-tabs {
  border-color: #dce4df;
  background: #f5f7f5;
}
body.app-authenticated[data-theme="light"] .results-view-tab,
body.app-authenticated[data-theme="light"] .combination-direction-tab { color: #4c5d53; }
body.app-authenticated[data-theme="light"] .results-view-tab.active,
body.app-authenticated[data-theme="light"] .combination-direction-tab.active {
  color: #145b41;
  background: #e5f1e9;
  box-shadow: inset 0 -2px #176c50;
}
body.app-authenticated[data-theme="light"] .quick-stats,
body.app-authenticated[data-theme="light"] .filters-bar,
body.app-authenticated[data-theme="light"] .market-line-filters,
body.app-authenticated[data-theme="light"] .player-filter {
  border-color: #dce4df;
  background: #f9fbf9;
}
body.app-authenticated[data-theme="light"] .quick-stats span { color: #56665d; }
body.app-authenticated[data-theme="light"] .quick-stats > div { border-color: #e0e7e2; }
body.app-authenticated[data-theme="light"] .market-line-row,
body.app-authenticated[data-theme="light"] .admin-create-user,
body.app-authenticated[data-theme="light"] .admin-summary > div {
  border-color: #e0e7e2;
  background: #fff;
}
body.app-authenticated[data-theme="light"] .market-line-row.has-line-filter { border-color: #a9c9b5; background: #f0f6f2; }
body.app-authenticated[data-theme="light"] .line-filter-chip { border-color: #c4d8cb; color: #43554b; background: #eff5f1; }
body.app-authenticated[data-theme="light"] .line-filter-chip b { color: #1b2922; }
body.app-authenticated[data-theme="light"] .player-filter-player { border-color: #d4ded8; background: #fff; }
body.app-authenticated[data-theme="light"] .player-filter-player:has(input:checked) { border-color: #7eae92; background: #eff6f1; }
body.app-authenticated[data-theme="light"] .player-filter-player input,
body.app-authenticated[data-theme="light"] .market-option input,
body.app-authenticated[data-theme="light"] .admin-test-toggle input { accent-color: #176c50; }
body.app-authenticated[data-theme="light"] .player-scope-trigger:hover { background: #eaf3ed; }
body.app-authenticated[data-theme="light"] .selected-player-chip { border-color: #cadbd0; color: #28533e; background: #f0f6f2; }
body.app-authenticated[data-theme="light"] .selected-player-chip-remove:hover { color: #1d3d2c; background: #e3efe7; }

body.app-authenticated[data-theme="light"] .difference-market,
body.app-authenticated[data-theme="light"] .player-matrix-wrap,
body.app-authenticated[data-theme="light"] .table-wrap,
body.app-authenticated[data-theme="light"] .admin-table-wrap {
  border-color: #dce4df;
  background: #fff;
}
body.app-authenticated[data-theme="light"] .difference-table th,
body.app-authenticated[data-theme="light"] .odds-table thead th,
body.app-authenticated[data-theme="light"] .admin-table thead th,
body.app-authenticated[data-theme="light"] .matrix-player-header,
body.app-authenticated[data-theme="light"] .matrix-market-header,
body.app-authenticated[data-theme="light"] .matrix-line-header {
  color: #34483d;
  background: #edf2ef;
}
body.app-authenticated[data-theme="light"] .difference-table th,
body.app-authenticated[data-theme="light"] .difference-table td,
body.app-authenticated[data-theme="light"] .odds-table th,
body.app-authenticated[data-theme="light"] .odds-table td,
body.app-authenticated[data-theme="light"] .admin-table th,
body.app-authenticated[data-theme="light"] .admin-table td,
body.app-authenticated[data-theme="light"] .player-matrix th,
body.app-authenticated[data-theme="light"] .player-matrix td { border-color: #e1e7e3; }
body.app-authenticated[data-theme="light"] .difference-table tbody tr:hover,
body.app-authenticated[data-theme="light"] .odds-table tbody tr:hover,
body.app-authenticated[data-theme="light"] .admin-table tbody tr:hover { background: #f2f6f3; }
body.app-authenticated[data-theme="light"] .difference-line-tab { border-color: #d4ded8; color: #4b5d53; background: #f1f5f2; }
body.app-authenticated[data-theme="light"] .difference-line-tab.active { border-color: #79a98c; color: #145b41; background: #e8f3ec; }
body.app-authenticated[data-theme="light"] .difference-value.positive { color: var(--delta-up); }
body.app-authenticated[data-theme="light"] .difference-value.negative { color: var(--delta-down); }
body.app-authenticated[data-theme="light"] .matrix-player { background: #f8faf8; }
body.app-authenticated[data-theme="light"] .matrix-cell.is-empty { color: #66766d; }
body.app-authenticated[data-theme="light"] .matrix-odd { border-color: #e1e7e3; color: #25342c; background: #f1f4f2; }
body.app-authenticated[data-theme="light"] .matrix-odd-bet365 { border-color: #c3dfcd; color: #17643f; background: #eaf5ee; }
body.app-authenticated[data-theme="light"] .matrix-odd-betano { border-color: #ebc9cd; color: #a53643; background: #fbf0f1; }
body.app-authenticated[data-theme="light"] .matrix-odd.is-missing { border-color: #e4e9e6; color: #64736b; background: #f5f7f5; }
body.app-authenticated[data-theme="light"] .matrix-odd:hover,
body.app-authenticated[data-theme="light"] .matrix-odd.is-selected,
body.app-authenticated[data-theme="light"] .odds-cell.is-selected { outline-color: #176c50; }
body.app-authenticated[data-theme="light"] .matrix-player em,
body.app-authenticated[data-theme="light"] .recent-stats { color: #326f91; }
body.app-authenticated[data-theme="light"] .recent-stats b { color: #285a78; }
body.app-authenticated[data-theme="light"] .mobile-player-line { border-color: #e1e7e3; background: #fff; }
body.app-authenticated[data-theme="light"] .player-mobile-card { border-color: #e1e7e3; background: #fff; }
body.app-authenticated[data-theme="light"] .player-mobile-card-head { border-color: #e1e7e3; background: #f7faf8; }
body.app-authenticated[data-theme="light"] .mobile-player-line.is-missing .mobile-player-delta { color: #64736b; }

body.app-authenticated[data-theme="light"] .result { border-color: #dce4df; background: #fff; }
body.app-authenticated[data-theme="light"] .result-meta span { color: #43544b; background: #edf2ef; }
body.app-authenticated[data-theme="light"] .empty-state { color: #53635b; background: #f8faf8; }
body.app-authenticated[data-theme="light"] .credits-balance { border-color: #c6ddcf; background: #f5f9f6; }
body.app-authenticated[data-theme="light"] .credit-history-item,
body.app-authenticated[data-theme="light"] .credit-history-item:hover,
body.app-authenticated[data-theme="light"] .credit-consultation.is-reusable:hover { background: #f7faf8; }
body.app-authenticated[data-theme="light"] .credit-history-item.is-reusable { border-color: #c6ddcf; }
body.app-authenticated[data-theme="light"] .is-test-row { background: #fff8eb; }

body.app-authenticated[data-theme="light"] #appShell .lineup-float-panel,
body.app-authenticated[data-theme="light"] #appShell .bet-slip-card {
  border-color: #cbd8d0;
  color: var(--text);
  background: #fff;
  box-shadow: 0 18px 55px rgba(25, 46, 35, .16);
}
body.app-authenticated[data-theme="light"] #appShell .lineup-float-panel { border-top-color: #176c50; }
body.app-authenticated[data-theme="light"] #appShell .bet-slip-card { border-top-color: var(--bet365); }
body.app-authenticated[data-theme="light"] #appShell .bet-slip-item,
body.app-authenticated[data-theme="light"] #appShell .bet-slip-summary > div {
  border-color: #e0e7e2;
  background: #f8faf8;
}
body.app-authenticated[data-theme="light"] #appShell .bet-slip-fab {
  border-color: #fff;
  color: #fff;
  background: #176c50;
  box-shadow: 0 8px 24px rgba(25, 46, 35, .2);
}
body.app-authenticated[data-theme="light"] #appShell .lineup-fab {
  border-color: #8bb69c;
  color: #175d43;
  background: #e7f1eb;
  box-shadow: 0 8px 24px rgba(25, 46, 35, .16);
}
body.app-authenticated[data-theme="light"] #appShell .bet-slip-fab-label,
body.app-authenticated[data-theme="light"] #appShell .lineup-fab-label {
  border-color: #d3ddd7;
  color: #35483e;
  background: #fff;
  box-shadow: 0 2px 9px rgba(25, 46, 35, .08);
}
body.app-authenticated[data-theme="light"] #appShell .bet-slip-fab b { border-color: #fff; color: #fff; background: #35483e; }

body.app-authenticated[data-theme="light"] .probable-lineup-panel { border-color: #cbd8d0; background: #fff; }
body.app-authenticated[data-theme="light"] .probable-lineup-team { border-color: #d5e0d9; background: #f9fbf9; }
body.app-authenticated[data-theme="light"] .probable-lineup-team-head { border-color: #dce5df; background: #eff4f1; }
body.app-authenticated[data-theme="light"] .probable-lineup-pitch { background: #eaf3ed; }
body.app-authenticated[data-theme="light"] .probable-lineup-pitch::before {
  border-color: rgba(36, 105, 70, .2);
  background: linear-gradient(90deg, transparent 49.7%, rgba(36,105,70,.15) 50%, transparent 50.3%),
    radial-gradient(circle at 50% 50%, transparent 0 28px, rgba(36,105,70,.16) 29px 30px, transparent 31px),
    repeating-linear-gradient(0deg, rgba(36,105,70,.025) 0 22px, rgba(36,105,70,.06) 23px 24px);
}
body.app-authenticated[data-theme="light"] .probable-lineup-pitch::after { border-color: rgba(36,105,70,.22); background: #eaf3ed; }
body.app-authenticated[data-theme="light"] .probable-lineup-player:hover,
body.app-authenticated[data-theme="light"] .probable-lineup-player:focus-visible { background: rgba(50,111,145,.1); }
body.app-authenticated[data-theme="light"] .probable-lineup-player.is-selected { background: rgba(50,111,145,.14); box-shadow: 0 0 0 1px #6c9eb8; }
body.app-authenticated[data-theme="light"] .lineup-number { border-color: #bfd4c7; color: #285f45; background: #f3f8f4; }
body.app-authenticated[data-theme="light"] .lineup-selection-popover,
body.app-authenticated[data-theme="light"] .player-scope-popover {
  border-color: #cbd8d0;
  color: var(--text);
  background: #fff;
  box-shadow: 0 16px 44px rgba(25, 46, 35, .18);
}
body.app-authenticated[data-theme="light"] .player-scope-lines label { color: #47584f; background: #f5f8f6; }
body.app-authenticated[data-theme="light"] .player-scope-lines label:has(input:checked) { color: #155b41; background: #eaf4ee; }
body.app-authenticated[data-theme="light"] .lineup-selection-market { border-color: #e1e7e3; }
body.app-authenticated[data-theme="light"] .lineup-selection-odd-bet365.is-selected { background: #dcefe3; }
body.app-authenticated[data-theme="light"] .lineup-selection-odd-betano.is-selected { background: #f7e4e6; }
body.app-authenticated[data-theme="light"] .lineup-selection-odd.is-missing { color: #64736b; background: #f2f5f3; }
body.app-authenticated[data-theme="light"] #appShell footer { color: #596a61; }

/* Light-theme finishing pass: keep fixed-dark legacy surfaces consistent. */
body.app-authenticated[data-theme="light"] #appShell .matrix-caption {
  border-color: #dce4df;
  color: #35473e;
  background: #f0f4f1;
}
body.app-authenticated[data-theme="light"] #appShell .matrix-caption .eyebrow { color: #176c50; }
body.app-authenticated[data-theme="light"] #appShell .matrix-caption strong { color: #1b2922; }
body.app-authenticated[data-theme="light"] #appShell .matrix-caption span,
body.app-authenticated[data-theme="light"] #appShell .matrix-caption-note { color: #53635b !important; }

body.app-authenticated[data-theme="light"] #appShell .autocomplete-field {
  border-color: #cbd7d0;
  color: #35473e;
  background: #fff;
}
body.app-authenticated[data-theme="light"] #appShell .autocomplete-field:focus-within {
  border-color: #579275;
  box-shadow: 0 0 0 3px rgba(23, 108, 80, .12);
}
body.app-authenticated[data-theme="light"] #appShell .autocomplete-field .search-icon { color: #64766c; }
body.app-authenticated[data-theme="light"] #appShell .autocomplete-field input {
  border: 0;
  color: #1b2922;
  background: transparent;
  box-shadow: none;
}
body.app-authenticated[data-theme="light"] #appShell .autocomplete-field input::placeholder { color: #68776f; }
body.app-authenticated[data-theme="light"] #appShell .autocomplete-field button { color: #5b6c62; }
body.app-authenticated[data-theme="light"] #appShell .autocomplete-field button:hover { color: #173d2e; background: #edf3ef; }

body.app-authenticated[data-theme="light"] #appShell #accountView .credits-balance {
  border: 1px solid #c6ddcf;
  border-radius: 9px;
  color: #35473e;
  background: #f1f7f3;
}
body.app-authenticated[data-theme="light"] #appShell #accountView .credits-balance span { color: #53635b; }
body.app-authenticated[data-theme="light"] #appShell #accountView .credits-balance strong { color: #176c50; }
body.app-authenticated[data-theme="light"] #appShell #accountView .credits-balance small { color: #84500e; }
body.app-authenticated[data-theme="light"] #appShell #accountView .credit-history-item {
  border-color: #e0e7e2;
  border-radius: 8px;
  color: #1b2922;
  background: #f8faf8;
}
body.app-authenticated[data-theme="light"] #appShell #accountView .credit-history-item:hover,
body.app-authenticated[data-theme="light"] #appShell #accountView .credit-consultation.is-reusable:hover {
  border-color: #b7d2c1;
  background: #eef5f0;
}
body.app-authenticated[data-theme="light"] #appShell #accountView .credit-history-item strong { color: #1b2922; }
body.app-authenticated[data-theme="light"] #appShell #accountView .credit-history-item small { color: #53635b; }
body.app-authenticated[data-theme="light"] #appShell #accountView .credit-history-item .credit-positive { color: #176c50; }
body.app-authenticated[data-theme="light"] #appShell #accountView .credit-history-item .credit-negative { color: #ad3f4a; }

/* Fixture cards: show match roles and competition as first-class context. */
#appShell .event-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
#appShell .event-card {
  grid-template-columns: 76px minmax(0, 1.45fr) minmax(105px, .85fr) 14px;
  min-height: 92px;
  gap: 12px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface-deep);
}
#appShell .event-card:hover { border-color: rgba(105, 215, 170, .5); background: rgba(105, 215, 170, .07); }
#appShell .event-card.selected { border-color: var(--green); background: rgba(105, 215, 170, .1); box-shadow: inset 3px 0 var(--green); }
#appShell .event-kickoff, #appShell .event-context { display: grid; min-width: 0; gap: 5px; }
#appShell .event-kickoff > small, #appShell .event-context > small,
#appShell .event-team > small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .07em; line-height: 1.2; }
#appShell .event-time { color: var(--green); font-size: 17px; font-weight: 850; font-variant-numeric: tabular-nums; }
#appShell .event-teams { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; }
#appShell .event-team { display: grid; min-width: 0; gap: 4px; }
#appShell .event-team:last-child { text-align: right; }
#appShell .event-team strong { overflow: hidden; color: var(--text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
#appShell .event-vs { color: var(--muted); font-size: 9px; font-weight: 800; text-align: center; }
#appShell .event-context { grid-template-columns: minmax(0, 1fr); align-content: center; overflow: hidden; }
#appShell .event-league { grid-column: auto; grid-row: auto; max-width: 100%; margin-top: 0; display: -webkit-box; overflow: hidden; color: var(--soft); font-size: 10px; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
#appShell .event-selected-label { color: var(--green); font-size: 9px; font-style: normal; font-weight: 800; }
#appShell .event-arrow { justify-self: end; color: var(--green); font-size: 20px; }
#appShell .event-list-note { margin-top: 12px; }
body.app-authenticated[data-theme="light"] #appShell .event-card { border-color: #dce5de; background: #fbfcfb; }
body.app-authenticated[data-theme="light"] #appShell .event-card:hover { border-color: #9fcab2; background: #f1f7f3; }
body.app-authenticated[data-theme="light"] #appShell .event-card.selected { border-color: #79b99a; background: #edf6f0; box-shadow: inset 3px 0 #176c50; }
body.app-authenticated[data-theme="light"] #appShell .event-kickoff > small,
body.app-authenticated[data-theme="light"] #appShell .event-context > small,
body.app-authenticated[data-theme="light"] #appShell .event-team > small { color: #69786f; }
body.app-authenticated[data-theme="light"] #appShell .event-time,
body.app-authenticated[data-theme="light"] #appShell .event-arrow,
body.app-authenticated[data-theme="light"] #appShell .event-selected-label { color: #176c50; }
body.app-authenticated[data-theme="light"] #appShell .event-team strong { color: #1b2922; }
body.app-authenticated[data-theme="light"] #appShell .event-vs { color: #64736a; }
body.app-authenticated[data-theme="light"] #appShell .event-league { color: #42534a; }

@media (max-width: 760px) {
  #appShell .topbar { grid-template-columns: minmax(0, 1fr) max-content; }
  #appShell .header-actions { width: auto; flex-direction: row; flex-wrap: nowrap; justify-self: end; }
  body.app-authenticated[data-theme="light"] #appShell .topbar { background: rgba(248, 250, 248, .97); }
  body.app-authenticated[data-theme="light"] #appShell .lineup-float-panel,
  body.app-authenticated[data-theme="light"] #appShell .bet-slip-card { box-shadow: 0 -12px 36px rgba(25, 46, 35, .14); }
  #appShell .event-list { grid-template-columns: 1fr; gap: 0; }
  #appShell .event-card { grid-template-columns: 66px minmax(0, 1fr) 14px; min-height: 82px; gap: 8px 10px; padding: 11px 8px; }
  #appShell .event-kickoff { grid-column: 1; grid-row: 1 / span 2; align-content: center; }
  #appShell .event-time { font-size: 15px; }
  #appShell .event-teams { grid-column: 2; grid-row: 1; grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr); gap: 5px; }
  #appShell .event-team strong { font-size: 11px; }
  #appShell .event-context { grid-column: 2; grid-row: 2; display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; }
  #appShell .event-context > small { display: none; }
  #appShell .event-league { font-size: 9px; -webkit-line-clamp: 1; }
  #appShell .event-arrow { grid-column: 3; grid-row: 1 / span 2; }
}
