.overview-stacked-layout {
    padding: 0 0.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* Metric Section Card */
.metric-section-card {
    background: var(--card-bg, var(--bg-surface));
    border: 1px solid var(--card-border, var(--border-color));
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 1.75rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.metric-section-card:hover {
    border-color: var(--primary);
}

/* Section Header Badge */
.metric-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.3rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--border-color);
}
.metric-section-title {
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: var(--text-main);
    width: 255px;
    min-width: 255px;
    flex-shrink: 0;
}
.metric-icon-badge {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(0, 229, 255, 0.12);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
}
.metric-section-pill {
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 10px;
    border-radius: 99px;
    background: var(--bg-surface-2, rgba(128,128,128,0.1));
    color: var(--text-muted);
}

/* Goals Scope Switcher Tabs */
.goals-scope-nav {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: var(--bg-surface-2, rgba(255, 255, 255, 0.04));
    padding: 0.25rem;
    border-radius: 10px;
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.08));
}
.goals-scope-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--text-muted, #94a3b8);
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}
.goals-scope-tab:hover {
    color: var(--text-main, #fff);
    background: rgba(255, 255, 255, 0.06);
}
.goals-scope-tab.active {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.15);
}
.goals-scope-tab[data-scope="home"].active {
    background: rgba(16, 185, 129, 0.15);
    color: #10b981;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15);
}
.goals-scope-tab[data-scope="away"].active {
    background: rgba(56, 189, 248, 0.15);
    color: #38bdf8;
    box-shadow: 0 2px 8px rgba(56, 189, 248, 0.15);
}

/* Category Window Nav (L5, L10, L20) */
.metric-window-nav {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: var(--bg-surface-2, rgba(255, 255, 255, 0.04));
    padding: 0.25rem;
    border-radius: 9px;
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.08));
}
.metric-window-tab {
    padding: 0.35rem 0.75rem;
    background: transparent;
    border: none;
    border-radius: 7px;
    color: var(--text-muted, #94a3b8);
    font-size: 0.75rem;
    font-weight: 800;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    cursor: pointer;
    transition: all 0.2s ease;
}
.metric-window-tab:hover {
    color: var(--text-main, #fff);
    background: rgba(255, 255, 255, 0.06);
}
.metric-window-tab.active {
    background: rgba(249, 115, 22, 0.2);
    color: #f97316;
    box-shadow: 0 0 10px rgba(249, 115, 22, 0.15);
}

.goals-scope-pane {
    display: none;
}
.goals-scope-pane.active {
    display: block;
}

/* Section Grid (Stats left, Lines/Odds right) */
.metric-split-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 1.5rem;
}
@media (max-width: 900px) {
    .metric-split-grid {
        grid-template-columns: 1fr;
    }
}

/* Stat Meters & Bars */
.stat-box-panel {
    background: var(--bg-surface-2, rgba(255,255,255,0.02));
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 1.1rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.stat-meter-row {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 1rem;
}
.stat-meter-row:last-child {
    margin-bottom: 0;
}
.stat-meter-header {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--text-muted);
}
.stat-meter-bar {
    height: 8px;
    background: rgba(128, 128, 128, 0.18);
    border-radius: 99px;
    overflow: hidden;
    display: flex;
}
.stat-meter-fill-h {
    height: 100%;
    background: var(--primary);
    transition: width 0.6s ease;
}
.stat-meter-fill-a {
    height: 100%;
    background: #10b981;
    transition: width 0.6s ease;
}
.stat-meter-vals {
    display: flex;
    justify-content: space-between;
    font-size: 0.95rem;
    font-weight: 900;
}

/* Lines Chance Grid */
.lines-chance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.8rem;
}
.line-chance-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 0.9rem;
    text-align: center;
    transition: transform 0.2s, border-color 0.2s;
}
.line-chance-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}
.line-chance-name {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--text-muted);
    text-transform: uppercase;
}
.line-chance-pct {
    font-size: 1.3rem;
    font-weight: 900;
    color: var(--text-main);
    margin: 0.2rem 0;
}
.line-chance-sub {
    font-size: 0.68rem;
    color: var(--text-muted);
    font-weight: 700;
}

/* Sparklines & Form Dots */
.form-dots-row {
    display: flex;
    gap: 5px;
    align-items: center;
}
.form-dot {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 800;
    color: #fff;
}
.form-dot-win { background: #10b981; }
.form-dot-draw { background: #eab308; }
.form-dot-loss { background: #ef4444; }

/* =========================================================================
   👑 MODERN ODDS MATRIX STYLING (BASIC SECTION)
   ========================================================================= */
.odds-matrix-card {
    background: var(--bg-surface-2, rgba(255, 255, 255, 0.02));
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}
.matrix-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}
.matrix-card-title {
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.matrix-table-container {
    overflow-x: auto;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface);
}
.odds-matrix-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    min-width: 540px;
}
.odds-matrix-table th {
    padding: 0.45rem 0.25rem;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-surface-2, rgba(255, 255, 255, 0.03));
}
.odds-matrix-table th.matrix-th-bet {
    text-align: left;
    width: 170px;
    min-width: 155px;
    max-width: 185px;
    padding-left: 0.85rem;
    padding-right: 0.5rem;
    color: var(--text-muted);
}
.odds-matrix-table th:not(.matrix-th-bet) {
    width: 72px;
    min-width: 60px;
    max-width: 82px;
}
.matrix-bookie-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 6px;
    border-radius: 6px;
    font-size: 0.68rem;
    font-weight: 800;
    border: 1px solid;
    letter-spacing: 0.02em;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    max-width: 76px;
}
.matrix-bookie-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.matrix-bookie-badge.best-badge {
    color: #4ade80;
    background: rgba(74, 222, 128, 0.12);
    border-color: rgba(74, 222, 128, 0.35);
}
.odds-matrix-table td {
    padding: 0.45rem 0.25rem;
    border-bottom: 1px solid var(--border-color);
    transition: background 0.15s ease;
}
.odds-matrix-table tr:last-child td {
    border-bottom: none;
}
.odds-matrix-table tbody tr:hover td {
    background: rgba(255, 255, 255, 0.025);
}
.matrix-td-bet {
    text-align: left;
    padding-left: 0.85rem !important;
    padding-right: 0.5rem !important;
    width: 170px;
    min-width: 155px;
    max-width: 185px;
}
.matrix-bet-pill {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}
.matrix-bet-code {
    width: 26px;
    height: 24px;
    min-width: 26px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.matrix-bet-details {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}
.matrix-bet-desc {
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--text-main);
    white-space: nowrap;
}
.matrix-bet-sub {
    font-size: 0.64rem;
    font-weight: 600;
    color: var(--text-muted);
    white-space: nowrap;
}
.matrix-td-odd {
    position: relative;
    border-left: 1px solid var(--border-color, rgba(128, 128, 128, 0.18)) !important;
    width: 72px;
    min-width: 60px;
    max-width: 82px;
    text-align: center;
}
.matrix-bookie-th {
    border-left: 1px solid var(--border-color, rgba(128, 128, 128, 0.18)) !important;
    width: 72px;
    min-width: 60px;
    max-width: 82px;
}
.odds-matrix-table .odd-val-box {
    min-width: 48px;
    max-width: 64px;
    padding: 2px 4px;
    font-size: 0.82rem;
    font-weight: 800;
    border-radius: 6px;
    gap: 2px;
    margin: 0 auto;
}
.odds-matrix-table .crown-best-icon {
    font-size: 0.62rem;
    margin-right: 1px;
}
.odds-matrix-table .odd-val-empty {
    font-size: 0.8rem;
    color: var(--text-muted);
    opacity: 0.35;
    font-weight: 700;
}
.odd-val-display {
    font-size: 0.95rem;
    font-weight: 800;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    color: var(--text-main);
    letter-spacing: -0.02em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 6px;
    transition: all 0.2s ease;
}
.matrix-td-odd.is-best-odd .odd-val-display {
    color: #4ade80;
    background: rgba(74, 222, 128, 0.12);
    border: 1px solid rgba(74, 222, 128, 0.35);
    font-weight: 900;
    box-shadow: 0 0 14px rgba(74, 222, 128, 0.18);
}
.crown-best-icon {
    color: #fbbf24;
    font-size: 0.75rem;
    filter: drop-shadow(0 0 4px rgba(251, 191, 36, 0.5));
}
.odd-val-empty {
    color: var(--text-muted);
    opacity: 0.4;
    font-weight: 700;
}

/* =========================================================================
   ⚽ GOALS OVER/UNDER MATRIX + PROBABILITY PANEL
   ========================================================================= */

/* Split layout: compact matrix on left, probability on right (more room) */
.goals-ou-split {
    display: grid;
    grid-template-columns: minmax(315px, 350px) 1fr;
    gap: 1.5rem;
    align-items: start;
}
@media (max-width: 1024px) {
    .goals-ou-split {
        grid-template-columns: 1fr;
    }
}

/* Matrix wrapper */
.goals-ou-matrix-wrap {
    min-width: 0;
}

/* Scrollable table container */
.goals-ou-table-container {
    overflow-x: auto;
}

/* Table min-width adapts to bookie count */
.goals-ou-table {
    min-width: 350px;
}

/* Line header column */
.goals-th-line {
    text-align: center;
    width: 58px;
    color: var(--text-muted);
}

/* Sub-header row for Under / Over labels */
.goals-th-sub-row th {
    padding: 0.35rem 0.7rem;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-surface-2, rgba(255, 255, 255, 0.02));
}
.goals-th-under {
    color: #60a5fa; /* blue */
}
.goals-th-over {
    color: #4ade80; /* green */
}

/* Line badge in left column */
.goals-td-line {
    text-align: center;
    padding: 0.65rem 0.5rem !important;
}
.goals-line-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border-color);
    font-size: 0.82rem;
    font-weight: 900;
    color: var(--text-main);
    letter-spacing: -0.02em;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Under/Over cells */
.goals-td-under,
.goals-td-over {
    text-align: center;
    padding: 0.65rem 0.6rem;
}
.goals-td-under .odd-val-display {
    color: #93c5fd; /* light blue tint for under */
}
.goals-td-under.is-best-odd .odd-val-display {
    color: #60a5fa;
    background: rgba(96, 165, 250, 0.12);
    border: 1px solid rgba(96, 165, 250, 0.35);
    box-shadow: 0 0 14px rgba(96, 165, 250, 0.18);
}
.goals-td-over .odd-val-display {
    color: #86efac; /* light green tint for over */
}
.goals-td-over.is-best-odd .odd-val-display {
    color: #4ade80;
    background: rgba(74, 222, 128, 0.12);
    border: 1px solid rgba(74, 222, 128, 0.35);
    box-shadow: 0 0 14px rgba(74, 222, 128, 0.18);
}

/* =========================================================================
   🏢 DISTINCT BOOKMAKER COLUMN GROUP SEPARATION
   ========================================================================= */
.bookie-col-group-th {
    border-left: 2.5px solid var(--border-color, rgba(128, 128, 128, 0.25)) !important;
    background: rgba(255, 255, 255, 0.02) !important;
}
.bookie-col-start {
    border-left: 2.5px solid var(--border-color, rgba(128, 128, 128, 0.25)) !important;
}
.bookie-col-end {
    border-right: 1px solid rgba(128, 128, 128, 0.06);
}

/* Dim rows with no odds at all */
.goals-row-empty .goals-td-under,
.goals-row-empty .goals-td-over {
    opacity: 0.45;
}

/* Empty state */
.goals-ou-no-odds {
    text-align: center;
    padding: 2.5rem 1rem;
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 700;
    background: var(--bg-surface-2, rgba(255, 255, 255, 0.02));
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

/* Probability panel on the right */
.goals-ou-prob-wrap {
    background: var(--bg-surface-2, rgba(255, 255, 255, 0.02));
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 1.1rem;
}

.goals-prob-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.goals-prob-row {
    display: grid;
    grid-template-columns: 42px 64px 1fr 64px;
    align-items: center;
    gap: 0.65rem;
}
.adv-card-prob-row {
    grid-template-columns: 74px 1fr 74px;
    padding: 0.35rem 0;
}

.goals-prob-line-badge {
    font-size: 0.8rem;
    font-weight: 900;
    color: var(--text-main);
    text-align: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border-color);
    border-radius: 7px;
    padding: 3px 5px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.dual-prob-val {
    font-size: 0.78rem;
    font-weight: 800;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    white-space: nowrap;
}
.dual-prob-val.val-under {
    text-align: right;
    color: #f87171;
}
.dual-prob-val.val-over {
    text-align: left;
    color: #4ade80;
}
.prob-side-sub {
    font-size: 0.62rem;
    font-weight: 700;
    opacity: 0.7;
    margin-left: 2px;
    text-transform: uppercase;
}

.dual-bar-wrap {
    flex: 1;
}

.dual-prob-track {
    height: 8px;
    background: rgba(128, 128, 128, 0.15);
    border-radius: 99px;
    overflow: hidden;
    display: flex;
}

.dual-bar-fill-under {
    background: linear-gradient(90deg, #ef4444, #f87171);
    height: 100%;
    border-radius: 99px 0 0 99px;
    transition: width 0.4s ease;
}

.dual-bar-fill-over {
    background: linear-gradient(90deg, #4ade80, #22c55e);
    height: 100%;
    border-radius: 0 99px 99px 0;
    transition: width 0.4s ease;
}

/* =========================================================================
   🎛️ HIT RATE SELECTS & CONTROLS STYLING
   ========================================================================= */
.prob-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.95rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-color, rgba(128,128,128,0.15));
}
.prob-panel-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.prob-selects-group {
    display: flex;
    align-items: center;
    gap: 6px;
}
.prob-select-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.goals-prob-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: var(--bg-surface, #ffffff);
    border: 1.5px solid var(--border-color, rgba(128, 128, 128, 0.3));
    color: var(--text-main, #0f172a);
    font-size: 0.75rem;
    font-weight: 800;
    border-radius: 8px;
    padding: 5px 22px 5px 9px;
    cursor: pointer;
    outline: none;
    transition: all 0.2s ease;
    letter-spacing: 0.02em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.prob-select-arrow {
    position: absolute;
    right: 7px;
    pointer-events: none;
    font-size: 0.6rem;
    color: var(--text-muted);
    transition: transform 0.2s ease, color 0.2s ease;
}
.prob-select-wrapper:hover .goals-prob-select,
.goals-prob-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.2);
}
.prob-select-wrapper:hover .prob-select-arrow {
    color: var(--primary);
}

/* =========================================================================
   ⚽ COMPACT OVER/UNDER ODDS TABLE (grouped by line, one bookie per row)
   ========================================================================= */
.compact-odds-container {
    overflow-x: auto;
}
.compact-odds-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 310px;
}
.compact-odds-table thead th {
    padding: 0.4rem 0.4rem;
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border-color);
    text-align: center;
}
.compact-th-line {
    width: 44px;
    text-align: center;
}
.compact-th-bookie {
    width: 34px;
    text-align: center;
}
.compact-th-under { color: #f87171; text-align: center; min-width: 105px; }
.compact-th-over  { color: #4ade80; text-align: center; min-width: 105px; }

.compact-odds-row td {
    padding: 0.32rem 0.35rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    vertical-align: middle;
}
.compact-td-line {
    text-align: center;
}
.compact-td-bookie {
    text-align: center;
}
.compact-line-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border-color);
    font-size: 0.82rem;
    font-weight: 900;
    color: var(--text-main);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.compact-line-btn {
    cursor: pointer;
    outline: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
}
.compact-line-btn:hover {
    background: rgba(249, 115, 22, 0.22);
    border-color: rgba(249, 115, 22, 0.55);
    color: #f97316;
    transform: scale(1.05);
}
.compact-line-btn.active {
    background: rgba(249, 115, 22, 0.28);
    border-color: #f97316;
    color: #f97316;
    box-shadow: 0 0 12px rgba(249, 115, 22, 0.35);
    transform: scale(1.04);
}
.compact-odds-row {
    cursor: pointer;
    transition: background 0.15s ease;
}
.compact-odds-row:hover {
    background: rgba(255, 255, 255, 0.03);
}
.compact-odds-row.active-odds-row {
    background: rgba(249, 115, 22, 0.05);
}
.compact-td-under,
.compact-td-over {
    text-align: center;
    white-space: nowrap;
}
.compact-bookie-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 22px;
    padding: 0 5px;
    border-radius: 5px;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    border: 1px solid transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    user-select: none;
    line-height: 1;
}
.compact-bookie-badge:hover {
    transform: scale(1.08);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

/* 1. FORTUNA (FO) — Signature Yellow & Black */
.compact-bookie-badge.bk-badge-fo,
.compact-bookie-badge.bk-badge-fortuna {
    background: #ffde00 !important;
    color: #000000 !important;
    border-color: #e6c800 !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    box-shadow: 0 1px 3px rgba(255, 222, 0, 0.35) !important;
}

/* 2. STS (STS / ST) — Split 50/50 Orange & Blue */
.compact-bookie-badge.bk-badge-sts,
.compact-bookie-badge.bk-badge-st {
    background: linear-gradient(135deg, #ff6600 0%, #ff6600 48%, #0052cc 52%, #0052cc 100%) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    font-weight: 900 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
    letter-spacing: 0.02em !important;
}

/* 3. forBET (FB) — Bright Lime Green with Navy Text */
.compact-bookie-badge.bk-badge-fb,
.compact-bookie-badge.bk-badge-forbet {
    background: #2bd800 !important;
    color: #001f54 !important;
    border-color: #24b800 !important;
    font-weight: 900 !important;
    font-style: italic !important;
    letter-spacing: -0.02em !important;
    box-shadow: 0 1px 3px rgba(43, 216, 0, 0.35) !important;
}

/* 4. FUKSIARZ (FU) — Black with Glowing Gold Sun Ring */
.compact-bookie-badge.bk-badge-fu,
.compact-bookie-badge.bk-badge-fuksiarz {
    background: #000000 !important;
    color: #ffffff !important;
    border: 1.5px solid #ffcc00 !important;
    box-shadow: 0 0 6px rgba(255, 204, 0, 0.45) !important;
    font-weight: 900 !important;
    letter-spacing: 0.03em !important;
}

/* 5. BETCLIC (BC) — Vivid Betclic Red */
.compact-bookie-badge.bk-badge-bc,
.compact-bookie-badge.bk-badge-betclic {
    background: #e11d48 !important;
    color: #ffffff !important;
    border-color: #be123c !important;
    font-weight: 900 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* 6. SUPERBET (SB) — Iconic Superbet Red */
.compact-bookie-badge.bk-badge-sb,
.compact-bookie-badge.bk-badge-superbet {
    background: #e51b24 !important;
    color: #ffffff !important;
    border-color: #b91c1c !important;
    font-weight: 900 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* 7. LV BET (LV) — Black & Yellow */
.compact-bookie-badge.bk-badge-lv,
.compact-bookie-badge.bk-badge-lvbet {
    background: #111111 !important;
    color: #facc15 !important;
    border-color: #ca8a04 !important;
    font-weight: 900 !important;
}

/* 8. BETFAN (BF) — Neon Lime Yellow with Dark Green Text */
.compact-bookie-badge.bk-badge-bf,
.compact-bookie-badge.bk-badge-betfan {
    background: #d4fc04 !important;
    color: #064e3b !important;
    border-color: #b2d600 !important;
    font-weight: 900 !important;
}

/* 9. TOTALBET (TB) — Deep Navy & Electric Cyan */
.compact-bookie-badge.bk-badge-tb,
.compact-bookie-badge.bk-badge-totalbet {
    background: #0a1128 !important;
    color: #00e5ff !important;
    border-color: rgba(0, 229, 255, 0.4) !important;
    font-weight: 900 !important;
}

/* 10. ETOTO (ET) — Deep Blue & Cyan */
.compact-bookie-badge.bk-badge-et,
.compact-bookie-badge.bk-badge-etoto {
    background: #002244 !important;
    color: #00a3e0 !important;
    border-color: rgba(0, 163, 224, 0.4) !important;
    font-weight: 900 !important;
}
.odd-val-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 3px 8px;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
    font-size: 0.92rem;
    font-weight: 800;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    letter-spacing: -0.01em;
    transition: all 0.2s ease;
}
.compact-td-under .odd-val-box {
    color: #f87171;
    border-color: rgba(248, 113, 113, 0.18);
    background: rgba(248, 113, 113, 0.05);
}
.compact-td-under .odd-val-box.is-best-odd {
    color: #f87171;
    background: rgba(248, 113, 113, 0.16);
    border-color: rgba(248, 113, 113, 0.45);
    box-shadow: 0 0 12px rgba(248, 113, 113, 0.2);
    font-weight: 900;
}
.compact-td-over .odd-val-box {
    color: #4ade80;
    border-color: rgba(74, 222, 128, 0.18);
    background: rgba(74, 222, 128, 0.05);
}
.compact-td-over .odd-val-box.is-best-odd {
    color: #4ade80;
    background: rgba(74, 222, 128, 0.16);
    border-color: rgba(74, 222, 128, 0.45);
    box-shadow: 0 0 12px rgba(74, 222, 128, 0.2);
    font-weight: 900;
}

/* Summary Odds Row & Range Styling */
.compact-odds-summary-row {
    cursor: pointer;
    transition: background 0.15s ease;
}
.compact-odds-summary-row:hover {
    background: rgba(255, 255, 255, 0.04);
}
.compact-odds-summary-row.active-odds-row {
    background: rgba(249, 115, 22, 0.06);
}

.compact-bookie-badge.bk-badge-summary {
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--text-muted) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    min-width: 28px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    transition: all 0.2s ease;
}
.compact-odds-summary-row:hover .compact-bookie-badge.bk-badge-summary {
    background: rgba(249, 115, 22, 0.14) !important;
    color: #f97316 !important;
    border-color: rgba(249, 115, 22, 0.35) !important;
}
.compact-bookie-badge.bk-badge-summary .summary-chevron {
    font-size: 0.5rem;
    opacity: 0.6;
    transition: transform 0.2s ease;
}
.compact-odds-summary-row:hover .compact-bookie-badge.bk-badge-summary .summary-chevron {
    transform: translateX(1px);
    opacity: 1;
}

/* Range Odds Box (Lowest - Highest) */
.odd-val-box.odd-val-range {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 2px 5px;
    font-size: 0.77rem;
    white-space: nowrap;
    min-width: 68px;
    box-sizing: border-box;
}
.odd-val-range .odd-min {
    font-weight: 700;
    opacity: 0.85;
}
.odd-val-range .odd-range-sep {
    font-size: 0.65rem;
    opacity: 0.35;
    margin: 0 1px;
}
.odd-val-range .odd-max {
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.odd-val-range .crown-best-icon {
    font-size: 0.65rem;
}
.compact-td-under .odd-val-range .odd-min {
    color: #fca5a5;
}
.compact-td-under .odd-val-range .odd-max {
    color: #f87171;
}
.compact-td-over .odd-val-range .odd-min {
    color: #86efac;
}
.compact-td-over .odd-val-range .odd-max {
    color: #4ade80;
}

/* =========================================================================
   ADVANCED STATISTICAL INDICATORS & MATCH FORM (E / M / S) STYLES
   ========================================================================= */
.adv-fouls-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.adv-lines-container {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 580px;
    overflow-y: auto;
    padding-right: 4px;
}
.adv-lines-container::-webkit-scrollbar {
    width: 5px;
}
.adv-lines-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}
.adv-line-card {
    background: var(--bg-card, var(--bg-surface, rgba(255, 255, 255, 0.025)));
    border: 1px solid var(--card-border, var(--border-color, rgba(255, 255, 255, 0.08)));
    border-radius: 12px;
    padding: 0.9rem 1.1rem;
    transition: all 0.2s ease;
}
.adv-line-card:hover {
    background: var(--bg-surface-hover, rgba(255, 255, 255, 0.04));
    border-color: rgba(249, 115, 22, 0.4);
}
.adv-line-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, 0.06));
}
.adv-triple-windows {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}
.adv-window-col {
    display: flex;
    align-items: center;
    gap: 7px;
    background: var(--bg-surface, rgba(0, 0, 0, 0.35));
    padding: 4px 10px;
    border-radius: 7px;
    border: 1px solid var(--card-border, var(--border-color, rgba(255, 255, 255, 0.06)));
    transition: all 0.2s ease;
}
.adv-window-col.active-window {
    background: rgba(249, 115, 22, 0.18);
    border-color: rgba(249, 115, 22, 0.6);
    box-shadow: 0 0 12px rgba(249, 115, 22, 0.25);
}
.adv-window-col.active-window .adv-window-title {
    color: #f97316;
}
.adv-window-title {
    font-size: 0.72rem;
    font-weight: 900;
    color: var(--primary, #00e5ff);
    text-transform: uppercase;
}
.adv-algo-badges {
    display: flex;
    align-items: center;
    gap: 8px;
}
.adv-algo-tag {
    font-size: 0.76rem;
    font-weight: 800;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    display: inline-flex;
    align-items: center;
}
.adv-algo-tag .algo-lbl {
    color: var(--text-muted);
    margin-right: 2px;
    font-weight: 800;
}
.adv-algo-tag .algo-val.is-o {
    color: #4ade80;
    font-weight: 800;
}
.adv-algo-tag .algo-val.is-u {
    color: #f87171;
    font-weight: 800;
}
.adv-chips-row {
    padding-top: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.adv-chips-summary-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    flex-wrap: wrap;
}
.adv-summary-team {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.adv-summary-sep {
    opacity: 0.3;
    font-size: 0.75rem;
}
.adv-chips-team-name {
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--text-main, #fff);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.adv-chips-split {
    font-size: 0.82rem;
    font-weight: 900;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}
.adv-chips-split .split-val-over,
.adv-chips-split .split-val-under {
    display: inline-block;
    min-width: 32px;
    text-align: center;
}

.adv-chips-seasons-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.adv-season-section {
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    padding: 6px 10px 8px 10px;
    transition: all 0.2s ease;
}
.adv-season-section:hover {
    border-color: rgba(0, 229, 255, 0.25);
    background: rgba(255, 255, 255, 0.03);
}
.adv-season-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.adv-season-badge {
    font-size: 0.64rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 800;
    color: #00e5ff;
    background: rgba(0, 229, 255, 0.08);
    border: 1px solid rgba(0, 229, 255, 0.2);
    border-radius: 4px;
    padding: 1px 6px;
    white-space: nowrap;
    letter-spacing: 0.02em;
}
.adv-season-divider {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 229, 255, 0.15), rgba(255, 255, 255, 0.02));
}
.adv-season-body {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.adv-season-team-row {
    display: grid;
    grid-template-columns: 145px 1fr;
    align-items: center;
    gap: 10px;
}
.adv-season-chips {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
.adv-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 24px;
    padding: 0;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 900;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    text-align: center;
    box-sizing: border-box;
    cursor: pointer;
    text-decoration: none;
    flex-shrink: 0;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.adv-chip.chip-gap-5 {
    margin-right: 10px;
}
.adv-chip:hover {
    transform: scale(1.15);
    z-index: 2;
}
.adv-chip.over {
    background: rgba(74, 222, 128, 0.18);
    color: #4ade80;
    border: 1px solid rgba(74, 222, 128, 0.35);
}
.adv-chip.over:hover {
    background: rgba(74, 222, 128, 0.28);
    box-shadow: 0 0 10px rgba(74, 222, 128, 0.45);
    border-color: #4ade80;
    color: #4ade80;
}
.adv-chip.under {
    background: rgba(248, 113, 113, 0.18);
    color: #f87171;
    border: 1px solid rgba(248, 113, 113, 0.35);
}
.adv-chip.under:hover {
    background: rgba(248, 113, 113, 0.28);
    box-shadow: 0 0 10px rgba(248, 113, 113, 0.45);
    border-color: #f87171;
    color: #f87171;
}

/* =========================================================================
   HEAD-TO-HEAD (H2H) HIGHLIGHTING FOR FORM & ADVANCED LINE CHIPS
   ========================================================================= */
.adv-chip.is-h2h,
.form-chip.is-h2h {
    position: relative;
    border-color: #818cf8 !important;
    box-shadow: 0 0 0 1.5px rgba(129, 140, 248, 0.75), 0 2px 7px rgba(99, 102, 241, 0.35);
}

.adv-chip.is-h2h::after,
.form-chip.is-h2h::after {
    content: 'H2H';
    position: absolute;
    top: -6px;
    right: -6px;
    background: #6366f1;
    color: #ffffff;
    font-size: 0.48rem;
    font-weight: 900;
    line-height: 1;
    padding: 1.5px 3px;
    border-radius: 3px;
    letter-spacing: 0.02em;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
    pointer-events: none;
    z-index: 4;
}

.adv-chip.is-h2h:hover,
.form-chip.is-h2h:hover {
    transform: scale(1.18);
    box-shadow: 0 0 0 2px #818cf8, 0 0 12px rgba(129, 140, 248, 0.6);
    z-index: 5;
}

.small-match-item-wrapper.is-h2h-match {
    border-left: 3px solid #6366f1 !important;
    background: rgba(99, 102, 241, 0.04) !important;
}

.sm-h2h-badge {
    font-size: 0.64rem;
    background: rgba(99, 102, 241, 0.16);
    padding: 2px 5px;
    border-radius: 4px;
    margin-right: 4px;
    color: #818cf8;
    font-weight: 800;
    border: 1px solid rgba(99, 102, 241, 0.38);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    vertical-align: middle;
}


/* =========================================================================
   BASIC MARKETS COMPACT SPLIT STYLES
   ========================================================================= */
.basic-markets-split {
    grid-template-columns: minmax(260px, 285px) 1fr;
    gap: 1.25rem;
}
.basic-stats-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.basic-team-group {
    grid-template-columns: 120px auto 1fr;
    gap: 12px;
}
.basic-team-group .adv-chips-list {
    flex-wrap: nowrap;
}
.basic-odds-table {
    width: 100%;
}
.basic-odds-table .compact-th-line,
.basic-odds-table .compact-td-line {
    text-align: left;
    white-space: nowrap;
}
.basic-odds-table .compact-th-bookie,
.basic-odds-table .compact-td-bookie {
    width: 36px;
    text-align: center;
    padding: 0.3rem 0.2rem;
}
.basic-odds-table .compact-th-odd,
.basic-odds-table .compact-td-odd {
    width: 62px;
    text-align: right;
    white-space: nowrap;
    padding-right: 0.4rem;
}
.basic-bet-text {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-main);
    white-space: nowrap;
}
.basic-stats-card {
    background: var(--bg-card, var(--bg-surface, rgba(0, 0, 0, 0.22)));
    border: 1px solid var(--card-border, var(--border-color));
    border-radius: 12px;
    padding: 1rem 1.25rem;
}
.basic-stats-card-title {
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.form-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 24px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 900;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
    flex-shrink: 0;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.form-chip:hover {
    transform: scale(1.15);
    z-index: 2;
}
.form-chip.win {
    background: rgba(74, 222, 128, 0.18);
    color: #4ade80;
    border: 1px solid rgba(74, 222, 128, 0.35);
}
.form-chip.win:hover {
    background: rgba(74, 222, 128, 0.28);
    box-shadow: 0 0 10px rgba(74, 222, 128, 0.45);
    border-color: #4ade80;
    color: #4ade80;
}
.form-chip.draw {
    background: rgba(251, 191, 36, 0.18);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.35);
}
.form-chip.draw:hover {
    background: rgba(251, 191, 36, 0.28);
    box-shadow: 0 0 10px rgba(251, 191, 36, 0.45);
    border-color: #fbbf24;
    color: #fbbf24;
}
.form-chip.loss {
    background: rgba(248, 113, 113, 0.18);
    color: #f87171;
    border: 1px solid rgba(248, 113, 113, 0.35);
}
.form-chip.loss:hover {
    background: rgba(248, 113, 113, 0.28);
    box-shadow: 0 0 10px rgba(248, 113, 113, 0.45);
    border-color: #f87171;
    color: #f87171;
}
.basic-h2h-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.basic-h2h-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.45rem 0.75rem;
    background: var(--bg-surface-hover, rgba(255, 255, 255, 0.03));
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.06));
    border-radius: 8px;
    font-size: 0.8rem;
    text-decoration: none;
    color: var(--text-main);
    transition: all 0.15s ease;
}
.basic-h2h-item:hover {
    background: var(--bg-surface, rgba(255, 255, 255, 0.07));
    border-color: var(--primary, rgba(255, 255, 255, 0.15));
    transform: translateY(-1px);
}
.basic-h2h-score {
    font-weight: 900;
    font-family: ui-monospace, monospace;
    padding: 2px 8px;
    background: rgba(0, 229, 255, 0.12);
    color: var(--primary);
    border-radius: 6px;
}

/* =========================================================================
   LIGHT THEME OVERRIDES (Terra, Algorithmic, Light)
   ========================================================================= */
[data-theme="terra"] .adv-line-card,
[data-theme="algorithmic"] .adv-line-card,
[data-theme="terra"] .basic-stats-card,
[data-theme="algorithmic"] .basic-stats-card,
[data-theme="terra"] .odds-matrix-card,
[data-theme="algorithmic"] .odds-matrix-card {
    background: var(--bg-card, var(--bg-surface)) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

[data-theme="terra"] .adv-window-col {
    background: #ffffff !important;
    border: 1px solid rgba(136, 114, 109, 0.3) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
[data-theme="algorithmic"] .adv-window-col {
    background: #ffffff !important;
    border: 1px solid rgba(0, 74, 198, 0.2) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="terra"] .adv-window-col.active-window {
    background: rgba(148, 68, 46, 0.14) !important;
    border: 1.5px solid #94442e !important;
    box-shadow: 0 0 10px rgba(148, 68, 46, 0.25) !important;
}
[data-theme="terra"] .adv-window-col.active-window .adv-window-title {
    color: #782e1c !important;
    font-weight: 900 !important;
}

[data-theme="algorithmic"] .adv-window-col.active-window {
    background: rgba(0, 74, 198, 0.12) !important;
    border: 1.5px solid #004ac6 !important;
    box-shadow: 0 0 10px rgba(0, 74, 198, 0.25) !important;
}
[data-theme="algorithmic"] .adv-window-col.active-window .adv-window-title {
    color: #00328a !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .adv-window-title {
    color: #94442e !important;
    font-weight: 900 !important;
}
[data-theme="algorithmic"] .adv-window-title {
    color: #004ac6 !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .adv-algo-tag .algo-lbl,
[data-theme="algorithmic"] .adv-algo-tag .algo-lbl {
    color: #475569 !important;
    font-weight: 800 !important;
}

[data-theme="terra"] .adv-algo-tag .algo-val.is-o,
[data-theme="algorithmic"] .adv-algo-tag .algo-val.is-o {
    color: #15803d !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .adv-algo-tag .algo-val.is-u,
[data-theme="algorithmic"] .adv-algo-tag .algo-val.is-u {
    color: #b91c1c !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .split-val-over,
[data-theme="algorithmic"] .split-val-over {
    color: #15803d !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .split-val-under,
[data-theme="algorithmic"] .split-val-under {
    color: #b91c1c !important;
    font-weight: 900 !important;
}

/* OU Legend in Card Header */
.ou-legend-under { color: #f87171; font-weight: 800; }
.ou-legend-over  { color: #4ade80; font-weight: 800; }
[data-theme="terra"] .ou-legend-under,
[data-theme="algorithmic"] .ou-legend-under {
    color: #b91c1c !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .ou-legend-over,
[data-theme="algorithmic"] .ou-legend-over {
    color: #15803d !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .h2h-legend-badge,
[data-theme="algorithmic"] .h2h-legend-badge {
    background: rgba(99, 102, 241, 0.15) !important;
    color: #4338ca !important;
    border-color: rgba(99, 102, 241, 0.45) !important;
}

/* High-contrast match form chips */
[data-theme="terra"] .adv-chip.over,
[data-theme="algorithmic"] .adv-chip.over,
[data-theme="terra"] .form-chip.win,
[data-theme="algorithmic"] .form-chip.win {
    background: #dcfce7 !important;
    color: #14532d !important;
    border: 1px solid #86efac !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .adv-chip.over:hover,
[data-theme="algorithmic"] .adv-chip.over:hover,
[data-theme="terra"] .form-chip.win:hover,
[data-theme="algorithmic"] .form-chip.win:hover {
    background: #bbf7d0 !important;
    border-color: #22c55e !important;
    color: #14532d !important;
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.45) !important;
}

[data-theme="terra"] .adv-chip.under,
[data-theme="algorithmic"] .adv-chip.under,
[data-theme="terra"] .form-chip.loss,
[data-theme="algorithmic"] .form-chip.loss {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 1px solid #fca5a5 !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .adv-chip.under:hover,
[data-theme="algorithmic"] .adv-chip.under:hover,
[data-theme="terra"] .form-chip.loss:hover,
[data-theme="algorithmic"] .form-chip.loss:hover {
    background: #fecaca !important;
    border-color: #ef4444 !important;
    color: #7f1d1d !important;
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.45) !important;
}

[data-theme="terra"] .form-chip.draw,
[data-theme="algorithmic"] .form-chip.draw {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fcd34d !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .form-chip.draw:hover,
[data-theme="algorithmic"] .form-chip.draw:hover {
    background: #fde68a !important;
    border-color: #f59e0b !important;
    color: #78350f !important;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.35) !important;
}

[data-theme="terra"] .adv-chip.is-h2h,
[data-theme="algorithmic"] .adv-chip.is-h2h,
[data-theme="terra"] .form-chip.is-h2h,
[data-theme="algorithmic"] .form-chip.is-h2h {
    border: 1.5px solid #6366f1 !important;
    box-shadow: 0 0 0 1.5px rgba(99, 102, 241, 0.8), 0 2px 6px rgba(99, 102, 241, 0.3) !important;
}

[data-theme="terra"] .adv-chip.is-h2h::after,
[data-theme="algorithmic"] .adv-chip.is-h2h::after,
[data-theme="terra"] .form-chip.is-h2h::after,
[data-theme="algorithmic"] .form-chip.is-h2h::after {
    background: #4f46e5 !important;
    color: #ffffff !important;
}

[data-theme="terra"] .adv-season-badge {
    color: #782e1c !important;
    background: rgba(148, 68, 46, 0.12) !important;
    border: 1px solid rgba(148, 68, 46, 0.35) !important;
    font-weight: 900 !important;
}

[data-theme="algorithmic"] .adv-season-badge {
    color: #00328a !important;
    background: rgba(0, 74, 198, 0.12) !important;
    border: 1px solid rgba(0, 74, 198, 0.35) !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .adv-season-divider {
    background: linear-gradient(90deg, rgba(148, 68, 46, 0.35), rgba(136, 114, 109, 0.1)) !important;
}

[data-theme="algorithmic"] .adv-season-divider {
    background: linear-gradient(90deg, rgba(0, 74, 198, 0.35), rgba(0, 74, 198, 0.05)) !important;
}

[data-theme="terra"] .adv-season-section {
    background: #ffffff !important;
    border: 1px solid rgba(136, 114, 109, 0.25) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

[data-theme="algorithmic"] .adv-season-section {
    background: #ffffff !important;
    border: 1px solid rgba(0, 74, 198, 0.18) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

[data-theme="terra"] .adv-season-section:hover {
    border-color: rgba(148, 68, 46, 0.45) !important;
    box-shadow: 0 2px 8px rgba(148, 68, 46, 0.1) !important;
}

[data-theme="algorithmic"] .adv-season-section:hover {
    border-color: rgba(0, 74, 198, 0.45) !important;
    box-shadow: 0 2px 8px rgba(0, 74, 198, 0.1) !important;
}

[data-theme="terra"] .adv-chips-team-name,
[data-theme="algorithmic"] .adv-chips-team-name {
    color: #0f172a !important;
    font-weight: 800 !important;
}

[data-theme="terra"] .adv-line-card-header .compact-line-badge {
    background: rgba(148, 68, 46, 0.14) !important;
    color: #782e1c !important;
    border: 1.5px solid #94442e !important;
    font-weight: 900 !important;
}

[data-theme="algorithmic"] .adv-line-card-header .compact-line-badge {
    background: rgba(0, 74, 198, 0.12) !important;
    color: #00328a !important;
    border: 1.5px solid #004ac6 !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .dual-prob-track,
[data-theme="algorithmic"] .dual-prob-track {
    background: #cbd5e1 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

[data-theme="terra"] .dual-bar-fill-under,
[data-theme="algorithmic"] .dual-bar-fill-under {
    background: #ef4444 !important;
}

[data-theme="terra"] .dual-bar-fill-over,
[data-theme="algorithmic"] .dual-bar-fill-over {
    background: #16a34a !important;
}

[data-theme="terra"] .dual-prob-val.val-under,
[data-theme="algorithmic"] .dual-prob-val.val-under {
    color: #991b1b !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .dual-prob-val.val-over,
[data-theme="algorithmic"] .dual-prob-val.val-over {
    color: #14532d !important;
    font-weight: 900 !important;
}

/* High-contrast Odds Matrix for Light/Terra Themes */
[data-theme="terra"] .compact-td-under .odd-val-box.odd-val-range,
[data-theme="algorithmic"] .compact-td-under .odd-val-box.odd-val-range {
    background: #fee2e2 !important;
    border: 1px solid #fca5a5 !important;
}
[data-theme="terra"] .compact-td-under .odd-val-range .odd-min,
[data-theme="algorithmic"] .compact-td-under .odd-val-range .odd-min {
    color: #991b1b !important;
    font-weight: 800 !important;
    opacity: 1 !important;
}
[data-theme="terra"] .compact-td-under .odd-val-range .odd-max,
[data-theme="algorithmic"] .compact-td-under .odd-val-range .odd-max {
    color: #7f1d1d !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .compact-td-under .odd-val-range .odd-range-sep,
[data-theme="algorithmic"] .compact-td-under .odd-val-range .odd-range-sep {
    color: #b91c1c !important;
    opacity: 0.65 !important;
}

[data-theme="terra"] .compact-td-over .odd-val-box.odd-val-range,
[data-theme="algorithmic"] .compact-td-over .odd-val-box.odd-val-range {
    background: #dcfce7 !important;
    border: 1px solid #86efac !important;
}
[data-theme="terra"] .compact-td-over .odd-val-range .odd-min,
[data-theme="algorithmic"] .compact-td-over .odd-val-range .odd-min {
    color: #166534 !important;
    font-weight: 800 !important;
    opacity: 1 !important;
}
[data-theme="terra"] .compact-td-over .odd-val-range .odd-max,
[data-theme="algorithmic"] .compact-td-over .odd-val-range .odd-max {
    color: #14532d !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .compact-td-over .odd-val-range .odd-range-sep,
[data-theme="algorithmic"] .compact-td-over .odd-val-range .odd-range-sep {
    color: #15803d !important;
    opacity: 0.65 !important;
}

[data-theme="terra"] .compact-td-under .odd-val-box:not(.odd-val-range),
[data-theme="algorithmic"] .compact-td-under .odd-val-box:not(.odd-val-range) {
    background: #fee2e2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .compact-td-over .odd-val-box:not(.odd-val-range),
[data-theme="algorithmic"] .compact-td-over .odd-val-box:not(.odd-val-range) {
    background: #dcfce7 !important;
    border: 1px solid #86efac !important;
    color: #166534 !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .compact-td-under .odd-val-box.is-best-odd,
[data-theme="algorithmic"] .compact-td-under .odd-val-box.is-best-odd {
    background: #fecaca !important;
    border: 1.5px solid #ef4444 !important;
    color: #7f1d1d !important;
    box-shadow: 0 0 6px rgba(239, 68, 68, 0.25) !important;
}
[data-theme="terra"] .compact-td-over .odd-val-box.is-best-odd,
[data-theme="algorithmic"] .compact-td-over .odd-val-box.is-best-odd {
    background: #bbf7d0 !important;
    border: 1.5px solid #22c55e !important;
    color: #14532d !important;
    box-shadow: 0 0 6px rgba(34, 197, 94, 0.25) !important;
}

[data-theme="terra"] .crown-best-icon,
[data-theme="algorithmic"] .crown-best-icon {
    color: #d97706 !important;
}


[data-theme="terra"] .basic-h2h-item,
[data-theme="algorithmic"] .basic-h2h-item {
    background: var(--bg-surface) !important;
    border-color: var(--border-color) !important;
}

[data-theme="terra"] .basic-h2h-score {
    background: rgba(148, 68, 46, 0.12) !important;
    color: var(--primary, #94442e) !important;
}

[data-theme="algorithmic"] .basic-h2h-score {
    background: rgba(0, 74, 198, 0.12) !important;
    color: var(--primary, #004ac6) !important;
}

/* =========================================================================
   HIGH-CONTRAST SCOPE TABS, WINDOWS & BUTTONS (Terra & Algorithmic)
   ========================================================================= */
[data-theme="terra"] .goals-scope-nav,
[data-theme="algorithmic"] .goals-scope-nav,
[data-theme="terra"] .metric-window-nav,
[data-theme="algorithmic"] .metric-window-nav {
    background: var(--bg-surface) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
}

[data-theme="terra"] .goals-scope-tab,
[data-theme="algorithmic"] .goals-scope-tab,
[data-theme="terra"] .metric-window-tab,
[data-theme="algorithmic"] .metric-window-tab {
    color: var(--text-main) !important;
    font-weight: 800 !important;
    opacity: 0.8;
}

[data-theme="terra"] .goals-scope-tab:hover,
[data-theme="algorithmic"] .goals-scope-tab:hover,
[data-theme="terra"] .metric-window-tab:hover,
[data-theme="algorithmic"] .metric-window-tab:hover {
    color: var(--text-main) !important;
    opacity: 1;
    background: rgba(0, 0, 0, 0.06) !important;
}

/* Active Scope Tabs */
[data-theme="terra"] .goals-scope-tab.active,
[data-theme="algorithmic"] .goals-scope-tab.active {
    background: rgba(22, 101, 52, 0.16) !important;
    color: #14532d !important;
    border: 1px solid rgba(22, 101, 52, 0.45) !important;
    box-shadow: 0 1px 6px rgba(22, 101, 52, 0.15) !important;
    opacity: 1 !important;
}

[data-theme="terra"] .goals-scope-tab[data-scope="home"].active,
[data-theme="algorithmic"] .goals-scope-tab[data-scope="home"].active {
    background: rgba(15, 118, 110, 0.16) !important;
    color: #115e59 !important;
    border: 1px solid rgba(15, 118, 110, 0.45) !important;
    box-shadow: 0 1px 6px rgba(15, 118, 110, 0.15) !important;
    opacity: 1 !important;
}

[data-theme="terra"] .goals-scope-tab[data-scope="away"].active,
[data-theme="algorithmic"] .goals-scope-tab[data-scope="away"].active {
    background: rgba(3, 105, 161, 0.16) !important;
    color: #075985 !important;
    border: 1px solid rgba(3, 105, 161, 0.45) !important;
    box-shadow: 0 1px 6px rgba(3, 105, 161, 0.15) !important;
    opacity: 1 !important;
}

/* Active L5 / L10 / L20 Tabs */
[data-theme="terra"] .metric-window-tab.active {
    background: rgba(148, 68, 46, 0.18) !important;
    color: #782e1c !important;
    border: 1px solid rgba(148, 68, 46, 0.45) !important;
    box-shadow: 0 1px 6px rgba(148, 68, 46, 0.18) !important;
    opacity: 1 !important;
}

[data-theme="algorithmic"] .metric-window-tab.active {
    background: rgba(0, 74, 198, 0.16) !important;
    color: #00328a !important;
    border: 1px solid rgba(0, 74, 198, 0.45) !important;
    box-shadow: 0 1px 6px rgba(0, 74, 198, 0.18) !important;
    opacity: 1 !important;
}

/* Line Selector Badges */
[data-theme="terra"] .compact-line-badge,
[data-theme="algorithmic"] .compact-line-badge {
    background: var(--bg-surface) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-main) !important;
    font-weight: 900 !important;
}

[data-theme="terra"] .compact-line-btn.active,
[data-theme="terra"] .compact-line-badge.active {
    background: #94442e !important;
    border-color: #782e1c !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(148, 68, 46, 0.4) !important;
}

[data-theme="algorithmic"] .compact-line-btn.active,
[data-theme="algorithmic"] .compact-line-badge.active {
    background: #004ac6 !important;
    border-color: #00328a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 74, 198, 0.4) !important;
}

/* Odds Matrix Table Headers for Light Themes */
[data-theme="terra"] .compact-th-under,
[data-theme="algorithmic"] .compact-th-under {
    color: #b91c1c !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .compact-th-over,
[data-theme="algorithmic"] .compact-th-over {
    color: #15803d !important;
    font-weight: 900 !important;
}

/* Stepper and Meter Contrast for Light Themes */
[data-theme="terra"] .ov-line-selector-widget,
[data-theme="algorithmic"] .ov-line-selector-widget,
[data-theme="terra"] .stat-meter-row,
[data-theme="algorithmic"] .stat-meter-row {
    background: #ffffff !important;
    border: 1px solid rgba(136, 114, 109, 0.25) !important;
}
[data-theme="terra"] .meter-val-a,
[data-theme="algorithmic"] .meter-val-a {
    color: #15803d !important;
    font-weight: 900 !important;
}
[data-theme="terra"] .stat-meter-fill-a,
[data-theme="algorithmic"] .stat-meter-fill-a {
    background: #16a34a !important;
}

/* =========================================================================
   OVERVIEW SUBVIEW MODE SWITCHER (Markets vs Statistics)
   ========================================================================= */
.ov-mode-switcher-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    margin: 0 0 1.5rem 0;
    flex-wrap: wrap;
}
.ov-mode-pill {
    display: inline-flex;
    align-items: center;
    background: var(--bg-card, var(--bg-surface));
    border: 1px solid var(--border-color);
    border-radius: 30px;
    padding: 4px;
    gap: 4px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
.ov-mode-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.5rem 1.5rem;
    border: none;
    border-radius: 24px;
    font-size: 0.85rem;
    font-weight: 800;
    cursor: pointer;
    background: transparent;
    color: var(--text-muted);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.ov-mode-tab:hover {
    color: var(--text-main);
    background: rgba(255, 255, 255, 0.05);
}
.ov-mode-tab.active {
    background: var(--primary) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px var(--primary-glow);
}
[data-theme="terra"] .ov-mode-tab.active,
[data-theme="algorithmic"] .ov-mode-tab.active {
    background: var(--primary) !important;
    color: #ffffff !important;
}

.ov-window-pill {
    display: inline-flex;
    align-items: center;
    background: var(--bg-card, var(--bg-surface));
    border: 1px solid var(--border-color);
    border-radius: 30px;
    padding: 4px 8px;
    gap: 4px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
.ov-window-tab {
    padding: 0.42rem 0.9rem;
    border: 1px solid transparent;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 800;
    font-family: ui-monospace, monospace;
    cursor: pointer;
    background: transparent;
    color: var(--text-muted);
    transition: all 0.2s ease;
}
.ov-window-tab:hover {
    color: var(--text-main);
    background: rgba(255, 255, 255, 0.06);
}
.ov-window-tab.active {
    background: var(--primary);
    color: #ffffff !important;
    border-color: var(--primary);
    box-shadow: 0 2px 10px var(--primary-glow);
}
[data-theme="terra"] .ov-window-tab.active,
[data-theme="algorithmic"] .ov-window-tab.active {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

.stats-history-card-wrap {
    background: var(--bg-card, var(--bg-surface));
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
}

/* Small Match List & Bubbles in Overview */
.stat-bubble.detailed {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    height: 24px;
    padding: 0 4px;
    font-family: ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 800;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    margin-left: auto;
    margin-right: 6px;
    box-sizing: border-box;
}
.stat-bubble.detailed span {
    flex: 1;
    text-align: center;
    padding: 0 4px;
}
.stat-bubble.detailed .b-h {
    color: var(--primary);
}
.stat-bubble.detailed .b-a {
    color: #4ade80;
}
.stat-bubble.detailed .b-all {
    color: #ffffff;
    font-weight: 900;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
}

[data-theme="terra"] .stat-bubble.detailed,
[data-theme="algorithmic"] .stat-bubble.detailed {
    background: var(--bg-surface) !important;
    border-color: var(--border-color) !important;
}
[data-theme="terra"] .stat-bubble.detailed .b-h,
[data-theme="algorithmic"] .stat-bubble.detailed .b-h {
    color: var(--primary, #94442e) !important;
}
[data-theme="terra"] .stat-bubble.detailed .b-a,
[data-theme="algorithmic"] .stat-bubble.detailed .b-a {
    color: #2e7d32 !important;
}
[data-theme="terra"] .stat-bubble.detailed .b-all,
[data-theme="algorithmic"] .stat-bubble.detailed .b-all {
    color: var(--text-main) !important;
    border-left-color: var(--border-color) !important;
    background: rgba(0, 0, 0, 0.04) !important;
}

/* W-D-L Badges in Basic Record Summary */
.rec-badges-group {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.rec-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 0.02em;
}
.rec-badge.rec-w {
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
    border: 1px solid rgba(34, 197, 94, 0.4);
}
.rec-badge.rec-d {
    background: rgba(234, 179, 8, 0.2);
    color: #facc15;
    border: 1px solid rgba(234, 179, 8, 0.4);
}
.rec-badge.rec-l {
    background: rgba(239, 68, 68, 0.2);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.4);
}
.rec-pts {
    color: var(--text-muted);
    font-weight: 700;
    font-size: 0.72rem;
    margin-left: 2px;
}

[data-theme="terra"] .stats-basic-pill,
[data-theme="algorithmic"] .stats-basic-pill {
    background: rgba(99, 102, 241, 0.1) !important;
    border-color: rgba(99, 102, 241, 0.3) !important;
    color: #4338ca !important;
}

/* Light Theme Contrast (Terra & Algorithmic) */
[data-theme="terra"] .rec-badge.rec-w,
[data-theme="algorithmic"] .rec-badge.rec-w {
    background: rgba(34, 197, 94, 0.16) !important;
    color: #15803d !important;
    border-color: rgba(34, 197, 94, 0.45) !important;
}
[data-theme="terra"] .rec-badge.rec-d,
[data-theme="algorithmic"] .rec-badge.rec-d {
    background: rgba(234, 179, 8, 0.18) !important;
    color: #a16207 !important;
    border-color: rgba(234, 179, 8, 0.45) !important;
}
[data-theme="terra"] .rec-badge.rec-l,
[data-theme="algorithmic"] .rec-badge.rec-l {
    background: rgba(239, 68, 68, 0.16) !important;
    color: #b91c1c !important;
    border-color: rgba(239, 68, 68, 0.45) !important;
}
[data-theme="terra"] .rec-pts,
[data-theme="algorithmic"] .rec-pts {
    color: var(--text-muted) !important;
    font-weight: 800 !important;
}

/* =========================================================================
   SMALL MATCH LIST & HISTORY PREVIEWS
   ========================================================================= */
.small-match-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.small-match-item-wrapper {
    display: block;
    border-bottom: 1px solid var(--border-color, rgba(255, 255, 255, 0.05));
    transition: background 0.15s ease;
}
.small-match-item-wrapper:last-child {
    border-bottom: none;
}
.small-match-item-wrapper:hover {
    background: var(--bg-surface-hover, rgba(255, 255, 255, 0.04));
}
.sm-match-link {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 0.75rem 1rem;
}
.sm-match-item {
    display: flex;
    align-items: center;
    width: 100%;
}
.sm-teams-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
}
.sm-meta-col {
    display: flex;
    align-items: center;
    width: 185px;
    flex-shrink: 0;
    gap: 6px;
}
.sm-date {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-family: ui-monospace, monospace;
    width: 65px;
    flex-shrink: 0;
    text-align: center;
}
.sm-indicators {
    display: inline-flex;
    align-items: center;
    width: 32px;
    justify-content: flex-start;
    flex-shrink: 0;
}
.sm-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.sm-league-badge {
    font-size: 0.68rem;
    background: var(--bg-surface, rgba(255, 255, 255, 0.06));
    padding: 2px 6px;
    border-radius: 4px;
    color: var(--text-muted);
    font-weight: 600;
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.1));
    white-space: nowrap;
    max-width: 85px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
}
.sm-team-mini {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}
.sm-team-mini.left {
    justify-content: flex-end;
    text-align: right;
}
.sm-team-mini.right {
    justify-content: flex-start;
    text-align: left;
}
.sm-team-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.84rem;
    font-weight: 700;
    color: var(--text-main);
}
.sm-logo-mini {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain;
    flex-shrink: 0;
}
.sm-logo-placeholder {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-surface);
    border-radius: 4px;
    font-size: 0.65rem;
    color: var(--text-muted);
    flex-shrink: 0;
}
.sm-score-mini {
    font-family: ui-monospace, monospace;
    font-weight: 900;
    padding: 2px 6px;
    border-radius: 4px;
    min-width: 48px;
    text-align: center;
    font-size: 0.85rem;
    flex-shrink: 0;
    background: var(--bg-surface);
    color: var(--text-main);
    border: 1px solid var(--border-color);
}
.refresh-stats-btn {
    cursor: pointer;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--bg-surface);
    color: var(--text-muted);
    transition: all 0.2s ease;
    border: 1px solid var(--border-color);
    flex-shrink: 0;
    font-size: 0.75rem;
}
body:not(.is-admin) .refresh-stats-btn {
    display: none !important;
}
.refresh-stats-btn:hover {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
    transform: rotate(180deg);
}
.season-separator {
    padding: 0.5rem 1rem;
    background: var(--bg-surface);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    font-size: 0.72rem;
    color: var(--primary);
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 6px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

[data-theme="terra"] .sm-match-link:hover,
[data-theme="algorithmic"] .sm-match-link:hover {
    background: rgba(0, 0, 0, 0.03);
}
[data-theme="terra"] .sm-score-mini,
[data-theme="algorithmic"] .sm-score-mini {
    background: var(--bg-surface) !important;
    border-color: var(--border-color) !important;
    color: var(--text-main) !important;
}
[data-theme="terra"] .sm-league-badge,
[data-theme="algorithmic"] .sm-league-badge {
    background: var(--bg-surface) !important;
    border-color: var(--border-color) !important;
    color: var(--text-muted) !important;
}

/* =========================================================================
   FLOATING SCROLLSPY QUICK NAV RAIL
   ========================================================================= */
.ov-quick-spy-rail {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    background: var(--card-bg, rgba(15, 23, 42, 0.85));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.12));
    border-radius: 36px;
    padding: 9px 6px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4), 0 0 1px rgba(255, 255, 255, 0.15) inset;
    transition: all 0.25s ease;
}

.ov-spy-item {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid transparent;
    color: var(--text-muted, #94a3b8);
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
    padding: 0;
}

.ov-spy-item:hover {
    color: var(--cat-accent, var(--primary));
    background: rgba(255, 255, 255, 0.1);
    transform: scale(1.12);
    border-color: var(--cat-accent, var(--primary));
}

.ov-spy-item.active {
    color: #ffffff;
    background: var(--cat-accent, var(--primary));
    border-color: var(--cat-accent, var(--primary));
    box-shadow: 0 0 14px var(--cat-accent, var(--primary)), 0 2px 6px rgba(0, 0, 0, 0.35);
    transform: scale(1.15);
}

/* Floating Tooltip */
.ov-spy-tooltip {
    position: absolute;
    right: calc(100% + 14px);
    top: 50%;
    transform: translateY(-50%) translateX(8px);
    background: var(--bg-surface, #0f172a);
    color: var(--text-main, #ffffff);
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.18));
    border-radius: 8px;
    padding: 5px 11px;
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
    letter-spacing: 0.02em;
}

.ov-spy-tooltip::after {
    content: '';
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent var(--border-color, rgba(255, 255, 255, 0.18));
}

.ov-spy-item:hover .ov-spy-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

/* Light Theme Styling (Terra & Algorithmic) */
[data-theme="terra"] .ov-quick-spy-rail,
[data-theme="algorithmic"] .ov-quick-spy-rail {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: var(--border-color, rgba(0, 0, 0, 0.15)) !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.06) !important;
}

[data-theme="terra"] .ov-spy-item,
[data-theme="algorithmic"] .ov-spy-item {
    color: var(--text-muted) !important;
}

[data-theme="terra"] .ov-spy-item:hover,
[data-theme="algorithmic"] .ov-spy-item:hover {
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--cat-accent) !important;
}

[data-theme="terra"] .ov-spy-item.active,
[data-theme="algorithmic"] .ov-spy-item.active {
    color: #ffffff !important;
    background: var(--cat-accent) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

[data-theme="terra"] .ov-spy-tooltip,
[data-theme="algorithmic"] .ov-spy-tooltip {
    background: #ffffff !important;
    color: var(--text-main) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

[data-theme="terra"] .ov-spy-tooltip::after,
[data-theme="algorithmic"] .ov-spy-tooltip::after {
    border-color: transparent transparent transparent var(--border-color) !important;
}

@media (max-width: 1200px) {
    .ov-quick-spy-rail {
        right: 10px;
        padding: 7px 5px;
    }
    .ov-spy-item {
        width: 34px;
        height: 34px;
        font-size: 0.86rem;
    }
}

@media (max-width: 992px) {
    .ov-quick-spy-rail {
        display: none !important;
    }
}

/* =========================================================================
   FINISHED MATCH RESULTS & STATS CARD
   ========================================================================= */
.ov-finished-results-wrap .results-stats-card {
    background: var(--card-bg, rgba(15, 17, 21, 0.4));
    border: 1px solid var(--border-color, rgba(59, 130, 246, 0.2));
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

[data-theme="terra"] .results-stats-card,
[data-theme="algorithmic"] .results-stats-card {
    background: var(--card-bg, #ffffff) !important;
    border-color: var(--border-color, rgba(0, 0, 0, 0.1)) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="terra"] .results-stats-card .stat-res-input,
[data-theme="algorithmic"] .results-stats-card .stat-res-input {
    background: var(--bg-surface, #f8f9fa) !important;
    border-color: var(--border-color, rgba(0, 0, 0, 0.15)) !important;
    color: var(--text-main, #111827) !important;
}

[data-theme="terra"] .results-stats-card #res_referee,
[data-theme="algorithmic"] .results-stats-card #res_referee {
    background: var(--bg-surface, #f8f9fa) !important;
    border-color: var(--border-color, rgba(0, 0, 0, 0.15)) !important;
    color: var(--text-main, #111827) !important;
}

@media (max-width: 768px) {
    .ov-results-compact-grid {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }
}

/* Match Header Team Logos */
.team-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.team-logo-lg {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    object-fit: contain !important;
    flex-shrink: 0;
}

.team-logo-placeholder-lg {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
}

@media (max-width: 768px) {
    .team-logo-lg, .team-logo-placeholder-lg {
        width: 50px !important;
        height: 50px !important;
        max-width: 50px !important;
        max-height: 50px !important;
    }
}