/**
 * Office Pool Hub — Phase 1 theme sample
 * Typography, header, buttons, cards. Loads after theme-polish.css.
 * Remove this file from the layout to revert.
 */

:root {
    --site-canvas: #f4f7fb;
    --site-surface: #ffffff;
    --site-border: #e2e8f0;
    --site-text: #0f172a;
    --site-muted: #64748b;
    --site-navy: #0c1b2e;
    --site-navy-soft: #1e3a5f;
    --site-emerald: #00b386;
    --site-emerald-dark: #009972;
    --site-radius: 12px;
    --site-radius-lg: 16px;
    --site-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 10px 28px rgba(15, 23, 42, .08);
    --site-shadow-lg: 0 4px 8px rgba(15, 23, 42, .06), 0 24px 48px rgba(15, 23, 42, .12);
    --site-shadow-colored: 0 8px 28px rgba(0, 179, 134, .18);
    --site-emerald-tint: #ecfdf5;
    --site-emerald-tint-mid: #d1fae5;
    --site-navy-tint: #e8eef6;
    --site-navy-tint-mid: #dbeafe;
    --oph-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body.oph-theme-phase1,
body.oph-theme-phase1 .btn,
body.oph-theme-phase1 input,
body.oph-theme-phase1 select,
body.oph-theme-phase1 textarea {
    font-family: var(--oph-font);
}

body.oph-theme-phase1 {
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(0, 179, 134, .09) 0%, transparent 55%),
        radial-gradient(ellipse 60% 40% at 100% 40%, rgba(30, 58, 95, .07) 0%, transparent 50%),
        linear-gradient(180deg, #eef3f9 0%, var(--site-canvas) 35%, #edf2f8 100%);
    color: var(--site-text);
    letter-spacing: -0.011em;
}

body.oph-theme-phase1 h1,
body.oph-theme-phase1 h2,
body.oph-theme-phase1 h3,
body.oph-theme-phase1 h4,
body.oph-theme-phase1 h5 {
    font-family: var(--oph-font);
    letter-spacing: -0.025em;
}

/* Header — lighter, less “template” */
body.oph-theme-phase1 .header-2 .headerbox {
    border-bottom: 1px solid rgba(0, 179, 134, .18);
    background: linear-gradient(180deg, rgba(255, 255, 255, .97) 0%, rgba(248, 252, 250, .94) 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 18px rgba(15, 23, 42, .07);
    padding: 8px 0;
}

body.oph-theme-phase1 .site-header-logo img {
    max-height: 52px;
}

body.oph-theme-phase1 .site-header-nav .site-nav-menu > li > a {
    padding: 8px 10px;
    border-radius: 8px;
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    transition: color .15s ease, background .15s ease;
}

body.oph-theme-phase1 .site-header-nav .site-nav-menu > li > a:hover,
body.oph-theme-phase1 .site-header-nav .site-nav-menu > li > a:focus {
    color: var(--site-emerald-dark);
    background: rgba(0, 179, 134, .1);
    text-decoration: none;
}

body.oph-theme-phase1 .site-nav-why {
    color: var(--site-emerald-dark) !important;
    background: rgba(0, 179, 134, .08);
}

body.oph-theme-phase1 .site-header-btn {
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* Buttons — modern pill shape, softer shadow */
body.oph-theme-phase1 .btn {
    border-radius: 10px;
    font-weight: 600;
    letter-spacing: -0.01em;
    box-shadow: none;
}

body.oph-theme-phase1 .btn-lg {
    min-height: 46px;
    padding: 12px 22px;
    border-radius: 12px;
    font-size: 15px;
}

body.oph-theme-phase1 .btn-primary,
body.oph-theme-phase1 .btn-primary:focus {
    border-color: var(--site-emerald);
    background: linear-gradient(180deg, #00c492 0%, var(--site-emerald) 100%);
    box-shadow: 0 1px 2px rgba(0, 179, 134, .2), 0 6px 16px rgba(0, 179, 134, .22);
}

body.oph-theme-phase1 .btn-primary:hover {
    border-color: var(--site-emerald-dark);
    background: linear-gradient(180deg, var(--site-emerald) 0%, var(--site-emerald-dark) 100%);
    box-shadow: 0 2px 4px rgba(0, 179, 134, .18), 0 10px 22px rgba(0, 179, 134, .26);
    transform: translateY(-1px);
}

body.oph-theme-phase1 .btn-default,
body.oph-theme-phase1 .btn-default:focus {
    border-color: var(--site-border);
    background: #fff;
    color: #334155;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

body.oph-theme-phase1 .btn-default:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: var(--site-navy);
    box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
}

/* Cards & panels */
body.oph-theme-phase1 .panel-box,
body.oph-theme-phase1 .why-oph-card,
body.oph-theme-phase1 .start-spotlight,
body.oph-theme-phase1 .start-feature,
body.oph-theme-phase1 .start-mock-card,
body.oph-theme-phase1 .home-action-card {
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #fafcff 100%);
    box-shadow: var(--site-shadow);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.oph-theme-phase1 .why-oph-card:hover,
body.oph-theme-phase1 .start-spotlight:hover,
body.oph-theme-phase1 .start-feature:hover,
body.oph-theme-phase1 .home-action-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--site-shadow-lg);
    border-color: rgba(0, 179, 134, .25);
}

body.oph-theme-phase1 .why-oph-card--spotlight,
body.oph-theme-phase1 .start-spotlight--featured {
    border-color: rgba(0, 179, 134, .35);
    background: linear-gradient(145deg, #ecfdf5 0%, #f0fdf9 45%, #fff 100%);
    box-shadow: var(--site-shadow-colored);
}

body.oph-theme-phase1 .why-oph-pill {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: -0.01em;
    border: 1px solid rgba(0, 179, 134, .2);
    background: rgba(255, 255, 255, .85);
    color: #334155;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .05);
}

body.oph-theme-phase1 .why-oph-pill--featured {
    border-color: rgba(0, 179, 134, .45);
    background: linear-gradient(135deg, #00c492 0%, var(--site-emerald) 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(0, 179, 134, .32);
}

body.oph-theme-phase1 .why-oph-highlight-strip {
    border: 1px solid rgba(0, 179, 134, .16);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(135deg, rgba(236, 253, 245, .95) 0%, rgba(232, 238, 246, .9) 100%);
    box-shadow: var(--site-shadow);
}

/* Hero sections */
body.oph-theme-phase1 .start-hero {
    border-bottom: 1px solid rgba(0, 179, 134, .12);
}

body.oph-theme-phase1 .start-hero-bg {
    background:
        linear-gradient(105deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .78) 42%, rgba(236, 253, 245, .55) 100%),
        radial-gradient(ellipse 70% 80% at 100% 10%, rgba(0, 179, 134, .22) 0%, transparent 58%),
        radial-gradient(ellipse 50% 60% at 0% 90%, rgba(30, 58, 95, .14) 0%, transparent 55%),
        url('/resources/files/static/hero-multi-sport.jpg') center right / cover no-repeat;
}

body.oph-theme-phase1 .why-oph-hero {
    background:
        linear-gradient(135deg, rgba(236, 253, 245, .95) 0%, rgba(255, 255, 255, .92) 45%, rgba(232, 238, 246, .85) 100%),
        radial-gradient(ellipse 65% 75% at 95% 15%, rgba(0, 179, 134, .2) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 5% 85%, rgba(30, 58, 95, .12) 0%, transparent 55%);
    box-shadow: inset 0 -1px 0 rgba(0, 179, 134, .1);
}

body.oph-theme-phase1 .start-hero-copy h1,
body.oph-theme-phase1 .why-oph-hero h1 {
    color: var(--site-navy);
    font-weight: 800;
    letter-spacing: -0.035em;
}

body.oph-theme-phase1 .start-kicker,
body.oph-theme-phase1 .why-oph-kicker,
body.oph-theme-phase1 .sc-eyebrow {
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--site-emerald-dark);
}

body.oph-theme-phase1 .start-section-head h2,
body.oph-theme-phase1 .why-oph-section-head h2 {
    color: var(--site-navy);
}

body.oph-theme-phase1 .start-section-head h2::after,
body.oph-theme-phase1 .why-oph-section-head h2::after {
    content: "";
    display: block;
    width: 52px;
    height: 4px;
    margin-top: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--site-emerald) 0%, rgba(0, 179, 134, .35) 100%);
}

body.oph-theme-phase1 .start-section-head--center h2::after {
    margin-left: auto;
    margin-right: auto;
}

body.oph-theme-phase1 .start-lead,
body.oph-theme-phase1 .why-oph-lead {
    color: var(--site-muted);
    font-size: 17px;
    line-height: 1.65;
}

/* Alternating colored sections */
body.oph-theme-phase1 .start-section--alt {
    background:
        linear-gradient(180deg, var(--site-emerald-tint) 0%, rgba(255, 255, 255, .6) 100%);
    border-top: 1px solid rgba(0, 179, 134, .14);
    border-bottom: 1px solid rgba(0, 179, 134, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

body.oph-theme-phase1 .why-oph-section--alt {
    background:
        linear-gradient(180deg, var(--site-navy-tint) 0%, rgba(255, 255, 255, .55) 100%);
    border-top: 1px solid rgba(30, 58, 95, .12);
    border-bottom: 1px solid rgba(30, 58, 95, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}

body.oph-theme-phase1 .why-oph-section--alt .why-oph-card,
body.oph-theme-phase1 .start-section--alt .start-spotlight,
body.oph-theme-phase1 .start-section--alt .start-split-panel .start-admin-card {
    background: #fff;
}

/* Mock cards & admin preview */
body.oph-theme-phase1 .start-mock-card {
    box-shadow: 0 16px 40px rgba(15, 23, 42, .14);
}

body.oph-theme-phase1 .start-mock-header {
    background: linear-gradient(135deg, var(--site-navy-soft) 0%, var(--site-navy) 100%);
    border-bottom: none;
}

body.oph-theme-phase1 .start-mock-title {
    color: rgba(255, 255, 255, .92);
}

body.oph-theme-phase1 .start-mock-card--vision {
    border-color: rgba(0, 179, 134, .35);
    background: linear-gradient(145deg, #ecfdf5, #fff);
}

body.oph-theme-phase1 .start-mock-card--tv {
    border-color: rgba(30, 58, 95, .25);
    background: linear-gradient(145deg, #e8eef6, #fff);
}

body.oph-theme-phase1 .start-admin-card {
    border: 1px solid rgba(0, 179, 134, .2);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #f8fffc 100%);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .start-admin-chip {
    background: rgba(0, 179, 134, .1);
    color: var(--site-emerald-dark);
}

/* Homepage hero slider */
body.oph-theme-phase1 .home-landing {
    background: transparent;
}

body.oph-theme-phase1 .home-banner {
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .22);
}

body.oph-theme-phase1 .home-banner:after {
    background:
        linear-gradient(120deg, rgba(12, 27, 46, .72) 0%, rgba(0, 179, 134, .28) 55%, rgba(12, 27, 46, .78) 100%);
}

body.oph-theme-phase1 .home-intro-card {
    border: 1px solid rgba(0, 179, 134, .22);
    background: linear-gradient(180deg, #fff 0%, #f4fbf8 100%);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .home-action-card-primary {
    border-color: rgba(0, 179, 134, .35);
    background: linear-gradient(145deg, #ecfdf5 0%, #fff 100%);
    box-shadow: var(--site-shadow-colored);
}

body.oph-theme-phase1 .home-action-icon {
    color: var(--site-emerald);
}

body.oph-theme-phase1 .home-feature--highlight {
    border-color: rgba(0, 179, 134, .28);
    background: linear-gradient(180deg, #f0fdf8 0%, #fff 100%);
}

/* Tabs & chips */
body.oph-theme-phase1 .oph-page-tab,
body.oph-theme-phase1 .scores-tab {
    border-radius: 999px;
    font-weight: 600;
}

body.oph-theme-phase1 .oph-page-tab.is-active,
body.oph-theme-phase1 .scores-tab.is-active {
    border-color: var(--site-emerald);
    background: rgba(0, 179, 134, .1);
    color: var(--site-emerald-dark);
}

/* Forms */
body.oph-theme-phase1 .form-control,
body.oph-theme-phase1 .content-info select,
body.oph-theme-phase1 .content-info input,
body.oph-theme-phase1 .content-info textarea {
    border-radius: 10px;
    border-color: var(--site-border);
    font-size: 15px;
}

body.oph-theme-phase1 .form-control:focus,
body.oph-theme-phase1 .content-info select:focus,
body.oph-theme-phase1 .content-info input:focus,
body.oph-theme-phase1 .content-info textarea:focus {
    border-color: var(--site-emerald);
    box-shadow: 0 0 0 4px rgba(0, 179, 134, .12);
}

/* CTA bands */
body.oph-theme-phase1 .home-cta-band {
    border: 1px solid rgba(0, 179, 134, .28);
    background: linear-gradient(135deg, #d1fae5 0%, #ecfdf5 40%, #fff 100%);
    box-shadow: var(--site-shadow-colored);
}

body.oph-theme-phase1 .home-cta-band,
body.oph-theme-phase1 .start-final-cta {
    border-radius: var(--site-radius-lg);
}

body.oph-theme-phase1 .start-final-cta {
    background: linear-gradient(135deg, #0f2844 0%, var(--site-navy) 45%, #0a3d34 100%);
    box-shadow: 0 16px 40px rgba(12, 27, 46, .28);
}

body.oph-theme-phase1 .why-oph-compare-col--us {
    border-color: rgba(0, 179, 134, .28);
    background: linear-gradient(180deg, #ecfdf5 0%, #fff 100%);
    box-shadow: inset 0 0 0 1px rgba(0, 179, 134, .08);
}

body.oph-theme-phase1 .why-oph-compare-col--them {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

body.oph-theme-phase1 .why-oph-feature-item {
    border: 1px solid rgba(148, 163, 184, .25);
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

body.oph-theme-phase1 .why-oph-feature-item i {
    color: #fff;
    background: linear-gradient(135deg, var(--site-emerald) 0%, var(--site-emerald-dark) 100%);
    box-shadow: 0 4px 12px rgba(0, 179, 134, .28);
}

body.oph-theme-phase1 .start-format {
    border-color: rgba(0, 179, 134, .18);
    background: linear-gradient(180deg, #fff 0%, #f7fdfb 100%);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

body.oph-theme-phase1 .start-sport {
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
}

/* Footer */
body.oph-theme-phase1 .footer {
    border-top: 1px solid rgba(0, 179, 134, .15);
    background: linear-gradient(180deg, #fff 0%, var(--site-navy-tint) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

/* Trust strip on /start */
body.oph-theme-phase1 .start-trust {
    border-bottom: 1px solid rgba(0, 179, 134, .14);
    background: linear-gradient(90deg, rgba(236, 253, 245, .9) 0%, rgba(255, 255, 255, .95) 50%, rgba(232, 238, 246, .9) 100%);
    box-shadow: 0 4px 16px rgba(15, 23, 42, .04);
}

body.oph-theme-phase1 .start-trust-list li {
    font-weight: 500;
    color: #475569;
}

body.oph-theme-phase1 .start-trust-list i {
    color: var(--site-emerald);
}

@media (max-width: 767px) {
    body.oph-theme-phase1 .site-header-nav .site-nav-menu > li > a {
        padding: 10px 4px;
    }
}

/* ============================================================
   Global — pool, scores, accounts, auth, legal, admin, etc.
   ============================================================ */

body.oph-theme-phase1 .content-info {
    background: transparent;
}

body.oph-theme-phase1 .content-info .panel-box {
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #fafcff 100%);
    box-shadow: var(--site-shadow);
}

body.oph-theme-phase1 .content-info .panel-box .titles {
    padding: 14px 20px;
    border-bottom: none;
    background: linear-gradient(135deg, var(--site-navy-soft) 0%, var(--site-navy) 100%);
}

body.oph-theme-phase1 .content-info .panel-box .titles h3,
body.oph-theme-phase1 .content-info .panel-box .titles h4 {
    margin: 0;
    color: #fff;
    font-weight: 700;
    letter-spacing: -0.02em;
}

body.oph-theme-phase1 .content-info .panel-box .titles:before,
body.oph-theme-phase1 .content-info .panel-box .titles:after {
    background: var(--site-emerald);
}

body.oph-theme-phase1 .content-info .panel-box .info-panel {
    padding: 22px 24px;
}

body.oph-theme-phase1 .sc-eyebrow,
body.oph-theme-phase1 .pool-eyebrow {
    color: var(--site-emerald-dark);
    font-weight: 700;
}

/* Pool hub & form pages */
body.oph-theme-phase1 .pool-hub-page,
body.oph-theme-phase1 .pool-form-page {
    background:
        radial-gradient(ellipse 80% 45% at 50% 0%, rgba(0, 179, 134, .11) 0%, transparent 58%),
        radial-gradient(ellipse 50% 35% at 100% 20%, rgba(30, 58, 95, .08) 0%, transparent 50%),
        linear-gradient(180deg, #dce8f2 0%, #edf2f8 140px, transparent 140px);
}

body.oph-theme-phase1 .pool-page {
    background: transparent;
}

body.oph-theme-phase1 .pool-hero:before {
    background: linear-gradient(105deg, rgba(12, 27, 46, .94) 0%, rgba(12, 27, 46, .7) 50%, rgba(0, 153, 114, .38) 100%);
}

body.oph-theme-phase1 .pool-context-card,
body.oph-theme-phase1 .matchup-card,
body.oph-theme-phase1 .pool-empty-state {
    border: 1px solid rgba(148, 163, 184, .32);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    box-shadow: var(--site-shadow);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.oph-theme-phase1 .matchup-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 179, 134, .28);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .pick-progress {
    border: 1px solid rgba(0, 179, 134, .18);
    background: linear-gradient(180deg, #ecfdf5 0%, #f8fffc 100%);
    color: var(--site-navy);
}

body.oph-theme-phase1 .pool-hub-actions {
    border: 1px solid rgba(0, 179, 134, .16);
    border-radius: var(--site-radius);
    background: linear-gradient(135deg, rgba(236, 253, 245, .85) 0%, rgba(255, 255, 255, .95) 100%);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

body.oph-theme-phase1 .pool-hub-nav__group {
    border-radius: var(--site-radius);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}

body.oph-theme-phase1 .pool-hub-hero {
    border-color: rgba(0, 179, 134, .16);
    border-radius: var(--site-radius);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .04);
}

body.oph-theme-phase1 .pool-hub-drawer,
body.oph-theme-phase1 .pool-hub-roster {
    border-color: rgba(0, 179, 134, .12);
    border-radius: var(--site-radius);
}

body.oph-theme-phase1 .pool-btn-primary {
    border-radius: 10px;
    background: linear-gradient(180deg, #00c492 0%, var(--site-emerald) 100%);
    box-shadow: 0 4px 14px rgba(0, 179, 134, .24);
}

body.oph-theme-phase1 .pool-btn-secondary {
    border-radius: 10px;
    border-color: var(--site-border);
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .05);
}

/* Sports Central */
body.oph-theme-phase1 .sports-central .sc-greeting.panel-box {
    border-color: rgba(0, 179, 134, .22);
    background: linear-gradient(135deg, #ecfdf5 0%, #fff 100%);
    box-shadow: var(--site-shadow-colored);
}

/*
 * The greeting panel is light here, but its base styles were written for the
 * dark navy hero, so the heading and subtext are still white and disappear.
 * Re-colour them for a light surface, matching the other phase 1 heroes.
 */
body.oph-theme-phase1 .sports-central .sc-greeting h2 {
    color: var(--site-navy);
    letter-spacing: -0.02em;
}

body.oph-theme-phase1 .sports-central .sc-greeting .sc-eyebrow {
    color: var(--site-emerald-dark);
}

body.oph-theme-phase1 .sports-central .sc-greeting .text-muted {
    color: var(--site-muted) !important;
}

body.oph-theme-phase1 .sports-central .sc-stat-card--picks .info-panel {
    background: linear-gradient(180deg, #ecfdf5 0%, #fff 100%);
}

body.oph-theme-phase1 .sports-central .sc-stat-card--accuracy .info-panel {
    background: linear-gradient(180deg, #e8eef6 0%, #fff 100%);
}

body.oph-theme-phase1 .sports-central .sc-stat-card--achievements .info-panel {
    background: linear-gradient(180deg, #fef9c3 0%, #fff 100%);
}

body.oph-theme-phase1 .sports-central .sc-stat-card h3 {
    color: var(--site-navy);
    font-weight: 800;
    letter-spacing: -0.03em;
}

body.oph-theme-phase1 .sports-central .sc-shark-card {
    border-color: rgba(30, 58, 95, .18);
    background: linear-gradient(145deg, #e8eef6 0%, #fff 100%);
}

body.oph-theme-phase1 .sports-central .sc-section-card {
    border-radius: var(--site-radius-lg);
    box-shadow: var(--site-shadow);
}

body.oph-theme-phase1 .sports-central .picks-deadline-banner {
    border-radius: var(--site-radius);
    border: 1px solid rgba(245, 158, 11, .35);
    background: linear-gradient(90deg, #fffbeb 0%, #fff 100%);
    box-shadow: 0 4px 14px rgba(245, 158, 11, .12);
}

/* Account sidebar nav */
body.oph-theme-phase1 .menu-ul-container {
    border: 1px solid rgba(148, 163, 184, .3);
    border-radius: var(--site-radius-lg);
    background: #fff;
    box-shadow: var(--site-shadow);
    overflow: hidden;
}

body.oph-theme-phase1 .menu-ul-container ul li.active-li,
body.oph-theme-phase1 .pool-hub-page .menu-ul-container ul li.active-li {
    background: rgba(0, 179, 134, .1);
    box-shadow: inset 3px 0 0 var(--site-emerald);
}

body.oph-theme-phase1 .menu-ul-container ul li:hover,
body.oph-theme-phase1 .pool-hub-page .menu-ul-container ul li:hover {
    background: rgba(0, 179, 134, .06);
}

/* Scores hub */
body.oph-theme-phase1 .scores-page .scores-hero {
    border-color: rgba(0, 179, 134, .22);
    background: linear-gradient(135deg, #d1fae5 0%, #ecfdf5 35%, #fff 100%);
    box-shadow: var(--site-shadow-colored);
}

body.oph-theme-phase1 .scores-page .scores-hero h2 {
    color: var(--site-navy);
    font-weight: 800;
    letter-spacing: -0.03em;
}

body.oph-theme-phase1 .scores-view-btn {
    border-radius: 999px;
    font-weight: 600;
}

body.oph-theme-phase1 .scores-view-btn.is-active {
    border-color: var(--site-emerald);
    background: rgba(0, 179, 134, .12);
    color: var(--site-emerald-dark);
}

body.oph-theme-phase1 .scores-card {
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    box-shadow: var(--site-shadow);
    transition: transform .18s ease, box-shadow .18s ease;
}

body.oph-theme-phase1 .scores-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .scores-card--live {
    border-color: rgba(245, 158, 11, .45);
    background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
    box-shadow: 0 8px 24px rgba(245, 158, 11, .14);
}

body.oph-theme-phase1 .scores-toolbar-panel {
    border-color: rgba(30, 58, 95, .12);
    background: linear-gradient(180deg, #fff 0%, #f1f5f9 100%);
}

/* Pick sheets hub */
body.oph-theme-phase1 .pick-sheets-hub .panel-box,
body.oph-theme-phase1 .pick-sheet-fill-page .panel-box {
    box-shadow: var(--site-shadow);
}

body.oph-theme-phase1 .pick-sheets-hub .pick-sheets-sport-card,
body.oph-theme-phase1 .pick-sheets-featured {
    border-radius: var(--site-radius-lg);
    box-shadow: var(--site-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.oph-theme-phase1 .pick-sheets-hub .pick-sheets-sport-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 179, 134, .28);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .pick-sheet-scan .panel-box,
body.oph-theme-phase1 .pick-sheet-intake .panel-box {
    border-color: rgba(0, 179, 134, .2);
}

/* Beat OPH Shark */
body.oph-theme-phase1 .beat-shark-page .beat-shark-hero,
body.oph-theme-phase1 .beat-shark-page .shark-challenge-banner {
    border-radius: var(--site-radius-lg);
    background: linear-gradient(135deg, #0f2844 0%, var(--site-navy) 45%, #0a4a3d 100%);
    box-shadow: 0 16px 40px rgba(12, 27, 46, .25);
}

body.oph-theme-phase1 .beat-shark-step-card .panel-box,
body.oph-theme-phase1 .beat-shark-steps .beat-shark-step,
body.oph-theme-phase1 .beat-shark-page .panel-box {
    box-shadow: var(--site-shadow);
}

body.oph-theme-phase1 .shark-pick-callout {
    border: 1px solid rgba(0, 179, 134, .18);
    background: linear-gradient(90deg, #ecfdf5 0%, #f8fafc 100%);
}

/* Homepage (welcome) content blocks */
body.oph-theme-phase1 .home-page {
    background: transparent;
}

body.oph-theme-phase1 .home-feature {
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
    box-shadow: var(--site-shadow);
    transition: transform .18s ease, box-shadow .18s ease;
}

body.oph-theme-phase1 .home-feature:hover {
    transform: translateY(-2px);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .home-feature--highlight {
    border-color: rgba(0, 179, 134, .28);
    background: linear-gradient(145deg, #ecfdf5 0%, #fff 100%);
}

body.oph-theme-phase1 .home-shark-block {
    border-radius: var(--site-radius-lg);
    background: linear-gradient(135deg, #0f2844 0%, #0a4a3d 100%);
    box-shadow: var(--site-shadow-lg);
}

/* Hall of Fame & Season Wrapped */
body.oph-theme-phase1 .hall-of-fame-card {
    border: 1px solid rgba(0, 179, 134, .18);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #f8fffc 100%);
    box-shadow: var(--site-shadow);
    transition: transform .18s ease, box-shadow .18s ease;
}

body.oph-theme-phase1 .hall-of-fame-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .season-wrapped-page .season-wrapped-card {
    border-radius: var(--site-radius-lg);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .season-wrapped-page .season-wrapped-card--champion {
    border-color: rgba(0, 179, 134, .35);
    background: linear-gradient(145deg, #ecfdf5 0%, #fff 55%, #fef9c3 100%);
}

body.oph-theme-phase1 .season-wrapped-stat {
    border-radius: 10px;
    background: rgba(255, 255, 255, .7);
    box-shadow: inset 0 0 0 1px rgba(0, 179, 134, .12);
}

/* Legal & support */
body.oph-theme-phase1 .legal-page .panel-box .info-panel,
body.oph-theme-phase1 .support-contact-page .panel-box .info-panel {
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

body.oph-theme-phase1 .legal-page .legal-document h3 {
    color: var(--site-navy);
}

body.oph-theme-phase1 .legal-page .legal-document a {
    color: var(--site-emerald-dark);
}

/* Auth pages */
body.oph-theme-phase1 .content-info > .container .panel-box,
body.oph-theme-phase1 .content-info > .container > .row .panel-box {
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .alert-success {
    border-color: rgba(0, 179, 134, .25);
    background: #ecfdf5;
    color: #065f46;
    border-radius: 10px;
}

body.oph-theme-phase1 .alert-warning {
    border-radius: 10px;
}

body.oph-theme-phase1 .alert-danger {
    border-radius: 10px;
}

/* Tables site-wide */
body.oph-theme-phase1 .table,
body.oph-theme-phase1 .table-striped {
    border-radius: var(--site-radius);
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
}

body.oph-theme-phase1 .table thead th {
    background: linear-gradient(180deg, #e8eef5 0%, #dfe8f2 100%);
    color: var(--site-navy);
}

/* Leaderboard */
body.oph-theme-phase1 .leaderboard-shark-page .section-title {
    border-radius: var(--site-radius-lg) var(--site-radius-lg) 0 0;
    box-shadow: var(--site-shadow);
}

body.oph-theme-phase1 .leaderboard-shark-summary {
    border: 1px solid rgba(0, 179, 134, .18);
    border-radius: var(--site-radius);
    background: linear-gradient(90deg, #ecfdf5 0%, #fff 100%);
}

/* ============================================================
   Admin control panel
   ============================================================ */

body.oph-theme-phase1.admin-app-body {
    background:
        radial-gradient(ellipse 70% 50% at 0% 0%, rgba(0, 179, 134, .07) 0%, transparent 55%),
        linear-gradient(180deg, #eef3f9 0%, #f4f7fb 100%);
}

body.oph-theme-phase1 .admin-app-sidebar {
    background: linear-gradient(180deg, #081422 0%, #0c1b2e 45%, #134e45 100%);
    box-shadow: 4px 0 28px rgba(15, 23, 42, .18);
}

body.oph-theme-phase1 .admin-app-nav a.is-active {
    background: rgba(0, 179, 134, .24);
    box-shadow: inset 0 0 0 1px rgba(0, 179, 134, .4);
}

body.oph-theme-phase1 .admin-app-topbar {
    border-bottom: 1px solid rgba(0, 179, 134, .12);
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 2px 12px rgba(15, 23, 42, .05);
}

body.oph-theme-phase1 .admin-stat-card,
body.oph-theme-phase1 .admin-card {
    border: 1px solid rgba(148, 163, 184, .32);
    border-radius: var(--site-radius-lg);
    background: linear-gradient(180deg, #fff 0%, #fafcff 100%);
    box-shadow: var(--site-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.oph-theme-phase1 .admin-stat-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 179, 134, .25);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .admin-stat-value {
    color: var(--site-navy);
    letter-spacing: -0.03em;
}

body.oph-theme-phase1 .admin-stat-card.is-accent {
    background: linear-gradient(180deg, #fff 0%, #fafcff 100%);
    border-color: rgba(148, 163, 184, .32);
    color: inherit;
}

body.oph-theme-phase1 .admin-stat-card.is-accent .admin-stat-value {
    color: var(--site-navy, #0b1f33) !important;
}

body.oph-theme-phase1 .admin-stat-card.is-accent .admin-stat-label {
    color: #627386 !important;
}

body.oph-theme-phase1 .admin-btn.is-primary,
body.oph-theme-phase1 .admin-btn--primary {
    background: linear-gradient(180deg, #00c492 0%, var(--site-emerald) 100%);
    box-shadow: 0 4px 12px rgba(0, 179, 134, .22);
}

body.oph-theme-phase1 .admin-badge.is-tv {
    box-shadow: 0 2px 8px rgba(3, 105, 161, .12);
}

body.oph-theme-phase1 .admin-badge.is-renewed {
    box-shadow: 0 2px 8px rgba(146, 64, 14, .1);
}

body.oph-theme-phase1 .admin-login-page {
    background:
        radial-gradient(ellipse 60% 50% at 50% 0%, rgba(0, 179, 134, .14) 0%, transparent 60%),
        linear-gradient(180deg, #dce8f2 0%, #eef3f9 100%);
}

body.oph-theme-phase1 .admin-login-card {
    border: 1px solid rgba(0, 179, 134, .18);
    border-radius: var(--site-radius-lg);
    background: #fff;
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .admin-login-brand h1 {
    color: var(--site-navy);
    letter-spacing: -0.03em;
}

/* Landing pages — pool guides, sport guides, help center */
body.oph-theme-phase1 .landing-page {
    padding-top: 0 !important;
}

body.oph-theme-phase1 .landing-hero {
    position: relative;
    overflow: hidden;
    padding: 56px 0 48px;
    border-bottom: 1px solid rgba(0, 179, 134, .12);
    background:
        linear-gradient(105deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .78) 42%, rgba(236, 253, 245, .55) 100%),
        radial-gradient(ellipse 70% 80% at 100% 10%, rgba(0, 179, 134, .22) 0%, transparent 58%),
        radial-gradient(ellipse 50% 60% at 0% 90%, rgba(30, 58, 95, .14) 0%, transparent 55%),
        url('/resources/files/static/hero-multi-sport.jpg') center right / cover no-repeat;
}

body.oph-theme-phase1 .landing-hero--compact {
    padding: 40px 0 28px;
}

body.oph-theme-phase1 .landing-hero-copy h1 {
    color: var(--site-navy);
    font-weight: 800;
    letter-spacing: -0.035em;
}

body.oph-theme-phase1 .landing-page .start-kicker {
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--site-emerald-dark);
}

body.oph-theme-phase1 .landing-page .start-lead {
    color: var(--site-muted);
    font-size: 17px;
    line-height: 1.65;
}

body.oph-theme-phase1 .landing-page .start-section-head h2 {
    color: var(--site-navy);
}

body.oph-theme-phase1 .landing-page .start-section-head h2::after {
    content: "";
    display: block;
    width: 52px;
    height: 4px;
    margin-top: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--site-emerald) 0%, rgba(0, 179, 134, .35) 100%);
}

body.oph-theme-phase1 .landing-page .start-section-head--center h2::after {
    margin-left: auto;
    margin-right: auto;
}

body.oph-theme-phase1 .landing-section--alt {
    background:
        linear-gradient(180deg, var(--site-emerald-tint) 0%, rgba(255, 255, 255, .6) 100%);
    border-top: 1px solid rgba(0, 179, 134, .14);
    border-bottom: 1px solid rgba(0, 179, 134, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

body.oph-theme-phase1 .landing-guide-card,
body.oph-theme-phase1 .help-article-card {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.oph-theme-phase1 .landing-guide-card:hover,
body.oph-theme-phase1 .help-article-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--site-shadow-lg);
}

body.oph-theme-phase1 .landing-cta {
    background: linear-gradient(135deg, var(--site-navy) 0%, var(--site-navy-soft) 100%);
}

