:root {
    --bg-0: #050705;
    --bg-1: #0a0f0b;
    --bg-2: #101712;
    --bg-3: #141d16;
    --surface: rgba(13, 18, 14, 0.96);
    --surface-2: rgba(18, 24, 19, 0.98);
    --surface-3: rgba(24, 31, 25, 0.98);
    --line: rgba(212, 177, 90, 0.12);
    --line-strong: rgba(212, 177, 90, 0.25);
    --text: #f4f3ea;
    --text-soft: #c7cdc5;
    --text-muted: #94a095;
    --green: #12c06a;
    --green-deep: #0c8b4b;
    --green-glow: rgba(18, 192, 106, 0.22);
    --gold: #d4b15a;
    --gold-soft: #f0d690;
    --gold-glow: rgba(212, 177, 90, 0.2);
    --red: #ef5353;
    --red-deep: #c73f3f;
    --red-glow: rgba(239, 83, 83, 0.2);
    --shadow-xl: 0 34px 90px rgba(0, 0, 0, 0.45);
    --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.32);
    --shadow-md: 0 10px 24px rgba(0, 0, 0, 0.24);
    --radius-xl: 28px;
    --radius-lg: 22px;
    --radius-md: 16px;
    --radius-sm: 12px;
    --content-width: 1140px;
    --font-display: "Aptos Display", "Bahnschrift", "Segoe UI Variable Display", sans-serif;
    --font-body: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif;
}

.football-shell {
    --football-card-gap: 18px;
}

.football-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    flex: 0 0 auto;
    border: 1px solid rgba(18, 192, 106, 0.28);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.16), transparent 45%),
        linear-gradient(180deg, rgba(18, 192, 106, 0.16), rgba(8, 16, 11, 0.98));
    color: var(--gold-soft);
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    overflow: hidden;
    object-fit: cover;
    object-position: 36% 58%;
}

.football-mark-image {
    display: block;
}

.football-file-grid,
.football-admin-metrics,
.football-results-summary,
.football-market-input-grid,
.football-pick-grid,
.football-quality-grid,
.football-projection-grid {
    display: grid;
    gap: var(--football-card-gap);
}

.football-file-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-top: 20px;
}

.football-model-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 20px 0 24px;
}

.football-model-section-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-height: 150px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(10, 14, 11, 0.98));
}

.football-model-section-card strong {
    display: block;
    margin: 8px 0 10px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.12rem;
}

.football-model-section-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.55;
}

.football-model-section-card.is-active {
    border-color: rgba(18, 192, 106, 0.24);
    box-shadow: inset 0 1px 0 rgba(18, 192, 106, 0.08);
}

.football-model-section-card.is-loaded {
    border-color: rgba(18, 192, 106, 0.24);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(10, 14, 11, 0.98));
    box-shadow: inset 0 1px 0 rgba(18, 192, 106, 0.08);
}

.football-model-section-card.is-pending {
    border-color: rgba(212, 177, 90, 0.18);
}

.football-file-chip,
.football-market-input-card,
.football-summary-card,
.football-pick-card,
.football-market-card {
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(10, 14, 11, 0.98));
}

.football-file-chip {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
}

.football-file-chip strong,
.football-static-field,
.football-market-title h3,
.football-odds-block h3,
.football-odds-panel summary,
.football-pick-card h3,
.football-market-card h3 {
    font-family: var(--font-display);
}

.football-file-chip span {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.football-static-field {
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: var(--radius-md);
    background: rgba(212, 177, 90, 0.07);
    color: var(--gold-soft);
    font-weight: 800;
}

.football-setup-shell {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}

.football-setup-main-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.1fr) minmax(220px, 0.75fr);
    gap: 16px;
    align-items: end;
}

.football-browser-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(18, 192, 106, 0.16);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.12), transparent 32%),
        rgba(255, 255, 255, 0.025);
}

.football-browser-header h3 {
    margin: 5px 0 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(1.08rem, 1.65vw, 1.42rem);
}

.football-browser-header p {
    max-width: 540px;
    margin: 8px 0 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.football-date-picker-row {
    display: grid;
    grid-template-columns: minmax(240px, 420px);
    gap: 16px;
}

.football-fixture-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.football-fixture-option {
    width: 100%;
    min-height: 128px;
    display: grid;
    gap: 10px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(7, 10, 8, 0.98));
    color: var(--text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.football-fixture-option:hover,
.football-fixture-option.active {
    border-color: rgba(18, 192, 106, 0.55);
    box-shadow:
        inset 0 1px 0 rgba(18, 192, 106, 0.1),
        0 18px 44px rgba(18, 192, 106, 0.08);
    transform: translateY(-1px);
}

.football-fixture-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.football-fixture-time,
.football-fixture-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    font-family: var(--font-display);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.football-fixture-time {
    color: var(--gold-soft);
    background: rgba(212, 177, 90, 0.12);
    border: 1px solid rgba(212, 177, 90, 0.22);
}

.football-fixture-pill {
    color: var(--mint);
    background: rgba(18, 192, 106, 0.12);
    border: 1px solid rgba(18, 192, 106, 0.2);
}

.football-fixture-teams {
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 1.8vw, 1.65rem);
    line-height: 1.1;
}

.football-fixture-meta-line {
    color: var(--text-muted);
    line-height: 1.35;
}

.football-empty-note,
.football-manual-panel p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.football-manual-panel {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(212, 177, 90, 0.15);
    border-radius: var(--radius-lg);
    background: rgba(212, 177, 90, 0.05);
}

.football-match-pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 16px;
    align-items: end;
    margin-top: 18px;
}

.football-vs-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    min-height: 56px;
    padding: 0 16px;
    border: 1px solid rgba(212, 177, 90, 0.25);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft);
    font-family: var(--font-display);
    font-weight: 900;
    letter-spacing: 0.1em;
}

.worldcup-setup-panel {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.worldcup-setup-panel[hidden],
.football-club-panel[hidden],
.football-manual-panel[hidden] {
    display: none;
}

.worldcup-picker-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(18, 192, 106, 0.15);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.1), transparent 34%),
        rgba(255, 255, 255, 0.025);
}

.worldcup-picker-header h3 {
    margin: 4px 0 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
}

.worldcup-picker-header p {
    max-width: 360px;
    margin: 0;
    color: var(--text-muted);
    line-height: 1.4;
    text-align: right;
}

.worldcup-controls-grid {
    display: grid;
    grid-template-columns: minmax(190px, 0.85fr) minmax(260px, 1.35fr) minmax(190px, 0.9fr);
    gap: 16px;
    align-items: end;
}

.worldcup-fixture-card {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(18, 192, 106, 0.2);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.12), transparent 32%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(10, 14, 11, 0.98));
    box-shadow: inset 0 1px 0 rgba(18, 192, 106, 0.08);
}

.worldcup-fixture-card h3 {
    margin: 8px 0 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.1vw, 2.2rem);
    line-height: 1.1;
}

.worldcup-fixture-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.worldcup-fixture-meta > span {
    display: grid;
    gap: 5px;
    min-height: 74px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-soft);
    line-height: 1.25;
}

.worldcup-fixture-meta strong {
    color: var(--gold-soft);
    font-family: var(--font-display);
    font-size: 0.74rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.football-market-input-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}

.football-market-input-card {
    display: grid;
    gap: 16px;
    padding: 18px;
}

.football-market-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.football-market-title > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(212, 177, 90, 0.24);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
    font-family: var(--font-display);
    font-weight: 900;
}

.football-market-title h3 {
    margin: 0 0 6px;
    font-size: 1.02rem;
}

.football-market-title p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.45;
}

.football-choice-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.football-choice-row.compact {
    flex-wrap: wrap;
}

.football-choice-pill {
    position: relative;
    display: inline-flex;
    cursor: pointer;
}

.football-choice-pill input {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.football-choice-pill span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--text-soft);
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.football-choice-pill input:checked + span {
    border-color: rgba(18, 192, 106, 0.32);
    background: rgba(18, 192, 106, 0.15);
    color: #b9f6d2;
    box-shadow: 0 0 0 1px rgba(18, 192, 106, 0.08);
}

.football-direction-pill.direction-over span {
    border-color: rgba(18, 192, 106, 0.18);
    color: #c8f8dc;
}

.football-direction-pill.direction-over input:checked + span {
    border-color: rgba(18, 192, 106, 0.38);
    background: rgba(18, 192, 106, 0.18);
    color: #b9f6d2;
    box-shadow: 0 0 0 1px rgba(18, 192, 106, 0.12), 0 0 20px rgba(18, 192, 106, 0.12);
}

.football-direction-pill.direction-under span {
    border-color: rgba(239, 83, 83, 0.2);
    color: #ffc0c0;
}

.football-direction-pill.direction-under input:checked + span {
    border-color: rgba(239, 83, 83, 0.42);
    background: rgba(239, 83, 83, 0.16);
    color: #ffb1b1;
    box-shadow: 0 0 0 1px rgba(239, 83, 83, 0.12), 0 0 20px rgba(239, 83, 83, 0.12);
}

.football-line-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.football-line-row.team-total {
    grid-template-columns: minmax(130px, 0.75fr) minmax(0, 1fr) auto;
}

.football-market-workspace {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.football-market-guide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 38%),
        rgba(212, 177, 90, 0.055);
}

.football-market-guide p {
    max-width: 780px;
    margin: 0;
    color: var(--text-soft);
    line-height: 1.45;
}

.football-market-groups {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 16px;
}

.football-market-control-card {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 18px;
    border: 1px solid rgba(18, 192, 106, 0.17);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.1), transparent 32%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(10, 14, 11, 0.98));
    box-shadow: inset 0 1px 0 rgba(18, 192, 106, 0.08);
}

.football-market-control-card.compact-card {
    grid-column: 1 / -1;
}

.football-market-control-header {
    display: grid;
    gap: 6px;
}

.football-market-control-header h3 {
    margin: 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.2rem;
}

.football-market-control-header p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.45;
}

.football-market-control-list {
    display: grid;
    gap: 12px;
}

.football-market-row {
    display: grid;
    grid-template-columns: minmax(116px, 0.34fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 76px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.football-market-row.line-control {
    grid-template-columns: minmax(94px, 0.3fr) minmax(0, 1fr);
}

.football-market-row.single-line {
    display: block;
}

.football-market-row-copy {
    display: grid;
    gap: 4px;
}

.football-market-row-copy strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 0.98rem;
}

.football-market-row-copy small {
    color: var(--text-muted);
    line-height: 1.35;
}

.football-market-row .football-choice-row {
    justify-content: flex-start;
}

.football-market-row .football-line-row {
    width: 100%;
}

.football-line-row .text-input,
.football-line-row .select-input {
    min-width: 0;
}

.football-profile-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 16px;
    background: rgba(212, 177, 90, 0.06);
}

.football-profile-note strong {
    color: var(--gold-soft);
    font-family: var(--font-display);
}

.football-profile-note span {
    color: var(--text-muted);
    line-height: 1.45;
}

.football-odds-block {
    display: grid;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.025);
}

.football-odds-block h3 {
    margin: 0;
    font-size: 1rem;
}

.football-odds-panel {
    margin-top: 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.025);
    overflow: hidden;
}

.football-odds-panel summary,
.football-advanced-card summary {
    cursor: pointer;
    padding: 16px 18px;
    color: var(--gold-soft);
    font-weight: 900;
}

.football-odds-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 0 18px 18px;
}

.football-odds-grid.dense {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.football-results-summary {
    grid-template-columns: 1.05fr 1fr 1fr;
}

.football-summary-card {
    padding: 22px;
}

.football-scoreline {
    margin: 14px 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
}

.football-projection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.football-projection-grid span,
.football-data-quality-list span,
.football-admin-list span,
.football-advanced-grid span {
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-muted);
    line-height: 1.35;
}

.football-projection-grid strong,
.football-data-quality-list strong,
.football-admin-list strong,
.football-advanced-grid strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1rem;
}

.football-pick-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    margin-top: 18px;
}

.football-pick-card {
    display: grid;
    gap: 14px;
    padding: 20px;
    border-color: rgba(18, 192, 106, 0.18);
}

.football-pick-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.football-pick-card.lean {
    border-color: rgba(212, 177, 90, 0.18);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(10, 14, 11, 0.98));
}

.football-pick-card h3,
.football-market-card h3 {
    margin: 0;
    font-size: 1.1rem;
}

.football-pick-meta,
.football-market-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.football-pick-meta span,
.football-market-meta span {
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.football-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.football-tab-button {
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--text-soft);
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 10px 14px;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.football-tab-button.active {
    border-color: rgba(18, 192, 106, 0.26);
    background: rgba(18, 192, 106, 0.14);
    color: #b9f6d2;
}

.football-market-panel {
    display: none;
}

.football-market-panel.active {
    display: block;
}

.football-market-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.football-market-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 18px;
}

.football-market-card p {
    margin: 8px 0 0;
    color: var(--text-muted);
}

.football-market-meta {
    grid-column: 1 / -1;
}

.football-quality-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.football-clean-list {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.football-clean-list li {
    padding: 12px 14px;
    border: 1px solid rgba(212, 177, 90, 0.12);
    border-radius: 14px;
    background: rgba(212, 177, 90, 0.06);
    color: var(--text-soft);
}

.football-data-quality-list,
.football-admin-list,
.football-advanced-grid {
    display: grid;
    gap: 10px;
}

.football-data-quality-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 16px 0;
}

.football-advanced-card {
    padding: 0;
}

.football-advanced-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 26px 26px;
}

.football-admin-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 22px;
}

.admin-football-sync-form {
    align-items: end;
}

.admin-inline-settle-form {
    display: grid;
    grid-template-columns: repeat(5, minmax(62px, 1fr)) auto auto;
    gap: 8px;
    align-items: center;
    min-width: 620px;
}

@media (max-width: 980px) {
    .football-results-summary,
    .football-quality-grid,
    .football-admin-metrics,
    .football-market-grid,
    .football-advanced-grid,
    .football-market-input-grid,
    .football-market-groups,
    .football-odds-grid,
    .football-odds-grid.dense,
    .football-setup-main-grid,
    .football-fixture-list,
    .worldcup-controls-grid,
    .worldcup-fixture-card,
    .worldcup-fixture-meta {
        grid-template-columns: 1fr;
    }

    .football-match-pair {
        grid-template-columns: 1fr;
    }

    .football-vs-pill {
        justify-self: start;
    }

    .worldcup-picker-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .worldcup-picker-header p {
        text-align: left;
    }

    .football-browser-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .football-date-picker-row {
        grid-template-columns: 1fr;
    }

    .football-line-row,
    .football-line-row.team-total,
    .football-market-row,
    .football-market-row.line-control,
    .football-profile-note {
        grid-template-columns: 1fr;
    }

    .football-market-guide {
        align-items: flex-start;
        flex-direction: column;
    }

    .football-choice-row.compact {
        flex-wrap: wrap;
    }
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    position: relative;
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    font-family: var(--font-body);
    color: var(--text);
    background:
        radial-gradient(circle at 12% 12%, rgba(18, 192, 106, 0.18), transparent 24%),
        radial-gradient(circle at 85% 10%, rgba(212, 177, 90, 0.16), transparent 20%),
        radial-gradient(circle at 50% 100%, rgba(18, 192, 106, 0.08), transparent 35%),
        linear-gradient(180deg, #020302 0%, #070a08 42%, #090d0a 100%);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 70%);
    opacity: 0.32;
}

body.loading-state {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

.page-shell {
    position: relative;
    width: min(100% - 36px, var(--content-width));
    margin: 0 auto;
    padding: 36px 0 68px;
    animation: page-enter 0.45s ease;
}

.hero-card,
.game-card,
.input-card,
.results-card,
.alert-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, var(--surface-2), var(--surface));
    box-shadow: var(--shadow-lg);
}

.hero-card::before,
.game-card::before,
.input-card::before,
.results-card::before,
.alert-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 42%);
}

.hero-card {
    padding: 34px;
    margin-bottom: 26px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 22%),
        radial-gradient(circle at left top, rgba(18, 192, 106, 0.08), transparent 25%),
        linear-gradient(180deg, #101611 0%, #0a0f0c 100%);
    box-shadow: var(--shadow-xl);
}

.hero-card.compact {
    padding: 28px;
}

.hero-brand {
    display: flex;
    align-items: center;
    gap: 18px;
}

.league-mark {
    width: 88px;
    height: 46px;
    flex: 0 0 auto;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.28));
}

.eyebrow {
    margin: 0 0 10px;
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.76rem;
    font-weight: 800;
}

h1,
h2 {
    margin: 0;
    font-family: var(--font-display);
    letter-spacing: -0.02em;
}

h1 {
    max-width: 860px;
    font-size: clamp(2.15rem, 4vw, 3.45rem);
    line-height: 1.02;
    color: var(--text);
}

h2 {
    font-size: 1.18rem;
    line-height: 1.2;
    color: var(--text);
}

.hero-copy,
.subtle-text,
.section-heading p,
.selection-summary,
.pitcher-label,
.field-label,
.secondary-link,
.club-meta,
.pitcher-meta,
.pitcher-inline-stats,
.trend-text {
    color: var(--text-muted);
}

.hero-copy {
    max-width: 760px;
    margin: 16px 0 0;
    font-size: 1.02rem;
    line-height: 1.72;
}

.compact-copy {
    max-width: 680px;
    margin-top: 10px;
    font-size: 0.96rem;
    line-height: 1.6;
}

.header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.secondary-link {
    font-weight: 700;
    transition: color 0.18s ease;
}

.secondary-link:hover {
    color: var(--gold-soft);
}

.hero-actions {
    margin-top: 16px;
}

.subtle-text {
    display: inline-flex;
    align-items: center;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 22px;
}

.mlb-board-section {
    display: grid;
    gap: 18px;
}

.mlb-board-section + .mlb-board-section {
    margin-top: 30px;
}

.mlb-board-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 24px;
    background:
        radial-gradient(circle at top left, rgba(18, 192, 106, 0.14), transparent 42%),
        linear-gradient(135deg, rgba(18, 24, 18, 0.95), rgba(12, 14, 10, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.mlb-board-section-head h2 {
    margin-bottom: 8px;
}

.mlb-board-section-head p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.game-card {
    display: block;
    padding: 24px;
    background:
        linear-gradient(180deg, rgba(17, 23, 18, 0.98), rgba(10, 14, 11, 0.98));
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    animation: float-up 0.5s ease both;
}

.game-card:nth-child(2) {
    animation-delay: 0.05s;
}

.game-card:nth-child(3) {
    animation-delay: 0.1s;
}

.game-card:hover {
    transform: translateY(-6px);
    border-color: rgba(18, 192, 106, 0.26);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.36);
}

.card-topline,
.mini-stats,
.action-row,
.choice-grid,
.segmented-control,
.pitcher-inline-stats,
.pitcher-meta-row {
    display: flex;
    gap: 12px;
}

.card-topline,
.mini-stats,
.action-row {
    justify-content: space-between;
}

.card-topline {
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.board-time-stack {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.date-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid rgba(212, 177, 90, 0.18);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.time-pill {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid rgba(212, 177, 90, 0.18);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft);
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.trend-text {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    text-align: right;
}

.matchup-board {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.06), transparent 26%),
        linear-gradient(180deg, rgba(10, 15, 11, 0.8), rgba(6, 9, 7, 0.86));
}

.team-compare {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.team-summary {
    display: grid;
    justify-items: center;
    gap: 10px;
    min-width: 0;
    padding: 16px 14px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    background:
        linear-gradient(180deg, rgba(24, 32, 25, 0.92), rgba(14, 19, 15, 0.92));
    text-align: center;
}

.club-logo {
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    object-fit: contain;
    filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.26));
}

.club-meta {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.club-name {
    font-size: 1rem;
    line-height: 1.22;
    text-wrap: balance;
}

.record-inline {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.record-wins {
    color: var(--green);
}

.record-losses {
    color: var(--red);
}

.record-divider {
    color: var(--text-muted);
}

.summary-record {
    display: grid;
    gap: 6px;
    justify-items: center;
}

.summary-label {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.pitcher-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.starter-card {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 15px 14px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.025);
}

.pitcher-caption {
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.starter-card strong {
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.35;
    text-wrap: balance;
}

.pitcher-inline-stats {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pitcher-era-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.12);
    color: var(--gold-soft);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.versus-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid rgba(212, 177, 90, 0.18);
    border-radius: 999px;
    background: linear-gradient(180deg, #171d17 0%, #0a0d0a 100%);
    color: var(--gold-soft);
    font-family: var(--font-display);
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    box-shadow: var(--shadow-md);
}

.cta-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: calc(100% - 12px);
    margin: 2px auto 0;
    padding: 13px 18px;
    border: 1px solid rgba(18, 192, 106, 0.24);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(18, 192, 106, 0.16), rgba(18, 192, 106, 0.08));
    color: #ddf8e9;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.cta-link:hover {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.34);
    background: linear-gradient(135deg, rgba(18, 192, 106, 0.24), rgba(18, 192, 106, 0.12));
    box-shadow: 0 14px 28px rgba(18, 192, 106, 0.16);
}

.cta-link::after {
    content: "";
    transition: transform 0.18s ease;
}

.form-stack {
    display: grid;
    gap: 20px;
}

.input-card,
.results-card,
.alert-card {
    padding: 26px;
    background:
        linear-gradient(180deg, rgba(17, 23, 18, 0.98), rgba(11, 15, 12, 0.98));
    animation: float-up 0.45s ease both;
}

.section-heading {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.section-heading p {
    margin: 8px 0 0;
    line-height: 1.58;
    max-width: 620px;
}

.section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border: 1px solid rgba(212, 177, 90, 0.22);
    border-radius: 14px;
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft);
    font-weight: 800;
}

.choice-grid.two-up {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.team-button,
.primary-button,
.secondary-button {
    border-radius: var(--radius-md);
    font-family: var(--font-display);
}

.team-button {
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(24, 32, 25, 0.98), rgba(14, 19, 15, 0.98));
    color: var(--text);
    font-size: 1rem;
    font-weight: 700;
    padding: 18px 20px;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.team-button:hover {
    transform: translateY(-2px);
    border-color: rgba(18, 192, 106, 0.24);
    box-shadow: 0 0 0 1px rgba(18, 192, 106, 0.1), 0 16px 30px rgba(0, 0, 0, 0.22);
}

.team-button.active {
    border-color: rgba(18, 192, 106, 0.45);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.16), transparent 28%),
        linear-gradient(180deg, rgba(17, 32, 22, 0.98), rgba(10, 17, 12, 0.98));
    box-shadow: 0 0 0 1px rgba(18, 192, 106, 0.16), 0 18px 32px rgba(0, 0, 0, 0.28);
}

.team-button.active::after {
    content: "";
    position: absolute;
    inset: auto 16px 0 16px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--green), var(--gold));
}

.team-button-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.team-button-logo {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.selection-summary {
    margin: 18px 0 0;
    font-size: 0.98rem;
}

.selection-summary strong {
    color: var(--gold-soft);
}

.helper-note {
    margin: 10px 0 0;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.field-label {
    display: block;
    margin-bottom: 10px;
    font-size: 0.92rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.optional-label {
    color: var(--text-muted);
    font-size: 0.78em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: none;
}

.text-input {
    width: 100%;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text);
    font: inherit;
    font-size: 1rem;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.text-input::placeholder {
    color: var(--text-muted);
}

.text-input:focus {
    outline: none;
    border-color: rgba(18, 192, 106, 0.32);
    box-shadow: 0 0 0 5px rgba(18, 192, 106, 0.12);
    background: rgba(255, 255, 255, 0.06);
}

.segmented-control {
    flex-wrap: wrap;
    margin-top: 16px;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    width: fit-content;
}

.segment {
    position: relative;
    cursor: pointer;
}

.segment input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.segment span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 114px;
    padding: 13px 18px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--text-soft);
    font-weight: 800;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.segment-over input:checked + span {
    background: linear-gradient(135deg, var(--green) 0%, #17dd7a 100%);
    color: #031008;
    box-shadow: 0 12px 26px var(--green-glow);
}

.segment-under input:checked + span {
    background: linear-gradient(135deg, var(--red) 0%, #ff6a6a 100%);
    color: #170404;
    box-shadow: 0 12px 26px var(--red-glow);
}

.segment input:not(:checked) + span:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.04);
}

.pitcher-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 30%),
        radial-gradient(circle at left top, rgba(212, 177, 90, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(20, 27, 21, 0.98), rgba(12, 16, 13, 0.98));
}

.pitcher-card strong {
    font-family: var(--font-display);
    font-size: 1.08rem;
}

.pitcher-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.pitcher-meta-row {
    align-items: center;
    flex-wrap: wrap;
}

.primary-button,
.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 16px 24px;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.primary-button:hover,
.secondary-button:hover {
    transform: translateY(-2px);
}

.primary-button {
    background: linear-gradient(135deg, var(--green) 0%, #18db79 100%);
    color: #041109;
    min-width: 196px;
    box-shadow: 0 18px 36px rgba(18, 192, 106, 0.25);
}

.secondary-button {
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-soft) 100%);
    color: #17120a;
    box-shadow: 0 14px 28px rgba(212, 177, 90, 0.2);
}

.primary-button:disabled,
.secondary-button:disabled,
.disabled-button {
    cursor: not-allowed;
    opacity: 0.56;
    filter: grayscale(0.35);
    box-shadow: none;
}

.primary-button:disabled:hover,
.secondary-button:disabled:hover,
.disabled-button:hover {
    transform: none;
}

.danger-button {
    border: 1px solid rgba(239, 83, 83, 0.28);
    background: linear-gradient(135deg, rgba(74, 29, 29, 0.98), rgba(44, 18, 18, 0.98));
    color: #ffb1b1;
    box-shadow: 0 14px 28px rgba(239, 83, 83, 0.12);
}

.action-row {
    align-items: center;
    flex-wrap: wrap;
}

.action-row.split {
    margin-top: 26px;
}

.alert-card {
    border-color: rgba(239, 83, 83, 0.18);
    background:
        radial-gradient(circle at top right, rgba(239, 83, 83, 0.1), transparent 24%),
        linear-gradient(180deg, rgba(34, 17, 17, 0.98), rgba(20, 11, 11, 0.98));
}

.alert-card h2 {
    color: #ff8a8a;
    margin-bottom: 12px;
}

.error-list {
    margin: 0;
    padding-left: 20px;
    color: #ffb1b1;
    line-height: 1.6;
}

.results-card h2 {
    margin-bottom: 4px;
}

.data-status-card {
    display: grid;
    gap: 20px;
}

.data-status-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.status-summary {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.status-count,
.status-source {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.status-count-loaded {
    border: 1px solid rgba(18, 192, 106, 0.22);
    background: rgba(18, 192, 106, 0.12);
    color: #7ef0b0;
}

.status-count-pending {
    border: 1px solid rgba(212, 177, 90, 0.22);
    background: rgba(212, 177, 90, 0.12);
    color: var(--gold-soft);
}

.status-source {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-soft);
}

.status-source.live {
    border-color: rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.08);
    color: #c8f8dc;
}

.status-source.complete {
    border-color: rgba(18, 192, 106, 0.35);
    background: linear-gradient(135deg, rgba(18, 192, 106, 0.24), rgba(18, 192, 106, 0.12));
    color: #deffeb;
    box-shadow: 0 0 0 1px rgba(18, 192, 106, 0.16), 0 0 24px rgba(18, 192, 106, 0.22);
}

.coverage-bar-card {
    display: grid;
    gap: 10px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(20, 27, 21, 0.88), rgba(10, 14, 11, 0.9));
}

.coverage-bar-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--text-soft);
    font-size: 0.88rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.coverage-bar-track {
    position: relative;
    height: 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
}

.coverage-bar-fill {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #ba8f38 0%, var(--gold) 22%, #7ac95d 55%, var(--green) 100%);
    box-shadow: 0 0 18px rgba(212, 177, 90, 0.18);
}

.coverage-bar-fill.complete {
    background: linear-gradient(90deg, #57d98e 0%, #1fe47d 40%, #12c06a 100%);
    box-shadow: 0 0 24px rgba(18, 192, 106, 0.28);
}

.status-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.status-mini-card {
    display: grid;
    gap: 6px;
    justify-items: start;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(20, 27, 21, 0.88), rgba(10, 14, 11, 0.9));
}

.status-mini-card.ready {
    border-color: rgba(18, 192, 106, 0.16);
}

.status-mini-card.partial {
    border-color: rgba(212, 177, 90, 0.16);
}

.status-mini-card.pending {
    border-color: rgba(239, 83, 83, 0.14);
}

.status-mini-value {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.status-mini-card.ready .status-mini-value {
    color: #89f2b7;
}

.status-mini-card.partial .status-mini-value {
    color: var(--gold-soft);
}

.status-mini-card.pending .status-mini-value {
    color: #ff9a9a;
}

.status-mini-label {
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.module-tile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(20, 27, 21, 0.88), rgba(10, 14, 11, 0.9));
}

.module-tile.ready {
    border-color: rgba(18, 192, 106, 0.16);
}

.module-tile.partial {
    border-color: rgba(212, 177, 90, 0.16);
}

.module-tile.pending {
    border-color: rgba(239, 83, 83, 0.14);
}

.module-copy {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.module-label {
    color: var(--text);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.25;
}

.module-description {
    color: var(--text-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.module-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.module-tile.ready .module-state {
    border: 1px solid rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.12);
    color: #bdf7d5;
}

.module-tile.partial .module-state {
    border: 1px solid rgba(212, 177, 90, 0.18);
    background: rgba(212, 177, 90, 0.1);
    color: #f0d690;
}

.module-tile.pending .module-state {
    border: 1px solid rgba(239, 83, 83, 0.16);
    background: rgba(239, 83, 83, 0.09);
    color: #ffaaaa;
}

.status-footnote {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.6;
}

.coverage-warning {
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border: 1px solid rgba(212, 177, 90, 0.22);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(31, 25, 15, 0.96), rgba(16, 13, 9, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.coverage-warning strong {
    color: var(--gold-soft);
    font-family: var(--font-display);
    font-size: 1rem;
    letter-spacing: -0.01em;
}

.coverage-warning p {
    margin: 0;
    color: #ddd4bd;
    line-height: 1.65;
}

.loading-overlay {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(3, 5, 4, 0.74);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
    z-index: 9999;
}

.loading-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

.loading-panel {
    display: grid;
    justify-items: center;
    gap: 12px;
    width: min(100%, 360px);
    padding: 28px 26px;
    border: 1px solid rgba(18, 192, 106, 0.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(18, 24, 19, 0.98), rgba(9, 13, 10, 0.98));
    box-shadow: 0 26px 54px rgba(0, 0, 0, 0.34);
    text-align: center;
}

.loading-panel strong {
    font-family: var(--font-display);
    font-size: 1.18rem;
    letter-spacing: -0.02em;
}

.loading-panel p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.loading-spinner {
    width: 46px;
    height: 46px;
    border: 3px solid rgba(212, 177, 90, 0.18);
    border-top-color: var(--green);
    border-right-color: var(--gold);
    border-radius: 50%;
    box-shadow: 0 0 24px rgba(18, 192, 106, 0.16);
    animation: spin 0.9s linear infinite;
}

.results-list {
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
    display: grid;
    gap: 14px;
}

.result-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px 18px 24px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(22, 30, 23, 0.98), rgba(11, 15, 12, 0.98));
    box-shadow: var(--shadow-md);
}

.result-item::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 12px;
    bottom: 12px;
    width: 4px;
    border-radius: 999px;
}

.result-item.prob-low::before {
    background: linear-gradient(180deg, var(--red), #ff8f8f);
}

.result-item.prob-mid::before {
    background: linear-gradient(180deg, #d68f2d, #f2c05e);
}

.result-item.prob-good::before {
    background: linear-gradient(180deg, #8bcf68, #c8f08d);
}

.result-item.prob-high::before {
    background: linear-gradient(180deg, var(--green), #43ef96);
}

.result-copy {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.result-source {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.result-source.selected {
    border: 1px solid rgba(212, 177, 90, 0.2);
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
}

.result-source.recommended {
    border: 1px solid rgba(18, 192, 106, 0.2);
    background: rgba(18, 192, 106, 0.12);
    color: #aef3cb;
}

.result-source.neutral {
    border: 1px solid rgba(212, 177, 90, 0.16);
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft);
}

.result-label {
    color: var(--text);
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.45;
}

.result-message {
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.result-message.warning {
    color: #f6c970;
}

.value-status {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    padding: 8px 11px;
    border: 1px solid rgba(18, 192, 106, 0.16);
    border-radius: 999px;
    background: rgba(18, 192, 106, 0.08);
    color: #b9f6d2;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.35;
}

.result-probability {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 56px;
    padding: 10px 16px;
    border-radius: 16px;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.result-probability.prob-low {
    border: 1px solid rgba(239, 83, 83, 0.22);
    background: rgba(239, 83, 83, 0.14);
    color: #ff8d8d;
}

.result-probability.prob-mid {
    border: 1px solid rgba(214, 143, 45, 0.24);
    background: rgba(214, 143, 45, 0.14);
    color: #f6c970;
}

.result-probability.prob-good {
    border: 1px solid rgba(139, 207, 104, 0.24);
    background: rgba(139, 207, 104, 0.14);
    color: #c8f08d;
}

.result-probability.prob-high {
    border: 1px solid rgba(18, 192, 106, 0.22);
    background: rgba(18, 192, 106, 0.16);
    color: #7ef0b0;
}

.result-item.prob-none::before {
    background: linear-gradient(180deg, rgba(212, 177, 90, 0.6), rgba(255, 255, 255, 0.08));
}

.result-probability-empty {
    border: 1px solid rgba(212, 177, 90, 0.18);
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft);
    min-width: 116px;
}

.site-topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(4, 7, 5, 0.82);
    backdrop-filter: blur(18px);
}

.topbar-shell {
    width: min(100% - 36px, 1280px);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 22px;
    min-height: 88px;
    padding: 16px 0;
}

.site-footer {
    margin-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    background: linear-gradient(180deg, rgba(6, 9, 7, 0.92), rgba(3, 5, 4, 0.98));
}

.footer-shell {
    width: min(100% - 36px, 1280px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr) auto;
    gap: 20px;
    padding: 22px 0 28px;
    align-items: start;
}

.footer-brand-block,
.footer-link-block,
.footer-meta {
    display: grid;
    gap: 8px;
}

.footer-brand {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 800;
}

.footer-heading {
    color: var(--gold);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.footer-note,
.footer-meta {
    color: var(--text-muted);
    font-size: 0.85rem;
    line-height: 1.6;
}

.footer-note {
    margin: 0;
}

.footer-note-strong {
    color: var(--text-soft);
}

.footer-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.footer-link {
    color: var(--text-soft);
    font-size: 0.9rem;
    font-weight: 700;
    transition: color 0.18s ease;
}

.footer-link:hover {
    color: var(--gold-soft);
}

.footer-education-block,
.footer-article-block,
.footer-social-block {
    display: grid;
    gap: 8px;
    margin-top: 10px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer-social-link-row {
    gap: 8px;
}

.social-link-pill.footer-social-link-pill {
    min-height: 32px;
    padding: 0 12px;
    font-size: 0.78rem;
}

.footer-meta {
    justify-items: end;
    text-align: right;
}

.flash-shell {
    width: min(100% - 36px, var(--content-width));
    margin: 0 auto;
}

.cookie-banner {
    display: none;
}

.cookie-banner.active {
    display: block;
}

.site-notice-shell {
    width: min(100% - 36px, var(--content-width));
    margin: 16px auto 0;
}

.site-notice-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 14px 18px;
    border: 1px solid rgba(212, 177, 90, 0.16);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.08), transparent 26%),
        linear-gradient(180deg, rgba(15, 18, 14, 0.96), rgba(9, 12, 10, 0.96));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
}

.site-notice-copy {
    display: grid;
    gap: 6px;
}

.site-notice-label {
    color: var(--gold-soft);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.site-notice-copy p {
    margin: 0;
    color: var(--text-soft);
    font-size: 0.92rem;
    line-height: 1.55;
}

.site-notice-copy a {
    color: var(--gold-soft);
    font-weight: 700;
}

.site-notice-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.site-notice-button {
    appearance: none;
    border: 1px solid rgba(212, 177, 90, 0.24);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.12);
    color: var(--gold-bright);
    padding: 10px 16px;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.site-notice-button:hover {
    transform: translateY(-1px);
    border-color: rgba(212, 177, 90, 0.36);
    background: rgba(212, 177, 90, 0.18);
}

.site-brand,
.brand-lockup,
.site-nav,
.topbar-actions,
.feature-pill-row,
.summary-strip,
.sport-card-top,
.sport-actions,
.dashboard-hero-row,
.dashboard-badge-stack {
    display: flex;
    gap: 14px;
}

.site-brand {
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
    gap: 14px;
    max-width: 274px;
}

.site-logo {
    width: 48px;
    height: 48px;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.26));
}

.brand-lockup {
    flex-direction: column;
    gap: 2px;
}

.site-name {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.site-tagline {
    color: var(--text-muted);
    font-size: 0.76rem;
    line-height: 1.35;
}

.site-nav {
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    min-width: 0;
    max-width: 640px;
    margin: 0 auto;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    overflow: visible;
}

.nav-link,
.nav-dropdown-trigger,
.nav-dropdown-link,
.text-link-button,
.mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.nav-link {
    padding: 0 18px;
    border: 1px solid transparent;
    color: var(--text-muted);
    white-space: nowrap;
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown[open] {
    z-index: 20;
}

.nav-dropdown-trigger {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--text-muted);
    font: inherit;
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
}

.nav-dropdown-trigger::-webkit-details-marker,
.nav-dropdown-trigger::marker {
    display: none;
}

.nav-dropdown-trigger::after {
    content: "v";
    margin-left: 7px;
    font-size: 0.7rem;
    opacity: 0.82;
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    min-width: 220px;
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(212, 177, 90, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(17, 23, 18, 0.98), rgba(9, 13, 10, 0.98));
    box-shadow: var(--shadow-lg);
    transform: translateX(-50%);
}

.nav-dropdown-link {
    justify-content: flex-start;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: var(--text-soft);
    white-space: nowrap;
}

.nav-link:hover,
.nav-dropdown-trigger:hover,
.nav-dropdown-link:hover,
.text-link-button:hover,
.mini-button:hover {
    transform: translateY(-1px);
}

.nav-link:hover {
    color: var(--text);
    background: rgba(255, 255, 255, 0.04);
}

.nav-dropdown-trigger:hover,
.nav-dropdown.active .nav-dropdown-trigger {
    color: var(--text);
    background: rgba(255, 255, 255, 0.04);
}

.nav-dropdown-link:hover {
    border-color: rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.08);
    color: #d9ffe8;
}

.nav-link.active {
    border-color: rgba(18, 192, 106, 0.22);
    background: rgba(18, 192, 106, 0.1);
    color: #cffbe0;
    box-shadow: 0 0 18px rgba(18, 192, 106, 0.14);
}

.nav-dropdown.active .nav-dropdown-trigger,
.nav-dropdown-link.active {
    border-color: rgba(18, 192, 106, 0.22);
    background: rgba(18, 192, 106, 0.1);
    color: #cffbe0;
    box-shadow: 0 0 18px rgba(18, 192, 106, 0.14);
}

.topbar-actions {
    flex: 0 0 auto;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
}

.topbar-plan-chip {
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.topbar-help-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 12px 0 7px;
    border: 1px solid rgba(212, 177, 90, 0.2);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.09);
    color: var(--gold-soft);
    font-size: 0.84rem;
    font-weight: 900;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.topbar-admin-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(18, 192, 106, 0.24);
    border-radius: 999px;
    background: rgba(18, 192, 106, 0.12);
    color: #d9ffe8;
    font-size: 0.82rem;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.topbar-admin-link:hover {
    border-color: rgba(18, 192, 106, 0.42);
    background: rgba(18, 192, 106, 0.18);
    transform: translateY(-1px);
}

.topbar-help-link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold), var(--gold-soft));
    color: #17120a;
    font-family: var(--font-display);
    font-weight: 900;
}

.topbar-help-link:hover {
    border-color: rgba(212, 177, 90, 0.42);
    background: rgba(212, 177, 90, 0.15);
    transform: translateY(-1px);
}

.text-link-button {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid transparent;
    background: transparent;
    font: inherit;
    padding: 0 14px;
    min-height: 42px;
    color: var(--text-soft);
    white-space: nowrap;
    border-radius: 999px;
    cursor: pointer;
    text-decoration: none;
}

.text-link-button:hover {
    color: var(--gold-soft);
    background: rgba(255, 255, 255, 0.04);
}

.mini-button,
.plan-chip,
.user-chip,
.status-chip,
.sport-badge {
    padding: 0 14px;
    border-radius: 999px;
}

.mini-button {
    border: 1px solid rgba(212, 177, 90, 0.22);
    background: rgba(212, 177, 90, 0.12);
    color: var(--gold-soft);
}

.plan-chip,
.user-chip,
.status-chip,
.sport-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.plan-chip {
    border: 1px solid rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.12);
    color: #aef3cb;
}

.plan-chip.large {
    min-height: 46px;
    padding: 0 18px;
}

.user-chip {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-soft);
}

.user-chip-link:hover {
    border-color: rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.08);
    color: #ddffea;
}

.account-menu {
    position: relative;
    flex: 0 0 auto;
}

.account-menu[open] {
    z-index: 40;
}

.account-menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 12px 0 7px;
    border: 1px solid rgba(212, 177, 90, 0.2);
    border-radius: 999px;
    background:
        radial-gradient(circle at top left, rgba(212, 177, 90, 0.16), transparent 44%),
        rgba(255, 255, 255, 0.035);
    color: var(--text-soft);
    cursor: pointer;
    list-style: none;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.account-menu-trigger::-webkit-details-marker,
.account-menu-trigger::marker {
    display: none;
}

.account-menu-trigger:hover,
.account-menu[open] .account-menu-trigger {
    transform: translateY(-1px);
    border-color: rgba(212, 177, 90, 0.34);
    background:
        radial-gradient(circle at top left, rgba(212, 177, 90, 0.2), transparent 44%),
        rgba(255, 255, 255, 0.055);
}

.account-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(18, 192, 106, 0.22);
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(18, 192, 106, 0.28), rgba(212, 177, 90, 0.18));
    color: #eafff0;
    font-family: var(--font-display);
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0;
}

.account-avatar.large {
    width: 42px;
    height: 42px;
    font-size: 1rem;
}

.account-trigger-label {
    color: var(--text-soft);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.account-menu-panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    width: min(320px, calc(100vw - 32px));
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(17, 23, 18, 0.99), rgba(8, 11, 9, 0.99));
    box-shadow: var(--shadow-lg);
}

.account-menu-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 6px 6px 10px;
}

.account-menu-head strong,
.account-menu-head p {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-menu-head strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1rem;
}

.account-menu-head p {
    margin: 4px 0 0;
    color: var(--text-muted);
    font-size: 0.82rem;
}

.account-plan-chip {
    justify-content: flex-start;
    width: 100%;
    min-height: 36px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.account-menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.055);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.025);
    color: var(--text-soft);
    font-size: 0.9rem;
    font-weight: 850;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.account-menu-link:hover {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.2);
    background: rgba(18, 192, 106, 0.09);
    color: #ddffea;
}

.owner-menu-link {
    border-color: rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.08);
    color: #d9ffe8;
}

.logout-menu-link {
    color: #ffb9b9;
}

@media (max-width: 1180px) {
    .site-tagline {
        display: none;
    }

    .site-brand {
        max-width: 180px;
    }
}

.status-chip {
    border: 1px solid rgba(212, 177, 90, 0.18);
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
}

.flash-shell {
    padding-top: 14px;
}

.flash-banner {
    padding: 14px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: var(--shadow-md);
}

.flash-banner strong {
    font-size: 0.94rem;
    line-height: 1.5;
}

.flash-success {
    border-color: rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.12);
    color: #c8f8dc;
}

.flash-info {
    border-color: rgba(212, 177, 90, 0.18);
    background: rgba(212, 177, 90, 0.1);
    color: #f4deaa;
}

.flash-warning,
.flash-error {
    border-color: rgba(239, 83, 83, 0.18);
    background: rgba(239, 83, 83, 0.11);
    color: #ffb3b3;
}

.login-notice-shell {
    width: min(100% - 32px, var(--content-width));
    margin: 16px auto 0;
    display: grid;
    gap: 12px;
}

.login-notice-card {
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border: 1px solid rgba(18, 192, 106, 0.2);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.98), rgba(9, 13, 10, 0.98));
    box-shadow: var(--shadow-md);
}

.login-notice-card strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.05rem;
}

.login-notice-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.landing-shell {
    padding: 12px 0 18px;
}

.landing-minimal-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
}

.landing-grid,
.dashboard-grid {
    display: grid;
    gap: 22px;
}

.landing-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
    align-items: start;
}

.landing-hero {
    min-height: 100%;
}

.landing-focus-shell {
    width: min(100%, 560px);
    display: grid;
    gap: 18px;
    justify-items: center;
}

.landing-logo-stack {
    display: grid;
    gap: 10px;
    justify-items: center;
    text-align: center;
}

.landing-logo-frame {
    position: relative;
    display: grid;
    place-items: center;
    width: min(100%, 250px);
    aspect-ratio: 1;
    padding: 18px;
    border: 1px solid rgba(212, 177, 90, 0.2);
    border-radius: 30px;
    background:
        radial-gradient(circle at 50% 20%, rgba(18, 192, 106, 0.2), transparent 38%),
        radial-gradient(circle at 85% 85%, rgba(212, 177, 90, 0.16), transparent 28%),
        linear-gradient(180deg, rgba(12, 18, 13, 0.98), rgba(5, 8, 6, 0.98));
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.42), 0 0 32px rgba(18, 192, 106, 0.12);
}

.landing-logo-frame::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(212, 177, 90, 0.1);
    border-radius: 22px;
    pointer-events: none;
}

.landing-logo-large {
    width: 100%;
    max-width: 185px;
    height: auto;
    display: block;
    object-fit: contain;
    image-rendering: auto;
    filter:
        drop-shadow(0 18px 30px rgba(0, 0, 0, 0.34))
        drop-shadow(0 0 18px rgba(18, 192, 106, 0.16));
}

.eyebrow.center {
    margin-bottom: 0;
    text-align: center;
}

.landing-title {
    max-width: 500px;
    text-align: center;
    font-size: clamp(1.85rem, 3.8vw, 2.7rem);
}

.landing-copy {
    margin-top: 0;
    max-width: 480px;
    text-align: center;
    font-size: 0.96rem;
    line-height: 1.6;
}

.landing-auth-card {
    width: min(100%, 520px);
    padding: 24px;
}

.verify-card {
    max-width: 520px;
}

.verify-logo-frame {
    width: min(100%, 220px);
}

.centered-auth-header {
    text-align: center;
}

.centered-auth-header .compact-copy {
    margin-left: auto;
    margin-right: auto;
    max-width: 420px;
}

.centered-auth-header .eyebrow {
    margin-bottom: 6px;
}

.centered-auth-header h2 {
    font-size: 1.12rem;
}

.auth-warning-note {
    margin: 10px auto 0;
    max-width: 360px;
    color: var(--gold-soft);
    font-size: 0.84rem;
    line-height: 1.5;
}

.feature-pill-row {
    flex-wrap: wrap;
    margin-top: 22px;
}

.feature-pill {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(18, 192, 106, 0.16);
    border-radius: 999px;
    background: rgba(18, 192, 106, 0.08);
    color: #b9f6d2;
    font-size: 0.84rem;
    font-weight: 700;
}

.promo-grid,
.sport-tabs-grid,
.info-stack {
    display: grid;
    gap: 16px;
}

.about-grid,
.support-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.support-guide-card {
    scroll-margin-top: 120px;
}

.support-page-flow,
.support-main-flow {
    display: grid;
    gap: 26px;
}

.support-admin-shortcut {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: -6px 0 4px;
    padding: 18px 20px;
    border: 1px solid rgba(18, 192, 106, 0.18);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(17, 24, 18, 0.98), rgba(8, 12, 9, 0.98));
    box-shadow: var(--shadow-md);
}

.support-admin-copy {
    display: grid;
    gap: 6px;
}

.support-admin-copy strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.12rem;
}

.support-admin-copy p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.support-admin-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: min(100%, 420px);
}

.support-guide-heading {
    align-items: center;
}

.manual-shell {
    display: grid;
    gap: 18px;
    padding-top: 8px;
}

.manual-selector-row {
    display: grid;
    gap: 8px;
    max-width: 360px;
}

.manual-panel-stack {
    display: grid;
    gap: 16px;
}

.manual-panel {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 26%),
        linear-gradient(180deg, rgba(15, 19, 16, 0.96), rgba(8, 11, 9, 0.98));
}

.manual-panel[hidden] {
    display: none;
}

.manual-panel-head,
.support-activity-card,
.support-activity-details,
.support-activity-meta {
    display: flex;
    align-items: center;
    gap: 14px;
}

.manual-panel-head {
    justify-content: space-between;
}

.manual-panel-head strong {
    display: block;
    margin-top: 6px;
    color: var(--text-main);
    font-size: 1.2rem;
}

.manual-step-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding-left: 24px;
    color: var(--text-soft);
    line-height: 1.65;
}

.manual-step-list li::marker {
    color: var(--gold);
    font-weight: 800;
}

.manual-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
    gap: 18px;
}

.manual-block {
    display: grid;
    align-content: start;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.manual-tip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.manual-qa-list {
    display: grid;
    gap: 10px;
}

.manual-qa-item {
    border: 1px solid rgba(212, 177, 90, 0.12);
    border-radius: 14px;
    background: rgba(212, 177, 90, 0.045);
    overflow: hidden;
}

.manual-qa-item summary {
    min-height: 46px;
    padding: 13px 14px;
    color: var(--text-main);
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.manual-qa-item summary::-webkit-details-marker,
.manual-qa-item summary::marker {
    display: none;
}

.manual-qa-item summary::after {
    content: "+";
    float: right;
    color: var(--gold-soft);
}

.manual-qa-item[open] summary::after {
    content: "-";
}

.manual-qa-item p {
    margin: 0;
    padding: 0 14px 14px;
    color: var(--text-soft);
    line-height: 1.58;
}

.support-activity-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.support-activity-heading {
    align-items: center;
    justify-content: space-between;
}

.support-heading-copy {
    display: flex;
    gap: 16px;
    min-width: 0;
}

.activity-date-form {
    display: grid;
    gap: 8px;
    width: min(100%, 340px);
    padding: 14px;
    border: 1px solid rgba(212, 177, 90, 0.13);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.08), transparent 30%),
        rgba(255, 255, 255, 0.025);
}

.activity-date-select-wrap {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    min-height: 56px;
    padding: 6px 8px 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(26, 32, 25, 0.96), rgba(16, 21, 17, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.activity-calendar-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 36px;
    margin-right: 8px;
    border: 1px solid rgba(212, 177, 90, 0.2);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.activity-date-select {
    min-height: 44px;
    border: none;
    background: transparent;
    color: var(--text-main);
    font-family: var(--font-display);
    font-size: 1.06rem;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.activity-filter-summary {
    margin: -4px 0 16px;
    padding: 12px 14px;
    border: 1px solid rgba(18, 192, 106, 0.12);
    border-radius: 16px;
    background: rgba(18, 192, 106, 0.055);
    color: var(--text-soft);
    line-height: 1.55;
}

.activity-filter-summary strong {
    color: #b9f6d2;
}

.support-activity-card {
    display: grid;
    align-content: start;
    gap: 16px;
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.06), transparent 30%),
        linear-gradient(180deg, rgba(15, 19, 16, 0.96), rgba(8, 11, 9, 0.98));
}

.support-activity-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.support-activity-main {
    min-width: 0;
}

.support-activity-main strong,
.support-activity-main p {
    display: block;
    margin-top: 6px;
}

.support-activity-main p,
.support-activity-details {
    color: var(--text-soft);
}

.support-activity-meta {
    flex-shrink: 0;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

.support-activity-details {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    min-width: 0;
    max-width: none;
    font-weight: 700;
}

.support-legal-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.7fr);
    gap: 24px;
    align-items: center;
    padding: 24px;
}

.support-legal-links {
    margin-top: 0;
}

.promo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 28px;
}

.promo-card,
.info-card,
.mini-info-card,
.auth-card,
.sport-card,
.summary-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(17, 23, 18, 0.98), rgba(10, 14, 11, 0.98));
    box-shadow: var(--shadow-lg);
}

.promo-card,
.mini-info-card {
    padding: 18px;
}

.promo-kicker,
.sport-label,
.summary-label {
    color: var(--gold);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.promo-card strong,
.summary-value,
.sport-card h3 {
    font-family: var(--font-display);
}

.promo-card strong,
.sport-card h3 {
    color: var(--text);
    font-size: 1.06rem;
    line-height: 1.3;
}

.promo-card p,
.mini-info-card p,
.sport-description,
.summary-card p {
    margin: 10px 0 0;
    color: var(--text-muted);
    line-height: 1.65;
}

.public-page-shell {
    width: min(100% - 36px, 1280px);
}

.public-hero-row {
    align-items: center;
    justify-content: space-between;
}

.public-trust-card {
    flex: 0 0 min(100%, 360px);
    padding: 24px;
    border-color: rgba(212, 177, 90, 0.12);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 28%),
        linear-gradient(180deg, rgba(18, 22, 16, 0.98), rgba(9, 12, 9, 0.98));
}

.public-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.public-cta-row .compact-button {
    width: auto;
    min-width: 172px;
}

.public-guest-button {
    border: 1px solid rgba(18, 192, 106, 0.22);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.12), transparent 32%),
        linear-gradient(180deg, rgba(15, 28, 19, 0.98), rgba(7, 13, 9, 0.98));
    color: #d8ffe6;
    box-shadow: 0 14px 28px rgba(18, 192, 106, 0.12);
}

.landing-guest-cta-row {
    justify-content: center;
    margin-top: 8px;
}

.public-section-card,
.public-final-card {
    display: grid;
    gap: 22px;
    padding: 28px;
}

.public-education-links {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(212, 177, 90, 0.12);
    border-radius: 18px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(16, 20, 15, 0.9), rgba(8, 12, 9, 0.92));
}

.public-education-link-row {
    margin-top: 0;
}

.free-offer-card {
    border-color: rgba(18, 192, 106, 0.16);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.14), transparent 32%),
        radial-gradient(circle at left bottom, rgba(212, 177, 90, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(16, 24, 18, 0.98), rgba(8, 12, 9, 0.98));
}

.free-offer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.free-offer-panel {
    display: flex;
    min-height: 260px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 24px;
}

.free-offer-panel strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(1.25rem, 1.8vw, 1.75rem);
    line-height: 1.15;
}

.free-offer-panel p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.free-offer-panel .public-cta-row {
    align-self: stretch;
    margin-top: auto;
}

.free-offer-referral-panel {
    border-color: rgba(212, 177, 90, 0.14);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.14), transparent 28%),
        linear-gradient(180deg, rgba(21, 24, 17, 0.98), rgba(9, 12, 8, 0.98));
}

.free-offer-disclaimer {
    margin: 0;
    padding: 16px 18px;
    border: 1px solid rgba(212, 177, 90, 0.16);
    border-radius: 18px;
    background: rgba(212, 177, 90, 0.07);
    color: var(--text-muted);
    line-height: 1.55;
}

.social-follow-card {
    display: grid;
    gap: 12px;
    padding: 28px;
    border: 1px solid rgba(18, 192, 106, 0.18);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.14), transparent 34%),
        linear-gradient(180deg, rgba(15, 28, 19, 0.98), rgba(8, 12, 9, 0.98));
    box-shadow: var(--shadow-lg);
}

.social-follow-card h2 {
    margin: 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2vw, 2rem);
    line-height: 1.15;
}

.social-follow-card p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: var(--text-muted);
    line-height: 1.65;
}

.social-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.social-link-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(212, 177, 90, 0.22);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition:
        border-color 0.18s ease,
        background 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.social-link-pill:hover {
    border-color: rgba(18, 192, 106, 0.38);
    background: rgba(18, 192, 106, 0.15);
    color: #d8ffe6;
    transform: translateY(-1px);
}

.public-marketing-grid,
.public-pricing-grid {
    margin-top: 0;
}

.public-marketing-card {
    min-height: 210px;
    padding: 24px;
}

.public-pricing-card {
    min-height: 360px;
}

.public-pricing-preview {
    border-color: rgba(212, 177, 90, 0.16);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.12), transparent 26%),
        linear-gradient(180deg, rgba(19, 21, 15, 0.98), rgba(9, 11, 8, 0.98));
}

.public-faq-list .manual-qa-item p {
    margin: 0;
    padding: 0 14px 14px;
    color: var(--text-muted);
    line-height: 1.65;
}

.guest-dashboard-shell {
    display: grid;
    gap: 22px;
}

.guest-hero-card {
    border-color: rgba(18, 192, 106, 0.12);
}

.guest-free-card strong {
    display: block;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.24rem;
    line-height: 1.25;
}

.guest-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.guest-summary-card {
    min-height: 170px;
    padding: 22px;
}

.guest-summary-card strong {
    display: block;
    margin-top: 10px;
    color: var(--text);
    font-size: clamp(1.35rem, 2vw, 2.1rem);
}

.guest-feed-heading {
    align-items: flex-start;
}

.guest-win-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.guest-win-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    min-height: 190px;
    padding: 22px;
    border: 1px solid rgba(18, 192, 106, 0.12);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(13, 19, 15, 0.98), rgba(5, 8, 6, 0.98));
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.guest-win-card-main {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
}

.guest-win-date {
    color: var(--gold);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.guest-win-card strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.05rem;
    line-height: 1.3;
}

.guest-win-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.45;
}

.guest-win-probability {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    height: 70px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 900;
}

.guest-probability-hot {
    border-color: rgba(18, 192, 106, 0.28);
    background: rgba(18, 192, 106, 0.18);
    color: #8bffbd;
}

.guest-probability-good {
    border-color: rgba(163, 224, 96, 0.24);
    background: rgba(116, 176, 76, 0.18);
    color: #c7ff91;
}

.guest-probability-warm {
    border-color: rgba(212, 177, 90, 0.25);
    background: rgba(212, 177, 90, 0.14);
    color: var(--gold-soft);
}

.guest-probability-low {
    border-color: rgba(255, 113, 113, 0.22);
    background: rgba(255, 82, 82, 0.14);
    color: #ff8b91;
}

.guest-win-footer {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    align-self: end;
    color: var(--text-soft);
    font-family: var(--font-display);
    font-size: 0.95rem;
    font-weight: 900;
}

.guest-result-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid rgba(212, 177, 90, 0.2);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.guest-bottom-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 22px;
    align-items: start;
}

.guest-promo-grid {
    display: grid;
    gap: 16px;
}

.guest-promo-card {
    display: grid;
    gap: 12px;
}

.guest-promo-card .compact-button {
    width: 100%;
}

.guest-plan-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.guest-empty-state {
    padding: 24px;
    border: 1px solid rgba(212, 177, 90, 0.12);
    border-radius: 22px;
    background: rgba(212, 177, 90, 0.07);
}

.guest-empty-state strong {
    display: block;
    margin-top: 8px;
    color: var(--text);
    font-family: var(--font-display);
}

.guest-empty-state p {
    margin: 8px 0 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.auth-card {
    padding: 28px;
}

.auth-card-header {
    margin-bottom: 20px;
}

.auth-card-header h2,
.info-card h2 {
    margin-top: 6px;
}

.panel-switcher {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.panel-switcher-footer {
    margin-top: 6px;
}

.panel-button {
    min-height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-soft);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.panel-button.active {
    border-color: rgba(18, 192, 106, 0.22);
    background: rgba(18, 192, 106, 0.1);
    color: #d9ffe8;
    box-shadow: 0 0 20px rgba(18, 192, 106, 0.14);
}

.auth-panels {
    display: grid;
}

.auth-panel {
    display: none;
    gap: 14px;
}

.auth-panel.active {
    display: grid;
}

.panel-link-button {
    min-height: 38px;
    font-size: 0.88rem;
}

.landing-auth-card .field-label {
    margin-bottom: 8px;
    font-size: 0.88rem;
}

.remember-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    color: var(--text-soft);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
}

.remember-check {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
    cursor: pointer;
}

.remember-copy {
    color: var(--text-soft);
}

.register-consent-stack {
    display: grid;
    gap: 10px;
}

.consent-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    color: var(--text-soft);
    font-size: 0.9rem;
    line-height: 1.55;
    cursor: pointer;
}

.consent-row a {
    color: var(--gold-soft);
    font-weight: 700;
}

.consent-row a:hover {
    color: var(--text);
}

.landing-auth-card .text-input {
    padding: 14px 16px;
}

.landing-auth-card .form-hint {
    font-size: 0.83rem;
}

.landing-auth-card .primary-button,
.landing-auth-card .secondary-button {
    padding: 14px 22px;
}

.form-grid.two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.form-grid.three-col {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.form-hint {
    margin: -2px 0 0;
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.select-input,
.textarea-input {
    appearance: none;
}

.select-input {
    color-scheme: dark;
    background-color: rgba(17, 23, 18, 0.98);
    color: var(--text);
    padding-right: 48px;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--gold-soft) 50%),
        linear-gradient(135deg, var(--gold-soft) 50%, transparent 50%);
    background-position:
        calc(100% - 24px) calc(50% - 3px),
        calc(100% - 18px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.select-input option,
.select-input optgroup {
    background: #111712;
    color: var(--text);
}

.textarea-input {
    min-height: 160px;
    resize: vertical;
}

.auth-submit,
.dashboard-action-button {
    width: 100%;
}

.inline-alert {
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(239, 83, 83, 0.18);
    border-radius: 18px;
    background: rgba(239, 83, 83, 0.1);
}

.inline-alert strong {
    color: #ffb9b9;
}

.dashboard-shell {
    display: grid;
    gap: 22px;
}

.store-shell {
    display: grid;
    gap: 22px;
}

.account-shell {
    display: grid;
    gap: 22px;
}

.legal-shell {
    display: grid;
    gap: 22px;
}

.legal-card {
    display: grid;
    gap: 18px;
}

.legal-effective-date {
    margin-top: 12px;
}

.legal-section-stack {
    display: grid;
    gap: 26px;
}

.legal-section {
    display: grid;
    gap: 12px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.legal-section:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.legal-section h2 {
    font-size: 1.05rem;
}

.legal-section p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.7;
}

.legal-list {
    margin-top: 0;
}

.responsible-use-card {
    display: grid;
    gap: 18px;
    border-color: rgba(212, 177, 90, 0.14);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 26%),
        linear-gradient(180deg, rgba(20, 19, 14, 0.98), rgba(10, 12, 9, 0.98));
}

.responsible-use-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.responsible-use-footnote {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.6;
}

.responsible-use-footnote a {
    color: var(--gold-soft);
    font-weight: 700;
}

.account-anchor-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: -8px;
}

.account-anchor-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-soft);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.account-anchor-link:hover {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.22);
    background: rgba(18, 192, 106, 0.08);
    color: #d8ffe8;
}

.account-console {
    display: grid;
    grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.account-console-sidebar {
    position: sticky;
    top: 108px;
    display: grid;
    gap: 16px;
    max-height: calc(100vh - 126px);
    overflow: auto;
    padding: 20px;
    border: 1px solid rgba(212, 177, 90, 0.12);
    border-radius: 26px;
    background:
        radial-gradient(circle at top left, rgba(18, 192, 106, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(16, 24, 18, 0.98), rgba(7, 10, 8, 0.98));
    box-shadow: var(--shadow-soft);
}

.account-sidebar-card {
    display: grid;
    gap: 8px;
    padding: 2px 2px 8px;
}

.account-sidebar-card h2 {
    margin: 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.15rem;
    line-height: 1.2;
}

.account-sidebar-card p:not(.eyebrow) {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.account-side-nav {
    display: grid;
    gap: 8px;
    margin-top: 0;
}

.account-side-nav .account-anchor-link {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-areas:
        "number label"
        "number detail";
    justify-content: stretch;
    min-height: 64px;
    padding: 12px 14px;
    border-radius: 18px;
    text-align: left;
}

.account-side-nav .account-anchor-link span {
    grid-area: number;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(212, 177, 90, 0.18);
    border-radius: 999px;
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.account-side-nav .account-anchor-link strong {
    grid-area: label;
    color: var(--text-soft);
    font-family: var(--font-display);
    font-size: 0.96rem;
    line-height: 1.2;
}

.account-side-nav .account-anchor-link small {
    grid-area: detail;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-side-nav .account-anchor-link.active,
.account-side-nav .account-anchor-link[aria-current="page"] {
    border-color: rgba(31, 212, 116, 0.28);
    background:
        radial-gradient(circle at top right, rgba(31, 212, 116, 0.16), transparent 34%),
        rgba(31, 212, 116, 0.08);
    color: #d8ffe8;
}

.account-side-nav .account-anchor-link.active strong,
.account-side-nav .account-anchor-link[aria-current="page"] strong {
    color: var(--text);
}

.account-side-nav .account-anchor-link.active span,
.account-side-nav .account-anchor-link[aria-current="page"] span {
    border-color: rgba(31, 212, 116, 0.32);
    background: rgba(31, 212, 116, 0.16);
    color: #9cf0bd;
}

.account-sidebar-summary {
    display: grid;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.compact-summary-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 0;
}

.compact-summary-grid .account-summary-tile {
    padding: 12px 14px;
    border-radius: 16px;
}

.compact-summary-grid .account-summary-tile strong {
    overflow-wrap: anywhere;
}

.account-console-content {
    min-width: 0;
}

.account-panel-stack {
    display: block;
}

.account-panel {
    display: none;
    min-height: 560px;
}

.account-panel.is-active {
    display: grid;
    animation: panel-fade-in 0.2s ease;
}

.dashboard-hero-row {
    align-items: flex-start;
    justify-content: space-between;
}

.dashboard-badge-stack {
    flex-direction: column;
    align-items: flex-end;
}

.dashboard-sportsbook-form {
    display: grid;
    gap: 8px;
    width: min(100%, 260px);
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(19, 26, 20, 0.96), rgba(10, 14, 11, 0.96));
}

.dashboard-sportsbook-label {
    color: var(--gold-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.dashboard-sportsbook-select {
    min-width: 0;
    padding: 14px 42px 14px 14px;
    font-size: 0.94rem;
}

.dashboard-sportsbook-hint {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.dashboard-settings-button {
    min-width: 190px;
}

.summary-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.summary-card {
    padding: 22px;
}

.summary-value {
    display: block;
    margin-top: 10px;
    color: var(--text);
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1.18;
}

.dashboard-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.account-grid {
    align-items: start;
}

.dashboard-main,
.dashboard-side,
.placeholder-shell {
    display: grid;
    gap: 22px;
}

.store-access-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 22px;
}

.account-main,
.account-side {
    display: grid;
    gap: 22px;
}

.account-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.account-summary-tile {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(18, 24, 19, 0.96), rgba(10, 14, 11, 0.96));
}

.account-summary-tile strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 0.98rem;
    line-height: 1.28;
}

.account-summary-tile p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.5;
}

.account-summary-notes {
    margin-top: 16px;
}

.sport-tabs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sport-card,
.info-card {
    padding: 24px;
}

.sport-card.live {
    border-color: rgba(18, 192, 106, 0.18);
}

.sport-card.coming-soon {
    border-color: rgba(212, 177, 90, 0.12);
}

.sport-card.offline {
    border-color: rgba(255, 255, 255, 0.04);
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.035), transparent 28%),
        linear-gradient(180deg, rgba(17, 19, 17, 0.82), rgba(7, 9, 8, 0.96));
    box-shadow: none;
}

.sport-card.offline .sport-card-top,
.sport-card.offline .sport-description,
.sport-card.offline .sport-meta-list {
    opacity: 0.62;
}

.sport-card-top {
    align-items: flex-start;
    justify-content: space-between;
}

.sport-badge {
    min-height: 34px;
    padding: 0 12px;
    font-size: 0.74rem;
}

.sport-card.live .sport-badge {
    border: 1px solid rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.12);
    color: #b8f5d1;
}

.sport-card.coming-soon .sport-badge {
    border: 1px solid rgba(212, 177, 90, 0.18);
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
}

.sport-card.offline .sport-badge {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-muted);
}

.sport-meta-list {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
    padding-left: 18px;
    color: var(--text-soft);
    line-height: 1.55;
}

.sport-actions {
    flex-direction: column;
    align-items: stretch;
    margin-top: 20px;
}

.locked-note {
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.settings-form {
    gap: 16px;
}

.subscription-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.subscription-panel-block {
    display: grid;
    gap: 16px;
}

.section-subheading h3 {
    margin: 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.04rem;
    line-height: 1.25;
}

.section-subheading p {
    margin: 8px 0 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.subscription-stack {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin-top: 0;
}

.upgrade-grid,
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.plan-group-stack {
    display: grid;
    gap: 20px;
}

.plan-group {
    display: grid;
    gap: 14px;
}

.subscription-card {
    height: 100%;
}

.subscription-manage-block {
    align-content: start;
}

.subscription-manage-card {
    display: grid;
    gap: 16px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 26%),
        linear-gradient(180deg, rgba(19, 20, 14, 0.98), rgba(10, 11, 8, 0.98));
}

.subscription-manage-copy {
    display: grid;
    gap: 8px;
}

.subscription-manage-copy strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.05rem;
    line-height: 1.3;
}

.subscription-manage-copy p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.subscription-manage-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.referral-settings-card {
    gap: 22px;
}

.referral-invite-banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid rgba(31, 212, 116, 0.2);
    border-radius: 18px;
    background:
        radial-gradient(circle at top left, rgba(31, 212, 116, 0.12), transparent 32%),
        linear-gradient(180deg, rgba(12, 31, 21, 0.96), rgba(8, 15, 11, 0.96));
}

.referral-invite-banner strong {
    color: var(--text);
    font-family: var(--font-display);
    line-height: 1.35;
}

.referral-invite-banner p {
    margin: 6px 0 0;
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.referral-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.referral-summary-tile {
    min-height: 120px;
}

.referral-invite-form,
.referral-redeem-form {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(31, 212, 116, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(18, 24, 19, 0.92), rgba(10, 14, 11, 0.96));
}

.referral-redeem-form {
    border-color: rgba(212, 177, 90, 0.16);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 30%),
        linear-gradient(180deg, rgba(18, 24, 19, 0.92), rgba(10, 14, 11, 0.96));
}

.referral-invite-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.referral-status-panel {
    display: grid;
    gap: 16px;
}

.referral-table {
    display: grid;
    gap: 10px;
}

.referral-table-head,
.referral-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) minmax(150px, 0.65fr) minmax(170px, 0.75fr) minmax(140px, auto);
    gap: 14px;
    align-items: center;
}

.referral-table-head {
    padding: 0 18px;
    color: var(--gold-soft);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.referral-row {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.055);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(14, 21, 16, 0.96), rgba(8, 13, 10, 0.96));
}

.referral-row-main {
    display: grid;
    gap: 6px;
}

.referral-row strong,
.referral-key-cell strong {
    color: var(--text);
    font-family: var(--font-display);
    line-height: 1.3;
}

.referral-row p,
.referral-row small,
.referral-muted,
.referral-key-cell p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.referral-row small {
    font-size: 0.84rem;
}

.referral-status-chip {
    width: fit-content;
}

.referral-status-rewarded {
    border-color: rgba(31, 212, 116, 0.24);
    background: rgba(31, 212, 116, 0.12);
    color: #9cf0bd;
}

.referral-status-registered,
.referral-status-invited {
    border-color: rgba(212, 177, 90, 0.22);
    background: rgba(212, 177, 90, 0.1);
    color: var(--gold-soft);
}

.referral-status-review {
    border-color: rgba(255, 180, 83, 0.22);
    background: rgba(255, 180, 83, 0.1);
    color: #ffd49a;
}

.referral-status-blocked {
    border-color: rgba(255, 126, 126, 0.22);
    background: rgba(255, 126, 126, 0.1);
    color: #ffb3b3;
}

.referral-empty-key {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 999px;
    color: var(--gold-soft);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.referral-actions-cell {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.referral-row-action {
    margin: 0;
}

.referral-action-button {
    min-height: 38px;
    padding: 0 14px;
    font-size: 0.78rem;
}

.referral-delete-button {
    border-color: rgba(255, 126, 126, 0.28);
    color: #ffd0d0;
    background: rgba(92, 28, 28, 0.22);
}

.referral-delete-button:hover {
    border-color: rgba(255, 126, 126, 0.45);
    background: rgba(128, 36, 36, 0.28);
}

.referral-empty-state {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.055);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(14, 21, 16, 0.94), rgba(8, 13, 10, 0.94));
}

.referral-empty-state strong {
    color: var(--text);
    font-family: var(--font-display);
}

.referral-empty-state p {
    margin: 8px 0 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.plan-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.store-current-access-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.store-access-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.store-note-stack {
    display: grid;
    gap: 14px;
}

.store-section-card {
    display: grid;
    gap: 22px;
}

.store-plan-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.store-plan-grid-wide {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.store-plan-card,
.review-card {
    height: 100%;
}

.store-plan-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 24px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 26%),
        linear-gradient(180deg, rgba(16, 22, 17, 0.98), rgba(9, 13, 10, 0.98));
    box-shadow: var(--shadow-lg);
}

.store-plan-card-featured {
    border-color: rgba(212, 177, 90, 0.14);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.12), transparent 26%),
        radial-gradient(circle at left top, rgba(18, 192, 106, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(21, 24, 17, 0.98), rgba(10, 12, 9, 0.98));
}

.is-plan-off {
    border-color: rgba(255, 255, 255, 0.04) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.03), transparent 28%),
        linear-gradient(180deg, rgba(18, 21, 18, 0.78), rgba(7, 9, 8, 0.9)) !important;
    box-shadow: none !important;
}

.is-plan-off > *:not(form),
.is-plan-off .store-plan-card-head,
.is-plan-off .store-cart-item-top {
    opacity: 0.68;
}

.store-plan-status-note {
    padding: 10px 12px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 14px;
    background: rgba(212, 177, 90, 0.08);
    color: var(--gold-soft) !important;
    font-size: 0.9rem;
    font-weight: 800;
}

.store-current-access-card {
    padding: 22px;
}

.store-access-summary-card,
.store-access-cluster-card {
    height: 100%;
}

.store-access-summary-card {
    display: grid;
    gap: 10px;
    padding: 22px;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(15, 20, 16, 0.98), rgba(8, 11, 9, 0.98));
}

.store-access-summary-card strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.15rem;
    line-height: 1.3;
}

.store-access-summary-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.store-access-cluster-stack {
    display: grid;
    gap: 16px;
}

.store-access-cluster-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(16, 22, 17, 0.98), rgba(9, 13, 10, 0.98));
}

.store-access-cluster-card.is-queued {
    border-color: rgba(212, 177, 90, 0.16);
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 24%),
        linear-gradient(180deg, rgba(19, 20, 14, 0.98), rgba(10, 11, 8, 0.98));
}

.store-access-cluster-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.store-access-cluster-top strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.08rem;
    line-height: 1.35;
}

.store-access-cluster-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.65;
}

.store-plan-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.store-plan-card-head strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.18rem;
    line-height: 1.3;
}

.store-plan-card p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.65;
}

.store-plan-meta-list {
    margin: 0;
    padding-left: 18px;
}

.store-plan-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.store-plan-pill {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-soft);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.store-plan-form {
    margin-top: auto;
}

.store-purchase-button {
    width: 100%;
}

.store-hero-stack {
    align-items: stretch;
    min-width: 300px;
}

.store-hero-cart-card {
    display: grid;
    gap: 8px;
    min-width: 300px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.09), transparent 28%),
        linear-gradient(180deg, rgba(16, 22, 17, 0.98), rgba(9, 13, 10, 0.98));
}

.store-hero-cart-card strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.14rem;
    line-height: 1.2;
}

.store-hero-cart-card p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.store-hero-cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.store-hero-manage-link {
    padding: 0;
    min-height: auto;
}

.store-cart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 360px);
    gap: 18px;
    align-items: start;
}

.store-checkout-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: start;
}

.store-cart-lines {
    display: grid;
    gap: 14px;
}

.store-cart-item {
    display: grid;
    gap: 14px;
    padding: 22px;
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(16, 22, 17, 0.98), rgba(9, 13, 10, 0.98));
}

.store-cart-item-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.store-cart-item-top strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.08rem;
    line-height: 1.3;
}

.store-cart-item p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.65;
}

.store-cart-price-block {
    display: grid;
    justify-items: end;
    gap: 4px;
}

.store-cart-line-total {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.16rem;
    font-weight: 900;
    line-height: 1.1;
}

.store-cart-unit-price,
.store-cart-item-note {
    color: var(--text-muted);
    font-size: 0.84rem;
    line-height: 1.55;
}

.store-cart-item-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.store-inline-form {
    margin: 0;
}

.store-order-summary {
    display: grid;
    gap: 14px;
    padding: 22px;
    border: 1px solid rgba(212, 177, 90, 0.12);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.1), transparent 26%),
        linear-gradient(180deg, rgba(20, 23, 16, 0.98), rgba(10, 12, 9, 0.98));
    box-shadow: var(--shadow-lg);
}

.store-order-summary strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.22rem;
    line-height: 1.2;
}

.store-order-summary p {
    margin: 0;
    color: var(--text-soft);
    line-height: 1.65;
}

.store-order-totals {
    display: grid;
    gap: 10px;
    padding: 16px 0 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.store-order-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--text-soft);
}

.store-order-row strong {
    font-size: 1rem;
}

.store-order-row.total strong,
.store-order-row.total span {
    color: var(--gold-soft);
}

.store-order-actions {
    display: grid;
    gap: 10px;
}

button.store-action-button {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(212, 177, 90, 0.18) !important;
    background: rgba(212, 177, 90, 0.1) !important;
    color: var(--gold-soft) !important;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
    font: inherit;
    text-decoration: none;
}

button.store-action-button:hover {
    border-color: rgba(212, 177, 90, 0.3) !important;
    background: rgba(212, 177, 90, 0.16) !important;
    color: var(--gold-bright) !important;
}

button.store-action-button-secondary {
    border-color: rgba(255, 255, 255, 0.08) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--text-soft) !important;
}

button.store-action-button-secondary:hover {
    border-color: rgba(18, 192, 106, 0.2) !important;
    background: rgba(18, 192, 106, 0.08) !important;
    color: #d9ffe8 !important;
}

.store-empty-cart {
    margin-top: 0;
}

.store-plan-pricing {
    display: grid;
    justify-items: end;
    gap: 6px;
}

.store-plan-price {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.1;
}

.store-plan-price-note {
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.checkout-summary-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.checkout-summary-item {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(20, 27, 21, 0.88), rgba(10, 14, 11, 0.9));
}

.checkout-summary-item strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.16rem;
    line-height: 1.15;
}

.checkout-note-card {
    margin-top: 0;
}

.store-sport-picker-bar {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 18px;
    align-items: end;
}

.store-sport-select-shell {
    display: grid;
    gap: 10px;
}

.store-sport-select {
    color-scheme: dark;
    background-color: rgba(17, 23, 18, 0.98);
    color: var(--text);
    padding-right: 48px;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--gold-soft) 50%),
        linear-gradient(135deg, var(--gold-soft) 50%, transparent 50%);
    background-position:
        calc(100% - 24px) calc(50% - 3px),
        calc(100% - 18px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.store-sport-select option,
.store-sport-select optgroup {
    background: #111712;
    color: var(--text);
}

.store-sport-picker-copy {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(20, 27, 21, 0.88), rgba(10, 14, 11, 0.9));
}

.store-sport-picker-copy strong,
.store-sport-context-card strong {
    color: var(--text);
    font-size: 1rem;
    line-height: 1.3;
}

.store-sport-picker-copy p,
.store-sport-context-card p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.store-sport-tab-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.store-sport-tab {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-soft);
    font: inherit;
    font-weight: 800;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.store-sport-tab:hover {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.08);
    color: #d9ffe8;
}

.store-sport-tab.active {
    border-color: rgba(18, 192, 106, 0.22);
    background: rgba(18, 192, 106, 0.12);
    color: #d9ffe8;
    box-shadow: 0 0 18px rgba(18, 192, 106, 0.14);
}

.store-sport-panel-stack {
    display: grid;
    gap: 14px;
}

.store-sport-panel {
    display: none;
    gap: 18px;
}

.store-sport-panel.active {
    display: grid;
}

.store-sport-panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 18px;
    align-items: start;
}

.store-sport-context-card {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(18, 25, 19, 0.94), rgba(9, 13, 10, 0.94));
}

.analytics-section-card {
    display: grid;
    gap: 22px;
}

.admin-inline-form {
    display: grid;
    grid-template-columns: minmax(160px, 220px) auto;
    align-items: end;
    gap: 12px;
    min-width: min(100%, 420px);
}

.compact-date-input {
    min-height: 46px;
    padding: 12px 14px;
}

.inline-action-form {
    display: inline-flex;
    margin: 3px 4px 3px 0;
}

.analytics-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.compact-trend-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.analytics-metric-card {
    display: grid;
    gap: 8px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.08), transparent 26%),
        linear-gradient(180deg, rgba(16, 22, 17, 0.98), rgba(9, 13, 10, 0.98));
}

.analytics-metric-card-good {
    border-color: rgba(18, 192, 106, 0.2);
}

.analytics-metric-card-neutral {
    border-color: rgba(212, 177, 90, 0.18);
}

.analytics-metric-card-bad {
    border-color: rgba(239, 83, 83, 0.18);
}

.analytics-metric-value {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.9rem;
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

.analytics-metric-card p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.inline-dashboard-link {
    color: var(--gold-soft);
    font-weight: 700;
}

.analytics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.analytics-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.analytics-card-head h3 {
    margin: 8px 0 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.22rem;
    line-height: 1.2;
}

.analytics-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.analytics-table-card {
    display: grid;
    gap: 18px;
}

.analytics-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(15, 19, 16, 0.96), rgba(8, 11, 9, 0.98));
}

.analytics-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 680px;
}

.analytics-table th,
.analytics-table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.analytics-table th {
    color: var(--gold-soft);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.02);
}

.analytics-table td {
    color: var(--text-soft);
    line-height: 1.5;
}

.analytics-table tbody tr:last-child td {
    border-bottom: none;
}

.trend-list {
    display: grid;
    gap: 12px;
}

.compact-trend-list {
    gap: 10px;
}

.trend-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.02);
}

.trend-list-row strong {
    color: var(--text);
    font-size: 1rem;
}

.trend-list-row span {
    color: var(--gold-soft);
    font-size: 0.9rem;
    font-weight: 700;
}

.trend-list-row.stacked {
    align-items: flex-start;
    flex-direction: column;
}

.trendboard-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 18px;
    align-items: end;
}

.trendboard-toolbar-copy h3 {
    margin: 8px 0 10px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.55rem;
}

.trendboard-toolbar-copy p:last-child {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.trendboard-select-wrap {
    display: grid;
    gap: 8px;
}

.trendboard-select {
    min-width: 0;
}

.trendboard-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.trendboard-card {
    display: grid;
    gap: 16px;
}

.compact-trend-card .analytics-metric-value {
    font-size: 1.55rem;
}

.trendboard-placeholder-card {
    display: grid;
    gap: 14px;
}

.trend-focus-card {
    min-height: 100%;
}

.owner-tools-card {
    gap: 16px;
}

.owner-link-row {
    justify-content: flex-end;
}

.empty-state-copy {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.65;
}

.calibration-good {
    color: #7ef0b0 !important;
    font-weight: 800;
}

.calibration-neutral {
    color: var(--gold-soft) !important;
    font-weight: 800;
}

.calibration-bad {
    color: #ff9a9a !important;
    font-weight: 800;
}

.filter-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-soft);
    font-size: 0.88rem;
    font-weight: 800;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.filter-chip:hover {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.18);
    background: rgba(18, 192, 106, 0.08);
    color: #d9ffe8;
}

.filter-chip.active {
    border-color: rgba(18, 192, 106, 0.24);
    background: rgba(18, 192, 106, 0.14);
    color: #d9ffe8;
    box-shadow: 0 0 18px rgba(18, 192, 106, 0.12);
}

.admin-grid {
    grid-template-columns: 1.1fr 0.9fr;
}

.compact-form-stack {
    gap: 16px;
}

.admin-selection-card {
    margin-top: 4px;
}

.admin-selection-card strong {
    display: block;
    margin: 6px 0 0;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.12rem;
}

.admin-selection-card p {
    margin: 10px 0 0;
    color: var(--text-soft);
    line-height: 1.6;
}

.compact-section-heading {
    margin-bottom: 0;
}

.review-stars {
    color: var(--gold-soft);
    font-size: 1.08rem;
    letter-spacing: 0.14em;
}

.preferences-grid,
.upgrade-list {
    display: grid;
    gap: 14px;
}

.preference-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(20, 27, 21, 0.88), rgba(10, 14, 11, 0.9));
    cursor: pointer;
    transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.preference-card:hover {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.2);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.18);
}

.preference-check {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--green);
    cursor: pointer;
}

.preference-copy {
    display: grid;
    gap: 6px;
}

.preference-copy strong {
    color: var(--text);
    font-size: 1rem;
    line-height: 1.3;
}

.preference-copy p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.6;
}

.settings-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(20, 27, 21, 0.88), rgba(10, 14, 11, 0.9));
}

.settings-status-block {
    display: grid;
    gap: 8px;
}

.settings-value {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.06rem;
    font-weight: 800;
    line-height: 1.25;
}

.status-chip-confirmed {
    border-color: rgba(18, 192, 106, 0.2);
    background: rgba(18, 192, 106, 0.12);
    color: #b9f6d2;
}

.status-chip-pending {
    border-color: rgba(212, 177, 90, 0.2);
    background: rgba(212, 177, 90, 0.12);
    color: var(--gold-soft);
}

.owner-admin-anchor,
.owner-admin-button {
    border-color: rgba(18, 192, 106, 0.24);
    background: rgba(18, 192, 106, 0.12);
    color: #d9ffe8;
}

.owner-admin-account-card {
    border-color: rgba(18, 192, 106, 0.18);
}

.owner-admin-shell {
    width: min(100% - 44px, 1280px);
}

.owner-admin-workspace {
    display: grid;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.owner-admin-sidebar {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 18px;
    padding: 18px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.1), transparent 34%),
        linear-gradient(180deg, rgba(20, 27, 21, 0.96), rgba(8, 11, 9, 0.98));
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.owner-admin-sidebar-head {
    display: grid;
    gap: 6px;
    padding: 4px 4px 0;
}

.owner-admin-sidebar-head strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.22rem;
}

.owner-admin-side-nav {
    display: grid;
    gap: 10px;
}

.owner-admin-side-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 64px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
    color: var(--text-soft);
    cursor: pointer;
    text-align: left;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.owner-admin-side-button:hover,
.owner-admin-side-button.active {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.28);
    background: rgba(18, 192, 106, 0.12);
    color: var(--text);
}

.owner-admin-side-button span {
    font-family: var(--font-display);
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1.25;
}

.owner-admin-side-button small {
    flex: 0 0 auto;
    color: var(--gold-soft);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.owner-admin-sidebar-metrics {
    display: grid;
    gap: 10px;
    padding-top: 4px;
}

.owner-admin-sidebar-metrics article {
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.owner-admin-sidebar-metrics strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1rem;
}

.owner-admin-sidebar-metrics p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.86rem;
}

.owner-admin-panel-stack {
    min-width: 0;
}

.owner-admin-tab-panel[hidden] {
    display: none;
}

.owner-admin-metrics,
.owner-admin-model-grid,
.owner-admin-plan-grid,
.owner-admin-user-list,
.owner-admin-tool-grid,
.owner-admin-two-col {
    display: grid;
    gap: 16px;
}

.owner-admin-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 22px;
}

.owner-admin-metric {
    padding: 22px;
}

.owner-admin-metric strong {
    display: block;
    margin-top: 8px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.25rem;
}

.owner-admin-metric p {
    margin: 8px 0 0;
}

.owner-admin-nav {
    margin-bottom: 22px;
}

.owner-admin-section {
    display: grid;
    gap: 20px;
}

.owner-admin-model-grid,
.owner-admin-plan-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.owner-admin-user-list {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.owner-admin-two-col {
    grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
    align-items: start;
}

.owner-admin-tool-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.owner-admin-plan-card,
.owner-admin-model-card,
.owner-admin-user-card,
.owner-admin-form-card,
.owner-admin-list-card,
.owner-admin-tool-link {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.owner-admin-card-head,
.owner-admin-inline-fields,
.owner-admin-list-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.owner-admin-card-head strong,
.owner-admin-list-row strong,
.owner-admin-tool-link strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1.08rem;
    line-height: 1.3;
}

.owner-admin-card-head p,
.owner-admin-list-row p {
    margin: 8px 0 0;
    color: var(--text-soft);
    line-height: 1.55;
}

.owner-admin-inline-fields {
    align-items: end;
}

.compact-number-input {
    max-width: 180px;
}

.owner-admin-toggle,
.owner-admin-mini-check {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--text-soft);
    font-weight: 800;
}

.owner-admin-toggle {
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
}

.owner-admin-toggle input,
.owner-admin-mini-check input {
    width: 18px;
    height: 18px;
    accent-color: var(--green);
}

.owner-admin-checkbox-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.owner-admin-mini-check {
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    font-size: 0.86rem;
}

.owner-admin-ban-form {
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.is-user-banned {
    border-color: rgba(239, 83, 83, 0.16);
    background:
        radial-gradient(circle at top right, rgba(239, 83, 83, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(24, 18, 18, 0.98), rgba(10, 10, 9, 0.98));
}

.owner-admin-textarea {
    min-height: 132px;
    resize: vertical;
}

.owner-admin-list-card {
    align-content: start;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.07), transparent 30%),
        linear-gradient(180deg, rgba(15, 20, 16, 0.98), rgba(8, 11, 9, 0.98));
}

.owner-admin-list-row {
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.025);
}

.owner-admin-tool-link {
    text-decoration: none;
    transition: border-color 0.18s ease, transform 0.18s ease;
}

.owner-admin-tool-link:hover {
    transform: translateY(-1px);
    border-color: rgba(18, 192, 106, 0.2);
}

.owner-admin-user-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(190px, auto);
    gap: 14px;
    align-items: end;
}

.owner-admin-toolbar-note {
    min-height: 72px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.owner-admin-toolbar-note strong {
    display: block;
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1rem;
}

.owner-admin-toolbar-note p {
    margin: 5px 0 0;
    color: var(--text-muted);
    font-size: 0.86rem;
}

.owner-admin-user-table {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.owner-admin-user-table-head,
.owner-admin-user-summary {
    display: grid;
    grid-template-columns: minmax(240px, 1.6fr) minmax(120px, 0.75fr) minmax(160px, 1fr) minmax(120px, 0.75fr) 28px;
    gap: 14px;
    align-items: center;
}

.owner-admin-user-table-head {
    padding: 0 18px 4px;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.owner-admin-user-table-head::after {
    content: "";
}

.owner-admin-user-row {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    background:
        radial-gradient(circle at top right, rgba(18, 192, 106, 0.05), transparent 30%),
        linear-gradient(180deg, rgba(14, 19, 15, 0.98), rgba(7, 10, 8, 0.98));
}

.owner-admin-user-row[hidden] {
    display: none;
}

.owner-admin-user-summary {
    min-height: 74px;
    padding: 16px 18px;
    color: var(--text-soft);
    cursor: pointer;
    list-style: none;
}

.owner-admin-user-summary::-webkit-details-marker {
    display: none;
}

.owner-admin-user-summary::after {
    content: "+";
    justify-self: end;
    color: var(--gold-soft);
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 900;
}

.owner-admin-user-row[open] .owner-admin-user-summary::after {
    content: "-";
}

.owner-admin-user-summary strong,
.owner-admin-user-summary small {
    display: block;
}

.owner-admin-user-summary strong {
    color: var(--text);
    font-family: var(--font-display);
    font-size: 1rem;
    line-height: 1.25;
}

.owner-admin-user-summary small {
    margin-top: 4px;
    color: var(--text-muted);
    overflow-wrap: anywhere;
}

.owner-admin-user-drawer {
    display: grid;
    gap: 14px;
    padding: 0 18px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.owner-admin-user-form {
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.055);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.025);
}

.owner-admin-timed-access-panel {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(212, 177, 90, 0.14);
    border-radius: 16px;
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.08), transparent 34%),
        rgba(255, 255, 255, 0.02);
}

.owner-admin-delete-form {
    border-color: rgba(239, 83, 83, 0.14);
    background:
        radial-gradient(circle at top right, rgba(239, 83, 83, 0.08), transparent 30%),
        rgba(255, 255, 255, 0.02);
}

.owner-admin-delete-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(150px, auto);
    gap: 12px;
    align-items: center;
}

.owner-admin-shell .danger-button {
    border-color: rgba(255, 112, 112, 0.28);
    background: rgba(239, 83, 83, 0.13);
    color: #ffd1d1;
}

.owner-admin-shell .danger-button:hover {
    border-color: rgba(255, 112, 112, 0.44);
    background: rgba(239, 83, 83, 0.18);
}

.info-stack {
    margin-top: 18px;
}

.subscription-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.subscription-badge {
    min-height: 32px;
    padding: 0 12px;
    font-size: 0.72rem;
}

.upgrade-form {
    margin-top: 16px;
}

.compact-button {
    width: 100%;
    min-width: 0;
    padding: 14px 18px;
    font-size: 0.92rem;
}

.account-warning {
    margin-top: 18px;
}

.mini-info-card strong {
    color: var(--text);
    font-size: 1rem;
    line-height: 1.35;
}

.mini-info-card p {
    margin-top: 8px;
}

.dashboard-callout {
    background:
        radial-gradient(circle at top right, rgba(212, 177, 90, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(20, 19, 13, 0.98), rgba(11, 10, 8, 0.98));
}

.reviews-section {
    margin-top: 6px;
}

.placeholder-shell {
    padding-top: 8px;
}

@keyframes page-enter {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes panel-fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes float-up {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 860px) {
    .team-compare,
    .pitcher-grid,
    .module-grid,
    .subscription-section-grid,
    .referral-summary-grid,
    .responsible-use-grid,
    .account-summary-grid,
    .owner-admin-metrics,
    .owner-admin-two-col {
        grid-template-columns: 1fr;
    }

    .owner-admin-workspace {
        grid-template-columns: 1fr;
    }

    .account-console {
        grid-template-columns: 1fr;
    }

    .account-console-sidebar {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .account-side-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .compact-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .owner-admin-sidebar {
        position: static;
    }

    .owner-admin-sidebar-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .status-overview-grid {
        grid-template-columns: 1fr;
    }

    .promo-grid,
    .about-grid,
    .free-offer-grid,
    .support-grid,
    .store-access-grid,
    .store-current-access-grid,
    .store-plan-grid,
    .sport-tabs-grid,
    .summary-strip,
    .dashboard-grid,
    .analytics-grid,
    .analytics-summary-grid,
    .compact-trend-summary-grid,
    .trendboard-card-grid,
    .football-model-section-grid,
    .landing-grid,
    .guest-summary-grid,
    .guest-win-grid,
    .guest-bottom-grid,
    .guest-plan-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-badge-stack {
        align-items: flex-start;
    }

    .manual-content-grid {
        grid-template-columns: 1fr;
    }

    .support-activity-list,
    .support-legal-card,
    .owner-admin-user-list {
        grid-template-columns: 1fr;
    }

    .referral-invite-row,
    .referral-table-head,
    .referral-row {
        grid-template-columns: 1fr;
    }

    .referral-table-head {
        display: none;
    }

    .referral-actions-cell {
        justify-content: flex-start;
    }

    .owner-admin-user-toolbar,
    .owner-admin-user-table-head,
    .owner-admin-user-summary,
    .owner-admin-delete-row {
        grid-template-columns: 1fr;
    }

    .owner-admin-user-table-head {
        display: none;
    }

    .owner-admin-user-summary::after {
        justify-self: start;
    }

    .admin-inline-form {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .support-activity-heading,
    .support-heading-copy,
    .support-guide-heading,
    .support-admin-shortcut {
        flex-direction: column;
        align-items: flex-start;
    }

    .support-admin-actions {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
    }

    .activity-date-form {
        width: 100%;
    }

    .manual-panel-head,
    .support-activity-card,
    .support-activity-details,
    .support-activity-meta {
        align-items: flex-start;
    }

    .manual-panel-head,
    .support-activity-card {
        flex-direction: column;
    }

    .owner-admin-card-head,
    .owner-admin-inline-fields,
    .owner-admin-list-row {
        flex-direction: column;
        align-items: stretch;
    }

    .support-activity-meta {
        flex-direction: row;
        align-items: center;
    }

    .support-activity-details {
        max-width: none;
    }

    .store-sport-picker-bar,
    .store-sport-panel-head,
    .admin-grid,
    .store-cart-grid,
    .store-checkout-grid {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .footer-shell {
        grid-template-columns: 1fr;
    }

    .footer-meta {
        justify-items: start;
        text-align: left;
    }
}

@media (max-width: 720px) {
    .page-shell {
        width: min(100% - 20px, var(--content-width));
        padding: 20px 0 42px;
    }

    .hero-card,
    .input-card,
    .results-card,
    .alert-card,
    .game-card {
        border-radius: 22px;
    }

    .hero-card {
        padding: 26px 22px;
    }

    .owner-admin-sidebar-metrics {
        grid-template-columns: 1fr;
    }

    .hero-brand,
    .header-row,
    .card-topline,
    .action-row,
    .data-status-header,
    .topbar-shell,
    .site-brand,
    .dashboard-hero-row,
    .analytics-card-head,
    .trendboard-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .trendboard-toolbar {
        display: grid;
        grid-template-columns: 1fr;
    }

    .status-summary {
        justify-items: start;
    }

    .board-time-stack {
        align-items: flex-start;
    }

    .topbar-actions {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .topbar-plan-chip {
        max-width: 100%;
    }

    .account-menu {
        width: 100%;
    }

    .account-menu-trigger {
        width: 100%;
        justify-content: flex-start;
    }

    .account-menu-panel {
        position: static;
        width: 100%;
        margin-top: 10px;
    }

    .trend-text {
        text-align: left;
    }

    .card-grid {
        grid-template-columns: 1fr;
    }

    .choice-grid.two-up {
        grid-template-columns: 1fr;
    }

    .segmented-control {
        width: 100%;
    }

    .segment {
        flex: 1 1 0;
    }

    .segment span {
        width: 100%;
        min-width: 0;
    }

    .primary-button,
    .secondary-button,
    .public-cta-row .compact-button {
        width: 100%;
    }

    .result-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .result-probability {
        width: 100%;
        justify-content: flex-start;
    }

    .secondary-link {
        align-self: flex-start;
    }

    .site-nav,
    .topbar-actions,
    .public-cta-row,
    .feature-pill-row,
    .analytics-inline-actions,
    .filter-chip-row {
        width: 100%;
    }

    .dashboard-settings-button,
    .dashboard-logout-button {
        width: 100%;
        min-width: 0;
    }

    .store-hero-stack,
    .store-hero-cart-card {
        min-width: 0;
        width: 100%;
    }

    .store-cart-item-top,
    .store-cart-item-actions,
    .store-hero-cart-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .guest-win-card {
        grid-template-columns: 1fr;
    }

    .guest-win-probability {
        width: 100%;
        min-width: 0;
        justify-content: flex-start;
    }

    .store-cart-price-block {
        justify-items: start;
    }

    .checkout-summary-strip {
        grid-template-columns: 1fr;
    }

    .site-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nav-link,
    .nav-dropdown,
    .nav-dropdown-trigger,
    .nav-dropdown-link,
    .text-link-button,
    .mini-button {
        width: 100%;
    }

    .nav-dropdown-menu {
        position: static;
        margin-top: 8px;
        min-width: 0;
    }

    .topbar-shell {
        padding: 14px 0;
    }

    .form-grid.two-col,
    .form-grid.three-col,
    .panel-switcher {
        grid-template-columns: 1fr;
    }

    .upgrade-grid,
    .reviews-grid {
        grid-template-columns: 1fr;
    }

    .settings-status-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .account-console-sidebar {
        padding: 16px;
        border-radius: 22px;
    }

    .account-side-nav,
    .compact-summary-grid {
        grid-template-columns: 1fr;
    }

    .account-panel {
        min-height: 0;
    }

    .landing-logo-frame {
        width: min(100%, 210px);
        border-radius: 24px;
    }

    .landing-auth-card {
        width: 100%;
        padding: 20px 18px;
    }

    .site-notice-shell {
        width: min(100% - 20px, var(--content-width));
    }

    .site-notice-bar {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .site-notice-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .site-notice-button {
        width: auto;
        min-width: 0;
    }
}

@media (max-width: 900px) {
    .site-topbar {
        position: static;
        background: rgba(4, 7, 5, 0.96);
        backdrop-filter: none;
    }

    .topbar-shell {
        width: min(100% - 24px, 1280px);
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 12px 0;
    }

    .site-brand {
        flex-direction: row;
        align-items: center;
        max-width: 100%;
        gap: 10px;
    }

    .site-logo {
        width: 38px;
        height: 38px;
    }

    .site-name {
        font-size: 0.92rem;
    }

    .site-tagline {
        display: none;
    }

    .site-nav {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 6px;
        margin: 0;
        padding: 6px;
        border-radius: 18px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .site-nav::-webkit-scrollbar {
        display: none;
    }

    .nav-link,
    .nav-dropdown,
    .nav-dropdown-trigger {
        width: auto;
        flex: 0 0 auto;
    }

    .nav-link,
    .nav-dropdown-trigger {
        min-height: 38px;
        padding: 0 14px;
        font-size: 0.82rem;
    }

    .nav-dropdown-menu {
        position: fixed;
        top: 118px;
        left: 12px;
        right: 12px;
        width: auto;
        min-width: 0;
        margin-top: 0;
        transform: none;
        z-index: 1100;
    }

    .nav-dropdown-link {
        width: 100%;
    }

    .topbar-actions {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        margin-left: 0;
    }

    .topbar-plan-chip {
        max-width: 100%;
        min-height: 38px;
        justify-content: flex-start;
        padding: 0 12px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .account-menu {
        width: auto;
        justify-self: end;
    }

    .account-menu-trigger {
        width: auto;
        min-height: 38px;
        justify-content: center;
        padding: 0 10px 0 6px;
    }

    .account-avatar {
        width: 28px;
        height: 28px;
    }

    .account-trigger-label {
        font-size: 0.76rem;
    }

    .account-menu-panel {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        width: min(320px, calc(100vw - 24px));
        margin-top: 0;
    }

    .dashboard-shell,
    .page-shell {
        padding-top: 16px;
    }

    .mlb-board-section-head {
        align-items: flex-start;
        flex-direction: column;
        border-radius: 20px;
        padding: 18px;
    }
}

@media (max-width: 420px) {
    .account-trigger-label {
        display: none;
    }

    .topbar-plan-chip {
        font-size: 0.72rem;
    }
}
