/* ==========================================
   ROOT
========================================== */

:root
{
    --primary:#003366;
    --primary-hover:#004c99;
	    --primary-dark: #085897;
    --primary-soft: #eaf4fd;
    --success:#16a34a;
    --warning:#f59e0b;
    --danger:#dc2626;
    --bg:#eef3f8;
    --card:#ffffff;
    --border:#d9e2ec;
    --text:#1f2937;
    --muted:#6b7280;
}

body
{
    margin:0;
    font-family:'Segoe UI',Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

.page-container
{
    max-width:1400px;
    margin:auto;
    padding:20px;
}

.nav,
.admin-nav
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:20px;
}

.nav a,
.admin-nav a
{
    background:var(--primary);
    color:#fff;
    text-decoration:none;
    padding:12px 18px;
    border-radius:8px;
    font-weight:600;
}

.admin-nav a
{
    background:#234b73;
}

.nav a:hover,
.admin-nav a:hover
{
    background:var(--primary-hover);
}

.card
{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    padding:20px;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
}

.stat-grid
{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:18px;
    margin:20px 0;
}

.stat-card
{
    background:var(--primary);
    color:#fff;
    border-radius:12px;
    padding:20px;
}

.stat-value
{
    font-size:34px;
    font-weight:bold;
}

.alert
{
    background:#fff8db;
    border-left:5px solid var(--warning);
    padding:16px;
    border-radius:8px;
    margin:20px 0;
}


/* ==========================================
   PAGE HEADER
========================================== */

.page-header
{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-start;
    margin-bottom:20px;
}

.page-eyebrow,
.section-kicker
{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.page-header h1
{
    margin:6px 0 4px;
    color:var(--primary);
    font-size:clamp(28px,4vw,42px);
    line-height:1.1;
}

.page-subtitle
{
    margin:0;
    color:var(--muted);
    font-size:17px;
}

.page-header-meta
{
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:flex-end;
    color:var(--muted);
    font-weight:600;
}

.page-header-meta span
{
    display:flex;
    gap:8px;
    align-items:center;
}

/* ==========================================
   DASHBOARD STATS
========================================== */

.stat-card
{
    display:flex;
    align-items:center;
    gap:16px;
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    border-radius:14px;
    padding:22px;
    min-height:120px;
    box-shadow:0 6px 18px rgba(0,51,102,.18);
}

.stat-icon
{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:rgba(255,255,255,.14);
    font-size:24px;
}

.stat-label
{
    font-size:14px;
    font-weight:700;
    opacity:.84;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.stat-value
{
    margin-top:4px;
    font-size:36px;
    font-weight:800;
    line-height:1;
}

/* ==========================================
   ALERTS
========================================== */

.alert
{
    display:flex;
    gap:16px;
    align-items:center;
    margin:20px 0;
    padding:18px;
    border-radius:12px;
}

.alert-icon
{
    font-size:24px;
}

.alert-content
{
    display:flex;
    flex:1;
    flex-direction:column;
    gap:4px;
}

.alert-warning
{
    background:#fff7db;
    border:1px solid #f6d271;
    color:#7a4a00;
}

.alert-success
{
    background:#eaf8ef;
    border:1px solid #9dd9ad;
    color:#12602d;
}

/* ==========================================
   BUTTONS
========================================== */

.btn
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:8px;
    padding:11px 15px;
    border:1px solid transparent;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
    transition:.2s ease;
}

.btn-primary
{
    background:var(--primary);
    color:#fff;
}

.btn-primary:hover
{
    background:var(--primary-hover);
}

.btn-secondary
{
    background:#fff;
    color:var(--primary);
    border-color:var(--border);
}

.btn-secondary:hover
{
    border-color:var(--primary);
}

.btn-warning
{
    background:var(--warning);
    color:#2d1a00;
}

/* ==========================================
   DASHBOARD PANEL
========================================== */

.dashboard-panel
{
    margin-top:24px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    padding:22px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.section-heading
{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-start;
    margin-bottom:20px;
}

.section-heading h2
{
    margin:5px 0 4px;
    color:var(--primary);
    font-size:28px;
}

.section-heading p
{
    margin:0;
    color:var(--muted);
}

.date-nav
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}

.date-form
{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:8px;
}

.date-form input
{
    border:none;
    font:inherit;
    color:var(--text);
    outline:none;
}

/* ==========================================
   PREDICTION TREND CARDS
========================================== */

.trends-container
{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:18px;
}

.trend-card
{
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 5px 14px rgba(0,0,0,.08);
}

.live-match
{
    border:2px solid var(--success);
}

.trend-header
{
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    padding:16px;
}

.trend-time
{
    margin-bottom:14px;
    font-size:24px;
    font-weight:800;
}

.trend-match-line
{
    display:grid;
    grid-template-columns:1fr 70px 1fr;
    gap:12px;
    align-items:center;
}

.team-side
{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.crest-circle
{
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.team-crest,
.competition-crest
{
    width:58px;
    height:58px;
    object-fit:contain;
}

.competition-side
{
    display:flex;
    justify-content:center;
}

.team-name
{
    margin-top:8px;
    font-size:14px;
    font-weight:800;
    line-height:1.15;
    text-transform:uppercase;
}

.versus
{
    display:flex;
    justify-content:center;
    margin-top:18px;
}

.score-box
{
    width:190px;
    padding:14px 10px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.25);
    border-radius:12px;
    text-align:center;
}

.score-box-label
{
    margin-bottom:8px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
}

.score-box-score
{
    font-size:36px;
    font-weight:800;
    line-height:1;
}

.trend-body
{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
    padding:18px;
    color:var(--primary);
}

.trend-section strong
{
    display:block;
    margin-bottom:12px;
}

.result-row
{
    margin-bottom:12px;
}

.result-label
{
    display:flex;
    justify-content:space-between;
    margin-bottom:4px;
    font-size:14px;
}

.bar-bg
{
    height:12px;
    overflow:hidden;
    background:#dfe5ec;
    border-radius:10px;
}

.bar-fill
{
    height:100%;
    background:var(--primary);
}

.trend-score
{
    margin-bottom:10px;
    font-weight:700;
}

.no-trends
{
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:10px;
    font-weight:700;
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:900px)
{
    .page-header,
    .section-heading
    {
        flex-direction:column;
    }

    .page-header-meta
    {
        align-items:flex-start;
    }
}

@media (max-width:768px)
{
    .page-container
    {
        padding:12px;
    }

    .trends-container
    {
        grid-template-columns:1fr;
    }

    .trend-match-line
    {
        grid-template-columns:1fr;
    }

    .trend-body
    {
        grid-template-columns:1fr;
    }

    .date-nav
    {
        width:100%;
    }

    .date-nav .btn,
    .date-form
    {
        flex:1 1 100%;
    }

    .alert
    {
        align-items:flex-start;
        flex-direction:column;
    }
}


/* ==========================================
   MATCH CENTRE
========================================== */

.page-layout
{
    display:grid;
    grid-template-columns:minmax(0,1fr) 400px;
    gap:18px;
    align-items:start;
}

.panel
{
    overflow:hidden;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.panel-header
{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    font-weight:800;
}

.panel-header > div
{
    display:flex;
    align-items:center;
    gap:8px;
}

.match-table,
.leaderboard-table
{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
}

.match-table th,
.match-table td,
.leaderboard-table th,
.leaderboard-table td
{
    padding:9px 5px;
    border-bottom:1px solid #edf1f6;
    vertical-align:middle;
}

.match-table th,
.leaderboard-table th
{
    background:#eef3f9;
    color:var(--primary);
    text-transform:uppercase;
    font-size:11px;
    font-weight:800;
    letter-spacing:.03em;
}

.match-table tbody tr:hover,
.leaderboard-table tbody tr:hover
{
    background:#f8fbff;
}

.ko-col
{
    width:74px;
}

.tv-col
{
    width:72px;
    text-align:center;
}

.comp-cell
{
    width:44px;
    text-align:center;
}

.match-col
{
    width:auto;
    text-align:left;
}

.match-pills-col,
.match-pills-cell
{
    width:104px;
}

.ko-cell
{
    color:var(--primary);
    font-size:12px;
    font-weight:800;
    text-align:center;
    white-space:nowrap;
}

.tv-cell
{
    color:var(--primary);
    font-size:12px;
    font-weight:700;
    text-align:center;
}

.match-wrap
{
    display:grid;
    grid-template-columns:minmax(95px,1fr) 52px minmax(95px,1fr);
    gap:8px;
    align-items:center;
}

.team-wrap
{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
}

.home-wrap
{
    justify-content:flex-start;
}

.away-wrap
{
    justify-content:flex-end;
}

.team-name
{
    overflow:hidden;
    font-size:12px;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.away-wrap .team-name
{
    text-align:right;
}

.team-crest
{
    width:24px;
    height:24px;
    flex:0 0 auto;
    object-fit:contain;
}

.competition-crest
{
    display:block;
    width:26px;
    height:26px;
    margin:auto;
    object-fit:contain;
}

.score-cell-inner
{
    color:var(--primary);
    font-size:18px;
    font-weight:900;
    text-align:center;
    white-space:nowrap;
}

.match-pills
{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
}

.status-pill,
.pick-pill
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    padding:5px 8px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    text-align:center;
    white-space:nowrap;
}

.status-live
{
    background:#d9f7e2;
    color:#12602d;
}

.status-half-time
{
    background:#fff3cd;
    color:#7a4a00;
}

.status-full-time
{
    background:#e4e7eb;
    color:#343a40;
}

.status-scheduled
{
    background:#f2f4f7;
    color:#4b5563;
}

.pick-exact
{
    background:var(--success);
    color:#fff;
}

.pick-correct
{
    background:#facc15;
    color:#2d1a00;
}

.pick-wrong
{
    background:var(--danger);
    color:#fff;
}

.pick-pending,
.pick-no-pick
{
    background:#fff;
    color:#4b5563;
    border:1px solid var(--border);
}

.leaderboard-table th,
.leaderboard-table td
{
    font-size:12px;
    text-align:center;
}

.leaderboard-table .pos
{
    width:66px;
    font-weight:800;
}

.leaderboard-table .player
{
    width:150px;
    font-weight:800;
    white-space:nowrap;
}

.leaderboard-table .num
{
    font-weight:800;
}

.empty-box
{
    padding:24px;
    color:var(--muted);
    font-weight:700;
}

@media (max-width:1100px)
{
    .page-layout
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:850px)
{
    .match-table
    {
        table-layout:auto;
    }

    .match-wrap
    {
        grid-template-columns:1fr 46px 1fr;
    }

    .ko-col
    {
        width:60px;
    }

    .tv-col
    {
        width:54px;
    }

    .match-pills-col,
    .match-pills-cell
    {
        width:88px;
    }
}

@media (max-width:620px)
{
    .page-layout
    {
        display:block;
    }

    .panel
    {
        margin-bottom:16px;
    }

    .match-table th:nth-child(2),
    .match-table td:nth-child(2),
    .match-table th:nth-child(3),
    .match-table td:nth-child(3)
    {
        display:none;
    }

    .match-wrap
    {
        grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);
    }

    .team-crest
    {
        display:none;
    }

    .match-pills
    {
        flex-direction:column;
    }
}


/* ==========================================
   COMPETITION HOME
========================================== */

.home-hero
{
    margin-bottom:20px;
    padding:22px;
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(0,51,102,.18);
}

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

.home-stat-link
{
    color:inherit;
    text-decoration:none;
}

.home-stat-box
{
    height:100%;
    padding:16px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    text-align:center;
    transition:.2s ease;
}

.home-stat-link:hover .home-stat-box
{
    transform:translateY(-2px);
    background:rgba(255,255,255,.18);
}

.home-stat-icon
{
    margin-bottom:8px;
    font-size:20px;
}

.home-stat-label
{
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    opacity:.82;
}

.home-stat-value
{
    margin-top:5px;
    font-size:26px;
    font-weight:900;
}

.home-stat-action-text
{
    font-size:16px;
}

.home-grid
{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(330px,1fr);
    gap:18px;
    align-items:start;
}

.card
{
    overflow:hidden;
    margin-bottom:18px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.card-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:14px 16px;
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    font-weight:800;
}

.card-header > div
{
    display:flex;
    align-items:center;
    gap:8px;
}

.card-body
{
    padding:16px;
}

.info-row
{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:11px 0;
    border-bottom:1px solid #edf1f6;
}

.info-row:last-child
{
    border-bottom:none;
}

.info-label
{
    color:var(--primary);
    font-weight:800;
}

.info-value
{
    font-weight:800;
    text-align:right;
}

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

.quick-links a
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:56px;
    padding:14px;
    background:#eef3f9;
    color:var(--primary);
    border:1px solid var(--border);
    border-radius:10px;
    font-weight:800;
    text-decoration:none;
    transition:.2s ease;
}

.quick-links a:hover
{
    background:#fff;
    border-color:var(--primary);
    transform:translateY(-1px);
}

.leaderboard-mini
{
    width:100%;
    border-collapse:collapse;
}

.leaderboard-mini th,
.leaderboard-mini td
{
    padding:9px 7px;
    border-bottom:1px solid #edf1f6;
    font-size:13px;
    text-align:center;
}

.leaderboard-mini th
{
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.status-good,
.status-warn,
.live-pill
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.status-good,
.live-pill
{
    background:#d9f7e2;
    color:#12602d;
}

.status-warn
{
    background:#fff3cd;
    color:#7a4a00;
}

@media (max-width:1100px)
{
    .home-stat-grid
    {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .home-grid
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:700px)
{
    .home-stat-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .quick-links
    {
        grid-template-columns:1fr;
    }

    .info-row
    {
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }

    .info-value
    {
        text-align:left;
    }
}

@media (max-width:440px)
{
    .home-stat-grid
    {
        grid-template-columns:1fr;
    }
}

/* ==========================================
   PREDICTION TRENDS PATCH
========================================== */

.crest-placeholder
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    color:rgba(255,255,255,.75);
    font-size:30px;
}

.competition-placeholder
{
    font-size:24px;
}

.status-dot
{
    font-size:10px;
    vertical-align:middle;
}

.status-dot-live
{
    color:#22c55e;
}

.status-dot-half
{
    color:#f59e0b;
}

.status-dot-finished
{
    color:#ef4444;
}

.medal-gold
{
    color:#d4a017;
}

.medal-silver
{
    color:#8a94a3;
}

.medal-bronze
{
    color:#a66a3f;
}

/* ==========================================
   FIXTURES PAGE
========================================== */

.fixtures-panel
{
    overflow:hidden;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.table-wrap
{
    width:100%;
    overflow-x:auto;
}

.fixtures-table
{
    width:100%;
    border-collapse:collapse;
}

.fixtures-table th,
.fixtures-table td
{
    padding:12px 14px;
    border-bottom:1px solid #edf1f6;
    vertical-align:middle;
}

.fixtures-table th
{
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-align:left;
}

.fixtures-table tbody tr:hover
{
    background:#f8fbff;
}

.fixture-id-col,
.fixture-id-cell
{
    width:70px;
    text-align:center;
}

.fixture-kickoff-col,
.fixture-kickoff-cell
{
    width:170px;
    white-space:nowrap;
}

.fixture-result-col,
.fixture-result-cell
{
    width:110px;
    text-align:center;
}

.fixture-id-cell
{
    color:var(--muted);
    font-weight:700;
}

.fixture-kickoff-cell
{
    color:var(--primary);
    font-weight:800;
}

.fixture-team
{
    font-weight:800;
}

.fixture-team-home
{
    text-align:right;
}

.fixture-team-away
{
    text-align:left;
}

.fixture-result-cell
{
    color:var(--primary);
    font-size:18px;
    font-weight:900;
}

.fixture-pending
{
    color:var(--muted);
}

@media (max-width:700px)
{
    .fixtures-table th,
    .fixtures-table td
    {
        padding:10px 8px;
    }

    .fixture-id-col,
    .fixture-id-cell
    {
        display:none;
    }

    .fixture-kickoff-col,
    .fixture-kickoff-cell
    {
        width:125px;
        font-size:12px;
    }

    .fixture-result-col,
    .fixture-result-cell
    {
        width:80px;
    }

    .fixture-team
    {
        font-size:12px;
    }
}

/* ==========================================
   MY PREDICTIONS PAGE
========================================== */

.prediction-summary-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.prediction-summary-card
{
    padding:18px;
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    border-radius:14px;
    text-align:center;
    box-shadow:0 5px 16px rgba(0,51,102,.14);
}

.prediction-summary-icon
{
    margin-bottom:8px;
    font-size:22px;
}

.prediction-summary-label
{
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    opacity:.82;
}

.prediction-summary-value
{
    margin-top:5px;
    font-size:26px;
    font-weight:900;
}

.prediction-status-value
{
    font-size:20px;
}

.predictions-panel
{
    overflow:hidden;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.prediction-list
{
    display:grid;
    gap:14px;
    padding:16px;
}

.prediction-fixture-card
{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
}

.prediction-fixture-meta
{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:10px 14px;
    background:#eef3f9;
    color:var(--primary);
    font-size:12px;
    font-weight:800;
}

.prediction-fixture-meta span
{
    display:flex;
    align-items:center;
    gap:7px;
}

.prediction-fixture-main
{
    display:grid;
    grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);
    gap:18px;
    align-items:center;
    padding:18px;
}

.prediction-team
{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:9px;
    text-align:center;
}

.prediction-crest
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    color:var(--primary);
    font-size:32px;
}

.prediction-crest img
{
    width:64px;
    height:64px;
    object-fit:contain;
}

.prediction-team-name
{
    color:var(--primary);
    font-weight:900;
}

.prediction-score-entry
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:var(--primary);
    font-size:22px;
    font-weight:900;
}

.prediction-score-entry input
{
    width:64px;
    padding:10px 8px;
    border:2px solid var(--border);
    border-radius:10px;
    color:var(--primary);
    font-size:22px;
    font-weight:900;
    text-align:center;
    outline:none;
}

.prediction-score-entry input:focus
{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(0,51,102,.10);
}

.locked-score
{
    min-width:110px;
    padding:12px 16px;
    background:#eef3f9;
    border-radius:10px;
    text-align:center;
}

.prediction-save-bar
{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:16px;
    background:#eef3f9;
    border-top:1px solid var(--border);
}

@media (max-width:900px)
{
    .prediction-summary-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .prediction-fixture-main
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:600px)
{
    .prediction-summary-grid
    {
        grid-template-columns:1fr;
    }

    .prediction-fixture-meta
    {
        flex-direction:column;
        align-items:flex-start;
    }

    .prediction-save-bar
    {
        flex-direction:column;
        align-items:stretch;
    }

    .prediction-save-bar .btn
    {
        width:100%;
    }
}

/* ==========================================================================\n   WEEKLY ENTRIES - FULL REPLACEMENT\n   Remove the previous Weekly Entries CSS block and use this entire section.\n   ========================================================================== */

.we-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 18px 0 16px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 15px;
    box-shadow: 0 8px 24px rgba(11, 58, 91, .08);
    position: relative;
    z-index: 20;
}

.we-week-form,
.we-toolbar-summary {
    display: flex;
    align-items: center;
    gap: 12px;
}

.we-week-form label {
    font-weight: 800;
    color: #083f66;
    white-space: nowrap;
}

.we-week-form select {
    min-width: 150px;
    padding: 10px 38px 10px 12px;
    border: 1px solid #cfdbe6;
    border-radius: 10px;
    background: #fff;
    color: #102334;
    font-weight: 700;
}

.we-toolbar-summary > span,
.we-player-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    border: 0;
    border-radius: 999px;
    background: #f1f6fa;
    color: #083f66;
    font: inherit;
    font-size: .9rem;
    white-space: nowrap;
}

.we-player-trigger { cursor: pointer; }
.we-player-trigger:hover,
.we-player-trigger[aria-expanded="true"] { background: #e3eef6; }

.we-player-menu { position: relative; }

.we-player-popover {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(720px, 82vw);
    padding: 14px;
    background: #fff;
    border: 1px solid #cfdce7;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(7, 44, 70, .22);
    z-index: 100;
}

.we-player-popover-heading {
    margin-bottom: 10px;
    color: #083f66;
    font-weight: 900;
}

.we-player-popover-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-height: 360px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.we-player-popover-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #e0e8ef;
    border-radius: 10px;
    background: #f8fbfd;
}

.we-player-popover-row.is-current-user {
    border-color: #e7bd37;
    background: #fff9e8;
}

.we-player-position {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0b4b78;
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.we-player-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 750;
    color: #183042;
}

.we-player-name .fa-star { color: #d7a400; margin-right: 5px; }
.we-entry-state { text-align: center; }
.we-entry-complete { color: #10a35c; }
.we-entry-partial { color: #e09a16; }
.we-entry-none { color: #8a4fd0; }

.we-workspace {
    display: grid;
    grid-template-columns: minmax(430px, 42%) minmax(0, 1fr);
    gap: 16px;
    height: clamp(560px, calc(100vh - 300px), 820px);
    min-height: 0;
}

.we-match-pane,
.we-detail-pane {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d9e4ed;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(9, 55, 84, .09);
}

.we-pane-heading,
.we-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 12px 15px;
    border-bottom: 1px solid #dce6ee;
    background: #edf5fa;
    color: #083f66;
}

.we-pane-heading span,
.we-section-heading span {
    color: #6c7b88;
    font-size: .82rem;
    font-weight: 700;
}

.we-match-pane {
    display: flex;
    flex-direction: column;
}

.we-match-scroll {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 12px;
}

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

.we-match-button {
    width: 100%;
    min-width: 0;
    padding: 10px;
    border: 1px solid #dce5ec;
    border-radius: 12px;
    background: #f9fbfd;
    color: #183042;
    text-align: left;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}

.we-match-button:hover {
    transform: translateY(-1px);
    border-color: #8fb4cd;
    box-shadow: 0 7px 16px rgba(8, 63, 102, .1);
}

.we-match-button.active {
    border-color: #0a5b91;
    background: #e8f4fb;
    box-shadow: inset 0 0 0 1px #0a5b91;
}

.we-match-button-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
    color: #73808b;
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.we-mini-status { color: #0a527f; }

.we-mini-team {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    min-height: 29px;
}

.we-mini-team img {
    width: 23px;
    height: 23px;
    object-fit: contain;
}

.we-mini-team span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .82rem;
    font-weight: 750;
}

.we-mini-team strong {
    color: #063d65;
    font-size: .95rem;
}

.we-detail-pane {
    position: relative;
    background: #f6f9fb;
}

.we-detail-pane.is-loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(246, 249, 251, .58);
    pointer-events: none;
    z-index: 5;
}

.we-detail-scroll {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 0 0 14px;
}

.we-selected-card {
    position: sticky;
    top: 0;
    z-index: 4;
    background: #fff;
    border-bottom: 1px solid #d8e3ec;
    box-shadow: 0 7px 16px rgba(9, 55, 84, .06);
}

.we-selected-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 16px;
    color: #fff;
    background: linear-gradient(110deg, #063f6b, #08649a);
}

.we-competition {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.we-competition img {
    width: 27px;
    height: 27px;
    object-fit: contain;
}

.we-competition strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.we-status {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    font-size: .72rem;
    font-weight: 900;
}

.we-selected-match {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 18px 20px 15px;
}

.we-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    min-width: 0;
    text-align: center;
}

.we-team img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.we-team strong {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #083f66;
}

.we-score-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    color: #788692;
    text-align: center;
}

.we-score {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #063f68;
    font-size: 1.75rem;
}

.we-score span { color: #8996a0; }

.we-hidden-trends {
    margin: 0 16px 16px;
    padding: 12px;
    border-radius: 10px;
    background: #f4f7fa;
    color: #83919d;
    text-align: center;
    font-size: .86rem;
}

.we-trends,
.we-result-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0 16px 16px;
}

.we-trend-item,
.we-summary-item {
    display: grid;
    grid-template-columns: 34px auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 9px;
    padding: 9px 10px;
    border: 1px solid #e0e8ee;
    border-radius: 11px;
    background: #f8fbfd;
}

.we-trend-item img,
.we-trend-item > span,
.we-summary-item > span {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 50%;
}

.we-trend-draw > span { background: #eef2f5; color: #536675; }
.we-trend-item strong,
.we-summary-item strong { color: #083f66; }
.we-trend-item small,
.we-summary-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #75838e; }
.we-summary-exact > span { background: #fff2bb; color: #c89600; }
.we-summary-correct > span { background: #dff7e9; color: #098b4b; }
.we-summary-wrong > span { background: #fde5e5; color: #c83333; }

.we-prediction-card {
    margin: 14px;
    overflow: hidden;
    border: 1px solid #d9e4ec;
    border-radius: 13px;
    background: #fff;
}

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

.we-prediction-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 30px;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 10px 12px;
    border-bottom: 1px solid #edf1f4;
}

.we-prediction-row:nth-child(odd) { border-right: 1px solid #edf1f4; }
.we-prediction-row.is-current-user { background: #fff9e6; }

.we-prediction-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #163248;
}

.we-prediction-name .fa-star { margin-right: 6px; color: #d5a100; }
.we-prediction-score { color: #063f68; font-weight: 900; }
.we-prediction-icon { text-align: center; }

.we-prediction-icon span {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

.we-icon-exact { background: #ffe995; color: #b88400; }
.we-icon-correct { background: #dff7e9; color: #098b4b; }
.we-icon-wrong { background: #fde3e3; color: #c92d2d; }
.we-icon-waiting { background: #ffe6b7; color: #b96e00; }
.we-icon-hidden { background: #eee3fb; color: #8243c5; font-size: .48rem; }
.we-icon-none { color: #8f55ca; }

.weekly-view-status { display: inline-flex; align-items: center; gap: 7px; }
.weekly-view-status i { font-size: .55rem; }
.weekly-view-status-live { color: #0b9b58; }
.weekly-view-status-completed { color: #08669b; }
.weekly-view-status-not_open { color: #6d7882; }

@media (max-width: 1050px) {
    .we-workspace { grid-template-columns: minmax(340px, 40%) minmax(0, 1fr); }
    .we-match-grid { grid-template-columns: 1fr; }
    .we-player-popover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .we-toolbar { align-items: stretch; flex-direction: column; }
    .we-week-form { justify-content: space-between; }
    .we-week-form select { flex: 1; min-width: 0; }
    .we-toolbar-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .we-toolbar-summary > span, .we-player-trigger { justify-content: center; padding: 7px 8px; font-size: .78rem; }
    .we-player-popover { right: auto; left: 0; width: min(92vw, 560px); }
    .we-player-popover-grid { grid-template-columns: 1fr; }

    .we-workspace {
        display: flex;
        flex-direction: column;
        height: auto;
    }

    .we-match-pane { height: 330px; }
    .we-match-grid { grid-template-columns: 1fr; }
    .we-detail-pane { height: min(680px, 72vh); }
    .we-selected-match { grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr); padding: 15px 10px 13px; }
    .we-team img { width: 44px; height: 44px; }
    .we-team strong { font-size: .83rem; }
    .we-score { font-size: 1.4rem; }
    .we-score-block small { font-size: .7rem; }
    .we-trends, .we-result-summary { gap: 6px; padding-inline: 10px; }
    .we-trend-item, .we-summary-item { grid-template-columns: 28px auto; padding: 8px; column-gap: 6px; }
    .we-trend-item img, .we-trend-item > span, .we-summary-item > span { width: 27px; height: 27px; }
    .we-trend-item small, .we-summary-item small { font-size: .68rem; }
    .we-prediction-card { margin: 10px; }
    .we-prediction-grid { grid-template-columns: 1fr; }
    .we-prediction-row:nth-child(odd) { border-right: 0; }
}


/* ==========================================
   ADMIN FIXTURE LIST
========================================== */

.admin-fixture-summary-grid
{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.admin-fixture-summary-card
{
    display:flex;
    align-items:center;
    gap:14px;
    min-height:112px;
    padding:18px;
    background:#fff;
    color:var(--primary);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
    text-decoration:none;
}

.admin-fixture-warning
{
    background:#fff8df;
    border-color:#f6d271;
}

.admin-fixture-summary-icon
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    background:#eef3f9;
    border-radius:12px;
    font-size:21px;
}

.admin-fixture-warning .admin-fixture-summary-icon
{
    background:#ffe9a8;
    color:#7a4a00;
}

.admin-fixture-summary-label
{
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.admin-fixture-summary-value
{
    margin-top:4px;
    font-size:28px;
    font-weight:900;
}

.admin-fixture-summary-link
{
    margin-top:4px;
    font-size:12px;
    font-weight:800;
}

.admin-fixture-card,
.admin-fixture-toolbar,
.admin-fixture-table-panel
{
    margin-bottom:20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.admin-fixture-card
{
    overflow:hidden;
}

.admin-fixture-card-toggle
{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    background:#fff;
    color:var(--primary);
    border:0;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

.admin-fixture-card-toggle span
{
    display:flex;
    align-items:center;
    gap:9px;
}

.admin-fixture-card-body
{
    padding:18px;
    border-top:1px solid var(--border);
}

.admin-fixture-manual-panel
{
    display:none;
}

.admin-fixture-manual-panel.is-open
{
    display:block;
}

.admin-fixture-form-grid
{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}

.admin-fixture-field label
{
    display:block;
    margin-bottom:6px;
    color:var(--primary);
    font-size:12px;
    font-weight:800;
}

.admin-fixture-field input
{
    width:100%;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:9px;
    font:inherit;
}

.admin-fixture-form-footer
{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    margin-top:16px;
}

.admin-fixture-form-footer p
{
    margin:0;
    color:var(--muted);
    font-size:13px;
}

.admin-fixture-toolbar
{
    padding:16px;
}

.admin-fixture-actions,
.admin-fixture-filters
{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.admin-fixture-filters
{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--border);
}

.admin-fixture-btn-add
{
    background:#198754;
    color:#fff;
}

.admin-fixture-btn-remove
{
    background:#f59e0b;
    color:#2d1a00;
}

.admin-fixture-btn-publish
{
    background:#d4af37;
    color:#1f2937;
}

.admin-fixture-filter
{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 14px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:999px;
    font-weight:800;
    text-decoration:none;
}

.admin-fixture-filter.active
{
    background:var(--primary);
    color:#fff;
}

.admin-fixture-table-panel
{
    overflow:hidden;
}

.admin-fixture-table-wrap
{
    overflow:auto;
    max-height:72vh;
}

.admin-fixture-table
{
    width:100%;
    min-width:1250px;
    border-collapse:collapse;
}

.admin-fixture-table th,
.admin-fixture-table td
{
    padding:11px 10px;
    border-bottom:1px solid #edf1f6;
    vertical-align:middle;
}

.admin-fixture-table th
{
    position:sticky;
    top:0;
    z-index:5;
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-align:left;
}

.admin-fixture-table tbody tr:hover
{
    background:#f8fbff;
}

.admin-fixture-unconfirmed
{
    background:#fff8df;
}

.admin-fixture-select-cell,
.admin-fixture-centre-cell
{
    text-align:center;
}

.admin-fixture-date-cell
{
    white-space:nowrap;
    font-weight:800;
    color:var(--primary);
}

.admin-fixture-team-cell
{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:170px;
}

.admin-fixture-crest
{
    width:28px;
    height:28px;
    flex:0 0 28px;
    object-fit:contain;
}

.admin-fixture-missing
{
    display:inline-flex;
    color:#b7791f;
    text-decoration:none;
}

.admin-fixture-tv
{
    width:145px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
}

.source-pill
{
    display:inline-flex;
    padding:4px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}

.source-api
{
    background:#d9f7e2;
    color:#166534;
}

.source-manual
{
    background:#fff3cd;
    color:#8a5800;
}

.admin-fixture-status
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
}

.admin-fixture-status-good
{
    background:#d9f7e2;
    color:#166534;
}

.admin-fixture-status-warning
{
    background:#fff3cd;
    color:#8a5800;
}

@media (max-width:1200px)
{
    .admin-fixture-summary-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .admin-fixture-form-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:700px)
{
    .admin-fixture-summary-grid,
    .admin-fixture-form-grid
    {
        grid-template-columns:1fr;
    }

    .admin-fixture-actions,
    .admin-fixture-filters,
    .admin-fixture-form-footer
    {
        flex-direction:column;
        align-items:stretch;
    }

    .admin-fixture-actions .btn,
    .admin-fixture-filter
    {
        width:100%;
        justify-content:center;
    }
}

/* ==========================================
   WEEK CONTROL PAGE
========================================== */

.week-control-panel,
.week-control-table-panel
{
    margin-bottom:20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.week-control-panel
{
    padding:18px;
}

.week-control-nav
{
    display:grid;
    grid-template-columns:1fr 1.4fr 1fr;
    gap:12px;
    align-items:center;
    margin-bottom:18px;
}

.week-control-nav .btn
{
    width:100%;
}

.week-control-nav-disabled
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:10px 14px;
    background:#eef3f9;
    color:var(--muted);
    border-radius:8px;
    font-weight:800;
}

.week-control-current
{
    padding:14px 18px;
    background:linear-gradient(
        135deg,
        var(--primary),
        #07518f
    );
    color:#fff;
    border-radius:12px;
    text-align:center;
}

.week-control-current-label
{
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    opacity:.8;
}

.week-control-current-value
{
    margin-top:4px;
    font-size:30px;
    font-weight:900;
}

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

.week-control-summary-card
{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:100px;
    padding:16px;
    background:#f8fbff;
    border:1px solid var(--border);
    border-radius:12px;
}

.week-control-summary-icon
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    flex:0 0 44px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:11px;
    font-size:19px;
}

.week-control-summary-label
{
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
}

.week-control-summary-value,
.week-control-summary-value-small
{
    margin-top:4px;
    color:var(--primary);
    font-weight:900;
}

.week-control-summary-value
{
    font-size:24px;
}

.week-control-summary-value-small
{
    font-size:17px;
}

.week-control-status
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.week-control-status-live
{
    background:#d9f7e2;
    color:#166534;
}

.week-control-status-ready
{
    background:#fff3cd;
    color:#8a5800;
}

.week-control-status-completed
{
    background:#e4e7eb;
    color:#374151;
}

.week-control-progress
{
    margin-top:16px;
}

.week-control-progress-copy
{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
    color:var(--primary);
}

.week-control-progress-track
{
    overflow:hidden;
    height:14px;
    background:#dfe5ec;
    border-radius:999px;
}

.week-control-progress-fill
{
    height:100%;
    background:linear-gradient(
        90deg,
        #166534,
        #22c55e
    );
}

.week-control-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}

.week-control-complete-button
{
    background:#d4af37;
    color:#1f2937;
}

.week-control-complete-button:disabled
{
    background:#d1d5db;
    color:#6b7280;
    cursor:not-allowed;
}

.week-control-table-panel
{
    overflow:hidden;
}

.week-control-table-wrap
{
    overflow:auto;
    max-height:72vh;
}

.week-control-table
{
    width:100%;
    min-width:1250px;
    border-collapse:collapse;
}

.week-control-table th,
.week-control-table td
{
    padding:10px 8px;
    border-bottom:1px solid #edf1f6;
    vertical-align:middle;
}

.week-control-table th
{
    position:sticky;
    top:0;
    z-index:5;
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-align:left;
}

.week-control-table tbody tr:hover
{
    background:#f8fbff;
}

.week-control-row-locked
{
    background:#f3f4f6;
    color:#6b7280;
}

.week-control-ko-cell
{
    white-space:nowrap;
    color:var(--primary);
    font-weight:800;
}

.week-control-centre-cell
{
    text-align:center;
}

.week-control-crest
{
    width:28px;
    height:28px;
    object-fit:contain;
}

.week-control-placeholder
{
    color:#94a3b8;
}

.week-control-tv-cell
{
    font-weight:800;
    color:var(--primary);
}

.week-control-team-cell
{
    min-width:190px;
    font-weight:800;
}

.week-control-team-wrap
{
    display:flex;
    align-items:center;
    gap:8px;
}

.week-control-score-display
{
    min-width:90px;
    text-align:center;
    color:var(--primary);
    font-size:20px;
    font-weight:900;
}

.week-control-score-control
{
    min-width:130px;
    text-align:center;
    white-space:nowrap;
}

.week-control-score-button
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    background:var(--primary);
    color:#fff;
    border:0;
    border-radius:50%;
    cursor:pointer;
}

.week-control-score-button:hover
{
    background:var(--primary-hover);
}

.week-control-score-button:disabled
{
    background:#9ca3af;
    cursor:not-allowed;
}

.week-control-score-number
{
    display:inline-block;
    min-width:28px;
    font-size:17px;
    font-weight:900;
}

.week-control-locked-note
{
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}

.week-control-api-score
{
    white-space:nowrap;
    text-align:center;
    font-weight:800;
}

.week-control-source
{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}

.week-control-source-api
{
    background:#eef3f9;
    color:#475569;
}

.week-control-source-manual
{
    background:#fde2e1;
    color:#b91c1c;
}

.week-control-status-select
{
    width:140px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
    color:var(--primary);
    font-weight:800;
}

.week-control-status-select:disabled
{
    background:#eef3f9;
    color:var(--muted);
}

@media (max-width:1200px)
{
    .week-control-summary-grid
    {
        grid-template-columns:repeat(
            2,
            minmax(0,1fr)
        );
    }
}

@media (max-width:800px)
{
    .week-control-nav
    {
        grid-template-columns:1fr;
    }

    .week-control-summary-grid
    {
        grid-template-columns:1fr;
    }

    .week-control-actions
    {
        flex-direction:column;
    }

    .week-control-actions .btn
    {
        width:100%;
        justify-content:center;
    }
}

/* ==========================================
   CREST MANAGER
========================================== */

.crest-manager-topbar
{
    display:flex;
    justify-content:flex-start;
    margin-bottom:20px;
}

.crest-summary-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.crest-summary-card
{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    background:#fff;
    color:var(--primary);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.crest-summary-warning
{
    background:#fff8df;
    border-color:#f6d271;
}

.crest-summary-icon
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    background:#eef3f9;
    border-radius:12px;
    font-size:21px;
}

.crest-summary-warning .crest-summary-icon
{
    background:#ffe9a8;
    color:#7a4a00;
}

.crest-summary-label
{
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.crest-summary-value
{
    margin-top:4px;
    font-size:28px;
    font-weight:900;
}

.crest-section
{
    margin-bottom:20px;
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.crest-section-header
{
    margin-bottom:16px;
}

.crest-section-header h2
{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 6px;
    color:var(--primary);
}

.crest-section-header p
{
    margin:0;
    color:var(--muted);
    font-size:13px;
}

.crest-complete-box
{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    background:#eefaf2;
    color:#166534;
    border:1px solid #b7e4c7;
    border-radius:12px;
}

.crest-complete-box > i
{
    font-size:26px;
}

.crest-complete-box div
{
    display:flex;
    flex-direction:column;
    gap:3px;
}

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

.crest-upload-card
{
    padding:16px;
    background:#f8fbff;
    border:1px solid var(--border);
    border-radius:12px;
}

.crest-upload-card-header
{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
}

.crest-upload-card h3
{
    margin:0 0 5px;
    color:var(--primary);
}

.crest-upload-preview
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:76px;
    height:76px;
    flex:0 0 76px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
}

.crest-upload-preview-empty
{
    color:#94a3b8;
    font-size:30px;
}

.crest-fixture-count
{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 9px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}

.crest-form-grid
{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.crest-field label
{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:6px;
    color:var(--primary);
    font-size:12px;
    font-weight:800;
}

.crest-field input
{
    width:100%;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.crest-card-actions
{
    display:flex;
    justify-content:flex-end;
    margin-top:14px;
}

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

.crest-library-panel
{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.crest-library-panel .panel-header
{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.crest-library-panel .panel-header span
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    height:30px;
    padding:0 9px;
    background:rgba(255,255,255,.16);
    border-radius:999px;
    font-size:12px;
}

.crest-library-search
{
    position:relative;
    padding:14px;
    border-bottom:1px solid var(--border);
}

.crest-library-search i
{
    position:absolute;
    left:28px;
    top:50%;
    transform:translateY(-50%);
    color:var(--muted);
}

.crest-library-search input
{
    width:100%;
    padding:10px 12px 10px 38px;
    border:1px solid var(--border);
    border-radius:9px;
    font:inherit;
}

.crest-library-table-wrap
{
    max-height:520px;
    overflow:auto;
}

.crest-library-table
{
    width:100%;
    border-collapse:collapse;
}

.crest-library-table th,
.crest-library-table td
{
    padding:11px 12px;
    border-bottom:1px solid #edf1f6;
    text-align:left;
    vertical-align:middle;
}

.crest-library-table th
{
    position:sticky;
    top:0;
    z-index:2;
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.crest-library-table tbody tr:hover
{
    background:#f8fbff;
}

.crest-library-image-cell
{
    width:70px;
}

.crest-library-image
{
    width:42px;
    height:42px;
    object-fit:contain;
}

.crest-library-name-cell
{
    color:var(--primary);
    font-weight:800;
}

.crest-library-count
{
    display:inline-flex;
    min-width:34px;
    justify-content:center;
    padding:4px 9px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

@media (max-width:1100px)
{
    .crest-summary-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .crest-card-grid,
    .crest-library-grid
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:700px)
{
    .crest-summary-grid,
    .crest-form-grid
    {
        grid-template-columns:1fr;
    }

    .crest-card-actions
    {
        justify-content:stretch;
    }

    .crest-card-actions .btn
    {
        width:100%;
        justify-content:center;
    }
}

/* USERS */
.users-panel{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.06);overflow:hidden}
.users-table{width:100%;border-collapse:collapse}
.users-table th,.users-table td{padding:12px;border-bottom:1px solid #edf1f6}
.users-table th{background:#eef3f9;color:var(--primary);text-transform:uppercase;font-size:11px}
.user-name{font-weight:800;color:var(--primary)}
.balance{font-weight:800}
.inline-form{display:inline}
.pill{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800}
.pill.success{background:#d9f7e2;color:#166534}
.pill.warning{background:#fff3cd;color:#8a5800}

/* ==========================================
   COMPETITION WALLET
========================================== */

.wallet-toolbar
{
    display:flex;
    justify-content:flex-start;
    margin-bottom:20px;
}

.wallet-summary-card
{
    display:flex;
    align-items:center;
    gap:22px;
    margin-bottom:20px;
    padding:24px;
    background:linear-gradient(
        135deg,
        var(--primary),
        #07518f
    );
    color:#fff;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(0,51,102,.18);
}

.wallet-summary-icon
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:74px;
    height:74px;
    flex:0 0 74px;
    background:rgba(255,255,255,.14);
    border-radius:16px;
    font-size:30px;
}

.wallet-summary-name
{
    font-size:24px;
    font-weight:900;
}

.wallet-summary-label
{
    margin-top:6px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    opacity:.8;
}

.wallet-summary-balance
{
    margin-top:5px;
    font-size:46px;
    font-weight:900;
}

.wallet-balance-positive
{
    color:#d9f7e2;
}

.wallet-balance-negative
{
    color:#ffd6d6;
}

.wallet-layout
{
    display:grid;
    grid-template-columns:minmax(300px, .85fr) minmax(0, 1.65fr);
    gap:18px;
    align-items:start;
}

.wallet-admin-panel,
.wallet-history-panel
{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.wallet-transaction-form
{
    padding:18px;
}

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

.wallet-field
{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.wallet-field-full
{
    grid-column:1 / -1;
}

.wallet-field label
{
    color:var(--primary);
    font-size:12px;
    font-weight:800;
}

.wallet-field input,
.wallet-field select
{
    width:100%;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:9px;
    background:#fff;
    font:inherit;
}

.wallet-money-input
{
    display:flex;
    align-items:center;
    border:1px solid var(--border);
    border-radius:9px;
    background:#fff;
    overflow:hidden;
}

.wallet-money-input span
{
    padding:0 11px;
    color:var(--muted);
    font-weight:800;
}

.wallet-money-input input
{
    border:0;
    border-left:1px solid var(--border);
    border-radius:0;
}

.wallet-form-actions
{
    display:flex;
    justify-content:flex-end;
    margin-top:16px;
}

.wallet-history-table
{
    width:100%;
    border-collapse:collapse;
}

.wallet-history-table th,
.wallet-history-table td
{
    padding:12px 14px;
    border-bottom:1px solid #edf1f6;
    text-align:left;
    vertical-align:middle;
}

.wallet-history-table th
{
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.wallet-history-table tbody tr:hover
{
    background:#f8fbff;
}

.wallet-date-cell
{
    white-space:nowrap;
    color:var(--primary);
    font-weight:800;
}

.wallet-type-pill
{
    display:inline-flex;
    padding:5px 9px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}

.wallet-amount
{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    font-weight:900;
}

.wallet-amount-positive
{
    background:#d9f7e2;
    color:#166534;
}

.wallet-amount-negative
{
    background:#fde2e1;
    color:#b91c1c;
}

.wallet-running-balance
{
    color:var(--primary);
    font-weight:900;
}

@media (max-width:1000px)
{
    .wallet-layout
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:700px)
{
    .wallet-summary-card
    {
        flex-direction:column;
        text-align:center;
    }

    .wallet-summary-balance
    {
        font-size:38px;
    }

    .wallet-form-grid
    {
        grid-template-columns:1fr;
    }

    .wallet-field-full
    {
        grid-column:auto;
    }

    .wallet-form-actions .btn
    {
        width:100%;
        justify-content:center;
    }
}

/* CHANGE PASSWORD */
.password-panel{max-width:520px;margin:30px auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.password-form{display:flex;flex-direction:column;gap:16px}
.password-field label{display:block;margin-bottom:6px;font-size:12px;font-weight:800;color:var(--primary)}
.password-field input{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:9px;font:inherit}
.password-actions{display:flex;justify-content:flex-end}

/* ==========================================
   API COMPETITIONS
========================================== */

.competition-summary-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:20px;
}

.competition-summary-card
{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
    color:var(--primary);
}

.competition-summary-card > i
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    background:#eef3f9;
    border-radius:12px;
    font-size:20px;
}

.competition-summary-card div
{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.competition-summary-card span
{
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--muted);
}

.competition-summary-card strong
{
    font-size:25px;
}

.competition-toolbar
{
    margin-bottom:16px;
    padding:14px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.competition-toolbar-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.competition-import-all
{
    background:#d4af37;
    color:#1f2937;
}

.competition-add-button,
.competition-manage-button
{
    background:#166534;
    color:#fff;
}

.competition-table-panel,
.competition-import-results,
.competition-edit-panel
{
    overflow:hidden;
    margin-bottom:20px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.competition-table-wrap
{
    overflow:auto;
}

.competition-table
{
    width:100%;
    border-collapse:collapse;
}

.competition-table th,
.competition-table td
{
    padding:12px 14px;
    border-bottom:1px solid #edf1f6;
    vertical-align:middle;
}

.competition-table th
{
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-align:left;
}

.competition-table tbody tr:hover
{
    background:#f8fbff;
}

.competition-order-input
{
    width:80px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:8px;
}

.competition-centre-cell,
.competition-action-cell
{
    text-align:center;
}

.competition-code-pill,
.competition-fixture-count
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
}

.competition-code-pill
{
    background:#eef3f9;
    color:var(--primary);
}

.competition-fixture-count
{
    min-width:40px;
    background:#d9f7e2;
    color:#166534;
}

.competition-name-cell
{
    color:var(--primary);
    font-weight:800;
}

.competition-last-import
{
    white-space:nowrap;
    color:var(--muted);
}

.competition-edit-button
{
    padding:7px 10px;
}

.competition-result-grid
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    padding:16px;
}

.competition-result-card
{
    padding:14px;
    background:#f8fbff;
    border:1px solid var(--border);
    border-radius:11px;
}

.competition-result-card.is-error
{
    background:#fff1f1;
    border-color:#f2b8b5;
}

.competition-result-title
{
    color:var(--primary);
    font-weight:900;
}

.competition-result-stats
{
    display:flex;
    gap:12px;
    margin-top:8px;
    font-size:12px;
    color:var(--muted);
}

.competition-result-error
{
    margin-top:8px;
    color:#b91c1c;
    font-size:12px;
    font-weight:800;
}

.competition-import-total
{
    padding:14px 16px;
    background:#eef3f9;
    color:var(--primary);
}

.competition-edit-toolbar
{
    margin-bottom:18px;
}

.competition-edit-form
{
    padding:20px;
}

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

.competition-edit-field
{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.competition-edit-field label
{
    color:var(--primary);
    font-size:12px;
    font-weight:800;
}

.competition-edit-field input
{
    width:100%;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:9px;
    font:inherit;
}

.competition-edit-field small
{
    color:var(--muted);
}

.competition-edit-options
{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:12px;
    padding:14px;
    background:#f8fbff;
    border:1px solid var(--border);
    border-radius:10px;
    color:var(--primary);
    font-weight:800;
}

.competition-edit-actions
{
    display:flex;
    justify-content:flex-end;
    margin-top:18px;
}

@media (max-width:1000px)
{
    .competition-summary-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .competition-result-grid
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:700px)
{
    .competition-summary-grid,
    .competition-edit-grid
    {
        grid-template-columns:1fr;
    }

    .competition-toolbar-actions
    {
        flex-direction:column;
    }

    .competition-toolbar-actions .btn
    {
        width:100%;
        justify-content:center;
    }
}


/* =========================================================
   FOOTBALL CHAMPIONSHIP - COMPETITION GUIDE
   Append this complete section to css/style.css
   ========================================================= */

*
{
    box-sizing: border-box
}

html
{
    scroll-behavior: smooth
}

body
{
    margin: 0;
    background: radial-gradient(circle at top left,rgba(23,114,69,.08),transparent 32rem),var(--bg);
    color: var(--text);
    font-family: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height: 1.6
}

.wrap
{
    width: min(1120px,calc(100% - 2rem));
    margin: auto
}

.hero
{
    background: linear-gradient(135deg,var(--primary-dark),var(--primary));
    color:#fff;
}

.hero .wrap
{
    padding: 3rem 0 3.5rem
}

.brand
{
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 2.2rem;
    font-weight: 850
}

.brand i
{
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 12px;
    background: rgba(255,255,255,.14);
    color: #ffda61
}

.eyebrow,
.heading span,
.join span
{
    display: block;
    margin: 0 0 .3rem;
    color: var(--primary);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase
}

.hero .eyebrow
{
    color:#b8dfff;
}

.hero h1
{
    margin: 0;
    font-size: clamp(2.5rem,7vw,5rem);
    line-height: .98;
    letter-spacing: -.05em
}

.lead
{
    max-width: 780px;
    margin: 1.3rem 0 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(1rem,2.5vw,1.25rem)
}

.pills
{
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 2rem
}

.pills span
{
    padding: .62rem .85rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    font-weight: 800
}

.main
{
    margin-top: -1.2rem;
    padding-bottom: 3rem
}

.jump
{
    display: flex;
    gap: .4rem;
    overflow-x: auto;
    padding: .65rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--shadow)
}

.jump a
{
    flex: 0 0 auto;
    padding: .58rem .8rem;
    border-radius: 10px;
    color: var(--muted);
    font-size: .84rem;
    font-weight: 850;
    text-decoration: none
}

.jump a:hover
{
    background: var(--primary-soft);
    color: var(--primary-dark)
}

.card
{
    margin-top: 1rem;
    padding: clamp(1.1rem,3vw,1.7rem);
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--surface);
    box-shadow: 0 8px 24px rgba(23,32,42,.045)
}

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

.heading
{
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: 1rem
}

.heading>i
{
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border-radius: 15px;
    background: var(--primary-soft);
    color: var(--primary)
}

.heading h2,
.join h2
{
    margin: 0;
    font-size: clamp(1.35rem,4vw,2rem);
    line-height: 1.15
}

.card p
{
    margin: .8rem 0 0;
    color: var(--muted)
}

.steps
{
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .9rem
}

.steps article,
.scores article
{
    padding: 1.1rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--soft)
}

.steps b
{
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    margin-bottom: .75rem;
    border-radius: 10px;
    background: var(--primary);
    color: #fff
}

.steps h3,
.scores h3
{
    margin: 0
}

.steps p,
.scores p
{
    margin-top: .3rem;
    font-size: .91rem
}

.split
{
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .75rem;
    margin: 1rem 0
}

.split div
{
    padding: 1rem;
    border-radius: 15px;
    background: var(--primary-soft)
}

.split strong
{
    display: block;
    color: var(--primary-dark);
    font-size: 1.65rem
}

.split span
{
    font-size: .88rem;
    font-weight: 850
}

.note,
.warning
{
    display: flex;
    gap: .75rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 14px
}

.note
{
    background: var(--primary-soft);
    color: var(--primary-dark)
}

.warning
{
    background: var(--warn-soft);
    color: var(--warn)
}

.note p,
.warning p
{
    margin: 0;
    color: inherit
}

.scores
{
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .9rem
}

.scores article
{
    display: flex;
    align-items: center;
    gap: 1rem
}

.scores b
{
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 17px;
    background: var(--primary);
    color: #fff;
    font-size: 1.4rem
}

.small
{
    font-size: .87rem
}

.table
{
    overflow-x: auto;
    margin-top: 1rem;
    border: 1px solid var(--border);
    border-radius: 15px
}

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

.table th,
.table td
{
    padding: .76rem 1rem;
    border-bottom: 1px solid var(--border);
    text-align: left
}

.table th
{
    background: var(--primary-dark);
    color: #fff
}

.table td:nth-child(2),
.table td:nth-child(4)
{
    color: var(--primary-dark);
    font-weight: 900
}

.ticks
{
    list-style: none;
    margin: .8rem 0 0;
    padding: 0;
    color: var(--muted)
}

.ticks li
{
    position: relative;
    padding-left: 1.6rem
}

.ticks li:before
{
    content: "\f00c";
    position: absolute;
    left: 0;
    color: var(--primary);
    font-family: "Font Awesome 6 Free";
    font-weight: 900
}

.bank
{
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: .75rem;
    margin-top: 1.1rem
}

.bank div
{
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--soft)
}

.bank span,
.bank strong
{
    display: block
}

.bank span
{
    color: var(--muted);
    font-size: .74rem;
    font-weight: 850;
    text-transform: uppercase
}

.organiser
{
    background: linear-gradient(135deg,#fff9e3,#fff)
}

.join
{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1rem;
    padding: 2rem;
    border-radius: 20px;
    background: linear-gradient(135deg,var(--primary-dark),var(--primary));
    color: #fff
}

.join span
{
    color:#b8dfff;
}

.join p
{
    color: rgba(255,255,255,.82)
}

.join a
{
    display: inline-flex;
    gap: .6rem;
    padding: .82rem 1.15rem;
    border-radius: 14px;
    background: #fff;
    color: var(--primary-dark);
    font-weight: 900;
    text-decoration: none
}

footer
{
    padding: 1.5rem 1rem 2.5rem;
    color: var(--muted);
    font-size: .84rem;
    text-align: center
}

@media(max-width:820px)
{
    .grid,
    .steps,
    .bank
    {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
    .join
    {
        align-items: flex-start;
        flex-direction: column
    }
    .join a
    {
        width: 100%;
        justify-content: center
    }
}

@media(max-width:560px)
{
    .wrap
    {
        width: min(100% - 1rem,1120px)
    }
    .hero .wrap
    {
        padding: 1.6rem 0 2.5rem
    }
    .main
    {
        margin-top: -.85rem
    }
    .card
    {
        padding: 1rem;
        border-radius: 16px
    }
    .grid,
    .steps,
    .scores,
    .split,
    .bank
    {
        grid-template-columns: 1fr
    }
    .heading
    {
        align-items: flex-start
    }
    .pills
    {
        gap: .45rem
    }
    .pills span
    {
        font-size: .78rem
    }
    .table th,
    .table td
    {
        padding: .68rem .72rem
    }
}

/* =========================================================
   WEEKLY ENTRIES - LEADERBOARD / VIEW TOGGLE ADDITION
   Append this section to css/style.css
   ========================================================= */

.we-view-toggle
{
    display:inline-flex;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:999px;
    background:#eef3f9;
}

.we-view-toggle button
{
    padding:8px 12px;
    border:0;
    background:transparent;
    color:var(--primary);
    font:inherit;
    font-size:.82rem;
    font-weight:800;
    cursor:pointer;
}

.we-view-toggle button.active
{
    background:var(--primary);
    color:#fff;
}

.we-workspace
{
    grid-template-columns:minmax(360px,35%) minmax(0,1fr) minmax(280px,340px);
}

.we-workspace[data-view="scores"]
{
    grid-template-columns:minmax(390px,40%) minmax(0,1fr);
}

.we-workspace[data-view="scores"] .we-leaderboard-pane
{
    display:none;
}

.we-workspace[data-view="leaderboard"]
{
    grid-template-columns:minmax(390px,40%) minmax(0,1fr);
}

.we-workspace[data-view="leaderboard"] .we-scores-panel
{
    display:none;
}

.we-leaderboard-pane
{
    display:flex;
    min-width:0;
    min-height:0;
    overflow:hidden;
    flex-direction:column;
    background:#fff;
    border:1px solid #d9e4ed;
    border-radius:16px;
    box-shadow:0 10px 28px rgba(9,55,84,.09);
}

#weekly-leaderboard-content
{
    min-height:0;
    flex:1;
}

.we-leaderboard-scroll
{
    height:100%;
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}

.we-leaderboard-table
{
    width:100%;
    min-width:0;
    border-collapse:collapse;
}

.we-leaderboard-table th,
.we-leaderboard-table td
{
    padding:10px 8px;
    border-bottom:1px solid #edf1f4;
    text-align:center;
    white-space:nowrap;
}

.we-leaderboard-table th
{
    position:sticky;
    top:0;
    z-index:2;
    background:#eef3f9;
    color:var(--primary);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.we-leaderboard-table tbody tr:hover
{
    background:#f8fbff;
}

.we-leaderboard-table tbody tr.is-current-user
{
    background:#fff9e6;
}

.we-leaderboard-pos
{
    color:var(--primary);
    font-weight:900;
}

.we-leaderboard-player
{
    max-width:150px;
    overflow:hidden;
    color:#163248;
    font-weight:800;
    text-align:left !important;
    text-overflow:ellipsis;
}

.we-leaderboard-player .fa-star
{
    margin-right:5px;
    color:#d5a100;
}

.we-leaderboard-points
{
    color:var(--primary);
    font-size:1.05rem;
    font-weight:900;
}

.we-mini-pick
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid #e1e8ee;
    color:#6f7e89;
    font-size:.72rem;
    font-weight:800;
}

.we-mini-pick strong
{
    display:inline-flex;
    min-width:38px;
    justify-content:center;
    padding:3px 7px;
    border-radius:999px;
    background:#e8f2f9;
    color:var(--primary);
    font-size:.8rem;
}

@media (max-width:1200px)
{
    .we-workspace,
    .we-workspace[data-view="scores"],
    .we-workspace[data-view="leaderboard"]
    {
        grid-template-columns:minmax(330px,38%) minmax(0,1fr);
    }

    .we-workspace[data-view="all"] .we-leaderboard-pane
    {
        grid-column:1 / -1;
        min-height:360px;
    }
}

@media (max-width:760px)
{
    .we-toolbar-summary
    {
        grid-template-columns:1fr;
    }

    .we-view-toggle
    {
        display:grid;
        grid-template-columns:repeat(3,1fr);
        width:100%;
    }

    .we-workspace,
    .we-workspace[data-view="scores"],
    .we-workspace[data-view="leaderboard"]
    {
        display:flex;
        height:auto;
        flex-direction:column;
    }

    .we-workspace[data-view="scores"] .we-leaderboard-pane,
    .we-workspace[data-view="leaderboard"] .we-scores-panel
    {
        display:none;
    }

    .we-leaderboard-pane
    {
        order:3;
        height:min(620px,70vh);
        min-height:360px;
    }

    .we-leaderboard-player
    {
        max-width:190px;
    }
}

/* ==========================================
   COMPETITION HOME - REBUILD
   Append to css/style.css
========================================== */

.comp-home-summary
{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.comp-home-summary-card
{
    display:flex;
    align-items:center;
    gap:14px;
    min-height:112px;
    padding:18px;
    background:#fff;
    color:var(--primary);
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
    text-decoration:none;
}

.comp-home-summary-link
{
    transition:.2s ease;
}

.comp-home-summary-link:hover
{
    transform:translateY(-2px);
    border-color:var(--primary);
}

.comp-home-summary-icon
{
    display:flex;
    align-items:center;
    justify-content:center;
    width:50px;
    height:50px;
    flex:0 0 50px;
    background:#eef3f9;
    border-radius:13px;
    font-size:22px;
}

.comp-home-summary-card div
{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.comp-home-summary-card div span
{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.comp-home-summary-card strong
{
    font-size:28px;
    line-height:1.1;
}

.comp-home-primary-card
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-bottom:18px;
    padding:24px;
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    border-radius:16px;
    box-shadow:0 8px 22px rgba(0,51,102,.18);
}

.comp-home-primary-copy
{
    min-width:0;
}

.comp-home-kicker
{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:7px;
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.comp-home-primary-title-row
{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
}

.comp-home-primary-title-row h2
{
    margin:0;
    font-size:clamp(30px,5vw,48px);
    line-height:1;
}

.comp-home-primary-card p
{
    max-width:700px;
    margin:12px 0 0;
    color:rgba(255,255,255,.84);
}

.comp-home-status
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 11px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}

.comp-home-status-live
{
    background:#d9f7e2;
    color:#166534;
}

.comp-home-status-upcoming
{
    background:#fff3cd;
    color:#8a5800;
}

.comp-home-status-completed
{
    background:#e4e7eb;
    color:#374151;
}

.comp-home-week-stats
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.comp-home-week-stats span
{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.comp-home-main-action
{
    flex:0 0 auto;
    min-width:190px;
    min-height:48px;
    background:#fff;
    color:var(--primary);
}

.comp-home-main-action:hover
{
    background:#eef3f9;
}

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

.comp-home-card
{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.comp-home-card-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:14px 16px;
    background:linear-gradient(135deg,var(--primary),#07518f);
    color:#fff;
    font-weight:800;
}

.comp-home-card-header > div
{
    display:flex;
    align-items:center;
    gap:8px;
}

.comp-home-card-body
{
    padding:18px;
}

.comp-home-card-stat
{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    margin-bottom:16px;
}

.comp-home-card-stat span
{
    color:var(--muted);
    font-weight:800;
}

.comp-home-card-stat strong
{
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
}

.comp-home-card-stat .is-good
{
    background:#d9f7e2;
    color:#166534;
}

.comp-home-card-stat .is-warning
{
    background:#fff3cd;
    color:#8a5800;
}

.comp-home-progress
{
    margin-bottom:16px;
}

.comp-home-progress-copy
{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:7px;
    color:var(--primary);
    font-weight:800;
}

.comp-home-progress-track
{
    overflow:hidden;
    height:12px;
    background:#dfe5ec;
    border-radius:999px;
}

.comp-home-progress-track span
{
    display:block;
    height:100%;
    background:linear-gradient(90deg,var(--primary),#0d76bd);
}

.comp-home-card-action
{
    width:100%;
}

.comp-home-championship-grid
{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:16px;
}

.comp-home-championship-grid div
{
    padding:12px;
    background:#f8fbff;
    border:1px solid var(--border);
    border-radius:10px;
    text-align:center;
}

.comp-home-championship-grid span
{
    display:block;
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.comp-home-championship-grid strong
{
    display:block;
    margin-top:4px;
    color:var(--primary);
    font-size:22px;
}

.comp-home-wallet-value
{
    color:var(--primary);
    font-size:42px;
    font-weight:900;
    line-height:1;
}

.comp-home-card-body p
{
    margin:12px 0 16px;
    color:var(--muted);
}

.comp-home-card-actions
{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

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

.comp-home-quick-links a
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:58px;
    padding:14px;
    background:#eef3f9;
    color:var(--primary);
    border:1px solid var(--border);
    border-radius:10px;
    font-weight:800;
    text-decoration:none;
    transition:.2s ease;
}

.comp-home-quick-links a:hover
{
    background:#fff;
    border-color:var(--primary);
    transform:translateY(-1px);
}

@media (max-width:1000px)
{
    .comp-home-summary
    {
        grid-template-columns:1fr;
    }

    .comp-home-primary-card
    {
        align-items:flex-start;
        flex-direction:column;
    }

    .comp-home-main-action
    {
        width:100%;
    }

    .comp-home-grid
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:700px)
{
    .comp-home-championship-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .comp-home-card-actions,
    .comp-home-quick-links
    {
        grid-template-columns:1fr;
        flex-direction:column;
    }

    .comp-home-card-actions .btn,
    .comp-home-quick-links a
    {
        width:100%;
    }

    .comp-home-week-stats
    {
        flex-direction:column;
        align-items:stretch;
    }

    .comp-home-week-stats span
    {
        justify-content:center;
    }
}

/* ==========================================
   FOOTBALL CHAMPIONSHIP - PUBLIC JOIN PAGE
   Append to css/style.css
========================================== */

.join-page
{
    margin:0;
    background:#edf2f7;
    color:#122033;
}

.join-shell
{
    width:min(1240px,100%);
    margin:0 auto;
    min-height:100vh;
    background:#edf2f7;
}

.join-public-header
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 22px;
    background:#071727;
    color:#fff;
}

.join-brand
{
    display:flex;
    align-items:center;
    gap:11px;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:850;
    line-height:1.05;
    text-transform:uppercase;
}

.join-brand strong
{
    display:block;
    font-size:19px;
}

.join-brand-icon
{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:2px solid #efb72e;
    border-radius:50%;
    color:#efb72e;
    font-size:20px;
}

.join-header-actions
{
    display:flex;
    align-items:center;
    gap:10px;
}

.join-header-actions a
{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:10px 13px;
    border-radius:8px;
    color:#fff;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}

.join-header-actions a:hover
{
    background:rgba(255,255,255,.1);
}

.join-header-actions .join-login-link
{
    border:1px solid #efb72e;
    color:#efb72e;
}

.join-hero
{
    position:relative;
    min-height:350px;
    overflow:hidden;
    background:#071727;
}

.join-hero > img
{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.join-hero-overlay
{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(3,17,30,.92) 0%,rgba(3,17,30,.62) 48%,rgba(3,17,30,.15) 100%),
        linear-gradient(0deg,rgba(3,17,30,.38),transparent 55%);
}

.join-hero-content
{
    position:relative;
    z-index:2;
    max-width:720px;
    padding:64px 48px 72px;
    color:#fff;
}

.join-eyebrow
{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:13px;
    color:#efb72e;
    font-size:12px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.join-hero h1
{
    margin:0;
    font-size:clamp(38px,6vw,68px);
    line-height:.98;
    letter-spacing:-.045em;
}

.join-hero p
{
    max-width:650px;
    margin:22px 0 0;
    color:rgba(255,255,255,.86);
    font-size:clamp(16px,2vw,21px);
    line-height:1.5;
}

.join-feature-grid
{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    width:calc(100% - 64px);
    margin:-38px auto 22px;
}

.join-feature-grid article
{
    display:flex;
    align-items:flex-start;
    gap:13px;
    min-height:126px;
    padding:18px;
    background:#0b1d2e;
    color:#fff;
    border:1px solid rgba(239,183,46,.52);
    border-radius:13px;
    box-shadow:0 10px 26px rgba(0,0,0,.18);
}

.join-feature-grid article > span
{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:11px;
    background:rgba(239,183,46,.12);
    color:#efb72e;
    font-size:20px;
}

.join-feature-grid strong
{
    display:block;
    margin-bottom:4px;
    font-size:14px;
}

.join-feature-grid p
{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:12px;
    line-height:1.45;
}

.join-main
{
    width:calc(100% - 64px);
    margin:0 auto;
    padding-bottom:28px;
}

.join-form-card
{
    display:grid;
    grid-template-columns:330px minmax(0,1fr);
    overflow:hidden;
    background:#fff;
    border:1px solid #d9e2eb;
    border-radius:16px;
    box-shadow:0 12px 32px rgba(16,35,55,.1);
}

.join-form-intro
{
    padding:28px;
    border-right:1px solid #d9e2eb;
    background:linear-gradient(160deg,#fff,#f7f9fc);
}

.join-form-icon
{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border-radius:15px;
    background:#fff4d5;
    color:#b98100;
    font-size:23px;
}

.join-form-intro h2
{
    margin:16px 0 0;
    color:#0a2036;
    font-size:29px;
}

.join-form-intro > p
{
    margin:11px 0 0;
    color:#58697a;
    line-height:1.6;
}

.join-guide-card
{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:24px;
    padding:16px;
    background:#fff8e7;
    border:1px solid #f4df9c;
    border-radius:12px;
}

.join-guide-card > i
{
    margin-top:2px;
    color:#b98100;
    font-size:20px;
}

.join-guide-card strong
{
    color:#172536;
}

.join-guide-card p
{
    margin:5px 0 12px;
    color:#6b6250;
    font-size:13px;
}

.join-guide-card a
{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#0b5e9e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}

.join-approval-note
{
    display:flex;
    gap:8px;
    align-items:flex-start;
    margin-top:20px !important;
    font-size:13px;
}

.join-form-panel
{
    padding:28px;
}

.join-error-box
{
    margin-bottom:18px;
    padding:14px 16px;
    background:#fff1f1;
    color:#9e1c1c;
    border:1px solid #f0bcbc;
    border-radius:10px;
}

.join-error-box strong
{
    display:flex;
    align-items:center;
    gap:7px;
}

.join-error-box ul
{
    margin:8px 0 0;
    padding-left:20px;
}

.join-form
{
    display:flex;
    flex-direction:column;
    gap:17px;
}

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

.join-field label,
.join-source-field legend
{
    display:block;
    margin-bottom:7px;
    color:#172536;
    font-size:13px;
    font-weight:850;
}

.join-field label span,
.join-source-field legend span
{
    color:#d52b2b;
}

.join-input-wrap
{
    position:relative;
}

.join-input-wrap > i
{
    position:absolute;
    top:50%;
    left:13px;
    transform:translateY(-50%);
    color:#8b99a8;
}

.join-input-wrap input
{
    width:100%;
    min-height:46px;
    padding:10px 12px 10px 38px;
    border:1px solid #ccd7e1;
    border-radius:8px;
    background:#fff;
    color:#172536;
    font:inherit;
}

.join-input-wrap input:focus
{
    outline:none;
    border-color:#0b6fc2;
    box-shadow:0 0 0 3px rgba(11,111,194,.12);
}

.join-field small
{
    display:block;
    margin-top:6px;
    color:#738191;
    font-size:11px;
}

.join-source-field
{
    margin:0;
    padding:0;
    border:0;
}

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

.join-radio-grid label
{
    cursor:pointer;
}

.join-radio-grid input
{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.join-radio-grid span
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    padding:10px;
    border:1px solid #ccd7e1;
    border-radius:9px;
    color:#526273;
    font-size:13px;
    font-weight:800;
    transition:.18s ease;
}

.join-radio-grid input:checked + span
{
    background:#eaf4fd;
    color:#07518f;
    border-color:#0b6fc2;
    box-shadow:0 0 0 2px rgba(11,111,194,.1);
}

.join-agreement
{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#4d5d6d;
    font-size:13px;
    line-height:1.5;
    cursor:pointer;
}

.join-agreement input
{
    width:18px;
    height:18px;
    flex:0 0 18px;
    margin-top:1px;
    accent-color:#0b6fc2;
}

.join-agreement a
{
    color:#0b6fc2;
    font-weight:800;
}

.join-submit-button
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    min-height:50px;
    padding:12px 18px;
    border:0;
    border-radius:9px;
    background:linear-gradient(135deg,#0b6fc2,#07518f);
    color:#fff;
    font:inherit;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 7px 16px rgba(7,81,143,.2);
}

.join-submit-button:hover
{
    filter:brightness(1.05);
}

.join-privacy-note
{
    margin:0;
    color:#7b8896;
    font-size:11px;
    text-align:center;
}

.join-success-card
{
    max-width:720px;
    margin:28px auto 0;
    padding:36px;
    background:#fff;
    border:1px solid #d9e2eb;
    border-radius:16px;
    box-shadow:0 12px 32px rgba(16,35,55,.1);
    text-align:center;
}

.join-success-icon
{
    display:grid;
    place-items:center;
    width:68px;
    height:68px;
    margin:0 auto;
    border-radius:50%;
    background:#dbf5e4;
    color:#187541;
    font-size:28px;
}

.join-success-eyebrow
{
    margin-top:17px;
    color:#187541;
    font-size:12px;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.join-success-card h2
{
    margin:7px 0 0;
    color:#122033;
    font-size:34px;
}

.join-success-card > p
{
    color:#5e6d7d;
}

.join-success-details
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:22px 0;
}

.join-success-details div
{
    padding:16px;
    background:#f6f9fc;
    border:1px solid #dce5ed;
    border-radius:10px;
}

.join-success-details span,
.join-success-details strong
{
    display:block;
}

.join-success-details span
{
    color:#748291;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.join-success-details strong
{
    margin-top:5px;
    color:#0b5e9e;
}

.join-success-note
{
    margin-bottom:22px;
}

.join-footer
{
    padding:20px;
    color:#728091;
    font-size:12px;
    text-align:center;
}

@media (max-width:980px)
{
    .join-feature-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .join-form-card
    {
        grid-template-columns:1fr;
    }

    .join-form-intro
    {
        border-right:0;
        border-bottom:1px solid #d9e2eb;
    }
}

@media (max-width:650px)
{
    .join-public-header
    {
        align-items:flex-start;
        flex-direction:column;
    }

    .join-header-actions
    {
        width:100%;
    }

    .join-header-actions a
    {
        flex:1;
        justify-content:center;
    }

    .join-hero
    {
        min-height:300px;
    }

    .join-hero-content
    {
        padding:46px 20px 62px;
    }

    .join-feature-grid,
    .join-main
    {
        width:calc(100% - 20px);
    }

    .join-feature-grid
    {
        grid-template-columns:1fr;
        margin-top:-30px;
    }

    .join-feature-grid article
    {
        min-height:auto;
    }

    .join-form-intro,
    .join-form-panel
    {
        padding:20px;
    }

    .join-form-grid,
    .join-radio-grid,
    .join-success-details
    {
        grid-template-columns:1fr;
    }

    .join-success-card
    {
        padding:24px 18px;
    }
}

/* ==========================================
   COMPETITION WALLET V2
   Append to css/style.css
========================================== */

.wallet-message
{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:16px;
    padding:13px 15px;
    border-radius:10px;
    font-weight:800;
}

.wallet-message-topup_submitted,
.wallet-message-withdrawal_submitted,
.wallet-message-transaction_saved
{
    background:#ddf6e6;
    color:#166534;
    border:1px solid #b8e6c8;
}

.wallet-message-invalid_topup,
.wallet-message-invalid_withdrawal
{
    background:#fff0f0;
    color:#9b1c1c;
    border:1px solid #f1bcbc;
}

.wallet-v2-summary
{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:14px;
    margin-bottom:16px;
}

.wallet-v2-balance,
.wallet-v2-summary-stat
{
    display:flex;
    align-items:center;
    gap:14px;
    min-height:112px;
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.wallet-v2-summary-icon
{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    flex:0 0 54px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:14px;
    font-size:24px;
}

.wallet-v2-balance div,
.wallet-v2-summary-stat
{
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
}

.wallet-v2-summary span
{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.wallet-v2-summary strong
{
    margin-top:3px;
    color:var(--primary);
    font-size:28px;
}

.wallet-v2-summary strong.is-negative,
.wallet-v2-warning
{
    color:#a61b1b;
}

.wallet-v2-good
{
    color:#177245 !important;
    font-size:17px !important;
}

.wallet-v2-warning
{
    font-size:17px !important;
}

.wallet-v2-tabs
{
    display:flex;
    gap:8px;
    overflow-x:auto;
    margin-bottom:16px;
    padding:8px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
}

.wallet-v2-tabs a
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex:1 0 auto;
    min-height:42px;
    padding:9px 14px;
    color:var(--muted);
    border-radius:8px;
    font-weight:800;
    text-decoration:none;
}

.wallet-v2-tabs a:hover,
.wallet-v2-tabs a.active
{
    background:var(--primary);
    color:#fff;
}

.wallet-v2-panel
{
    overflow:hidden;
    margin-bottom:16px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.05);
}

.wallet-v2-panel > .panel-header
{
    border-radius:0;
}

.wallet-v2-two-column
{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.wallet-v2-payment-options
{
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    gap:22px;
    align-items:center;
    padding:22px;
}

.wallet-v2-qr
{
    display:flex;
    align-items:center;
    justify-content:center;
}

.wallet-v2-qr img
{
    width:100%;
    max-width:210px;
    aspect-ratio:1;
    object-fit:contain;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
}

.wallet-v2-qr-placeholder
{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:7px;
    width:210px;
    aspect-ratio:1;
    padding:18px;
    background:#f8fafc;
    color:var(--muted);
    border:2px dashed #cbd5df;
    border-radius:12px;
    text-align:center;
}

.wallet-v2-qr-placeholder i
{
    color:var(--primary);
    font-size:42px;
}

.wallet-v2-qr-placeholder small
{
    overflow-wrap:anywhere;
}

.wallet-v2-payment-copy h2
{
    margin:0;
    color:var(--primary);
}

.wallet-v2-payment-copy p
{
    color:var(--muted);
    line-height:1.6;
}

.wallet-v2-config-note
{
    padding:12px;
    background:#fff3cd;
    color:#7c5700;
    border:1px solid #ead58e;
    border-radius:9px;
    font-size:13px;
}

.wallet-v2-request-form
{
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:22px;
}

.wallet-v2-request-form textarea
{
    width:100%;
    resize:vertical;
}

.wallet-v2-request-list
{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:16px;
}

.wallet-v2-request-list article
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px;
    background:#f8fafc;
    border:1px solid var(--border);
    border-radius:10px;
}

.wallet-v2-request-list article > div
{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.wallet-v2-request-list article strong
{
    color:var(--primary);
    font-size:18px;
}

.wallet-v2-request-list article span
{
    color:var(--muted);
    font-size:12px;
}

.wallet-request-status
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    font-size:11px !important;
    font-weight:900;
    text-transform:uppercase;
}

.wallet-request-pending
{
    background:#fff3cd;
    color:#7c5700 !important;
}

.wallet-request-approved
{
    background:#ddf6e6;
    color:#166534 !important;
}

.wallet-request-rejected
{
    background:#ffe3e3;
    color:#9b1c1c !important;
}

.wallet-v2-withdraw-copy
{
    padding:22px 22px 0;
}

.wallet-v2-withdraw-copy span
{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.wallet-v2-withdraw-copy strong
{
    display:block;
    margin-top:3px;
    color:var(--primary);
    font-size:38px;
}

.wallet-v2-withdraw-copy p
{
    color:var(--muted);
}

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

.wallet-v2-help-wide
{
    grid-column:1 / -1;
}

.wallet-v2-help-list
{
    margin:0;
    padding:20px 22px 22px 42px;
    color:var(--muted);
}

.wallet-v2-help-list li
{
    margin:8px 0;
    padding-left:4px;
}

.wallet-v2-help-actions
{
    padding:22px;
}

.wallet-v2-admin-adjustment
{
    margin-top:16px;
}

@media (max-width:900px)
{
    .wallet-v2-summary,
    .wallet-v2-two-column,
    .wallet-v2-help-grid
    {
        grid-template-columns:1fr;
    }

    .wallet-v2-help-wide
    {
        grid-column:auto;
    }

    .wallet-v2-payment-options
    {
        grid-template-columns:1fr;
    }
}

@media (max-width:560px)
{
    .wallet-v2-tabs a
    {
        flex:0 0 auto;
    }

    .wallet-v2-payment-options,
    .wallet-v2-request-form
    {
        padding:16px;
    }

    .wallet-v2-qr-placeholder
    {
        width:100%;
        max-width:250px;
    }
}

/* ==========================================
   PLAYER ADMINISTRATION
   Append to css/style.css
========================================== */

.pa-credentials-alert
{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,1fr);
    gap:18px;
    margin-bottom:16px;
    padding:18px;
    background:#fff8df;
    color:#654b00;
    border:1px solid #ebd17a;
    border-radius:12px;
}

.pa-credentials-alert p
{
    margin:5px 0 0;
}

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

.pa-credentials-grid div
{
    padding:12px;
    background:#fff;
    border:1px solid #ead99d;
    border-radius:9px;
}

.pa-credentials-grid span,
.pa-credentials-grid strong
{
    display:block;
}

.pa-credentials-grid span
{
    color:#786a3d;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.pa-credentials-grid strong
{
    margin-top:4px;
    color:#3f3100;
    font-size:17px;
    overflow-wrap:anywhere;
}

.pa-alert
{
    margin-bottom:16px;
    padding:13px 15px;
    border-radius:10px;
    font-weight:800;
}

.pa-alert-join_failed,
.pa-alert-payment_failed,
.pa-alert-withdrawal_failed,
.pa-alert-join_not_pending,
.pa-alert-payment_not_pending,
.pa-alert-withdrawal_not_approved,
.pa-alert-withdrawal_balance_low
{
    background:#fff0f0;
    color:#9b1c1c;
    border:1px solid #efbcbc;
}

.pa-alert:not(.pa-alert-join_failed):not(.pa-alert-payment_failed):not(.pa-alert-withdrawal_failed):not(.pa-alert-join_not_pending):not(.pa-alert-payment_not_pending):not(.pa-alert-withdrawal_not_approved):not(.pa-alert-withdrawal_balance_low)
{
    background:#ddf6e6;
    color:#166534;
    border:1px solid #b9e5c7;
}

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

.pa-summary-card
{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:102px;
    padding:16px;
    background:#fff;
    color:var(--primary);
    border:1px solid var(--border);
    border-radius:13px;
    box-shadow:0 4px 14px rgba(0,0,0,.05);
    text-decoration:none;
    transition:.18s ease;
}

.pa-summary-card:hover,
.pa-summary-card.active
{
    transform:translateY(-2px);
    border-color:var(--primary);
}

.pa-summary-icon
{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    background:#eef3f9;
    border-radius:12px;
    font-size:20px;
}

.pa-summary-card div
{
    display:flex;
    flex-direction:column;
}

.pa-summary-card div span
{
    color:var(--muted);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.pa-summary-card div strong
{
    margin-top:2px;
    font-size:26px;
}

.pa-tabs
{
    display:flex;
    gap:8px;
    overflow-x:auto;
    margin-bottom:16px;
    padding:8px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
}

.pa-tabs a
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex:1 0 auto;
    min-height:42px;
    padding:9px 13px;
    color:var(--muted);
    border-radius:8px;
    font-weight:800;
    text-decoration:none;
}

.pa-tabs a:hover,
.pa-tabs a.active
{
    background:var(--primary);
    color:#fff;
}

.pa-tabs a > span
{
    display:grid;
    place-items:center;
    min-width:21px;
    height:21px;
    padding:0 6px;
    background:#d92727;
    color:#fff;
    border-radius:999px;
    font-size:10px;
}

.pa-panel
{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.05);
}

.pa-panel > .panel-header
{
    border-radius:0;
}

.pa-card-list
{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:16px;
}

.pa-request-card
{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:17px;
    background:#f8fafc;
    border:1px solid var(--border);
    border-radius:12px;
}

.pa-request-heading
{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.pa-request-heading > div
{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px;
}

.pa-request-heading h2
{
    margin:0;
    color:var(--primary);
    font-size:19px;
}

.pa-request-heading small
{
    color:var(--muted);
    white-space:nowrap;
}

.pa-request-amount
{
    color:#177245;
    font-size:20px;
}

.pa-status
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 9px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.pa-status.is-pending
{
    background:#fff3cd;
    color:#7c5700;
}

.pa-status.is-approved
{
    background:#ddf6e6;
    color:#166534;
}

.pa-status.is-rejected
{
    background:#ffe1e1;
    color:#9b1c1c;
}

.pa-detail-grid
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.pa-detail-grid > div
{
    padding:11px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:9px;
}

.pa-detail-grid span,
.pa-detail-grid strong
{
    display:block;
}

.pa-detail-grid span
{
    color:var(--muted);
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
}

.pa-detail-grid strong
{
    margin-top:4px;
    color:#26384a;
    overflow-wrap:anywhere;
}

.pa-detail-wide
{
    grid-column:span 2;
}

.pa-request-actions
{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:150px;
}

.pa-request-actions form,
.pa-request-actions .btn
{
    width:100%;
}

.pa-request-actions .btn
{
    justify-content:center;
}

.btn-danger
{
    background:#b42323;
    color:#fff;
    border-color:#b42323;
}

.btn-danger:hover
{
    background:#901b1b;
}

.pa-users-table tr.is-disabled
{
    opacity:.62;
    background:#f6f6f6;
}

.pa-table-actions
{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

.pa-table-actions form
{
    margin:0;
}

@media (max-width:1050px)
{
    .pa-summary-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pa-request-card
    {
        grid-template-columns:1fr;
    }

    .pa-request-actions
    {
        flex-direction:row;
        flex-wrap:wrap;
        min-width:0;
    }

    .pa-request-actions form
    {
        width:auto;
        flex:1;
    }

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

@media (max-width:720px)
{
    .pa-credentials-alert,
    .pa-credentials-grid,
    .pa-summary-grid,
    .pa-detail-grid
    {
        grid-template-columns:1fr;
    }

    .pa-detail-wide
    {
        grid-column:auto;
    }

    .pa-request-heading
    {
        flex-direction:column;
    }

    .pa-request-actions
    {
        flex-direction:column;
    }

    .pa-request-actions form
    {
        width:100%;
    }

    .pa-tabs a
    {
        flex:0 0 auto;
    }
}

/* ==========================================
   MY PREDICTIONS - PAID ENTRY ADDITIONS
   Append to css/style.css
========================================== */

.prediction-entry-notice
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
    padding:15px 17px;
    background:#fff8df;
    color:#654b00;
    border:1px solid #ead17b;
    border-radius:11px;
}

.prediction-entry-notice > div
{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.prediction-entry-notice > div span
{
    font-size:13px;
}

.prediction-entry-notice > strong
{
    flex:0 0 auto;
    color:#8a6200;
    font-size:20px;
}

@media (max-width:700px)
{
    .prediction-entry-notice
    {
        align-items:flex-start;
        flex-direction:column;
    }
}

/* ==========================================
   USER ACCOUNT RE-DIRECT
   Append to css/style.css
========================================== */

.wallet-message-warning
{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:20px;
    padding:18px;
    border:1px solid #f0c36d;
    border-radius:12px;
    background:#fff7df;
    color:#6b5200;
}

.wallet-message-warning i
{
    font-size:24px;
    color:#d78b00;
}

/* ==========================================
   MATCH CENTRE RESPONSIVE PANEL LAYOUT V2
========================================== */

.we-workspace.we-layout-all
{
    grid-template-columns:minmax(245px,.85fr) minmax(360px,1.35fr) minmax(270px,.8fr);
}

.we-workspace.we-layout-matches-predictions
{
    grid-template-columns:minmax(300px,.8fr) minmax(520px,1.7fr);
}

.we-workspace.we-layout-matches-leaderboard
{
    grid-template-columns:minmax(460px,1.45fr) minmax(300px,.8fr);
}

.we-workspace.we-layout-predictions-leaderboard
{
    grid-template-columns:minmax(520px,1.65fr) minmax(300px,.85fr);
}

.we-workspace.we-layout-matches-only,
.we-workspace.we-layout-predictions-only,
.we-workspace.we-layout-leaderboard-only
{
    grid-template-columns:minmax(0,1fr);
}

.we-workspace.we-layout-matches-only .we-match-grid
{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}

@media (min-width:761px) and (max-width:1100px)
{
    .we-workspace.we-layout-matches-only .we-match-grid
    {
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:10px !important;
    }
}

@media (max-width:760px)
{
    .we-workspace,
    .we-workspace.we-layout-all,
    .we-workspace.we-layout-matches-predictions,
    .we-workspace.we-layout-matches-leaderboard,
    .we-workspace.we-layout-predictions-leaderboard,
    .we-workspace.we-layout-matches-only,
    .we-workspace.we-layout-predictions-only,
    .we-workspace.we-layout-leaderboard-only
    {
        display:flex;
        height:auto;
        min-height:0;
        flex-direction:column;
    }

    .we-match-pane,
    .we-detail-pane,
    .we-leaderboard-pane,
    .we-match-scroll,
    .we-detail-scroll,
    .we-leaderboard-scroll
    {
        height:auto;
        min-height:0;
        max-height:none;
        overflow:visible;
    }

    .we-match-grid,
    .we-workspace.we-layout-matches-only .we-match-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .we-selected-card
    {
        position:static;
    }
}


@media (max-width:340px)
{
    .we-match-grid,
    .we-workspace.we-layout-matches-only .we-match-grid
    {
        grid-template-columns:1fr !important;
    }
}

/* ==========================================================
   MY PREDICTIONS
========================================================== */

.prediction-columns{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-top:20px;
}

.prediction-column{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.prediction-card{
    background:#fff;
    border:1px solid #dcdcdc;
    border-radius:12px;
    padding:14px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    transition:.2s;
}

.prediction-card:hover{
    border-color:#c91f26;
    box-shadow:0 4px 14px rgba(0,0,0,.12);
}

.prediction-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
    font-size:.82rem;
    color:#666;
}

.competition-info{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:600;
}

.competition-info img{
    width:22px;
    height:22px;
    object-fit:contain;
}

.tv-logo{
    height:22px;
    width:auto;
    object-fit:contain;
}

.kickoff-time{
    font-size:.8rem;
    color:#777;
}

.fixture-main{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:12px;
}

.team{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:6px;
}

.team img{
    width:42px;
    height:42px;
    object-fit:contain;
}

.team-name{
    font-size:.92rem;
    font-weight:600;
    line-height:1.2;
}

.score-entry{
    display:flex;
    align-items:center;
    gap:6px;
}

.score-entry span{
    font-weight:bold;
    color:#666;
}

.score-box{
    width:42px;
    height:42px;
    text-align:center;
    font-size:1.15rem;
    font-weight:bold;
    border:2px solid #cfcfcf;
    border-radius:8px;
    transition:.15s;
}

.score-box:focus{
    border-color:#c91f26;
    outline:none;
    box-shadow:0 0 0 3px rgba(201,31,38,.15);
}

.locked-score{
    min-width:95px;
    text-align:center;
    font-size:1.3rem;
    font-weight:bold;
}

.prediction-card.complete{
    border-left:5px solid #28a745;
}

.prediction-card.incomplete{
    border-left:5px solid #d5d5d5;
}

.prediction-card.locked{
    opacity:.75;
}

.prediction-save-bar{
    position:sticky;
    bottom:0;
    margin-top:20px;
    background:#fff;
    border-top:2px solid #ddd;
    padding:15px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:50;
}

.prediction-save-bar strong{
    font-size:.95rem;
}

.prediction-save-bar .btn{
    min-width:190px;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width:1000px){

    .prediction-columns{
        grid-template-columns:1fr;
    }

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:640px){

    .prediction-card{
        padding:12px;
    }

    .fixture-main{
        grid-template-columns:1fr;
        gap:14px;
    }

    .score-entry{
        justify-content:center;
    }

    .team img{
        width:34px;
        height:34px;
    }

    .team-name{
        font-size:.88rem;
    }

    .score-box{
        width:38px;
        height:38px;
        font-size:1rem;
    }

    .prediction-save-bar{
        flex-direction:column;
        gap:12px;
    }

    .prediction-save-bar .btn{
        width:100%;
    }

}



/* ==========================================
   TEAM & CREST MANAGER
   Append this complete section to css/style.css
========================================== */

.fbc-team-message{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:13px 15px;border-radius:11px;font-weight:800}
.fbc-team-message.is-success{background:#ddf6e6;color:#166534;border:1px solid #b8e6c8}
.fbc-team-message.is-error{background:#fff0f0;color:#9b1c1c;border:1px solid #efbcbc}
.fbc-team-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.fbc-team-summary article{display:flex;align-items:center;gap:14px;min-height:108px;padding:17px;background:#fff;color:var(--primary);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.fbc-team-summary article>i{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:#eef3f9;border-radius:12px;font-size:21px}
.fbc-team-summary article div{display:flex;flex-direction:column;gap:3px}
.fbc-team-summary article span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.fbc-team-summary article strong{font-size:28px}
.fbc-team-summary article.is-warning{background:#fff8df;border-color:#edd27e}
.fbc-team-summary article.is-warning>i{background:#ffe9a8;color:#8a5800}
.fbc-team-summary article.is-review{background:#fff3f3;border-color:#efbcbc}
.fbc-team-summary article.is-review>i{background:#ffe1e1;color:#9b1c1c}
.fbc-team-actions-panel,.fbc-team-table-panel{margin-bottom:16px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.fbc-team-actions-panel{padding:16px}
.fbc-team-actions{display:flex;flex-wrap:wrap;gap:10px}
.fbc-team-actions form{margin:0}
.fbc-team-process-all{background:#d4af37;color:#1f2937}
.fbc-team-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) minmax(220px,1.4fr) auto;gap:12px;align-items:end;margin-top:15px;padding-top:15px;border-top:1px solid var(--border)}
.fbc-team-filters>div{display:flex;flex-direction:column;gap:6px}
.fbc-team-filters label{color:var(--primary);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.fbc-team-filters select,.fbc-team-filters input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font:inherit}
.fbc-team-filter-actions{display:flex!important;flex-direction:row!important;gap:8px!important}
.fbc-team-table-panel{overflow:hidden}
.fbc-team-table-heading{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;background:#eef3f9;color:var(--primary)}
.fbc-team-table-heading div{display:flex;align-items:baseline;gap:7px}
.fbc-team-table-heading span{color:var(--muted);font-size:12px}
.fbc-team-table-wrap{overflow:auto;max-height:72vh}
.fbc-team-table{width:100%;min-width:1450px;border-collapse:collapse}
.fbc-team-table th,.fbc-team-table td{padding:11px 10px;border-bottom:1px solid #edf1f6;vertical-align:middle}
.fbc-team-table th{position:sticky;top:0;z-index:5;background:#eef3f9;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}
.fbc-team-table tbody tr:hover{background:#f8fbff}
.fbc-team-id-cell{width:72px;color:var(--primary);font-weight:900;text-align:center}
.fbc-team-competition-list{display:flex;flex-wrap:wrap;gap:5px;max-width:220px}
.fbc-team-competition-list span{display:inline-flex;padding:4px 8px;background:#eef3f9;color:var(--primary);border-radius:999px;font-size:10px;font-weight:800}
.fbc-team-source-name{min-width:160px;color:var(--primary);font-weight:900}
.fbc-team-table td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.fbc-team-name-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:7px;min-width:300px}
.fbc-team-name-form input{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}
.fbc-team-crest-cell{width:82px;text-align:center}
.fbc-team-crest-preview,.fbc-team-crest-placeholder{width:52px;height:52px}
.fbc-team-crest-preview{object-fit:contain}
.fbc-team-crest-placeholder{display:inline-grid;place-items:center;background:#eef3f9;color:#8b98a7;border-radius:12px;font-size:23px}
.fbc-team-path{display:flex;flex-direction:column;gap:4px;min-width:250px;max-width:330px}
.fbc-team-path strong{color:var(--primary);font-size:10px;text-transform:uppercase}
.fbc-team-path code{display:block;overflow:hidden;padding:6px 8px;background:#f5f7fa;color:#4a586a;border-radius:7px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.fbc-team-last-used{white-space:nowrap;color:var(--muted);font-weight:800}
.fbc-team-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}
.fbc-team-status.is-complete{background:#ddf6e6;color:#166534}
.fbc-team-status.is-crest-only{background:#fff3cd;color:#8a5800}
.fbc-team-status.is-review{background:#ffe1e1;color:#9b1c1c}
.fbc-team-row-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:190px}
.fbc-team-row-actions form{margin:0}
.fbc-team-row-actions .btn,.fbc-team-name-form .btn{min-height:38px;padding:8px 10px;font-size:12px}
.fbc-team-empty{padding:42px 20px!important;color:var(--muted);text-align:center}
.fbc-team-empty i{display:block;margin-bottom:10px;color:var(--primary);font-size:30px}
@media(max-width:1100px){.fbc-team-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fbc-team-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fbc-team-filter-actions{grid-column:1/-1}}
@media(max-width:700px){.fbc-team-summary,.fbc-team-filters{grid-template-columns:1fr}.fbc-team-actions,.fbc-team-filter-actions{flex-direction:column!important}.fbc-team-actions form,.fbc-team-actions .btn,.fbc-team-filter-actions .btn{width:100%}.fbc-team-table-wrap{max-height:none}}

/* ==========================================
   TEAM & CREST MANAGER
   Append this complete section to css/style.css
========================================== */

.fbc-team-message{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:13px 15px;border-radius:11px;font-weight:800}
.fbc-team-message.is-success{background:#ddf6e6;color:#166534;border:1px solid #b8e6c8}
.fbc-team-message.is-error{background:#fff0f0;color:#9b1c1c;border:1px solid #efbcbc}
.fbc-team-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.fbc-team-summary article{display:flex;align-items:center;gap:14px;min-height:108px;padding:17px;background:#fff;color:var(--primary);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.fbc-team-summary article>i{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:#eef3f9;border-radius:12px;font-size:21px}
.fbc-team-summary article div{display:flex;flex-direction:column;gap:3px}
.fbc-team-summary article span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.fbc-team-summary article strong{font-size:28px}
.fbc-team-summary article.is-warning{background:#fff8df;border-color:#edd27e}
.fbc-team-summary article.is-warning>i{background:#ffe9a8;color:#8a5800}
.fbc-team-summary article.is-review{background:#fff3f3;border-color:#efbcbc}
.fbc-team-summary article.is-review>i{background:#ffe1e1;color:#9b1c1c}
.fbc-team-actions-panel,.fbc-team-table-panel{margin-bottom:16px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.fbc-team-actions-panel{padding:16px}
.fbc-team-actions{display:flex;flex-wrap:wrap;gap:10px}
.fbc-team-actions form{margin:0}
.fbc-team-process-all{background:#d4af37;color:#1f2937}
.fbc-team-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) minmax(220px,1.4fr) auto;gap:12px;align-items:end;margin-top:15px;padding-top:15px;border-top:1px solid var(--border)}
.fbc-team-filters>div{display:flex;flex-direction:column;gap:6px}
.fbc-team-filters label{color:var(--primary);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.fbc-team-filters select,.fbc-team-filters input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font:inherit}
.fbc-team-filter-actions{display:flex!important;flex-direction:row!important;gap:8px!important}
.fbc-team-table-panel{overflow:hidden}
.fbc-team-table-heading{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;background:#eef3f9;color:var(--primary)}
.fbc-team-table-heading div{display:flex;align-items:baseline;gap:7px}
.fbc-team-table-heading span{color:var(--muted);font-size:12px}
.fbc-team-table-wrap{overflow:auto;max-height:72vh}
.fbc-team-table{width:100%;min-width:1450px;border-collapse:collapse}
.fbc-team-table th,.fbc-team-table td{padding:11px 10px;border-bottom:1px solid #edf1f6;vertical-align:middle}
.fbc-team-table th{position:sticky;top:0;z-index:5;background:#eef3f9;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}
.fbc-team-table tbody tr:hover{background:#f8fbff}
.fbc-team-id-cell{width:72px;color:var(--primary);font-weight:900;text-align:center}
.fbc-team-competition-list{display:flex;flex-wrap:wrap;gap:5px;max-width:220px}
.fbc-team-competition-list span{display:inline-flex;padding:4px 8px;background:#eef3f9;color:var(--primary);border-radius:999px;font-size:10px;font-weight:800}
.fbc-team-source-name{min-width:160px;color:var(--primary);font-weight:900}
.fbc-team-table td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.fbc-team-name-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:7px;min-width:300px}
.fbc-team-name-form input{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}
.fbc-team-crest-cell{width:82px;text-align:center}
.fbc-team-crest-preview,.fbc-team-crest-placeholder{width:52px;height:52px}
.fbc-team-crest-preview{object-fit:contain}
.fbc-team-crest-placeholder{display:inline-grid;place-items:center;background:#eef3f9;color:#8b98a7;border-radius:12px;font-size:23px}
.fbc-team-path{display:flex;flex-direction:column;gap:4px;min-width:250px;max-width:330px}
.fbc-team-path strong{color:var(--primary);font-size:10px;text-transform:uppercase}
.fbc-team-path code{display:block;overflow:hidden;padding:6px 8px;background:#f5f7fa;color:#4a586a;border-radius:7px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.fbc-team-last-used{white-space:nowrap;color:var(--muted);font-weight:800}
.fbc-team-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}
.fbc-team-status.is-complete{background:#ddf6e6;color:#166534}
.fbc-team-status.is-crest-only{background:#fff3cd;color:#8a5800}
.fbc-team-status.is-review{background:#ffe1e1;color:#9b1c1c}
.fbc-team-row-actions{display:flex;flex-wrap:wrap;gap:7px;min-width:190px}
.fbc-team-row-actions form{margin:0}
.fbc-team-row-actions .btn,.fbc-team-name-form .btn{min-height:38px;padding:8px 10px;font-size:12px}
.fbc-team-empty{padding:42px 20px!important;color:var(--muted);text-align:center}
.fbc-team-empty i{display:block;margin-bottom:10px;color:var(--primary);font-size:30px}
@media(max-width:1100px){.fbc-team-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fbc-team-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fbc-team-filter-actions{grid-column:1/-1}}
@media(max-width:700px){.fbc-team-summary,.fbc-team-filters{grid-template-columns:1fr}.fbc-team-actions,.fbc-team-filter-actions{flex-direction:column!important}.fbc-team-actions form,.fbc-team-actions .btn,.fbc-team-filter-actions .btn{width:100%}.fbc-team-table-wrap{max-height:none}}


/* ==========================================
   TEAM & CREST MANAGER V2 OVERRIDES
========================================== */

.fbc-team-summary
{
    grid-template-columns:repeat(5,minmax(0,1fr));
}

.fbc-team-summary article.is-edited
{
    background:#f3efff;
    border-color:#d6c9f2;
}

.fbc-team-summary article.is-edited > i
{
    background:#e7defb;
    color:#6544a3;
}

.fbc-team-action-help
{
    margin:12px 0 0;
    color:var(--muted);
    font-size:12px;
}

.fbc-team-bulk-form
{
    margin:0;
}

.fbc-team-table td input[data-name-input]
{
    width:100%;
    min-width:220px;
    padding:9px 10px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
    font:inherit;
}

.fbc-team-table tr.has-mapped-name
{
    box-shadow:inset 4px 0 0 #8b6fc0;
}

.fbc-team-table tr.has-unsaved-name
{
    background:#fff8df !important;
    box-shadow:inset 4px 0 0 #d4af37;
}

.fbc-team-table tr.has-unsaved-name input[data-name-input]
{
    border-color:#d4af37;
    background:#fffdf4;
}

.fbc-team-unsaved-count
{
    padding:5px 9px;
    border-radius:999px;
    background:#fff3cd;
    color:#8a5800;
    font-size:11px;
    font-weight:900;
}

#fbc-save-all-names.has-unsaved
{
    box-shadow:0 0 0 3px rgba(212,175,55,.28);
}

.fbc-team-status.is-edited
{
    background:#eee7ff;
    color:#6544a3;
}

.fbc-team-status.is-missing
{
    background:#ffe1e1;
    color:#9b1c1c;
}

@media (max-width:1250px)
{
    .fbc-team-summary
    {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:700px)
{
    .fbc-team-summary
    {
        grid-template-columns:1fr;
    }
}

/* ==========================================
   FBC TEAM & COMPETITION REPOSITORY
   Append to css/style.css
========================================== */
.fbc-repository-message{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:13px 15px;border-radius:11px;font-weight:800}.fbc-repository-message.is-success{background:#ddf6e6;color:#166534;border:1px solid #b8e6c8}.fbc-repository-message.is-error{background:#fff0f0;color:#9b1c1c;border:1px solid #efbcbc}.fbc-repository-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:15px}.fbc-repository-summary article{display:flex;flex-direction:column;gap:3px;padding:15px;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:0 4px 14px rgba(0,0,0,.05)}.fbc-repository-summary span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.fbc-repository-summary strong{color:var(--primary);font-size:27px}.fbc-repository-summary small{color:var(--muted);font-size:11px}.fbc-repository-summary article.is-warning{background:#fff8df;border-color:#edd27e}.fbc-repository-controls{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:13px}.fbc-repository-controls form{margin:0}.fbc-repository-apply{background:#d4af37;color:#1f2937}.fbc-repository-tabs{display:flex;gap:7px;margin-bottom:0}.fbc-repository-tabs a{display:flex;align-items:center;gap:8px;padding:11px 15px;background:#e7edf5;color:var(--primary);border:1px solid var(--border);border-bottom:0;border-radius:11px 11px 0 0;font-weight:900;text-decoration:none}.fbc-repository-tabs a.is-active{background:#fff}.fbc-repository-tabs span{display:inline-grid;place-items:center;min-width:25px;height:21px;padding:0 7px;background:#d9e3ef;border-radius:999px;font-size:10px}.fbc-repository-panel{overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:0 13px 13px 13px;box-shadow:0 4px 14px rgba(0,0,0,.05)}.fbc-repository-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;background:#eef3f9}.fbc-repository-panel-heading div{display:flex;flex-direction:column;gap:2px}.fbc-repository-panel-heading strong{color:var(--primary)}.fbc-repository-panel-heading span{color:var(--muted);font-size:11px}.fbc-repository-panel-heading input{width:min(300px,100%);padding:9px 11px;border:1px solid var(--border);border-radius:9px}.fbc-repository-table-wrap{overflow:auto;max-height:72vh}.fbc-repository-table{width:100%;min-width:1250px;border-collapse:collapse}.fbc-repository-table.is-competitions{min-width:950px}.fbc-repository-table th,.fbc-repository-table td{padding:10px;border-bottom:1px solid #edf1f6;vertical-align:middle}.fbc-repository-table th{position:sticky;top:0;z-index:4;background:#eef3f9;color:var(--primary);font-size:10px;font-weight:900;text-align:left;text-transform:uppercase;white-space:nowrap}.fbc-repository-table tbody tr:hover{background:#f8fbff}.fbc-repository-table tr.is-name-changed{background:#fbfcf0}.fbc-repository-table tr.is-unsaved{background:#fff3cd!important;box-shadow:inset 4px 0 #d6a600}.fbc-repository-id,.fbc-repository-code{color:var(--primary);font-weight:900;text-align:center}.fbc-repository-table td strong{color:var(--primary)}.fbc-repository-table td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.fbc-repository-tags{display:flex;flex-wrap:wrap;gap:4px;max-width:230px}.fbc-repository-tags span{padding:4px 7px;background:#eef3f9;color:var(--primary);border-radius:999px;font-size:9px;font-weight:800}.fbc-repository-name-input{min-width:210px;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}.fbc-repository-crest-cell{width:70px;text-align:center}.fbc-repository-crest-cell img{width:48px;height:48px;object-fit:contain}.fbc-repository-crest-cell i{display:inline-grid;place-items:center;width:48px;height:48px;background:#eef3f9;color:#8b98a7;border-radius:11px;font-size:21px}.fbc-repository-table code{display:block;max-width:290px;overflow:hidden;padding:5px 7px;background:#f5f7fa;border-radius:6px;color:#526174;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.fbc-repository-status{display:inline-flex;justify-content:center;min-width:92px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.fbc-repository-status.is-complete{background:#ddf6e6;color:#166534}.fbc-repository-status.is-missing{background:#ffe1e1;color:#9b1c1c}.fbc-repository-status.is-apply{background:#fff3cd;color:#8a5800}@media(max-width:1200px){.fbc-repository-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.fbc-repository-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fbc-repository-controls{flex-direction:column}.fbc-repository-controls form,.fbc-repository-controls .btn{width:100%}.fbc-repository-panel-heading{align-items:stretch;flex-direction:column}.fbc-repository-panel-heading input{width:100%}.fbc-repository-table-wrap{max-height:none}}@media(max-width:480px){.fbc-repository-summary{grid-template-columns:1fr}.fbc-repository-tabs a{flex:1;justify-content:center;padding:10px 8px;font-size:12px}}

/* ==========================================
   FBC TEAM & COMPETITION REPOSITORY
   Append to css/style.css
========================================== */
.fbc-repository-message{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:13px 15px;border-radius:11px;font-weight:800}.fbc-repository-message.is-success{background:#ddf6e6;color:#166534;border:1px solid #b8e6c8}.fbc-repository-message.is-error{background:#fff0f0;color:#9b1c1c;border:1px solid #efbcbc}.fbc-repository-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:15px}.fbc-repository-summary article{display:flex;flex-direction:column;gap:3px;padding:15px;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:0 4px 14px rgba(0,0,0,.05)}.fbc-repository-summary span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.fbc-repository-summary strong{color:var(--primary);font-size:27px}.fbc-repository-summary small{color:var(--muted);font-size:11px}.fbc-repository-summary article.is-warning{background:#fff8df;border-color:#edd27e}.fbc-repository-controls{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:13px}.fbc-repository-controls form{margin:0}.fbc-repository-apply{background:#d4af37;color:#1f2937}.fbc-repository-tabs{display:flex;gap:7px;margin-bottom:0}.fbc-repository-tabs a{display:flex;align-items:center;gap:8px;padding:11px 15px;background:#e7edf5;color:var(--primary);border:1px solid var(--border);border-bottom:0;border-radius:11px 11px 0 0;font-weight:900;text-decoration:none}.fbc-repository-tabs a.is-active{background:#fff}.fbc-repository-tabs span{display:inline-grid;place-items:center;min-width:25px;height:21px;padding:0 7px;background:#d9e3ef;border-radius:999px;font-size:10px}.fbc-repository-panel{overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:0 13px 13px 13px;box-shadow:0 4px 14px rgba(0,0,0,.05)}.fbc-repository-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;background:#eef3f9}.fbc-repository-panel-heading div{display:flex;flex-direction:column;gap:2px}.fbc-repository-panel-heading strong{color:var(--primary)}.fbc-repository-panel-heading span{color:var(--muted);font-size:11px}.fbc-repository-panel-heading input{width:min(300px,100%);padding:9px 11px;border:1px solid var(--border);border-radius:9px}.fbc-repository-table-wrap{overflow:auto;max-height:72vh}.fbc-repository-table{width:100%;min-width:1250px;border-collapse:collapse}.fbc-repository-table.is-competitions{min-width:950px}.fbc-repository-table th,.fbc-repository-table td{padding:10px;border-bottom:1px solid #edf1f6;vertical-align:middle}.fbc-repository-table th{position:sticky;top:0;z-index:4;background:#eef3f9;color:var(--primary);font-size:10px;font-weight:900;text-align:left;text-transform:uppercase;white-space:nowrap}.fbc-repository-table tbody tr:hover{background:#f8fbff}.fbc-repository-table tr.is-name-changed{background:#fbfcf0}.fbc-repository-table tr.is-unsaved{background:#fff3cd!important;box-shadow:inset 4px 0 #d6a600}.fbc-repository-id,.fbc-repository-code{color:var(--primary);font-weight:900;text-align:center}.fbc-repository-table td strong{color:var(--primary)}.fbc-repository-table td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.fbc-repository-tags{display:flex;flex-wrap:wrap;gap:4px;max-width:230px}.fbc-repository-tags span{padding:4px 7px;background:#eef3f9;color:var(--primary);border-radius:999px;font-size:9px;font-weight:800}.fbc-repository-name-input{min-width:210px;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font:inherit}.fbc-repository-crest-cell{width:70px;text-align:center}.fbc-repository-crest-cell img{width:48px;height:48px;object-fit:contain}.fbc-repository-crest-cell i{display:inline-grid;place-items:center;width:48px;height:48px;background:#eef3f9;color:#8b98a7;border-radius:11px;font-size:21px}.fbc-repository-table code{display:block;max-width:290px;overflow:hidden;padding:5px 7px;background:#f5f7fa;border-radius:6px;color:#526174;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.fbc-repository-status{display:inline-flex;justify-content:center;min-width:92px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.fbc-repository-status.is-complete{background:#ddf6e6;color:#166534}.fbc-repository-status.is-missing{background:#ffe1e1;color:#9b1c1c}.fbc-repository-status.is-apply{background:#fff3cd;color:#8a5800}@media(max-width:1200px){.fbc-repository-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.fbc-repository-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fbc-repository-controls{flex-direction:column}.fbc-repository-controls form,.fbc-repository-controls .btn{width:100%}.fbc-repository-panel-heading{align-items:stretch;flex-direction:column}.fbc-repository-panel-heading input{width:100%}.fbc-repository-table-wrap{max-height:none}}@media(max-width:480px){.fbc-repository-summary{grid-template-columns:1fr}.fbc-repository-tabs a{flex:1;justify-content:center;padding:10px 8px;font-size:12px}}

/* Repository Manager V3 filters and manual-source states */
.fbc-repository-filter-form
{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-left:auto;
}

.fbc-repository-filter-form select
{
    min-height:40px;
    padding:8px 10px;
    border:1px solid #ccd4df;
    border-radius:8px;
    background:#fff;
    color:#172033;
    font:inherit;
    font-weight:700;
}

.fbc-repository-status.is-external
{
    background:#e8f1ff;
    color:#1d4f91;
}

.fbc-repository-status.is-manual
{
    background:#eee9ff;
    color:#5b3a96;
    text-decoration:none;
}

.fbc-repository-manual-note
{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 16px;
    padding:13px 15px;
    border:1px solid #d9d0f0;
    border-radius:11px;
    background:#f7f4ff;
    color:#493477;
    font-weight:800;
}

.fbc-repository-manual-note a
{
    color:inherit;
    font-weight:900;
}

@media(max-width:800px)
{
    .fbc-repository-filter-form
    {
        width:100%;
        margin-left:0;
    }

    .fbc-repository-filter-form select,
    .fbc-repository-filter-form .btn
    {
        flex:1 1 160px;
    }
}

/* ==========================================
   FIXTURE REPOSITORY - CONSOLIDATED
========================================== */

.fixture-repository-summary
{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.fixture-repository-summary article
{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.fixture-repository-summary article > i
{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:12px;
    font-size:20px;
}

.fixture-repository-summary article div
{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.fixture-repository-summary span
{
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.fixture-repository-summary strong
{
    color:var(--primary);
    font-size:26px;
}

.fixture-repository-actions,
.fixture-repository-filter-panel,
.fixture-repository-bulk-bar,
.fixture-repository-table-panel
{
    margin-bottom:16px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.fixture-repository-actions
{
    padding:14px;
}

.fixture-repository-action-row
{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.fixture-repository-filter-panel
{
    padding:14px;
}

.fixture-repository-filter-form
{
    display:block;
}

.fixture-repository-filter-section
{
    margin-bottom:12px;
}

.fixture-repository-filter-label,
.fixture-repository-field label
{
    display:block;
    margin-bottom:6px;
    color:var(--primary);
    font-size:11px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.fixture-repository-filter-heading
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.fixture-repository-mini-actions
{
    display:flex;
    gap:5px;
}

.fixture-repository-mini-actions button
{
    padding:2px 6px;
    border:0;
    background:transparent;
    color:var(--primary);
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}

.fixture-repository-source-toggle
{
    display:inline-grid;
    grid-template-columns:repeat(3,minmax(80px,1fr));
    gap:4px;
    padding:4px;
    border:1px solid var(--border);
    border-radius:9px;
    background:#f4f7fa;
}

.fixture-repository-source-toggle label
{
    position:relative;
    margin:0;
    cursor:pointer;
}

.fixture-repository-source-toggle input
{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.fixture-repository-source-toggle span
{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:5px 10px;
    border-radius:7px;
    color:var(--muted);
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
}

.fixture-repository-source-toggle input:checked + span
{
    background:var(--primary);
    color:#fff;
}

.fixture-repository-competition-ribbon
{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:5px;
    width:100%;
}

.fixture-repository-competition-toggle
{
    position:relative;
    display:grid;
    grid-template-rows:34px auto auto;
    place-items:center;
    flex:1 1 46px;
    min-width:44px;
    max-width:64px;
    padding:5px 3px 4px;
    border:1px solid var(--border);
    border-radius:9px;
    background:#f7f9fc;
    opacity:.42;
    cursor:pointer;
    transition:
        opacity .15s ease,
        border-color .15s ease,
        background .15s ease,
        transform .15s ease;
}

.fixture-repository-competition-toggle:hover
{
    opacity:.82;
    transform:translateY(-1px);
}

.fixture-repository-competition-toggle.selected
{
    opacity:1;
    border-color:var(--primary);
    background:#eef4fb;
    box-shadow:0 0 0 1px rgba(31,74,125,.08);
}

.fixture-repository-competition-toggle input
{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.fixture-repository-competition-icon
{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    color:var(--primary);
}

.fixture-repository-competition-icon img
{
    width:30px;
    height:30px;
    object-fit:contain;
}

.fixture-repository-competition-toggle strong
{
    max-width:100%;
    overflow:hidden;
    color:var(--primary);
    font-size:9px;
    line-height:1.1;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.fixture-repository-competition-toggle small
{
    color:var(--muted);
    font-size:8px;
    font-weight:800;
    line-height:1.1;
}

.fixture-repository-control-grid
{
    display:grid;
    grid-template-columns:
        minmax(120px,.7fr)
        minmax(145px,.85fr)
        minmax(145px,.85fr)
        minmax(210px,1.35fr)
        minmax(145px,.9fr);
    gap:10px;
    align-items:end;
}

.fixture-repository-field
{
    display:flex;
    min-width:0;
    flex-direction:column;
}

.fixture-repository-field input,
.fixture-repository-field select
{
    width:100%;
    min-height:40px;
    padding:9px 10px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
    font:inherit;
}

.fixture-repository-filter-actions
{
    display:flex;
    gap:10px;
    margin-top:12px;
}

.fixture-repository-view-tabs
{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid var(--border);
}

.fixture-repository-view-tabs a
{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:999px;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

.fixture-repository-view-tabs a.active
{
    background:var(--primary);
    color:#fff;
}

.fixture-repository-sticky-actions
{
    position:sticky;
    top:0;
    z-index:40;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:48px;
    margin:0 0 8px;
    padding:6px 10px;
    border-radius:10px;
    background:#fff;
    box-shadow:0 7px 20px rgba(24,39,75,.14);
}

.fixture-repository-selection-summary
{
    display:flex;
    align-items:center;
    gap:14px;
    white-space:nowrap;
}

.fixture-repository-selection-summary strong
{
    color:var(--primary);
    font-size:13px;
}

.fixture-repository-selection-summary label
{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--muted);
    font-size:11px;
    font-weight:800;
}

.fixture-repository-bulk-actions
{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:7px;
}

.fixture-repository-bulk-actions .btn
{
    min-height:34px;
    padding:6px 9px;
    font-size:11px;
}

.admin-fixture-btn-unpublish
{
    background:#fff3cd;
    color:#7a4d00;
    border:1px solid #e5c568;
}

.admin-fixture-btn-unpublish:disabled
{
    opacity:.45;
    cursor:not-allowed;
}

.fixture-repository-table-panel
{
    overflow:visible;
    margin-top:0;
}

.fixture-repository-table-wrap
{
    width:100%;
    overflow-x:auto;
    overflow-y:visible;
}

.fixture-repository-table
{
    width:100%;
    min-width:1120px;
    border-collapse:collapse;
}

.fixture-repository-table th,
.fixture-repository-table td
{
    padding:11px 12px;
    border-bottom:1px solid #edf1f6;
    vertical-align:middle;
}

.fixture-repository-table thead th
{
    position:sticky;
    top:48px;
    z-index:20;
    background:#eef3f9;
    color:var(--primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-align:left;
    text-transform:uppercase;
}

.fixture-repository-table tbody tr:hover
{
    background:#f8fbff;
}

.fixture-repository-date-row td
{
    position:sticky;
    top:87px;
    z-index:19;
    height:42px;
    padding:10px 12px;
    background:var(--primary);
    color:#fff;
    font-weight:900;
    line-height:22px;
    letter-spacing:.02em;
}

.fixture-repository-kickoff
{
    white-space:nowrap;
}

.fixture-repository-kickoff strong
{
    display:block;
    color:var(--primary);
    font-size:16px;
}

.fixture-repository-source-badge
{
    display:inline-flex;
    width:max-content;
    margin-top:4px;
    padding:2px 5px;
    border-radius:999px;
    font-size:8px;
    font-weight:900;
    letter-spacing:.03em;
}

.fixture-repository-source-badge.is-api
{
    background:#e7f0fb;
    color:#24568f;
}

.fixture-repository-source-badge.is-manual
{
    background:#fff0d9;
    color:#8a5800;
}

.fixture-repository-competition,
.fixture-repository-team
{
    display:flex;
    align-items:center;
    gap:9px;
}

.fixture-repository-competition img
{
    width:30px;
    height:30px;
    object-fit:contain;
}

.fixture-repository-team img
{
    width:26px;
    height:26px;
    object-fit:contain;
}

.fixture-repository-placeholder-crest
{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    background:#eef3f9;
    color:var(--primary);
    border-radius:8px;
}

.fixture-repository-competition div
{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.fixture-repository-competition strong
{
    color:var(--primary);
}

.fixture-repository-competition span
{
    color:var(--muted);
    font-size:11px;
}

.fixture-repository-tv
{
    min-width:130px;
    padding:7px 8px;
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
}

.fixture-repository-centre,
.fixture-repository-select-cell
{
    text-align:center;
}

.fixture-repository-status
{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
}

.fixture-repository-status.is-published
{
    background:#d9f7e2;
    color:#166534;
}

.fixture-repository-status.is-draft
{
    background:#fff2cc;
    color:#8a5a00;
}

.fixture-repository-status.is-available
{
    background:#eef3f9;
    color:var(--primary);
}

.fixture-repository-pagination
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:18px 0;
    padding:14px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
}

.fixture-repository-pagination a
{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--primary);
    font-weight:800;
    text-decoration:none;
}

.fixture-repository-pagination a.disabled
{
    opacity:.35;
    pointer-events:none;
}

.fixture-repository-pagination span
{
    color:var(--muted);
    font-weight:800;
}

@media(max-width:1100px)
{
    .fixture-repository-control-grid
    {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .fixture-repository-competition-toggle
    {
        flex:0 0 52px;
        min-width:52px;
        max-width:52px;
    }
}

@media(max-width:760px)
{
    .fixture-repository-summary
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .fixture-repository-source-toggle
    {
        display:grid;
        width:100%;
    }

    .fixture-repository-competition-ribbon
    {
        display:grid;
        grid-template-columns:repeat(8,minmax(0,1fr));
        gap:4px;
    }

    .fixture-repository-competition-toggle
    {
        width:100%;
        min-width:0;
        max-width:none;
    }

    .fixture-repository-control-grid
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .fixture-repository-sticky-actions
    {
        flex-direction:column;
        align-items:stretch;
    }

    .fixture-repository-selection-summary
    {
        justify-content:space-between;
    }

    .fixture-repository-bulk-actions
    {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .fixture-repository-bulk-actions .btn
    {
        width:100%;
    }

    .fixture-repository-table thead th
    {
        top:106px;
    }
}

@media(max-width:520px)
{
    .fixture-repository-summary,
    .fixture-repository-control-grid
    {
        grid-template-columns:1fr;
    }

    .fixture-repository-competition-ribbon
    {
        grid-template-columns:repeat(7,minmax(0,1fr));
    }

    .fixture-repository-filter-actions
    {
        flex-direction:column;
    }

    .fixture-repository-filter-actions .btn
    {
        width:100%;
    }

    .fixture-repository-pagination
    {
        flex-direction:column;
    }
}

/* ==========================================
   SEASON LEADERBOARD - CONSOLIDATED
========================================== */

.fbc-leaderboard-viewbar
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:18px 0;
    padding:14px 16px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:0 3px 14px rgba(24,39,75,.05);
}

.fbc-leaderboard-view-title
{
    color:var(--primary);
    font-size:18px;
    font-weight:900;
}

.fbc-leaderboard-view-form
{
    display:flex;
    align-items:center;
    gap:10px;
}

.fbc-leaderboard-view-form label
{
    color:var(--muted);
    font-size:13px;
    font-weight:800;
}

.fbc-leaderboard-view-form select
{
    min-width:190px;
    padding:9px 38px 9px 12px;
    border:1px solid #ccd4df;
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-weight:800;
}

.fbc-leaderboard-summary
{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.fbc-leaderboard-summary-card
{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    min-height:94px;
    padding:14px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:0 3px 14px rgba(24,39,75,.05);
}

.fbc-leaderboard-summary-card.is-pot
{
    border-color:#9fd7b4;
    background:linear-gradient(135deg,#f0fff5,#fff);
}

.fbc-leaderboard-summary-icon
{
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    border-radius:10px;
    background:#f2f5f9;
    color:var(--primary);
    font-size:18px;
}

.fbc-leaderboard-summary-card.is-pot
.fbc-leaderboard-summary-icon
{
    background:#ddf6e6;
    color:#16794a;
}

.fbc-leaderboard-summary-card > div:last-child
{
    min-width:0;
}

.fbc-leaderboard-summary-label
{
    margin-bottom:4px;
    color:var(--muted);
    font-size:10px;
    font-weight:900;
    letter-spacing:.04em;
    line-height:1.25;
    text-transform:uppercase;
}

.fbc-leaderboard-summary-value
{
    color:var(--primary);
    font-size:21px;
    line-height:1.1;
    font-weight:900;
}

.fbc-leaderboard-summary-sub
{
    margin-top:4px;
    overflow:hidden;
    color:#7a8495;
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.fbc-leaderboard-panel
{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:0 3px 14px rgba(24,39,75,.05);
}

.fbc-leaderboard-table-wrap
{
    width:100%;
    overflow-x:auto;
}

.fbc-leaderboard-table
{
    width:100%;
    min-width:0;
    table-layout:fixed;
    border-collapse:collapse;
}

.fbc-leaderboard-table thead
{
    background:#f5f7fa;
}

.fbc-leaderboard-table th
{
    padding:11px 6px;
    background:#fff;
    color:var(--text);
    border-bottom:2px solid #d9e0e8;
    font-size:10px;
    font-weight:900;
    line-height:1.15;
    text-align:center;
    text-transform:uppercase;
    vertical-align:bottom;
}

.fbc-leaderboard-table td
{
    padding:10px 6px;
    border-bottom:1px solid #edf0f4;
    color:#263247;
    font-size:13px;
    text-align:center;
    vertical-align:middle;
}

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

.fbc-leaderboard-table tbody tr:hover
{
    background:#fafbfc;
}

.fbc-heading-short
{
    display:none;
}

.fbc-col-position
{
    width:5.5%;
}

.fbc-col-player
{
    width:17%;
    text-align:left !important;
}

.fbc-col-movement
{
    width:6%;
}

.fbc-col-points
{
    width:8%;
}

.fbc-col-stat
{
    width:5.5%;
}

.fbc-col-contributions
{
    width:11%;
}

.fbc-col-prize
{
    width:10%;
}

.fbc-col-form
{
    width:15.5%;
}

.fbc-player-name
{
    display:block;
    overflow:hidden;
    color:var(--primary);
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.fbc-position-badge
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    height:30px;
    padding:0 7px;
    border-radius:8px;
    background:#edf1f6;
    color:#3e4b60;
    font-weight:900;
}

.fbc-position-gold
{
    background:#f8dc74;
    color:#5e4600;
}

.fbc-position-silver
{
    background:#dfe4ea;
    color:#465160;
}

.fbc-position-bronze
{
    background:#e6b486;
    color:#633816;
}

.fbc-championship-points
{
    color:var(--primary);
    font-size:15px;
    font-weight:900;
}

.fbc-movement
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    min-width:34px;
    font-size:11px;
    font-weight:900;
}

.fbc-movement-up
{
    color:#16794a;
}

.fbc-movement-down
{
    color:#bd2d2d;
}

.fbc-movement-same
{
    color:#8b94a3;
}

.fbc-movement-new
{
    color:#53657c;
    font-size:9px;
}

.fbc-contribution-badge
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-width:70px;
    padding:5px 7px;
    border-radius:999px;
    background:#edf1f6;
    color:#536174;
    font-size:11px;
    font-weight:900;
}

.fbc-contribution-badge.is-close
{
    background:#fff3cd;
    color:#8a5800;
}

.fbc-contribution-badge.is-qualified
{
    background:#ddf6e6;
    color:#166534;
}

.fbc-prize-money
{
    color:#16794a;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.fbc-form
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:24px;
}

.fbc-form-badge
{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:23px;
    height:23px;
    padding:0 4px;
    border-radius:6px;
    background:#edf1f6;
    color:#4b596d;
    font-size:10px;
    font-weight:900;
}

.fbc-form-gold
{
    background:#f8dc74;
    color:#5e4600;
}

.fbc-form-silver
{
    background:#dfe4ea;
    color:#465160;
}

.fbc-form-bronze
{
    background:#e6b486;
    color:#633816;
}

.fbc-leaderboard-empty
{
    padding:46px 20px;
    color:#758096;
    text-align:center;
}

.fbc-leaderboard-empty i
{
    display:block;
    margin-bottom:12px;
    font-size:30px;
}

.fbc-leaderboard-footer
{
    padding:12px 15px;
    border-top:1px solid #e5e9ef;
    background:#fafbfc;
    color:#737d8e;
    font-size:11px;
    text-align:center;
}

@media(max-width:1200px)
{
    .fbc-leaderboard-summary
    {
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .fbc-leaderboard-table th,
    .fbc-leaderboard-table td
    {
        padding-inline:4px;
    }

    .fbc-heading-wide
    {
        display:none;
    }

    .fbc-heading-short
    {
        display:inline;
    }

    .fbc-col-player
    {
        width:20%;
    }

    .fbc-col-form
    {
        width:17%;
    }
}

@media(max-width:900px)
{
    .fbc-leaderboard-summary
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .fbc-leaderboard-table
    {
        table-layout:fixed;
    }

    .fbc-leaderboard-table th,
    .fbc-leaderboard-table td
    {
        padding:9px 3px;
        font-size:11px;
    }

    .fbc-col-movement
    {
        display:none;
    }

    .fbc-col-position
    {
        width:7%;
    }

    .fbc-col-player
    {
        width:23%;
    }

    .fbc-col-points
    {
        width:9%;
    }

    .fbc-col-stat
    {
        width:7%;
    }

    .fbc-col-contributions
    {
        width:13%;
    }

    .fbc-col-prize
    {
        width:12%;
    }

    .fbc-col-form
    {
        width:15%;
    }

    .fbc-form
    {
        gap:2px;
    }

    .fbc-form-badge
    {
        min-width:20px;
        height:20px;
        padding-inline:3px;
        font-size:9px;
    }
}

@media(max-width:650px)
{
    .fbc-leaderboard-viewbar
    {
        align-items:stretch;
        flex-direction:column;
    }

    .fbc-leaderboard-view-form
    {
        align-items:stretch;
        flex-direction:column;
    }

    .fbc-leaderboard-view-form select
    {
        width:100%;
    }

    .fbc-leaderboard-summary
    {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .fbc-leaderboard-summary-card
    {
        min-height:82px;
        padding:11px;
    }

    .fbc-leaderboard-summary-icon
    {
        width:34px;
        height:34px;
        flex-basis:34px;
        font-size:15px;
    }

    .fbc-leaderboard-summary-label
    {
        font-size:9px;
    }

    .fbc-leaderboard-summary-value
    {
        font-size:18px;
    }

    .fbc-leaderboard-summary-sub
    {
        display:none;
    }

    .fbc-leaderboard-table-wrap
    {
        overflow:visible;
    }

    .fbc-leaderboard-table,
    .fbc-leaderboard-table tbody,
    .fbc-leaderboard-table tr,
    .fbc-leaderboard-table td
    {
        display:block;
        width:100%;
    }

    .fbc-leaderboard-table
    {
        table-layout:auto;
    }

    .fbc-leaderboard-table thead
    {
        display:none;
    }

    .fbc-leaderboard-table tbody
    {
        display:grid;
        gap:10px;
        padding:10px;
        background:#eef3f8;
    }

    .fbc-leaderboard-table tbody tr
    {
        display:grid;
        grid-template-columns:58px minmax(0,1fr) 84px;
        gap:0 10px;
        overflow:hidden;
        background:#fff;
        border:1px solid var(--border);
        border-radius:12px;
        box-shadow:0 3px 10px rgba(0,0,0,.05);
    }

    .fbc-leaderboard-table tbody tr:hover
    {
        background:#fff;
    }

    .fbc-leaderboard-table td
    {
        position:relative;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        padding:9px 11px;
        border-bottom:1px solid #edf0f4;
        font-size:12px;
        text-align:right;
    }

    .fbc-leaderboard-table td::before
    {
        content:attr(data-label);
        color:var(--muted);
        font-size:9px;
        font-weight:900;
        letter-spacing:.03em;
        text-align:left;
        text-transform:uppercase;
    }

    .fbc-leaderboard-table .fbc-col-position
    {
        grid-column:1;
        grid-row:1 / span 2;
        display:grid;
        place-items:center;
        width:auto;
        padding:12px 8px;
        background:#f7f9fc;
        border-right:1px solid #edf0f4;
        border-bottom:1px solid #edf0f4;
    }

    .fbc-leaderboard-table .fbc-col-position::before
    {
        display:none;
    }

    .fbc-leaderboard-table .fbc-col-player
    {
        grid-column:2;
        grid-row:1;
        width:auto;
        justify-content:flex-start;
        border-bottom:0;
        text-align:left !important;
    }

    .fbc-leaderboard-table .fbc-col-player::before
    {
        display:none;
    }

    .fbc-leaderboard-table .fbc-col-points
    {
        grid-column:3;
        grid-row:1 / span 2;
        width:auto;
        justify-content:center;
        flex-direction:column;
        gap:2px;
        background:#f7f9fc;
        border-left:1px solid #edf0f4;
        border-bottom:1px solid #edf0f4;
    }

    .fbc-leaderboard-table .fbc-col-points::before
    {
        content:"Points";
    }

    .fbc-leaderboard-table .fbc-col-movement
    {
        grid-column:2;
        grid-row:2;
        display:flex;
        width:auto;
        justify-content:flex-start;
        border-bottom:1px solid #edf0f4;
    }

    .fbc-leaderboard-table .fbc-col-weeks,
    .fbc-leaderboard-table .fbc-col-wins,
    .fbc-leaderboard-table .fbc-col-podiums
    {
        display:flex;
        width:auto;
    }

    .fbc-leaderboard-table .fbc-col-weeks
    {
        grid-column:1;
        grid-row:3;
    }

    .fbc-leaderboard-table .fbc-col-wins
    {
        grid-column:2;
        grid-row:3;
    }

    .fbc-leaderboard-table .fbc-col-podiums
    {
        grid-column:3;
        grid-row:3;
    }

    .fbc-leaderboard-table .fbc-col-contributions
    {
        grid-column:1 / -1;
        grid-row:4;
        width:auto;
    }

    .fbc-leaderboard-table .fbc-col-prize
    {
        grid-column:1 / -1;
        grid-row:5;
        width:auto;
    }

    .fbc-leaderboard-table .fbc-col-form
    {
        grid-column:1 / -1;
        grid-row:6;
        width:auto;
        border-bottom:0;
    }

    .fbc-player-name
    {
        white-space:normal;
    }

    .fbc-form
    {
        justify-content:flex-end;
    }
}

@media(max-width:420px)
{
    .fbc-leaderboard-summary
    {
        grid-template-columns:1fr;
    }

    .fbc-leaderboard-table tbody tr
    {
        grid-template-columns:54px minmax(0,1fr) 76px;
    }
}

/* ==========================================
   FBC LOGIN PAGE
========================================== */

.fbc-login-page
{
    min-height:100vh;
    min-height:100svh;
    margin:0;
    overflow-x:hidden;
    background:#020b1d;
}

.fbc-login-shell
{
    position:relative;
    display:grid;
    min-height:100vh;
    min-height:100svh;
    place-items:center end;
    overflow:hidden;

    padding:
        max(28px,env(safe-area-inset-top))
        max(5vw,env(safe-area-inset-right))
        max(28px,env(safe-area-inset-bottom))
        max(5vw,env(safe-area-inset-left));

    background-color:#041325;
    background-image:url("../assets/login_hero.png");
    background-repeat:no-repeat;
    background-size:contain;
    background-position:left center;

    isolation:isolate;
}

.fbc-login-overlay
{
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            90deg,
            rgba(2,8,23,.08) 0%,
            rgba(2,8,23,.08) 42%,
            rgba(2,8,23,.48) 70%,
            rgba(2,8,23,.78) 100%
        ),
        linear-gradient(
            180deg,
            rgba(2,8,23,.12) 0%,
            rgba(2,8,23,.05) 55%,
            rgba(2,8,23,.48) 100%
        );
}

.fbc-login-card
{
    position:relative;
    width:min(440px,100%);
    overflow:hidden;
    padding:34px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:22px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.96),
            rgba(248,250,255,.91)
        );
    box-shadow:
        0 28px 70px rgba(0,0,0,.42),
        0 8px 24px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.76);
    backdrop-filter:blur(18px) saturate(135%);
    -webkit-backdrop-filter:blur(18px) saturate(135%);
}

.fbc-login-card-accent
{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:
        linear-gradient(
            90deg,
            #7f5a00,
            #d7a423 26%,
            #ffe49a 52%,
            #d7a423 78%,
            #7f5a00
        );
}

.fbc-login-heading
{
    margin-bottom:24px;
}

.fbc-login-kicker
{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:9px;
    color:#9d7100;
    font-size:11px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.fbc-login-heading h1
{
    margin:0;
    color:#07172c;
    font-size:clamp(31px,4vw,40px);
    line-height:1;
    letter-spacing:-.035em;
}

.fbc-login-heading p
{
    margin:11px 0 0;
    color:#607086;
    font-size:14px;
    line-height:1.55;
}

.fbc-login-error
{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:18px;
    padding:12px 13px;
    border:1px solid #efb8b8;
    border-radius:10px;
    background:#fff1f1;
    color:#9f1d1d;
    font-size:13px;
    font-weight:800;
}

.fbc-login-error i
{
    margin-top:2px;
}

.fbc-login-form
{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.fbc-login-field
{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.fbc-login-field label
{
    color:#14263d;
    font-size:12px;
    font-weight:900;
    letter-spacing:.02em;
}

.fbc-login-input-wrap
{
    position:relative;
}

.fbc-login-input-wrap > i
{
    position:absolute;
    top:50%;
    left:14px;
    transform:translateY(-50%);
    color:#8591a2;
    pointer-events:none;
}

.fbc-login-input-wrap input
{
    width:100%;
    min-height:50px;
    padding:11px 48px 11px 42px;
    border:1px solid #cfd8e3;
    border-radius:11px;
    background:rgba(255,255,255,.94);
    color:#102239;
    font:inherit;
    font-size:15px;
    font-weight:700;
    outline:none;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.fbc-login-input-wrap input:hover
{
    border-color:#aebdce;
}

.fbc-login-input-wrap input:focus
{
    border-color:#c69516;
    background:#fff;
    box-shadow:
        0 0 0 4px rgba(213,165,35,.16),
        0 7px 18px rgba(4,24,50,.07);
}

.fbc-login-password-toggle
{
    position:absolute;
    top:50%;
    right:8px;
    display:grid;
    width:36px;
    height:36px;
    transform:translateY(-50%);
    place-items:center;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#69788c;
    cursor:pointer;
}

.fbc-login-password-toggle:hover,
.fbc-login-password-toggle:focus-visible
{
    background:#edf2f7;
    color:#0c3764;
    outline:none;
}

.fbc-login-remember
{
    display:flex;
    align-items:center;
    gap:10px;
    width:max-content;
    max-width:100%;
    color:#4f6075;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.fbc-login-remember input
{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.fbc-login-checkmark
{
    display:grid;
    width:20px;
    height:20px;
    flex:0 0 20px;
    place-items:center;
    border:1px solid #b8c4d1;
    border-radius:6px;
    background:#fff;
    color:transparent;
    font-size:11px;
    transition:.16s ease;
}

.fbc-login-remember input:checked
+ .fbc-login-checkmark
{
    border-color:#c99718;
    background:#d5a523;
    color:#08172b;
}

.fbc-login-remember input:focus-visible
+ .fbc-login-checkmark
{
    box-shadow:0 0 0 4px rgba(213,165,35,.18);
}

.fbc-login-submit,
.fbc-login-join
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    min-height:50px;
    padding:12px 16px;
    border-radius:11px;
    font:inherit;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        filter .16s ease,
        border-color .16s ease,
        background .16s ease;
}

.fbc-login-submit
{
    justify-content:space-between;
    border:1px solid #072a50;
    background:
        linear-gradient(
            135deg,
            #0a4d86,
            #062f59
        );
    color:#fff;
    box-shadow:
        0 9px 20px rgba(4,45,85,.24),
        inset 0 1px 0 rgba(255,255,255,.18);
}

.fbc-login-submit:hover
{
    transform:translateY(-1px);
    filter:brightness(1.07);
    box-shadow:
        0 12px 24px rgba(4,45,85,.31),
        inset 0 1px 0 rgba(255,255,255,.18);
}

.fbc-login-submit:active
{
    transform:translateY(0);
}

.fbc-login-divider
{
    display:flex;
    align-items:center;
    gap:12px;
    color:#8793a3;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.fbc-login-divider::before,
.fbc-login-divider::after
{
    content:"";
    height:1px;
    flex:1;
    background:#dce3eb;
}

.fbc-login-join
{
    border:1px solid #c69516;
    background:rgba(255,255,255,.64);
    color:#765300;
}

.fbc-login-join:hover
{
    transform:translateY(-1px);
    border-color:#b17f05;
    background:#fffaf0;
    box-shadow:0 8px 17px rgba(116,83,0,.11);
}

.fbc-login-footer
{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid #dde4ec;
}

.fbc-login-footer span
{
    color:#9b7100;
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.fbc-login-footer small
{
    color:#8692a1;
    font-size:10px;
    text-align:right;
}

@media(min-width:2200px)
{
    .fbc-login-shell
    {
        padding-right:8vw;
        background-size:contain;
        background-position:center center;
    }

    .fbc-login-card
    {
        width:460px;
        padding:38px;
    }
}

@media(max-width:2200px)
{
    .fbc-login-shell
    {
        background-size:cover;
        background-position:30% center;
    }
}

@media(min-width:1800px)
{
    .fbc-login-shell
    {
        padding-right:8vw;
        background-position:center center;
    }

    .fbc-login-card
    {
        width:460px;
        padding:38px;
    }
}

@media(max-width:1100px)
{
    .fbc-login-shell
    {
        place-items:center;
        background-size:cover;
        background-position:24% center;
    }

    .fbc-login-overlay
    {
        background:
            linear-gradient(
                90deg,
                rgba(2,8,23,.27),
                rgba(2,8,23,.54)
            ),
            linear-gradient(
                180deg,
                rgba(2,8,23,.08),
                rgba(2,8,23,.42)
            );
    }
}

@media(max-width:760px)
{
    .fbc-login-shell
    {
        align-items:end;

        padding:
            max(22px,env(safe-area-inset-top))
            max(14px,env(safe-area-inset-right))
            max(18px,env(safe-area-inset-bottom))
            max(14px,env(safe-area-inset-left));

        background-size:cover;
        background-position:40% center;
    }

    .fbc-login-overlay
    {
        background:
            linear-gradient(
                180deg,
                rgba(1,7,20,.12) 0%,
                rgba(1,7,20,.16) 35%,
                rgba(1,7,20,.72) 75%,
                rgba(1,7,20,.9) 100%
            );
    }

    .fbc-login-card
    {
        width:100%;
        max-width:520px;
        padding:25px 22px 22px;
        border-radius:19px;
    }
}

    .fbc-login-overlay
    {
        background:
            linear-gradient(
                180deg,
                rgba(1,7,20,.12) 0%,
                rgba(1,7,20,.16) 35%,
                rgba(1,7,20,.72) 75%,
                rgba(1,7,20,.9) 100%
            );
    }

    .fbc-login-card
    {
        width:100%;
        max-width:520px;
        padding:25px 22px 22px;
        border-radius:19px;
        background:
            linear-gradient(
                145deg,
                rgba(255,255,255,.97),
                rgba(247,250,255,.94)
            );
    }

    .fbc-login-heading
    {
        margin-bottom:19px;
    }

    .fbc-login-heading h1
    {
        font-size:30px;
    }

    .fbc-login-form
    {
        gap:14px;
    }

    .fbc-login-footer
    {
        margin-top:19px;
    }
}

@media(max-width:480px)
{
    .fbc-login-shell
    {
        padding-inline:10px;
        background-position:40% center;
    }

    .fbc-login-card
    {
        padding:22px 17px 18px;
        border-radius:17px;
    }

    .fbc-login-kicker
    {
        font-size:10px;
    }

    .fbc-login-heading h1
    {
        font-size:27px;
    }

    .fbc-login-heading p
    {
        font-size:13px;
    }

    .fbc-login-input-wrap input,
    .fbc-login-submit,
    .fbc-login-join
    {
        min-height:48px;
    }

    .fbc-login-footer
    {
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .fbc-login-footer small
    {
        text-align:left;
    }
}

@media(max-height:720px) and (min-width:761px)
{
    .fbc-login-shell
    {
        padding-block:18px;
    }

    .fbc-login-card
    {
        padding:25px 28px;
    }

    .fbc-login-heading
    {
        margin-bottom:17px;
    }

    .fbc-login-heading p
    {
        margin-top:7px;
    }

    .fbc-login-form
    {
        gap:12px;
    }

    .fbc-login-input-wrap input,
    .fbc-login-submit,
    .fbc-login-join
    {
        min-height:46px;
    }

    .fbc-login-footer
    {
        margin-top:17px;
        padding-top:14px;
    }
}

@media(prefers-reduced-motion:reduce)
{
    .fbc-login-input-wrap input,
    .fbc-login-submit,
    .fbc-login-join,
    .fbc-login-checkmark
    {
        transition:none;
    }
}

.fixture-repository-initial-spacer td
{
    padding:21px 0;
    border:0;
    background:transparent;
}

/* ==========================================
   FBC CHANGE PASSWORD
========================================== */

.fbc-password-page{min-height:100vh;min-height:100svh;margin:0;overflow-x:hidden;background:#020b1d}
.fbc-password-shell{position:relative;display:grid;min-height:100vh;min-height:100svh;place-items:center end;overflow:hidden;padding:max(28px,env(safe-area-inset-top)) max(5vw,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(5vw,env(safe-area-inset-left));background-color:#041325;background-image:url("../assets/login_hero.png");background-repeat:no-repeat;background-size:cover;background-position:30% center;isolation:isolate}
.fbc-password-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,8,23,.08) 0%,rgba(2,8,23,.08) 42%,rgba(2,8,23,.48) 70%,rgba(2,8,23,.78) 100%),linear-gradient(180deg,rgba(2,8,23,.12) 0%,rgba(2,8,23,.05) 55%,rgba(2,8,23,.48) 100%)}
.fbc-password-card{position:relative;width:min(460px,100%);overflow:hidden;padding:32px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,250,255,.92));box-shadow:0 28px 70px rgba(0,0,0,.42),0 8px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.76);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.fbc-password-card-accent{position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#7f5a00,#d7a423 26%,#ffe49a 52%,#d7a423 78%,#7f5a00)}
.fbc-password-heading{margin-bottom:22px}
.fbc-password-kicker{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:#9d7100;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.fbc-password-heading h1{margin:0;color:#07172c;font-size:clamp(30px,4vw,39px);line-height:1;letter-spacing:-.035em}
.fbc-password-heading p{margin:11px 0 0;color:#607086;font-size:14px;line-height:1.55}
.fbc-password-error{display:flex;align-items:flex-start;gap:10px;margin-bottom:17px;padding:12px 13px;border:1px solid #efb8b8;border-radius:10px;background:#fff1f1;color:#9f1d1d;font-size:13px;font-weight:800}
.fbc-password-form{display:flex;flex-direction:column;gap:14px}
.fbc-password-field{display:flex;flex-direction:column;gap:7px}
.fbc-password-field label{color:#14263d;font-size:12px;font-weight:900;letter-spacing:.02em}
.fbc-password-input-wrap{position:relative}
.fbc-password-input-wrap>i{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#8591a2;pointer-events:none}
.fbc-password-input-wrap input{width:100%;min-height:49px;padding:11px 48px 11px 42px;border:1px solid #cfd8e3;border-radius:11px;background:rgba(255,255,255,.94);color:#102239;font:inherit;font-size:15px;font-weight:700;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.fbc-password-input-wrap input:focus{border-color:#c69516;background:#fff;box-shadow:0 0 0 4px rgba(213,165,35,.16),0 7px 18px rgba(4,24,50,.07)}
.fbc-password-toggle{position:absolute;top:50%;right:8px;display:grid;width:36px;height:36px;transform:translateY(-50%);place-items:center;border:0;border-radius:8px;background:transparent;color:#69788c;cursor:pointer}
.fbc-password-toggle:hover,.fbc-password-toggle:focus-visible{background:#edf2f7;color:#0c3764;outline:none}
.fbc-password-strength{display:flex;flex-direction:column;gap:7px}
.fbc-password-strength-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6c7a8d;font-size:11px;font-weight:800}
.fbc-password-strength-heading strong{color:#21364e}
.fbc-password-strength-track{overflow:hidden;height:7px;background:#e2e8ef;border-radius:999px}
.fbc-password-strength-track span{display:block;width:0;height:100%;border-radius:inherit;background:#c63a3a;transition:width .2s ease,background .2s ease}
.fbc-password-strength-track span[data-score="2"]{background:#d9891b}
.fbc-password-strength-track span[data-score="3"]{background:#d0a51e}
.fbc-password-strength-track span[data-score="4"]{background:#168755}
.fbc-password-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:12px;border:1px solid #dbe3eb;border-radius:10px;background:#f7f9fc}
.fbc-password-rules div{display:flex;align-items:center;gap:7px;color:#768395;font-size:11px;font-weight:750}
.fbc-password-rules div i{color:#b8c2ce;font-size:10px}
.fbc-password-rules div.is-valid{color:#176f45}
.fbc-password-rules div.is-valid i{color:#1b9a60}
.fbc-password-match{min-height:16px;font-size:11px;font-weight:800}
.fbc-password-match.is-valid{color:#167245}
.fbc-password-match.is-invalid{color:#a51d1d}
.fbc-password-submit{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:50px;padding:12px 16px;border:1px solid #072a50;border-radius:11px;background:linear-gradient(135deg,#0a4d86,#062f59);color:#fff;font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 9px 20px rgba(4,45,85,.24),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.fbc-password-submit:hover{transform:translateY(-1px);filter:brightness(1.07);box-shadow:0 12px 24px rgba(4,45,85,.31),inset 0 1px 0 rgba(255,255,255,.18)}
.fbc-password-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:17px;border-top:1px solid #dde4ec}
.fbc-password-footer span{color:#9b7100;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.fbc-password-footer small{color:#8692a1;font-size:10px;text-align:right}

@media(min-width:2200px){.fbc-password-shell{padding-right:8vw;background-size:contain;background-position:center center}.fbc-password-card{width:480px;padding:36px}}
@media(max-width:1100px){.fbc-password-shell{place-items:center;background-position:24% center}.fbc-password-overlay{background:linear-gradient(90deg,rgba(2,8,23,.27),rgba(2,8,23,.54)),linear-gradient(180deg,rgba(2,8,23,.08),rgba(2,8,23,.42))}}
@media(max-width:760px){.fbc-password-shell{align-items:end;padding:max(20px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background-position:40% center}.fbc-password-overlay{background:linear-gradient(180deg,rgba(1,7,20,.12) 0%,rgba(1,7,20,.16) 35%,rgba(1,7,20,.72) 75%,rgba(1,7,20,.9) 100%)}.fbc-password-card{width:100%;max-width:540px;padding:24px 21px 21px;border-radius:19px}.fbc-password-heading{margin-bottom:18px}.fbc-password-heading h1{font-size:29px}}
@media(max-width:480px){.fbc-password-shell{padding-inline:10px}.fbc-password-card{padding:21px 16px 17px;border-radius:17px}.fbc-password-heading h1{font-size:26px}.fbc-password-heading p{font-size:13px}.fbc-password-rules{grid-template-columns:1fr}.fbc-password-footer{align-items:flex-start;flex-direction:column;gap:4px}.fbc-password-footer small{text-align:left}}
@media(max-height:780px) and (min-width:761px){.fbc-password-shell{padding-block:16px}.fbc-password-card{padding:23px 27px}.fbc-password-heading{margin-bottom:15px}.fbc-password-form{gap:11px}.fbc-password-input-wrap input,.fbc-password-submit{min-height:44px}.fbc-password-rules{padding:9px 11px}.fbc-password-footer{margin-top:15px;padding-top:12px}}
@media(prefers-reduced-motion:reduce){.fbc-password-input-wrap input,.fbc-password-submit,.fbc-password-strength-track span{transition:none}}