* {
    box-sizing: border-box;
}

:root {
    --navy: #082b68;
    --blue: #0d4fb8;
    --blue2: #2e7be7;
    --gold: #f4b51d;
    --gold2: #ffd65a;
    --ink: #172033;
    --muted: #667085;
    --line: #e6eaf0;
    --soft: #f5f7fb;
    --white: #ffffff;
    --sidebar-width: 292px;
    --topbar-height: 74px;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Tahoma, "Noto Sans Thai", Arial, sans-serif;
    background: var(--soft);
    color: var(--ink);
}

img {
    max-width: 100%;
}

a {
    color: inherit;
}

.container {
    width: min(1180px, 92%);
    margin: 0 auto;
}

/* TOP BAR */
.topbar {
    position: fixed;
    top: 0;
    left: var(--sidebar-width);
    right: 0;
    height: var(--topbar-height);
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 5px 22px rgba(15,23,42,.06);
    z-index: 80;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 24px;
}

.topbar-title {
    min-width: 0;
    flex: 1;
}

.topbar-title strong {
    display: block;
    color: var(--navy);
    font-size: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-title span {
    display: block;
    font-size: 12px;
    color: var(--muted);
    margin-top: 3px;
}

.topbar-button,
.topbar-user,
.topbar-committee,
.topbar-admin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.topbar-admin {
    text-decoration: none;
    background: #eef5ff;
    color: var(--blue);
    font-weight: 800;
    padding: 10px 14px;
    border-radius: 12px;
}

.sidebar-toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 11px;
    background: var(--navy);
    color: white;
    font-size: 20px;
    cursor: pointer;
}

/* SIDEBAR */
.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-width);
    background:
        radial-gradient(circle at 20% 0%, rgba(46,123,231,.35), transparent 32%),
        linear-gradient(180deg, #071b45 0%, #082b68 45%, #061a3d 100%);
    color: white;
    z-index: 100;
    padding: 20px 16px 16px;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    box-shadow: 12px 0 30px rgba(7,27,63,.16);
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: white;
    text-decoration: none;
    padding: 4px 8px 18px;
    border-bottom: 1px solid rgba(255,255,255,.13);
}

.sidebar-logo-frame {
    width: 96px;
    height: 84px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    padding: 7px 8px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(255,255,255,.88);
    box-shadow: 0 10px 24px rgba(0,0,0,.16);
}

.sidebar-logo-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none;
}

.sidebar-brand strong {
    display: block;
    font-size: 17px;
}

.sidebar-brand span {
    display: block;
    font-size: 14px;
    color: #cbdcff;
    margin-top: 3px;
}

.sidebar-menu {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.menu-item {
    --accent: #2e7be7;
    min-height: 70px;
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    gap: 12px;
    padding: 9px 12px 9px 9px;
    border-radius: 17px;
    color: white;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.11);
    background:
        linear-gradient(100deg, color-mix(in srgb, var(--accent) 75%, #061a3d), rgba(255,255,255,.05));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.menu-item::after {
    content: "";
    position: absolute;
    right: -20px;
    top: -25px;
    width: 90px;
    height: 90px;
    background: rgba(255,255,255,.08);
    border-radius: 999px;
}

.menu-item:hover,
.menu-item.active {
    transform: translateX(4px);
    border-color: rgba(255,255,255,.42);
    box-shadow: 0 9px 22px rgba(0,0,0,.16);
}

.menu-item.active {
    outline: 2px solid rgba(255,214,90,.8);
}

.menu-item img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border-radius: 12px;
    position: relative;
    z-index: 1;
}

.menu-item div {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.menu-item strong {
    display: block;
    font-size: 15px;
}

.menu-item span {
    display: block;
    font-size: 11px;
    opacity: .82;
    margin-top: 3px;
}

.menu-home { --accent: #2475d7; }
.menu-news { --accent: #7c3aed; }
.menu-register { --accent: #0f9d87; }
.menu-schedule { --accent: #dd8b0b; }
.menu-results { --accent: #2563eb; }
.menu-medals { --accent: #c98700; }
.menu-certificate { --accent: #d04b76; }
.menu-help { --accent: #475569; }

.sidebar-footer {
    margin-top: auto;
    text-align: center;
    color: #9fb8e9;
    padding: 20px 0 4px;
    line-height: 1.5;
}

.sidebar-backdrop {
    display: none;
}

/* PAGE */
.page-content {
    margin-left: var(--sidebar-width);
    padding-top: var(--topbar-height);
    min-height: 100vh;
    background: var(--soft);
}

.hero-visual {
    position: relative;
    background: var(--navy);
    overflow: hidden;
}

.hero-visual > img {
    width: 100%;
    height: auto;
    display: block;
}

.hero-overlay {
    display: none;
}

.hero-overlay-inner {
    width: 100%;
}

.hero-action-bar {
    background: white;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 8px 20px rgba(15,23,42,.05);
}

.hero-action-wrap {
    padding: 18px 0;
}

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

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 12px;
    padding: 12px 18px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
}

.btn-gold {
    background: linear-gradient(135deg, var(--gold), var(--gold2));
    color: #19315e;
    box-shadow: 0 10px 30px rgba(244,181,29,.28);
}

.btn-glass {
    color: white;
    background: rgba(8,43,104,.72);
    border: 1px solid rgba(255,255,255,.35);
    backdrop-filter: blur(8px);
}

.btn-dark {
    background: var(--navy);
    color: white;
}

.btn-soft {
    background: #eef5ff;
    color: var(--blue);
}

.section {
    padding: 48px 0;
}

.section-soft {
    background: #eef3fa;
}

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

.section-title {
    margin: 4px 0 0;
    font-size: clamp(26px, 4vw, 38px);
    color: var(--navy);
}

.eyebrow {
    color: var(--blue);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .06em;
}

.text-link {
    color: var(--blue);
    text-decoration: none;
    font-weight: 700;
}

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

.service-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 212px;
    text-align: center;
    text-decoration: none;
    padding: 22px 14px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: white;
    box-shadow: 0 10px 30px rgba(15,23,42,.05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(13,79,184,.12);
    border-color: #cfe0ff;
}

.service-card img {
    width: 88px;
    height: 88px;
    object-fit: contain;
    display: block;
    margin: 0 auto 12px;
}

.service-card strong {
    font-size: 17px;
    color: var(--navy);
}

.service-card span {
    color: var(--muted);
    font-size: 13px;
    margin-top: 5px;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.news-card,
.card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 8px 26px rgba(15,23,42,.04);
}

.news-card h3 {
    color: var(--navy);
    margin: 14px 0 10px;
}

.news-card p {
    color: var(--muted);
    line-height: 1.7;
}

.news-badge {
    display: inline-block;
    background: #fff5d8;
    color: #8a5a00;
    font-size: 12px;
    font-weight: 800;
    border-radius: 999px;
    padding: 6px 10px;
}

.stats-section {
    background: linear-gradient(180deg, #fff, #f8fbff);
}

.stats-card {
    display: grid;
    grid-template-columns: 1.4fr .6fr;
    align-items: center;
    background: linear-gradient(135deg, var(--navy), var(--blue));
    color: white;
    border-radius: 26px;
    padding: 34px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(8,43,104,.18);
}

.stats-card h2 {
    font-size: clamp(26px, 4vw, 42px);
    margin: 8px 0 10px;
}

.stats-card p {
    color: #dce8ff;
    line-height: 1.7;
}

.stats-card .eyebrow {
    color: var(--gold2);
}

.stats-card img {
    max-width: 240px;
    justify-self: end;
    filter: drop-shadow(0 18px 24px rgba(0,0,0,.18));
}

.contact-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 28px;
    background: white;
}

.contact-card h2 {
    color: var(--navy);
    margin: 6px 0 10px;
}

.contact-card p {
    color: var(--muted);
}

.contact-placeholder {
    background: #f7faff;
    border-radius: 16px;
    padding: 22px;
    display: grid;
    gap: 8px;
}

.table-wrap {
    overflow-x: auto;
    background: white;
    border-radius: 16px;
    border: 1px solid var(--line);
    box-shadow: 0 10px 26px rgba(15,23,42,.04);
}

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

th, td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    white-space: nowrap;
}

th {
    background: #f9fafb;
    color: var(--navy);
}

.form-card {
    max-width: 760px;
    margin: 32px auto;
    background: white;
    padding: 24px;
    border-radius: 18px;
    border: 1px solid var(--line);
    box-shadow: 0 10px 30px rgba(15,23,42,.05);
}

label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

input, select, textarea {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    font: inherit;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.notice-success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 16px;
}

.notice-error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 16px;
}

.admin-bar {
    background: #111827;
    color: white;
    padding: 12px 0;
}

.admin-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-links a {
    color: white;
    text-decoration: none;
    background: #1f2937;
    padding: 8px 10px;
    border-radius: 8px;
}

.site-footer {
    margin-left: var(--sidebar-width);
    background: #061a3d;
    color: #d1d5db;
    padding: 28px 0;
    text-align: center;
}

.site-footer p {
    margin: 0 0 5px;
    font-weight: 700;
}

.site-footer small {
    color: #9fb8e9;
}

/* RESPONSIVE */
@media (max-width: 1050px) {
    :root {
        --sidebar-width: 265px;
    }

    .service-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

@media (max-width: 820px) {
    :root {
        --topbar-height: 66px;
    }

    .sidebar {
        width: 286px;
        transform: translateX(-102%);
        transition: transform .22s ease;
    }

    body.sidebar-open .sidebar {
        transform: translateX(0);
    }

    .sidebar-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(2,8,23,.50);
        z-index: 90;
    }

    body.sidebar-open .sidebar-backdrop {
        display: block;
    }

    .topbar {
        left: 0;
        height: var(--topbar-height);
        padding: 0 14px;
    }

    .sidebar-toggle {
        display: block;
    }

    .topbar-title strong {
        font-size: 15px;
    }

    .topbar-title span {
        display: none;
    }

    .topbar-button,
.topbar-user,
.topbar-committee,
.topbar-admin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.topbar-admin {
        font-size: 12px;
        padding: 9px 11px;
    }

    .page-content {
        margin-left: 0;
        padding-top: var(--topbar-height);
    }

    .site-footer {
        margin-left: 0;
    }

    .hero-visual > img {
        min-height: 300px;
        object-fit: cover;
        object-position: center;
    }

    .hero-action-wrap {
        padding: 12px 0;
    }

    .hero-actions {
        gap: 7px;
    }

    .hero-actions .btn {
        padding: 10px 12px;
        font-size: 13px;
    }

    .stats-card,
    .contact-card,
    .form-row {
        grid-template-columns: 1fr;
    }

    .stats-card img {
        justify-self: center;
        max-width: 190px;
    }
}

@media (max-width: 560px) {
    .service-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .service-card {
        min-height: 180px;
        padding: 14px 8px;
    }

    .service-card img {
        width: 68px;
        height: 68px;
    }

    .section {
        padding: 36px 0;
    }

    .topbar-button,
.topbar-user,
.topbar-committee,
.topbar-admin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.topbar-admin {
        display: none;
    }
}


/* ACCORDION SUBMENU */
.menu-group {
    display: grid;
    gap: 5px;
}

.menu-toggle {
    width: 100%;
    border: 1px solid rgba(255,255,255,.11);
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.menu-toggle .chevron {
    position: absolute;
    right: 14px;
    z-index: 2;
    font-size: 20px;
    transition: transform .2s ease;
}

.menu-group.open .chevron {
    transform: rotate(180deg);
}

.submenu {
    display: none;
    margin: 0 7px 2px 29px;
    padding: 8px;
    border-left: 2px solid rgba(255,214,90,.7);
    background: rgba(255,255,255,.055);
    border-radius: 0 12px 12px 0;
}

.menu-group.open .submenu {
    display: grid;
    gap: 5px;
}

.submenu a {
    color: #dce8ff;
    text-decoration: none;
    padding: 9px 11px;
    border-radius: 9px;
    font-size: 13px;
    transition: background .16s ease, color .16s ease, padding-left .16s ease;
}

.submenu a:hover {
    background: rgba(255,255,255,.10);
    color: white;
    padding-left: 15px;
}

.submenu a.active {
    background: linear-gradient(90deg, rgba(244,181,29,.95), rgba(255,214,90,.88));
    color: #17305e;
    font-weight: 800;
}

.portal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.portal-card {
    background: white;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 24px;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(15,23,42,.05);
    transition: transform .18s ease, box-shadow .18s ease;
}

.portal-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(13,79,184,.12);
}

.portal-card img {
    width: 74px;
    height: 74px;
    object-fit: contain;
    margin-bottom: 12px;
}

.portal-card h3 {
    margin: 0 0 8px;
    color: var(--navy);
}

.portal-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}

.status-chip {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.status-wait {
    background: #fff7db;
    color: #8a5a00;
}

.status-ok {
    background: #e9fbf3;
    color: #087a50;
}

.status-no {
    background: #fff0f0;
    color: #a02626;
}

.search-result {
    margin-top: 22px;
}

.empty-state {
    text-align: center;
    padding: 36px 18px;
    color: var(--muted);
}

@media (max-width: 900px) {
    .portal-grid {
        grid-template-columns: 1fr;
    }
}

:root{--admin-sidebar:255px}
.admin-body{background:#f4f7fb}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--admin-sidebar);background:linear-gradient(180deg,#071a3e,#0a3477);color:white;z-index:120;padding:18px 14px;display:flex;flex-direction:column;overflow-y:auto}.admin-brand{color:white;text-decoration:none;display:flex;align-items:center;gap:10px;padding:6px 5px 17px;border-bottom:1px solid rgba(255,255,255,.13)}.admin-brand img{width:58px;height:58px;object-fit:contain}.admin-brand strong,.admin-brand span{display:block}.admin-brand span{color:#bcd0f7;font-size:12px;margin-top:3px}.admin-menu{display:grid;gap:5px;padding:16px 0}.admin-menu a,.admin-sidebar-bottom a{color:#eaf1ff;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:14px}.admin-menu a:hover,.admin-menu a.active{background:rgba(255,255,255,.13);color:white}.admin-menu a.active{box-shadow:inset 3px 0 0 #ffd65a}.admin-sidebar-bottom{margin-top:auto;display:grid;gap:5px;border-top:1px solid rgba(255,255,255,.13);padding-top:12px}.admin-sidebar-bottom .logout-link{color:#ffd0d0}.admin-topbar{position:fixed;top:0;left:var(--admin-sidebar);right:0;height:70px;z-index:100;background:white;border-bottom:1px solid #e5e9f0;display:flex;align-items:center;gap:12px;padding:0 24px;box-shadow:0 5px 18px rgba(15,23,42,.05)}.admin-topbar strong,.admin-topbar span{display:block}.admin-topbar strong{color:#082b68;font-size:18px}.admin-topbar span{color:#667085;font-size:12px;margin-top:3px}.admin-mobile-toggle{display:none;width:42px;height:42px;border:0;border-radius:10px;background:#082b68;color:white;font-size:20px}.admin-content{margin-left:var(--admin-sidebar);padding:94px 24px 40px;min-height:100vh}.admin-panel{background:white;border:1px solid #e6eaf0;border-radius:18px;padding:22px;box-shadow:0 8px 26px rgba(15,23,42,.04);margin-bottom:18px}.admin-panel h2{margin-top:0;color:#082b68}.admin-two-col{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(480px,1.28fr);gap:18px;align-items:start}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-panel label{margin-top:12px}.check-row{display:flex!important;align-items:center;gap:8px;margin:15px 0!important}.check-row input{width:auto}.action-cell{display:flex;gap:6px;flex-wrap:wrap}.action-cell form,.inline-form{display:inline-flex;gap:6px;align-items:center;margin:0}.inline-form select{min-width:120px;padding:7px 9px}.small-action{border:0;background:#eef5ff;color:#0d4fb8;padding:7px 10px;border-radius:8px;font-weight:700;text-decoration:none;cursor:pointer;font:inherit;font-size:12px}.small-action.danger{background:#fff0f0;color:#a02626}.admin-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.admin-summary-card{text-decoration:none;background:white;border:1px solid #e6eaf0;border-radius:18px;padding:20px}.admin-summary-card span{color:#667085}.admin-summary-card strong{display:block;color:#082b68;font-size:38px;margin-top:8px}.admin-summary-card.highlight{background:linear-gradient(135deg,#fff8db,#fff);border-color:#f5d267}.admin-search{display:flex;gap:8px;margin-bottom:14px}.admin-search input{flex:1}.admin-form-narrow{max-width:520px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,rgba(31,123,231,.28),transparent 36%),linear-gradient(135deg,#061a3d,#0d4fb8)}.login-card{width:min(430px,100%);background:white;border-radius:24px;padding:30px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-card>img{width:120px;height:120px;object-fit:contain}.login-card h1{color:#082b68;margin:8px 0 4px}.login-card>p{color:#667085;margin:0 0 22px}.login-card form{text-align:left}.login-button{width:100%;margin-top:18px}.login-back{display:inline-block;margin-top:18px;color:#0d4fb8;text-decoration:none;font-weight:700}.admin-backdrop{display:none}
@media(max-width:1050px){.admin-two-col{grid-template-columns:1fr}.admin-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.admin-sidebar{transform:translateX(-102%);transition:transform .2s}.admin-menu-open .admin-sidebar{transform:translateX(0)}.admin-topbar{left:0;height:66px;padding:0 14px}.admin-mobile-toggle{display:block}.admin-content{margin-left:0;padding:88px 14px 30px}.admin-menu-open .admin-backdrop{display:block;position:fixed;inset:0;background:rgba(2,8,23,.55);z-index:110}.admin-form-grid{grid-template-columns:1fr}}@media(max-width:520px){.admin-summary-grid{grid-template-columns:1fr}.admin-topbar span{display:none}}


/* =========================
   COMPACT ADMIN LOGIN
   ========================= */
.login-page.login-page-compact {
    min-height: 100svh;
    margin: 0;
    padding:
        max(18px, env(safe-area-inset-top))
        max(16px, env(safe-area-inset-right))
        max(18px, env(safe-area-inset-bottom))
        max(16px, env(safe-area-inset-left));
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 15% 15%, rgba(40, 120, 230, .22), transparent 32%),
        radial-gradient(circle at 85% 85%, rgba(255, 202, 72, .13), transparent 28%),
        linear-gradient(145deg, #071a3e 0%, #0b377a 52%, #0e56b7 100%);
    overflow-x: hidden;
}

.login-shell {
    width: 100%;
    max-width: 390px;
    margin: auto;
}

.login-card.login-card-compact {
    width: 100%;
    padding: 22px 22px 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(255, 255, 255, .55);
    box-shadow:
        0 18px 55px rgba(2, 12, 32, .28),
        0 2px 10px rgba(2, 12, 32, .08);
    text-align: left;
}

.login-logo-wrap {
    width: 76px;
    height: 76px;
    margin: -4px auto 10px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(145deg, #f8fbff, #edf4ff);
    box-shadow: inset 0 0 0 1px #e5ecf6;
}

.login-logo-wrap img {
    width: 62px;
    height: 62px;
    object-fit: contain;
}

.login-heading {
    text-align: center;
    margin-bottom: 16px;
}

.login-kicker {
    display: inline-block;
    margin-bottom: 4px;
    color: #0d4fb8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.login-card.login-card-compact h1 {
    margin: 0;
    color: #082b68;
    font-size: 23px;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.login-card.login-card-compact .login-heading p {
    margin: 5px 0 0;
    color: #667085;
    font-size: 13px;
}

.login-form {
    display: grid;
    gap: 13px;
}

.login-field {
    display: grid;
    gap: 6px;
}

.login-field label {
    margin: 0;
    color: #26354d;
    font-size: 13px;
    font-weight: 700;
}

.login-card.login-card-compact input {
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    border: 1px solid #d7dfeb;
    border-radius: 12px;
    background: #fbfdff;
    padding: 0 13px;
    font-size: 16px;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.login-card.login-card-compact input:focus {
    background: #fff;
    border-color: #2e6dcc;
    box-shadow: 0 0 0 4px rgba(46, 109, 204, .11);
}

.password-wrap {
    position: relative;
}

.password-wrap input {
    padding-right: 46px !important;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 9px;
    background: transparent;
    cursor: pointer;
    font-size: 15px;
}

.password-toggle:hover {
    background: #eef4fd;
}

.login-card.login-card-compact .login-button {
    width: 100%;
    min-height: 44px;
    margin-top: 2px;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(13, 79, 184, .18);
}

.login-card.login-card-compact .login-back {
    display: block;
    margin: 14px 0 0;
    text-align: center;
    color: #506078;
    font-size: 12px;
    text-decoration: none;
    font-weight: 700;
}

.login-card.login-card-compact .login-back:hover {
    color: #0d4fb8;
}

.login-error {
    margin: 0 0 13px;
    padding: 10px 12px;
    border-radius: 11px;
    font-size: 12px;
}

.login-footer-note {
    margin: 10px 0 0;
    text-align: center;
    color: rgba(255, 255, 255, .76);
    font-size: 11px;
}

/* Mobile */
@media (max-width: 480px) {
    .login-page.login-page-compact {
        align-items: center;
        padding: 14px;
    }

    .login-shell {
        max-width: 350px;
    }

    .login-card.login-card-compact {
        padding: 18px 16px 15px;
        border-radius: 18px;
    }

    .login-logo-wrap {
        width: 66px;
        height: 66px;
        border-radius: 17px;
        margin-bottom: 8px;
    }

    .login-logo-wrap img {
        width: 54px;
        height: 54px;
    }

    .login-card.login-card-compact h1 {
        font-size: 20px;
    }

    .login-card.login-card-compact .login-heading p {
        font-size: 12px;
    }

    .login-form {
        gap: 11px;
    }

    .login-card.login-card-compact input {
        height: 43px;
        border-radius: 11px;
    }

    .login-card.login-card-compact .login-button {
        min-height: 43px;
        border-radius: 11px;
    }
}

/* Short phone screens */
@media (max-height: 650px) and (max-width: 600px) {
    .login-page.login-page-compact {
        align-items: flex-start;
        overflow-y: auto;
    }

    .login-shell {
        margin-top: 0;
        margin-bottom: 0;
    }

    .login-card.login-card-compact {
        padding-top: 15px;
        padding-bottom: 13px;
    }

    .login-logo-wrap {
        width: 56px;
        height: 56px;
        margin-bottom: 6px;
    }

    .login-logo-wrap img {
        width: 46px;
        height: 46px;
    }

    .login-heading {
        margin-bottom: 11px;
    }

    .login-card.login-card-compact h1 {
        font-size: 19px;
    }

    .login-footer-note {
        margin-top: 7px;
    }
}


/* =========================
   REGISTRATION V4
   ========================= */
.registration-form-card {
    max-width: 900px;
    margin: 0 auto;
}

.registration-block {
    margin-top: 22px;
    padding: 20px;
    border: 1px solid #e3e9f2;
    border-radius: 18px;
    background: #fbfdff;
}

.registration-block-title {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 17px;
}

.registration-block-title > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 10px;
    background: #0d4fb8;
    color: white;
    font-weight: 800;
}

.registration-block-title strong,
.registration-block-title small {
    display: block;
}

.registration-block-title strong {
    color: #082b68;
    font-size: 17px;
}

.registration-block-title small {
    margin-top: 2px;
    color: #728096;
}

.registration-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

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

.registration-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: #26354d;
}

.registration-field small {
    display: block;
    margin-top: 5px;
    color: #7c8798;
}

.registration-actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.athlete-summary-card {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-bottom: 16px;
}

.athlete-summary-card h2 {
    margin: 0 0 8px;
}

.athlete-summary-photo {
    width: 98px;
    height: 118px;
    flex: 0 0 auto;
    border-radius: 14px;
    object-fit: cover;
    background: #eef3f8;
    border: 1px solid #e0e6ee;
}

.athlete-photo-placeholder {
    display: grid;
    place-items: center;
    color: #94a0b2;
    font-size: 12px;
}

.athlete-list-photo {
    width: 46px;
    height: 56px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e0e6ee;
    background: #eef3f8;
}

.registration-status-list {
    display: grid;
    gap: 13px;
}

.registration-status-card {
    background: white;
    border: 1px solid #e4e9f1;
    border-radius: 16px;
    padding: 17px;
}

.registration-status-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.registration-status-head strong,
.registration-status-head span {
    display: block;
}

.registration-status-head strong {
    color: #082b68;
    font-size: 17px;
}

.registration-status-head > div > span {
    color: #667085;
    margin-top: 3px;
    font-size: 13px;
}

.registration-status-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 14px;
}

.registration-status-meta > div {
    padding: 10px;
    border-radius: 10px;
    background: #f7f9fc;
}

.registration-status-meta span,
.registration-status-meta strong {
    display: block;
}

.registration-status-meta span {
    color: #7c8798;
    font-size: 11px;
    margin-bottom: 3px;
}

.registration-status-meta strong {
    color: #26354d;
    font-size: 13px;
}

.registration-note {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff8df;
    color: #755d13;
    font-size: 13px;
}

.admin-athlete-photo {
    width: 88px;
    height: 105px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid #dfe5ed;
    background: #eef3f8;
}

.admin-athlete-photo.small {
    width: 42px;
    height: 50px;
    border-radius: 8px;
}

.admin-athlete-photo.preview {
    display: block;
    width: 110px;
    height: 135px;
    margin-bottom: 10px;
}

.admin-athlete-cell,
.registration-admin-edit-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.registration-admin-edit-head {
    margin-bottom: 16px;
}

.registration-admin-edit-head h2 {
    margin: 0 0 5px;
}

.registration-admin-edit-head p {
    margin: 0;
}

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

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

    .registration-block {
        padding: 15px;
        border-radius: 14px;
    }

    .registration-status-meta {
        grid-template-columns: 1fr 1fr;
    }

    .athlete-summary-card {
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .registration-form-card {
        padding-left: 14px;
        padding-right: 14px;
    }

    .registration-block {
        padding: 13px;
    }

    .registration-block-title strong {
        font-size: 15px;
    }

    .registration-status-head {
        display: grid;
        gap: 8px;
    }

    .registration-status-meta {
        grid-template-columns: 1fr;
    }

    .athlete-summary-card {
        display: grid;
        grid-template-columns: 78px 1fr;
        gap: 12px;
    }

    .athlete-summary-photo {
        width: 78px;
        height: 94px;
    }

    .registration-actions .btn {
        width: 100%;
        text-align: center;
    }
}


/* =========================
   V5 SPORTS + TEAM REGISTRATION
   ========================= */
.sports-menu-grid{display:grid;gap:12px}
.sport-menu-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.sport-menu-card summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sport-menu-card summary::-webkit-details-marker{display:none}
.sport-menu-card summary strong,.sport-menu-card summary span{display:block}
.sport-menu-card summary strong{color:#082b68;font-size:18px}
.sport-menu-card summary span{color:#667085;font-size:12px;margin-top:3px}
.sport-event-list{border-top:1px solid #edf0f4}
.sport-event-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-bottom:1px solid #f0f2f5}
.sport-event-row:last-child{border-bottom:0}
.sport-event-main strong,.sport-event-main span{display:block}
.sport-event-main strong{color:#26354d}.sport-event-main span{color:#7b8797;font-size:12px;margin-top:3px}
.sport-event-badges{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.sport-mode{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800}
.sport-mode.individual{color:#155b3d;background:#e9f8f0}.sport-mode.team{color:#234f9b;background:#eaf2ff}
.sport-mode-hint{min-height:30px;margin-top:8px;color:#667085;font-size:12px}

.athlete-member-card{padding:16px;margin-bottom:13px;border:1px solid #dfe6ef;border-radius:14px;background:#fff}
.athlete-member-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.athlete-member-head strong{color:#082b68}
.member-remove{border:0;border-radius:8px;background:#fff0f0;color:#a02626;padding:6px 9px;cursor:pointer;font-weight:700}

.registration-admin-members{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0 18px}
.registration-admin-member{display:flex;gap:9px;align-items:center;padding:9px;border:1px solid #e5e9f0;border-radius:11px;background:#f9fbfd}
.registration-admin-member strong,.registration-admin-member span{display:block}
.registration-admin-member span{color:#667085;font-size:11px;margin-top:2px}

.certificate-result-card{margin-bottom:14px}
.certificate-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
.certificate-info-grid>div{padding:11px;background:#f7f9fc;border-radius:10px}
.certificate-info-grid span,.certificate-info-grid strong{display:block}
.certificate-info-grid span{color:#7c8798;font-size:11px;margin-bottom:3px}
.certificate-info-grid strong{color:#26354d;font-size:13px}

@media(max-width:800px){
 .registration-admin-members{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .sport-event-row{align-items:flex-start;flex-direction:column}
 .sport-event-badges{width:100%;justify-content:space-between}
 .registration-admin-members,.certificate-info-grid{grid-template-columns:1fr}
 .athlete-member-card{padding:12px}
}

/* =========================
   V6 REGISTRATION + PARTICIPANT CATEGORIES
   ========================= */
.registration-guidance{
    margin:20px 0 8px;
    padding:18px;
    border:1px solid #d9e3f3;
    border-radius:18px;
    background:linear-gradient(135deg,#f7fbff,#fffdf6);
}
.registration-guidance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}
.registration-guidance-head strong{color:#082b68;font-size:17px}
.registration-guidance-head span{color:#667085;font-size:12px}
.participant-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.participant-code-grid>div{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;padding:9px 10px;background:white;border:1px solid #e6ebf3;border-radius:11px}
.participant-code-grid b{display:grid;place-items:center;min-height:30px;border-radius:8px;background:#082b68;color:#fff;font-size:12px}
.participant-code-grid span{color:#455468;font-size:12px;line-height:1.45}
.participant-code-badge{display:inline-grid;place-items:center;min-width:34px;min-height:25px;padding:3px 8px;border-radius:999px;background:#eaf2ff;color:#0d4fb8;font-size:11px;font-weight:900;vertical-align:middle}
.registration-result-notice{font-weight:700}
.staff-registration-list{display:grid;gap:14px}
.staff-registration-card{padding:16px;border:1px solid #dfe6ef;border-radius:14px;background:#fff}
.staff-registration-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid #edf1f6}
.staff-registration-title strong{color:#082b68;font-size:16px}
.staff-registration-title span{color:#7c8798;font-size:11px}
.registration-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.registration-person-card{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid #e4e9f1;border-radius:13px;background:#f9fbfd}
.registration-person-card img,.registration-person-photo{width:58px;height:68px;flex:0 0 auto;object-fit:cover;border-radius:10px;border:1px solid #dfe5ed;background:#eef3f8}
.registration-person-card strong,.registration-person-card small{display:block}
.registration-person-card strong{color:#26354d;margin-top:5px;font-size:13px}
.registration-person-card small{color:#738095;margin-top:3px;font-size:11px;line-height:1.45}
.application-summary-card h2{margin:4px 0 4px}

/* V6 athlete directory: school > sport > athlete */
.athlete-directory{display:grid;gap:16px}
.athlete-school-card{border:1px solid #dfe6ef;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 22px rgba(15,23,42,.04)}
.athlete-school-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;background:linear-gradient(135deg,#f7fbff,#fff)}
.athlete-school-card>summary::-webkit-details-marker,.athlete-sport-card>summary::-webkit-details-marker{display:none}
.athlete-school-card>summary strong,.athlete-school-card>summary span{display:block}
.athlete-school-card>summary strong{color:#082b68;font-size:18px}
.athlete-school-card>summary span{color:#667085;font-size:12px;margin-top:4px}
.athlete-school-card>summary b{color:#0d4fb8;font-size:20px}
.athlete-sport-groups{display:grid;gap:10px;padding:14px;background:#f7f9fc;border-top:1px solid #edf0f4}
.athlete-sport-card{border:1px solid #e4e9f1;border-radius:13px;background:#fff;overflow:hidden}
.athlete-sport-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px}
.athlete-sport-card>summary strong{color:#26354d}
.athlete-sport-card>summary span{color:#667085;font-size:12px}
.athlete-directory-table{border-radius:0;border:0;border-top:1px solid #edf0f4;box-shadow:none}
.athlete-directory-table table{margin:0}

/* V6 live scores */
.live-score-section{background:linear-gradient(180deg,#061a3d 0%,#082b68 100%);color:#fff}
.live-score-section .section-title{color:#fff}
.live-score-section .muted{color:#c6d5ef}
.live-score-section .text-link{color:#ffd85c}
.live-eyebrow{color:#ffd85c!important;display:inline-flex;align-items:center;gap:7px}
.live-eyebrow i{width:8px;height:8px;border-radius:50%;background:#ff4b4b;box-shadow:0 0 0 5px rgba(255,75,75,.13);animation:livePulse 1.5s infinite}
@keyframes livePulse{50%{box-shadow:0 0 0 9px rgba(255,75,75,0)}}
.live-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.live-score-sport{border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.07);overflow:hidden;backdrop-filter:blur(8px)}
.live-score-sport-head{padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.1)}
.live-score-sport-head h3{margin:0;color:#fff;font-size:16px}
.live-score-empty{padding:22px 15px;color:#b8c8e4;font-size:12px}
.live-score-match-list{display:grid}
.live-score-match{padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.09)}
.live-score-match:last-child{border-bottom:0}
.live-score-match.live{background:rgba(255,75,75,.05)}
.live-score-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#c1d0e9;font-size:10px}
.live-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-weight:800}
.live-status.scheduled{background:rgba(255,216,92,.13);color:#ffe797}
.live-status.live{background:#d92f45;color:#fff}
.live-status.finished{background:rgba(71,197,140,.14);color:#8be4b9}
.live-score-versus{display:grid;grid-template-columns:1fr 30px 1fr;gap:7px;align-items:center;margin:12px 0 8px}
.live-score-versus>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.live-score-versus>div:last-child{flex-direction:row-reverse;text-align:right}
.live-score-versus strong{font-size:12px;color:#fff;overflow-wrap:anywhere}
.live-score-versus b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:9px;background:#fff;color:#082b68;font-size:17px}
.live-score-versus>span{text-align:center;color:#8fa7cd;font-size:9px;font-weight:900}
.live-score-summary{margin-top:9px;padding:9px 10px;border-radius:9px;background:rgba(255,255,255,.08);color:#eef4ff;font-size:11px;line-height:1.55}
.live-score-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px;color:#90a7ca;font-size:9px}
.live-score-foot span+span:before{content:'•';margin-right:8px}

/* V6 score admin */
.live-score-admin-box{margin:16px 0;padding:14px;border-radius:13px;background:#f7fbff;border:1px solid #dfe7f3}
.live-score-admin-box h3{margin:0 0 6px;color:#082b68}
.admin-live-score-note{margin-bottom:13px;padding:10px 12px;border-radius:10px;background:#eef8f3;color:#176344;font-size:12px}
.quick-score-form{display:grid;grid-template-columns:90px 130px minmax(120px,1fr) auto;gap:6px;align-items:center;min-width:520px}
.quick-score-form input,.quick-score-form select{padding:7px 8px;font-size:11px;min-width:0}
.quick-score-pair{display:grid;grid-template-columns:1fr 10px 1fr;align-items:center;gap:3px}
.quick-score-pair input{text-align:center;width:100%}
.quick-score-pair span{text-align:center;font-weight:800}
.admin-match-table td{vertical-align:top}
.registration-admin-staff{align-items:flex-start}

@media(max-width:1050px){
 .live-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .registration-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .participant-code-grid{grid-template-columns:1fr}
 .registration-guidance-head,.staff-registration-title{align-items:flex-start;flex-direction:column}
 .live-score-grid,.registration-person-grid{grid-template-columns:1fr}
 .athlete-school-card>summary{padding:15px}
 .athlete-sport-groups{padding:9px}
}
@media(max-width:520px){
 .live-score-versus{grid-template-columns:1fr 24px 1fr}
 .live-score-sport-head,.live-score-match{padding-left:12px;padding-right:12px}
}

/* make the new rectangular event logo more legible */
.admin-brand img{width:78px;height:64px}
.login-logo-wrap{width:118px;height:96px}
.login-logo-wrap img{width:108px;height:86px}

/* =========================
   SCHOOL USER PORTAL V6.2
   ========================= */
.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-user{text-decoration:none;background:#eef9f1;color:#19703b;font-weight:800;padding:10px 14px;border-radius:12px;white-space:nowrap}
:root{--user-sidebar:270px}
.user-body{background:#f4f7fb}.user-sidebar{position:fixed;inset:0 auto 0 0;width:var(--user-sidebar);background:linear-gradient(180deg,#133c2b,#185b3b 54%,#0e3324);color:white;z-index:120;padding:18px 14px;display:flex;flex-direction:column;overflow-y:auto}.user-brand{color:white;text-decoration:none;display:flex;align-items:center;gap:10px;padding:6px 5px 17px;border-bottom:1px solid rgba(255,255,255,.14)}.user-brand img{width:58px;height:58px;object-fit:contain;background:white;border-radius:12px;padding:3px}.user-brand strong,.user-brand span{display:block}.user-brand span{color:#cce8d7;font-size:11px;margin-top:3px;line-height:1.35}.user-menu{display:grid;gap:5px;padding:16px 0}.user-menu a,.user-sidebar-bottom a{color:#ecfff3;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.35}.user-menu a:hover,.user-menu a.active{background:rgba(255,255,255,.14);color:white}.user-menu a.active{box-shadow:inset 3px 0 0 #f4d35e}.user-sidebar-bottom{margin-top:auto;display:grid;gap:5px;border-top:1px solid rgba(255,255,255,.13);padding-top:12px}.user-sidebar-bottom .logout-link{color:#ffd6d6}.user-topbar{position:fixed;top:0;left:var(--user-sidebar);right:0;height:70px;z-index:100;background:white;border-bottom:1px solid #e5e9f0;display:flex;align-items:center;gap:12px;padding:0 24px;box-shadow:0 5px 18px rgba(15,23,42,.05)}.user-topbar strong,.user-topbar span{display:block}.user-topbar strong{color:#185b3b;font-size:18px}.user-topbar span{color:#667085;font-size:12px;margin-top:3px}.user-mobile-toggle{display:none;width:42px;height:42px;border:0;border-radius:10px;background:#185b3b;color:white;font-size:20px}.user-content{margin-left:var(--user-sidebar);padding:94px 24px 40px;min-height:100vh}.user-backdrop{display:none}
.user-panel{background:white;border:1px solid #e6eaf0;border-radius:18px;padding:22px;box-shadow:0 8px 26px rgba(15,23,42,.04);margin-bottom:18px}.user-panel h2{margin:0;color:#173b2c}.user-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.user-panel-heading h2,.user-panel-heading h1{margin:0}.user-panel-heading p{margin:5px 0 0;color:#667085}.user-panel-heading>a:not(.btn){color:#19703b;font-weight:700;text-decoration:none}.user-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px;border-radius:20px;background:linear-gradient(135deg,#f1fbf4,#fff);border:1px solid #dbeee2;margin-bottom:18px}.user-welcome-card h1{margin:5px 0 8px;color:#173b2c;font-size:24px}.user-welcome-card p{margin:0;color:#667085;max-width:760px;line-height:1.7}.user-registration-state{min-width:180px;padding:15px 17px;border-radius:14px;text-align:center}.user-registration-state strong,.user-registration-state span{display:block}.user-registration-state strong{font-size:18px}.user-registration-state span{font-size:11px;margin-top:4px;line-height:1.5}.user-registration-state.open{background:#e8f7ee;color:#17643a}.user-registration-state.closed{background:#fff0f0;color:#9a2b2b}.user-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.user-summary-card{background:white;border:1px solid #e4e9ef;border-radius:16px;padding:18px;text-decoration:none}.user-summary-card span{color:#667085;font-size:13px}.user-summary-card strong{display:inline-block;margin-top:8px;color:#185b3b;font-size:34px}.user-summary-card small{margin-left:5px;color:#667085}.user-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.user-card-list{display:grid;gap:13px}.user-registration-card,.user-result-card{border:1px solid #e4e9ef;border-radius:16px;padding:18px;background:#fbfdfc}.user-registration-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.user-registration-card-head span:first-child{color:#667085;font-size:11px;font-weight:700}.user-registration-card h3,.user-result-card h3{margin:4px 0;color:#173b2c}.user-registration-card p,.user-result-card p{margin:4px 0;color:#667085}.user-registration-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.user-registration-meta>div{background:white;border:1px solid #edf0f4;border-radius:10px;padding:10px}.user-registration-meta span,.user-registration-meta strong{display:block}.user-registration-meta span{color:#7a8494;font-size:11px}.user-registration-meta strong{margin-top:4px;color:#273548;font-size:13px}.user-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}.status-success{background:#e8f7ee;color:#17643a}.status-waiting{background:#fff8dc;color:#85640d}.status-danger{background:#fff0f0;color:#a22e2e}.user-athlete-chips{display:flex;gap:6px;flex-wrap:wrap}.user-athlete-chips span{background:#eef4f1;border-radius:999px;padding:6px 9px;font-size:11px;color:#385648}.user-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.user-form-panel{max-width:900px}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.user-form-grid input,.user-form-grid select,.user-form-grid textarea,.user-password-form input,.user-search input{width:100%}.user-form-grid textarea{resize:vertical}.user-search{display:flex;gap:8px;margin-bottom:16px}.user-search input{flex:1}.user-table-photo{width:48px;height:58px;object-fit:cover;border-radius:8px;border:1px solid #dde4ec;background:#eef3f8}.user-photo-placeholder{display:grid;place-items:center;color:#8b98a9;background:#eef3f8}.user-profile-edit-layout{display:grid;grid-template-columns:145px 1fr;gap:20px;align-items:start}.user-profile-photo{width:130px;height:158px;object-fit:cover;border-radius:14px;border:1px solid #dde4ec;background:#eef3f8}.user-section-title{color:#185b3b;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid #e7ece9}.user-edit-person-list{display:grid;gap:13px}.user-edit-person-card{display:grid;grid-template-columns:115px 1fr;gap:16px;border:1px solid #e3e9e6;border-radius:15px;padding:15px;background:#fbfdfc}.user-person-photo-wrap img,.user-person-photo-wrap .user-photo-placeholder{width:95px;height:115px;object-fit:cover;border-radius:12px;border:1px solid #dde4ec}.user-person-photo-wrap strong{display:block;color:#385648;font-size:11px;margin-top:6px}.user-staff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.user-staff-card{display:grid;grid-template-columns:86px 1fr;gap:13px;padding:14px;border:1px solid #e3e9e6;border-radius:15px;background:#fbfdfc}.user-staff-card img,.user-staff-photo{width:82px;height:98px;object-fit:cover;border-radius:11px;border:1px solid #dde4ec}.user-staff-card h3{margin:5px 0;color:#173b2c;font-size:15px}.user-staff-card p,.user-staff-card small{margin:3px 0;color:#667085}.user-role-badge{display:inline-block;background:#e8f7ee;color:#17643a;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.user-schedule-list{display:grid;gap:10px}.user-date-heading{margin:18px 0 2px;color:#185b3b}.user-match-card{display:grid;grid-template-columns:120px 1fr 160px;gap:16px;align-items:center;border:1px solid #e3e9e6;border-radius:15px;padding:14px;background:#fbfdfc}.user-match-time strong,.user-match-time span{display:block}.user-match-time strong{font-size:20px;color:#173b2c}.user-match-time span{font-size:11px;color:#667085;margin-top:4px}.user-match-main>span{color:#667085;font-size:11px}.user-match-main h3{margin:5px 0;color:#273548;font-size:15px}.user-match-main small{color:#788394}.user-match-score{text-align:right}.user-match-score strong{display:block;margin-top:7px;font-size:18px;color:#173b2c}.user-medal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.user-medal-grid>div{background:white;border:1px solid #edf0f4;border-radius:10px;padding:10px}.user-medal-grid span,.user-medal-grid strong{display:block}.user-medal-grid span{font-size:11px;color:#667085}.user-medal-grid strong{margin-top:4px;color:#273548;font-size:12px}.user-result-note{padding:10px;border-radius:10px;background:#f4f7fb}.user-certificate-grid{display:grid;gap:10px}.user-certificate-card{display:grid;grid-template-columns:50px 1fr auto;gap:13px;align-items:center;padding:14px;border:1px solid #e3e9e6;border-radius:14px;background:#fbfdfc}.user-certificate-card>div{font-size:30px}.user-certificate-card h3{margin:3px 0;color:#173b2c}.user-certificate-card p,.user-certificate-card small{margin:3px 0;color:#667085}.user-password-form{display:grid;gap:13px;max-width:520px}.notice-info{padding:12px 14px;border-radius:12px;background:#eef5ff;color:#28527f;margin-bottom:14px;border:1px solid #dce8f7}.empty-state{padding:30px;text-align:center;color:#7b8798;background:#fafbfd;border:1px dashed #d9e0e8;border-radius:14px}.admin-reset-row td{background:#fafbfd}.admin-reset-row input{min-width:260px}
.user-login-page{background:radial-gradient(circle at top,rgba(44,140,82,.3),transparent 36%),linear-gradient(135deg,#0d3222,#1c6a45)}
@media(max-width:1100px){.user-summary-grid{grid-template-columns:repeat(2,1fr)}.user-match-card{grid-template-columns:100px 1fr}.user-match-score{grid-column:2;text-align:left}.user-staff-grid{grid-template-columns:1fr}}
@media(max-width:820px){.user-sidebar{transform:translateX(-102%);transition:transform .2s}.user-menu-open .user-sidebar{transform:translateX(0)}.user-topbar{left:0;height:66px;padding:0 14px}.user-mobile-toggle{display:block}.user-content{margin-left:0;padding:88px 14px 30px}.user-menu-open .user-backdrop{display:block;position:fixed;inset:0;background:rgba(2,8,23,.55);z-index:110}.user-welcome-card{display:block}.user-registration-state{margin-top:14px}.user-form-grid{grid-template-columns:1fr}.user-profile-edit-layout,.user-edit-person-card{grid-template-columns:1fr}.user-person-photo-wrap{display:flex;align-items:center;gap:10px}.topbar-actions{gap:5px}.topbar-user,.topbar-admin{font-size:11px;padding:8px 9px}}
@media(max-width:560px){.topbar-actions .topbar-admin{display:none}.topbar-user{font-size:11px;padding:8px 9px}.user-summary-grid{grid-template-columns:1fr 1fr}.user-panel{padding:15px}.user-panel-heading{display:block}.user-panel-heading .btn{display:inline-flex;margin-top:10px}.user-registration-card-head{display:block}.user-registration-card-head>.user-status{margin-top:9px}.user-registration-meta,.user-medal-grid{grid-template-columns:1fr}.user-match-card{grid-template-columns:1fr}.user-match-score{grid-column:auto}.user-search{flex-wrap:wrap}.user-search input{flex:1 0 100%}.user-certificate-card{grid-template-columns:42px 1fr}.user-certificate-card .btn{grid-column:1/-1;text-align:center}.user-topbar span{display:none}.admin-reset-row .inline-form{display:grid}.admin-reset-row input{min-width:0;width:100%}}
.registration-closed-panel{padding:28px;border:1px solid #f0d4d4;background:#fff8f8;border-radius:16px;text-align:center}.registration-closed-panel h2{margin:0 0 8px;color:#9a2b2b}.registration-closed-panel p{color:#667085;line-height:1.7}.registration-open-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:14px;margin-bottom:18px}.registration-open-banner strong,.registration-open-banner span{display:block}.registration-open-banner span{font-size:12px}.registration-open-banner.open{background:#eaf8ef;color:#17643a;border:1px solid #d4ecdE}.registration-open-banner.closed{background:#fff2f2;color:#992d2d;border:1px solid #f1d8d8}@media(max-width:600px){.registration-open-banner{display:block}.registration-open-banner span{margin-top:5px}}


.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-user{text-decoration:none;background:#082b68;color:#fff;font-weight:800;padding:10px 14px;border-radius:12px;box-shadow:0 8px 20px rgba(8,43,104,.12)}
.registration-check-card{max-width:980px}.lookup-split{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:start;margin-top:20px}.lookup-option{padding:18px;border:1px solid #e4e9f1;border-radius:16px;background:#f9fbfd}.lookup-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lookup-head strong{color:#082b68;font-size:16px}.lookup-divider{display:grid;place-items:center;align-self:stretch;color:#667085;font-size:13px;font-weight:800}.lookup-form .btn{margin-top:8px}.search-help{margin-top:10px;color:#667085;font-size:12px;line-height:1.6}.registration-search-list{display:grid;gap:14px;margin-top:14px}.registration-search-item{display:flex;gap:16px;align-items:flex-start;padding:16px;border:1px solid #e4e9f1;border-radius:16px;background:#f9fbfd}.registration-search-main{flex:1;min-width:0}.registration-search-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.registration-search-top strong,.registration-search-top span{display:block}.registration-search-top strong{color:#082b68;font-size:17px}.registration-search-top>div>span{color:#667085;font-size:13px;margin-top:3px}.registration-search-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:9px;color:#455468;font-size:13px}.registration-search-athletes{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e6ebf3;color:#455468;font-size:13px;line-height:1.6}.registration-search-actions{margin-top:12px}.registration-search-actions .btn{min-width:220px;text-align:center}
@media (max-width:820px){.topbar-actions{gap:8px}.topbar-user,.topbar-admin{font-size:12px;padding:9px 11px}.lookup-split{grid-template-columns:1fr;gap:12px}.lookup-divider{padding:2px 0}.registration-search-item{display:grid;grid-template-columns:78px 1fr;gap:12px}.registration-search-top{display:grid;gap:8px}}
@media (max-width:560px){.hero-actions{justify-content:center}.hero-actions .btn{width:100%}.service-card strong{font-size:15px}.service-card span{font-size:12px}.topbar-user{display:none}.registration-search-item{grid-template-columns:1fr}.registration-search-item .athlete-summary-photo{width:82px;height:98px}.registration-search-actions .btn{width:100%;min-width:0}}


/* registration search flexible filters */
.lookup-split-wide{grid-template-columns:minmax(280px,.9fr) auto minmax(420px,1.3fr)}
.lookup-grid-advanced{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.lookup-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.registration-login-guard{max-width:760px}.login-guard-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

/* results table layout tuning */
.results-table{table-layout:fixed}.results-table .col-sport{width:11%}.results-table .col-event{width:23%}.results-table .col-medal{width:14%}.results-table .col-award{width:24%}.results-table th,.results-table td{white-space:normal;vertical-align:top;line-height:1.55}.results-table .medal-col{text-align:center}.results-table .event-cell,.results-table .award-cell{word-break:break-word}

@media (max-width:960px){.lookup-split-wide{grid-template-columns:1fr}.lookup-grid-advanced{grid-template-columns:1fr}}
@media (max-width:680px){.lookup-actions,.login-guard-actions{flex-direction:column}.lookup-actions .btn,.login-guard-actions .btn{width:100%}.results-table .col-sport{width:110px}.results-table .col-event{width:180px}.results-table .col-medal{width:150px}.results-table .col-award{width:220px}}



@media (max-width: 820px) {
    .sidebar-logo-frame {
        width: 90px;
        height: 78px;
        border-radius: 16px;
        padding: 6px 7px;
    }
}

/* =========================
   CERTIFICATE SEARCH + BULK
   ========================= */
.certificate-search-card{max-width:980px}.certificate-search-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.certificate-result-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:26px 0 14px}.certificate-result-head h2{margin:4px 0 0;color:#082b68}.certificate-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.certificate-result-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.certificate-result-title h3{margin:7px 0 0;color:#082b68;font-size:20px}.certificate-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.admin-certificate-school-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:900px){.certificate-public-grid{grid-template-columns:1fr}.certificate-result-head{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.certificate-search-actions,.certificate-card-actions{flex-direction:column}.certificate-search-actions .btn,.certificate-card-actions .btn,.certificate-result-head .btn{width:100%;text-align:center}}

/* =========================
   SCHOOL RETURN + ATHLETE PRINTING
   ========================= */
.sidebar-school-return{
    display:flex;
    align-items:center;
    justify-content:center;
    margin:12px 4px 0;
    padding:10px 12px;
    border-radius:12px;
    background:#fff;
    color:#082b68;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.sidebar-school-return:hover{background:#fff8dc;color:#6d5200}

.school-return-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:18px 0;
    padding:16px 18px;
    border:1px solid #cfe4d7;
    border-radius:16px;
    background:linear-gradient(135deg,#effaf3,#ffffff);
    box-shadow:0 8px 22px rgba(25,112,59,.06);
}
.school-return-banner small,.school-return-banner strong,.school-return-banner span{display:block}
.school-return-banner small{color:#19703b;font-size:11px;font-weight:800}
.school-return-banner strong{margin-top:3px;color:#173b2c;font-size:16px}
.school-return-banner span{margin-top:4px;color:#667085;font-size:12px;line-height:1.55}
.school-return-actions{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto}

.admin-panel-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.admin-panel-heading-row h2{margin-bottom:5px}
.admin-panel-heading-row p{margin:0;max-width:980px;line-height:1.7}
.athlete-print-panel{border-color:#cfdcf0;background:linear-gradient(135deg,#fbfdff,#fff)}
.athlete-print-filter{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px 14px;
    margin-top:16px;
}
.athlete-print-filter label{margin:0 0 6px;color:#34445d;font-size:12px}
.athlete-print-buttons{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}

@media(max-width:980px){
    .athlete-print-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .school-return-banner{align-items:flex-start;flex-direction:column}
    .school-return-actions{width:100%}
    .school-return-actions .btn{flex:1 1 220px}
    .athlete-print-filter{grid-template-columns:1fr}
    .athlete-print-buttons{grid-column:auto;flex-direction:column}
    .athlete-print-buttons .btn{width:100%}
}

/* =========================
   HOMEPAGE REFRESH + COLLAPSIBLE PUBLIC SIDEBAR
   ========================= */
:root{--sidebar-collapsed-width:94px}

.sidebar-collapse-toggle{
    width:38px;
    height:38px;
    flex:0 0 auto;
    display:inline-grid;
    place-items:center;
    border:1px solid #dbe4f0;
    border-radius:11px;
    background:#f5f8fd;
    color:#082b68;
    font-size:26px;
    line-height:1;
    cursor:pointer;
    transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.sidebar-collapse-toggle:hover{background:#eaf2ff;border-color:#bdd2f2;transform:translateY(-1px)}

.sidebar,.topbar,.page-content,.site-footer{transition:width .22s ease,left .22s ease,margin-left .22s ease,padding .22s ease}
.sidebar-brand,.menu-item,.sidebar-school-return{transition:all .2s ease}

body.sidebar-collapsed .sidebar{
    width:var(--sidebar-collapsed-width);
    padding:16px 10px;
    overflow-x:hidden;
}
body.sidebar-collapsed .topbar{left:var(--sidebar-collapsed-width)}
body.sidebar-collapsed .page-content,
body.sidebar-collapsed .site-footer{margin-left:var(--sidebar-collapsed-width)}
body.sidebar-collapsed .sidebar-brand{
    padding:2px 0 14px;
    justify-content:center;
    border-bottom-color:rgba(255,255,255,.11);
}
body.sidebar-collapsed .sidebar-brand>div{display:none}
body.sidebar-collapsed .sidebar-logo-frame{
    width:64px;
    height:58px;
    padding:5px;
    border-radius:14px;
}
body.sidebar-collapsed .sidebar-school-return{
    width:58px;
    min-height:42px;
    margin:10px auto 0;
    padding:0;
    font-size:0;
}
body.sidebar-collapsed .sidebar-school-return::before{
    content:'↩';
    font-size:22px;
    line-height:1;
}
body.sidebar-collapsed .sidebar-menu{gap:8px;margin-top:14px}
body.sidebar-collapsed .menu-item{
    width:68px;
    min-height:64px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr;
    place-items:center;
    gap:0;
    padding:7px;
    border-radius:16px;
}
body.sidebar-collapsed .menu-item:hover,
body.sidebar-collapsed .menu-item.active{transform:translateY(-2px)}
body.sidebar-collapsed .menu-item img{width:48px;height:48px}
body.sidebar-collapsed .menu-item>div,
body.sidebar-collapsed .menu-toggle .chevron,
body.sidebar-collapsed .submenu,
body.sidebar-collapsed .sidebar-footer{display:none!important}
body.sidebar-collapsed .menu-group{gap:0}

.hero-visual{
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
    box-shadow:0 12px 34px rgba(8,43,104,.12);
}
.hero-action-bar{
    background:linear-gradient(180deg,#eef3fa 0%,#f5f7fb 100%);
    border:0;
    box-shadow:none;
    padding:22px 0 0;
}
.hero-action-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:22px 24px;
    border-radius:24px;
    background:
        radial-gradient(circle at 88% 10%,rgba(255,214,90,.20),transparent 30%),
        linear-gradient(135deg,#061a3d 0%,#0a3477 58%,#0d4fb8 100%);
    box-shadow:0 18px 42px rgba(8,43,104,.18);
    color:white;
}
.hero-action-copy{display:flex;align-items:center;gap:16px;min-width:0}
.hero-action-copy>div{min-width:0}
.hero-action-copy strong{display:block;font-size:18px;line-height:1.35}
.hero-action-copy>div>span{display:block;margin-top:5px;color:#cbdcff;font-size:12px;line-height:1.55}
.home-status-pill{
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
    padding:8px 11px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}
.home-status-pill i{width:8px;height:8px;border-radius:50%}
.home-status-pill.is-open{background:rgba(82,211,143,.16);color:#baf3d2;border:1px solid rgba(116,236,171,.23)}
.home-status-pill.is-open i{background:#45d285;box-shadow:0 0 0 5px rgba(69,210,133,.12)}
.home-status-pill.is-closed{background:rgba(255,118,118,.14);color:#ffd1d1;border:1px solid rgba(255,142,142,.20)}
.home-status-pill.is-closed i{background:#ff7272;box-shadow:0 0 0 5px rgba(255,114,114,.11)}
.hero-action-wrap .hero-actions{flex:0 0 auto;justify-content:flex-end}
.hero-action-wrap .btn{min-height:44px;padding-left:18px;padding-right:18px}

.home-stat-section{padding:18px 0 2px;background:#f5f7fb}
.home-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-stat-card{
    position:relative;
    overflow:hidden;
    min-height:116px;
    padding:18px 19px;
    border:1px solid #e2e8f2;
    border-radius:19px;
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 26px rgba(15,23,42,.055);
}
.home-stat-card::after{
    content:'';
    position:absolute;
    right:-26px;
    bottom:-38px;
    width:100px;
    height:100px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(13,79,184,.10),rgba(244,181,29,.13));
}
.home-stat-card span,.home-stat-card strong,.home-stat-card small{position:relative;z-index:1}
.home-stat-card span{display:block;color:#667085;font-size:12px;font-weight:700}
.home-stat-card strong{display:inline-block;margin-top:7px;color:#082b68;font-size:32px;line-height:1}
.home-stat-card small{margin-left:5px;color:#7c8798;font-size:11px}

.home-service-section{padding-top:38px}
.home-service-section .section-heading{margin-bottom:24px}
.section-lead{margin:9px 0 0;color:#667085;font-size:13px;line-height:1.7;max-width:690px}
.home-service-section .service-card{
    position:relative;
    overflow:hidden;
    min-height:218px;
    border-color:#e2e8f2;
    box-shadow:0 12px 32px rgba(15,23,42,.055);
}
.home-service-section .service-card::before{
    content:'';
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,#0d4fb8,#f4b51d);
    opacity:0;
    transition:opacity .2s ease;
}
.home-service-section .service-card:hover::before{opacity:1}
.home-service-section .service-card img{
    padding:7px;
    border-radius:20px;
    background:linear-gradient(145deg,#f9fbff,#eef4ff);
    box-shadow:inset 0 0 0 1px #e4ebf6,0 8px 20px rgba(13,79,184,.08);
}
.home-service-section .service-card strong{margin-top:1px;font-size:18px}

.live-score-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 10% 0%,rgba(46,123,231,.28),transparent 34%),
        radial-gradient(circle at 90% 100%,rgba(244,181,29,.13),transparent 28%),
        linear-gradient(180deg,#061a3d 0%,#082b68 100%);
}
.live-score-section::before{
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:34px 34px;
}
.live-score-section>.container{position:relative;z-index:1}

@media(max-width:1050px){
    .hero-action-wrap{align-items:flex-start;flex-direction:column}
    .hero-action-wrap .hero-actions{width:100%;justify-content:flex-start}
    .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:820px){
    .sidebar-collapse-toggle{display:none}
    body.sidebar-collapsed .sidebar{width:286px;padding:20px 16px 16px}
    body.sidebar-collapsed .topbar{left:0}
    body.sidebar-collapsed .page-content,
    body.sidebar-collapsed .site-footer{margin-left:0}
    .hero-action-bar{padding-top:14px}
    .hero-action-wrap{border-radius:18px;padding:18px}
    .hero-action-copy{align-items:flex-start;flex-direction:column;gap:10px}
    .hero-action-wrap .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
    .hero-action-wrap .hero-actions .btn:first-child{grid-column:1/-1}
}

@media(max-width:560px){
    .hero-action-wrap .hero-actions{grid-template-columns:1fr}
    .hero-action-wrap .hero-actions .btn:first-child{grid-column:auto}
    .home-stat-grid{grid-template-columns:1fr 1fr;gap:9px}
    .home-stat-card{min-height:100px;padding:14px}
    .home-stat-card strong{font-size:27px}
    .home-service-section{padding-top:30px}
    .home-service-section .service-card{min-height:184px}
}

/* =========================
   ADMIN SPORTS GROUPED VIEW
   ========================= */
.admin-sport-layout{
    display:grid;
    grid-template-columns:minmax(330px, .72fr) minmax(580px, 1.28fr);
    gap:20px;
    align-items:start;
}
.admin-sport-form-panel{
    position:sticky;
    top:90px;
}
.admin-panel-heading-line{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
}
.admin-panel-heading-line h2{margin:3px 0 0}
.admin-sport-form{display:grid;gap:0}
.admin-sport-form label{margin-top:13px}
.admin-sport-form .field-help{
    display:block;
    margin-top:6px;
    color:#7a8596;
    font-size:11px;
    line-height:1.5;
}
.admin-sport-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.sport-list-heading{align-items:flex-end}
.sport-list-heading p{margin:6px 0 0}
.sport-total-chip{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    padding:7px 11px;
    border-radius:999px;
    background:#eef5ff;
    color:#0d4fb8;
    font-size:11px;
    font-weight:800;
}
.admin-sport-groups{display:grid;gap:12px}
.admin-sport-group{
    border:1px solid #dfe6ef;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 5px 16px rgba(15,23,42,.035);
}
.admin-sport-group>summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 17px;
    background:linear-gradient(135deg,#f7fbff,#fffdf6);
    user-select:none;
}
.admin-sport-group>summary::-webkit-details-marker{display:none}
.sport-group-title{display:flex;align-items:center;gap:12px;min-width:0}
.sport-group-icon{
    width:64px;
    height:64px;
    flex:0 0 64px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.sport-group-icon-image{
    display:block;
    width:64px;
    height:64px;
    object-fit:contain;
    filter:drop-shadow(0 10px 18px rgba(15,23,42,.14));
}
.sport-group-title strong,.sport-group-title span{display:block}
.sport-group-title strong{color:#082b68;font-size:17px;overflow-wrap:anywhere}
.sport-group-title span{color:#728095;font-size:11px;margin-top:3px}
.sport-group-chevron{font-size:21px;color:#0d4fb8;transition:transform .18s ease}
.admin-sport-group[open] .sport-group-chevron{transform:rotate(180deg)}
.sport-group-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    flex-wrap:wrap;
    padding:10px 13px;
    background:#f7f9fc;
    border-top:1px solid #edf0f4;
    border-bottom:1px solid #edf0f4;
}
.sport-add-action{background:#eaf7ef!important;color:#17643a!important}

.sport-group-title strong{letter-spacing:.01em}
.sport-group-toolbar{justify-content:flex-start}
.sport-add-action{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:9px 14px;box-shadow:0 6px 16px rgba(23,100,58,.08)}
.sport-add-action::before{content:"＋";font-weight:800;line-height:1}
.sport-group-list{display:grid}
.sport-manage-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:14px 15px;
    border-bottom:1px solid #edf0f4;
}
.sport-manage-row:last-child{border-bottom:0}
.sport-manage-row.is-disabled{background:#fbfbfc;opacity:.72}
.sport-manage-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sport-manage-title-line>strong{color:#26354d;font-size:14px}
.sport-manage-meta{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:7px}
.sport-manage-meta span{color:#687487;font-size:11px}
.sport-manage-meta b{color:#455468}
.sport-manage-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sport-manage-actions form{margin:0}

@media(max-width:1100px){
    .admin-sport-layout{grid-template-columns:1fr}
    .admin-sport-form-panel{position:static}
}
@media(max-width:650px){
    .admin-panel-heading-line,.sport-list-heading{display:grid;align-items:start}
    .sport-total-chip{justify-self:start}
    .sport-manage-row{grid-template-columns:1fr}
    .sport-manage-actions{justify-content:flex-start}
    .sport-group-toolbar{align-items:stretch;flex-direction:column}
    .sport-group-toolbar .small-action,.sport-group-toolbar form,.sport-group-toolbar button{width:100%}
    .sport-group-toolbar button{text-align:center}
}

/* =========================
   CENTRAL REGISTRATION SETTINGS
   ========================= */
.settings-grid{display:grid;gap:18px}.settings-general-panel{max-width:760px}.setting-toggle-card{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px;border-radius:16px;margin:14px 0 18px;border:1px solid #e2e8f0}.setting-toggle-card.is-on{background:#f0fbf4;border-color:#ccebd8}.setting-toggle-card.is-off{background:#fff7f7;border-color:#f1d2d2}.setting-toggle-card strong{display:block;color:#082b68;font-size:16px}.setting-toggle-card p{margin:5px 0 0;color:#667085;font-size:12px;line-height:1.6}.switch-control{position:relative;display:inline-block;width:58px;height:32px;margin:0}.switch-control input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:999px;transition:.2s}.switch-slider:before{content:"";position:absolute;width:24px;height:24px;left:4px;top:4px;border-radius:50%;background:white;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.2s}.switch-control input:checked+.switch-slider{background:#1c8a4a}.switch-control input:checked+.switch-slider:before{transform:translateX(26px)}
.settings-sport-heading{align-items:flex-end}.settings-all-actions,.settings-group-actions{display:flex;gap:7px;flex-wrap:wrap}.settings-all-actions form,.settings-group-actions form{margin:0}.settings-open-all,.settings-open-item{background:#e8f7ee!important;color:#17643a!important}.settings-sport-groups{display:grid;gap:12px}.settings-sport-group{border:1px solid #dfe6ef;border-radius:16px;background:#fff;overflow:hidden}.settings-sport-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:linear-gradient(135deg,#f7fbff,#fff);user-select:none}.settings-sport-group>summary::-webkit-details-marker{display:none}.settings-sport-group>summary strong,.settings-sport-group>summary span{display:block}.settings-sport-group>summary strong{color:#082b68;font-size:16px}.settings-sport-group>summary span{color:#728095;font-size:11px;margin-top:3px}.settings-sport-list{display:grid}.settings-sport-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid #edf0f4}.settings-sport-row strong,.settings-sport-row span{display:block}.settings-sport-row strong{color:#26354d;font-size:13px}.settings-sport-row span{color:#728095;font-size:11px;margin-top:4px}.sport-status-form{margin:0}.sport-status-moved{margin:14px 0 2px}.sport-status-moved a{font-weight:800;color:#0d4fb8}
@media(max-width:720px){.setting-toggle-card{grid-template-columns:1fr}.settings-sport-heading,.settings-sport-group>summary{display:grid;align-items:start}.settings-all-actions,.settings-group-actions{justify-content:flex-start}.settings-sport-row{grid-template-columns:1fr}.sport-status-form .small-action{width:100%}}

/* =========================
   ADMIN SPORTS MODAL FORM
   ========================= */
.admin-sport-layout.admin-sport-layout-single{
    display:block;
}
.admin-sport-layout-single .admin-sport-list-panel{
    width:100%;
    margin:0;
}
.sport-list-heading-main{
    align-items:center;
}
.sport-list-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.sport-main-add{
    min-height:42px;
    padding:10px 16px;
    box-shadow:0 10px 22px rgba(8,43,104,.16);
}
.sport-status-moved-inline{
    margin:0 0 16px;
}
.sport-status-moved-inline a,
.sport-status-moved a{
    color:inherit;
    font-weight:800;
}

body.sport-modal-open{
    overflow:hidden;
}
.sport-modal{
    position:fixed;
    inset:0;
    z-index:300;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(4,18,43,.58);
    backdrop-filter:blur(5px);
}
.sport-modal.open{
    display:flex;
}
.sport-modal-dialog{
    width:min(820px,100%);
    max-height:calc(100vh - 48px);
    overflow:auto;
    border-radius:24px;
    background:#fff;
    border:1px solid #e1e7f0;
    box-shadow:0 28px 85px rgba(4,18,43,.30);
    animation:sportModalIn .18s ease-out;
}
@keyframes sportModalIn{
    from{opacity:0;transform:translateY(12px) scale(.985)}
    to{opacity:1;transform:none}
}
.sport-modal-header{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 22px 16px;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #e7ebf1;
    backdrop-filter:blur(8px);
}
.sport-modal-header h2{
    margin:4px 0 0;
    color:#082b68;
}
.sport-modal-close{
    width:42px;
    height:42px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border:0;
    border-radius:12px;
    background:#eef3fa;
    color:#40516a;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}
.sport-modal-close:hover{
    background:#e3ebf7;
    color:#082b68;
}
.sport-modal-form{
    padding:4px 22px 22px;
}
.sport-modal-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
}
.sport-modal-field{
    min-width:0;
}
.sport-modal-field-full{
    grid-column:1 / -1;
}
.sport-modal-field label{
    margin-top:14px;
}
.sport-modal-field input,
.sport-modal-field select{
    background:#fff;
}
.sport-modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #edf0f4;
}

@media(max-width:760px){
    .sport-list-heading-main{
        display:grid;
        align-items:start;
    }
    .sport-list-heading-actions{
        justify-content:flex-start;
    }
    .sport-main-add{
        width:100%;
    }
    .sport-modal{
        align-items:flex-end;
        padding:0;
    }
    .sport-modal-dialog{
        width:100%;
        max-height:92vh;
        border-radius:22px 22px 0 0;
    }
    .sport-modal-header{
        padding:16px 16px 13px;
    }
    .sport-modal-form{
        padding:2px 16px 18px;
    }
    .sport-modal-grid{
        grid-template-columns:1fr;
    }
    .sport-modal-field-full{
        grid-column:auto;
    }
    .sport-modal-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .sport-modal-actions .btn{
        width:100%;
    }
}

/* =========================
   HOMEPAGE BANNER CAROUSEL + NEWS MEDIA
   ========================= */
.hero-carousel{
    position:relative;
    aspect-ratio:16/9;
    background:#061a3d;
    overflow:hidden;
}
.hero-slides{position:absolute;inset:0}
.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .65s ease,visibility .65s ease;
}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide>a{display:block;width:100%;height:100%}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-carousel-arrow{
    position:absolute;
    top:50%;
    z-index:4;
    width:44px;
    height:54px;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.34);
    border-radius:14px;
    background:rgba(6,26,61,.62);
    color:white;
    font-size:34px;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(8px);
    box-shadow:0 8px 22px rgba(0,0,0,.15);
}
.hero-carousel-arrow.prev{left:16px}.hero-carousel-arrow.next{right:16px}
.hero-carousel-arrow:hover{background:rgba(6,26,61,.84)}
.hero-carousel-dots{
    position:absolute;
    left:50%;
    bottom:14px;
    z-index:4;
    transform:translateX(-50%);
    display:flex;
    gap:7px;
    padding:7px 9px;
    border-radius:999px;
    background:rgba(6,26,61,.42);
    backdrop-filter:blur(8px);
}
.hero-carousel-dots button{
    width:9px;
    height:9px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.62);
    cursor:pointer;
    transition:width .2s ease,background .2s ease;
}
.hero-carousel-dots button.is-active{width:25px;background:#ffd65a}

.news-card.has-image{padding:0;overflow:hidden}
.news-card-image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#eef3fa}
.news-card-body{padding:22px}
.news-card:not(.has-image) .news-card-body{padding:0}
.public-news-list{display:grid;gap:18px}
.public-news-card{
    display:grid;
    grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:white;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.public-news-card:not(:has(.public-news-image)){grid-template-columns:1fr}
.public-news-image{width:100%;height:100%;min-height:250px;object-fit:cover;background:#eef3fa}
.public-news-body{padding:26px}
.public-news-body h2{margin:12px 0 10px;color:var(--navy)}
.public-news-body p{margin:0 0 16px;color:#455468;line-height:1.8}

/* =========================
   ADMIN ANNOUNCEMENTS + BANNERS
   ========================= */
.admin-news-image-preview,.admin-banner-preview{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:14px;
    border:1px solid #dfe6ef;
    margin:8px 0 10px;
    background:#eef3fa;
}
.admin-news-list,.admin-banner-list{display:grid;gap:12px}
.admin-news-row{
    display:grid;
    grid-template-columns:105px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    padding:12px;
    border:1px solid #e3e8f0;
    border-radius:14px;
    background:#fbfcfe;
}
.admin-news-row>img,.admin-news-placeholder{
    width:105px;
    height:70px;
    border-radius:11px;
    object-fit:cover;
    background:#eef3fa;
}
.admin-news-placeholder{display:grid;place-items:center;font-size:26px}
.admin-news-main{min-width:0}
.admin-news-title-line{display:flex;align-items:center;gap:8px;justify-content:space-between}
.admin-news-title-line strong{color:#082b68;overflow-wrap:anywhere}
.admin-news-main p{margin:6px 0;color:#667085;font-size:12px;line-height:1.55}
.admin-news-main small{color:#8a95a5}
.banner-size-guide{
    display:grid;
    gap:5px;
    margin:12px 0 16px;
    padding:13px 14px;
    border:1px solid #d6e4f7;
    border-radius:13px;
    background:linear-gradient(135deg,#f3f8ff,#fffbea);
}
.banner-size-guide strong{color:#082b68}.banner-size-guide span{color:#667085;font-size:12px;line-height:1.6}
.admin-banner-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-banner-card{
    display:grid;
    gap:10px;
    padding:10px;
    border:1px solid #e3e8f0;
    border-radius:15px;
    background:#fbfcfe;
}
.admin-banner-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:11px;background:#eef3fa}
.admin-banner-card small{color:#667085}
.admin-banner-card .action-cell{justify-content:flex-start}

/* =========================
   ADMIN LIVE SCORE PAGE
   ========================= */
.admin-live-filter{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto auto;gap:8px;align-items:center}
.admin-live-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-live-card{
    position:relative;
    overflow:hidden;
    border:1px solid #dfe6ef;
    border-radius:17px;
    background:#fff;
    box-shadow:0 7px 22px rgba(15,23,42,.04);
}
.admin-live-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#e5b72e}
.admin-live-card.live::before{background:#ef4357}.admin-live-card.finished::before{background:#22a06b}
.admin-live-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 16px 10px}
.admin-live-card-head span:first-child{display:block;color:#0d4fb8;font-size:11px;font-weight:800}
.admin-live-card-head strong{display:block;margin-top:4px;color:#26354d;font-size:14px;line-height:1.45}
.admin-live-match-info{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 16px 11px;color:#738095;font-size:11px}
.admin-live-versus{display:grid;grid-template-columns:1fr 36px 1fr;gap:8px;align-items:center;padding:13px 16px;background:#f7f9fc;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;text-align:center}
.admin-live-versus strong{font-size:13px;color:#17345f}.admin-live-versus span{font-size:10px;color:#8b97a8;font-weight:900}
.admin-live-score-form{padding:15px 16px;display:grid;gap:10px}
.admin-live-score-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-live-score-pair input{text-align:center;font-size:22px;font-weight:800;color:#082b68}
.admin-live-score-form label{margin:0;font-size:12px;color:#455468}
.admin-live-score-form textarea{resize:vertical}

@media(max-width:1000px){
    .admin-live-score-grid{grid-template-columns:1fr}
    .admin-banner-list{grid-template-columns:1fr}
}
@media(max-width:820px){
    .hero-carousel{min-height:300px;aspect-ratio:auto}
    .hero-carousel-arrow{width:38px;height:46px;font-size:28px}
    .hero-carousel-arrow.prev{left:8px}.hero-carousel-arrow.next{right:8px}
    .public-news-card{grid-template-columns:1fr}
    .public-news-image{min-height:0;aspect-ratio:16/9}
    .admin-live-filter{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
    .admin-news-row{grid-template-columns:78px minmax(0,1fr)}
    .admin-news-row>img,.admin-news-placeholder{width:78px;height:58px}
    .admin-news-row>.action-cell{grid-column:1/-1;justify-content:flex-start}
    .admin-live-filter{grid-template-columns:1fr}
    .hero-carousel-dots{bottom:8px}
}

/* =========================
   CONTACT SETTINGS
   ========================= */
.contact-placeholder a{
    color:var(--blue);
    font-weight:700;
    text-decoration:none;
}
.contact-placeholder a:hover{text-decoration:underline}
.contact-placeholder span{line-height:1.6}

.admin-contact-panel{max-width:980px}
.admin-contact-form{margin-top:8px}
.admin-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 16px;
}
.admin-contact-grid .full{grid-column:1/-1}
.admin-contact-grid label{margin-top:0}
.admin-contact-grid textarea{resize:vertical;min-height:92px}
.admin-contact-grid small{display:block;margin-top:5px}
.admin-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media(max-width:720px){
    .admin-contact-grid{grid-template-columns:1fr}
    .admin-contact-grid .full{grid-column:auto}
    .admin-contact-actions .btn{width:100%}
}


/* Generic admin popup forms */
body.admin-modal-open{overflow:hidden}
.admin-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.admin-add-button{min-height:42px;padding:10px 16px;box-shadow:0 10px 22px rgba(8,43,104,.16)}
.admin-list-panel{min-width:0}
.admin-modal{position:fixed;inset:0;z-index:320;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,18,43,.58);backdrop-filter:blur(5px)}
.admin-modal.open{display:flex}
.admin-modal-dialog{width:min(860px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:24px;background:#fff;border:1px solid #e1e7f0;box-shadow:0 28px 85px rgba(4,18,43,.30);animation:adminModalIn .18s ease-out}
@keyframes adminModalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.admin-modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 16px;background:rgba(255,255,255,.97);border-bottom:1px solid #e7ebf1;backdrop-filter:blur(8px)}
.admin-modal-header h2{margin:4px 0 0;color:#082b68}
.admin-modal-close{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:12px;background:#eef3fa;color:#40516a;font-size:28px;line-height:1;cursor:pointer}.admin-modal-close:hover{background:#e3ebf7;color:#082b68}
.admin-modal-form{padding:6px 22px 22px}.admin-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.admin-modal-grid > div{min-width:0}.admin-modal-grid .full{grid-column:1 / -1}.admin-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #edf0f4}
.admin-modal-form .btn{min-height:42px}
@media(max-width:760px){.admin-modal{align-items:flex-end;padding:0}.admin-modal-dialog{width:100%;max-height:92vh;border-radius:22px 22px 0 0}.admin-modal-header{padding:16px 16px 13px}.admin-modal-form{padding:2px 16px 18px}.admin-modal-grid{grid-template-columns:1fr}.admin-modal-grid .full{grid-column:auto}.admin-modal-actions{display:grid;grid-template-columns:1fr}.admin-modal-actions .btn{width:100%}}

/* Admin athlete pagination */
.admin-pagination-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #e8edf4;
}
.admin-pagination-summary{color:#667085;font-size:13px}
.admin-pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.admin-page-btn{
    min-width:38px;
    height:38px;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dbe3ee;
    border-radius:11px;
    background:#fff;
    color:#0b2b68;
    text-decoration:none;
    font-weight:800;
    font-size:13px;
    transition:.16s ease;
}
.admin-page-btn:hover{border-color:#aac1e5;background:#f3f7fd;transform:translateY(-1px)}
.admin-page-btn.active{background:#0b2b68;border-color:#0b2b68;color:#fff;box-shadow:0 7px 16px rgba(11,43,104,.16)}
.admin-page-gap{padding:0 3px;color:#98a2b3;font-weight:700}
@media(max-width:680px){
    .admin-pagination-wrap{align-items:flex-start;flex-direction:column}
    .admin-pagination{width:100%}
    .admin-page-btn{min-width:36px;height:36px;padding:0 10px}
}

/* Admin template editors */
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-form-grid .form-span-2{grid-column:1/-1}
.admin-thumb-preview{margin:8px 0 10px;padding:10px;border:1px solid #e5e9f2;border-radius:14px;background:#f8fbff;min-height:72px;display:flex;align-items:center;justify-content:center}
.admin-thumb-preview img{max-width:100%;max-height:140px;display:block;border-radius:10px}
.admin-certificate-school-links{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:860px){.admin-form-grid{grid-template-columns:1fr}}

/* Result administration + homepage result feed */
.result-auto-event{
    margin:8px 0 16px;
    padding:10px 12px;
    border-radius:12px;
    background:#f4f7fc;
    border:1px solid #e0e7f2;
    color:#53637c;
    font-size:13px;
}
.result-school-medal-grid select{width:100%}
.home-latest-results-section{background:#fff}
.home-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-result-card{border:1px solid #e3e9f3;border-radius:20px;padding:18px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 26px rgba(8,43,104,.06)}
.home-result-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #e8edf5}
.home-result-head strong{display:block;color:#082b68;font-size:18px}
.home-result-head span{display:block;margin-top:4px;color:#6b7890;font-size:13px}
.home-result-head small{white-space:nowrap;color:#7b8799;font-size:11px}
.home-result-medals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.home-result-medals>div{padding:10px;border-radius:13px;background:#fff;border:1px solid #edf0f5;min-width:0}
.home-result-medals span{display:block;color:#778399;font-size:11px;margin-bottom:5px}
.home-result-medals strong{display:block;color:#172c50;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:850px){.home-result-grid{grid-template-columns:1fr}}
@media(max-width:520px){.home-result-medals{grid-template-columns:1fr}.home-result-head{display:block}.home-result-head small{display:block;margin-top:8px}}

/* Registration member accordion */
.athlete-member-card{overflow:hidden}
.athlete-member-head{margin-bottom:0;gap:12px}
.athlete-member-head>div:first-child{min-width:0}
.member-summary{display:block;margin-top:3px;color:#728095;font-size:11px}
.member-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.member-toggle,.member-remove{border:0;border-radius:10px;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.member-toggle{background:#eef4fd;color:#0d4fb8}
.member-remove{background:#fff0f0;color:#b42318}
.athlete-member-body{margin-top:12px;max-height:1600px;opacity:1;overflow:visible;transition:max-height .22s ease,opacity .16s ease,margin .16s ease}
.athlete-member-card.is-collapsed .athlete-member-body{max-height:0;opacity:0;overflow:hidden;margin-top:0}
.athlete-member-card.is-collapsed{background:#f9fbfe}

/* Registration success modal */
.registration-success-modal{position:fixed;inset:0;z-index:600;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(5,20,48,.58);backdrop-filter:blur(6px)}
.registration-success-modal.is-open{display:flex}
.registration-success-card{width:min(430px,100%);background:#fff;border-radius:24px;padding:28px;text-align:center;box-shadow:0 30px 90px rgba(5,20,48,.32)}
.registration-success-icon{width:70px;height:70px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#e8f7ef;color:#167a45;font-size:34px;font-weight:900}
.registration-success-card h2{margin:0;color:#082b68;font-size:27px}.registration-success-card p{line-height:1.55}
.registration-success-code{margin:16px 0;padding:13px;border-radius:14px;background:#f4f7fb;border:1px solid #e1e7f0}.registration-success-code span,.registration-success-code strong{display:block}.registration-success-code span{font-size:12px;color:#728095}.registration-success-code strong{margin-top:4px;color:#082b68;overflow-wrap:anywhere}
.registration-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.registration-success-actions .btn{width:100%;min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.registration-success-actions .btn-soft{background:#eef4ff;color:#0d4fb8;border:1px solid #d8e5fb}
@media(max-width:480px){.registration-success-actions{grid-template-columns:1fr}.registration-success-card{width:min(390px,100%)}}

/* User ID cards grouped by sport/team */
.id-card-sport-groups{display:grid;gap:18px;margin-top:18px}
.id-card-sport-group{border:1px solid #e2e8f1;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(15,43,91,.05)}
.id-card-sport-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;background:linear-gradient(180deg,#f8fbff 0%,#f3f8ff 100%);border-bottom:1px solid #e7edf5}
.id-card-sport-heading-main{display:flex;flex-direction:column;gap:2px}
.id-card-sport-heading small,.id-card-sport-heading span{display:block;color:#708097}
.id-card-sport-heading h3{margin:2px 0;color:#082b68;font-size:28px;line-height:1.25}
.id-card-sport-heading>b{padding:8px 12px;border-radius:999px;background:#edf4ff;color:#0d4fb8;font-size:12px;white-space:nowrap}
.id-card-team-list{padding:14px;display:grid;gap:12px}
.id-card-team-card{border:1px solid #dfe7f2;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(15,43,91,.04)}
.id-card-team-card:last-child{margin-bottom:0}
.id-card-team-card>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;background:#fff}
.id-card-team-card>summary::-webkit-details-marker{display:none}
.id-card-team-summary-main{display:flex;flex-direction:column;gap:8px;min-width:0}
.id-card-team-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:7px 12px;border-radius:999px;background:#103a84;color:#fff;font-weight:800;font-size:13px}
.id-card-team-meta{display:flex;flex-wrap:wrap;gap:8px}
.id-card-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef4ff;color:#0d4fb8;font-size:12px;font-weight:700}
.id-card-chip.soft{background:#f3f5f8;color:#596a84}
.id-card-team-code{font-size:12px;color:#6d7e97;word-break:break-word}
.id-card-team-actions{display:flex;align-items:center;justify-content:flex-end}
.id-card-team-actions .btn{min-height:40px;padding:10px 14px;font-size:12px;white-space:nowrap}
.id-card-team-chevron{color:#0d4fb8;font-size:19px;transition:transform .15s}
.id-card-team-card[open] .id-card-team-chevron{transform:rotate(180deg)}
.id-card-team-members{border-top:1px solid #e8edf4;background:#fafcff;padding:12px;display:grid;gap:10px}
.id-card-member-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e8edf4;border-radius:14px;background:#fff}
.id-card-member-icon{width:36px;height:36px;border-radius:10px;background:#eef4fd;display:grid;place-items:center;font-size:18px}
.id-card-member-main small,.id-card-member-main strong{display:block}
.id-card-member-main small{color:#6c7a90;font-size:11px}
.id-card-member-main strong{margin-top:2px;color:#102d64;font-size:15px;line-height:1.35;word-break:break-word}
.id-card-member-actions{display:flex;align-items:center;justify-content:flex-end}
@media(max-width:720px){
  .id-card-sport-heading{align-items:flex-start;flex-direction:column}
  .id-card-sport-heading h3{font-size:22px}
  .id-card-team-card>summary{grid-template-columns:1fr auto}
  .id-card-team-actions{grid-column:1/-1;justify-content:stretch}
  .id-card-team-actions .btn{width:100%}
  .id-card-member-row{grid-template-columns:36px 1fr}
  .id-card-member-actions{grid-column:2;justify-content:flex-start}
}

/* Registration member accordion hard-hide fix */
.athlete-member-body[hidden]{display:none!important}
.athlete-member-card.is-collapsed .athlete-member-body{display:none!important}
.athlete-member-head{cursor:pointer}
.member-head-actions button{cursor:pointer}

/* =====================================================
   Registration compact layout + athlete/staff accordions
   ===================================================== */
.registration-form-card.registration-form-compact{
    max-width:820px;
    padding:20px;
    margin:24px auto;
}
.registration-form-compact>h1{font-size:28px;margin:7px 0 8px}
.registration-form-compact>.muted{font-size:13px;line-height:1.55}
.registration-form-compact .registration-guidance{margin:16px 0 6px;padding:14px;border-radius:15px}
.registration-form-compact .registration-guidance-head{margin-bottom:10px}
.registration-form-compact .participant-code-grid{gap:6px}
.registration-form-compact .participant-code-grid>div{min-height:46px;padding:8px 10px}
.registration-form-compact .registration-block{margin-top:16px;padding:16px;border-radius:15px}
.registration-form-compact .registration-block-title{margin-bottom:13px;gap:9px}
.registration-form-compact .registration-block-title>span{width:31px;height:31px;border-radius:9px;font-size:13px}
.registration-form-compact .registration-block-title strong{font-size:16px}
.registration-form-compact .registration-block-title small{font-size:11px}
.registration-form-compact .registration-grid{gap:11px 12px}
.registration-form-compact .registration-field label{font-size:13px;margin-bottom:5px}
.registration-form-compact .registration-field small{font-size:11px;line-height:1.45}
.registration-form-compact input,
.registration-form-compact select,
.registration-form-compact textarea{padding:9px 11px;border-radius:9px;min-height:42px}
.registration-form-compact textarea{min-height:86px}
.registration-form-compact .athlete-member-card,
.registration-form-compact .staff-registration-card{margin-bottom:10px;border-radius:13px}

/* Athlete heading: deliberate space between name and instruction */
.athlete-member-head>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.athlete-member-head .member-title{display:inline-block;margin:0}
.athlete-member-head .member-summary{display:inline-block;margin:0;color:#718096;font-size:11px;line-height:1.4}

/* Staff accordion: all three roles are collapsed on first load */
.staff-registration-list{display:grid;gap:10px}
.staff-registration-card{overflow:hidden;border:1px solid #dfe6ef;background:#fff;padding:0!important}
.staff-registration-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;cursor:pointer}
.staff-registration-title{min-width:0}
.staff-registration-title strong{display:block;color:#082b68;font-size:15px}
.staff-registration-title span{display:block;margin-top:3px;color:#728095;font-size:11px;line-height:1.45}
.staff-toggle{flex:0 0 auto;border:0;border-radius:10px;padding:8px 11px;background:#eef4fd;color:#0d4fb8;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.staff-registration-body{padding:0 14px 14px}
.staff-registration-body[hidden],
.staff-registration-card.is-collapsed .staff-registration-body{display:none!important}
.staff-registration-card.is-collapsed{background:#f9fbfe}

/* =====================================================
   Mobile hardening: iOS + Android, public/admin/user pages
   ===================================================== */
html,body{max-width:100%;overflow-x:hidden}
input,select,textarea,button{max-width:100%}
.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}
img,video,canvas,svg{height:auto}

@media(max-width:820px){
    body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
    .topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
    .sidebar{padding-left:max(14px,env(safe-area-inset-left));padding-bottom:max(16px,env(safe-area-inset-bottom))}
    .page-content,.admin-content,.user-content{min-width:0}
    .container{width:min(100% - 24px,1180px)}
    .form-card,.registration-form-card.registration-form-compact{width:100%;max-width:100%;margin:16px auto;padding:15px}
    .registration-form-compact .registration-grid{grid-template-columns:1fr}
    .registration-form-compact .registration-field.full{grid-column:auto}
    .registration-form-compact .registration-block{padding:13px;margin-top:13px}
    .registration-form-compact .participant-code-grid{grid-template-columns:1fr}
    .school-return-banner{align-items:flex-start;flex-direction:column}
    .school-return-actions{width:100%}
    .school-return-actions .btn{width:100%;justify-content:center;text-align:center}
    .registration-actions .btn{flex:1 1 180px;text-align:center;justify-content:center}
    .admin-panel,.user-panel{min-width:0}
    .admin-two-col,.admin-form-grid,.user-form-grid{grid-template-columns:1fr}
    .action-cell{min-width:130px}
    .admin-modal-dialog{max-width:100%}
    .hero-slide img,.hero-visual img{width:100%;object-fit:cover}
}

@media(max-width:600px){
    /* 16px stops Safari from zooming when an input receives focus */
    input,select,textarea{font-size:16px!important}
    button,.btn,.small-action,a.btn{min-height:44px}
    .topbar{gap:8px}
    .topbar-title strong{font-size:14px}
    .topbar-actions{gap:5px}
    .topbar-user,.topbar-admin{font-size:11px;padding:8px 9px}
    .sidebar{width:min(88vw,310px)}
    .sidebar-logo-frame{width:74px;height:68px}
    .menu-item{min-height:60px;grid-template-columns:44px 1fr;padding:8px;border-radius:14px}
    .menu-item img{width:42px;height:42px}
    .section{padding:28px 0}
    .section-heading{gap:12px}
    .section-heading h2,.section-title{font-size:24px}
    .service-grid{grid-template-columns:1fr 1fr}
    .service-card{min-height:150px;padding:12px 8px}
    .service-card img{width:58px;height:58px}
    .registration-form-compact>h1{font-size:23px}
    .registration-form-compact .registration-guidance{padding:12px}
    .registration-form-compact .registration-guidance-head{align-items:flex-start;flex-direction:column;gap:4px}
    .athlete-member-card{padding:11px}
    .athlete-member-head{align-items:flex-start;gap:8px}
    .athlete-member-head>div:first-child{display:block;flex:1}
    .athlete-member-head .member-title{display:block}
    .athlete-member-head .member-summary{display:block;margin-top:5px}
    .member-head-actions{margin-left:auto;justify-content:flex-end}
    .member-toggle,.member-remove,.staff-toggle{min-height:40px;padding:8px 10px}
    .staff-registration-head{padding:12px}
    .staff-registration-body{padding:0 12px 12px}
    .admin-topbar,.user-topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
    .admin-content,.user-content{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom))}
    .admin-panel,.user-panel{padding:14px;border-radius:15px}
    .admin-panel-heading-line,.user-panel-heading{gap:10px}
    .admin-panel-heading-line{align-items:flex-start;flex-direction:column}
    .admin-panel-heading-line .btn,.admin-add-button{width:100%;justify-content:center;text-align:center}
    .admin-search{display:grid;grid-template-columns:1fr}
    .admin-search .btn{width:100%}
    table{font-size:13px}
    th,td{padding:10px 11px}
    .registration-success-modal{padding:12px}
    .registration-success-card{padding:22px 16px;border-radius:20px}
}

@media(max-width:390px){
    .container{width:min(100% - 18px,1180px)}
    .service-grid{grid-template-columns:1fr}
    .registration-form-card.registration-form-compact{padding:12px}
    .registration-form-compact .registration-block{padding:11px}
    .member-head-actions{width:100%;justify-content:flex-start;margin:8px 0 0}
    .athlete-member-head{display:block}
    .staff-registration-head{align-items:flex-start}
    .staff-toggle{font-size:11px}
}

/* Final staff accordion normalization + mobile browser consistency */
.staff-registration-head .staff-registration-title{
    display:block;
    margin:0;
    padding:0;
    border:0;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(13,79,184,.12)}
button,.btn,.menu-item,.small-action{touch-action:manipulation}

/* Registration title spacing: use a real text space so copied/selected text stays readable */
@media(min-width:681px){.athlete-member-head>div:first-child{gap:0!important}.athlete-member-head .member-summary{margin-left:0!important}}

/* Competition committee portal */
.topbar-committee{
    background:linear-gradient(135deg,#f4f1ff 0%,#e7e1ff 100%);
    border-color:#d7cffb;
    color:#5540a8;
    box-shadow:0 8px 20px rgba(85,64,168,.10);
}
.topbar-committee:hover{
    background:linear-gradient(135deg,#ece7ff 0%,#ddd4ff 100%);
    color:#47388e;
    border-color:#cbbfff;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(85,64,168,.14);
}
.topbar-committee:focus-visible{
    outline:3px solid rgba(70,95,156,.18);
    outline-offset:2px;
}
.committee-sidebar{background:linear-gradient(180deg,#09265d 0%,#0b3478 100%)}
.committee-sport-scope{margin:14px 16px 4px;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06);color:#fff}
.committee-sport-scope strong{display:block;font-size:12px;margin-bottom:8px;color:#ffd665}
.committee-sport-scope span{display:block;font-size:11px;line-height:1.45;color:#dbe8ff;margin-top:4px}
.committee-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.committee-action-grid a{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid #dfe7f2;border-radius:18px;background:#f9fbff;text-decoration:none;color:#17345f;transition:.16s ease}
.committee-action-grid a:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(8,43,104,.10);border-color:#b9ccec}
.committee-action-grid strong{font-size:18px;color:#082b68}.committee-action-grid span{font-size:13px;color:#667085;line-height:1.55}
.committee-login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#eef4ff 0,#e7edf7 45%,#dce5f1 100%)}
.committee-login-card{width:min(480px,100%);background:#fff;border:1px solid #dce4f0;border-radius:26px;padding:30px;box-shadow:0 25px 70px rgba(8,43,104,.16)}
.committee-login-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#082b68;margin-bottom:22px}.committee-login-brand img{width:74px;height:74px;object-fit:contain;border-radius:18px;background:#fff;border:1px solid #e2e8f0;padding:6px}.committee-login-brand strong,.committee-login-brand span{display:block}.committee-login-brand strong{font-size:20px}.committee-login-brand span{font-size:12px;color:#728095;margin-top:4px}
.committee-login-card h1{margin:0 0 6px;color:#082b68}.committee-login-card form{display:grid;gap:10px;margin-top:18px}.committee-login-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.committee-login-links a{color:#0d4fb8;text-decoration:none;font-weight:700;font-size:13px}
.committee-small-form{max-width:620px}.committee-sport-picker{padding:14px;border:1px solid #e0e7f1;border-radius:16px;background:#f9fbfe;margin:10px 0 14px}.committee-sport-picker.is-disabled{opacity:.45}.committee-sport-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:10px}.committee-sport-checks label{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #e7ebf2;font-size:13px}
@media(max-width:900px){.topbar-actions{gap:6px}.topbar-committee,.topbar-user,.topbar-admin{font-size:12px;padding:8px 10px}.committee-action-grid{grid-template-columns:1fr}}
@media(max-width:680px){.committee-sport-checks{grid-template-columns:1fr}.committee-login-card{padding:22px;border-radius:20px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.topbar-committee{order:2}}

/* Committee login uses the same sizing/layout as Admin and School User login */
.committee-login-page{
    background:radial-gradient(circle at top,rgba(64,105,180,.30),transparent 36%),linear-gradient(135deg,#071a3e,#174b94);
}

/* School user: athlete list grouped by sport */
.user-sport-athlete-groups{
    display:grid;
    gap:18px;
    margin-top:18px;
}
.user-sport-athlete-group{
    overflow:hidden;
    border:1px solid #dde6f1;
    border-radius:18px;
    background:#fff;
}
.user-sport-athlete-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 18px;
    background:linear-gradient(135deg,#f7faff 0%,#eef5ff 100%);
    border-bottom:1px solid #e3eaf3;
}
.user-sport-athlete-heading h3{
    margin:2px 0 0;
    color:#082b68;
    font-size:20px;
}
.user-sport-athlete-kicker{
    display:block;
    color:#667085;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
}
.user-sport-athlete-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:34px;
    padding:6px 11px;
    border-radius:999px;
    background:#0d4fb8;
    color:#fff;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
.user-sport-athlete-group .table-wrap{
    margin:0;
    border:0;
    border-radius:0;
}
.user-sport-athlete-table{
    margin:0;
}
.user-athlete-entry-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.user-athlete-entry-list span{
    display:inline-flex;
    padding:5px 8px;
    border:1px solid #e1e8f2;
    border-radius:9px;
    background:#f8fafc;
    color:#455468;
    font-size:12px;
    line-height:1.35;
}
@media(max-width:680px){
    .user-sport-athlete-heading{padding:13px 14px}
    .user-sport-athlete-heading h3{font-size:17px}
    .user-sport-athlete-count{min-width:52px;min-height:30px;padding:5px 9px}
    .user-sport-athlete-table{min-width:780px}
}

/* Admin registration bulk approval toolbar */
.admin-registration-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.admin-registration-toolbar .admin-filter-links{margin:0;display:flex;align-items:center;gap:8px;padding:5px;border:1px solid #dfe7f2;border-radius:15px;background:#f4f7fb;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);max-width:100%;overflow-x:auto;scrollbar-width:thin}
.admin-filter-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 13px;border-radius:11px;color:#42526a;text-decoration:none!important;font-size:13px;font-weight:800;white-space:nowrap;border:1px solid transparent;transition:.16s ease}
.admin-filter-links a:hover{background:#fff;color:#0d4fb8;border-color:#dbe5f3}
.admin-filter-links a.active{background:#0b397f;color:#fff;border-color:#0b397f;box-shadow:0 6px 16px rgba(11,57,127,.18)}
.admin-filter-links a b{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#e8eef7;color:#50617a;font-size:11px;line-height:1}
.admin-filter-links a.active b{background:rgba(255,255,255,.18);color:#fff}
.admin-registration-toolbar form{margin:0}
@media(max-width:780px){.admin-registration-toolbar{align-items:stretch}.admin-registration-toolbar .admin-filter-links{width:100%;justify-content:flex-start}.admin-registration-toolbar form,.admin-registration-toolbar form .btn{width:100%}}
@media(max-width:520px){.admin-registration-toolbar .admin-filter-links{gap:5px;padding:4px}.admin-filter-links a{min-height:38px;padding:8px 10px;font-size:12px}.admin-filter-links a b{min-width:21px;height:21px;padding:0 5px}}

/* ID card template designer */
.badge-template-layout{grid-template-columns:minmax(520px,1.15fr) minmax(360px,.85fr)}
.badge-design-controls{margin-top:6px;padding:18px;border:1px solid #dfe7f2;border-radius:16px;background:#f8fbff}
.badge-design-section-head h3{margin:0;color:#082b68;font-size:18px}.badge-design-section-head p{margin:4px 0 0}
.badge-design-sliders{display:grid;gap:12px;margin-top:16px}
.badge-range-row{display:grid!important;gap:7px;margin:0!important}.badge-range-row>span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#31445f}.badge-range-row b{color:#0d4fb8}.badge-range-row input[type=range]{width:100%;padding:0;accent-color:#0d4fb8}
.badge-advanced-settings{margin-top:14px;border-top:1px solid #e0e7f1;padding-top:12px}.badge-advanced-settings>summary{cursor:pointer;color:#0d4fb8;font-weight:800}.badge-font-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:14px}.badge-font-size-grid label{margin:0!important}.badge-font-size-grid label>span{display:block;font-size:12px;color:#526177;margin-bottom:5px}.badge-number-with-unit{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;border:1px solid #d9e1ec;border-radius:10px;background:#fff;overflow:hidden}.badge-number-with-unit input{border:0!important;border-radius:0!important;min-width:0}.badge-number-with-unit em{font-style:normal;text-align:center;color:#748399;font-size:11px}
.badge-position-settings>summary{display:flex;align-items:center;gap:8px}.badge-position-help{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e1e8f2;color:#617089;font-size:12px}.badge-position-help b{color:#0d4fb8}.badge-position-help .small-action{margin-left:auto}.badge-position-section{margin-top:16px}.badge-position-section h4{margin:0 0 9px;color:#0b2f6b;font-size:14px}.badge-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badge-position-card{padding:12px;border:1px solid #dfe7f2;border-radius:13px;background:#fff;min-width:0}.badge-position-card>strong{display:block;color:#18355f;font-size:13px;margin-bottom:9px}.badge-position-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.badge-position-fields label{margin:0!important;min-width:0}.badge-position-fields label>span{display:block;font-size:11px;color:#65748a;margin-bottom:4px}.badge-position-fields .badge-position-align{grid-column:1/-1}.badge-position-fields select{min-height:40px;padding:8px 10px;border-radius:10px}.badge-position-fields .badge-number-with-unit{grid-template-columns:minmax(0,1fr) 34px}.badge-position-fields .badge-number-with-unit input{min-height:40px;padding:8px 9px!important}.badge-position-fields .badge-number-with-unit em{font-size:10px}
.badge-save-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.badge-save-row .muted{font-size:12px;flex:1;min-width:220px}
.badge-preview-panel{position:sticky;top:88px;overflow:hidden}.badge-preview-heading h2{margin-bottom:4px}.badge-preview-heading p{margin-top:0}
.badge-admin-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;justify-items:center;margin-top:14px}.badge-admin-preview-side{display:grid;gap:8px;justify-items:center;min-width:0}.badge-admin-preview-side>strong{color:#536178;font-size:12px}.badge-admin-preview-frame{width:190px;height:285px;overflow:hidden;border-radius:12px;background:#e9eef6;box-shadow:0 8px 22px rgba(9,32,81,.10)}.badge-admin-preview-frame>.id-card{transform:scale(.5);transform-origin:top left;box-shadow:none;border-radius:18px}
.badge-full-panel{grid-column:1/-1}
@media(max-width:1180px){.badge-template-layout{grid-template-columns:1fr}.badge-preview-panel{position:static}.badge-full-panel{grid-column:auto}.badge-admin-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.badge-font-size-grid{grid-template-columns:1fr}.badge-position-grid{grid-template-columns:1fr}.badge-position-help{align-items:flex-start}.badge-position-help .small-action{width:100%;margin-left:0;text-align:center}.badge-admin-preview-grid{grid-template-columns:1fr}.badge-admin-preview-frame{width:171px;height:256px}.badge-admin-preview-frame>.id-card{transform:scale(.45)}}

/* Admin > committee users: keep permission checkboxes aligned and compact */
#committeeUserModal .check-row{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:14px 0 !important;
    padding:11px 13px;
    border:1px solid #e3eaf4;
    border-radius:12px;
    background:#f8fbff;
    line-height:1.35;
    cursor:pointer;
}
#committeeUserModal input[type="checkbox"]{
    appearance:auto;
    -webkit-appearance:checkbox;
    width:18px !important;
    min-width:18px !important;
    max-width:18px !important;
    height:18px !important;
    min-height:18px !important;
    padding:0 !important;
    margin:0 !important;
    border:0;
    border-radius:4px;
    box-shadow:none;
    flex:0 0 18px;
    accent-color:#0d5bd7;
    cursor:pointer;
}
#committeeUserModal .committee-sport-picker{
    margin:12px 0 14px;
    padding:15px;
    border:1px solid #dfe7f2;
    border-radius:16px;
    background:#f8fbff;
}
#committeeUserModal .committee-sport-picker>strong{
    display:block;
    margin:0 0 11px;
    color:#0b2f6b;
    font-size:15px;
}
#committeeUserModal .committee-sport-checks{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 10px;
    margin:0;
    max-height:330px;
    overflow-y:auto;
    padding:2px 4px 2px 2px;
    scrollbar-width:thin;
}
#committeeUserModal .committee-sport-checks label{
    display:grid !important;
    grid-template-columns:18px minmax(0,1fr);
    align-items:center;
    gap:10px;
    min-height:44px;
    margin:0 !important;
    padding:10px 12px;
    border:1px solid #e2e9f2;
    border-radius:12px;
    background:#fff;
    color:#18345e;
    font-size:13px;
    font-weight:700;
    line-height:1.35;
    cursor:pointer;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
#committeeUserModal .committee-sport-checks label:hover{
    border-color:#b9cdf0;
    background:#f7faff;
    box-shadow:0 4px 12px rgba(13,79,184,.06);
}
#committeeUserModal .committee-sport-checks label:has(input:checked){
    border-color:#9fbae9;
    background:#edf4ff;
    color:#0b438f;
}
#committeeUserModal .committee-sport-picker.is-disabled{
    opacity:.55;
}
#committeeUserModal .committee-sport-picker.is-disabled .committee-sport-checks label{
    cursor:not-allowed;
    background:#f4f6f9;
}
@media(max-width:680px){
    #committeeUserModal .committee-sport-checks{
        grid-template-columns:1fr;
        max-height:300px;
    }
    #committeeUserModal .check-row{
        align-items:flex-start !important;
    }
}

/* ===== Easy ID Card Designer (Admin > ID Card only) ===== */
.badge-studio{display:grid;grid-template-columns:minmax(560px,1.08fr) minmax(460px,.92fr);gap:20px;align-items:start}
.badge-studio-editor,.badge-studio-preview{min-width:0}
.badge-studio-titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.badge-studio-titlebar h2,.badge-studio-preview h2{margin:2px 0 4px;color:#082b68}
.badge-studio-titlebar p,.badge-studio-preview p{margin:0}
.badge-studio-tabs{display:flex;gap:7px;padding:5px;margin:0 0 18px;border:1px solid #dde6f2;border-radius:16px;background:#f3f6fb;overflow-x:auto;scrollbar-width:thin}
.badge-studio-tabs button{flex:0 0 auto;min-height:42px;padding:9px 14px;border:1px solid transparent;border-radius:11px;background:transparent;color:#526177;font-weight:800;cursor:pointer;white-space:nowrap}
.badge-studio-tabs button:hover{background:#fff;color:#0d4fb8}
.badge-studio-tabs button.is-active{background:#0b397f;color:#fff;border-color:#0b397f;box-shadow:0 6px 16px rgba(11,57,127,.18)}
.badge-studio-form{display:block}
.badge-editor-panel{display:none;animation:badgePanelIn .16s ease}
.badge-editor-panel.is-active{display:block}
@keyframes badgePanelIn{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.badge-panel-heading{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e7edf5}
.badge-panel-heading h3{margin:0;color:#102e64;font-size:20px}.badge-panel-heading p{margin:4px 0 0;color:#718096;font-size:13px}
.badge-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.badge-editor-grid label{display:block;margin:0!important;min-width:0}.badge-editor-grid label>span,.badge-upload-card>span{display:block;margin-bottom:6px;color:#233b61;font-size:13px;font-weight:800}
.badge-editor-grid .span-2{grid-column:1/-1}.badge-editor-grid small{display:block;margin-top:6px;color:#748399;font-size:11px}
.badge-editor-subcard{margin-top:15px;padding:15px;border:1px solid #e2e9f3;border-radius:16px;background:#f9fbfe}
.badge-editor-subcard h4{margin:0 0 12px;color:#0b397f;font-size:14px}
.badge-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.badge-upload-card{display:grid!important;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;align-items:center;margin:0!important;padding:13px;border:1px solid #dfe7f2;border-radius:15px;background:#f9fbfe;min-width:0}
.badge-upload-card>span{grid-column:1/-1}.badge-upload-card img,.badge-upload-placeholder{grid-row:2/4;width:72px;height:72px;border-radius:12px;border:1px solid #dce5f1;background:#fff;object-fit:contain;padding:5px}
.badge-upload-placeholder{display:grid;place-items:center;color:#92a0b5;font-size:11px;font-weight:900;letter-spacing:.08em}
.badge-upload-card input[type=file]{min-width:0;width:100%;font-size:12px;padding:8px!important;background:#fff}
.badge-upload-card small{font-size:10px;color:#7b899c;margin-top:5px}
.badge-font-master{padding:15px;border:1px solid #dfe7f2;border-radius:15px;background:#f7faff;margin-bottom:14px}
.badge-font-meta-grid{margin-bottom:14px}
.badge-easy-details{border:1px solid #e1e8f2;border-radius:15px;background:#fff;overflow:hidden}
.badge-easy-details>summary{cursor:pointer;padding:14px 16px;color:#0b397f;font-weight:800;background:#f8fbff;list-style:none}.badge-easy-details>summary::-webkit-details-marker{display:none}.badge-easy-details>summary:after{content:'＋';float:right;color:#64748b}.badge-easy-details[open]>summary:after{content:'−'}
.badge-font-size-grid.easy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;margin:0}
.badge-font-slider{display:grid!important;gap:7px;margin:0!important;padding:11px;border:1px solid #e6ebf2;border-radius:12px;background:#fbfcfe}.badge-font-slider>span{display:flex;justify-content:space-between;gap:8px;color:#45566e;font-size:12px}.badge-font-slider b{color:#0d4fb8;font-size:11px;white-space:nowrap}.badge-font-slider input[type=range]{width:100%;padding:0!important;accent-color:#0d4fb8}
.badge-position-easy-layout{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);gap:14px}
.badge-position-targets{display:grid;gap:13px}.badge-position-target-section{display:grid;gap:7px;padding:12px;border:1px solid #e0e7f1;border-radius:15px;background:#f8fbff}.badge-position-target-section>strong{font-size:12px;color:#65748a;margin-bottom:2px}
.badge-position-target{width:100%;min-height:42px;padding:9px 11px;border:1px solid #e0e6ef;border-radius:10px;background:#fff;color:#243b5f;text-align:left;font-weight:700;cursor:pointer;transition:.15s ease}.badge-position-target:hover{border-color:#b9ccef;color:#0d4fb8}.badge-position-target.is-active{border-color:#0d4fb8;background:#edf4ff;color:#0b397f;box-shadow:inset 3px 0 0 #0d4fb8}
.badge-position-controller{position:sticky;top:95px;align-self:start;padding:18px;border:1px solid #dbe5f2;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f4f8fe);text-align:center}.badge-position-selected-kicker{display:block;color:#7a899e;font-size:10px;font-weight:900;letter-spacing:.08em}.badge-position-controller h4{margin:4px 0 10px;color:#0b397f;font-size:17px}.badge-position-readout{display:flex;justify-content:center;gap:8px;margin-bottom:14px}.badge-position-readout span{min-width:86px;padding:7px 9px;border-radius:10px;background:#fff;border:1px solid #dfe6f0;color:#66758a;font-size:11px}.badge-position-readout b{color:#0d4fb8;font-size:13px}
.badge-direction-pad{display:grid;grid-template-columns:52px 72px 52px;grid-template-rows:48px 48px 48px;gap:7px;justify-content:center;grid-template-areas:'. up .' 'left reset right' '. down .';margin:4px auto 15px}.badge-direction-pad button{border:1px solid #cfdaea;border-radius:12px;background:#fff;color:#0b397f;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 4px 10px rgba(8,43,104,.05)}.badge-direction-pad button:hover{background:#edf4ff;border-color:#b5c9e7}.badge-direction-pad .up{grid-area:up}.badge-direction-pad .left{grid-area:left}.badge-direction-pad .right{grid-area:right}.badge-direction-pad .down{grid-area:down}.badge-direction-pad .reset{grid-area:reset;font-size:11px;color:#6b778c}
.badge-step-row,.badge-align-ui{display:grid!important;grid-template-columns:1fr 120px;align-items:center;gap:10px;margin:10px 0 0!important;text-align:left}.badge-step-row>span,.badge-align-ui>span{color:#5c6d84;font-size:12px;font-weight:700}.badge-step-row select,.badge-align-ui select{min-height:40px;padding:7px 9px;border-radius:10px}.badge-reset-all{width:100%;margin-top:14px!important;text-align:center}
.badge-studio-savebar{position:sticky;bottom:12px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:12px 14px;border:1px solid #cfdced;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(8,43,104,.13);backdrop-filter:blur(10px)}.badge-studio-savebar strong,.badge-studio-savebar span{display:block}.badge-studio-savebar strong{color:#18355f;font-size:13px}.badge-studio-savebar span{color:#718096;font-size:10px;margin-top:2px}.badge-studio-savebar .btn{white-space:nowrap}
.badge-studio-preview{position:sticky;top:84px;overflow:hidden}.badge-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.badge-preview-switch{display:flex;gap:5px;padding:4px;border-radius:12px;background:#f0f4f9}.badge-preview-switch button{min-height:36px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:#5f6f86;font-weight:800;cursor:pointer;font-size:11px}.badge-preview-switch button.is-active{background:#0b397f;color:#fff;box-shadow:0 4px 10px rgba(11,57,127,.16)}
.badge-studio-preview .badge-admin-preview-grid{display:grid;grid-template-columns:1fr;justify-items:center;gap:14px;margin-top:18px}.badge-studio-preview .badge-admin-preview-side{display:none;gap:8px;justify-items:center}.badge-studio-preview .mode-front .preview-front,.badge-studio-preview .mode-back .preview-back{display:grid}.badge-studio-preview .mode-both{grid-template-columns:1fr 1fr}.badge-studio-preview .mode-both .badge-admin-preview-side{display:grid}.badge-studio-preview .badge-admin-preview-frame{width:280px;height:420px;overflow:hidden;border-radius:16px;background:#e9eef6;box-shadow:0 12px 30px rgba(9,32,81,.13)}.badge-studio-preview .badge-admin-preview-frame>.id-card{transform:scale(.74);transform-origin:top left;box-shadow:none;border-radius:18px}.badge-studio-preview .mode-both .badge-admin-preview-frame{width:190px;height:285px}.badge-studio-preview .mode-both .badge-admin-preview-frame>.id-card{transform:scale(.5)}.badge-preview-tip{margin-top:14px;padding:10px 12px;border-radius:12px;background:#f7f9fc;color:#69788d;font-size:11px;text-align:center}.badge-preview-highlight{outline:2px dashed #ff9f1a!important;outline-offset:2px;filter:drop-shadow(0 0 4px rgba(255,159,26,.25))}
@media(max-width:1250px){.badge-studio{grid-template-columns:1fr}.badge-studio-preview{position:static}.badge-studio-preview .badge-admin-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-studio-preview .badge-admin-preview-side{display:grid}.badge-preview-switch{display:none}.badge-studio-preview .badge-admin-preview-frame{width:228px;height:342px}.badge-studio-preview .badge-admin-preview-frame>.id-card{transform:scale(.6)}}
@media(max-width:760px){.badge-studio-tabs{position:sticky;top:66px;z-index:20;margin-left:-4px;margin-right:-4px}.badge-editor-grid,.badge-upload-grid,.badge-font-size-grid.easy,.badge-position-easy-layout{grid-template-columns:1fr}.badge-editor-grid .span-2{grid-column:auto}.badge-position-controller{position:static}.badge-studio-savebar{bottom:8px}.badge-studio-savebar>div{display:none}.badge-studio-savebar .btn{width:100%}.badge-studio-preview .badge-admin-preview-grid{grid-template-columns:1fr}.badge-studio-preview .badge-admin-preview-frame{width:228px;height:342px}.badge-studio-preview .badge-admin-preview-frame>.id-card{transform:scale(.6)}}
@media(max-width:420px){.badge-studio-tabs button{padding:8px 10px;font-size:11px}.badge-upload-card{grid-template-columns:58px minmax(0,1fr)}.badge-upload-card img,.badge-upload-placeholder{width:58px;height:58px}.badge-direction-pad{grid-template-columns:48px 68px 48px}.badge-preview-heading{display:block}.badge-studio-preview .badge-admin-preview-frame{width:209px;height:314px}.badge-studio-preview .badge-admin-preview-frame>.id-card{transform:scale(.55)}}

/* ID card direct WYSIWYG editor */
.badge-direct-intro{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:14px;
    padding:11px 13px;
    border:1px solid #cfe0f5;
    border-radius:14px;
    background:#f5f9ff;
    color:#53657d;
    font-size:11px;
    line-height:1.45;
}
.badge-direct-intro strong{color:#0b397f;white-space:nowrap}.badge-direct-intro span{min-width:0}
.badge-direct-toolbar{
    display:grid;
    grid-template-columns:minmax(125px,1.15fr) auto auto minmax(155px,1.4fr);
    gap:9px;
    align-items:end;
    margin-top:10px;
    padding:11px;
    border:1px solid #d9e3f0;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 20px rgba(8,43,104,.07);
}
.badge-direct-selected{align-self:center;min-width:0}.badge-direct-selected small,.badge-direct-selected strong{display:block}.badge-direct-selected small{font-size:9px;color:#7a8799}.badge-direct-selected strong{margin-top:2px;color:#102d64;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge-direct-control{display:grid;gap:5px;min-width:0}.badge-direct-control>span{font-size:9px;color:#6b788b;font-weight:700}.badge-direct-control input[type="color"]{width:42px;height:34px;padding:3px;border:1px solid #ccd7e6;border-radius:9px;background:#fff;cursor:pointer}.badge-direct-size{grid-column:1/-1}.badge-direct-size>span{display:flex;justify-content:space-between;gap:8px}.badge-direct-size input[type="range"]{width:100%;accent-color:#0b4fb3}
.badge-direct-align{grid-column:1/3}.badge-direct-align>div{display:flex;gap:5px}.badge-direct-align button,.badge-direct-nudge-buttons button{min-height:32px;padding:6px 9px;border:1px solid #d3deec;border-radius:9px;background:#f7f9fc;color:#37506f;font-weight:800;cursor:pointer}.badge-direct-align button.is-active{background:#0b397f;color:#fff;border-color:#0b397f}.badge-direct-nudge{grid-column:3/-1}.badge-direct-nudge-buttons{display:flex;gap:5px;flex-wrap:wrap}.badge-direct-nudge-buttons button{min-width:34px}.badge-direct-nudge-buttons #badgeDirectReset{min-width:auto;color:#a13a2b;background:#fff7f5;border-color:#f0d6d0}
.badge-direct-editable{cursor:move;touch-action:none;user-select:none;-webkit-user-select:none;transition:outline-color .12s ease,filter .12s ease}.badge-direct-editable:hover{outline:1px dashed rgba(13,79,184,.45);outline-offset:2px}.badge-direct-selected-target{outline:2px solid #2c78dc!important;outline-offset:3px;filter:drop-shadow(0 0 3px rgba(44,120,220,.22))}.badge-direct-editable.is-dragging{cursor:grabbing;outline-color:#ff9f1a!important;filter:drop-shadow(0 0 4px rgba(255,159,26,.28))}
.badge-studio-preview .badge-admin-preview-frame{width:320px;height:480px}.badge-studio-preview .badge-admin-preview-frame>.id-card{transform:scale(.845)}
.badge-studio-preview .mode-both .badge-admin-preview-frame{width:190px;height:285px}.badge-studio-preview .mode-both .badge-admin-preview-frame>.id-card{transform:scale(.5)}
.badge-color-grid input[type="color"]{width:100%;height:42px;padding:4px;border:1px solid #d3dce8;border-radius:10px;background:#fff;cursor:pointer}
@media(max-width:1250px){
    .badge-direct-toolbar{grid-template-columns:minmax(120px,1fr) auto auto minmax(150px,1.2fr)}
    .badge-studio-preview .badge-admin-preview-frame{width:228px;height:342px}.badge-studio-preview .badge-admin-preview-frame>.id-card{transform:scale(.6)}
}
@media(max-width:760px){
    .badge-direct-intro{display:block}.badge-direct-intro strong{display:block;margin-bottom:3px}
    .badge-direct-toolbar{grid-template-columns:1fr 1fr}
    .badge-direct-selected{grid-column:1/-1}
    .badge-direct-size,.badge-direct-align,.badge-direct-nudge{grid-column:1/-1}
    .badge-direct-align>div,.badge-direct-nudge-buttons{display:grid;grid-template-columns:repeat(3,1fr)}
    .badge-direct-nudge-buttons{grid-template-columns:repeat(5,1fr)}
    .badge-direct-align button,.badge-direct-nudge-buttons button{width:100%;padding:7px 5px}
}
@media(max-width:420px){
    .badge-direct-toolbar{padding:9px;gap:8px}.badge-direct-nudge-buttons{grid-template-columns:repeat(3,1fr)}.badge-direct-nudge-buttons #badgeDirectReset{grid-column:1/-1}
}
.badge-direct-toolbar [hidden]{display:none!important}

/* =====================================================
   Mobile navigation rebuild + portal home return
   iOS / Android hardening
   ===================================================== */
.portal-sidebar-top{
    position:sticky;
    top:-18px;
    z-index:6;
    display:flex;
    align-items:center;
    gap:8px;
    margin:-2px -2px 0;
    padding:2px 2px 10px;
    background:inherit;
}
.portal-home-return{
    flex:1;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:10px 13px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:13px;
    background:rgba(255,255,255,.10);
    color:#fff!important;
    text-decoration:none!important;
    font-weight:800;
    font-size:14px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.portal-home-return:hover{background:rgba(255,255,255,.16)}
.portal-sidebar-close{
    display:none;
    flex:0 0 44px;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:13px;
    background:rgba(255,255,255,.10);
    color:#fff;
    font:inherit;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}
.portal-identity{
    margin:8px 2px 4px;
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:13px;
    background:rgba(0,0,0,.09);
}
.portal-identity span,.portal-identity strong{display:block}
.portal-identity span{font-size:10px;line-height:1.35;color:rgba(255,255,255,.70);font-weight:700}
.portal-identity strong{margin-top:3px;font-size:13px;line-height:1.45;color:#fff;overflow-wrap:anywhere}

/* Schedule actions stay visible instead of forcing a long horizontal scroll. */
.admin-match-table{min-width:860px}
.admin-match-table th.action-head,
.admin-match-table td.action-cell{
    position:sticky;
    right:0;
    z-index:3;
    background:#fff;
    box-shadow:-10px 0 18px -16px rgba(7,35,82,.55);
}
.admin-match-table th.action-head{z-index:4;background:#f8fafc;min-width:118px}
.admin-match-table td.action-cell{min-width:118px;align-content:flex-start}

/* One compact login button on phones; user chooses the account type in a sheet. */
.topbar-login-desktop{display:flex;align-items:center;gap:10px}
.mobile-login-trigger{
    display:none;
    min-height:42px;
    border:0;
    border-radius:12px;
    padding:9px 13px;
    background:#082b68;
    color:#fff;
    font:inherit;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
    cursor:pointer;
    text-decoration:none;
}
.mobile-login-trigger.is-authenticated{background:#0d3f84;box-shadow:0 8px 20px rgba(8,43,104,.14)}
.mobile-login-trigger.is-authenticated:hover{background:#0a3470}
.mobile-login-chooser{display:none}
.mobile-login-backdrop{position:absolute;inset:0;border:0;background:rgba(2,8,23,.58)}
.mobile-login-sheet{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-height:min(78dvh,620px);
    overflow:auto;
    padding:18px max(16px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-bottom));
    border-radius:24px 24px 0 0;
    background:#fff;
    box-shadow:0 -24px 60px rgba(0,0,0,.20);
}
.mobile-login-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.mobile-login-sheet-head strong,.mobile-login-sheet-head span{display:block}
.mobile-login-sheet-head strong{font-size:20px;color:#082b68}
.mobile-login-sheet-head span{margin-top:3px;color:#667085;font-size:12px;line-height:1.45}
.mobile-login-close{width:40px;height:40px;flex:0 0 40px;border:0;border-radius:12px;background:#eef3fa;color:#40536e;font:inherit;font-size:23px;cursor:pointer}
.mobile-login-options{display:grid;gap:10px}
.mobile-login-options>a{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    gap:12px;
    min-height:76px;
    padding:12px 13px;
    border:1px solid #e1e7f0;
    border-radius:16px;
    background:#fff;
    text-decoration:none;
    box-shadow:0 6px 18px rgba(15,43,91,.04);
}
.mobile-login-options>a>b{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eef4ff;font-size:20px}
.mobile-login-options>a strong,.mobile-login-options>a span{display:block}
.mobile-login-options>a strong{font-size:15px;color:#102d64}
.mobile-login-options>a span{margin-top:3px;color:#6b788b;font-size:11px;line-height:1.4}
.mobile-login-options>a.school>b{background:#eaf7ef}
.mobile-login-options>a.committee>b{background:#eef2ff}
.mobile-login-options>a.admin>b{background:#fff3df}
.mobile-login-options>a.is-current{border-color:#9ec1f4;background:#f7fbff;box-shadow:0 0 0 2px rgba(21,91,176,.08),0 8px 22px rgba(15,43,91,.06)}
.mobile-login-options>a.is-current strong{color:#0b4fa7}

@media(max-width:820px){
    html,body{width:100%;max-width:100%;overflow-x:hidden}
    body{padding-left:0!important;padding-right:0!important}
    body.sidebar-open,body.admin-menu-open,body.user-menu-open,body.mobile-login-open{overflow:hidden}

    /* Public top bar / menu */
    .topbar{
        height:calc(var(--topbar-height) + env(safe-area-inset-top));
        padding-top:env(safe-area-inset-top);
    }
    .page-content{padding-top:calc(var(--topbar-height) + env(safe-area-inset-top))!important}

    /* Public menu */
    .sidebar{
        top:0;
        bottom:0;
        height:100vh;
        height:100dvh;
        width:min(90vw,320px)!important;
        padding-top:max(14px,env(safe-area-inset-top));
        padding-right:14px;
        padding-left:max(14px,env(safe-area-inset-left));
        padding-bottom:max(18px,env(safe-area-inset-bottom));
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
    }
    .sidebar-menu{padding-bottom:12px}
    .sidebar-brand{padding-top:2px}
    .sidebar-backdrop{display:none}
    body.sidebar-open .sidebar-backdrop{display:block}

    /* Portal menus */
    .admin-sidebar,.user-sidebar{
        top:0!important;
        bottom:0!important;
        height:100vh!important;
        height:100dvh!important;
        width:min(90vw,320px)!important;
        max-width:320px;
        padding-top:max(14px,env(safe-area-inset-top))!important;
        padding-right:14px!important;
        padding-left:max(14px,env(safe-area-inset-left))!important;
        padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        box-shadow:18px 0 42px rgba(2,8,23,.24);
    }
    .portal-sidebar-top{top:calc(-1 * max(14px,env(safe-area-inset-top)));padding-top:max(14px,env(safe-area-inset-top));margin-top:calc(-1 * max(14px,env(safe-area-inset-top)));}
    .portal-sidebar-close{display:block}
    .portal-identity{margin-top:8px}
    .admin-menu,.user-menu{gap:6px!important;padding:12px 0!important}
    .admin-menu a,.user-menu a{
        min-height:46px;
        display:flex;
        align-items:center;
        padding:10px 12px!important;
        border-radius:12px!important;
        font-size:13px!important;
        line-height:1.35!important;
    }
    .admin-sidebar-bottom,.user-sidebar-bottom{margin-top:8px!important;padding-top:10px!important}
    .admin-sidebar-bottom a,.user-sidebar-bottom a{min-height:44px;display:flex;align-items:center}
    .admin-topbar,.user-topbar{
        left:0!important;
        height:calc(64px + env(safe-area-inset-top))!important;
        padding-top:env(safe-area-inset-top)!important;
        padding-left:max(10px,env(safe-area-inset-left))!important;
        padding-right:max(10px,env(safe-area-inset-right))!important;
        gap:9px!important;
    }
    .admin-topbar>div,.user-topbar>div{min-width:0;overflow:hidden}
    .admin-topbar strong,.user-topbar strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .admin-content,.user-content{
        margin-left:0!important;
        padding-top:calc(82px + env(safe-area-inset-top))!important;
        padding-left:max(10px,env(safe-area-inset-left))!important;
        padding-right:max(10px,env(safe-area-inset-right))!important;
        padding-bottom:max(24px,env(safe-area-inset-bottom))!important;
    }
    .admin-backdrop,.user-backdrop{display:none!important}
    .admin-menu-open .admin-backdrop,.user-menu-open .user-backdrop{
        display:block!important;
        position:fixed;
        inset:0;
        z-index:110;
        background:rgba(2,8,23,.58);
        backdrop-filter:blur(2px);
    }

    /* Mobile login chooser */
    .topbar-login-desktop{display:none!important}
    .mobile-login-trigger{display:inline-flex;align-items:center;justify-content:center}
    .mobile-login-chooser{
        position:fixed;
        inset:0;
        z-index:500;
    }
    body.mobile-login-open .mobile-login-chooser{display:block}
}

@media(max-width:480px){
    .topbar{gap:7px;padding-left:max(9px,env(safe-area-inset-left));padding-right:max(9px,env(safe-area-inset-right))}
    .sidebar-toggle{width:40px;height:40px;flex:0 0 40px}
    .mobile-login-trigger{min-height:40px;padding:8px 10px;font-size:11px}
    .topbar-title strong{font-size:13px}
    .portal-home-return{font-size:13px}
    .admin-panel,.user-panel{padding:13px!important}
    .admin-match-table{min-width:760px}
    .admin-match-table th.action-head,.admin-match-table td.action-cell{min-width:106px}
}
.admin-sidebar .portal-sidebar-top{background:#092b65}
.user-sidebar .portal-sidebar-top{background:#174d36}


/* Final audit hardening: management tables + public mobile close button */
.table-wrap table:not(.admin-match-table) th.action-head,
.table-wrap table:not(.admin-match-table) td.action-cell{
    position:sticky;
    right:0;
    z-index:3;
    background:#fff;
    box-shadow:-10px 0 18px -16px rgba(7,35,82,.55);
}
.table-wrap table:not(.admin-match-table) th.action-head{
    z-index:4;
    background:#f8fafc;
    min-width:112px;
}
.table-wrap table:not(.admin-match-table) td.action-cell{min-width:112px}
.public-sidebar-close{
    display:none;
    position:absolute;
    top:max(12px,env(safe-area-inset-top));
    right:12px;
    z-index:8;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:12px;
    background:rgba(4,24,58,.72);
    color:#fff;
    font:inherit;
    font-size:24px;
    cursor:pointer;
}
@media(max-width:820px){
    .public-sidebar-close{display:grid;place-items:center}
    .sidebar-brand{padding-right:50px}
    .table-wrap table:not(.admin-match-table) th.action-head,
    .table-wrap table:not(.admin-match-table) td.action-cell{min-width:104px}
}

/* iOS/Android modal viewport hardening */
@media(max-width:760px){
    .admin-modal-dialog{
        max-height:calc(100dvh - env(safe-area-inset-top))!important;
        border-radius:22px 22px 0 0;
    }
    .admin-modal-form{padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
}

/* Account password reveal controls */
.admin-password-wrap{width:100%;min-width:0}
.admin-password-wrap input{width:100%!important;padding-right:48px!important}
.admin-reset-row .inline-form .admin-password-wrap{flex:1 1 280px;min-width:220px;max-width:460px}
@media(max-width:680px){
  .admin-reset-row .inline-form .admin-password-wrap{min-width:0;max-width:none;width:100%}
}

/* =====================================================
   Final mobile polish: centered controls, clearer return button,
   compact public live scores
   ===================================================== */
.portal-home-return{
    background:#fff!important;
    color:#0b2f68!important;
    border-color:#fff!important;
    box-shadow:0 9px 22px rgba(0,0,0,.16)!important;
}
.portal-home-return:hover{
    background:#f5f8fc!important;
    color:#082b68!important;
}

/* Center icon glyphs exactly inside square buttons. */
@media(max-width:820px){
    .sidebar-toggle,
    .admin-mobile-toggle,
    .user-mobile-toggle{
        display:grid!important;
        place-items:center!important;
        padding:0!important;
        line-height:1!important;
        font-size:0!important;
        text-align:center!important;
    }
    .sidebar-toggle::before,
    .admin-mobile-toggle::before,
    .user-mobile-toggle::before{
        content:'☰';
        display:block;
        font-family:Arial,sans-serif;
        font-size:23px;
        font-weight:700;
        line-height:1;
        transform:translateY(-1px);
    }

    .portal-sidebar-close,
    .public-sidebar-close{
        display:grid!important;
        place-items:center!important;
        padding:0!important;
        line-height:1!important;
        font-size:0!important;
        background:#fff!important;
        color:#0b2f68!important;
        border-color:#fff!important;
        box-shadow:0 8px 20px rgba(0,0,0,.16)!important;
    }
    .portal-sidebar-close::before,
    .public-sidebar-close::before{
        content:'×';
        display:block;
        font-family:Arial,sans-serif;
        font-size:27px;
        font-weight:400;
        line-height:1;
        transform:translateY(-1px);
    }
    .portal-home-return{
        min-height:46px;
        justify-content:center!important;
        background:#fff!important;
        color:#0b2f68!important;
        border-color:#fff!important;
    }

    /* Login chooser close is also optically centered. */
    .mobile-login-close{
        display:grid;
        place-items:center;
        padding:0;
        line-height:1;
        font-family:Arial,sans-serif;
    }

    /* Compact live-score cards on phones: horizontal swipe instead of a long page. */
    .live-score-section{
        padding-top:22px!important;
        padding-bottom:20px!important;
    }
    .live-score-section .section-heading{
        margin-bottom:12px!important;
        gap:8px!important;
        align-items:flex-end!important;
    }
    .live-score-section .section-title{
        font-size:20px!important;
        line-height:1.2!important;
    }
    .live-score-section .section-heading .muted{
        display:none!important;
    }
    .live-score-section .text-link{
        font-size:11px!important;
        white-space:nowrap;
    }
    #liveScoreBoard{
        width:100%;
        min-width:0;
    }
    #liveScoreBoard .live-score-grid{
        display:flex!important;
        gap:9px!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        padding:1px 1px 9px!important;
        scroll-snap-type:x proximity;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:thin;
    }
    #liveScoreBoard .live-score-sport{
        flex:0 0 min(78vw,270px)!important;
        width:min(78vw,270px)!important;
        border-radius:13px!important;
        scroll-snap-align:start;
    }
    #liveScoreBoard .live-score-sport-head{
        padding:8px 10px!important;
    }
    #liveScoreBoard .live-score-sport-head h3{
        font-size:13px!important;
        line-height:1.25!important;
    }
    #liveScoreBoard .live-score-empty{
        padding:14px 10px!important;
        font-size:10px!important;
    }
    #liveScoreBoard .live-score-match{
        padding:8px 10px!important;
    }
    #liveScoreBoard .live-score-match:nth-child(n+3){
        display:none!important;
    }
    #liveScoreBoard .live-score-meta{
        gap:5px!important;
        font-size:8.5px!important;
        line-height:1.3!important;
    }
    #liveScoreBoard .live-status{
        padding:3px 6px!important;
        font-size:8.5px!important;
    }
    #liveScoreBoard .live-score-versus{
        grid-template-columns:1fr 20px 1fr!important;
        gap:5px!important;
        margin:7px 0 5px!important;
    }
    #liveScoreBoard .live-score-versus>div{
        gap:5px!important;
    }
    #liveScoreBoard .live-score-versus strong{
        font-size:10px!important;
        line-height:1.25!important;
    }
    #liveScoreBoard .live-score-versus b{
        min-width:28px!important;
        width:28px!important;
        height:28px!important;
        border-radius:8px!important;
        font-size:14px!important;
    }
    #liveScoreBoard .live-score-versus>span{
        font-size:8px!important;
    }
    #liveScoreBoard .live-score-summary{
        margin-top:5px!important;
        padding:6px 7px!important;
        font-size:9px!important;
        line-height:1.35!important;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }
    #liveScoreBoard .live-score-foot{
        gap:5px!important;
        margin-top:6px!important;
        font-size:8px!important;
        line-height:1.25!important;
    }
    #liveScoreBoard .live-score-foot span+span:before{
        margin-right:5px!important;
    }
}

@media(min-width:821px){
    /* On desktop, keep the return-to-site action visually obvious. */
    .portal-home-return{
        min-height:48px;
        font-size:14px;
        letter-spacing:.01em;
    }
}

/* =====================================================
   2026-09-28 mobile visual cleanup
   - show homepage banners at their natural ratio on phones
   - remove iOS password-toggle background artifact
   - compact homepage service cards and oversized mobile blocks
   ===================================================== */

/* Password eye: force a transparent, native-style-free control on iOS/Android. */
.password-wrap{position:relative!important;display:block!important}
.password-wrap input{width:100%!important;padding-right:52px!important}
.password-toggle{
    -webkit-appearance:none!important;
    appearance:none!important;
    position:absolute!important;
    top:50%!important;
    right:7px!important;
    transform:translateY(-50%)!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#273b59!important;
    font:inherit!important;
    font-size:17px!important;
    line-height:1!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
}
.password-toggle:hover,
.password-toggle:focus,
.password-toggle:focus-visible,
.password-toggle:active{
    background:transparent!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
}

@media(max-width:820px){
    /* The active banner participates in layout so the full image is visible.
       This removes the old fixed 300px crop on iPhone/Android. */
    .hero-carousel{
        min-height:0!important;
        height:auto!important;
        aspect-ratio:auto!important;
        background:#eef3fa!important;
    }
    .hero-carousel .hero-slides{
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        height:auto!important;
    }
    .hero-carousel .hero-slide{
        position:absolute!important;
        inset:0!important;
        width:100%!important;
        height:auto!important;
    }
    .hero-carousel .hero-slide.is-active{
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        height:auto!important;
    }
    .hero-carousel .hero-slide>a{
        display:block!important;
        width:100%!important;
        height:auto!important;
    }
    .hero-carousel .hero-slide img,
    .hero-visual.hero-carousel img{
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        object-fit:contain!important;
        object-position:center!important;
    }
    .hero-carousel-arrow{
        width:34px!important;
        height:40px!important;
        border-radius:11px!important;
        font-size:25px!important;
    }
    .hero-carousel-dots{
        bottom:7px!important;
        gap:5px!important;
        padding:5px 7px!important;
    }
    .hero-carousel-dots button{width:7px!important;height:7px!important}
    .hero-carousel-dots button.is-active{width:19px!important}

    /* Homepage call-to-action: keep the same look but reduce vertical scrolling. */
    .hero-action-bar{padding-top:10px!important}
    .hero-action-wrap{
        gap:11px!important;
        padding:14px!important;
        border-radius:16px!important;
    }
    .hero-action-copy{gap:7px!important}
    .home-status-pill{padding:6px 9px!important;font-size:10px!important}
    .home-status-pill i{width:7px!important;height:7px!important}
    .hero-action-copy strong{font-size:16px!important;line-height:1.3!important}
    .hero-action-copy>div>span{font-size:11px!important;line-height:1.45!important;margin-top:3px!important}
    .hero-action-wrap .hero-actions{gap:6px!important}
    .hero-action-wrap .btn{min-height:40px!important;padding:8px 11px!important;font-size:12px!important}

    /* General homepage spacing on phones/tablets. */
    .home-stat-section{padding:12px 0 0!important}
    .home-stat-grid{gap:8px!important}
    .home-stat-card{min-height:86px!important;padding:12px!important;border-radius:15px!important}
    .home-stat-card span{font-size:10px!important}
    .home-stat-card strong{font-size:24px!important;margin-top:5px!important}
    .home-stat-card small{font-size:9px!important}
    .home-service-section{padding-top:20px!important}
    .home-service-section .section-heading{margin-bottom:13px!important}
    .home-service-section .section-title{font-size:20px!important;line-height:1.25!important}
    .home-service-section .section-lead{font-size:11px!important;line-height:1.45!important;margin-top:5px!important}

    /* Keep two compact menu cards per row even on small iPhones. */
    .home-service-section .service-grid,
    .quick-menu .service-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .home-service-section .service-card,
    .quick-menu .service-card{
        min-height:112px!important;
        padding:10px 7px!important;
        border-radius:15px!important;
        justify-content:center!important;
        box-shadow:0 5px 16px rgba(15,23,42,.045)!important;
    }
    .home-service-section .service-card img,
    .quick-menu .service-card img{
        width:44px!important;
        height:44px!important;
        padding:4px!important;
        margin:0 auto 6px!important;
        border-radius:13px!important;
    }
    .home-service-section .service-card strong,
    .quick-menu .service-card strong{
        font-size:14px!important;
        line-height:1.25!important;
        margin:0!important;
    }
    .home-service-section .service-card span,
    .quick-menu .service-card span{
        font-size:10.5px!important;
        line-height:1.3!important;
        margin-top:3px!important;
    }

    /* Slightly tighter generic homepage sections without shrinking form controls. */
    .page-content .section{padding-top:22px;padding-bottom:22px}
}

@media(max-width:430px){
    .container{width:min(100% - 18px,1180px)!important}
    .home-service-section .service-card,
    .quick-menu .service-card{min-height:106px!important;padding:9px 6px!important}
    .home-service-section .service-card img,
    .quick-menu .service-card img{width:40px!important;height:40px!important;margin-bottom:5px!important}
    .home-service-section .service-card strong,
    .quick-menu .service-card strong{font-size:13px!important}
    .home-service-section .service-card span,
    .quick-menu .service-card span{font-size:10px!important}
    .home-stat-card{min-height:80px!important;padding:10px!important}
    .home-stat-card strong{font-size:22px!important}
}

/* ===== 2026-09-28 final list/certificate/live-score cleanup ===== */
/* Do not float action cells over the row content. It produced pale rectangles behind Edit/Delete. */
.table-wrap table th.action-head,
.table-wrap table td.action-cell{
    position:static!important;
    right:auto!important;
    z-index:auto!important;
    box-shadow:none!important;
    background:inherit!important;
}
.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.row-actions form{margin:0}

.pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:18px 0 2px}.pagination a,.pagination strong{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid #dbe4f0;border-radius:10px;background:#fff;color:#0d4fb8;text-decoration:none;font-weight:800}.pagination strong{background:#0b397f;color:#fff;border-color:#0b397f}.pagination span{color:#8290a4}.pagination small{flex-basis:100%;text-align:center;margin-top:4px;color:#6b788b}

.admin-registration-sport-groups,.certificate-school-groups{display:grid;gap:16px;margin-top:16px}.admin-registration-sport-group,.certificate-school-group{border:1px solid #e0e7f1;border-radius:18px;background:#fff;overflow:hidden}.admin-registration-sport-heading,.certificate-school-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#f7faff;border-bottom:1px solid #e5ebf3}.admin-registration-sport-heading small{display:block;color:#78869a;font-size:10px;font-weight:800;letter-spacing:.05em}.admin-registration-sport-heading h3{margin:2px 0 0;color:#082b68}.admin-registration-sport-heading>span,.certificate-school-heading>span{padding:6px 10px;border-radius:999px;background:#eaf2ff;color:#0d4fb8;font-size:11px;font-weight:800}.certificate-school-heading strong{color:#082b68;font-size:16px}.certificate-school-group .table-wrap,.admin-registration-sport-group .table-wrap{border:0;border-radius:0;margin:0}.certificate-personal-editor{padding:16px;border:1px solid #e1e8f2;border-radius:16px;background:#fbfdff;align-self:start}.certificate-personal-editor h3{margin-top:0}.certificate-edit-layout{grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);align-items:start}.certificate-list-filter{grid-template-columns:minmax(180px,.55fr) minmax(220px,1fr) auto auto}.certificate-approval-filter{display:flex;align-items:center;gap:10px;margin:14px 0}.certificate-approval-filter select{min-width:280px}.certificate-approval-toolbar{margin-top:8px}.certificate-status.rejected{background:#fff0f0;color:#aa3030}.certificate-status-form select{min-width:128px}

/* Full live-score page: all matches remain accessible without making phones excessively tall. */
.live-score-all-page{padding-top:28px}.live-score-all-shell{border-radius:24px;padding:18px;background:linear-gradient(180deg,#061a3d,#082b68);overflow:hidden}.live-score-all-shell .live-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-score-all-shell .live-score-sport{background:rgba(255,255,255,.08)}

@media(max-width:900px){
  .certificate-edit-layout{grid-template-columns:1fr}.certificate-list-filter{grid-template-columns:1fr 1fr}.certificate-list-filter .btn{width:100%}
}
@media(max-width:760px){
  .pagination{gap:5px}.pagination a,.pagination strong{min-width:33px;height:33px;padding:0 8px;font-size:12px}
  .admin-registration-sport-heading,.certificate-school-heading{align-items:flex-start}.admin-registration-sport-heading h3{font-size:17px}.admin-registration-sport-heading>span,.certificate-school-heading>span{white-space:nowrap}
  .admin-registration-sport-group table,.certificate-school-group table{min-width:760px}
  .certificate-approval-filter{display:grid;grid-template-columns:1fr}.certificate-approval-filter select{min-width:0;width:100%}.certificate-list-filter{grid-template-columns:1fr}
  .live-score-all-page{padding-top:14px}.live-score-all-page .section-heading{gap:8px}.live-score-all-page .section-title{font-size:24px}.live-score-all-shell{padding:10px;border-radius:18px;margin-left:-4px;margin-right:-4px}
  .live-score-all-shell .live-score-grid{display:flex!important;grid-template-columns:none!important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px 1px 8px;scrollbar-width:thin}
  .live-score-all-shell .live-score-sport{flex:0 0 min(88vw,360px);scroll-snap-align:start;max-height:68vh;overflow:auto;border-radius:14px}
  .live-score-all-shell .live-score-sport-head{padding:9px 11px;position:sticky;top:0;z-index:2;background:#0a2a62}.live-score-all-shell .live-score-sport-head h3{font-size:14px}
  .live-score-all-shell .live-score-match{padding:9px 11px}.live-score-all-shell .live-score-versus{margin:8px 0 5px}.live-score-all-shell .live-score-versus strong{font-size:11px}.live-score-all-shell .live-score-versus b{min-width:29px;height:29px;font-size:15px}.live-score-all-shell .live-score-summary{padding:7px 8px;font-size:10px}.live-score-all-shell .live-score-foot{font-size:8px;margin-top:6px}
}
.certificate-approval-panel{border-color:#d8e4f4;background:linear-gradient(180deg,#fff,#fbfdff)}
.certificate-approval-summary{display:flex;align-items:baseline;gap:8px;padding:10px 14px;border-radius:14px;background:#eef5ff;color:#23436e;white-space:nowrap}.certificate-approval-summary strong{font-size:24px;color:#082b68}.certificate-approval-summary span{font-size:12px}
.certificate-approval-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin-top:16px}.certificate-approval-actions form{margin:0}.certificate-school-approval{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:center}.certificate-school-approval select{width:100%}
.certificate-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.certificate-status.approved{background:#e8f7ee;color:#18723c}.certificate-status.pending{background:#fff4dc;color:#925f00}.certificate-status.rejected{background:#fff0f0;color:#aa3030}
.certificate-upload-help{display:block;margin-top:8px;padding:9px 11px;border:1px solid #dfe7f2;border-radius:10px;background:#f8fbff;color:#5d6c82;font-size:12px;line-height:1.55}.certificate-upload-help strong{color:#173b7a}
@media(max-width:760px){.certificate-approval-actions{grid-template-columns:1fr}.certificate-approval-actions .btn{width:100%}.certificate-school-approval{grid-template-columns:1fr}.certificate-approval-summary{white-space:normal}.admin-panel-heading-line{align-items:flex-start}}


/* 2026-09-28: mobile results + live score layout polish */
@media (max-width: 720px) {
    /* หน้าแรก: แสดงผลการแข่งขันล่าสุดเพียง 1 รายการบนมือถือ */
    .home-latest-results-section .section-heading {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        align-items: stretch;
    }
    .home-latest-results-section .home-results-all-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 46px;
        padding: 11px 16px;
        border-radius: 14px;
        background: #0b397f;
        color: #fff;
        text-decoration: none;
        font-weight: 800;
        box-shadow: 0 8px 20px rgba(11,57,127,.14);
    }
    .home-latest-results-section .home-result-grid {
        display: block;
    }
    .home-latest-results-section .home-result-card {
        display: none;
        padding: 14px;
        border-radius: 16px;
    }
    .home-latest-results-section .home-result-card:first-child {
        display: block;
    }
    .home-latest-results-section .home-result-head strong {
        font-size: 16px;
    }
    .home-latest-results-section .home-result-head span {
        font-size: 12px;
    }
    .home-latest-results-section .home-result-medals {
        gap: 7px;
    }
    .home-latest-results-section .home-result-medals > div {
        padding: 9px 10px;
        border-radius: 12px;
    }

    /* คะแนนสดทั้งหมด: มือถือเรียงทุกชนิดกีฬาลงด้านล่าง ไม่ปัดแนวนอน */
    .live-score-all-shell {
        padding: 9px;
        overflow: visible;
    }
    .live-score-all-shell .live-score-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        overflow: visible !important;
        scroll-snap-type: none !important;
        padding: 0 !important;
    }
    .live-score-all-shell .live-score-sport {
        width: 100%;
        max-width: none;
        max-height: none !important;
        overflow: hidden !important;
        flex: none !important;
        scroll-snap-align: none !important;
        border-radius: 14px;
    }
    .live-score-all-shell .live-score-sport-head {
        position: static !important;
        padding: 9px 11px;
    }
    .live-score-all-shell .live-score-match-list {
        display: grid;
        gap: 0;
    }
    .live-score-all-shell .live-score-match {
        padding: 9px 10px;
    }
    .live-score-all-shell .live-score-versus {
        grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
        gap: 7px;
        margin: 8px 0 5px;
    }
    .live-score-all-shell .live-score-versus strong {
        font-size: 10.5px;
        line-height: 1.3;
    }
    .live-score-all-shell .live-score-versus b {
        min-width: 28px;
        height: 28px;
        font-size: 14px;
    }
    .live-score-all-shell .live-score-summary {
        max-height: none;
        overflow: visible;
    }
}


/* =====================================================
   Portal topbar account actions
   Logout is shown only inside authenticated portals.
   Public homepage keeps its account button without logout.
   ===================================================== */
.admin-topbar .portal-topbar-title,
.user-topbar .portal-topbar-title{
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
}
.portal-topbar-actions{
    margin-left:auto;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
}
.portal-topbar-logout{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 14px;
    border:1px solid #f0caca;
    border-radius:12px;
    background:#fff7f7;
    color:#a12828;
    text-decoration:none;
    font-weight:800;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 6px 16px rgba(125,30,30,.07);
    transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.portal-topbar-logout:hover{
    background:#fff0f0;
    border-color:#e5b6b6;
    color:#8e2020;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(125,30,30,.10);
}
.portal-logout-short{display:none}

@media(max-width:820px){
    .admin-topbar .portal-topbar-title,
    .user-topbar .portal-topbar-title{
        flex:1 1 0;
        min-width:0;
    }
    .portal-topbar-actions{margin-left:0}
    .portal-topbar-logout{
        min-width:48px;
        min-height:42px;
        padding:8px 11px;
        border-radius:11px;
        font-size:12px;
        box-shadow:none;
    }
    .portal-logout-full{display:none}
    .portal-logout-short{display:inline}
}
@media(max-width:420px){
    .portal-topbar-logout{
        min-width:44px;
        padding:7px 9px;
        font-size:11px;
    }
}


/* =====================================================
   Portal logout visibility + Admin-only system switcher
   Fixes old mobile rules that hide all topbar spans.
   ===================================================== */
.portal-topbar-logout .portal-logout-full,
.portal-topbar-logout .portal-logout-short{
    margin:0!important;
    color:inherit!important;
    line-height:1!important;
    white-space:nowrap!important;
}
.portal-topbar-logout .portal-logout-full{display:inline!important}
.portal-topbar-logout .portal-logout-short{display:none!important}

.portal-system-switch{position:relative;flex:0 0 auto}
.portal-system-switch>summary{
    list-style:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 13px;
    border:1px solid #cbd9ee;
    border-radius:12px;
    background:#f5f8fd;
    color:#123c78;
    font-weight:800;
    font-size:13px;
    line-height:1;
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
    white-space:nowrap;
}
.portal-system-switch>summary::-webkit-details-marker{display:none}
.portal-system-switch>summary::after{content:'▾';font-size:10px;margin-left:7px;color:#6780a4}
.portal-system-switch[open]>summary{background:#edf4ff;border-color:#b9cbea}
.portal-switch-short{display:none!important}
.portal-system-switch-menu{
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    z-index:300;
    width:min(290px,calc(100vw - 24px));
    padding:10px;
    border:1px solid #d9e3f0;
    border-radius:15px;
    background:#fff;
    box-shadow:0 18px 45px rgba(8,35,78,.18);
    display:grid;
    gap:6px;
}
.portal-system-switch-menu>strong{font-size:12px;color:#67778f;padding:4px 7px}
.portal-system-switch-menu>a{
    display:flex;
    align-items:center;
    min-height:40px;
    padding:9px 11px;
    border-radius:10px;
    color:#173d72;
    text-decoration:none;
    font-weight:800;
    font-size:13px;
}
.portal-system-switch-menu>a:hover{background:#f2f6fc}
.portal-system-switch-menu>a.is-current{background:#0a397d;color:#fff}
.portal-system-switch-menu>small{display:block!important;margin:4px 7px 2px!important;color:#7a8799!important;font-size:10px!important;line-height:1.4!important}

@media(max-width:820px){
    .portal-topbar-logout{min-width:68px!important;padding:8px 10px!important}
    .portal-topbar-logout .portal-logout-full{display:none!important}
    .portal-topbar-logout .portal-logout-short{display:inline!important;font-size:11px!important}
    .portal-system-switch>summary{min-height:42px;padding:8px 10px;font-size:11px;border-radius:11px}
    .portal-switch-full{display:none!important}
    .portal-switch-short{display:inline!important;margin:0!important;color:inherit!important;font-size:11px!important}
    .portal-system-switch>summary::after{margin-left:5px}
}
@media(max-width:520px){
    .admin-topbar .portal-topbar-actions{gap:5px}
    .admin-topbar .portal-topbar-logout{min-width:62px!important;padding:7px 8px!important}
    .admin-topbar .portal-system-switch>summary{padding:7px 8px}
    .portal-system-switch-menu{position:fixed;top:72px;right:10px;left:10px;width:auto}
}

/* =====================================================
   Public announcements: clickable cards + mobile cleanup
   ===================================================== */
.news-card-link{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.news-card-link:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.09);border-color:#cbd9ec}
.news-card-meta,.public-news-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.news-card-meta strong{color:#0b4da2;font-size:13px}
.public-news-image-link{display:block;min-width:0;background:#eef3fa;overflow:hidden}
.public-news-body h2 a{color:inherit;text-decoration:none}
.public-news-body h2 a:hover{color:#0b55b6}
.announcement-detail-wrap{max-width:980px}
.announcement-back{display:inline-flex;margin-bottom:14px;color:#0b4da2;text-decoration:none;font-weight:800}
.announcement-detail-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 12px 36px rgba(15,23,42,.06)}
.announcement-detail-image{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#f5f7fb}
.announcement-detail-body{padding:30px}
.announcement-detail-body h1{margin:12px 0 6px;color:var(--navy);font-size:clamp(26px,4vw,40px);line-height:1.3}
.announcement-detail-date{color:#7a8799;font-size:13px;margin-bottom:24px}
.announcement-detail-content{color:#34445a;font-size:17px;line-height:1.9;overflow-wrap:anywhere}
.announcement-not-found{text-align:center;padding:40px 24px}

@media(max-width:820px){
    .public-news-list{gap:12px}
    .public-news-card{display:block!important;border-radius:16px;overflow:hidden}
    .public-news-image-link{width:100%}
    .public-news-image{display:block;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important}
    .public-news-body{padding:15px 16px 17px!important}
    .public-news-body h2{font-size:18px;line-height:1.4;margin:9px 0 7px}
    .public-news-body p{font-size:14px;line-height:1.65;margin-bottom:10px;overflow-wrap:anywhere}
    .public-news-footer{margin-top:10px;align-items:flex-end}
    .public-news-footer .text-link{white-space:nowrap;font-size:13px}
    .announcement-detail-section{padding-top:18px}
    .announcement-detail-card{border-radius:16px}
    .announcement-detail-image{max-height:none;object-fit:contain}
    .announcement-detail-body{padding:18px 16px 24px}
    .announcement-detail-body h1{font-size:24px}
    .announcement-detail-content{font-size:15px;line-height:1.8}
    .news-card-meta{align-items:flex-end}
}

/* =====================================================
   2026-09-29 LUXURY PUBLIC UI REFRESH
   Public pages only. Keeps Admin / School / Committee layouts isolated.
   ===================================================== */
body.public-site{
    --lux-navy:#082b68;
    --lux-navy-2:#0b3f8f;
    --lux-blue:#0d5bd7;
    --lux-gold:#f5bd2e;
    --lux-gold-soft:#fff5cf;
    --lux-ink:#12233f;
    --lux-muted:#6d7890;
    --lux-line:#dfe7f1;
    --lux-surface:#ffffff;
    --lux-bg:#f3f6fb;
    background:
        radial-gradient(circle at 92% 3%,rgba(40,111,216,.08),transparent 25%),
        linear-gradient(180deg,#f8faff 0,#f2f5fa 45%,#eef3f9 100%);
    color:var(--lux-ink);
}
body.public-site .page-content{background:transparent}
body.public-site .container{width:min(1220px,calc(100% - 42px))}
body.public-site .section{padding:42px 0}
body.public-site .section-title{color:var(--lux-navy);letter-spacing:-.02em}
body.public-site .section-lead{color:var(--lux-muted);line-height:1.75;margin:8px 0 0;max-width:760px}
body.public-site .eyebrow{color:var(--lux-blue);letter-spacing:.09em;font-size:12px}
body.public-site .muted{color:var(--lux-muted)}

/* Premium public navigation */
body.public-site .topbar{
    height:78px;
    background:rgba(255,255,255,.94);
    border-bottom:1px solid rgba(213,224,238,.86);
    box-shadow:0 8px 30px rgba(8,43,104,.055);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    padding:0 28px;
}
body.public-site .topbar-title strong{font-size:18px;letter-spacing:-.01em}
body.public-site .topbar-title span{font-size:11px;color:#8995a7}
body.public-site .topbar-actions{display:flex;align-items:center;gap:8px}
body.public-site .topbar-button,
body.public-site .mobile-login-trigger{
    border-radius:13px;
    min-height:42px;
    box-shadow:none;
}
body.public-site .topbar-user{background:var(--lux-navy);color:#fff}
body.public-site .topbar-committee{background:#eef4ff;color:#164d9e;border-color:#dce7f7}
body.public-site .topbar-admin{background:#fff;color:#53627a;border-color:#dfe6ef}
body.public-site .sidebar{
    background:
        radial-gradient(circle at 30% -5%,rgba(39,99,188,.24),transparent 26%),
        linear-gradient(180deg,#061b43 0%,#082b68 62%,#061a3d 100%);
    padding:18px 14px 15px;
    box-shadow:10px 0 34px rgba(6,26,61,.14);
}
body.public-site .sidebar-brand{padding:4px 7px 17px;gap:11px}
body.public-site .sidebar-logo-frame{width:74px;height:66px;border-radius:16px;padding:7px;box-shadow:0 8px 22px rgba(0,0,0,.13)}
body.public-site .sidebar-brand strong{font-size:15px}
body.public-site .sidebar-brand span{font-size:12px;color:#b9cae9}
body.public-site .sidebar-menu{gap:6px;margin-top:15px}
body.public-site .menu-item{
    --accent:#1a5fb7!important;
    min-height:58px;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    padding:8px 10px;
    border-radius:13px;
    border:1px solid transparent;
    background:transparent;
    box-shadow:none;
}
body.public-site .menu-item::after{display:none}
body.public-site .menu-item img{width:36px;height:36px;border-radius:10px}
body.public-site .menu-item strong{font-size:14px}
body.public-site .menu-item span{font-size:10px;color:#c5d3ea;opacity:.9}
body.public-site .menu-item:hover{transform:none;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.08)}
body.public-site .menu-item.active,
body.public-site .menu-toggle.active{transform:none;outline:0;background:linear-gradient(100deg,rgba(255,255,255,.16),rgba(255,255,255,.08));border-color:rgba(255,255,255,.16);box-shadow:inset 3px 0 0 var(--lux-gold)}
body.public-site .submenu{margin-left:47px}
body.public-site .submenu a{border-radius:9px;font-size:12px}

/* Shared luxury page intro */
body.public-site .public-page-section{padding-top:32px}
body.public-site .public-page-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
    padding:25px 28px;
    border:1px solid rgba(215,225,238,.9);
    border-radius:24px;
    background:
        radial-gradient(circle at 94% 15%,rgba(35,101,200,.08),transparent 24%),
        linear-gradient(135deg,#fff,#fbfdff);
    box-shadow:0 16px 42px rgba(15,40,80,.055);
}
body.public-site .public-page-hero .section-title{font-size:clamp(28px,3.3vw,42px);margin-top:6px}
body.public-site .public-page-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
body.public-site .public-page-count{
    min-width:118px;
    min-height:76px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:18px;
    background:#eef5ff;
    border:1px solid #dce8f8;
    color:var(--lux-navy);
}
body.public-site .public-page-count strong{font-size:25px;line-height:1}
body.public-site .public-page-count span{font-size:10px;color:#64758e;margin-top:6px;white-space:nowrap}
body.public-site .luxury-action-link{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:10px 15px;
    border-radius:13px;
    background:var(--lux-navy);
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:13px;
    box-shadow:0 10px 24px rgba(8,43,104,.13);
}
body.public-site .live-dot{width:8px;height:8px;border-radius:50%;background:#f24358;box-shadow:0 0 0 5px rgba(242,67,88,.12)}
body.public-site .luxury-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:180px;border:1px dashed #cad6e6;border-radius:22px;background:rgba(255,255,255,.72);color:#7b8799}
body.public-site .luxury-empty-state b{color:var(--lux-navy);font-size:18px}

/* Homepage */
body.public-site.page-index .hero-carousel{background:#e9eef6}
body.public-site.page-index .hero-carousel-arrow{background:rgba(6,26,61,.68);border-color:rgba(255,255,255,.28);box-shadow:0 10px 28px rgba(0,0,0,.14)}
body.public-site.page-index .hero-carousel-dots{background:rgba(6,26,61,.34)}
body.public-site.page-index .hero-action-bar{background:transparent;border:0;box-shadow:none;padding:18px 0 0}
body.public-site.page-index .hero-action-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);
    align-items:center;
    gap:26px;
    padding:24px 26px;
    border-radius:24px;
    background:
        radial-gradient(circle at 92% 12%,rgba(70,140,245,.34),transparent 32%),
        linear-gradient(135deg,#061d49,#0a3c86 68%,#0b4da5);
    color:#fff;
    box-shadow:0 18px 44px rgba(8,43,104,.18);
}
body.public-site.page-index .hero-action-copy{display:flex;align-items:flex-start;gap:14px;min-width:0}
body.public-site.page-index .hero-action-copy>div{min-width:0}
body.public-site.page-index .hero-action-copy strong{display:block;font-size:22px;line-height:1.35;color:#fff}
body.public-site.page-index .hero-action-copy>div>span{display:block;margin-top:7px;color:#cbd9ee;line-height:1.6;font-size:13px}
body.public-site.page-index .home-status-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(26,174,113,.15);border:1px solid rgba(95,220,165,.25);color:#a8f1cf;font-size:11px;font-weight:800;white-space:nowrap}
body.public-site.page-index .home-status-pill.is-closed{background:rgba(242,67,88,.14);border-color:rgba(242,67,88,.24);color:#ffc0c8}
body.public-site.page-index .home-status-pill i{width:8px;height:8px;border-radius:50%;background:#39d98a;box-shadow:0 0 0 5px rgba(57,217,138,.12)}
body.public-site.page-index .home-status-pill.is-closed i{background:#f24358;box-shadow:0 0 0 5px rgba(242,67,88,.12)}
body.public-site.page-index .hero-actions{display:grid;gap:8px}
body.public-site.page-index .hero-actions .btn{min-height:46px;border-radius:13px}
body.public-site.page-index .hero-actions .btn-gold{background:linear-gradient(135deg,#f7bd27,#ffd85e);box-shadow:0 10px 24px rgba(245,189,46,.22)}
body.public-site.page-index .hero-actions .btn-glass{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.28);backdrop-filter:none}
body.public-site.page-index .home-stat-section{padding:18px 0 0}
body.public-site.page-index .home-stat-grid{gap:12px}
body.public-site.page-index .home-stat-card{
    position:relative;
    overflow:hidden;
    min-height:118px;
    padding:20px;
    border:1px solid #e0e7f1;
    border-radius:20px;
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 28px rgba(16,40,80,.045);
}
body.public-site.page-index .home-stat-card::after{content:"";position:absolute;right:-25px;bottom:-38px;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,rgba(13,91,215,.07),rgba(245,189,46,.08))}
body.public-site.page-index .home-stat-card span{color:#778398;font-size:12px}
body.public-site.page-index .home-stat-card strong{display:inline-block;margin-top:7px;color:var(--lux-navy);font-size:31px;line-height:1}
body.public-site.page-index .home-stat-card small{margin-left:5px;color:#8b96a7;font-size:10px}
body.public-site.page-index .home-service-section{padding-top:34px}
body.public-site.page-index .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.public-site.page-index .service-card{
    min-height:148px;
    align-items:flex-start;
    text-align:left;
    padding:18px;
    border-radius:19px;
    border:1px solid #e1e8f2;
    box-shadow:0 9px 26px rgba(15,40,80,.04);
    background:linear-gradient(145deg,#fff,#fbfdff);
}
body.public-site.page-index .service-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(8,43,104,.09);border-color:#cddcf0}
body.public-site.page-index .service-card img{width:50px;height:50px;margin:0 0 13px;padding:5px;border-radius:14px;background:#f4f7fb;border:1px solid #e2e9f2}
body.public-site.page-index .service-card strong{font-size:16px}
body.public-site.page-index .service-card span{font-size:11px;line-height:1.45}
body.public-site.page-index .live-score-section{padding-top:34px}
body.public-site.page-index #liveScoreBoard{padding:18px;border-radius:24px;background:linear-gradient(160deg,#061a3d,#0a397d);box-shadow:0 18px 44px rgba(8,43,104,.15)}
body.public-site.page-index #liveScoreBoard .live-score-sport{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.07);box-shadow:none}
body.public-site.page-index #liveScoreBoard .live-score-sport-head{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10)}
body.public-site.page-index #liveScoreBoard .live-score-sport-head h3{color:#fff}
body.public-site.page-index #liveScoreBoard .live-score-match{border-color:rgba(255,255,255,.10)}
body.public-site.page-index #liveScoreBoard .live-score-versus strong,
body.public-site.page-index #liveScoreBoard .live-score-meta>span:not(.live-status),
body.public-site.page-index #liveScoreBoard .live-score-foot{color:#dbe6f8}
body.public-site.page-index #liveScoreBoard .live-score-versus>span{color:#94a8c8}
body.public-site.page-index #liveScoreBoard .live-score-summary{background:rgba(255,255,255,.06);color:#e9f0fb}
body.public-site.page-index .home-result-card,
body.public-site.page-index .news-card{border-color:#e1e8f2;border-radius:20px;box-shadow:0 10px 30px rgba(15,40,80,.045)}

/* Announcements */
body.public-site .luxury-news-list{gap:14px}
body.public-site .luxury-news-card{
    grid-template-columns:minmax(230px,360px) minmax(0,1fr);
    min-height:220px;
    border-radius:22px;
    border-color:#e0e7f0;
    box-shadow:0 12px 34px rgba(15,40,80,.05);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body.public-site .luxury-news-card:hover{transform:translateY(-2px);border-color:#cbd9ec;box-shadow:0 18px 40px rgba(15,40,80,.085)}
body.public-site .luxury-news-card.is-latest{border-color:#d4e3f8;box-shadow:0 16px 42px rgba(13,91,215,.075)}
body.public-site .public-news-image-link{background:linear-gradient(135deg,#eaf1fb,#f7f9fc)}
body.public-site .public-news-image{min-height:220px;object-fit:cover}
body.public-site .public-news-placeholder{display:grid;place-items:center;text-decoration:none;color:#9fb0c6;font-weight:900;letter-spacing:.18em;font-size:13px}
body.public-site .public-news-body{padding:25px 27px;display:flex;flex-direction:column;justify-content:center}
body.public-site .news-card-kicker{display:flex;align-items:center;gap:10px;color:#8792a4;font-size:11px}
body.public-site .news-badge{background:#eef5ff;color:#1556ad;border:1px solid #dce9fa;padding:5px 9px}
body.public-site .is-latest .news-badge{background:#fff1f3;color:#c72d42;border-color:#ffd9df}
body.public-site .public-news-body h2{font-size:21px;line-height:1.45;margin:11px 0 8px}
body.public-site .public-news-body p{font-size:13px;line-height:1.75;color:#627087;margin:0}
body.public-site .public-news-footer{padding-top:15px;margin-top:15px;border-top:1px solid #edf1f6;color:#8a96a8;font-size:10px}
body.public-site .news-read-more{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#0d55b6;font-weight:800;font-size:12px}
body.public-site .news-read-more b{font-size:16px}
body.public-site .luxury-announcement-detail{border-radius:26px;border-color:#dfe7f1;box-shadow:0 18px 48px rgba(15,40,80,.07)}
body.public-site .announcement-detail-media{padding:14px;background:#f4f7fb}
body.public-site .announcement-detail-image{border-radius:17px;max-height:620px;object-fit:contain;background:#fff}
body.public-site .announcement-detail-body{padding:34px 40px 40px}
body.public-site .announcement-detail-body h1{font-size:clamp(27px,4vw,42px);line-height:1.35;margin:15px 0 0}
body.public-site .announcement-detail-divider{width:64px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--lux-gold),#ffd968);margin:22px 0}
body.public-site .announcement-detail-content{font-size:16px;line-height:1.95;color:#42526a}
body.public-site .announcement-detail-bottom{margin-top:30px;padding-top:18px;border-top:1px solid #edf1f6}
body.public-site .announcement-detail-bottom a{color:#0d55b6;text-decoration:none;font-weight:800}
body.public-site .announcement-back{gap:8px;align-items:center;color:#315b94}

/* Tables on desktop */
body.public-site .luxury-desktop-table{overflow:auto;border:1px solid #dde6f1;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(15,40,80,.045)}
body.public-site .luxury-desktop-table table{margin:0;width:100%;border-collapse:separate;border-spacing:0}
body.public-site .luxury-desktop-table th{background:#f6f9fd;color:#183c70;font-size:12px;border-bottom:1px solid #dfe7f1;padding:14px 15px}
body.public-site .luxury-desktop-table td{padding:15px;border-bottom:1px solid #edf1f6;color:#314057;font-size:12px;background:#fff}
body.public-site .luxury-desktop-table tr:last-child td{border-bottom:0}
body.public-site .luxury-desktop-table td strong{color:#132f5c}
body.public-site .luxury-desktop-table td small{display:block;margin-top:5px;color:#7e8b9f;font-size:10px;line-height:1.5}
body.public-site .result-date,.schedule-time{color:#8b97a8!important}
body.public-site .versus-text{display:inline-block;margin:0 6px;color:#9aa6b6;font-size:9px;font-weight:900}
body.public-site .mobile-result-list,
body.public-site .mobile-schedule-list{display:none}

/* Live score page */
body.public-site .luxury-live-shell{padding:18px;border-radius:24px;background:linear-gradient(160deg,#061a3d,#0a397d);box-shadow:0 18px 44px rgba(8,43,104,.16)}
body.public-site .luxury-live-shell .live-score-grid{gap:12px}
body.public-site .luxury-live-shell .live-score-sport{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.14);box-shadow:none}
body.public-site .luxury-live-shell .live-score-sport-head{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10)}
body.public-site .luxury-live-shell .live-score-sport-head h3{color:#fff}
body.public-site .luxury-live-shell .live-score-match{border-color:rgba(255,255,255,.10)}
body.public-site .luxury-live-shell .live-score-meta>span:not(.live-status),
body.public-site .luxury-live-shell .live-score-versus strong,
body.public-site .luxury-live-shell .live-score-foot{color:#dce7f8}
body.public-site .luxury-live-shell .live-score-versus>span{color:#91a6c8}
body.public-site .luxury-live-shell .live-score-summary{background:rgba(255,255,255,.06);color:#e8f0fb}
body.public-site .live-status.live{background:#ef3f56;color:#fff;border-color:#ef3f56}
body.public-site .live-status.scheduled{background:#eef5ff;color:#175bb5;border-color:#dce9fa}
body.public-site .live-status.finished{background:#eaf8f2;color:#16835a;border-color:#d4efe3}

/* Pagination */
body.public-site .pagination{margin-top:22px}
body.public-site .pagination a,
body.public-site .pagination strong{border-radius:11px;border-color:#dce5f0;box-shadow:none}
body.public-site .pagination strong{background:var(--lux-navy);border-color:var(--lux-navy)}

body.public-site .site-footer{background:#061a3d;border-top:1px solid rgba(255,255,255,.06);padding:30px 0}

@media(max-width:1050px){
    body.public-site.page-index .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    body.public-site.page-index .hero-action-wrap{grid-template-columns:1fr}
    body.public-site.page-index .hero-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:820px){
    body.public-site{--topbar-height:68px}
    body.public-site .container{width:min(100% - 24px,760px)!important}
    body.public-site .section{padding:26px 0}
    body.public-site .topbar{height:68px;padding:0 12px;gap:10px}
    body.public-site .sidebar-toggle{
        display:grid!important;
        place-items:center!important;
        width:44px!important;
        min-width:44px!important;
        height:44px!important;
        border-radius:13px!important;
        background:var(--lux-navy)!important;
        box-shadow:0 8px 18px rgba(8,43,104,.14)!important;
    }
    body.public-site .topbar-title strong{font-size:14px;line-height:1.25}
    body.public-site .mobile-login-trigger{min-height:42px;padding:9px 12px;border-radius:12px;background:var(--lux-navy);color:#fff;font-size:11px;font-weight:800;border:0;text-decoration:none}
    body.public-site .sidebar{width:min(300px,86vw);padding:12px 12px 16px}
    body.public-site .public-sidebar-close{top:12px;right:12px;width:42px!important;height:42px!important;border-radius:13px!important}
    body.public-site .sidebar-brand{padding:4px 54px 13px 4px}
    body.public-site .sidebar-logo-frame{width:58px;height:52px;border-radius:13px}
    body.public-site .sidebar-brand strong{font-size:14px}
    body.public-site .sidebar-brand span{font-size:10px}
    body.public-site .sidebar-menu{gap:4px;margin-top:10px}
    body.public-site .menu-item{min-height:52px;grid-template-columns:34px minmax(0,1fr);border-radius:12px;padding:7px 9px}
    body.public-site .menu-item img{width:32px;height:32px}
    body.public-site .menu-item strong{font-size:13px}
    body.public-site .menu-item span{font-size:9px}
    body.public-site .submenu{margin-left:42px}

    body.public-site .public-page-section{padding-top:18px}
    body.public-site .public-page-hero{padding:18px;border-radius:19px;gap:14px;margin-bottom:15px;align-items:flex-start}
    body.public-site .public-page-hero .section-title{font-size:26px}
    body.public-site .public-page-hero .section-lead{font-size:12px;line-height:1.6;margin-top:5px}
    body.public-site .public-page-count{min-width:84px;min-height:64px;padding:8px 10px;border-radius:15px}
    body.public-site .public-page-count strong{font-size:21px}
    body.public-site .public-page-count span{font-size:8px}
    body.public-site .public-page-actions{gap:7px}
    body.public-site .luxury-action-link{min-height:40px;padding:8px 11px;font-size:10px;border-radius:11px}

    /* Homepage on phones: compact, premium, no oversized cards. */
    body.public-site.page-index .hero-action-bar{padding:12px 0 0!important}
    body.public-site.page-index .hero-action-wrap{display:block!important;padding:16px!important;border-radius:19px!important}
    body.public-site.page-index .hero-action-copy{display:block!important}
    body.public-site.page-index .home-status-pill{font-size:9px!important;padding:6px 9px!important;margin-bottom:10px}
    body.public-site.page-index .hero-action-copy strong{font-size:17px!important}
    body.public-site.page-index .hero-action-copy>div>span{font-size:10.5px!important;line-height:1.55!important;margin-top:5px!important}
    body.public-site.page-index .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin-top:13px}
    body.public-site.page-index .hero-actions .btn{min-height:39px!important;padding:8px 10px!important;font-size:11px!important;border-radius:11px!important}
    body.public-site.page-index .home-stat-section{padding-top:11px!important}
    body.public-site.page-index .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
    body.public-site.page-index .home-stat-card{min-height:78px!important;padding:11px 12px!important;border-radius:15px!important}
    body.public-site.page-index .home-stat-card span{font-size:9px!important}
    body.public-site.page-index .home-stat-card strong{font-size:23px!important;margin-top:5px!important}
    body.public-site.page-index .home-stat-card small{font-size:8px!important}
    body.public-site.page-index .home-service-section{padding-top:22px!important}
    body.public-site.page-index .home-service-section .section-heading{margin-bottom:11px!important}
    body.public-site.page-index .home-service-section .section-title{font-size:19px!important}
    body.public-site.page-index .home-service-section .section-lead{font-size:10px!important}
    body.public-site.page-index .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
    body.public-site.page-index .service-card{min-height:102px!important;padding:11px!important;border-radius:15px!important;align-items:flex-start!important;text-align:left!important}
    body.public-site.page-index .service-card img{width:38px!important;height:38px!important;margin:0 0 7px!important;padding:4px!important;border-radius:11px!important}
    body.public-site.page-index .service-card strong{font-size:13px!important;line-height:1.25!important}
    body.public-site.page-index .service-card span{font-size:9px!important;line-height:1.35!important;margin-top:3px!important}
    body.public-site.page-index .live-score-section{padding-top:24px!important}
    body.public-site.page-index #liveScoreBoard{padding:10px;border-radius:18px;box-shadow:0 12px 30px rgba(8,43,104,.14)}
    body.public-site.page-index #liveScoreBoard .live-score-grid{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:8px!important;padding:0!important}
    body.public-site.page-index #liveScoreBoard .live-score-sport{width:100%!important;max-width:none!important;flex:none!important}
    body.public-site.page-index #liveScoreBoard .live-score-sport:nth-child(n+4){display:none!important}

    /* News cards become clean stacked cards without overlapping. */
    body.public-site .luxury-news-card{display:block!important;min-height:0;border-radius:18px}
    body.public-site .public-news-image-link{width:100%;display:block}
    body.public-site .public-news-image{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;background:#f4f7fb}
    body.public-site .public-news-placeholder{min-height:120px}
    body.public-site .public-news-body{padding:15px 16px 17px!important}
    body.public-site .news-card-kicker{font-size:9px}
    body.public-site .news-badge{font-size:9px;padding:4px 7px}
    body.public-site .public-news-body h2{font-size:17px;line-height:1.4;margin:9px 0 6px}
    body.public-site .public-news-body p{font-size:11.5px;line-height:1.65}
    body.public-site .public-news-footer{padding-top:10px;margin-top:10px;font-size:8.5px}
    body.public-site .news-read-more{font-size:10px}
    body.public-site .announcement-back{font-size:11px;margin-bottom:10px}
    body.public-site .luxury-announcement-detail{border-radius:19px}
    body.public-site .announcement-detail-media{padding:7px}
    body.public-site .announcement-detail-image{border-radius:13px}
    body.public-site .announcement-detail-body{padding:18px 16px 22px!important}
    body.public-site .announcement-detail-body h1{font-size:23px!important;line-height:1.4}
    body.public-site .announcement-detail-divider{margin:16px 0;width:48px}
    body.public-site .announcement-detail-content{font-size:14px!important;line-height:1.85!important}

    /* Mobile results: dedicated vertical cards. */
    body.public-site.page-results .luxury-desktop-table{display:none}
    body.public-site .mobile-result-list{display:grid;gap:11px}
    body.public-site .mobile-result-card{padding:15px;border:1px solid #dfe7f1;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(15,40,80,.045)}
    body.public-site .mobile-result-card.is-latest{border-color:#cddff7;box-shadow:0 12px 30px rgba(13,91,215,.07)}
    body.public-site .mobile-result-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-bottom:11px;border-bottom:1px solid #edf1f6}
    body.public-site .mobile-result-head>div>span{display:inline-block;color:#0d5bd7;font-size:9px;font-weight:900;letter-spacing:.06em}
    body.public-site .mobile-result-head h2{margin:4px 0 2px;color:var(--lux-navy);font-size:18px}
    body.public-site .mobile-result-head p{margin:0;color:#738096;font-size:10.5px;line-height:1.45}
    body.public-site .mobile-result-head time{text-align:right;color:#7f8ca0;font-size:9px;white-space:nowrap}
    body.public-site .mobile-result-head time small{display:block;margin-top:3px;color:#a0aaba}
    body.public-site .mobile-medal-list{display:grid;gap:7px;padding-top:11px}
    body.public-site .mobile-medal-list>div{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;border:1px solid #edf1f6;border-radius:13px;background:#fbfcfe}
    body.public-site .mobile-medal-list b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:12px}
    body.public-site .mobile-medal-list .gold b{background:#fff0b7;color:#8a6500}.mobile-medal-list .silver b{background:#edf0f4;color:#657080}.mobile-medal-list .bronze b{background:#f6dfcf;color:#9a5527}
    body.public-site .mobile-medal-list span{color:#7b8799;font-size:9px}
    body.public-site .mobile-medal-list strong{display:block;margin-top:2px;color:#18345f;font-size:11px;line-height:1.4}
    body.public-site .mobile-result-award{margin-top:9px;padding:9px 10px;border-radius:12px;background:#f5f8fc;color:#718096;font-size:9px}
    body.public-site .mobile-result-award strong{display:block;margin-top:3px;color:#2d405f;font-size:10.5px}

    /* Mobile schedule: no horizontal table scrolling. */
    body.public-site.page-schedule .luxury-desktop-table{display:none}
    body.public-site .mobile-schedule-list{display:grid;gap:9px}
    body.public-site .mobile-schedule-date{display:flex;align-items:center;justify-content:space-between;padding:5px 3px 1px;color:#7d899a;font-size:9px}
    body.public-site .mobile-schedule-date strong{color:#173968;font-size:12px}
    body.public-site .mobile-schedule-card{position:relative;overflow:hidden;padding:13px 14px 14px;border:1px solid #dfe7f1;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(15,40,80,.04)}
    body.public-site .mobile-schedule-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#9db3cf}
    body.public-site .mobile-schedule-card.live::before{background:#ef3f56}.mobile-schedule-card.finished::before{background:#28a575}
    body.public-site .mobile-schedule-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
    body.public-site .mobile-schedule-top time{color:#173968;font-size:16px;font-weight:900}
    body.public-site .mobile-schedule-sport{margin-top:9px}
    body.public-site .mobile-schedule-sport h2{margin:0;color:var(--lux-navy);font-size:16px}
    body.public-site .mobile-schedule-sport p{margin:3px 0 0;color:#7a879a;font-size:10px;line-height:1.4}
    body.public-site .mobile-schedule-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:11px;padding:10px;border-radius:13px;background:#f6f9fd;text-align:center}
    body.public-site .mobile-schedule-versus strong{color:#20395f;font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}
    body.public-site .mobile-schedule-versus span{color:#9aa6b7;font-size:8px;font-weight:900}
    body.public-site .mobile-schedule-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
    body.public-site .mobile-schedule-meta span{padding:7px 8px;border:1px solid #edf1f6;border-radius:10px;color:#8a96a7;font-size:8.5px}
    body.public-site .mobile-schedule-meta b{display:block;margin-top:2px;color:#344a6a;font-size:9.5px}
    body.public-site .mobile-schedule-note{margin-top:8px;color:#718096;font-size:9px;line-height:1.5}

    /* Live-score page: every sport stacks vertically. No swipe / snap / jump-back. */
    body.public-site .luxury-live-shell{padding:9px!important;border-radius:18px!important}
    body.public-site .luxury-live-shell .live-score-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important}
    body.public-site .luxury-live-shell .live-score-sport{width:100%!important;max-width:none!important;max-height:none!important;overflow:hidden!important;flex:none!important;scroll-snap-align:none!important;border-radius:14px!important}
    body.public-site .luxury-live-shell .live-score-sport-head{position:static!important;padding:9px 11px!important}
    body.public-site .luxury-live-shell .live-score-sport-head h3{font-size:13px!important}
    body.public-site .luxury-live-shell .live-score-match-list{display:grid!important;gap:0!important}
    body.public-site .luxury-live-shell .live-score-match{padding:9px 10px!important}
    body.public-site .luxury-live-shell .live-score-versus{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;gap:6px!important;margin:7px 0 5px!important}
    body.public-site .luxury-live-shell .live-score-versus strong{font-size:10px!important;line-height:1.3!important}
    body.public-site .luxury-live-shell .live-score-versus b{min-width:28px!important;width:28px!important;height:28px!important;font-size:14px!important;border-radius:8px!important}
    body.public-site .luxury-live-shell .live-score-meta{font-size:8.5px!important;gap:5px!important}
    body.public-site .luxury-live-shell .live-status{font-size:8px!important;padding:3px 6px!important}
    body.public-site .luxury-live-shell .live-score-foot{font-size:8px!important;gap:5px!important}
    body.public-site .luxury-live-shell .live-score-summary{font-size:9px!important;line-height:1.4!important}
}

@media(max-width:560px){
    body.public-site .public-page-hero{display:grid;grid-template-columns:minmax(0,1fr) auto}
    body.public-site .public-page-hero .section-lead{grid-column:1/-1}
    body.public-site .public-page-actions{display:contents}
    body.public-site .public-page-actions .luxury-action-link{grid-column:1/-1;grid-row:2;width:max-content}
    body.public-site .public-page-actions .public-page-count{grid-column:2;grid-row:1}
    body.public-site .news-page-hero>div:first-child,
    body.public-site .results-page-hero>div:first-child{min-width:0}
    body.public-site .pagination a,
    body.public-site .pagination strong{min-width:32px;height:32px;padding:0 8px;font-size:11px}
}

@media(min-width:821px){
    body.public-site .page-content{padding-top:78px}
    body.public-site .site-footer{margin-left:var(--sidebar-width)}
}

/* Public forms and remaining content inherit the same visual language. */
body.public-site .card,
body.public-site .sport-menu-card,
body.public-site .athlete-school-card,
body.public-site .athlete-sport-card{
    border-color:#dfe7f1;
    box-shadow:0 10px 30px rgba(15,40,80,.045);
}
body.public-site input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.public-site select,
body.public-site textarea{
    border-color:#d7e0ec;
    border-radius:12px;
    background:#fff;
    color:#20334f;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body.public-site input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
body.public-site select:focus,
body.public-site textarea:focus{
    outline:0;
    border-color:#8eb5eb;
    box-shadow:0 0 0 4px rgba(13,91,215,.08);
}
body.public-site .table-wrap:not(.luxury-desktop-table){border-radius:18px;border-color:#dfe7f1;box-shadow:0 10px 30px rgba(15,40,80,.04)}
body.public-site .btn-dark{background:linear-gradient(135deg,#082b68,#0a438f);box-shadow:0 9px 22px rgba(8,43,104,.12)}
body.public-site .btn-soft{background:#eef5ff;color:#0d55b6;border:1px solid #dce9fa}
body.public-site .text-link{color:#0d55b6}

@media(max-width:820px){
    body.public-site .section-heading{align-items:flex-start;gap:10px;margin-bottom:14px}
    body.public-site .section-heading .section-title{font-size:22px;line-height:1.3}
    body.public-site .section-heading .section-lead,
    body.public-site .section-heading .muted{font-size:10.5px;line-height:1.55}
    body.public-site .card{border-radius:16px;padding:15px}
    body.public-site .site-footer{padding:22px 0;font-size:11px}
}

/* ======================================================================
   PUBLIC UI 2026 — Ivory / Navy / Gold / Teal premium refresh
   Keeps existing PHP behaviour; changes the public presentation only.
   ====================================================================== */
body.public-site{
    --sidebar-width:274px;
    --topbar-height:76px;
    --lux-navy:#0b2b5c;
    --lux-navy-2:#123f78;
    --lux-ink:#17233a;
    --lux-muted:#6f7888;
    --lux-gold:#c8952e;
    --lux-gold-soft:#f8edcf;
    --lux-cream:#f8f5ee;
    --lux-ivory:#fffdf8;
    --lux-teal:#16856f;
    --lux-teal-soft:#e6f5f0;
    --lux-coral:#d85d5d;
    --lux-coral-soft:#fff0ed;
    --lux-blue-soft:#eaf2ff;
    --lux-line:#e7e3da;
    background:
      radial-gradient(circle at 78% 5%,rgba(200,149,46,.08),transparent 24%),
      #f6f4ef;
    color:var(--lux-ink);
}
body.public-site .container{width:min(1240px,92%)}

/* Desktop shell — light navigation instead of an all-blue screen. */
body.public-site .sidebar{
    background:
      radial-gradient(circle at 0 100%,rgba(200,149,46,.14),transparent 28%),
      linear-gradient(180deg,#fffefb 0%,#f8f4ea 100%);
    color:var(--lux-ink);
    border-right:1px solid #e9e2d4;
    box-shadow:12px 0 34px rgba(40,46,58,.06);
    padding:18px 14px 18px;
}
body.public-site .sidebar-brand{
    color:var(--lux-navy);
    border-bottom:1px solid #e9e2d4;
    padding:4px 7px 17px;
}
body.public-site .sidebar-logo-frame{
    width:76px;height:76px;border-radius:20px;padding:8px;
    border:1px solid #ece6da;background:#fff;
    box-shadow:0 10px 25px rgba(35,45,60,.08);
}
body.public-site .sidebar-brand strong{font-size:16px;color:var(--lux-navy)}
body.public-site .sidebar-brand span{font-size:12px;color:#8c8172}
body.public-site .sidebar-menu{gap:6px;margin-top:14px}
body.public-site .menu-item{
    --accent:var(--lux-navy);
    min-height:58px;
    grid-template-columns:40px minmax(0,1fr);
    gap:10px;
    padding:8px 10px;
    color:#334056;
    border:1px solid transparent;
    border-radius:15px;
    background:transparent;
    box-shadow:none;
    overflow:visible;
}
body.public-site .menu-item::after{display:none}
body.public-site .menu-item img{
    width:38px;height:38px;object-fit:contain;padding:7px;
    border-radius:12px;background:#fff;border:1px solid #ebe5da;
    box-shadow:0 5px 13px rgba(29,41,58,.055);
}
body.public-site .menu-item strong{color:#243550;font-size:14px}
body.public-site .menu-item span{color:#918779;font-size:10px;margin-top:2px}
body.public-site .menu-item:hover{
    transform:none;background:#fff;border-color:#e7dfd1;
    box-shadow:0 7px 18px rgba(34,43,55,.055);
}
body.public-site .menu-item.active,
body.public-site .menu-toggle.active{
    color:#fff;background:linear-gradient(135deg,#0b2b5c,#153f76);
    border-color:#0b2b5c;box-shadow:0 10px 24px rgba(11,43,92,.16);
}
body.public-site .menu-item.active strong,
body.public-site .menu-item.active span,
body.public-site .menu-toggle.active strong,
body.public-site .menu-toggle.active span{color:#fff}
body.public-site .menu-item.active img,
body.public-site .menu-toggle.active img{background:#fff;border-color:#fff}
body.public-site .menu-item .chevron{color:#9c8d73}
body.public-site .menu-item.active .chevron{color:#f6d47e}
body.public-site .submenu{
    margin:3px 0 6px 49px;padding:5px;
    border-left:1px solid #ded6c7;
}
body.public-site .submenu a{color:#596376;border-radius:9px;padding:8px 10px;font-size:11px}
body.public-site .submenu a:hover,body.public-site .submenu a.active{background:#fff;color:var(--lux-navy)}
body.public-site .sidebar-footer{color:#9b907f;border-color:#e5ddce}
body.public-site .sidebar-school-return{background:#fff;color:var(--lux-navy);border-color:#e6dfd2}

body.public-site .topbar{
    background:rgba(255,253,248,.94);
    backdrop-filter:blur(16px);
    border-bottom:1px solid #e8e2d7;
    box-shadow:0 7px 24px rgba(45,52,63,.055);
    padding:0 26px;
}
body.public-site .topbar-title strong{color:var(--lux-navy);font-size:17px}
body.public-site .topbar-title span{color:#9a8f80;font-size:11px}
body.public-site .topbar-button{min-height:40px;border-radius:13px;padding:9px 15px;font-size:12px}
body.public-site .topbar-user{background:var(--lux-navy);color:#fff;box-shadow:0 7px 18px rgba(11,43,92,.13)}
body.public-site .topbar-committee{background:#eef5ff;color:#245da5;border-color:#d9e7f8}
body.public-site .topbar-admin{background:#fff7e8;color:#8a641a;border-color:#ecdcb8}
body.public-site .sidebar-collapse-toggle{background:#fff;color:var(--lux-navy);border:1px solid #e2dbcf;box-shadow:0 6px 18px rgba(36,43,53,.06)}

/* New typo-safe banner: all wording is HTML, not baked into an image. */
body.public-site .premium-home-hero{
    margin:0;background:transparent;border:0;box-shadow:none;
}
body.public-site .premium-home-hero .hero-slides{height:clamp(410px,35vw,535px);background:#f4efe5}
body.public-site .premium-home-hero .hero-slide{background:#fffdf8}
body.public-site .premium-hero-banner{
    height:100%;position:relative;overflow:hidden;
    display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);align-items:center;
    padding:clamp(40px,5vw,78px) clamp(42px,6vw,92px);
    background:
      radial-gradient(circle at 77% 48%,rgba(22,133,111,.12),transparent 28%),
      radial-gradient(circle at 94% 10%,rgba(200,149,46,.20),transparent 25%),
      linear-gradient(118deg,#fffdf8 0%,#fbf4e5 54%,#eef7f4 100%);
}
body.public-site .premium-hero-banner::before{
    content:"";position:absolute;left:-70px;bottom:-170px;width:390px;height:390px;border-radius:50%;
    border:1px solid rgba(200,149,46,.22);box-shadow:0 0 0 38px rgba(200,149,46,.035),0 0 0 78px rgba(200,149,46,.025);
}
body.public-site .premium-hero-copy{position:relative;z-index:4;max-width:670px}
body.public-site .premium-hero-kicker{
    display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;
    background:#fff;border:1px solid #e7ddc9;color:#92701f;font-size:10px;font-weight:900;letter-spacing:.18em;
}
body.public-site .premium-hero-title{
    margin-top:18px;color:var(--lux-navy);font-size:clamp(42px,4.8vw,78px);line-height:.98;font-weight:900;letter-spacing:-.035em;
}
body.public-site .premium-hero-title em{font-style:normal;color:#c08b21;position:relative}
body.public-site .premium-hero-title em::after{
    content:"";position:absolute;left:3px;right:3px;bottom:-7px;height:5px;border-radius:999px;
    background:linear-gradient(90deg,#c8952e,#f0ce73,transparent);
}
body.public-site .premium-hero-copy>p{margin:22px 0 0;color:#48576c;font-size:clamp(16px,1.35vw,21px);font-weight:800}
body.public-site .premium-hero-motto{margin-top:10px;color:#7f776c;font-size:13px;line-height:1.65}
body.public-site .premium-hero-links{display:flex;gap:10px;margin-top:24px}
body.public-site .premium-hero-links a{
    min-width:132px;padding:11px 18px;border-radius:13px;text-align:center;text-decoration:none;font-size:12px;font-weight:900;
    background:var(--lux-navy);color:#fff;box-shadow:0 10px 22px rgba(11,43,92,.13);
}
body.public-site .premium-hero-links a+ a{background:#fff;color:var(--lux-navy);border:1px solid #ded8cd;box-shadow:none}
body.public-site .premium-hero-art{
    position:relative;z-index:3;width:min(520px,100%);aspect-ratio:1.08/1;justify-self:end;
    border-radius:48px;background:linear-gradient(145deg,#0b2b5c 0%,#153f76 56%,#0b675f 120%);
    box-shadow:0 28px 60px rgba(11,43,92,.20);overflow:hidden;
}
body.public-site .premium-hero-art::before{
    content:"";position:absolute;inset:auto -90px -110px auto;width:330px;height:330px;border-radius:50%;background:rgba(255,255,255,.07)
}
body.public-site .premium-hero-art::after{
    content:"";position:absolute;left:26px;right:26px;bottom:24px;height:1px;background:rgba(255,255,255,.16)
}
body.public-site .hero-art-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,214,90,.26)}
body.public-site .hero-art-ring.ring-one{width:270px;height:270px;right:-45px;top:-55px}
body.public-site .hero-art-ring.ring-two{width:190px;height:190px;right:-4px;top:-15px}
body.public-site .hero-art-logo{
    position:absolute;left:42px;top:38px;width:108px;height:108px;display:grid;place-items:center;padding:14px;
    border-radius:28px;background:#fff;box-shadow:0 18px 35px rgba(0,0,0,.16)
}
body.public-site .hero-art-logo img{width:100%;height:100%;object-fit:contain}
body.public-site .hero-sport-tile{
    position:absolute;width:132px;min-height:118px;padding:15px 12px 12px;border-radius:23px;
    display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 36px rgba(0,0,0,.15);color:#21314a;font-size:10px;font-weight:900;
}
body.public-site .hero-sport-tile img{width:56px;height:56px;object-fit:contain;margin-bottom:5px}
body.public-site .tile-football{left:58px;bottom:50px;transform:rotate(-4deg)}
body.public-site .tile-volleyball{left:205px;top:80px;transform:rotate(3deg)}
body.public-site .tile-badminton{right:35px;top:155px;transform:rotate(-3deg)}
body.public-site .tile-athletics{right:105px;bottom:35px;transform:rotate(4deg)}
body.public-site .hero-art-label{position:absolute;right:35px;top:38px;color:#f3d98f;font-size:9px;font-weight:900;letter-spacing:.18em}
body.public-site .uploaded-hero-slide{background:#f4efe5}
body.public-site .uploaded-hero-slide>a{display:block;width:100%;height:100%}
body.public-site .uploaded-hero-slide img{width:100%;height:100%;object-fit:cover}
body.public-site .hero-carousel-arrow{
    width:44px;height:44px;border-radius:50%;background:rgba(255,253,248,.92)!important;color:var(--lux-navy)!important;
    border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 9px 22px rgba(17,34,58,.12)!important;font-size:27px!important;
}
body.public-site .hero-carousel-dots{bottom:16px!important;background:rgba(255,255,255,.76);padding:6px 8px;border-radius:999px;backdrop-filter:blur(8px)}
body.public-site .hero-carousel-dots button{background:#b6ad9f!important;width:7px!important;height:7px!important}
body.public-site .hero-carousel-dots button.is-active{background:#c8952e!important;width:24px!important;border-radius:999px!important}

/* Hero action strip: clean white card with warm accent, not another navy block. */
body.public-site .hero-action-bar{background:transparent!important;margin-top:20px}
body.public-site .hero-action-wrap{
    border:1px solid #e7e1d6;border-radius:24px;background:#fffdf9;
    box-shadow:0 15px 42px rgba(39,45,55,.07);padding:22px 24px;
}
body.public-site .home-status-pill.is-open{background:var(--lux-teal-soft);color:#0b735e;border-color:#c9eadf}
body.public-site .home-status-pill.is-open i{background:#1cb98f}
body.public-site .home-status-pill.is-closed{background:#fff0ed;color:#b64d4d;border-color:#f4d6d0}
body.public-site .hero-action-copy strong{color:var(--lux-navy);font-size:20px}
body.public-site .hero-action-copy span{color:#777f8d}
body.public-site .btn-gold{background:linear-gradient(135deg,#c8942c,#e4b950)!important;color:#fff!important;box-shadow:0 9px 20px rgba(200,149,46,.20)!important}
body.public-site .btn-glass{background:#fff!important;color:var(--lux-navy)!important;border:1px solid #e2ddd3!important}

/* Statistics: each card has its own accent so the page is not monochrome. */
body.public-site .home-stat-section{padding:20px 0 4px!important}
body.public-site .home-stat-grid{gap:14px}
body.public-site .home-stat-card{
    position:relative;overflow:hidden;border:1px solid #e7e2d9;border-radius:20px;background:#fff;padding:19px 20px;
    box-shadow:0 10px 28px rgba(40,46,56,.05)
}
body.public-site .home-stat-card::after{content:"";position:absolute;right:-28px;bottom:-35px;width:105px;height:105px;border-radius:50%;opacity:.8}
body.public-site .home-stat-card:nth-child(1){background:#f3f7ff}body.public-site .home-stat-card:nth-child(1)::after{background:#dbe8ff}
body.public-site .home-stat-card:nth-child(2){background:#eef9f5}body.public-site .home-stat-card:nth-child(2)::after{background:#d6f1e7}
body.public-site .home-stat-card:nth-child(3){background:#fff3ef}body.public-site .home-stat-card:nth-child(3)::after{background:#ffe0d8}
body.public-site .home-stat-card:nth-child(4){background:#fff8e9}body.public-site .home-stat-card:nth-child(4)::after{background:#f7e5b8}
body.public-site .home-stat-card span{color:#7c8491;font-size:11px}
body.public-site .home-stat-card strong{color:var(--lux-navy);font-size:30px}
body.public-site .home-stat-card small{color:#9a8e7c}

/* Sections and service cards. */
body.public-site .section{padding:54px 0}
body.public-site .section-soft{background:#f0eee8}
body.public-site .eyebrow{color:#a57922;letter-spacing:.11em}
body.public-site .section-title{color:var(--lux-navy);letter-spacing:-.02em}
body.public-site .section-lead,body.public-site .muted{color:#7a8290}
body.public-site .text-link{color:#a36f10;font-weight:900}
body.public-site .service-grid{gap:14px}
body.public-site .service-card{
    min-height:150px;border:1px solid #e7e2d9;border-radius:20px;background:#fff;
    box-shadow:0 10px 30px rgba(40,46,56,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body.public-site .service-card:hover{transform:translateY(-3px);border-color:#dbcba9;box-shadow:0 16px 34px rgba(40,46,56,.08)}
body.public-site .service-card img{background:#f7f4ee!important;border-color:#ece4d6!important;box-shadow:none!important}
body.public-site .service-card:nth-child(4n+1) img{background:#edf4ff!important}
body.public-site .service-card:nth-child(4n+2) img{background:#edf9f5!important}
body.public-site .service-card:nth-child(4n+3) img{background:#fff0ed!important}
body.public-site .service-card:nth-child(4n+4) img{background:#fff7e6!important}
body.public-site .service-card strong{color:#223a60}
body.public-site .service-card span{color:#838b98}

/* Live score / result / news cards share a refined light surface. */
body.public-site .live-score-section{background:#fffdf8!important}
body.public-site .live-score-grid{gap:14px}
body.public-site .live-score-sport{
    border:1px solid #e5e1d9!important;border-radius:20px!important;background:#fff!important;
    box-shadow:0 12px 34px rgba(38,44,54,.055)!important;overflow:hidden
}
body.public-site .live-score-sport-head{background:linear-gradient(90deg,#f7f3e9,#fff)!important;border-bottom:1px solid #ece6db!important}
body.public-site .live-score-sport-head h3{color:var(--lux-navy)!important}
body.public-site .live-score-match{background:#fff!important;border-color:#eee9e0!important}
body.public-site .live-score-versus b{background:var(--lux-navy)!important;color:#fff!important}
body.public-site .live-status.live{background:#fff0ed!important;color:#c94d55!important}
body.public-site .live-status.scheduled{background:#eef4ff!important;color:#3265a7!important}
body.public-site .live-status.finished{background:#e9f6f1!important;color:#16856f!important}
body.public-site .home-latest-results-section{background:#f6f4ef!important}
body.public-site .home-result-card,
body.public-site .news-card,
body.public-site .contact-card{border-color:#e5e0d7!important;box-shadow:0 12px 34px rgba(38,44,54,.05)!important}
body.public-site .home-result-card{background:#fffdf9!important}
body.public-site .home-result-head strong{color:var(--lux-navy)!important}
body.public-site .news-card{background:#fff!important;border-radius:20px!important;overflow:hidden}
body.public-site .news-card-image{border-radius:0!important}
body.public-site .news-badge{background:#fff0ed!important;color:#c64e50!important;border-color:#f2d3cc!important}
body.public-site .news-card h3{color:var(--lux-navy)!important}
body.public-site .contact-card{background:linear-gradient(135deg,#fffdf8,#f3f7f5)!important}

/* Public inner pages also inherit the ivory shell. */
body.public-site .public-page-hero,
body.public-site .luxury-panel,
body.public-site .card,
body.public-site .table-wrap:not(.luxury-desktop-table){
    background:#fff!important;border-color:#e6e1d8!important;box-shadow:0 12px 34px rgba(38,44,54,.05)!important
}
body.public-site .btn-dark{background:linear-gradient(135deg,#0b2b5c,#164477)!important}
body.public-site .btn-soft{background:#fff7e8!important;color:#8a641a!important;border-color:#ead9b4!important}

@media(max-width:1100px) and (min-width:821px){
    body.public-site{--sidebar-width:248px}
    body.public-site .premium-hero-banner{grid-template-columns:1fr 380px;padding:42px 44px}
    body.public-site .premium-hero-art{width:380px}
    body.public-site .hero-sport-tile{width:105px;min-height:96px;padding:10px}
    body.public-site .hero-sport-tile img{width:45px;height:45px}
    body.public-site .tile-volleyball{left:160px;top:75px}body.public-site .tile-badminton{right:20px!important} body.public-site .tile-athletics{right:72px!important}
}

@media(max-width:820px){
    body.public-site{--topbar-height:70px;background:#f7f5f0}
    body.public-site .topbar{left:0;padding:0 14px;background:rgba(255,253,249,.96)}
    body.public-site .sidebar-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff;color:var(--lux-navy);border:1px solid #e3ddd2;box-shadow:0 7px 18px rgba(37,44,54,.06)}
    body.public-site .topbar-title strong{font-size:14px}
    body.public-site .topbar-title span{display:none}
    body.public-site .mobile-login-trigger{background:var(--lux-navy)!important;color:#fff!important;border:0!important;border-radius:13px!important;min-height:42px!important;padding:8px 12px!important;font-size:11px!important}
    body.public-site .sidebar{width:min(86vw,310px);padding:14px;background:linear-gradient(180deg,#fffefb,#f7f2e7)}
    body.public-site .public-sidebar-close{background:#fff!important;color:var(--lux-navy)!important;border:1px solid #e1d9ca!important;box-shadow:0 7px 18px rgba(38,45,56,.08)!important}
    body.public-site .sidebar-brand{padding-right:48px}
    body.public-site .sidebar-logo-frame{width:64px;height:64px;border-radius:17px}
    body.public-site .menu-item{min-height:54px;grid-template-columns:38px 1fr;border-radius:14px}
    body.public-site .menu-item img{width:36px;height:36px}

    body.public-site .page-content{padding-top:var(--topbar-height)}
    body.public-site .premium-home-hero .hero-slides{height:auto;min-height:0;background:#f7f2e8}
    body.public-site .premium-home-hero .hero-slide{position:absolute}
    body.public-site .premium-home-hero .hero-slide.is-active{position:relative}
    body.public-site .premium-hero-banner{
        min-height:390px;grid-template-columns:1fr;padding:30px 22px 24px;align-items:start;
        background:linear-gradient(150deg,#fffdf8 0%,#f9f0dc 60%,#eef8f4 100%);
    }
    body.public-site .premium-hero-copy{max-width:none;padding-right:0}
    body.public-site .premium-hero-kicker{font-size:7px;padding:6px 9px;letter-spacing:.12em}
    body.public-site .premium-hero-title{font-size:40px;line-height:1.02;margin-top:13px}
    body.public-site .premium-hero-copy>p{font-size:13px;margin-top:17px}
    body.public-site .premium-hero-motto{font-size:9.5px;margin-top:6px}
    body.public-site .premium-hero-links{margin-top:16px;gap:7px}
    body.public-site .premium-hero-links a{min-width:105px;padding:9px 13px;font-size:10px;border-radius:11px}
    body.public-site .premium-hero-art{
        position:absolute;right:15px;bottom:17px;width:155px;height:155px;aspect-ratio:1;border-radius:32px;box-shadow:0 18px 38px rgba(11,43,92,.17)
    }
    body.public-site .hero-art-logo{left:14px;top:14px;width:54px;height:54px;padding:7px;border-radius:15px}
    body.public-site .hero-art-ring.ring-one{width:115px;height:115px;right:-30px;top:-30px}
    body.public-site .hero-art-ring.ring-two{width:80px;height:80px;right:-7px;top:-8px}
    body.public-site .hero-sport-tile{width:47px;min-height:46px;padding:5px;border-radius:13px;font-size:0}
    body.public-site .hero-sport-tile img{width:29px;height:29px;margin:0}
    body.public-site .tile-football{left:17px;bottom:18px}.premium-hero-art .tile-volleyball{left:69px;top:54px}.premium-hero-art .tile-badminton{right:12px;top:70px}.premium-hero-art .tile-athletics{right:38px;bottom:12px}
    body.public-site .hero-art-label{display:none}
    body.public-site .uploaded-hero-slide{background:#fff}
    body.public-site .uploaded-hero-slide img{height:auto;max-height:none;object-fit:contain;display:block}
    body.public-site .hero-carousel-arrow{width:36px;height:36px;font-size:22px!important}
    body.public-site .hero-carousel-dots{bottom:9px!important;padding:5px 7px}

    body.public-site .hero-action-bar{margin-top:12px}
    body.public-site .hero-action-wrap{padding:16px;border-radius:19px}
    body.public-site .hero-action-copy strong{font-size:16px}
    body.public-site .hero-action-copy span{font-size:10px}
    body.public-site .hero-actions{gap:7px}
    body.public-site .hero-actions .btn{min-height:42px!important;font-size:11px!important;border-radius:12px!important}

    body.public-site .home-stat-section{padding-top:14px!important}
    body.public-site .home-stat-grid{grid-template-columns:1fr 1fr;gap:9px}
    body.public-site .home-stat-card{padding:14px 13px;border-radius:16px;min-height:90px}
    body.public-site .home-stat-card strong{font-size:25px}
    body.public-site .home-stat-card span{font-size:9.5px}
    body.public-site .home-stat-card small{font-size:8.5px}

    body.public-site .section{padding:34px 0}
    body.public-site .section-heading{margin-bottom:14px}
    body.public-site .section-heading .section-title{font-size:21px}
    body.public-site .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
    body.public-site .service-card{min-height:116px;padding:14px 10px;border-radius:17px}
    body.public-site .service-card img{width:43px!important;height:43px!important;padding:8px!important;border-radius:13px!important}
    body.public-site .service-card strong{font-size:13px}
    body.public-site .service-card span{font-size:9px;line-height:1.35}
    body.public-site .news-grid{gap:10px}
    body.public-site .news-card{border-radius:17px!important}
}

@media(max-width:430px){
    body.public-site .premium-hero-banner{min-height:365px;padding:25px 17px 20px}
    body.public-site .premium-hero-title{font-size:35px}
    body.public-site .premium-hero-art{width:138px;height:138px;right:11px;bottom:13px;border-radius:28px}
    body.public-site .hero-art-logo{width:48px;height:48px}
    body.public-site .hero-sport-tile{width:43px;min-height:42px}.premium-hero-art .tile-volleyball{left:61px;top:49px}
    body.public-site .premium-hero-motto{max-width:190px}
}

/* Final page-index specificity pass — intentionally after the previous theme. */
body.public-site.page-index .hero-action-bar{background:transparent!important;border:0!important;box-shadow:none!important;padding:18px 0 0!important}
body.public-site.page-index .hero-action-wrap{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr)!important;align-items:center!important;gap:24px!important;
    padding:22px 24px!important;border:1px solid #e7e1d6!important;border-radius:24px!important;
    background:#fffdf9!important;color:var(--lux-ink)!important;box-shadow:0 15px 42px rgba(39,45,55,.07)!important;
}
body.public-site.page-index .hero-action-copy{display:flex!important;align-items:flex-start!important;gap:14px!important}
body.public-site.page-index .hero-action-copy strong{color:var(--lux-navy)!important;font-size:20px!important}
body.public-site.page-index .hero-action-copy>div>span{color:#777f8d!important;font-size:12px!important}
body.public-site.page-index .home-status-pill.is-open{background:var(--lux-teal-soft)!important;color:#0b735e!important;border-color:#c9eadf!important}
body.public-site.page-index .home-status-pill.is-closed{background:#fff0ed!important;color:#b64d4d!important;border-color:#f4d6d0!important}
body.public-site.page-index .hero-actions{display:grid!important;gap:8px!important}
body.public-site.page-index .hero-actions .btn-gold{background:linear-gradient(135deg,#c8942c,#e4b950)!important;color:#fff!important;box-shadow:0 9px 20px rgba(200,149,46,.20)!important}
body.public-site.page-index .hero-actions .btn-glass{background:#fff!important;color:var(--lux-navy)!important;border:1px solid #e2ddd3!important}

body.public-site.page-index .home-stat-card{border-color:#e7e2d9!important;box-shadow:0 10px 28px rgba(40,46,56,.05)!important}
body.public-site.page-index .home-stat-card:nth-child(1){background:#f3f7ff!important}
body.public-site.page-index .home-stat-card:nth-child(2){background:#eef9f5!important}
body.public-site.page-index .home-stat-card:nth-child(3){background:#fff3ef!important}
body.public-site.page-index .home-stat-card:nth-child(4){background:#fff8e9!important}
body.public-site.page-index .home-stat-card:nth-child(1)::after{background:#dbe8ff!important}
body.public-site.page-index .home-stat-card:nth-child(2)::after{background:#d6f1e7!important}
body.public-site.page-index .home-stat-card:nth-child(3)::after{background:#ffe0d8!important}
body.public-site.page-index .home-stat-card:nth-child(4)::after{background:#f7e5b8!important}

body.public-site.page-index .service-grid{gap:14px!important}
body.public-site.page-index .service-card{
    border:1px solid #e7e2d9!important;border-radius:20px!important;background:#fff!important;
    box-shadow:0 10px 30px rgba(40,46,56,.045)!important;
}
body.public-site.page-index .service-card:hover{border-color:#dbcba9!important;box-shadow:0 16px 34px rgba(40,46,56,.08)!important}
body.public-site.page-index .service-card img{background:#f7f4ee!important;border-color:#ece4d6!important;box-shadow:none!important}
body.public-site.page-index .service-card:nth-child(4n+1) img{background:#edf4ff!important}
body.public-site.page-index .service-card:nth-child(4n+2) img{background:#edf9f5!important}
body.public-site.page-index .service-card:nth-child(4n+3) img{background:#fff0ed!important}
body.public-site.page-index .service-card:nth-child(4n+4) img{background:#fff7e6!important}
body.public-site.page-index .service-card strong{color:#223a60!important}
body.public-site.page-index .service-card span{color:#838b98!important}

body.public-site.page-index .live-score-section{background:#fffdf8!important}
body.public-site.page-index #liveScoreBoard{
    padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important
}
body.public-site.page-index #liveScoreBoard .live-score-grid{gap:14px!important}
body.public-site.page-index #liveScoreBoard .live-score-sport{
    border:1px solid #e5e1d9!important;border-radius:20px!important;background:#fff!important;
    box-shadow:0 12px 34px rgba(38,44,54,.055)!important
}
body.public-site.page-index #liveScoreBoard .live-score-sport-head{background:linear-gradient(90deg,#f7f3e9,#fff)!important;border-color:#ece6db!important}
body.public-site.page-index #liveScoreBoard .live-score-sport-head h3{color:var(--lux-navy)!important}
body.public-site.page-index #liveScoreBoard .live-score-match{background:#fff!important;border-color:#eee9e0!important}
body.public-site.page-index #liveScoreBoard .live-score-versus strong{color:#2f3f57!important}
body.public-site.page-index #liveScoreBoard .live-score-meta>span:not(.live-status),
body.public-site.page-index #liveScoreBoard .live-score-foot{color:#7f8997!important}
body.public-site.page-index #liveScoreBoard .live-score-versus>span{color:#a1a8b2!important}
body.public-site.page-index #liveScoreBoard .live-score-summary{background:#f8f6f1!important;color:#5f6875!important}
body.public-site.page-index #liveScoreBoard .live-score-versus b{background:var(--lux-navy)!important;color:#fff!important}

body.public-site.page-index .home-result-card,
body.public-site.page-index .news-card{border-color:#e5e0d7!important;box-shadow:0 12px 34px rgba(38,44,54,.05)!important}
body.public-site.page-index .home-result-card{background:#fffdf9!important}
body.public-site.page-index .news-card{background:#fff!important}

@media(max-width:1050px){
    body.public-site.page-index .hero-action-wrap{grid-template-columns:1fr!important}
    body.public-site.page-index .hero-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
    body.public-site.page-index .hero-action-wrap{display:block!important;padding:16px!important}
    body.public-site.page-index .hero-action-copy{display:block!important}
    body.public-site.page-index .hero-actions{grid-template-columns:1fr!important}
    body.public-site.page-index #liveScoreBoard{padding:0!important;border-radius:0!important}
}

/* Banner sizing and mobile menu glyph safety. */
@media(min-width:821px){
    body.public-site .premium-home-hero{height:clamp(410px,35vw,535px)!important;aspect-ratio:auto!important}
    body.public-site .premium-home-hero .hero-slides{height:100%!important}
}
@media(max-width:820px){
    body.public-site .sidebar-toggle{background:var(--lux-navy)!important;color:#fff!important}
    body.public-site .sidebar-toggle::before{color:#fff!important}
}

/* ======================================================================
   PUBLIC UI FINAL — match approved ivory / white / navy / gold layout
   ====================================================================== */
body.public-site{
    --sidebar-width:216px;
    --sidebar-collapsed-width:76px;
    --topbar-height:72px;
    --ui-navy:#0b2d66;
    --ui-navy-2:#123f82;
    --ui-blue:#2b6de8;
    --ui-gold:#d6a12f;
    --ui-cream:#fbf8f1;
    --ui-ivory:#fffdf9;
    --ui-line:#e6e5df;
    --ui-text:#24324a;
    --ui-muted:#7b8494;
    background:#f7f8fb!important;
    color:var(--ui-text);
}
body.public-site .page-content{
    margin-left:var(--sidebar-width)!important;
    padding-top:var(--topbar-height)!important;
    min-height:100vh;
    background:#f7f8fb;
}
body.public-site .site-footer{margin-left:var(--sidebar-width)!important}
body.public-site.sidebar-collapsed .page-content,
body.public-site.sidebar-collapsed .site-footer{margin-left:var(--sidebar-collapsed-width)!important}

/* Top bar */
body.public-site .topbar.public-premium-topbar{
    left:var(--sidebar-width)!important;
    height:var(--topbar-height)!important;
    padding:0 18px!important;
    gap:12px!important;
    background:rgba(255,255,255,.97)!important;
    border-bottom:1px solid #e8ebf0!important;
    box-shadow:0 5px 20px rgba(27,39,61,.05)!important;
    backdrop-filter:blur(12px);
}
body.public-site.sidebar-collapsed .topbar.public-premium-topbar{left:var(--sidebar-collapsed-width)!important}
body.public-site .topbar-back-button{
    display:inline-grid;place-items:center;flex:0 0 auto;
    width:40px;height:40px;border-radius:12px;border:1px solid #dde5ef;
    background:#fff;color:var(--ui-navy);font-size:27px;line-height:1;cursor:pointer;
    box-shadow:0 5px 16px rgba(28,44,72,.04);
}
body.public-site .topbar-back-button:hover{background:#f5f8fd;border-color:#cbd9ec}
body.public-site .topbar-search{
    min-width:230px;max-width:520px;flex:1;
    display:flex;align-items:center;gap:9px;height:42px;padding:0 14px;
    border:1px solid #e0e6ef;border-radius:14px;background:#fff;
    box-shadow:0 6px 18px rgba(35,48,70,.045);
}
body.public-site .topbar-search>span{font-size:22px;color:#6c7b93;line-height:1}
body.public-site .topbar-search input{
    width:100%!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;
    background:transparent!important;box-shadow:none!important;font-size:12px!important;color:#33425a!important;
}
body.public-site .topbar-search input:focus{box-shadow:none!important}
body.public-site .topbar-notification{
    width:38px;height:38px;display:grid;place-items:center;position:relative;text-decoration:none;
    border-radius:12px;background:#fff;border:1px solid #e5eaf1;font-size:17px;
}
body.public-site .topbar-notification span{position:absolute;right:6px;top:6px;width:7px;height:7px;border-radius:50%;background:#ef4444;border:1px solid #fff}
body.public-site .topbar-actions{margin-left:auto}
body.public-site .topbar-login-desktop{display:flex!important;align-items:center;gap:8px}
body.public-site .topbar-button{min-height:40px!important;padding:9px 16px!important;border-radius:12px!important;font-size:12px!important;box-shadow:none!important}
body.public-site .topbar-user{background:var(--ui-navy)!important;color:#fff!important}
body.public-site .topbar-committee{background:#f2f6fd!important;color:#235ca6!important;border-color:#d9e4f3!important}
body.public-site .topbar-admin{background:#fff9ef!important;color:#86631d!important;border-color:#eadcc1!important}
body.public-site .mobile-topbar-brand{display:none}
body.public-site .mobile-login-trigger{display:none}

/* Sidebar */
body.public-site .sidebar.premium-sidebar{
    width:var(--sidebar-width)!important;
    padding:14px 12px 18px!important;
    background:
      radial-gradient(circle at -30% 102%,rgba(224,179,78,.28),transparent 30%),
      linear-gradient(180deg,#fffefb 0%,#faf6ed 100%)!important;
    color:var(--ui-text)!important;
    border-right:1px solid #e6dfd3!important;
    box-shadow:9px 0 28px rgba(44,48,58,.05)!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
}
body.public-site .sidebar.premium-sidebar::after{
    content:"";position:absolute;left:-88px;bottom:-74px;width:260px;height:260px;border-radius:50%;
    border:2px solid rgba(214,161,47,.32);box-shadow:0 0 0 22px rgba(214,161,47,.055),0 0 0 48px rgba(214,161,47,.035);pointer-events:none;
}
body.public-site .sidebar-brand{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:7px!important;padding:2px 8px 14px!important;border-bottom:0!important;text-align:center!important;
    color:var(--ui-navy)!important;
}
body.public-site .sidebar-logo-frame{
    width:68px!important;height:68px!important;border-radius:18px!important;padding:8px!important;
    background:#fff!important;border:1px solid #ece6dc!important;box-shadow:0 8px 22px rgba(48,53,61,.07)!important;
}
body.public-site .sidebar-brand strong{font-size:13px!important;color:var(--ui-navy)!important;line-height:1.2}
body.public-site .sidebar-brand span{font-size:10px!important;color:#857b6e!important;margin-top:2px!important}
body.public-site .sidebar-menu{display:grid!important;gap:4px!important;margin-top:8px!important;position:relative;z-index:2}
body.public-site .menu-group{display:grid;gap:2px}
body.public-site .menu-item{
    min-height:48px!important;width:100%!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;
    align-items:center!important;gap:8px!important;padding:6px 8px!important;margin:0!important;border-radius:12px!important;
    border:1px solid transparent!important;background:transparent!important;color:#34425a!important;box-shadow:none!important;transform:none!important;
}
body.public-site .menu-item::after{display:none!important}
body.public-site .menu-item img{
    width:32px!important;height:32px!important;padding:6px!important;border-radius:10px!important;background:#fff!important;
    border:1px solid #ece6dc!important;box-shadow:0 4px 10px rgba(42,48,57,.045)!important;object-fit:contain!important;
}
body.public-site .menu-item strong{font-size:12px!important;color:#30405a!important;line-height:1.25!important}
body.public-site .menu-item span{font-size:8.5px!important;color:#9b9184!important;margin-top:1px!important;line-height:1.25!important}
body.public-site .menu-item .chevron{font-size:13px;color:#aa9b80;justify-self:end}
body.public-site .menu-item:hover{background:#fff!important;border-color:#e9e3d9!important;box-shadow:0 6px 15px rgba(46,51,60,.04)!important}
body.public-site .menu-item.active,
body.public-site .menu-toggle.active{
    background:linear-gradient(135deg,#0c326f,#174b8e)!important;border-color:#0c326f!important;color:#fff!important;
    box-shadow:0 8px 20px rgba(12,50,111,.14)!important;
}
body.public-site .menu-item.active strong,
body.public-site .menu-item.active span,
body.public-site .menu-toggle.active strong,
body.public-site .menu-toggle.active span{color:#fff!important}
body.public-site .menu-item.active .chevron,
body.public-site .menu-toggle.active .chevron{color:#f3cc69!important}
body.public-site .menu-item.active img,
body.public-site .menu-toggle.active img{background:#fff!important;border-color:#fff!important}
body.public-site .submenu{
    margin:0 0 4px 41px!important;padding:3px 5px 3px 8px!important;border-left:1px solid #ded5c7!important;display:none;
}
body.public-site .menu-group.open .submenu{display:grid!important;gap:1px}
body.public-site .submenu a{padding:7px 8px!important;border-radius:8px!important;font-size:9px!important;color:#59667a!important;text-decoration:none!important}
body.public-site .submenu a:hover,body.public-site .submenu a.active{background:#fff!important;color:var(--ui-navy)!important}
body.public-site .sidebar-footer{
    margin-top:auto!important;padding:22px 12px 2px!important;border:0!important;color:#a9a093!important;line-height:1.65!important;letter-spacing:.16em!important;font-size:7px!important;position:relative;z-index:2;
}
body.public-site .sidebar-school-return{font-size:9px!important;margin:4px 2px!important;padding:8px 10px!important;border-radius:10px!important;background:#fff!important;color:var(--ui-navy)!important;border:1px solid #ebe4d9!important}

/* Collapse handle — lives at center edge of the sidebar */
body.public-site .sidebar-collapse-toggle{
    display:grid!important;place-items:center!important;position:fixed!important;
    left:calc(var(--sidebar-width) - 17px)!important;top:50%!important;transform:translateY(-50%)!important;
    width:34px!important;height:62px!important;border-radius:0 16px 16px 0!important;
    border:1px solid #ded9cf!important;border-left:0!important;background:#fff!important;color:var(--ui-navy)!important;
    box-shadow:7px 6px 20px rgba(35,42,51,.09)!important;z-index:130!important;font-size:26px!important;
}
body.public-site.sidebar-collapsed .sidebar-collapse-toggle{left:calc(var(--sidebar-collapsed-width) - 17px)!important}
body.public-site .public-sidebar-close{display:none}

/* Collapsed desktop sidebar */
body.public-site.sidebar-collapsed .sidebar.premium-sidebar{width:var(--sidebar-collapsed-width)!important;padding:12px 8px!important}
body.public-site.sidebar-collapsed .sidebar-brand{padding-bottom:10px!important}
body.public-site.sidebar-collapsed .sidebar-logo-frame{width:52px!important;height:52px!important;padding:6px!important;border-radius:14px!important}
body.public-site.sidebar-collapsed .sidebar-brand>div,
body.public-site.sidebar-collapsed .menu-item>div,
body.public-site.sidebar-collapsed .menu-item .chevron,
body.public-site.sidebar-collapsed .submenu,
body.public-site.sidebar-collapsed .sidebar-footer,
body.public-site.sidebar-collapsed .sidebar-school-return{display:none!important}
body.public-site.sidebar-collapsed .menu-item{grid-template-columns:1fr!important;width:52px!important;height:48px!important;min-height:48px!important;padding:7px!important;margin:0 auto!important;place-items:center!important}
body.public-site.sidebar-collapsed .menu-item img{width:34px!important;height:34px!important}

/* Home hero — use the original corrected banner image. */
body.public-site.page-index .home-image-hero{
    margin:14px 18px 0!important;width:auto!important;height:auto!important;aspect-ratio:1672/941!important;
    border-radius:18px!important;overflow:hidden!important;border:1px solid #e4e8ef!important;background:#fff!important;
    box-shadow:0 12px 34px rgba(34,49,73,.08)!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .home-image-hero .hero-slide{height:100%!important;min-height:0!important}
body.public-site.page-index .home-image-hero .hero-slide{position:absolute!important;inset:0!important;display:block!important;background:#fff!important}
body.public-site.page-index .home-image-hero .hero-slide img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
body.public-site.page-index .hero-carousel-arrow{width:38px!important;height:38px!important;border-radius:12px!important;background:rgba(9,38,89,.74)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important}
body.public-site.page-index .hero-carousel-dots{bottom:10px!important;background:rgba(255,255,255,.80)!important;border:1px solid rgba(255,255,255,.7)!important}
body.public-site.page-index .hero-carousel-dots button{background:#bcc8d8!important}
body.public-site.page-index .hero-carousel-dots button.is-active{background:#d7a52c!important}

/* Mobile shortcuts are hidden on desktop */
body.public-site .mobile-home-shortcuts{display:none}

/* Statistics strip */
body.public-site.page-index .premium-stat-strip{padding:12px 18px 0!important}
body.public-site.page-index .premium-stat-strip .container{width:100%!important;max-width:none!important}
body.public-site.page-index .home-stat-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
body.public-site.page-index .home-stat-card{
    min-height:78px!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) 24px!important;align-items:center!important;gap:9px!important;
    padding:10px 12px!important;border-radius:16px!important;background:#fff!important;border:1px solid #e6eaf0!important;box-shadow:0 7px 20px rgba(34,47,68,.045)!important;text-decoration:none!important;
}
body.public-site.page-index .home-stat-card::after{display:none!important}
body.public-site.page-index .home-stat-card .stat-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:22px;background:#eef4ff}
body.public-site.page-index .home-stat-card:nth-child(2) .stat-icon{background:#e9f8f2}
body.public-site.page-index .home-stat-card:nth-child(3) .stat-icon{background:#fff0ed}
body.public-site.page-index .home-stat-card:nth-child(4) .stat-icon{background:#fff6df}
body.public-site.page-index .home-stat-card div>span{display:block;font-size:9px;color:#7a8495;margin:0 0 2px!important}
body.public-site.page-index .home-stat-card strong{display:inline;font-size:22px!important;color:#112f65;line-height:1!important;margin-right:4px}
body.public-site.page-index .home-stat-card small{font-size:9px!important;color:#6f7a8b!important}
body.public-site.page-index .home-stat-card>b{justify-self:end;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f2f6fc;color:#40689f;font-size:18px}

/* Home dashboard cards */
body.public-site.page-index .home-dashboard-section{padding:10px 18px 6px!important}
body.public-site.page-index .home-dashboard-section .container{width:100%!important;max-width:none!important}
body.public-site.page-index .home-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.public-site.page-index .home-dashboard-card{background:#fff;border:1px solid #e4e9ef;border-radius:18px;box-shadow:0 8px 24px rgba(35,49,70,.05);overflow:hidden;min-width:0}
body.public-site.page-index .home-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid #eef1f5}
body.public-site.page-index .home-dashboard-heading>div{display:flex;align-items:center;gap:7px;min-width:0}
body.public-site.page-index .home-dashboard-heading strong{font-size:13px;color:#16345e}
body.public-site.page-index .home-dashboard-heading small{font-size:9px;color:#2467c7;margin-left:4px}
body.public-site.page-index .home-dashboard-heading>a{font-size:9px;font-weight:800;text-decoration:none;color:#2865bd;white-space:nowrap}
body.public-site.page-index .live-dot{width:9px;height:9px;border-radius:50%;background:#ff3b45;box-shadow:0 0 0 3px #ffe5e7}
body.public-site.page-index .schedule-mini-icon{width:24px;height:24px;border-radius:7px;background:#edf4ff;color:#155cc6;display:grid;place-items:center;font-size:12px}
body.public-site.page-index .home-live-score-board{padding:10px}
body.public-site.page-index .home-live-score-board .live-score-grid{display:block!important}
body.public-site.page-index .home-live-score-board .live-score-sport{border:0!important;border-radius:14px!important;box-shadow:none!important;background:#f9fbff!important;overflow:hidden!important}
body.public-site.page-index .home-live-score-board .live-score-sport-head{padding:9px 11px!important;background:#f2f6fd!important;border-bottom:1px solid #e7edf7!important}
body.public-site.page-index .home-live-score-board .live-score-sport-head h3{font-size:12px!important;margin:0;color:#153d75!important}
body.public-site.page-index .home-live-score-board .live-score-match{padding:10px 11px!important;background:#fff!important}
body.public-site.page-index .home-live-score-board .live-score-match-list .live-score-match:not(:first-child){display:none!important}
body.public-site.page-index .home-live-score-board .live-score-versus{margin:8px 0 5px!important}
body.public-site.page-index .home-live-score-board .live-score-versus strong{font-size:10px!important}
body.public-site.page-index .home-live-score-board .live-score-versus b{width:34px!important;height:34px!important;min-width:34px!important;font-size:17px!important;border-radius:9px!important;background:#0f3978!important}
body.public-site.page-index .home-live-score-board .live-score-meta{font-size:8.5px!important}
body.public-site.page-index .home-live-score-board .live-score-foot{font-size:8px!important}
body.public-site.page-index .home-schedule-list{display:grid}
body.public-site.page-index .home-schedule-row{display:grid;grid-template-columns:48px 92px minmax(0,1fr) auto 16px;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid #eef1f5;text-decoration:none;color:#33435c}
body.public-site.page-index .home-schedule-row:last-child{border-bottom:0}
body.public-site.page-index .home-schedule-row time{font-size:9px;color:#5d6d84;font-weight:700}
body.public-site.page-index .home-schedule-row strong{font-size:10px;color:#243a5f}
body.public-site.page-index .home-schedule-row>span{font-size:8.5px;color:#7e8998;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.public-site.page-index .home-schedule-row em{font-style:normal;font-size:17px;color:#7790b5}
body.public-site.page-index .schedule-status{font-size:8px;padding:4px 7px;border-radius:999px;background:#edf2f8;color:#6b7687;white-space:nowrap}
body.public-site.page-index .schedule-status.live{background:#ffe6e8;color:#d53f4a}.schedule-status.finished{background:#edf8f3;color:#16765f}
body.public-site.page-index .home-schedule-empty{padding:28px 14px;color:#8b94a3;text-align:center;font-size:10px}

/* Lower homepage */
body.public-site.page-index .home-latest-results-section{padding:22px 18px 8px!important}
body.public-site.page-index .home-latest-results-section .container,
body.public-site.page-index .section-soft .container,
body.public-site.page-index #contact .container{width:100%!important;max-width:none!important}
body.public-site.page-index .section-soft{padding:18px!important;background:transparent!important}
body.public-site.page-index .news-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
body.public-site.page-index .news-card{border-radius:16px!important;overflow:hidden!important;background:#fff!important;border:1px solid #e5e9ef!important;box-shadow:0 7px 22px rgba(38,49,68,.045)!important}
body.public-site.page-index .news-card-image{aspect-ratio:16/8.3!important;object-fit:cover!important}
body.public-site.page-index .news-card-body{padding:10px 11px!important}
body.public-site.page-index .news-card h3{font-size:12px!important;line-height:1.4!important}
body.public-site.page-index .news-card p{font-size:9px!important;line-height:1.55!important}
body.public-site.page-index .section-heading{margin-bottom:10px!important}
body.public-site.page-index .section-heading .section-title{font-size:17px!important;color:#183760!important}
body.public-site.page-index .section-heading .eyebrow{font-size:8px!important;letter-spacing:.15em!important;color:#a67a20!important}
body.public-site.page-index .text-link{font-size:9px!important;color:#2866c1!important;font-weight:800!important}
body.public-site.page-index #contact{padding:12px 18px 28px!important}

/* Search result note */
body.public-site .public-search-summary{margin:14px 0;padding:11px 14px;border-radius:12px;background:#fff;border:1px solid #e2e7ee;color:#607087;font-size:11px}
body.public-site .public-search-summary strong{color:#0f3978}.public-search-summary a{float:right;color:#2466be;font-weight:700;text-decoration:none}

@media(max-width:1180px) and (min-width:821px){
    body.public-site{--sidebar-width:196px}
    body.public-site .topbar-search{max-width:360px}
    body.public-site .topbar-button{padding:8px 11px!important;font-size:10px!important}
    body.public-site .sidebar-brand strong{font-size:12px!important}
    body.public-site.page-index .home-schedule-row{grid-template-columns:42px 76px minmax(0,1fr) auto 14px}
}

@media(max-width:820px){
    body.public-site{--topbar-height:74px}
    body.public-site .page-content{margin-left:0!important;padding-top:var(--topbar-height)!important}
    body.public-site .site-footer{margin-left:0!important}
    body.public-site .topbar.public-premium-topbar{left:0!important;height:var(--topbar-height)!important;padding:0 14px!important;gap:9px!important}
    body.public-site .sidebar-toggle{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:14px!important;background:var(--ui-navy)!important;color:#fff!important;font-size:0!important;position:relative!important}
    body.public-site .sidebar-toggle::before{content:'☰';font-size:24px;line-height:1;color:#fff}
    body.public-site .topbar-back-button,
    body.public-site .topbar-search,
    body.public-site .topbar-notification,
    body.public-site .topbar-login-desktop{display:none!important}
    body.public-site .mobile-topbar-brand{display:flex!important;align-items:center;gap:8px;min-width:0;flex:1;text-decoration:none;color:var(--ui-navy)}
    body.public-site .mobile-topbar-brand img{display:none;width:30px;height:30px;object-fit:contain}
    body.public-site .mobile-topbar-brand strong{display:block;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    body.public-site .mobile-topbar-brand span{display:none;font-size:8px;color:#7f8998;margin-top:1px}
    body.public-site .mobile-login-trigger{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border-radius:13px;border:0;background:var(--ui-navy);color:#fff;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}

    body.public-site .sidebar.premium-sidebar,
    body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
        position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,300px)!important;
        transform:translateX(-104%)!important;transition:transform .22s ease!important;padding:calc(14px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom))!important;
        overflow-y:auto!important;z-index:160!important;
    }
    body.public-site.sidebar-open .sidebar.premium-sidebar{transform:translateX(0)!important}
    body.public-site .sidebar-brand{padding-right:42px!important}
    body.public-site .public-sidebar-close{display:grid!important;place-items:center!important;position:absolute!important;right:12px!important;top:calc(14px + env(safe-area-inset-top))!important;width:38px!important;height:38px!important;border-radius:12px!important;background:#fff!important;color:#1f4c84!important;border:1px solid #dfe6ef!important;font-size:24px!important;line-height:1!important;z-index:5!important}
    body.public-site .sidebar-collapse-toggle{display:none!important}
    body.public-site .sidebar-menu{margin-top:9px!important}
    body.public-site .menu-item{min-height:52px!important}
    body.public-site .menu-item img{width:34px!important;height:34px!important}
    body.public-site .sidebar-backdrop{z-index:150!important}

    body.public-site.page-index .home-image-hero{margin:0!important;border-radius:0!important;border:0!important;aspect-ratio:1672/941!important;box-shadow:none!important}
    body.public-site.page-index .home-image-hero .hero-slide img{object-fit:contain!important;background:#fff!important}
    body.public-site.page-index .hero-carousel-arrow{width:34px!important;height:34px!important;border-radius:10px!important}
    body.public-site.page-index .hero-carousel-dots{padding:4px 6px!important;bottom:7px!important}

    body.public-site .mobile-home-shortcuts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px 12px;background:#fff;border-bottom:1px solid #e8ebf0}
    body.public-site .mobile-home-shortcuts a{display:grid;place-items:center;gap:4px;text-align:center;text-decoration:none;color:#26416a;font-size:8px;font-weight:700;line-height:1.25}
    body.public-site .mobile-home-shortcuts img{width:38px;height:38px;padding:8px;border-radius:12px;background:#f1f5fb;border:1px solid #e8edf4;object-fit:contain}
    body.public-site .mobile-home-shortcuts a:nth-child(2) img{background:#edf9f3}body.public-site .mobile-home-shortcuts a:nth-child(3) img{background:#fff0ef}body.public-site .mobile-home-shortcuts a:nth-child(4) img{background:#fff8e9}

    body.public-site.page-index .premium-stat-strip{padding:10px 12px 0!important}
    body.public-site.page-index .home-stat-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
    body.public-site.page-index .home-stat-card{grid-template-columns:38px minmax(0,1fr)!important;min-height:68px!important;padding:9px 10px!important;border-radius:14px!important}
    body.public-site.page-index .home-stat-card .stat-icon{width:36px;height:36px;border-radius:10px;font-size:17px}
    body.public-site.page-index .home-stat-card>b{display:none!important}
    body.public-site.page-index .home-stat-card strong{font-size:19px!important}
    body.public-site.page-index .home-stat-card div>span{font-size:8px!important}
    body.public-site.page-index .home-stat-card small{font-size:8px!important}

    body.public-site.page-index .home-dashboard-section{padding:9px 12px 4px!important}
    body.public-site.page-index .home-dashboard-grid{grid-template-columns:1fr!important;gap:9px!important}
    body.public-site.page-index .home-dashboard-card{border-radius:15px!important}
    body.public-site.page-index .home-dashboard-heading{padding:9px 10px!important}
    body.public-site.page-index .home-dashboard-heading strong{font-size:11px!important}
    body.public-site.page-index .home-dashboard-heading>a{font-size:8px!important}
    body.public-site.page-index .home-live-score-board{padding:7px!important}
    body.public-site.page-index .home-live-score-board .live-score-match{padding:8px 9px!important}
    body.public-site.page-index .home-live-score-board .live-score-versus b{width:30px!important;height:30px!important;min-width:30px!important;font-size:15px!important}
    body.public-site.page-index .home-schedule-row{grid-template-columns:39px 70px minmax(0,1fr) auto!important;gap:5px!important;padding:8px 9px!important}
    body.public-site.page-index .home-schedule-row>span{display:none!important}
    body.public-site.page-index .home-schedule-row em{display:none!important}
    body.public-site.page-index .schedule-status{font-size:7px!important;padding:3px 5px!important}

    body.public-site.page-index .home-latest-results-section{padding:18px 12px 6px!important}
    body.public-site.page-index .section-soft{padding:14px 12px!important}
    body.public-site.page-index .news-grid{grid-template-columns:1fr!important;gap:8px!important}
    body.public-site.page-index .news-card:not(:first-child){display:none!important}
    body.public-site.page-index .news-card{display:grid!important;grid-template-columns:116px minmax(0,1fr)!important;min-height:108px!important}
    body.public-site.page-index .news-card-image{width:116px!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
    body.public-site.page-index .news-card-body{padding:9px!important}
    body.public-site.page-index .news-card h3{font-size:11px!important}
    body.public-site.page-index .news-card p{font-size:8px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    body.public-site.page-index #contact{padding:8px 12px 20px!important}
}

@media(max-width:430px){
    body.public-site .topbar.public-premium-topbar{padding:0 10px!important}
    body.public-site .sidebar-toggle{width:44px!important;height:44px!important}
    body.public-site .mobile-topbar-brand strong{font-size:12.5px}
    body.public-site .mobile-login-trigger{min-height:42px;padding:8px 10px;font-size:10px}
    body.public-site .mobile-home-shortcuts{padding:8px 9px;gap:5px}
    body.public-site .mobile-home-shortcuts img{width:34px;height:34px;padding:7px}
    body.public-site.page-index .premium-stat-strip{padding-left:9px!important;padding-right:9px!important}
    body.public-site.page-index .home-dashboard-section{padding-left:9px!important;padding-right:9px!important}
}
@media(max-width:820px){body.public-site .mobile-topbar-brand img{display:block!important}}
body.public-site .mobile-bottom-nav{display:none}
@media(max-width:820px){
  body.public-site .page-content{padding-bottom:74px!important}
  body.public-site .site-footer{margin-bottom:62px!important}
  body.public-site .mobile-bottom-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:120;display:grid!important;grid-template-columns:repeat(4,1fr);
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
    border-top:1px solid #e5e9ef;box-shadow:0 -7px 22px rgba(28,40,60,.08)
  }
  body.public-site .mobile-bottom-nav a{display:grid;place-items:center;gap:2px;min-height:46px;border-radius:12px;text-decoration:none;color:#6a778a;font-size:8px;font-weight:700}
  body.public-site .mobile-bottom-nav span{font-size:18px;line-height:1;color:#5e6f87}
  body.public-site .mobile-bottom-nav b{font-weight:800}
  body.public-site .mobile-bottom-nav a.is-active{background:#fff4d9;color:#173c72}
  body.public-site .mobile-bottom-nav a.is-active span{color:#123d7d}
}

/* ======================================================================
   APPROVED PUBLIC UI — 2026-09 exact mockup pass
   Ivory / White / Navy / Gold with larger colorful navigation.
   ====================================================================== */
body.public-site{
  --sidebar-width:248px;
  --sidebar-collapsed-width:84px;
  --topbar-height:68px;
  --mock-navy:#0b2f6d;
  --mock-navy-2:#114a96;
  --mock-blue:#1769db;
  --mock-gold:#d49a25;
  --mock-gold-soft:#fff4d6;
  --mock-green:#1daf6b;
  --mock-green-soft:#e9f8f0;
  --mock-red:#ef5350;
  --mock-red-soft:#fff0ef;
  --mock-cream:#fbf8f1;
  --mock-line:#e8e4db;
  --mock-ink:#152b50;
  --mock-muted:#778399;
  background:#f7f8fb;
}
body.public-site .page-content{background:#f7f8fb}
body.public-site .container{width:min(1400px,calc(100% - 36px));max-width:none}

/* Sidebar: large, colorful and readable; only menu area scrolls. */
body.public-site .sidebar.premium-sidebar{
  width:var(--sidebar-width);
  display:flex;
  flex-direction:column;
  overflow:visible;
  padding:16px 12px 18px;
  color:var(--mock-ink);
  background:
    radial-gradient(circle at 14% 100%,rgba(212,154,37,.16),transparent 25%),
    linear-gradient(180deg,#fffefa 0%,#fbf7ed 100%);
  border-right:1px solid #e5dfd3;
  box-shadow:10px 0 28px rgba(29,44,68,.07);
}
body.public-site .sidebar-brand{
  flex:0 0 auto;
  min-height:114px;
  padding:4px 9px 16px;
  gap:12px;
  color:var(--mock-navy);
  border-bottom:1px solid #ece5d9;
}
body.public-site .sidebar-logo-frame{
  width:76px;height:76px;padding:7px;border-radius:20px;
  background:#fff;border:1px solid #ece4d7;
  box-shadow:0 9px 22px rgba(37,47,63,.08);
}
body.public-site .sidebar-brand strong{font-size:16px;line-height:1.18;color:var(--mock-navy)}
body.public-site .sidebar-brand span{font-size:11px;color:#7c8798;margin-top:4px}
body.public-site .sidebar-school-return{flex:0 0 auto;margin-top:10px}
body.public-site .sidebar-menu{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#b7bdc6 transparent;
  padding:12px 5px 14px 2px;
  margin:0;
  display:grid;
  align-content:start;
  gap:7px;
}
body.public-site .sidebar-menu::-webkit-scrollbar{width:7px}
body.public-site .sidebar-menu::-webkit-scrollbar-track{background:transparent}
body.public-site .sidebar-menu::-webkit-scrollbar-thumb{background:#b7bdc6;border-radius:999px;border:2px solid #fbf7ed}
body.public-site .sidebar-footer{
  flex:0 0 auto;
  margin:0;
  padding:13px 9px 3px;
  border-top:1px solid #ece4d7;
  color:#9a907f;
  text-align:left;
  font-size:9px;
  line-height:1.75;
  letter-spacing:.16em;
}
body.public-site .menu-group{display:grid;gap:3px}
body.public-site .menu-item{
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  padding:7px 10px 7px 7px;
  border-radius:15px;
  border:1px solid transparent;
  color:#263a5d;
  background:transparent;
  box-shadow:none;
  transform:none;
}
body.public-site .menu-item:not(.menu-toggle):not(:has(.chevron)){grid-template-columns:46px minmax(0,1fr)}
body.public-site .menu-item::after{display:none!important}
body.public-site .menu-item img,
body.public-site .menu-symbol{
  width:44px;height:44px;display:grid;place-items:center;
  padding:8px;border-radius:13px;object-fit:contain;
  background:#edf4ff;border:1px solid #dce8fb;
  box-shadow:0 5px 13px rgba(28,63,111,.06);
  font-size:19px;line-height:1;
}
body.public-site .menu-home img{background:#fff5db;border-color:#f0ddb0}
body.public-site .menu-news img{background:#edf3ff;border-color:#dbe6fb}
body.public-site .menu-register img{background:#fff0e7;border-color:#f7dacb}
body.public-site .menu-schedule img{background:#eef4ff;border-color:#dce7fb}
body.public-site .menu-results img{background:#fff6df;border-color:#efdfb9}
body.public-site .menu-certificate img{background:#eef4ff;border-color:#dce7fb}
body.public-site .menu-schools .menu-symbol{background:#edf9f2;border-color:#d9efdf;color:#16885a}
body.public-site .menu-stats .menu-symbol{background:#fff5df;border-color:#f0dfb9;color:#a97208}
body.public-site .menu-help img{background:#edf4ff;border-color:#dce7fb}
body.public-site .menu-item strong{font-size:14px;line-height:1.18;color:#24395c;font-weight:900}
body.public-site .menu-item span:not(.menu-symbol){font-size:10px;line-height:1.3;color:#8791a1;margin-top:3px;opacity:1}
body.public-site .menu-item .chevron{font-size:15px;color:#9a8c70;justify-self:end}
body.public-site .menu-item:hover{background:#fff;border-color:#e8e1d6;box-shadow:0 7px 18px rgba(31,45,67,.055);transform:none}
body.public-site .menu-item.active,
body.public-site .menu-toggle.active{
  background:linear-gradient(135deg,#0a3476 0%,#124d92 100%);
  color:#fff;border-color:#0d3d80;
  box-shadow:0 10px 24px rgba(11,50,111,.17);
}
body.public-site .menu-item.active strong,
body.public-site .menu-item.active span:not(.menu-symbol),
body.public-site .menu-toggle.active strong,
body.public-site .menu-toggle.active span:not(.menu-symbol){color:#fff}
body.public-site .menu-item.active .chevron,body.public-site .menu-toggle.active .chevron{color:#ffd263}
body.public-site .menu-item.active img,body.public-site .menu-toggle.active img{background:#fff;border-color:#fff}
body.public-site .submenu{margin:1px 7px 5px 54px;padding:5px 0 5px 10px;border-left:1px solid #ded7ca}
body.public-site .submenu a{font-size:11px;padding:8px 10px;border-radius:9px;color:#5d687b}
body.public-site .submenu a:hover,body.public-site .submenu a.active{background:#fff;color:#0c3e82;font-weight:800}

/* Collapse control lives OUTSIDE the sidebar scrollbar. */
body.public-site .sidebar-collapse-toggle{
  position:fixed;
  left:calc(var(--sidebar-width) + 9px);
  top:50%;
  transform:translateY(-50%);
  width:34px;height:58px;
  z-index:145;
  border-radius:0 16px 16px 0;
  border:1px solid #dfe4eb;
  border-left:0;
  background:#fff;
  color:#0b3e82;
  box-shadow:7px 0 17px rgba(32,46,67,.09);
  font-size:24px;
}
body.public-site .sidebar-collapse-toggle:hover{background:#fff8e7;transform:translateY(-50%)}
body.public-site.sidebar-collapsed .sidebar-collapse-toggle{left:calc(var(--sidebar-collapsed-width) + 9px)}
body.public-site.sidebar-collapsed .sidebar.premium-sidebar{width:var(--sidebar-collapsed-width);padding:13px 8px 16px;overflow:visible}
body.public-site.sidebar-collapsed .sidebar-menu{padding-left:0;padding-right:0}
body.public-site.sidebar-collapsed .sidebar-brand{min-height:82px;padding:2px 0 12px;justify-content:center}
body.public-site.sidebar-collapsed .sidebar-logo-frame{width:58px;height:58px;border-radius:16px}
body.public-site.sidebar-collapsed .menu-item{width:62px;min-height:58px;grid-template-columns:1fr;padding:7px;margin:0 auto}
body.public-site.sidebar-collapsed .menu-item img,
body.public-site.sidebar-collapsed .menu-symbol{width:44px;height:44px}
body.public-site.sidebar-collapsed .sidebar-footer{display:none!important}

/* Top bar */
body.public-site .topbar.public-premium-topbar{
  left:var(--sidebar-width);
  height:var(--topbar-height);
  padding:0 22px 0 28px;
  gap:12px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e8e9ec;
  box-shadow:0 5px 20px rgba(31,44,66,.05);
}
body.public-site.sidebar-collapsed .topbar.public-premium-topbar{left:var(--sidebar-collapsed-width)}
body.public-site .topbar-back-button{width:38px;height:38px;border-radius:11px;border:1px solid #dfe6f0;background:#f7f9fc;color:#0b3b7b;font-size:26px}
body.public-site .topbar-search{height:40px;max-width:520px;flex:1;margin-right:auto;border:1px solid #dfe5ee;background:#fff;border-radius:12px;box-shadow:0 4px 13px rgba(25,43,70,.04)}
body.public-site .topbar-search input{font-size:11px}
body.public-site .topbar-notification{width:38px;height:38px;background:#fff;border:1px solid #e2e6ed;border-radius:11px}
body.public-site .topbar-button{min-height:40px;padding:9px 16px;border-radius:12px;font-size:11px;font-weight:900}
body.public-site .topbar-user{background:#0b3474;color:#fff;border-color:#0b3474}
body.public-site .topbar-committee{background:#f2f6fd;color:#235ba7;border-color:#dce7f7}
body.public-site .topbar-admin{background:#fff8e9;color:#936717;border-color:#eadbb8}

/* Home hero: same corrected banner image; wide crop on desktop, full image on mobile. */
body.public-site.page-index .page-content{padding-top:var(--topbar-height)}
body.public-site.page-index .home-image-hero{
  margin:10px 18px 0;
  border-radius:16px;
  overflow:hidden;
  height:356px;
  aspect-ratio:auto!important;
  background:#dceaff;
  border:1px solid #dce5f1;
  box-shadow:0 12px 30px rgba(20,57,105,.09);
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .home-image-hero .hero-slide{height:100%!important}
body.public-site.page-index .home-image-hero .hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 47%;display:block}
body.public-site.page-index .hero-carousel-arrow{width:38px;height:54px;border-radius:14px;background:rgba(8,39,86,.72);color:#fff;border:1px solid rgba(255,255,255,.24)}
body.public-site.page-index .hero-carousel-dots{bottom:11px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px)}

/* KPI strip */
body.public-site.page-index .premium-stat-strip{padding:10px 18px 0;background:transparent}
body.public-site.page-index .premium-stat-strip>.container{width:100%;max-width:none}
body.public-site.page-index .home-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body.public-site.page-index .home-stat-card{
  min-height:84px;grid-template-columns:64px minmax(0,1fr) 30px;gap:12px;
  padding:10px 12px;border-radius:15px;background:#fff;border:1px solid #e7e9ee;
  box-shadow:0 6px 20px rgba(31,45,67,.055);
}
body.public-site.page-index .home-stat-card .stat-icon{width:58px;height:58px;border-radius:14px;font-size:27px;background:#e9f1ff;color:#1769db}
body.public-site.page-index .home-stat-card:nth-child(2) .stat-icon{background:#e7f8ee;color:#18a966}
body.public-site.page-index .home-stat-card:nth-child(3) .stat-icon{background:#fff0ef;color:#ef5c5c}
body.public-site.page-index .home-stat-card:nth-child(4) .stat-icon{background:#fff5dc;color:#bc8215}
body.public-site.page-index .home-stat-card div>span{font-size:10px;color:#66748a}
body.public-site.page-index .home-stat-card strong{font-size:26px;color:#0f326a;line-height:1}
body.public-site.page-index .home-stat-card small{font-size:10px;color:#778399;margin-left:3px}
body.public-site.page-index .home-stat-card>b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#edf3ff;color:#1769db;font-size:19px}
body.public-site.page-index .home-stat-card:nth-child(2)>b{background:#e9f8f0;color:#18a966}
body.public-site.page-index .home-stat-card:nth-child(3)>b{background:#fff0ef;color:#ef5350}
body.public-site.page-index .home-stat-card:nth-child(4)>b{background:#fff5dc;color:#b67a0c}

/* Main two-column dashboard */
body.public-site.page-index .home-dashboard-section{padding:10px 18px 0;background:transparent}
body.public-site.page-index .home-dashboard-section>.container{width:100%;max-width:none}
body.public-site.page-index .home-dashboard-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:12px}
body.public-site.page-index .home-dashboard-card{border:1px solid #e4e8ef;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(30,45,68,.055);overflow:hidden}
body.public-site.page-index .home-dashboard-heading{min-height:48px;padding:9px 13px;border-bottom:1px solid #edf0f4;background:#fff}
body.public-site.page-index .home-dashboard-heading strong{font-size:14px;color:#0d326c}
body.public-site.page-index .home-dashboard-heading small{font-size:9px;color:#1769db;margin-left:10px}
body.public-site.page-index .home-dashboard-heading>a{font-size:9px;padding:6px 9px;border-radius:999px;background:#f0f5ff;color:#1769db;text-decoration:none;font-weight:900}
body.public-site.page-index .home-live-score-board{padding:9px}
body.public-site.page-index .home-live-score-board .live-score-sport{border:0!important;box-shadow:none!important;background:#fff!important}
body.public-site.page-index .home-live-score-board .live-score-sport-head{background:#f8fafc!important;border-radius:10px!important;padding:8px 10px!important}
body.public-site.page-index .home-live-score-board .live-score-match{border-radius:12px!important;border:1px solid #e8ecf2!important;background:#fff!important;margin-top:7px!important;padding:10px 12px!important}
body.public-site.page-index .home-live-score-board .live-score-versus b{background:#0d3f86!important;color:#fff!important}
body.public-site.page-index .home-schedule-list{padding:3px 10px 9px}
body.public-site.page-index .home-schedule-row{min-height:45px;grid-template-columns:50px 110px minmax(0,1fr) auto 14px;gap:8px;padding:7px 5px;border-bottom:1px solid #eef1f5}
body.public-site.page-index .home-schedule-row time{font-size:10px;color:#52627a}
body.public-site.page-index .home-schedule-row strong{font-size:10px;color:#1e3860}
body.public-site.page-index .home-schedule-row span{font-size:9px;color:#7b879a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.public-site.page-index .schedule-status{font-size:8px;padding:5px 8px;border-radius:999px}

/* Announcement cards match approved mockup. Results stay available from the menu/page, but not between dashboard and news. */
body.public-site.page-index .home-latest-results-section{display:none!important}
body.public-site.page-index .section-soft{padding:10px 18px 18px;background:transparent}
body.public-site.page-index .section-soft>.container{width:100%;max-width:none}
body.public-site.page-index .section-heading{margin-bottom:8px}
body.public-site.page-index .section-heading .eyebrow{display:none}
body.public-site.page-index .section-heading .section-title{font-size:15px;color:#0e326b;margin:0}
body.public-site.page-index .section-heading .text-link{font-size:9px;padding:5px 9px;border-radius:999px;background:#f1f6ff;text-decoration:none}
body.public-site.page-index .news-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body.public-site.page-index .news-card{border-radius:14px;border:1px solid #e5e8ee;background:#fff;box-shadow:0 6px 18px rgba(30,45,68,.05);overflow:hidden}
body.public-site.page-index .news-card-image{width:100%;aspect-ratio:16/6.6;object-fit:cover}
body.public-site.page-index .news-card-body{padding:9px 10px 10px}
body.public-site.page-index .news-badge{font-size:8px;padding:3px 6px;border-radius:999px;background:#ef5350;color:#fff;width:max-content}
body.public-site.page-index .news-card h3{font-size:11px;line-height:1.35;margin:6px 0 3px;color:#17345e}
body.public-site.page-index .news-card p{font-size:8.5px;line-height:1.45;color:#788397;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.public-site.page-index .news-card-meta{margin-top:7px;font-size:8px}.news-card-meta strong{color:#1769db}
body.public-site.page-index #contact{padding-top:8px}

/* Mobile: same visual language, not a shrunk desktop. */
@media(max-width:820px){
  body.public-site{--topbar-height:72px}
  body.public-site .topbar.public-premium-topbar{left:0!important;height:var(--topbar-height)!important;padding:0 12px!important;background:#fff!important}
  body.public-site .sidebar-toggle{width:46px!important;height:46px!important;border-radius:13px!important;background:#0b3474!important}
  body.public-site .mobile-topbar-brand img{display:block!important;width:34px!important;height:34px!important}
  body.public-site .mobile-topbar-brand strong{font-size:13px!important;color:#17345f!important}
  body.public-site .mobile-topbar-brand span{display:block!important;font-size:7.5px!important}
  body.public-site .mobile-login-trigger{min-height:42px!important;border-radius:12px!important;background:#0b3474!important;font-size:10px!important;padding:8px 11px!important}
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    width:min(88vw,320px)!important;transform:translateX(-104%)!important;
    overflow:hidden!important;padding:calc(12px + env(safe-area-inset-top)) 11px calc(14px + env(safe-area-inset-bottom))!important;
  }
  body.public-site.sidebar-open .sidebar.premium-sidebar{transform:translateX(0)!important}
  body.public-site .sidebar-menu{overflow-y:auto!important;padding:9px 4px 12px 1px!important}
  body.public-site .sidebar-brand{min-height:94px!important;padding-right:44px!important}
  body.public-site .sidebar-logo-frame{width:64px!important;height:64px!important}
  body.public-site .menu-item{min-height:56px!important;grid-template-columns:43px minmax(0,1fr) 18px!important;padding:6px 9px 6px 6px!important}
  body.public-site .menu-item:not(.menu-toggle):not(:has(.chevron)){grid-template-columns:43px minmax(0,1fr)!important}
  body.public-site .menu-item img,body.public-site .menu-symbol{width:41px!important;height:41px!important;padding:7px!important}
  body.public-site .menu-item strong{font-size:13px!important}.menu-item span:not(.menu-symbol){font-size:9px!important}
  body.public-site .sidebar-collapse-toggle{display:none!important}
  body.public-site .public-sidebar-close{right:10px!important;top:calc(12px + env(safe-area-inset-top))!important;width:38px!important;height:38px!important;background:#fff!important}

  body.public-site.page-index .home-image-hero{
    margin:0!important;border-radius:0!important;border:0!important;
    height:auto!important;aspect-ratio:1672/941!important;background:#fff!important;box-shadow:none!important;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .home-image-hero .hero-slide{height:100%!important}
  body.public-site.page-index .home-image-hero .hero-slide img{object-fit:contain!important;object-position:center!important;background:#fff!important}
  body.public-site.page-index .hero-carousel-arrow{width:32px!important;height:42px!important;border-radius:11px!important}

  body.public-site .mobile-home-shortcuts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px 10px;background:#fff;border-bottom:1px solid #eceef2}
  body.public-site .mobile-home-shortcuts a{min-width:0;display:grid;place-items:center;gap:3px;text-align:center;text-decoration:none;color:#365071;font-size:7.5px;font-weight:800;line-height:1.2}
  body.public-site .mobile-home-shortcuts img{width:38px!important;height:38px!important;padding:8px!important;border-radius:12px!important}

  body.public-site.page-index .premium-stat-strip{display:none!important}
  body.public-site.page-index .home-dashboard-section{padding:9px 9px 3px!important}
  body.public-site.page-index .home-dashboard-grid{display:block!important}
  body.public-site.page-index .home-schedule-card{display:none!important}
  body.public-site.page-index .home-dashboard-card{border-radius:15px!important}
  body.public-site.page-index .home-dashboard-heading{min-height:43px!important;padding:8px 9px!important}
  body.public-site.page-index .home-dashboard-heading strong{font-size:11px!important}
  body.public-site.page-index .home-dashboard-heading>a{font-size:7.5px!important;padding:5px 7px!important}
  body.public-site.page-index .home-live-score-board{padding:7px!important}
  body.public-site.page-index .home-live-score-board .live-score-match{padding:8px!important}

  body.public-site.page-index .section-soft{padding:8px 9px 14px!important}
  body.public-site.page-index .section-heading .section-title{font-size:13px!important}
  body.public-site.page-index .news-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body.public-site.page-index .news-card:not(:first-child){display:none!important}
  body.public-site.page-index .news-card{grid-template-columns:118px minmax(0,1fr)!important;min-height:108px!important;border-radius:13px!important}
  body.public-site.page-index .news-card-image{width:118px!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important}
  body.public-site.page-index .news-card-body{padding:8px!important}
  body.public-site.page-index .news-card h3{font-size:10px!important}.news-card p{font-size:7.5px!important}
  body.public-site.page-index #contact{display:none!important}

  body.public-site .mobile-bottom-nav{background:rgba(255,255,255,.97)!important;border-top:1px solid #e9e9e9!important}
  body.public-site .mobile-bottom-nav a{font-size:7.5px!important}.mobile-bottom-nav span{font-size:17px!important}
  body.public-site .mobile-bottom-nav a.is-active{background:#fff1cf!important;color:#173a71!important}
}

@media(max-width:430px){
  body.public-site .topbar.public-premium-topbar{padding:0 9px!important;gap:7px!important}
  body.public-site .sidebar-toggle{width:43px!important;height:43px!important}.sidebar-toggle::before{font-size:22px!important}
  body.public-site .mobile-topbar-brand img{width:31px!important;height:31px!important}.mobile-topbar-brand strong{font-size:11.8px!important}.mobile-topbar-brand span{display:none!important}
  body.public-site .mobile-login-trigger{min-height:40px!important;padding:7px 9px!important;font-size:9px!important}
  body.public-site .mobile-home-shortcuts{gap:5px;padding:8px}.mobile-home-shortcuts img{width:34px!important;height:34px!important;padding:7px!important}
}
/* Compatibility: avoid relying on :has() for menu grid sizing. */
body.public-site .menu-item{grid-template-columns:46px minmax(0,1fr)}
body.public-site .menu-item.menu-toggle{grid-template-columns:46px minmax(0,1fr) 18px}
@media(max-width:820px){
  body.public-site .menu-item{grid-template-columns:43px minmax(0,1fr)!important}
  body.public-site .menu-item.menu-toggle{grid-template-columns:43px minmax(0,1fr) 18px!important}
}

/* ======================================================================
   FINAL SIDEBAR CLARITY PASS — distinct menu colors, larger navigation,
   collapse handle separated from the scroll rail. 2026-09-29
   ====================================================================== */
@media (min-width:821px){
  body.public-site{
    --sidebar-width:286px;
    --sidebar-collapsed-width:88px;
  }

  body.public-site .sidebar.premium-sidebar{
    width:var(--sidebar-width)!important;
    padding:14px 12px 16px!important;
    overflow:visible!important;
    background:
      radial-gradient(circle at 10% 98%,rgba(239,181,56,.18),transparent 25%),
      linear-gradient(180deg,#fffdf7 0%,#fff9ed 60%,#faf1dd 100%)!important;
    border-right:1px solid #e3d6bc!important;
    box-shadow:10px 0 28px rgba(25,42,69,.09)!important;
  }

  body.public-site .sidebar-brand{
    min-height:132px!important;
    padding:4px 8px 15px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
    text-align:center!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(228,214,187,.8)!important;
    border-radius:20px!important;
    box-shadow:0 8px 20px rgba(43,51,65,.055)!important;
  }
  body.public-site .sidebar-logo-frame{
    width:82px!important;
    height:82px!important;
    min-width:82px!important;
    padding:8px!important;
    border-radius:18px!important;
    display:grid!important;
    place-items:center!important;
    background:#fff!important;
    border:1px solid #eadfc9!important;
    box-shadow:0 7px 18px rgba(31,45,68,.07)!important;
    overflow:hidden!important;
  }
  body.public-site .sidebar-logo-frame img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block!important;
  }
  body.public-site .sidebar-brand>div{min-width:0!important;width:100%!important}
  body.public-site .sidebar-brand strong{font-size:16px!important;line-height:1.15!important;color:#0b3474!important}
  body.public-site .sidebar-brand span{font-size:10px!important;margin-top:3px!important;color:#697890!important}

  /* Leave a dedicated gap at the right side for the collapse handle so it
     never covers the sidebar's own vertical scrollbar. */
  body.public-site .sidebar-menu{
    width:auto!important;
    margin:9px 16px 0 0!important;
    padding:3px 2px 12px 1px!important;
    gap:8px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:stable!important;
    scrollbar-width:thin!important;
    scrollbar-color:#8f9aac transparent!important;
  }
  body.public-site .sidebar-menu::-webkit-scrollbar{width:6px!important}
  body.public-site .sidebar-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.45)!important;border-radius:999px!important}
  body.public-site .sidebar-menu::-webkit-scrollbar-thumb{background:#8f9aac!important;border:0!important;border-radius:999px!important}

  body.public-site .menu-group{gap:4px!important}
  body.public-site .menu-item{
    min-height:68px!important;
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:11px!important;
    padding:8px 12px 8px 9px!important;
    border-radius:16px!important;
    border:1px solid #e5e9ef!important;
    box-shadow:0 5px 13px rgba(28,42,65,.045)!important;
    position:relative!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.public-site .menu-item.menu-toggle{grid-template-columns:50px minmax(0,1fr) 20px!important}
  body.public-site .menu-item::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;top:9px!important;bottom:9px!important;
    width:4px!important;border-radius:0 6px 6px 0!important;
    background:var(--menu-accent,#1769db)!important;
  }
  body.public-site .menu-item img,
  body.public-site .menu-symbol{
    width:48px!important;height:48px!important;
    min-width:48px!important;
    border-radius:14px!important;
    padding:8px!important;
    background:var(--menu-icon-bg,#eef4ff)!important;
    border:1px solid var(--menu-icon-border,#dce7fb)!important;
    color:var(--menu-accent,#1769db)!important;
    box-shadow:0 4px 10px rgba(31,48,75,.055)!important;
  }
  body.public-site .menu-item strong{font-size:15px!important;line-height:1.15!important;color:#18345e!important;font-weight:900!important}
  body.public-site .menu-item span:not(.menu-symbol){font-size:10px!important;line-height:1.25!important;color:#718098!important;margin-top:4px!important}
  body.public-site .menu-item .chevron{font-size:17px!important;color:var(--menu-accent,#1769db)!important}

  /* Each main menu gets its own obvious color family. */
  body.public-site .menu-home{--menu-accent:#0f5bd8;--menu-icon-bg:#e8f1ff;--menu-icon-border:#cfe0ff;background:linear-gradient(135deg,#f7fbff,#eef5ff)!important;border-color:#cfddf2!important}
  body.public-site .menu-news{--menu-accent:#ef5d52;--menu-icon-bg:#fff0ed;--menu-icon-border:#ffd4cd;background:linear-gradient(135deg,#fffafa,#fff1ee)!important;border-color:#f5d3ce!important}
  body.public-site .menu-register{--menu-accent:#0b9f76;--menu-icon-bg:#e7f8f1;--menu-icon-border:#c7ebdc;background:linear-gradient(135deg,#f8fffc,#eaf9f3)!important;border-color:#cae8dc!important}
  body.public-site .menu-schedule{--menu-accent:#7258d8;--menu-icon-bg:#f0edff;--menu-icon-border:#ddd5ff;background:linear-gradient(135deg,#fcfbff,#f1efff)!important;border-color:#ddd8f5!important}
  body.public-site .menu-results{--menu-accent:#c58416;--menu-icon-bg:#fff4da;--menu-icon-border:#f0d9a7;background:linear-gradient(135deg,#fffdf7,#fff4dc)!important;border-color:#ead9b6!important}
  body.public-site .menu-certificate{--menu-accent:#3269ca;--menu-icon-bg:#edf3ff;--menu-icon-border:#d7e3fb;background:linear-gradient(135deg,#fbfdff,#eef4ff)!important;border-color:#d6e1f3!important}
  body.public-site .menu-schools{--menu-accent:#247aaf;--menu-icon-bg:#e8f5fb;--menu-icon-border:#cbe4f0;background:linear-gradient(135deg,#f8fdff,#edf8fc)!important;border-color:#cfe5ed!important}
  body.public-site .menu-stats{--menu-accent:#329553;--menu-icon-bg:#eaf8ee;--menu-icon-border:#cfebd8;background:linear-gradient(135deg,#fbfffc,#edf9f0)!important;border-color:#cfe7d6!important}
  body.public-site .menu-help{--menu-accent:#c67023;--menu-icon-bg:#fff0e2;--menu-icon-border:#f0d5bb;background:linear-gradient(135deg,#fffaf6,#fff1e6)!important;border-color:#ecd7c4!important}

  body.public-site .menu-item:hover{
    transform:translateX(2px)!important;
    box-shadow:0 9px 18px rgba(26,43,70,.09)!important;
    filter:saturate(1.08)!important;
  }
  body.public-site .menu-item.active,
  body.public-site .menu-toggle.active{
    background:linear-gradient(135deg,#0a3375,#1156a7)!important;
    border-color:#0d448f!important;
    box-shadow:0 10px 22px rgba(9,50,113,.22)!important;
  }
  body.public-site .menu-item.active::before,
  body.public-site .menu-toggle.active::before{background:#ffd04d!important;width:5px!important}
  body.public-site .menu-item.active strong,
  body.public-site .menu-toggle.active strong{color:#fff!important}
  body.public-site .menu-item.active span:not(.menu-symbol),
  body.public-site .menu-toggle.active span:not(.menu-symbol){color:#dfeaff!important}
  body.public-site .menu-item.active .chevron,
  body.public-site .menu-toggle.active .chevron{color:#ffd45e!important}
  body.public-site .menu-item.active img,
  body.public-site .menu-toggle.active img,
  body.public-site .menu-item.active .menu-symbol{background:#fff!important;border-color:#fff!important}

  /* Submenus are clearly nested, but not washed together with the parent. */
  body.public-site .submenu{
    margin:2px 2px 2px 60px!important;
    padding:5px 0 5px 10px!important;
    border-left:2px solid #d8deea!important;
    gap:3px!important;
  }
  body.public-site .submenu a{
    min-height:36px!important;
    padding:9px 10px!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(225,229,236,.9)!important;
    color:#4d607c!important;
    font-size:11.5px!important;
  }
  body.public-site .submenu a:hover,
  body.public-site .submenu a.active{background:#fff!important;color:#0a438c!important;border-color:#cddbf0!important;box-shadow:0 4px 10px rgba(27,48,79,.05)!important}

  /* Collapse control occupies its own outside rail; it never covers the scroll thumb. */
  body.public-site .sidebar-collapse-toggle{
    left:calc(var(--sidebar-width) + 4px)!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:38px!important;height:64px!important;
    border-radius:0 17px 17px 0!important;
    border:1px solid #d8dfeb!important;
    border-left:0!important;
    background:#fff!important;
    color:#0b438d!important;
    box-shadow:7px 0 18px rgba(24,42,68,.12)!important;
    z-index:180!important;
  }
  body.public-site .sidebar-collapse-toggle:hover{background:#fff4d8!important;color:#0a3475!important}
  body.public-site.sidebar-collapsed .sidebar-collapse-toggle{left:calc(var(--sidebar-collapsed-width) + 4px)!important}

  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{width:var(--sidebar-collapsed-width)!important;padding:10px 7px 14px!important}
  body.public-site.sidebar-collapsed .sidebar-brand{min-height:90px!important;padding:8px!important;border-radius:16px!important}
  body.public-site.sidebar-collapsed .sidebar-logo-frame{width:62px!important;height:62px!important;min-width:62px!important;padding:7px!important}
  body.public-site.sidebar-collapsed .sidebar-brand>div{display:none!important}
  body.public-site.sidebar-collapsed .sidebar-menu{margin-right:0!important;padding-right:0!important;scrollbar-width:none!important}
  body.public-site.sidebar-collapsed .sidebar-menu::-webkit-scrollbar{display:none!important}
  body.public-site.sidebar-collapsed .menu-item{width:68px!important;min-height:62px!important;padding:7px!important;grid-template-columns:1fr!important;margin:0 auto!important;border-radius:16px!important}
  body.public-site.sidebar-collapsed .menu-item::before{display:none!important}
  body.public-site.sidebar-collapsed .menu-item img,
  body.public-site.sidebar-collapsed .menu-symbol{width:48px!important;height:48px!important}
  body.public-site.sidebar-collapsed .menu-group{display:block!important}

  /* Keep page/topbar aligned after widening the sidebar. */
  body.public-site .topbar.public-premium-topbar{left:var(--sidebar-width)!important}
  body.public-site .page-content{margin-left:var(--sidebar-width)!important}
  body.public-site.sidebar-collapsed .topbar.public-premium-topbar{left:var(--sidebar-collapsed-width)!important}
  body.public-site.sidebar-collapsed .page-content{margin-left:var(--sidebar-collapsed-width)!important}
}

@media (min-width:821px) and (max-width:1180px){
  body.public-site{--sidebar-width:266px}
  body.public-site .menu-item{min-height:64px!important;grid-template-columns:47px minmax(0,1fr)!important;padding-right:9px!important}
  body.public-site .menu-item.menu-toggle{grid-template-columns:47px minmax(0,1fr) 18px!important}
  body.public-site .menu-item img,body.public-site .menu-symbol{width:45px!important;height:45px!important}
  body.public-site .menu-item strong{font-size:14px!important}
}

/* Mobile drawer: same distinct categories, larger tap targets and typography. */
@media (max-width:820px){
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    width:min(91vw,350px)!important;
    background:linear-gradient(180deg,#fffdf8 0%,#fff7e8 100%)!important;
    overflow:hidden!important;
    box-shadow:18px 0 40px rgba(16,35,64,.18)!important;
  }
  body.public-site .sidebar-brand{
    min-height:104px!important;
    padding:7px 48px 12px 7px!important;
    gap:11px!important;
    background:rgba(255,255,255,.84)!important;
    border:1px solid #ebdfca!important;
    border-radius:18px!important;
  }
  body.public-site .sidebar-logo-frame{
    width:72px!important;height:72px!important;min-width:72px!important;padding:7px!important;
    border-radius:17px!important;background:#fff!important;border:1px solid #e9ddc7!important;overflow:hidden!important;
  }
  body.public-site .sidebar-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important}
  body.public-site .sidebar-menu{
    margin:8px 0 0!important;padding:3px 4px 14px 1px!important;gap:8px!important;
    scrollbar-gutter:stable!important;
  }
  body.public-site .menu-item{
    min-height:64px!important;
    grid-template-columns:47px minmax(0,1fr)!important;
    gap:10px!important;padding:7px 11px 7px 8px!important;
    border-radius:15px!important;border:1px solid #e4e8ef!important;
    background:#fff!important;position:relative!important;overflow:hidden!important;
  }
  body.public-site .menu-item.menu-toggle{grid-template-columns:47px minmax(0,1fr) 19px!important}
  body.public-site .menu-item::before{content:""!important;position:absolute!important;left:0!important;top:8px!important;bottom:8px!important;width:4px!important;border-radius:0 5px 5px 0!important;background:var(--menu-accent,#1769db)!important}
  body.public-site .menu-item img,body.public-site .menu-symbol{width:45px!important;height:45px!important;padding:7px!important;border-radius:13px!important;background:var(--menu-icon-bg,#eef4ff)!important;border-color:var(--menu-icon-border,#dce7fb)!important;color:var(--menu-accent,#1769db)!important}
  body.public-site .menu-item strong{font-size:14px!important}.menu-item span:not(.menu-symbol){font-size:9.5px!important}
  body.public-site .menu-home{--menu-accent:#0f5bd8;--menu-icon-bg:#e8f1ff;--menu-icon-border:#cfe0ff;background:#f2f7ff!important}
  body.public-site .menu-news{--menu-accent:#ef5d52;--menu-icon-bg:#fff0ed;--menu-icon-border:#ffd4cd;background:#fff5f3!important}
  body.public-site .menu-register{--menu-accent:#0b9f76;--menu-icon-bg:#e7f8f1;--menu-icon-border:#c7ebdc;background:#f0fbf6!important}
  body.public-site .menu-schedule{--menu-accent:#7258d8;--menu-icon-bg:#f0edff;--menu-icon-border:#ddd5ff;background:#f6f4ff!important}
  body.public-site .menu-results{--menu-accent:#c58416;--menu-icon-bg:#fff4da;--menu-icon-border:#f0d9a7;background:#fff9e9!important}
  body.public-site .menu-certificate{--menu-accent:#3269ca;--menu-icon-bg:#edf3ff;--menu-icon-border:#d7e3fb;background:#f3f7ff!important}
  body.public-site .menu-schools{--menu-accent:#247aaf;--menu-icon-bg:#e8f5fb;--menu-icon-border:#cbe4f0;background:#f1f9fc!important}
  body.public-site .menu-stats{--menu-accent:#329553;--menu-icon-bg:#eaf8ee;--menu-icon-border:#cfebd8;background:#f2fbf4!important}
  body.public-site .menu-help{--menu-accent:#c67023;--menu-icon-bg:#fff0e2;--menu-icon-border:#f0d5bb;background:#fff6ee!important}
  body.public-site .menu-item.active,body.public-site .menu-toggle.active{background:linear-gradient(135deg,#0a3375,#1156a7)!important;border-color:#0d448f!important}
  body.public-site .menu-item.active strong,body.public-site .menu-toggle.active strong{color:#fff!important}
  body.public-site .menu-item.active span:not(.menu-symbol),body.public-site .menu-toggle.active span:not(.menu-symbol){color:#dfeaff!important}
  body.public-site .submenu{margin:3px 3px 3px 55px!important;padding-left:9px!important;border-left:2px solid #d8deea!important}
  body.public-site .submenu a{font-size:11.5px!important;background:#fff!important;border:1px solid #e3e7ed!important;border-radius:9px!important;padding:9px 10px!important}
}

/* Make sure the original corrected home banner is always present and visible. */
body.public-site.page-index .home-image-hero{display:block!important;visibility:visible!important;opacity:1!important}
body.public-site.page-index .home-image-hero .hero-slides{display:block!important;visibility:visible!important;opacity:1!important}
body.public-site.page-index .home-image-hero .hero-slide.is-active{display:block!important;visibility:visible!important;opacity:1!important;z-index:2!important}



/* =========================================================
   FINAL STABILITY PATCH — 2026-09-29
   1) Public back button always returns to home.
   2) Homepage hero is never collapsed/hidden and never cropped.
   3) Keep the sidebar collapse handle outside the menu scrollbar.
   ========================================================= */
body.public-site .topbar-back-button{
    display:grid!important;
    place-items:center!important;
    text-decoration:none!important;
    line-height:1!important;
}

body.public-site.page-index .home-image-hero{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1672 / 941!important;
    overflow:hidden!important;
    background:#fff!important;
}
body.public-site.page-index .home-image-hero .hero-slides{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
}
body.public-site.page-index .home-image-hero .hero-slide{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}
body.public-site.page-index .home-image-hero .hero-slide.is-active{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:3!important;
}
body.public-site.page-index .home-image-hero .hero-slide>a{
    display:block!important;
    width:100%!important;
    height:100%!important;
}
body.public-site.page-index .home-image-hero .hero-slide img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
}

@media(min-width:821px){
    body.public-site .sidebar-collapse-toggle{
        left:calc(var(--sidebar-width) + 7px)!important;
        border-left:1px solid #ded9cf!important;
        border-radius:14px!important;
    }
    body.public-site.sidebar-collapsed .sidebar-collapse-toggle{
        left:calc(var(--sidebar-collapsed-width) + 7px)!important;
    }
    body.public-site.page-index .home-image-hero{
        margin:12px 18px 0!important;
        border-radius:18px!important;
        border:1px solid #dfe6ef!important;
        box-shadow:0 12px 32px rgba(22,45,78,.08)!important;
    }
}

@media(max-width:820px){
    body.public-site.page-index .home-image-hero{
        margin:0!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
        aspect-ratio:1672 / 941!important;
    }
}

/* ===== 2026-09-30 compact logo + topbar spacing polish ===== */
body.public-site .topbar-right-cluster{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
}
body.public-site .topbar-actions{
    margin-left:0!important;
    display:flex;
    align-items:center;
    gap:8px;
}
body.public-site .topbar-login-desktop{
    display:flex!important;
    align-items:center;
    gap:8px;
}
body.public-site .topbar-notification{
    flex:0 0 38px;
}

/* Sidebar brand: smaller, cleaner, and uses less vertical space */
body.public-site .sidebar-brand{
    align-items:center!important;
    gap:12px!important;
    padding:8px 8px 12px!important;
    margin-bottom:8px!important;
}
body.public-site .sidebar-logo-frame{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    border-radius:16px!important;
    padding:7px!important;
    background:linear-gradient(180deg,#fffefc,#faf6ed)!important;
    border:1px solid #e6ddcf!important;
    box-shadow:0 6px 16px rgba(37,45,57,.07)!important;
}
body.public-site .sidebar-logo-frame img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
}
body.public-site .sidebar-brand strong{
    font-size:14px!important;
    line-height:1.2!important;
    color:var(--lux-navy)!important;
}
body.public-site .sidebar-brand span{
    font-size:11px!important;
    line-height:1.3!important;
    color:#8f8577!important;
    margin-top:2px!important;
}
body.public-site .sidebar-menu{
    margin-top:8px!important;
}

/* Slightly tighten sidebar shell so logo area doesn't dominate */
body.public-site .sidebar.premium-sidebar{
    padding-top:14px!important;
}

@media(max-width:820px){
    body.public-site .topbar-right-cluster{
        margin-left:0;
        gap:0;
    }
    body.public-site .sidebar-brand{
        padding:6px 42px 10px 4px!important;
        gap:10px!important;
    }
    body.public-site .sidebar-logo-frame{
        width:54px!important;
        height:54px!important;
        min-width:54px!important;
        border-radius:14px!important;
        padding:6px!important;
    }
    body.public-site .sidebar-brand strong{font-size:13px!important}
    body.public-site .sidebar-brand span{font-size:10px!important}
}

/* =====================================================================
   2026-09-30 — approved premium dashboard layout
   Keep sidebar open/close behavior intact; polish brand + right workspace.
   ===================================================================== */
body.public-site .sidebar-brand{
    position:relative;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0 0 10px!important;
    padding:12px!important;
    border:1px solid rgba(234,194,96,.85)!important;
    border-radius:22px!important;
    background:
      radial-gradient(circle at 85% 10%,rgba(255,219,128,.22),transparent 30%),
      linear-gradient(145deg,#082c68 0%,#0c4d9b 62%,#0b2f67 100%)!important;
    box-shadow:0 12px 28px rgba(7,37,84,.18)!important;
    overflow:hidden;
}
body.public-site .sidebar-brand::after{
    content:"";
    position:absolute;
    width:86px;height:86px;
    right:-32px;bottom:-38px;
    border:1px solid rgba(255,221,136,.26);
    border-radius:50%;
    box-shadow:0 0 0 16px rgba(255,221,136,.035);
    pointer-events:none;
}
body.public-site .sidebar-logo-frame{
    position:relative;z-index:1;
    width:64px!important;height:64px!important;min-width:64px!important;
    padding:7px!important;border-radius:17px!important;
    background:linear-gradient(180deg,#fffefb,#fff7df)!important;
    border:2px solid #edcf81!important;
    box-shadow:0 8px 18px rgba(3,26,66,.22),inset 0 0 0 1px rgba(255,255,255,.85)!important;
}
body.public-site .sidebar-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important}
body.public-site .sidebar-brand>div{position:relative;z-index:1;min-width:0}
body.public-site .sidebar-brand strong{color:#fff!important;font-size:14px!important;line-height:1.2!important;text-shadow:0 1px 1px rgba(0,0,0,.12)}
body.public-site .sidebar-brand span{color:#dce9ff!important;font-size:10px!important;margin-top:3px!important}
body.public-site.sidebar-collapsed .sidebar-brand{
    padding:8px!important;border-radius:17px!important;justify-content:center!important;
}
body.public-site.sidebar-collapsed .sidebar-logo-frame{width:52px!important;height:52px!important;min-width:52px!important}

/* Homepage top bar follows the approved dashboard reference. */
body.public-site .home-topbar-greeting{display:flex;flex-direction:column;justify-content:center;min-width:0}
body.public-site .home-topbar-greeting strong{font-size:17px;color:#16335f;line-height:1.15;font-weight:900}
body.public-site .home-topbar-greeting span{font-size:11px;color:#718096;margin-top:3px;white-space:nowrap}
body.public-site.page-index .public-premium-topbar{padding-left:28px!important;padding-right:26px!important}
body.public-site.page-index .topbar-right-cluster{margin-left:auto!important;gap:10px!important}
body.public-site.page-index .topbar-notification{background:#fffaf1!important;border-color:#eadbbd!important}

/* Banner: desktop is deliberately wide and shallow like the reference image. */
body.public-site.page-index .home-image-hero{
    margin:14px 18px 0!important;
    width:auto!important;
    height:auto!important;
    aspect-ratio:1916/510!important;
    border-radius:22px!important;
    overflow:hidden!important;
    border:1px solid #dfe7f2!important;
    background:#eaf3ff!important;
    box-shadow:0 12px 28px rgba(21,49,91,.10)!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .home-image-hero .hero-slide,
body.public-site.page-index .home-image-hero .hero-slide picture{width:100%!important;height:100%!important;display:block!important}
body.public-site.page-index .home-image-hero .hero-slide img{
    width:100%!important;height:100%!important;display:block!important;
    object-fit:cover!important;object-position:center!important;
}
body.public-site.page-index .hero-carousel-arrow{
    width:40px!important;height:40px!important;border-radius:12px!important;
    background:rgba(9,44,101,.78)!important;color:#fff!important;
    border:1px solid rgba(255,255,255,.48)!important;box-shadow:0 8px 20px rgba(9,44,101,.18)!important;
}
body.public-site.page-index .hero-carousel-dots{bottom:10px!important;padding:5px 7px!important;background:rgba(255,255,255,.86)!important}

/* KPI strip */
body.public-site.page-index .premium-stat-strip{padding:12px 18px 0!important}
body.public-site.page-index .premium-stat-strip .container{width:100%!important;max-width:none!important}
body.public-site.page-index .premium-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card{
    min-height:92px!important;display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;
    padding:13px 15px!important;border-radius:18px!important;border:1px solid #e2e8f0!important;background:#fff!important;
    box-shadow:0 8px 20px rgba(35,49,71,.055)!important;text-decoration:none!important;overflow:hidden!important;position:relative!important;
}
body.public-site.page-index .premium-kpi-grid .home-stat-card::after{
    content:""!important;display:block!important;position:absolute!important;right:-20px!important;bottom:-28px!important;width:92px!important;height:92px!important;border-radius:50%!important;opacity:.50!important;
}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-schools{background:linear-gradient(135deg,#f7fbff,#eef6ff)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-schools::after{background:#cfe3ff!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-athletes{background:linear-gradient(135deg,#f4fcf8,#eaf8f0)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-athletes::after{background:#c7edd7!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-register{background:linear-gradient(135deg,#fff8f6,#fff0ec)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-register::after{background:#ffd6cc!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-medals{background:linear-gradient(135deg,#fffaf1,#fff5db)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-medals::after{background:#f7dda0!important}
body.public-site.page-index .premium-kpi-grid .stat-icon{
    width:56px!important;height:56px!important;display:grid!important;place-items:center!important;border-radius:15px!important;
    font-size:26px!important;background:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 5px 14px rgba(39,54,77,.06)!important;
}
body.public-site.page-index .premium-kpi-grid .home-stat-card div>span{display:block!important;font-size:10px!important;color:#66758a!important;font-weight:700!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card strong{display:inline-block!important;font-size:27px!important;line-height:1!important;color:#0c336c!important;margin-top:5px!important;margin-right:5px!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card small{font-size:10px!important;color:#758196!important}

/* Three-column dashboard from the approved reference. */
body.public-site.page-index .premium-home-dashboard{padding:12px 18px 18px!important;background:transparent!important}
body.public-site.page-index .premium-home-dashboard .container{width:100%!important;max-width:none!important}
body.public-site.page-index .premium-home-main-grid{display:grid;grid-template-columns:1.15fr .94fr 1fr;gap:12px;align-items:stretch}
body.public-site.page-index .premium-dashboard-card{
    min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 9px 24px rgba(34,48,70,.055);overflow:hidden;
}
body.public-site.page-index .premium-card-head{
    min-height:48px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #edf1f6;background:linear-gradient(180deg,#fff,#fbfcfe);
}
body.public-site.page-index .premium-card-head>div{display:flex;align-items:center;gap:7px;min-width:0}
body.public-site.page-index .premium-card-head strong{font-size:13px;color:#153761;white-space:nowrap}
body.public-site.page-index .premium-card-head>a,
body.public-site.page-index .premium-card-actions>a{font-size:9px;color:#2267c5;text-decoration:none;font-weight:800;white-space:nowrap}
body.public-site.page-index .premium-card-icon{font-size:18px}
body.public-site.page-index .premium-card-actions{display:flex!important;gap:7px!important;margin-left:auto}
body.public-site.page-index .premium-live-badge{font-size:9px;font-weight:900;color:#e54850;background:#fff0f1;border:1px solid #ffdadd;border-radius:999px;padding:4px 7px}
body.public-site.page-index .premium-empty{padding:30px 14px;text-align:center;color:#9aa5b3;font-size:10px}

body.public-site.page-index .premium-result-list,
body.public-site.page-index .premium-schedule-list,
body.public-site.page-index .premium-news-list{display:grid}
body.public-site.page-index .premium-result-row{
    min-height:70px;display:grid;grid-template-columns:38px minmax(0,1fr) minmax(115px,.85fr) 14px;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid #edf1f5;text-decoration:none;color:#263a59;
}
body.public-site.page-index .premium-result-row:last-child{border-bottom:0}
body.public-site.page-index .sport-bubble{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eff5ff;font-size:17px}
body.public-site.page-index .result-desc strong,
body.public-site.page-index .result-medal span{display:block;font-size:10px;color:#243958;line-height:1.35}
body.public-site.page-index .result-desc small{display:block;font-size:8px;color:#8a96a6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.public-site.page-index .result-medal{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:5px;min-width:0}
body.public-site.page-index .result-medal b{font-size:15px}.result-medal span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.public-site.page-index .premium-result-row em{font-style:normal;color:#7890af;font-size:18px}

body.public-site.page-index .premium-schedule-row{
    min-height:47px;display:grid;grid-template-columns:46px 18px minmax(0,1fr) auto 12px;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid #edf1f5;text-decoration:none;color:#263a59;
}
body.public-site.page-index .premium-schedule-row:last-child{border-bottom:0}
body.public-site.page-index .premium-schedule-row time{font-size:10px;font-weight:800;color:#274d80}
body.public-site.page-index .schedule-sport-icon{color:#f0a20b;font-size:12px}
body.public-site.page-index .premium-schedule-row strong{display:block;font-size:10px;color:#273d5e}
body.public-site.page-index .premium-schedule-row small{display:block;font-size:8px;color:#8d98a6;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.public-site.page-index .premium-schedule-row em{font-style:normal;color:#7890af;font-size:16px}
body.public-site.page-index .premium-schedule-row .schedule-status{font-size:8px;padding:4px 7px;border-radius:999px;white-space:nowrap;background:#eef2f7;color:#6a7789}
body.public-site.page-index .premium-schedule-row .schedule-status.live{background:#e8f1ff;color:#1768d1}
body.public-site.page-index .premium-schedule-row .schedule-status.finished{background:#e9f6f1;color:#16856f}

body.public-site.page-index .premium-news-row{
    min-height:66px;display:grid;grid-template-columns:78px minmax(0,1fr) 12px;align-items:center;gap:9px;padding:8px 11px;border-bottom:1px solid #edf1f5;text-decoration:none;color:#263a59;
}
body.public-site.page-index .premium-news-row:last-child{border-bottom:0}
body.public-site.page-index .premium-news-thumb{width:78px;height:50px;border-radius:9px;overflow:hidden;background:#eef3f8;display:grid;place-items:center;color:#94a1b4;font-size:8px;font-weight:900}
body.public-site.page-index .premium-news-thumb img{width:100%;height:100%;object-fit:cover}
body.public-site.page-index .premium-news-row div{min-width:0}
body.public-site.page-index .premium-news-row small{display:block;font-size:7.5px;color:#8a95a4;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.public-site.page-index .premium-news-row strong{display:block;font-size:9px;line-height:1.35;color:#263d61;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.public-site.page-index .premium-news-row em{font-style:normal;color:#7890af;font-size:16px}
body.public-site.page-index .news-label{display:inline-flex;padding:2px 5px;border-radius:999px;margin-right:4px;font-size:7px;font-weight:800;background:#fff0ee;color:#d55555}
body.public-site.page-index .news-label.label-1{background:#f3edff;color:#7a54c7}
body.public-site.page-index .news-label.label-2{background:#eef3ff;color:#456cb3}

/* Contact is kept below the dashboard, but compact. */
body.public-site.page-index #contact{padding:10px 18px 30px!important}
body.public-site.page-index #contact .container{width:100%!important;max-width:none!important}
body.public-site.page-index #contact .contact-card{border-radius:18px!important;box-shadow:0 8px 20px rgba(34,48,70,.045)!important}

@media(max-width:1180px) and (min-width:821px){
    body.public-site.page-index .premium-home-main-grid{grid-template-columns:1fr 1fr}
    body.public-site.page-index .news-summary-card{grid-column:1/-1}
    body.public-site.page-index .premium-news-list{grid-template-columns:repeat(3,1fr)}
    body.public-site.page-index .premium-news-row{grid-template-columns:70px minmax(0,1fr) 12px;border-right:1px solid #edf1f5}
}

@media(max-width:820px){
    body.public-site .home-topbar-greeting{display:none!important}
    body.public-site .sidebar-brand{
        margin:0 0 9px!important;padding:10px 44px 10px 10px!important;border-radius:19px!important;gap:10px!important;
    }
    body.public-site .sidebar-logo-frame{width:56px!important;height:56px!important;min-width:56px!important;border-radius:15px!important}
    body.public-site .sidebar-brand strong{font-size:13px!important}
    body.public-site .sidebar-brand span{font-size:9px!important}

    body.public-site.page-index .home-image-hero{
        margin:10px 12px 0!important;aspect-ratio:1916/821!important;border-radius:16px!important;
        box-shadow:0 8px 20px rgba(21,49,91,.09)!important;
    }
    body.public-site.page-index .home-image-hero .hero-slide img{object-fit:contain!important;background:#eaf3ff!important}
    body.public-site.page-index .premium-stat-strip{padding:9px 12px 0!important}
    body.public-site.page-index .premium-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card{min-height:70px!important;grid-template-columns:40px minmax(0,1fr)!important;gap:8px!important;padding:9px 10px!important;border-radius:14px!important}
    body.public-site.page-index .premium-kpi-grid .stat-icon{width:38px!important;height:38px!important;border-radius:11px!important;font-size:18px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card strong{font-size:20px!important;margin-top:3px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card div>span{font-size:8px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card small{font-size:8px!important}

    body.public-site.page-index .premium-home-dashboard{padding:9px 12px 14px!important}
    body.public-site.page-index .premium-home-main-grid{grid-template-columns:1fr;gap:9px}
    body.public-site.page-index .premium-dashboard-card{border-radius:15px}
    body.public-site.page-index .premium-card-head{min-height:44px;padding:9px 11px}
    body.public-site.page-index .premium-card-head strong{font-size:12px}
    body.public-site.page-index .premium-card-head>a,
    body.public-site.page-index .premium-card-actions>a{font-size:8px}
    body.public-site.page-index .premium-result-row{min-height:62px;grid-template-columns:34px minmax(0,1fr) minmax(100px,.8fr) 10px;padding:8px 10px}
    body.public-site.page-index .premium-schedule-row{min-height:44px;grid-template-columns:42px 15px minmax(0,1fr) auto 10px;padding:7px 10px}
    body.public-site.page-index .premium-news-row{min-height:60px;grid-template-columns:68px minmax(0,1fr) 10px;padding:7px 9px}
    body.public-site.page-index .premium-news-thumb{width:68px;height:44px}
    body.public-site.page-index #contact{padding:8px 12px 24px!important}
}

@media(max-width:440px){
    body.public-site.page-index .premium-kpi-grid{grid-template-columns:1fr 1fr!important}
    body.public-site.page-index .premium-result-row{grid-template-columns:32px minmax(0,1fr) 90px 8px}
    body.public-site.page-index .result-medal span{font-size:8.5px}
    body.public-site.page-index .premium-schedule-row .schedule-status{font-size:7px;padding:3px 5px}
}

/* ===== 2026-09-30 final precision pass: search, full banner, equal menu icons ===== */
body.public-site .home-topbar-greeting{display:none!important}
body.public-site.page-index .topbar-search{
    display:flex!important;
    flex:1 1 520px!important;
    max-width:640px!important;
    margin-right:0!important;
}
body.public-site.page-index .topbar-right-cluster{margin-left:auto!important}

/* Full banner: preserve every pixel, no cropping on desktop or mobile. */
body.public-site.page-index .home-image-hero{
    width:auto!important;
    height:auto!important;
    aspect-ratio:1916 / 821!important;
    max-height:none!important;
    background:#eaf3ff!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .home-image-hero .hero-slide,
body.public-site.page-index .home-image-hero .hero-slide>a,
body.public-site.page-index .home-image-hero .hero-slide picture{
    width:100%!important;
    height:100%!important;
}
body.public-site.page-index .home-image-hero .hero-slide img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#eaf3ff!important;
}

/* Consistent visual sizing for every left-menu icon. */
body.public-site .menu-item img,
body.public-site .menu-symbol{
    width:45px!important;
    height:45px!important;
    min-width:45px!important;
    min-height:45px!important;
    max-width:45px!important;
    max-height:45px!important;
    box-sizing:border-box!important;
    padding:7px!important;
    border-radius:13px!important;
    object-fit:contain!important;
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
    font-size:21px!important;
}
body.public-site .menu-item img{object-position:center!important}
body.public-site .menu-item{grid-template-columns:45px minmax(0,1fr) auto!important}
body.public-site .menu-item:not(.menu-toggle){grid-template-columns:45px minmax(0,1fr)!important}
body.public-site.sidebar-collapsed .menu-item img,
body.public-site.sidebar-collapsed .menu-symbol{
    width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;max-width:46px!important;max-height:46px!important;
}

/* Admin upload size notes */
.admin-upload-guide{
    display:block;
    margin-top:6px;
    padding:8px 10px;
    border-radius:10px;
    background:#f5f8fc;
    border:1px solid #e1e8f2;
    color:#5d6d83;
    font-size:11px;
    line-height:1.5;
}

@media(max-width:820px){
    body.public-site.page-index .topbar-search{display:none!important}
    body.public-site.page-index .home-image-hero{
        margin:8px 10px 0!important;
        aspect-ratio:1916 / 821!important;
        border-radius:14px!important;
    }
    body.public-site .menu-item img,
    body.public-site .menu-symbol{
        width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important;
        padding:6px!important;font-size:19px!important;border-radius:12px!important;
    }
    body.public-site .menu-item{grid-template-columns:42px minmax(0,1fr) auto!important}
    body.public-site .menu-item:not(.menu-toggle){grid-template-columns:42px minmax(0,1fr)!important}
}

/* ===== 2026-09-30 homepage dashboard typography readability pass ===== */
body.public-site.page-index .premium-card-head{
    min-height:54px!important;
    padding:12px 16px!important;
}
body.public-site.page-index .premium-card-head strong{
    font-size:16px!important;
    line-height:1.3!important;
    font-weight:900!important;
}
body.public-site.page-index .premium-card-head>a,
body.public-site.page-index .premium-card-actions>a{
    font-size:11px!important;
    line-height:1.25!important;
    padding:5px 8px!important;
}
body.public-site.page-index .premium-card-icon{font-size:20px!important}
body.public-site.page-index .premium-live-badge{
    font-size:10px!important;
    padding:5px 8px!important;
}
body.public-site.page-index .premium-empty{
    padding:34px 16px!important;
    font-size:12.5px!important;
    line-height:1.55!important;
}
body.public-site.page-index .premium-result-row{
    min-height:78px!important;
    padding:11px 15px!important;
}
body.public-site.page-index .result-desc strong,
body.public-site.page-index .result-medal span{
    font-size:12px!important;
    line-height:1.4!important;
}
body.public-site.page-index .result-desc small{
    font-size:10px!important;
    line-height:1.35!important;
}
body.public-site.page-index .result-medal b{font-size:17px!important}
body.public-site.page-index .premium-schedule-row{
    min-height:53px!important;
    padding:9px 14px!important;
}
body.public-site.page-index .premium-schedule-row time{
    font-size:12px!important;
}
body.public-site.page-index .schedule-sport-icon{font-size:14px!important}
body.public-site.page-index .premium-schedule-row strong{
    font-size:12px!important;
    line-height:1.35!important;
}
body.public-site.page-index .premium-schedule-row small{
    font-size:10px!important;
    line-height:1.35!important;
}
body.public-site.page-index .premium-schedule-row .schedule-status{
    font-size:9.5px!important;
    padding:5px 8px!important;
}
body.public-site.page-index .premium-news-row{
    min-height:74px!important;
    grid-template-columns:86px minmax(0,1fr) 14px!important;
    padding:10px 13px!important;
}
body.public-site.page-index .premium-news-thumb{
    width:86px!important;
    height:56px!important;
    font-size:10px!important;
}
body.public-site.page-index .premium-news-row small{
    font-size:9.5px!important;
    line-height:1.35!important;
}
body.public-site.page-index .premium-news-row strong{
    font-size:11.5px!important;
    line-height:1.42!important;
}
body.public-site.page-index .premium-news-row em{font-size:18px!important}
body.public-site.page-index .news-label{
    font-size:8.5px!important;
    padding:3px 6px!important;
}

@media(max-width:820px){
    body.public-site.page-index .premium-card-head{
        min-height:48px!important;
        padding:10px 12px!important;
    }
    body.public-site.page-index .premium-card-head strong{font-size:13.5px!important}
    body.public-site.page-index .premium-card-head>a,
    body.public-site.page-index .premium-card-actions>a{font-size:9px!important;padding:4px 6px!important}
    body.public-site.page-index .premium-card-icon{font-size:18px!important}
    body.public-site.page-index .premium-live-badge{font-size:9px!important}
    body.public-site.page-index .premium-empty{font-size:11px!important;padding:25px 12px!important}
    body.public-site.page-index .result-desc strong,
    body.public-site.page-index .result-medal span{font-size:10.5px!important}
    body.public-site.page-index .result-desc small{font-size:9px!important}
    body.public-site.page-index .premium-schedule-row time,
    body.public-site.page-index .premium-schedule-row strong{font-size:10.5px!important}
    body.public-site.page-index .premium-schedule-row small{font-size:8.8px!important}
    body.public-site.page-index .premium-schedule-row .schedule-status{font-size:8px!important}
    body.public-site.page-index .premium-news-row{
        grid-template-columns:74px minmax(0,1fr) 12px!important;
        min-height:66px!important;
        padding:8px 10px!important;
    }
    body.public-site.page-index .premium-news-thumb{width:74px!important;height:48px!important}
    body.public-site.page-index .premium-news-row small{font-size:8.5px!important}
    body.public-site.page-index .premium-news-row strong{font-size:10.5px!important}
    body.public-site.page-index .news-label{font-size:7.5px!important}
}

/* =====================================================================
   2026-09-30 — NAVY / CORAL SPORTS DASHBOARD THEME
   Matches the approved red-blue reference while preserving all logic.
   ===================================================================== */
body.public-site{
    --sidebar-width:272px!important;
    --sport-navy:#0a2362;
    --sport-navy-deep:#06194d;
    --sport-blue:#123c98;
    --sport-coral:#ff5f63;
    --sport-coral-deep:#f04450;
    --sport-gold:#f3b83f;
    --sport-ink:#102d61;
    --sport-muted:#74809a;
    --sport-bg:#f7f8fc;
    background:
      radial-gradient(circle at 78% 0,rgba(255,95,99,.055),transparent 24%),
      radial-gradient(circle at 35% 100%,rgba(42,103,230,.055),transparent 30%),
      var(--sport-bg)!important;
    color:#17284b!important;
}
body.public-site .page-content{background:transparent!important}

/* SIDEBAR — same open/close mechanism, completely refreshed visual skin. */
body.public-site .sidebar.premium-sidebar{
    width:var(--sidebar-width)!important;
    padding:18px 15px 18px!important;
    color:#fff!important;
    border-right:0!important;
    background:
      linear-gradient(150deg,rgba(255,91,98,.14) 0 12%,transparent 12% 72%,rgba(255,92,99,.16) 72% 76%,transparent 76%),
      radial-gradient(circle at 20% 8%,rgba(56,111,255,.18),transparent 26%),
      linear-gradient(180deg,#0b286f 0%,#071d59 58%,#081b4e 100%)!important;
    box-shadow:18px 0 42px rgba(9,29,79,.15)!important;
}
body.public-site .sidebar.premium-sidebar::before{
    content:"";position:absolute;inset:auto -95px -70px auto;width:250px;height:250px;border-radius:50%;
    border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 34px rgba(255,255,255,.018),0 0 0 70px rgba(255,255,255,.012);pointer-events:none
}
body.public-site .sidebar-brand{
    margin:0 0 16px!important;padding:4px 8px 18px!important;gap:12px!important;border-bottom:1px solid rgba(255,255,255,.12)!important;
    color:#fff!important;align-items:center!important;
}
body.public-site .sidebar-logo-frame{
    width:72px!important;height:72px!important;min-width:72px!important;padding:8px!important;border-radius:19px!important;
    background:linear-gradient(145deg,#fffdf8,#fff5e2)!important;border:2px solid rgba(255,193,73,.82)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.9)!important;
}
body.public-site .sidebar-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important}
body.public-site .sidebar-brand strong{color:#fff!important;font-size:18px!important;line-height:1.15!important;font-weight:900!important}
body.public-site .sidebar-brand span{color:#d7e4ff!important;font-size:11px!important;margin-top:4px!important}
body.public-site .sidebar-menu{gap:7px!important;margin-top:0!important;padding-right:2px!important}
body.public-site .sidebar-menu::-webkit-scrollbar{width:7px}
body.public-site .sidebar-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:99px}
body.public-site .sidebar-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
body.public-site .menu-group{gap:3px!important}
body.public-site .menu-item{
    min-height:58px!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;padding:8px 11px!important;
    border-radius:15px!important;background:transparent!important;border:1px solid transparent!important;color:#fff!important;
}
body.public-site .menu-item img,
body.public-site .menu-item .menu-symbol{
    width:40px!important;height:40px!important;min-width:40px!important;display:grid!important;place-items:center!important;padding:8px!important;
    border-radius:12px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:none!important;object-fit:contain!important;font-size:19px!important;line-height:1!important;
}
body.public-site .menu-item strong{font-size:14px!important;color:#fff!important;line-height:1.15!important;font-weight:900!important}
body.public-site .menu-item span{font-size:10px!important;color:#bac9ea!important;margin-top:3px!important;line-height:1.25!important}
body.public-site .menu-item .chevron{color:#c8d5ef!important;font-size:15px!important}
body.public-site .menu-item:hover{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.1)!important;box-shadow:none!important}
body.public-site .menu-item.active,
body.public-site .menu-toggle.active{
    background:linear-gradient(135deg,#ff6967 0%,#ff555d 58%,#ef4353 100%)!important;
    border-color:rgba(255,255,255,.24)!important;box-shadow:0 12px 24px rgba(206,48,65,.27)!important;
}
body.public-site .menu-item.active img,
body.public-site .menu-toggle.active img,
body.public-site .menu-item.active .menu-symbol{
    background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.3)!important;filter:none!important
}
body.public-site .menu-item.active span,
body.public-site .menu-toggle.active span{color:#fff!important}
body.public-site .menu-item.active .chevron,body.public-site .menu-toggle.active .chevron{color:#fff4cf!important}
body.public-site .submenu{margin:0 0 5px 51px!important;padding:4px 0 4px 10px!important;border-left:1px solid rgba(255,255,255,.18)!important}
body.public-site .submenu a{font-size:10px!important;color:#cbd8f3!important;padding:8px 10px!important;border-radius:9px!important}
body.public-site .submenu a:hover,body.public-site .submenu a.active{background:rgba(255,255,255,.10)!important;color:#fff!important}
body.public-site .sidebar-footer{color:#8da4d0!important;border:0!important;font-size:8px!important;letter-spacing:.18em!important;position:relative;z-index:2}
body.public-site .sidebar-school-return{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}

/* Keep the same collapse control behavior, just make the handle harmonize. */
body.public-site .sidebar-collapse-toggle{
    background:#fff!important;color:#173e84!important;border-color:#e2e8f2!important;box-shadow:0 8px 22px rgba(9,34,81,.13)!important;
}

/* TOPBAR */
body.public-site .topbar.public-premium-topbar{
    height:72px!important;padding:0 28px!important;gap:12px!important;
    background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e6eaf2!important;box-shadow:0 7px 20px rgba(17,38,78,.045)!important;
}
body.public-site .topbar-back-button{display:none!important}
body.public-site .topbar-search{
    width:min(680px,58vw)!important;max-width:680px!important;height:44px!important;border-radius:16px!important;
    border:1px solid #dfe5ef!important;background:#fff!important;box-shadow:0 6px 18px rgba(26,45,84,.04)!important;
}
body.public-site .topbar-search input{font-size:13px!important;color:#334568!important}
body.public-site .topbar-right-cluster{gap:10px!important}
body.public-site .topbar-notification{width:42px!important;height:42px!important;border-radius:13px!important;background:#fff!important;border-color:#e1e6ef!important}
body.public-site .topbar-admin.is-authenticated,
body.public-site .topbar-user.is-authenticated,
body.public-site .topbar-committee.is-authenticated{
    min-height:42px!important;padding:10px 17px!important;border-radius:13px!important;background:#fff!important;color:#16376f!important;border:1px solid #e1e6ef!important;box-shadow:0 6px 18px rgba(18,42,86,.05)!important
}

/* HERO */
body.public-site.page-index .home-image-hero{
    margin:14px 18px 0!important;width:auto!important;height:auto!important;aspect-ratio:1370/387!important;
    border-radius:22px!important;overflow:hidden!important;border:0!important;background:#0a2362!important;
    box-shadow:0 18px 42px rgba(12,34,83,.17)!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .home-image-hero .hero-slide,
body.public-site.page-index .home-image-hero picture{width:100%!important;height:100%!important;display:block!important}
body.public-site.page-index .home-image-hero .hero-slide img{
    width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#0a2362!important
}
body.public-site.page-index .hero-carousel-arrow{
    width:42px!important;height:42px!important;border-radius:50%!important;background:rgba(5,31,89,.75)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;
    backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.18)!important
}
body.public-site.page-index .hero-carousel-dots{bottom:10px!important;background:rgba(4,30,83,.55)!important;border:1px solid rgba(255,255,255,.20)!important}
body.public-site.page-index .hero-carousel-dots button{background:rgba(255,255,255,.45)!important}
body.public-site.page-index .hero-carousel-dots button.is-active{background:#ff5c62!important}

/* KPI STRIP */
body.public-site.page-index .premium-stat-strip{padding:12px 18px 0!important}
body.public-site.page-index .premium-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card{
    min-height:94px!important;grid-template-columns:54px minmax(0,1fr)!important;gap:12px!important;padding:14px 16px!important;
    border-radius:20px!important;border:1px solid rgba(23,47,94,.07)!important;box-shadow:0 10px 28px rgba(25,43,78,.05)!important;overflow:hidden!important
}
body.public-site.page-index .premium-kpi-grid .home-stat-card::after{display:block!important;width:110px!important;height:110px!important;right:-26px!important;bottom:-47px!important;opacity:.55!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-schools{background:linear-gradient(135deg,#fff5f5,#ffe9e9)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-schools::after{background:#ffc7cb!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-athletes{background:linear-gradient(135deg,#f3f5ff,#e9edff)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-athletes::after{background:#ccd5ff!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-register{background:linear-gradient(135deg,#fff8ef,#fff0df)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-register::after{background:#ffd6a2!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-medals{background:linear-gradient(135deg,#eefcf8,#dcf7ee)!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card.kpi-medals::after{background:#bcebdc!important}
body.public-site.page-index .premium-kpi-grid .stat-icon{
    width:52px!important;height:52px!important;border-radius:15px!important;font-size:24px!important;background:#fff!important;border:1px solid rgba(255,255,255,.8)!important;
    box-shadow:0 7px 18px rgba(24,42,80,.06)!important;z-index:2!important
}
body.public-site.page-index .premium-kpi-grid .home-stat-card div{z-index:2!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card div>span{font-size:11px!important;color:#29416b!important;font-weight:900!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card strong{font-size:31px!important;color:#0b2a63!important;margin-top:5px!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card small{font-size:10px!important;color:#65738c!important}

/* MAIN THREE-COLUMN DASHBOARD */
body.public-site.page-index .premium-home-dashboard{padding:14px 18px 34px!important;background:transparent!important}
body.public-site.page-index .premium-home-main-grid{display:grid!important;grid-template-columns:1.08fr 1fr .96fr!important;gap:14px!important;align-items:stretch!important}
body.public-site.page-index .premium-dashboard-card{
    background:#fff!important;border:1px solid #e4e9f2!important;border-radius:20px!important;box-shadow:0 12px 32px rgba(20,41,80,.055)!important;overflow:hidden!important
}
body.public-site.page-index .premium-card-head{min-height:54px!important;padding:12px 15px!important;background:#fff!important;border-bottom:1px solid #edf0f5!important}
body.public-site.page-index .premium-card-head strong{font-size:15px!important;color:#132f62!important;font-weight:900!important}
body.public-site.page-index .premium-card-head>a,
body.public-site.page-index .premium-card-actions>a{font-size:10px!important;color:#315fb0!important;font-weight:900!important}
body.public-site.page-index .result-summary-card .premium-card-head{
    background:linear-gradient(135deg,#0c2a6f,#113b8f)!important;border-bottom-color:rgba(255,255,255,.09)!important
}
body.public-site.page-index .result-summary-card .premium-card-head strong,
body.public-site.page-index .result-summary-card .premium-card-head .premium-card-icon{color:#fff!important}
body.public-site.page-index .result-summary-card .premium-card-head a{color:#ffd3d6!important}
body.public-site.page-index .premium-live-badge{background:#ff5860!important;color:#fff!important;border:0!important;padding:5px 9px!important;border-radius:999px!important;font-size:9px!important}
body.public-site.page-index .premium-result-row{min-height:78px!important;padding:11px 13px!important;grid-template-columns:40px minmax(0,1fr) minmax(115px,.9fr) 14px!important}
body.public-site.page-index .sport-bubble{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f3f6fc;font-size:17px}
body.public-site.page-index .result-desc strong{font-size:11px!important;color:#1e3a6c!important}
body.public-site.page-index .result-desc small{font-size:9px!important;color:#8893a5!important}
body.public-site.page-index .result-medal span{font-size:9px!important;color:#586880!important}
body.public-site.page-index .premium-schedule-row{min-height:58px!important;padding:9px 12px!important;grid-template-columns:46px 24px minmax(0,1fr) auto 12px!important}
body.public-site.page-index .premium-schedule-row time{font-size:11px!important;color:#173a75!important;font-weight:900!important}
body.public-site.page-index .premium-schedule-row strong{font-size:10.5px!important;color:#1d3767!important}
body.public-site.page-index .premium-schedule-row small{font-size:8.5px!important;color:#8893a5!important}
body.public-site.page-index .schedule-status{font-size:8.5px!important;padding:5px 8px!important}
body.public-site.page-index .premium-news-row{min-height:78px!important;padding:9px 11px!important;grid-template-columns:96px minmax(0,1fr) 12px!important}
body.public-site.page-index .premium-news-thumb{width:88px!important;height:58px!important;border-radius:11px!important;overflow:hidden!important;background:#eef2f8!important}
body.public-site.page-index .premium-news-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}
body.public-site.page-index .premium-news-row small{font-size:8px!important}
body.public-site.page-index .premium-news-row strong{font-size:10.5px!important;line-height:1.45!important;color:#1f3968!important}
body.public-site.page-index .news-label{border-radius:999px;padding:3px 6px!important;background:#ffe7e8!important;color:#e8424c!important}
body.public-site.page-index .premium-empty{font-size:10px!important;color:#98a3b5!important;padding:38px 12px!important}

/* Keep lower contact visually quiet; the approved reference focuses on the dashboard. */
body.public-site.page-index #contact{padding-top:0!important}

@media(max-width:1180px) and (min-width:821px){
    body.public-site{--sidebar-width:235px!important}
    body.public-site .sidebar-brand strong{font-size:16px!important}
    body.public-site .menu-item strong{font-size:13px!important}
    body.public-site .menu-item{grid-template-columns:38px minmax(0,1fr) auto!important;padding:7px 9px!important}
    body.public-site .menu-item img,body.public-site .menu-item .menu-symbol{width:36px!important;height:36px!important;min-width:36px!important}
    body.public-site.page-index .premium-home-main-grid{grid-template-columns:1fr 1fr!important}
    body.public-site.page-index .news-summary-card{grid-column:1/-1!important}
    body.public-site.page-index .premium-news-list{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
    body.public-site.page-index .premium-news-row{grid-template-columns:70px minmax(0,1fr) 10px!important;border-right:1px solid #edf0f5!important}
    body.public-site.page-index .premium-news-thumb{width:64px!important;height:48px!important}
}

@media(max-width:820px){
    body.public-site{--topbar-height:68px!important;background:#f6f7fb!important}
    body.public-site .topbar.public-premium-topbar{height:var(--topbar-height)!important;padding:0 12px!important;background:#fff!important}
    body.public-site .sidebar-toggle{width:44px!important;height:44px!important;border-radius:13px!important;background:#0b2a69!important}
    body.public-site .mobile-topbar-brand{color:#0b2a69!important}
    body.public-site .mobile-topbar-brand img{display:block!important;width:32px!important;height:32px!important;padding:3px!important;border-radius:8px!important;background:#fff7e7!important;border:1px solid #f2d692!important}
    body.public-site .mobile-topbar-brand strong{font-size:13px!important}
    body.public-site .mobile-login-trigger{min-height:40px!important;padding:8px 11px!important;background:#0b2a69!important;border-radius:12px!important;font-size:10px!important}

    body.public-site .sidebar.premium-sidebar,
    body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
        width:min(87vw,320px)!important;background:linear-gradient(180deg,#0b2a72,#06194e)!important;padding:calc(14px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom))!important
    }
    body.public-site .sidebar-brand{padding:4px 46px 14px 4px!important;margin-bottom:10px!important}
    body.public-site .sidebar-logo-frame{width:58px!important;height:58px!important;min-width:58px!important;border-radius:15px!important}
    body.public-site .sidebar-brand strong{font-size:15px!important}
    body.public-site .menu-item{min-height:54px!important;grid-template-columns:38px minmax(0,1fr) auto!important;padding:7px 9px!important;border-radius:13px!important}
    body.public-site .menu-item img,body.public-site .menu-item .menu-symbol{width:36px!important;height:36px!important;min-width:36px!important;padding:7px!important}
    body.public-site .menu-item strong{font-size:13px!important}
    body.public-site .menu-item span{font-size:9px!important}

    body.public-site.page-index .home-image-hero{
        margin:10px 10px 0!important;border-radius:16px!important;aspect-ratio:16/9!important;background:#0a2362!important;box-shadow:0 10px 28px rgba(12,34,83,.14)!important
    }
    body.public-site.page-index .home-image-hero .hero-slide img{object-fit:contain!important;background:#0a2362!important}
    body.public-site.page-index .hero-carousel-arrow{width:32px!important;height:32px!important;font-size:20px!important}
    body.public-site.page-index .hero-carousel-dots{bottom:6px!important;padding:4px 6px!important}

    body.public-site.page-index .premium-stat-strip{padding:10px 10px 0!important}
    body.public-site.page-index .premium-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card{min-height:76px!important;grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;padding:10px!important;border-radius:15px!important}
    body.public-site.page-index .premium-kpi-grid .stat-icon{width:40px!important;height:40px!important;border-radius:11px!important;font-size:18px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card div>span{font-size:8.5px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card strong{font-size:21px!important;margin-top:3px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card small{font-size:8px!important}

    body.public-site.page-index .premium-home-dashboard{padding:10px 10px 26px!important}
    body.public-site.page-index .premium-home-main-grid{grid-template-columns:1fr!important;gap:10px!important}
    body.public-site.page-index .premium-dashboard-card{border-radius:16px!important}
    body.public-site.page-index .premium-card-head{min-height:48px!important;padding:10px 11px!important}
    body.public-site.page-index .premium-card-head strong{font-size:13px!important}
    body.public-site.page-index .premium-card-head>a,body.public-site.page-index .premium-card-actions>a{font-size:9px!important}
    body.public-site.page-index .premium-result-row{min-height:67px!important;grid-template-columns:34px minmax(0,1fr) 92px 8px!important;padding:8px 9px!important}
    body.public-site.page-index .sport-bubble{width:31px;height:31px;border-radius:9px;font-size:14px}
    body.public-site.page-index .result-desc strong{font-size:10px!important}
    body.public-site.page-index .result-desc small,body.public-site.page-index .result-medal span{font-size:8px!important}
    body.public-site.page-index .premium-schedule-row{min-height:54px!important;grid-template-columns:42px 19px minmax(0,1fr) auto 8px!important;padding:8px 9px!important}
    body.public-site.page-index .premium-schedule-row time{font-size:10px!important}
    body.public-site.page-index .premium-schedule-row strong{font-size:9.5px!important}
    body.public-site.page-index .premium-schedule-row small{font-size:7.8px!important}
    body.public-site.page-index .premium-news-row{min-height:70px!important;grid-template-columns:82px minmax(0,1fr) 8px!important;padding:8px 9px!important}
    body.public-site.page-index .premium-news-thumb{width:76px!important;height:52px!important}
    body.public-site.page-index .premium-news-row strong{font-size:9.5px!important}
    body.public-site.page-index .premium-news-row small{font-size:7.5px!important}
}

@media(max-width:420px){
    body.public-site.page-index .home-image-hero{margin:8px 8px 0!important}
    body.public-site.page-index .premium-stat-strip{padding-left:8px!important;padding-right:8px!important}
    body.public-site.page-index .premium-home-dashboard{padding-left:8px!important;padding-right:8px!important}
    body.public-site.page-index .premium-kpi-grid{gap:6px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card{padding:8px!important}
}
/* Keep collapse control clear of the sidebar scrollbar. */
body.public-site .sidebar-collapse-toggle{left:calc(var(--sidebar-width) - 1px)!important}
body.public-site.sidebar-collapsed .sidebar-collapse-toggle{left:calc(var(--sidebar-collapsed-width) - 1px)!important}

/* ======================================================================
   APPROVED CREAM / NAVY / GOLD DASHBOARD — 2026-09-30
   Reference: user-selected layout. Keeps all existing PHP functionality.
   ====================================================================== */
body.public-site{
    --approved-navy:#082a59;
    --approved-navy-2:#0c3b78;
    --approved-gold:#c99432;
    --approved-cream:#f7f1e5;
    --approved-ivory:#fffdf8;
    --approved-coral:#d9574f;
    --approved-blue:#2f67d7;
    --approved-teal:#168174;
    --approved-purple:#6754b8;
    --approved-ink:#16345e;
    --approved-muted:#718099;
    --sidebar-width:258px!important;
    --topbar-height:76px!important;
    background:
      radial-gradient(circle at 12% 0,rgba(216,176,95,.12),transparent 26%),
      linear-gradient(135deg,#f9f5ec 0%,#f7f8fb 50%,#fffaf0 100%)!important;
}
body.public-site .page-content{background:transparent!important}

/* Sidebar */
body.public-site .sidebar.premium-sidebar{
    width:var(--sidebar-width)!important;
    padding:18px 14px 18px!important;
    background:
      radial-gradient(circle at 5% 100%,rgba(211,164,66,.28),transparent 28%),
      linear-gradient(160deg,rgba(255,255,255,.035),transparent 30%),
      linear-gradient(180deg,#082d61 0%,#062753 55%,#08254b 100%)!important;
    border-right:0!important;
    box-shadow:15px 0 34px rgba(10,34,72,.14)!important;
    color:#fff!important;
}
body.public-site .sidebar.premium-sidebar::after{
    content:"";position:absolute;left:-45px;bottom:-80px;width:250px;height:250px;border-radius:50%;
    border:1px solid rgba(228,192,110,.22);box-shadow:0 0 0 32px rgba(228,192,110,.035),0 0 0 64px rgba(228,192,110,.02);pointer-events:none
}
body.public-site .sidebar-brand{
    flex-direction:column!important;justify-content:center!important;text-align:center!important;gap:8px!important;
    padding:4px 6px 17px!important;margin:0 0 12px!important;border-bottom:1px solid rgba(255,255,255,.11)!important;color:#fff!important;
}
body.public-site .sidebar-logo-frame{
    width:82px!important;height:82px!important;min-width:82px!important;padding:9px!important;border-radius:20px!important;
    background:linear-gradient(145deg,#fffdf7,#f7ecd5)!important;border:2px solid #dfb75e!important;
    box-shadow:0 13px 26px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.9)!important;
}
body.public-site .sidebar-logo-frame img{width:100%!important;height:100%!important;object-fit:contain!important}
body.public-site .sidebar-brand strong{font-size:20px!important;line-height:1.08!important;color:#fff!important;font-weight:900!important}
body.public-site .sidebar-brand span{font-size:12px!important;line-height:1.2!important;color:#d6e2f5!important;margin-top:1px!important}
body.public-site .sidebar-menu{gap:7px!important;margin-top:0!important;padding-right:1px!important;position:relative;z-index:2}
body.public-site .menu-item{
    min-height:59px!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:11px!important;padding:8px 10px!important;
    border-radius:14px!important;border:1px solid rgba(255,255,255,.09)!important;color:#fff!important;box-shadow:none!important;transform:none!important;
    background:rgba(255,255,255,.035)!important;
}
body.public-site .menu-item img,body.public-site .menu-item .menu-symbol{
    width:40px!important;height:40px!important;min-width:40px!important;padding:8px!important;display:grid!important;place-items:center!important;
    border-radius:11px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:none!important;object-fit:contain!important;font-size:18px!important
}
body.public-site .menu-item strong{font-size:14px!important;color:#fff!important;font-weight:900!important;line-height:1.15!important}
body.public-site .menu-item span{font-size:10px!important;color:#c2d1ea!important;line-height:1.25!important;margin-top:3px!important}
body.public-site .menu-item .chevron{color:#d7e2f5!important;font-size:14px!important}
body.public-site .menu-item:hover{filter:brightness(1.06);border-color:rgba(255,255,255,.18)!important}

/* Distinct menu blocks to match the selected design. */
body.public-site .menu-home{background:linear-gradient(135deg,#f5d995,#e7b85a)!important;border-color:#f2d385!important}
body.public-site .menu-home strong,body.public-site .menu-home span,body.public-site .menu-home .chevron{color:#4b3612!important}
body.public-site .menu-home img{background:rgba(255,255,255,.72)!important;border-color:rgba(128,92,22,.12)!important}
body.public-site .menu-news{background:linear-gradient(135deg,#bd4d4d,#d85d55)!important}
body.public-site .menu-register{background:linear-gradient(135deg,#17539a,#246bb4)!important}
body.public-site .menu-schedule{background:linear-gradient(135deg,#176a70,#25858b)!important}
body.public-site .menu-results{background:linear-gradient(135deg,#514596,#6d5bbe)!important}
body.public-site .menu-certificate{background:linear-gradient(135deg,#9c6b28,#c18b3b)!important}
body.public-site .menu-schools{background:linear-gradient(135deg,#18507f,#2371a0)!important}
body.public-site .menu-stats{background:linear-gradient(135deg,#216d66,#2e8d7d)!important}
body.public-site .menu-help{background:linear-gradient(135deg,#17416e,#1f568a)!important}
body.public-site .menu-item.active,body.public-site .menu-toggle.active{
    outline:2px solid rgba(255,226,152,.95)!important;outline-offset:-2px!important;
    box-shadow:0 9px 22px rgba(0,0,0,.16)!important;transform:none!important
}
body.public-site .menu-item.active img,body.public-site .menu-toggle.active img,body.public-site .menu-item.active .menu-symbol{background:rgba(255,255,255,.88)!important;border-color:rgba(255,255,255,.9)!important}
body.public-site .submenu{margin:1px 0 6px 52px!important;padding:4px 5px 4px 10px!important;border-left:1px solid rgba(231,195,113,.44)!important}
body.public-site .submenu a{font-size:10px!important;color:#d3dff1!important;padding:8px 9px!important;border-radius:8px!important}
body.public-site .submenu a:hover,body.public-site .submenu a.active{background:rgba(255,255,255,.10)!important;color:#fff!important}
body.public-site .sidebar-footer{color:#afbfda!important;border:0!important;font-size:8px!important;letter-spacing:.16em!important;position:relative;z-index:2}
body.public-site .sidebar-collapse-toggle{background:#fffdf8!important;color:#163b72!important;border-color:#e4dfd3!important;box-shadow:0 8px 22px rgba(10,34,72,.14)!important}

/* Top bar */
body.public-site .topbar.public-premium-topbar{
    height:var(--topbar-height)!important;padding:0 28px!important;gap:12px!important;
    background:rgba(255,253,248,.97)!important;border-bottom:1px solid #ebe3d6!important;box-shadow:0 6px 20px rgba(34,46,66,.055)!important;
    backdrop-filter:blur(14px)!important
}
body.public-site .topbar-back-button{display:none!important}
body.public-site .topbar-search{
    width:min(690px,58vw)!important;max-width:690px!important;height:44px!important;border-radius:15px!important;
    background:#fff!important;border:1px solid #e1e5eb!important;box-shadow:0 6px 18px rgba(32,46,72,.04)!important
}
body.public-site .topbar-search input{font-size:13px!important;color:#34445f!important}
body.public-site .topbar-right-cluster{margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important}
body.public-site .topbar-notification{width:42px!important;height:42px!important;border-radius:50%!important;background:#fff!important;border:1px solid #e3e6eb!important;box-shadow:0 5px 14px rgba(31,45,70,.05)!important}
body.public-site .topbar-actions{margin-left:0!important}
body.public-site .topbar-admin.is-authenticated,body.public-site .topbar-user.is-authenticated,body.public-site .topbar-committee.is-authenticated{
    min-height:44px!important;padding:9px 17px 9px 11px!important;border-radius:14px!important;background:#fff!important;color:#173864!important;border:1px solid #e3e6eb!important;box-shadow:0 5px 14px rgba(31,45,70,.05)!important
}
body.public-site .topbar-admin.is-authenticated::before,body.public-site .topbar-user.is-authenticated::before,body.public-site .topbar-committee.is-authenticated::before{
    content:"👤";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:7px;border-radius:50%;background:#f1e6cf;font-size:15px
}

/* Home banner */
body.public-site.page-index .home-image-hero{
    margin:16px 18px 0!important;width:auto!important;height:auto!important;aspect-ratio:1322/454!important;border-radius:17px!important;overflow:hidden!important;
    background:#fff!important;border:1px solid #e9e1d5!important;box-shadow:0 14px 34px rgba(41,46,58,.09)!important
}
body.public-site.page-index .home-image-hero .hero-slides,body.public-site.page-index .home-image-hero .hero-slide,body.public-site.page-index .home-image-hero picture{width:100%!important;height:100%!important;display:block!important}
body.public-site.page-index .home-image-hero .hero-slide img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
body.public-site.page-index .hero-carousel-arrow{width:38px!important;height:38px!important;border-radius:50%!important;background:rgba(8,42,89,.82)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:0 7px 20px rgba(5,28,63,.18)!important}
body.public-site.page-index .hero-carousel-dots{bottom:9px!important;background:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.9)!important;padding:5px 7px!important;border-radius:999px!important}
body.public-site.page-index .hero-carousel-dots button{width:7px!important;height:7px!important;background:#c4c6c9!important}
body.public-site.page-index .hero-carousel-dots button.is-active{width:18px!important;background:#d3a243!important;border-radius:999px!important}

/* KPI cards */
body.public-site.page-index .premium-stat-strip{padding:11px 18px 0!important}
body.public-site.page-index .premium-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card{
    min-height:88px!important;grid-template-columns:50px minmax(0,1fr)!important;gap:12px!important;padding:12px 14px!important;border-radius:16px!important;
    border:1px solid rgba(23,47,94,.07)!important;box-shadow:0 8px 22px rgba(37,46,63,.045)!important;overflow:hidden!important;background:#fff!important
}
body.public-site.page-index .premium-kpi-grid .home-stat-card::after{display:block!important;width:100px!important;height:100px!important;right:-29px!important;bottom:-44px!important;opacity:.62!important}
body.public-site.page-index .premium-kpi-grid .stat-icon{width:46px!important;height:46px!important;border-radius:13px!important;display:grid!important;place-items:center!important;font-size:21px!important;background:rgba(255,255,255,.76)!important;box-shadow:0 5px 14px rgba(25,38,60,.05)!important}
body.public-site.page-index .premium-kpi-grid .kpi-schools{background:linear-gradient(135deg,#fff5f4,#ffe9e8)!important}.premium-kpi-grid .kpi-schools::after{background:#ffc9c5!important}
body.public-site.page-index .premium-kpi-grid .kpi-athletes{background:linear-gradient(135deg,#f2f6ff,#e8efff)!important}.premium-kpi-grid .kpi-athletes::after{background:#d3defe!important}
body.public-site.page-index .premium-kpi-grid .kpi-register{background:linear-gradient(135deg,#fff8ed,#fff0dc)!important}.premium-kpi-grid .kpi-register::after{background:#ffe0b2!important}
body.public-site.page-index .premium-kpi-grid .kpi-medals{background:linear-gradient(135deg,#effcf7,#def5eb)!important}.premium-kpi-grid .kpi-medals::after{background:#c9eedf!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card div>span{font-size:11px!important;color:#4b5e7b!important;font-weight:800!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card strong{font-size:29px!important;color:#0c2e63!important;line-height:1!important;margin:5px 5px 0 0!important;display:inline-block!important}
body.public-site.page-index .premium-kpi-grid .home-stat-card small{font-size:10px!important;color:#64728a!important}

/* Three-column dashboard */
body.public-site.page-index .premium-home-dashboard{padding:12px 18px 28px!important}
body.public-site.page-index .premium-home-dashboard>.container{width:100%!important;max-width:none!important}
body.public-site.page-index .premium-home-main-grid{display:grid!important;grid-template-columns:1.08fr 1.02fr .94fr!important;gap:12px!important;align-items:stretch!important}
body.public-site.page-index .premium-dashboard-card{min-width:0!important;border-radius:16px!important;background:#fff!important;border:1px solid #e4e8ee!important;box-shadow:0 8px 24px rgba(33,45,65,.045)!important;overflow:hidden!important}
body.public-site.page-index .premium-card-head{min-height:51px!important;padding:11px 13px!important;border-bottom:1px solid #edf0f4!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
body.public-site.page-index .premium-card-head>div{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
body.public-site.page-index .premium-card-head strong{font-size:14px!important;color:#17375f!important;font-weight:900!important}
body.public-site.page-index .premium-card-head>a,body.public-site.page-index .premium-card-actions>a{font-size:10px!important;font-weight:900!important;color:#2d66c3!important;text-decoration:none!important;white-space:nowrap!important}
body.public-site.page-index .live-dashboard-card .premium-card-head{background:linear-gradient(135deg,#092e63,#0b3c7f)!important;border-bottom-color:rgba(255,255,255,.12)!important}
body.public-site.page-index .live-dashboard-card .premium-card-head strong,body.public-site.page-index .live-dashboard-card .premium-card-head>a{color:#fff!important}
body.public-site.page-index .premium-live-badge{background:#ff4f50!important;color:#fff!important;border:0!important;padding:5px 8px!important;border-radius:999px!important;font-size:10px!important;font-weight:900!important}

/* Live score content inside the first dashboard card */
body.public-site.page-index .home-live-score-board{padding:8px!important;background:#fff!important}
body.public-site.page-index .home-live-score-board .live-score-grid{display:block!important}
body.public-site.page-index .home-live-score-board .live-score-sport{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;margin:0!important}
body.public-site.page-index .home-live-score-board .live-score-sport-head{display:none!important}
body.public-site.page-index .home-live-score-board .live-score-match-list{display:grid!important;gap:7px!important}
body.public-site.page-index .home-live-score-board .live-score-match{padding:9px 10px!important;border:1px solid #e8edf4!important;border-radius:12px!important;background:#fff!important}
body.public-site.page-index .home-live-score-board .live-score-match:nth-child(n+4){display:none!important}
body.public-site.page-index .home-live-score-board .live-score-meta{font-size:9px!important;display:flex!important;gap:6px!important;align-items:center!important;justify-content:space-between!important;color:#71809a!important}
body.public-site.page-index .home-live-score-board .live-status{font-size:8px!important;padding:4px 7px!important;border-radius:999px!important;font-weight:900!important}
body.public-site.page-index .home-live-score-board .live-status.live{background:#ffe3e4!important;color:#d54248!important}.home-live-score-board .live-status.scheduled{background:#eef3fb!important;color:#536a88!important}.home-live-score-board .live-status.finished{background:#e5f6ef!important;color:#168269!important}
body.public-site.page-index .home-live-score-board .live-score-versus{display:grid!important;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;margin:8px 0 5px!important;text-align:center!important}
body.public-site.page-index .home-live-score-board .live-score-versus>div{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:7px!important;min-width:0!important}
body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child{grid-template-columns:auto 1fr!important}
body.public-site.page-index .home-live-score-board .live-score-versus strong{font-size:10px!important;color:#173961!important;white-space:normal!important;line-height:1.3!important}
body.public-site.page-index .home-live-score-board .live-score-versus b{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#0b3675!important;color:#fff!important;font-size:17px!important}
body.public-site.page-index .home-live-score-board .live-score-versus span{font-size:9px!important;color:#8290a3!important;font-weight:900!important}
body.public-site.page-index .home-live-score-board .live-score-summary{font-size:8.5px!important;color:#52637c!important;padding:6px 8px!important;background:#f7f9fc!important;border-radius:8px!important}
body.public-site.page-index .home-live-score-board .live-score-foot{font-size:7.8px!important;color:#9aa4b3!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:5px!important}

/* Schedule */
body.public-site.page-index .premium-schedule-list{display:grid!important}
body.public-site.page-index .premium-schedule-row{min-height:57px!important;padding:9px 12px!important;grid-template-columns:50px 22px minmax(0,1fr) auto 10px!important;align-items:center!important;gap:7px!important;border-bottom:1px solid #edf0f4!important}
body.public-site.page-index .premium-schedule-row:last-child{border-bottom:0!important}
body.public-site.page-index .premium-schedule-row time{font-size:11px!important;color:#173a75!important;font-weight:900!important}
body.public-site.page-index .premium-schedule-row strong{font-size:10.5px!important;color:#17365f!important}
body.public-site.page-index .premium-schedule-row small{font-size:8.5px!important;color:#7f8b9d!important}
body.public-site.page-index .schedule-sport-icon{color:#e34e4e!important;font-size:16px!important}
body.public-site.page-index .schedule-status{font-size:8px!important;padding:5px 7px!important;border-radius:999px!important;white-space:nowrap!important}

/* News */
body.public-site.page-index .premium-news-list{padding:8px!important;display:grid!important;gap:7px!important}
body.public-site.page-index .premium-news-row{min-height:65px!important;padding:7px!important;grid-template-columns:82px minmax(0,1fr) 10px!important;gap:8px!important;border:1px solid #edf0f4!important;border-radius:11px!important;background:#fff!important}
body.public-site.page-index .premium-news-thumb{width:76px!important;height:52px!important;border-radius:9px!important;overflow:hidden!important;background:#eef2f7!important}
body.public-site.page-index .premium-news-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}
body.public-site.page-index .premium-news-row small{font-size:7.5px!important;color:#8290a2!important}
body.public-site.page-index .premium-news-row strong{font-size:9.5px!important;line-height:1.4!important;color:#1b3a68!important}
body.public-site.page-index .premium-news-row:first-child{grid-template-columns:1fr!important;padding:0!important;position:relative!important;overflow:hidden!important}
body.public-site.page-index .premium-news-row:first-child .premium-news-thumb{width:100%!important;height:138px!important;border-radius:0!important}
body.public-site.page-index .premium-news-row:first-child>div{padding:9px 10px 10px!important}
body.public-site.page-index .premium-news-row:first-child>em{position:absolute!important;right:10px!important;bottom:12px!important;width:25px!important;height:25px!important;border-radius:50%!important;background:#fff!important;display:grid!important;place-items:center!important;color:#d85850!important;box-shadow:0 4px 10px rgba(0,0,0,.12)!important}
body.public-site.page-index .news-label{padding:3px 6px!important;border-radius:999px!important;background:#ffe7e5!important;color:#d94e47!important;font-size:7px!important}
body.public-site.page-index .premium-empty{font-size:10px!important;color:#a0a8b5!important;padding:35px 12px!important;text-align:center!important}

/* The reference focuses on the dashboard. Keep contact lower and visually light. */
body.public-site.page-index #contact{padding:0 18px 28px!important}
body.public-site.page-index #contact .contact-card{border-radius:16px!important;border-color:#e6e1d8!important;background:#fffdf8!important;box-shadow:none!important}

/* Responsive desktop/tablet */
@media(max-width:1180px) and (min-width:821px){
    body.public-site{--sidebar-width:230px!important}
    body.public-site .sidebar-brand strong{font-size:17px!important}
    body.public-site .sidebar-logo-frame{width:70px!important;height:70px!important;min-width:70px!important}
    body.public-site .menu-item{grid-template-columns:38px minmax(0,1fr) auto!important;padding:7px 8px!important;min-height:55px!important}
    body.public-site .menu-item img,body.public-site .menu-item .menu-symbol{width:36px!important;height:36px!important;min-width:36px!important;padding:7px!important}
    body.public-site .menu-item strong{font-size:13px!important}
    body.public-site.page-index .premium-home-main-grid{grid-template-columns:1fr 1fr!important}
    body.public-site.page-index .news-summary-card{grid-column:1/-1!important}
    body.public-site.page-index .premium-news-list{grid-template-columns:1.2fr 1fr 1fr!important;align-items:stretch!important}
    body.public-site.page-index .premium-news-row:first-child{grid-row:1!important}
}

/* Mobile version mirrors the selected phone layout. */
@media(max-width:820px){
    body.public-site{--topbar-height:66px!important;background:#f7f4ed!important}
    body.public-site .topbar.public-premium-topbar{height:var(--topbar-height)!important;padding:0 10px!important;gap:8px!important;background:#fffdf8!important}
    body.public-site .sidebar-toggle{width:42px!important;height:42px!important;border-radius:12px!important;background:#0a326c!important;color:#fff!important}
    body.public-site .mobile-topbar-brand{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex:1!important;text-decoration:none!important;color:#0b326a!important}
    body.public-site .mobile-topbar-brand img{display:block!important;width:36px!important;height:36px!important;padding:4px!important;border-radius:10px!important;background:#fff8e8!important;border:1px solid #e5c36f!important;object-fit:contain!important}
    body.public-site .mobile-topbar-brand strong{font-size:13px!important;line-height:1.1!important}.mobile-topbar-brand span{display:block!important;font-size:8px!important;color:#738097!important;margin-top:1px!important}
    body.public-site .topbar-search,body.public-site .topbar-back-button,body.public-site .topbar-login-desktop{display:none!important}
    body.public-site .topbar-right-cluster{gap:5px!important;margin-left:0!important}
    body.public-site .topbar-notification{display:grid!important;width:36px!important;height:36px!important;min-width:36px!important;font-size:14px!important}
    body.public-site .mobile-login-trigger{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border-radius:50%!important;background:#f1e5cf!important;color:#14365f!important;font-size:0!important;text-decoration:none!important}
    body.public-site .mobile-login-trigger::before{content:"👤";font-size:15px!important}

    body.public-site .sidebar.premium-sidebar,body.public-site.sidebar-collapsed .sidebar.premium-sidebar{width:min(88vw,320px)!important;padding:calc(14px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#082e63,#06254f)!important}
    body.public-site .sidebar-brand{flex-direction:row!important;text-align:left!important;justify-content:flex-start!important;padding:4px 46px 13px 4px!important;margin-bottom:8px!important}
    body.public-site .sidebar-logo-frame{width:58px!important;height:58px!important;min-width:58px!important;border-radius:15px!important;padding:6px!important}
    body.public-site .sidebar-brand strong{font-size:15px!important}.sidebar-brand span{font-size:10px!important}
    body.public-site .menu-item{min-height:54px!important;grid-template-columns:37px minmax(0,1fr) auto!important;padding:7px 9px!important;border-radius:12px!important}
    body.public-site .menu-item img,body.public-site .menu-item .menu-symbol{width:35px!important;height:35px!important;min-width:35px!important;padding:7px!important}
    body.public-site .menu-item strong{font-size:13px!important}.menu-item span{font-size:9px!important}

    body.public-site.page-index .home-image-hero{margin:8px 8px 0!important;border-radius:14px!important;aspect-ratio:340/247!important;background:#fff!important;box-shadow:0 9px 24px rgba(25,38,60,.10)!important}
    body.public-site.page-index .home-image-hero .hero-slide img{object-fit:contain!important;background:#fff!important}
    body.public-site.page-index .hero-carousel-arrow{width:30px!important;height:30px!important;font-size:18px!important}
    body.public-site.page-index .hero-carousel-dots{bottom:5px!important;padding:4px 5px!important}

    body.public-site .mobile-home-shortcuts{display:none!important}
    body.public-site.page-index .premium-stat-strip{padding:8px 8px 0!important}
    body.public-site.page-index .premium-kpi-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card{min-height:72px!important;grid-template-columns:38px minmax(0,1fr)!important;gap:7px!important;padding:8px 9px!important;border-radius:13px!important}
    body.public-site.page-index .premium-kpi-grid .stat-icon{width:36px!important;height:36px!important;border-radius:10px!important;font-size:17px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card div>span{font-size:8px!important}.premium-kpi-grid .home-stat-card strong{font-size:21px!important}.premium-kpi-grid .home-stat-card small{font-size:7.5px!important}

    body.public-site.page-index .premium-home-dashboard{padding:8px 8px 76px!important}
    body.public-site.page-index .premium-home-main-grid{grid-template-columns:1fr!important;gap:9px!important}
    body.public-site.page-index .premium-dashboard-card{border-radius:14px!important}
    body.public-site.page-index .premium-card-head{min-height:46px!important;padding:9px 10px!important}
    body.public-site.page-index .premium-card-head strong{font-size:12.5px!important}.premium-card-head>a,.premium-card-actions>a{font-size:8.5px!important}
    body.public-site.page-index .home-live-score-board{padding:7px!important}
    body.public-site.page-index .home-live-score-board .live-score-match{padding:8px!important}
    body.public-site.page-index .home-live-score-board .live-score-versus{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;gap:5px!important}
    body.public-site.page-index .home-live-score-board .live-score-versus>div{grid-template-columns:1fr!important;gap:4px!important}.home-live-score-board .live-score-versus>div:last-child{grid-template-columns:1fr!important}
    body.public-site.page-index .home-live-score-board .live-score-versus b{width:34px!important;height:34px!important;margin:auto!important}.home-live-score-board .live-score-versus strong{font-size:9px!important}
    body.public-site.page-index .premium-schedule-row{grid-template-columns:42px 18px minmax(0,1fr) 9px!important;gap:6px!important;padding:8px 9px!important}.premium-schedule-row .schedule-status{display:none!important}
    body.public-site.page-index .premium-news-row:first-child .premium-news-thumb{height:150px!important}
    body.public-site.page-index #contact{display:none!important}
}

@media(max-width:420px){
    body.public-site.page-index .premium-kpi-grid{gap:6px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card{padding:8px!important}
    body.public-site .mobile-topbar-brand strong{font-size:12px!important}
}

/* ======================================================================
   2026-09-30 SIDEBAR BRAND + CONTRAST + CLEAN BANNER POLISH
   - remove the bulky brand frame
   - improve subtitle contrast in colored navigation cards
   - use crisp high-resolution banner artwork without baked fake dots
   ====================================================================== */
body.public-site .sidebar-brand{
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:2px 6px 14px!important;
    margin:0 0 12px!important;
}
body.public-site .sidebar-logo-frame{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
body.public-site .sidebar-logo-frame img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    filter:drop-shadow(0 4px 9px rgba(0,0,0,.18));
}
body.public-site .sidebar-brand strong{
    font-size:19px!important;
    color:#fff!important;
    text-shadow:0 1px 2px rgba(0,0,0,.16)!important;
}
body.public-site .sidebar-brand span{
    color:#f0f5ff!important;
    font-size:11px!important;
    font-weight:700!important;
}

/* Colored menu blocks need readable secondary labels, not washed-out gray. */
body.public-site .menu-item:not(.menu-home) strong{
    color:#fff!important;
    text-shadow:0 1px 1px rgba(0,0,0,.12)!important;
}
body.public-site .menu-item:not(.menu-home) span{
    color:#f5f8ff!important;
    font-size:10.5px!important;
    font-weight:700!important;
    opacity:.96!important;
}
body.public-site .menu-item:not(.menu-home) .chevron{
    color:#fff!important;
    opacity:.92!important;
}
body.public-site .submenu a{
    color:#f1f5ff!important;
    font-weight:700!important;
}
body.public-site .submenu a:hover,
body.public-site .submenu a.active{
    color:#fff!important;
    background:rgba(255,255,255,.14)!important;
}

/* High-resolution clean artwork; aspect ratio remains compact. */
body.public-site.page-index .home-image-hero{
    aspect-ratio:1916/658!important;
    background:#fff!important;
}
body.public-site.page-index .home-image-hero .hero-slide img{
    image-rendering:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
}

@media(max-width:820px){
    body.public-site .sidebar-brand{
        padding:3px 44px 11px 3px!important;
        margin-bottom:9px!important;
    }
    body.public-site .sidebar-logo-frame{
        width:54px!important;
        height:54px!important;
        min-width:54px!important;
    }
    body.public-site .sidebar-brand strong{font-size:15px!important}
    body.public-site .sidebar-brand span{font-size:10px!important}
    body.public-site .menu-item:not(.menu-home) span{font-size:9.5px!important}
    body.public-site.page-index .home-image-hero{
        aspect-ratio:1130/821!important;
        background:#fff!important;
    }
}


/* ======================================================================
   2026-09-30 NARROW DESKTOP / TABLET RESPONSIVE FIX
   Prevent a narrowed desktop browser (or desktop zoom) from switching to
   the tall phone hero and fixed phone navigation. True phone layout starts
   at 600px; 601-820px uses a compact desktop/tablet presentation.
   ====================================================================== */
@media (min-width:601px) and (max-width:820px){
    body.public-site{
        --topbar-height:68px!important;
        padding-bottom:0!important;
    }

    /* Compact top bar for narrow desktop/tablet: keep search available. */
    body.public-site .topbar.public-premium-topbar{
        height:var(--topbar-height)!important;
        padding:0 14px!important;
        gap:9px!important;
    }
    body.public-site .sidebar-toggle{
        display:grid!important;
        place-items:center!important;
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
        border-radius:12px!important;
    }
    body.public-site .mobile-topbar-brand{display:none!important}
    body.public-site .topbar-search{
        display:flex!important;
        flex:1 1 auto!important;
        width:auto!important;
        max-width:none!important;
        min-width:180px!important;
        height:42px!important;
    }
    body.public-site .topbar-notification{
        display:grid!important;
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
    }
    body.public-site .topbar-right-cluster{margin-left:0!important;gap:6px!important}

    /* Phone bottom navigation is for actual phones only. */
    body.public-site .mobile-bottom-nav{display:none!important}
    body.public-site.page-index .premium-home-dashboard{padding-bottom:24px!important}

    /* Use the wide desktop artwork and a wide ratio at intermediate widths. */
    body.public-site.page-index .home-image-hero{
        margin:10px 10px 0!important;
        width:auto!important;
        height:auto!important;
        aspect-ratio:1916/658!important;
        border-radius:14px!important;
        overflow:hidden!important;
        background:#fff!important;
    }
    body.public-site.page-index .home-image-hero .hero-slides,
    body.public-site.page-index .home-image-hero .hero-slide,
    body.public-site.page-index .home-image-hero picture{
        width:100%!important;
        height:100%!important;
    }
    body.public-site.page-index .home-image-hero .hero-slide img{
        width:100%!important;
        height:100%!important;
        object-fit:contain!important;
        object-position:center!important;
        background:#fff!important;
    }
    body.public-site.page-index .hero-carousel-arrow{
        width:32px!important;
        height:32px!important;
        font-size:19px!important;
    }
    body.public-site.page-index .hero-carousel-dots{bottom:5px!important}

    /* More efficient use of a tablet/narrow-desktop width. */
    body.public-site.page-index .premium-stat-strip{padding:8px 10px 0!important}
    body.public-site.page-index .premium-kpi-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:7px!important;
    }
    body.public-site.page-index .premium-kpi-grid .home-stat-card{
        min-height:70px!important;
        grid-template-columns:36px minmax(0,1fr)!important;
        gap:7px!important;
        padding:8px 9px!important;
    }
    body.public-site.page-index .premium-kpi-grid .stat-icon{
        width:34px!important;height:34px!important;font-size:16px!important
    }
    body.public-site.page-index .premium-kpi-grid .home-stat-card div>span{font-size:8px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card strong{font-size:20px!important}
    body.public-site.page-index .premium-kpi-grid .home-stat-card small{font-size:7px!important}

    body.public-site.page-index .premium-home-dashboard{padding:9px 10px 24px!important}
    body.public-site.page-index .premium-home-main-grid{
        grid-template-columns:1fr 1fr!important;
        gap:9px!important;
    }
    body.public-site.page-index .news-dashboard-card{grid-column:1/-1!important}
}

@media (min-width:601px) and (max-width:700px){
    body.public-site.page-index .premium-kpi-grid{grid-template-columns:1fr 1fr!important}
    body.public-site.page-index .premium-home-main-grid{grid-template-columns:1fr!important}
    body.public-site.page-index .news-dashboard-card{grid-column:auto!important}
}

/* Actual phone layout only. */
@media (max-width:600px){
    body.public-site.page-index .home-image-hero{
        aspect-ratio:1130/821!important;
    }
}

/* ===== 2026-09-30 submenu readability fix ===== */
body.public-site .submenu{
    margin:4px 4px 7px 54px!important;
    padding:6px 6px 6px 9px!important;
    border-left:2px solid rgba(255,255,255,.42)!important;
    gap:5px!important;
}
body.public-site .submenu a{
    display:flex!important;
    align-items:center!important;
    min-height:40px!important;
    padding:9px 12px!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(255,255,255,.72)!important;
    color:#17345f!important;
    font-size:12.5px!important;
    line-height:1.35!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    opacity:1!important;
    box-shadow:0 5px 13px rgba(5,27,66,.10)!important;
}
body.public-site .submenu a:hover{
    background:#fff8df!important;
    border-color:#f1cb67!important;
    color:#0b2f68!important;
    transform:translateX(2px)!important;
}
body.public-site .submenu a.active{
    background:linear-gradient(135deg,#fff3bf,#ffe28b)!important;
    border-color:#e8bd4d!important;
    color:#0b2f68!important;
    box-shadow:inset 3px 0 0 #d69813,0 5px 13px rgba(5,27,66,.10)!important;
}

@media(max-width:820px){
    body.public-site .submenu{
        margin-left:50px!important;
        padding-left:8px!important;
    }
    body.public-site .submenu a{
        min-height:42px!important;
        font-size:13px!important;
        padding:10px 12px!important;
    }
}

/* ======================================================================
   2026-09-30 SIDEBAR SCALE + LOGO FRAME + TRUE FULL BANNER FIX
   - wider desktop sidebar
   - consistent larger icon boxes
   - all menu/submenu labels stay on one line
   - compact square frame only around the logo
   - hero height follows the real image ratio so it can never be cropped
   ====================================================================== */
@media (min-width:821px){
  body.public-site{
    --sidebar-width:306px!important;
  }
  body.public-site .sidebar.premium-sidebar{
    width:var(--sidebar-width)!important;
    padding:16px 15px 20px!important;
  }

  /* Keep only a small, neat box around the logo itself. */
  body.public-site .sidebar-brand{
    padding:4px 7px 15px!important;
    margin:0 0 13px!important;
    gap:9px!important;
  }
  body.public-site .sidebar-logo-frame{
    width:68px!important;
    height:68px!important;
    min-width:68px!important;
    padding:7px!important;
    border-radius:17px!important;
    background:linear-gradient(145deg,#fffef9,#f8edda)!important;
    border:1.5px solid #e1b956!important;
    box-shadow:0 7px 18px rgba(1,23,55,.20),inset 0 0 0 1px rgba(255,255,255,.85)!important;
  }
  body.public-site .sidebar-logo-frame img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    filter:none!important;
  }
  body.public-site .sidebar-brand strong{
    font-size:19px!important;
    line-height:1.12!important;
    white-space:nowrap!important;
  }
  body.public-site .sidebar-brand span{
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  /* Larger, uniform menu icons and more breathing room. */
  body.public-site .sidebar-menu{
    gap:9px!important;
    padding-right:4px!important;
  }
  body.public-site .menu-item{
    min-height:70px!important;
    grid-template-columns:50px minmax(0,1fr) 18px!important;
    gap:13px!important;
    padding:10px 12px!important;
    border-radius:17px!important;
  }
  body.public-site .menu-item img,
  body.public-site .menu-item .menu-symbol{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    padding:8px!important;
    border-radius:14px!important;
    object-fit:contain!important;
    font-size:23px!important;
    line-height:1!important;
  }
  body.public-site .menu-item strong{
    display:block!important;
    font-size:15.5px!important;
    line-height:1.18!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.public-site .menu-item span{
    display:block!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    margin-top:4px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.public-site .menu-item .chevron{
    width:18px!important;
    text-align:center!important;
    justify-self:end!important;
    font-size:15px!important;
  }

  /* Submenus stay single-line and remain fully readable. */
  body.public-site .submenu{
    margin:3px 5px 8px 62px!important;
    padding:6px 6px 6px 10px!important;
    gap:6px!important;
  }
  body.public-site .submenu a{
    min-height:44px!important;
    padding:10px 14px!important;
    border-radius:12px!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* 821-1120px is still desktop/tablet: keep enough width for readable labels. */
@media (min-width:821px) and (max-width:1120px){
  body.public-site{--sidebar-width:284px!important}
  body.public-site .menu-item{
    grid-template-columns:46px minmax(0,1fr) 16px!important;
    min-height:66px!important;
    gap:11px!important;
    padding:9px 10px!important;
  }
  body.public-site .menu-item img,
  body.public-site .menu-item .menu-symbol{
    width:44px!important;height:44px!important;min-width:44px!important;padding:7px!important
  }
  body.public-site .menu-item strong{font-size:14px!important}
  body.public-site .menu-item span{font-size:10.5px!important}
  body.public-site .submenu{margin-left:57px!important}
  body.public-site .submenu a{font-size:12px!important}
}

/* Phone drawer: consistent icons, readable one-line submenu labels. */
@media (max-width:820px){
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    width:min(90vw,340px)!important;
  }
  body.public-site .sidebar-logo-frame{
    width:58px!important;height:58px!important;min-width:58px!important;
    padding:6px!important;border-radius:14px!important;
    background:linear-gradient(145deg,#fffef9,#f8edda)!important;
    border:1.5px solid #e1b956!important;
    box-shadow:0 6px 15px rgba(1,23,55,.18)!important;
  }
  body.public-site .menu-item{
    min-height:61px!important;
    grid-template-columns:43px minmax(0,1fr) 16px!important;
    gap:10px!important;
    padding:8px 10px!important;
  }
  body.public-site .menu-item img,
  body.public-site .menu-item .menu-symbol{
    width:42px!important;height:42px!important;min-width:42px!important;
    padding:7px!important;border-radius:12px!important;font-size:20px!important;
  }
  body.public-site .menu-item strong{
    font-size:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.public-site .menu-item span{
    font-size:10.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body.public-site .submenu{
    margin:4px 4px 8px 53px!important;
    padding:5px 5px 5px 8px!important;
    gap:5px!important;
  }
  body.public-site .submenu a{
    min-height:42px!important;
    padding:9px 11px!important;
    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* Hero/banner: follow the active image's intrinsic ratio instead of forcing a crop box. */
body.public-site.page-index .home-image-hero{
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.public-site.page-index .home-image-hero .hero-slides{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
}
body.public-site.page-index .home-image-hero .hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  background:#fff!important;
}
body.public-site.page-index .home-image-hero .hero-slide.is-active{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
}
body.public-site.page-index .home-image-hero picture{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
body.public-site.page-index .home-image-hero .hero-slide.is-active img,
body.public-site.page-index .home-image-hero .hero-slide.is-active picture img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
body.public-site.page-index .home-image-hero .hero-slide:not(.is-active) img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* No fake carousel controls when there is only the built-in banner. */
body.public-site.page-index .home-image-hero:not(:has(.hero-slide:nth-child(2))) .hero-carousel-arrow,
body.public-site.page-index .home-image-hero:not(:has(.hero-slide:nth-child(2))) .hero-carousel-dots{
  display:none!important;
}

/* =========================================================
   THEME 6 — IVORY / NAVY / GOLD (MINIMAL LUXURY)
   2026-09-30
   Keeps all existing PHP behaviour and sidebar open/close logic.
   ========================================================= */
body.public-site{
  --t6-navy:#0b2f63;
  --t6-navy-deep:#071f44;
  --t6-blue:#1458a6;
  --t6-gold:#d8a536;
  --t6-gold-soft:#f6e5b7;
  --t6-ivory:#fbfaf6;
  --t6-paper:#fffefa;
  --t6-line:#e9e2d4;
  --t6-ink:#173154;
  --t6-muted:#746f68;
  --t6-shadow:0 12px 34px rgba(28,45,73,.08);
  background:
    radial-gradient(circle at 92% 8%,rgba(216,165,54,.11),transparent 24%),
    radial-gradient(circle at 15% 92%,rgba(20,88,166,.055),transparent 26%),
    #f5f2eb!important;
  color:var(--t6-ink)!important;
}

/* Sidebar: light luxury shell from option 6 */
body.public-site .sidebar.premium-sidebar{
  background:
    radial-gradient(circle at 115% 8%,rgba(216,165,54,.18),transparent 23%),
    radial-gradient(circle at -12% 90%,rgba(20,88,166,.08),transparent 28%),
    linear-gradient(180deg,#fffefb 0%,#f8f2e7 100%)!important;
  border-right:1px solid #ddd4c4!important;
  box-shadow:14px 0 34px rgba(23,43,72,.08)!important;
  color:var(--t6-ink)!important;
}
body.public-site .sidebar-brand{
  border-bottom:1px solid #e2d8c7!important;
  color:var(--t6-navy)!important;
}
body.public-site .sidebar-logo-frame{
  background:linear-gradient(145deg,#fffef8,#f7ecd1)!important;
  border:1.5px solid #d8b65f!important;
  box-shadow:0 9px 21px rgba(131,94,22,.12)!important;
}
body.public-site .sidebar-brand strong{color:var(--t6-navy)!important;font-weight:900!important}
body.public-site .sidebar-brand span{color:#827767!important}
body.public-site .sidebar-footer{color:#8b8173!important}
body.public-site .sidebar-school-return{
  background:#fff!important;color:var(--t6-navy)!important;border-color:#e4dac9!important;
  box-shadow:0 5px 15px rgba(37,49,68,.04)!important;
}

/* Base menu card */
body.public-site .menu-item{
  position:relative!important;
  color:var(--t6-ink)!important;
  border:1px solid rgba(24,49,84,.08)!important;
  box-shadow:0 6px 15px rgba(26,42,66,.055)!important;
  transform:none!important;
}
body.public-site .menu-item strong{color:inherit!important;font-weight:900!important}
body.public-site .menu-item span{color:#665f57!important;font-weight:700!important;opacity:1!important}
body.public-site .menu-item img,
body.public-site .menu-item .menu-symbol{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(21,51,88,.10)!important;
  box-shadow:0 5px 14px rgba(29,45,68,.065)!important;
}
body.public-site .menu-item .chevron{color:currentColor!important;opacity:.72!important}

/* Distinct pastel cards — clear separation but not loud */
body.public-site .menu-home{
  background:linear-gradient(135deg,#f6df9f,#f8ebc7)!important;
  border-color:#e5c66d!important;color:#173960!important;
}
body.public-site .menu-news{
  background:linear-gradient(135deg,#fff0ef,#ffe1de)!important;
  border-color:#f0c9c6!important;color:#7d3032!important;
}
body.public-site .menu-register{
  background:linear-gradient(135deg,#edf5ff,#dfeeff)!important;
  border-color:#cbdcf3!important;color:#174a82!important;
}
body.public-site .menu-schedule{
  background:linear-gradient(135deg,#143f7c,#0b2f63)!important;
  border-color:#0b2f63!important;color:#fff!important;
}
body.public-site .menu-schedule strong,
body.public-site .menu-schedule span{color:#fff!important}
body.public-site .menu-results{
  background:linear-gradient(135deg,#f3efff,#e5ddfa)!important;
  border-color:#d7cef0!important;color:#493b81!important;
}
body.public-site .menu-certificate{
  background:linear-gradient(135deg,#fffdf7,#f7ead1)!important;
  border-color:#e7d4aa!important;color:#76551c!important;
}
body.public-site .menu-schools{
  background:linear-gradient(135deg,#eef9f8,#ddf2ef)!important;
  border-color:#c9e6e1!important;color:#17605c!important;
}
body.public-site .menu-stats{
  background:linear-gradient(135deg,#f0f5fb,#e4edf8)!important;
  border-color:#cedbea!important;color:#274d77!important;
}
body.public-site .menu-help{
  background:linear-gradient(135deg,#fff5eb,#f7e8d9)!important;
  border-color:#ead6c3!important;color:#755030!important;
}
body.public-site .menu-item:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 10px 22px rgba(27,43,68,.09)!important;
  filter:saturate(1.04)!important;
}
/* Active state remains unmistakable */
body.public-site .menu-item.active,
body.public-site .menu-toggle.active{
  background:linear-gradient(135deg,#0b2f63,#184f91)!important;
  color:#fff!important;border-color:#0b2f63!important;
  box-shadow:0 10px 26px rgba(11,47,99,.20)!important;
}
body.public-site .menu-item.active strong,
body.public-site .menu-item.active span,
body.public-site .menu-toggle.active strong,
body.public-site .menu-toggle.active span{color:#fff!important}
body.public-site .menu-item.active::before,
body.public-site .menu-toggle.active::before{
  content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:4px;border-radius:0 999px 999px 0;background:#f2c95d;
}

/* Submenu: bright paper cards, navy text */
body.public-site .submenu{
  border-left:2px solid #d8b45e!important;
  background:rgba(255,255,255,.42)!important;
  border-radius:0 14px 14px 0!important;
}
body.public-site .submenu a{
  background:#fff!important;color:#17385f!important;border:1px solid #e6dfd3!important;
  box-shadow:0 4px 11px rgba(33,46,65,.045)!important;font-weight:800!important;
}
body.public-site .submenu a:hover,
body.public-site .submenu a.active{
  background:linear-gradient(135deg,#fff8e7,#f4dfaa)!important;
  color:#113663!important;border-color:#e0bd67!important;
}

/* Collapse handle */
body.public-site .sidebar-collapse-toggle{
  background:#fffdf8!important;color:var(--t6-navy)!important;border-color:#ded3c2!important;
  box-shadow:8px 7px 22px rgba(34,45,62,.10)!important;
}

/* Topbar */
body.public-site .topbar.public-premium-topbar{
  background:rgba(255,254,250,.96)!important;
  border-bottom:1px solid #e7dfd1!important;
  box-shadow:0 8px 24px rgba(34,44,60,.06)!important;
  backdrop-filter:blur(14px)!important;
}
body.public-site .topbar-search{
  background:#fff!important;border:1px solid #dddfe5!important;
  box-shadow:0 7px 20px rgba(24,41,66,.05)!important;
}
body.public-site .topbar-search input{color:#34445b!important}
body.public-site .topbar-notification{
  background:#fffaf0!important;border-color:#ead8b3!important;
  box-shadow:0 5px 14px rgba(112,80,20,.06)!important;
}
body.public-site .topbar-user{background:var(--t6-navy)!important;color:#fff!important}
body.public-site .topbar-committee{background:#eef4fb!important;color:#24558f!important;border-color:#d6e1ef!important}
body.public-site .topbar-admin{background:#fff7e4!important;color:#7b5816!important;border-color:#e8d5a9!important}

/* Banner frame */
body.public-site.page-index .home-image-hero{
  background:#fff!important;border:1px solid #e4dbc9!important;border-radius:22px!important;
  box-shadow:0 16px 38px rgba(26,42,67,.09)!important;
}

/* KPI strip */
body.public-site.page-index .home-stat-card{
  border:1px solid #e6dfd3!important;border-radius:18px!important;
  box-shadow:0 8px 24px rgba(31,45,65,.055)!important;
}
body.public-site.page-index .kpi-schools{background:linear-gradient(135deg,#fff9ed,#f5e5ba)!important}
body.public-site.page-index .kpi-athletes{background:linear-gradient(135deg,#f3f8ff,#e0edff)!important}
body.public-site.page-index .kpi-register{background:linear-gradient(135deg,#fff5e8,#f8e2bf)!important}
body.public-site.page-index .kpi-medals{background:linear-gradient(135deg,#eff8f4,#dff0e8)!important}
body.public-site.page-index .home-stat-card strong{color:var(--t6-navy)!important}
body.public-site.page-index .home-stat-card div>span{color:#5e6672!important;font-weight:800!important}
body.public-site.page-index .home-stat-card small{color:#777269!important}
body.public-site.page-index .home-stat-card .stat-icon{
  background:rgba(255,255,255,.82)!important;border:1px solid rgba(23,49,84,.07)!important;
  box-shadow:0 5px 14px rgba(28,44,65,.045)!important;
}

/* Dashboard panels */
body.public-site.page-index .premium-dashboard-card{
  background:#fffefb!important;border:1px solid #e5ded2!important;
  box-shadow:var(--t6-shadow)!important;border-radius:18px!important;
}
body.public-site.page-index .premium-card-head{
  background:linear-gradient(180deg,#fffefb,#fbf8f1)!important;
  border-bottom:1px solid #eee6da!important;
}
body.public-site.page-index .premium-card-head strong{color:#18365e!important}
body.public-site.page-index .premium-card-head>a{color:#1f5fa8!important}
body.public-site.page-index .live-dashboard-card .premium-card-head{
  background:linear-gradient(135deg,#0b2f63,#174c88)!important;
  border-bottom-color:rgba(255,255,255,.13)!important;
}
body.public-site.page-index .live-dashboard-card .premium-card-head strong,
body.public-site.page-index .live-dashboard-card .premium-card-head>a{color:#fff!important}
body.public-site.page-index .premium-live-badge{
  background:#fff1f0!important;color:#c94343!important;border:1px solid #efc2bf!important;
}
body.public-site.page-index .premium-schedule-row,
body.public-site.page-index .premium-news-row{border-bottom-color:#eee8de!important}
body.public-site.page-index .premium-schedule-row:hover,
body.public-site.page-index .premium-news-row:hover{background:#fbf7ef!important}

/* General content surfaces */
body.public-site .section-soft{background:#f4f0e8!important}
body.public-site .service-card,
body.public-site .news-card,
body.public-site .contact-card,
body.public-site .public-panel,
body.public-site .result-card{
  background:#fffefb!important;border-color:#e6dfd3!important;box-shadow:0 10px 28px rgba(30,44,65,.055)!important;
}
body.public-site .section-title{color:var(--t6-navy)!important}
body.public-site .eyebrow{color:#9b7421!important}

/* Mobile */
@media(max-width:820px){
  body.public-site .topbar.public-premium-topbar{background:rgba(255,254,250,.98)!important}
  body.public-site .sidebar-toggle{background:var(--t6-navy)!important;color:#fff!important;border:1px solid #163d72!important}
  body.public-site .mobile-topbar-brand{color:var(--t6-navy)!important}
  body.public-site .mobile-login-trigger{background:linear-gradient(135deg,#0b2f63,#174c88)!important;color:#fff!important}
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    background:linear-gradient(180deg,#fffefb,#f6efe2)!important;
  }
  body.public-site .public-sidebar-close{background:#fff!important;color:var(--t6-navy)!important;border-color:#e2d9ca!important}
  body.public-site .mobile-home-shortcuts{
    background:#fffefb!important;border-color:#e7dfd2!important;
  }
  body.public-site .mobile-home-shortcuts a{color:#24466f!important}
  body.public-site .mobile-home-shortcuts img{background:#f8f4eb!important;border-color:#e7dfd2!important}
  body.public-site .mobile-bottom-nav{
    background:rgba(255,254,250,.97)!important;border-top:1px solid #e5ddcf!important;
    box-shadow:0 -8px 24px rgba(27,42,63,.07)!important;
  }
  body.public-site .mobile-bottom-nav a{color:#667081!important}
  body.public-site .mobile-bottom-nav a.is-active{
    background:linear-gradient(135deg,#fff4d8,#f1d994)!important;color:#173a68!important;
  }
}

/* Narrow desktop/tablet: preserve option-6 look while keeping text readable */
@media(max-width:1180px) and (min-width:821px){
  body.public-site .menu-item strong{font-size:13.5px!important}
  body.public-site .menu-item span{font-size:10px!important}
  body.public-site .submenu a{font-size:11.5px!important}
}

/* Theme 6 active states keep each menu's identity instead of turning every row the same color. */
body.public-site .menu-home.active{
  background:linear-gradient(135deg,#f4d482,#f8e7b9)!important;color:#173960!important;border-color:#dfbb55!important;
  box-shadow:0 10px 24px rgba(170,126,29,.15)!important;
}
body.public-site .menu-news.active,
body.public-site .menu-news.menu-toggle.active{
  background:linear-gradient(135deg,#fff0ef,#ffdeda)!important;color:#7c3032!important;border-color:#efc0bc!important;
}
body.public-site .menu-register.active,
body.public-site .menu-register.menu-toggle.active{
  background:linear-gradient(135deg,#eaf4ff,#d8eaff)!important;color:#174a82!important;border-color:#c4d9f0!important;
}
body.public-site .menu-schedule.active,
body.public-site .menu-schedule.menu-toggle.active{
  background:linear-gradient(135deg,#143f7c,#0b2f63)!important;color:#fff!important;border-color:#0b2f63!important;
}
body.public-site .menu-results.active,
body.public-site .menu-results.menu-toggle.active{
  background:linear-gradient(135deg,#efe9ff,#ddd2f8)!important;color:#493b81!important;border-color:#d0c3ed!important;
}
body.public-site .menu-certificate.active,
body.public-site .menu-certificate.menu-toggle.active{
  background:linear-gradient(135deg,#fffdf7,#f4e2bd)!important;color:#76551c!important;border-color:#e3c98f!important;
}
body.public-site .menu-schools.active{background:linear-gradient(135deg,#ebf8f6,#d9efeb)!important;color:#17605c!important;border-color:#c5e3de!important}
body.public-site .menu-stats.active{background:linear-gradient(135deg,#edf3fa,#dde8f5)!important;color:#274d77!important;border-color:#c9d8e8!important}
body.public-site .menu-home.active strong,
body.public-site .menu-home.active span,
body.public-site .menu-news.active strong,
body.public-site .menu-news.active span,
body.public-site .menu-register.active strong,
body.public-site .menu-register.active span,
body.public-site .menu-results.active strong,
body.public-site .menu-results.active span,
body.public-site .menu-certificate.active strong,
body.public-site .menu-certificate.active span,
body.public-site .menu-schools.active strong,
body.public-site .menu-schools.active span,
body.public-site .menu-stats.active strong,
body.public-site .menu-stats.active span{color:inherit!important}
body.public-site .menu-home.active::before,
body.public-site .menu-news.active::before,
body.public-site .menu-register.active::before,
body.public-site .menu-results.active::before,
body.public-site .menu-certificate.active::before,
body.public-site .menu-schools.active::before,
body.public-site .menu-stats.active::before{background:#d6a430!important}

/* =========================================================
   THEME 6 POLISH — DECORATED IVORY SIDEBAR + CONTRAST FIX
   2026-09-30
   ========================================================= */
body.public-site .sidebar.premium-sidebar{
  isolation:isolate!important;
  background:
    radial-gradient(circle at 108% 4%, transparent 0 76px, rgba(209,164,58,.24) 77px 79px, transparent 80px 112px, rgba(209,164,58,.12) 113px 114px, transparent 115px),
    radial-gradient(circle at -18% 92%, transparent 0 128px, rgba(20,72,132,.12) 129px 132px, transparent 133px 176px, rgba(209,164,58,.15) 177px 179px, transparent 180px),
    linear-gradient(154deg,transparent 0 78%,rgba(11,47,99,.035) 78.2% 86%,transparent 86.2%),
    linear-gradient(180deg,#fffefa 0%,#faf5ea 56%,#f4ead8 100%)!important;
}
body.public-site .sidebar.premium-sidebar::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:150px;
  pointer-events:none;
  z-index:0;
  opacity:.9;
  background:
    linear-gradient(162deg,transparent 0 42%,rgba(11,47,99,.055) 42.3% 58%,transparent 58.3%),
    radial-gradient(ellipse at 20% 112%,rgba(216,165,54,.17),transparent 55%);
}
body.public-site .sidebar.premium-sidebar::after{
  content:"";
  position:absolute;
  top:0;left:18px;right:18px;
  height:3px;
  z-index:0;
  pointer-events:none;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#d8a536 22%,#f0d77c 50%,#d8a536 78%,transparent);
  opacity:.82;
}
body.public-site .sidebar.premium-sidebar > *{position:relative;z-index:1}
body.public-site .sidebar-footer{
  position:relative!important;
  padding-top:24px!important;
  color:#5f6875!important;
  font-weight:800!important;
  text-shadow:0 1px 0 rgba(255,255,255,.8)!important;
}
body.public-site .sidebar-footer::before{
  content:"";
  position:absolute;
  top:8px;left:10px;
  width:54px;height:3px;border-radius:999px;
  background:linear-gradient(90deg,#d8a536,#f0d77c);
}

/* Logo block: compact luxury plaque without making the header bulky */
body.public-site .sidebar-logo-frame{
  background:linear-gradient(145deg,#fffdf7,#f8edd4)!important;
  border:1px solid #d7b55f!important;
  box-shadow:0 7px 18px rgba(114,82,24,.11),inset 0 0 0 1px rgba(255,255,255,.72)!important;
}
body.public-site .sidebar-brand{
  background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.08))!important;
  border-radius:18px!important;
  border-bottom:1px solid rgba(207,190,160,.72)!important;
}
body.public-site .sidebar-brand strong{color:#102f5a!important;text-shadow:0 1px 0 #fff!important}
body.public-site .sidebar-brand span{color:#675e52!important;font-weight:800!important}

/* Guarantee readable labels on every pastel menu card. */
body.public-site .menu-home strong,body.public-site .menu-home span{color:#173960!important}
body.public-site .menu-news strong,body.public-site .menu-news span{color:#7a3032!important}
body.public-site .menu-register strong,body.public-site .menu-register span{color:#174a82!important}
body.public-site .menu-results strong,body.public-site .menu-results span{color:#493b81!important}
body.public-site .menu-certificate strong,body.public-site .menu-certificate span{color:#6e501c!important}
body.public-site .menu-schools strong,body.public-site .menu-schools span{color:#17605c!important}
body.public-site .menu-stats strong,body.public-site .menu-stats span{color:#274d77!important}
body.public-site .menu-help strong,body.public-site .menu-help span{color:#70492b!important}
body.public-site .menu-schedule strong,body.public-site .menu-schedule span{color:#fff!important}
body.public-site .menu-item span{opacity:1!important}

/* Submenu text stays readable and single-line on desktop. */
@media(min-width:821px){
  body.public-site .submenu a{
    color:#17385f!important;
    font-weight:900!important;
    white-space:nowrap!important;
    line-height:1.2!important;
  }
}

/* Banner: never crop the source image; height follows the image itself. */
body.public-site.page-index .home-image-hero{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.public-site.page-index .home-image-hero .hero-slides{
  height:auto!important;
  min-height:0!important;
  position:relative!important;
}
body.public-site.page-index .home-image-hero .hero-slide.is-active{
  position:relative!important;
  inset:auto!important;
  height:auto!important;
}
body.public-site.page-index .home-image-hero .hero-slide.is-active picture,
body.public-site.page-index .home-image-hero .hero-slide.is-active img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:820px){
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    background:
      radial-gradient(circle at 112% 6%,transparent 0 74px,rgba(209,164,58,.20) 75px 77px,transparent 78px),
      radial-gradient(circle at -18% 92%,transparent 0 112px,rgba(20,72,132,.10) 113px 115px,transparent 116px),
      linear-gradient(180deg,#fffefa 0%,#f8f1e5 100%)!important;
  }
  body.public-site .sidebar.premium-sidebar::before{height:120px}
  body.public-site .sidebar-brand{border-radius:14px!important}
  body.public-site .menu-item strong{font-weight:900!important}
  body.public-site .menu-item span{font-weight:800!important}
  body.public-site.page-index .home-image-hero{
    height:auto!important;
    aspect-ratio:auto!important;
    background:#fff!important;
  }
  body.public-site.page-index .home-image-hero .hero-slide.is-active img,
  body.public-site.page-index .home-image-hero .hero-slide.is-active picture img{
    width:100%!important;height:auto!important;object-fit:contain!important;
  }
}


/* =========================================================
   FINAL VISIBILITY + FULL BANNER GUARANTEE — 2026-09-30
   Hard override placed last to eliminate legacy-theme conflicts.
   ========================================================= */

/* Sidebar labels: always high contrast on every pastel tile. */
body.public-site .sidebar.premium-sidebar .menu-item > div > strong{
  opacity:1!important;
  text-shadow:none!important;
  -webkit-text-fill-color:currentColor!important;
}
body.public-site .sidebar.premium-sidebar .menu-item > div > span{
  opacity:1!important;
  text-shadow:none!important;
  -webkit-text-fill-color:currentColor!important;
  font-weight:800!important;
}
body.public-site .sidebar.premium-sidebar .menu-home,
body.public-site .sidebar.premium-sidebar .menu-home.active{
  color:#12345f!important;
}
body.public-site .sidebar.premium-sidebar .menu-home > div > strong{color:#12345f!important}
body.public-site .sidebar.premium-sidebar .menu-home > div > span{color:#3f5877!important}

body.public-site .sidebar.premium-sidebar .menu-news,
body.public-site .sidebar.premium-sidebar .menu-news.active,
body.public-site .sidebar.premium-sidebar .menu-news.menu-toggle.active{
  color:#792c36!important;
}
body.public-site .sidebar.premium-sidebar .menu-news > div > strong{color:#792c36!important}
body.public-site .sidebar.premium-sidebar .menu-news > div > span{color:#8c5158!important}
body.public-site .sidebar.premium-sidebar .menu-news .chevron{color:#792c36!important}

body.public-site .sidebar.premium-sidebar .menu-register,
body.public-site .sidebar.premium-sidebar .menu-register.active,
body.public-site .sidebar.premium-sidebar .menu-register.menu-toggle.active{
  color:#15477c!important;
}
body.public-site .sidebar.premium-sidebar .menu-register > div > strong{color:#15477c!important}
body.public-site .sidebar.premium-sidebar .menu-register > div > span{color:#3c638a!important}
body.public-site .sidebar.premium-sidebar .menu-register .chevron{color:#15477c!important}

body.public-site .sidebar.premium-sidebar .menu-schedule,
body.public-site .sidebar.premium-sidebar .menu-schedule.active,
body.public-site .sidebar.premium-sidebar .menu-schedule.menu-toggle.active{
  color:#fff!important;
}
body.public-site .sidebar.premium-sidebar .menu-schedule > div > strong,
body.public-site .sidebar.premium-sidebar .menu-schedule > div > span,
body.public-site .sidebar.premium-sidebar .menu-schedule .chevron{
  color:#fff!important;
}

body.public-site .sidebar.premium-sidebar .menu-results,
body.public-site .sidebar.premium-sidebar .menu-results.active,
body.public-site .sidebar.premium-sidebar .menu-results.menu-toggle.active{
  color:#493878!important;
}
body.public-site .sidebar.premium-sidebar .menu-results > div > strong{color:#493878!important}
body.public-site .sidebar.premium-sidebar .menu-results > div > span{color:#66578d!important}
body.public-site .sidebar.premium-sidebar .menu-results .chevron{color:#493878!important}

body.public-site .sidebar.premium-sidebar .menu-certificate,
body.public-site .sidebar.premium-sidebar .menu-certificate.active,
body.public-site .sidebar.premium-sidebar .menu-certificate.menu-toggle.active{
  color:#6d4d16!important;
}
body.public-site .sidebar.premium-sidebar .menu-certificate > div > strong{color:#6d4d16!important}
body.public-site .sidebar.premium-sidebar .menu-certificate > div > span{color:#836b3d!important}
body.public-site .sidebar.premium-sidebar .menu-certificate .chevron{color:#6d4d16!important}

body.public-site .sidebar.premium-sidebar .menu-schools,
body.public-site .sidebar.premium-sidebar .menu-schools.active{color:#165d59!important}
body.public-site .sidebar.premium-sidebar .menu-schools > div > strong{color:#165d59!important}
body.public-site .sidebar.premium-sidebar .menu-schools > div > span{color:#3b7774!important}
body.public-site .sidebar.premium-sidebar .menu-stats,
body.public-site .sidebar.premium-sidebar .menu-stats.active{color:#284f75!important}
body.public-site .sidebar.premium-sidebar .menu-stats > div > strong{color:#284f75!important}
body.public-site .sidebar.premium-sidebar .menu-stats > div > span{color:#55708b!important}
body.public-site .sidebar.premium-sidebar .menu-help{color:#704b2d!important}
body.public-site .sidebar.premium-sidebar .menu-help > div > strong{color:#704b2d!important}
body.public-site .sidebar.premium-sidebar .menu-help > div > span{color:#886d57!important}

/* Never wash menu labels out because of disabled/legacy rules. */
body.public-site .sidebar.premium-sidebar .menu-item,
body.public-site .sidebar.premium-sidebar .menu-item *{
  filter:none!important;
}
body.public-site .sidebar.premium-sidebar .menu-item > div{
  opacity:1!important;
  visibility:visible!important;
}

/* Submenu readability. */
body.public-site .sidebar.premium-sidebar .submenu a{
  color:#17385f!important;
  background:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
  -webkit-text-fill-color:#17385f!important;
}
body.public-site .sidebar.premium-sidebar .submenu a:hover,
body.public-site .sidebar.premium-sidebar .submenu a.active{
  color:#11345e!important;
  -webkit-text-fill-color:#11345e!important;
}

/* Hero banner uses the complete 1916x821 composition. No crop on any width. */
body.public-site.page-index .home-image-hero{
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1916 / 821!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.public-site.page-index .home-image-hero .hero-slides{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-image-hero .hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.public-site.page-index .home-image-hero .hero-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
body.public-site.page-index .home-image-hero .hero-slide picture,
body.public-site.page-index .home-image-hero .hero-slide a{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
body.public-site.page-index .home-image-hero .hero-slide img,
body.public-site.page-index .home-image-hero .hero-slide picture img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}

@media(max-width:820px){
  body.public-site.page-index .home-image-hero{
    width:100%!important;
    aspect-ratio:1916 / 821!important;
    height:auto!important;
    min-height:0!important;
  }
  body.public-site.page-index .home-image-hero .hero-slide img,
  body.public-site.page-index .home-image-hero .hero-slide picture img{
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* =========================================================
   2026-09-30 — USER REQUEST: DARK SIDEBAR BACKGROUND ONLY,
   SLIGHTLY LARGER BRAND LOGO, AND LIVE SCORE LAYOUT SAFETY.
   Menu card colors/sizing are intentionally left unchanged.
   ========================================================= */

/* Darker sidebar shell while preserving the existing menu cards exactly. */
body.public-site .sidebar.premium-sidebar,
body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
  background:
    radial-gradient(circle at 112% 8%, transparent 0 86px, rgba(234,190,86,.18) 87px 89px, transparent 90px 126px, rgba(234,190,86,.08) 127px 129px, transparent 130px),
    radial-gradient(circle at -18% 92%, transparent 0 132px, rgba(77,143,225,.14) 133px 136px, transparent 137px),
    linear-gradient(160deg, rgba(255,255,255,.035) 0 16%, transparent 16.2% 78%, rgba(216,165,54,.055) 78.2% 88%, transparent 88.2%),
    linear-gradient(180deg,#123d72 0%,#0b315f 48%,#08264e 100%)!important;
  border-right:1px solid rgba(214,180,105,.32)!important;
  box-shadow:14px 0 34px rgba(5,28,62,.18)!important;
}
body.public-site .sidebar.premium-sidebar::before{
  background:
    linear-gradient(162deg,transparent 0 42%,rgba(255,255,255,.045) 42.3% 58%,transparent 58.3%),
    radial-gradient(ellipse at 20% 112%,rgba(216,165,54,.13),transparent 55%)!important;
}
body.public-site .sidebar.premium-sidebar::after{
  background:linear-gradient(90deg,transparent,#d8a536 22%,#f2d983 50%,#d8a536 78%,transparent)!important;
  opacity:.95!important;
}

/* Brand area only: keep the existing structure, just make the logo a little larger. */
body.public-site .sidebar-brand{
  background:transparent!important;
  border-radius:0!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
}
body.public-site .sidebar-logo-frame{
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  padding:7px!important;
  border-radius:19px!important;
  background:linear-gradient(145deg,#fffef9,#f7ecd2)!important;
  border:1.5px solid #d9b45b!important;
  box-shadow:0 9px 22px rgba(0,18,48,.25),inset 0 0 0 1px rgba(255,255,255,.82)!important;
}
body.public-site .sidebar-brand strong{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.22)!important;
}
body.public-site .sidebar-brand span{
  color:#e8eef7!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
}
body.public-site .sidebar-footer{
  color:#d2deed!important;
  text-shadow:none!important;
}

/* Live score: scores always stay in their own columns and cannot sit behind long school names. */
body.public-site.page-index .home-live-score-board .live-score-match{
  overflow:hidden!important;
  position:relative!important;
}
body.public-site.page-index .home-live-score-board .live-score-versus{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  overflow:visible!important;
}
body.public-site.page-index .home-live-score-board .live-score-versus>div{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 38px!important;
  gap:8px!important;
  align-items:center!important;
  position:relative!important;
  overflow:visible!important;
}
body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child{
  grid-template-columns:38px minmax(0,1fr)!important;
  text-align:right!important;
}
body.public-site.page-index .home-live-score-board .live-score-versus>div:first-child strong{grid-column:1!important;grid-row:1!important}
body.public-site.page-index .home-live-score-board .live-score-versus>div:first-child b{grid-column:2!important;grid-row:1!important}
body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child b{grid-column:1!important;grid-row:1!important}
body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child strong{grid-column:2!important;grid-row:1!important}
body.public-site.page-index .home-live-score-board .live-score-versus strong{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  position:relative!important;
  z-index:1!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.28!important;
}
body.public-site.page-index .home-live-score-board .live-score-versus b{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  margin:0!important;
  position:relative!important;
  z-index:3!important;
  flex:none!important;
  box-shadow:0 2px 6px rgba(5,31,70,.12)!important;
}
body.public-site.page-index .home-live-score-board .live-score-versus>span{
  position:relative!important;
  z-index:2!important;
  width:28px!important;
  text-align:center!important;
}

@media(max-width:820px){
  body.public-site .sidebar-logo-frame{
    width:66px!important;
    height:66px!important;
    min-width:66px!important;
    padding:6px!important;
    border-radius:16px!important;
  }
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    background:
      radial-gradient(circle at 112% 7%,transparent 0 74px,rgba(234,190,86,.16) 75px 77px,transparent 78px),
      radial-gradient(circle at -20% 92%,transparent 0 110px,rgba(77,143,225,.12) 111px 114px,transparent 115px),
      linear-gradient(180deg,#123d72 0%,#0b315f 50%,#08264e 100%)!important;
  }
  body.public-site.page-index .home-live-score-board .live-score-versus{
    grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)!important;
    gap:5px!important;
  }
  body.public-site.page-index .home-live-score-board .live-score-versus>div,
  body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child{
    grid-template-columns:minmax(0,1fr) 34px!important;
    gap:5px!important;
  }
  body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  body.public-site.page-index .home-live-score-board .live-score-versus b{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    font-size:15px!important;
  }
  body.public-site.page-index .home-live-score-board .live-score-versus strong{
    font-size:9px!important;
  }
}

/* =========================================================
   2026-09-30 — LIVE GREEN PULSE + SCORE ALIGNMENT + NEWS TEXT
   Keep current theme/layout; only improve live state and readability.
   ========================================================= */

@keyframes homeLivePulse {
  0%,100% { opacity:1; box-shadow:0 0 0 0 rgba(24,176,112,.34); }
  50% { opacity:.72; box-shadow:0 0 0 7px rgba(24,176,112,0); }
}
@keyframes homeLiveDotPulse {
  0%,100% { transform:scale(1); opacity:1; text-shadow:0 0 0 rgba(25,177,111,0); }
  50% { transform:scale(1.18); opacity:.68; text-shadow:0 0 9px rgba(25,177,111,.55); }
}

/* Green and gently blinking only when an actual match is live. */
body.public-site.page-index .premium-live-badge.is-live,
body.public-site.page-index .home-live-score-board .live-status.live{
  background:#159a67!important;
  color:#fff!important;
  border-color:#159a67!important;
  animation:homeLivePulse 1.35s ease-in-out infinite!important;
}
body.public-site.page-index .premium-schedule-row .schedule-sport-icon.live{
  color:#18a96d!important;
  animation:homeLiveDotPulse 1.15s ease-in-out infinite!important;
}
body.public-site.page-index .premium-schedule-row .schedule-sport-icon.scheduled{
  color:#92a1b3!important;
  animation:none!important;
}
body.public-site.page-index .premium-schedule-row .schedule-sport-icon.finished{
  color:#25836c!important;
  animation:none!important;
}
body.public-site.page-index .premium-schedule-row .schedule-status.live{
  background:#e8f8f0!important;
  color:#11805a!important;
  border:1px solid #c9eddd!important;
}

/* Team names are balanced on both sides; the right team no longer hugs the card edge. */
body.public-site.page-index .home-live-score-board .live-score-versus>div,
body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child{
  text-align:center!important;
}
body.public-site.page-index .home-live-score-board .live-score-versus strong,
body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child strong{
  text-align:center!important;
  justify-self:stretch!important;
  padding-inline:2px!important;
}

/* Announcement metadata and labels: readable at normal desktop distance. */
body.public-site.page-index .premium-news-row small{
  font-size:10px!important;
  line-height:1.35!important;
  color:#6e7d91!important;
}
body.public-site.page-index .premium-news-row .news-label{
  font-size:10.5px!important;
  line-height:1.15!important;
  padding:4px 8px!important;
  font-weight:900!important;
  letter-spacing:0!important;
}
body.public-site.page-index .premium-news-row strong{
  font-size:12.5px!important;
  line-height:1.42!important;
}
body.public-site.page-index .premium-news-row:first-child>div{
  padding:11px 12px 12px!important;
}
body.public-site.page-index .premium-news-row:first-child small{
  font-size:10px!important;
}
body.public-site.page-index .premium-news-row:first-child .news-label{
  font-size:11px!important;
  padding:4px 8px!important;
}
body.public-site.page-index .premium-news-row:first-child strong{
  font-size:13.5px!important;
  margin-top:5px!important;
}

@media(max-width:820px){
  body.public-site.page-index .premium-live-badge.is-live,
  body.public-site.page-index .home-live-score-board .live-status.live{
    animation-duration:1.45s!important;
  }
  body.public-site.page-index .home-live-score-board .live-score-versus strong,
  body.public-site.page-index .home-live-score-board .live-score-versus>div:last-child strong{
    text-align:center!important;
    padding-inline:1px!important;
  }
  body.public-site.page-index .premium-news-row small,
  body.public-site.page-index .premium-news-row:first-child small{
    font-size:9.5px!important;
  }
  body.public-site.page-index .premium-news-row .news-label,
  body.public-site.page-index .premium-news-row:first-child .news-label{
    font-size:10px!important;
    padding:4px 7px!important;
  }
  body.public-site.page-index .premium-news-row strong{
    font-size:11.5px!important;
  }
  body.public-site.page-index .premium-news-row:first-child strong{
    font-size:12.5px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.public-site.page-index .premium-live-badge.is-live,
  body.public-site.page-index .home-live-score-board .live-status.live,
  body.public-site.page-index .premium-schedule-row .schedule-sport-icon.live{
    animation:none!important;
  }
}


/* =========================================================
   2026-10-01 — SIDEBAR ICON NORMALIZATION + COLLAPSE FIX
   Keeps every menu icon the same visual size on desktop, collapsed
   desktop and the mobile drawer. Also removes font/emoji dependency.
   ========================================================= */
body.public-site .sidebar.premium-sidebar .menu-icon-box{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:7px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(21,51,88,.10)!important;
  box-shadow:0 5px 14px rgba(29,45,68,.065)!important;
  font-size:0!important;
  line-height:0!important;
  overflow:hidden!important;
  align-self:center!important;
}
body.public-site .sidebar.premium-sidebar .menu-icon-box>img{
  display:block!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.public-site .sidebar.premium-sidebar .menu-item.active>.menu-icon-box,
body.public-site .sidebar.premium-sidebar .menu-toggle.active>.menu-icon-box{
  background:#fff!important;
  border-color:rgba(255,255,255,.96)!important;
}

/* Desktop collapsed rail: one fixed icon geometry for every row. */
@media(min-width:821px){
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-item{
    width:68px!important;
    min-width:68px!important;
    height:62px!important;
    min-height:62px!important;
    padding:7px!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    gap:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-icon-box{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    padding:7px!important;
    margin:0!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-icon-box>img{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    max-height:34px!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-group{
    width:100%!important;
    display:block!important;
  }
}

/* Mobile drawer: same artwork size, slightly smaller frame for touch layout. */
@media(max-width:820px){
  body.public-site .sidebar.premium-sidebar .menu-icon-box{
    width:45px!important;
    height:45px!important;
    min-width:45px!important;
    padding:6px!important;
    border-radius:13px!important;
  }
  body.public-site .sidebar.premium-sidebar .menu-icon-box>img{
    width:33px!important;
    height:33px!important;
    min-width:33px!important;
    max-width:33px!important;
    max-height:33px!important;
    border-radius:9px!important;
  }
}


/* =========================================================
   2026-10-01 — FOLLOW-UP FIX
   - keep sidebar hover text readable
   - give schedule menu a lighter contrasting color
   - add clearer live-score page text contrast
   ========================================================= */

/* Never let hover/focus wash text out on the sidebar cards. */
body.public-site .sidebar.premium-sidebar .menu-item:hover > div > strong,
body.public-site .sidebar.premium-sidebar .menu-item:hover > div > span,
body.public-site .sidebar.premium-sidebar .menu-item:focus-visible > div > strong,
body.public-site .sidebar.premium-sidebar .menu-item:focus-visible > div > span{
  opacity:1!important;
  -webkit-text-fill-color:currentColor!important;
  color:inherit!important;
}
body.public-site .sidebar.premium-sidebar .menu-item:hover .chevron,
body.public-site .sidebar.premium-sidebar .menu-item:focus-visible .chevron{
  color:currentColor!important;
}

/* Keep every pastel card readable when hovered. */
body.public-site .sidebar.premium-sidebar .menu-home:hover,
body.public-site .sidebar.premium-sidebar .menu-home:focus-visible{
  background:linear-gradient(135deg,#f8ebbd,#f2dea0)!important;
  border-color:#dfbf67!important;
  color:#173960!important;
}
body.public-site .sidebar.premium-sidebar .menu-news:hover,
body.public-site .sidebar.premium-sidebar .menu-news:focus-visible,
body.public-site .sidebar.premium-sidebar .menu-news.menu-toggle.active:hover{
  background:linear-gradient(135deg,#fff2f1,#ffdede)!important;
  border-color:#efc2c0!important;
  color:#7c3032!important;
}
body.public-site .sidebar.premium-sidebar .menu-register:hover,
body.public-site .sidebar.premium-sidebar .menu-register:focus-visible,
body.public-site .sidebar.premium-sidebar .menu-register.menu-toggle.active:hover{
  background:linear-gradient(135deg,#eef6ff,#dbeaff)!important;
  border-color:#c5d8f0!important;
  color:#15477c!important;
  box-shadow:0 10px 22px rgba(43,96,164,.10)!important;
}
body.public-site .sidebar.premium-sidebar .menu-results:hover,
body.public-site .sidebar.premium-sidebar .menu-results:focus-visible,
body.public-site .sidebar.premium-sidebar .menu-results.menu-toggle.active:hover{
  background:linear-gradient(135deg,#f2ecff,#dfd4f8)!important;
  border-color:#d3c6ee!important;
  color:#493878!important;
}
body.public-site .sidebar.premium-sidebar .menu-certificate:hover,
body.public-site .sidebar.premium-sidebar .menu-certificate:focus-visible,
body.public-site .sidebar.premium-sidebar .menu-certificate.menu-toggle.active:hover{
  background:linear-gradient(135deg,#fffaf0,#f5e6c8)!important;
  border-color:#e2cca0!important;
  color:#6d4d16!important;
}
body.public-site .sidebar.premium-sidebar .menu-schools:hover,
body.public-site .sidebar.premium-sidebar .menu-schools:focus-visible{
  background:linear-gradient(135deg,#eef8f6,#dcefeb)!important;
  border-color:#c9e2de!important;
  color:#165d59!important;
}
body.public-site .sidebar.premium-sidebar .menu-stats:hover,
body.public-site .sidebar.premium-sidebar .menu-stats:focus-visible{
  background:linear-gradient(135deg,#eff4fb,#dce7f3)!important;
  border-color:#cbd7e8!important;
  color:#284f75!important;
}
body.public-site .sidebar.premium-sidebar .menu-help:hover,
body.public-site .sidebar.premium-sidebar .menu-help:focus-visible{
  background:linear-gradient(135deg,#fcf6ee,#f0e0cf)!important;
  border-color:#e1cfbb!important;
  color:#704b2d!important;
}

/* Schedule card: switch from dark-blue blend-in to a lighter sky theme. */
body.public-site .sidebar.premium-sidebar .menu-schedule,
body.public-site .sidebar.premium-sidebar .menu-schedule:hover,
body.public-site .sidebar.premium-sidebar .menu-schedule:focus-visible,
body.public-site .sidebar.premium-sidebar .menu-schedule.active,
body.public-site .sidebar.premium-sidebar .menu-schedule.menu-toggle.active{
  background:linear-gradient(135deg,#edf7ff,#d9ecff)!important;
  border-color:#bfdaf6!important;
  color:#174a82!important;
  box-shadow:0 10px 24px rgba(37,99,171,.11)!important;
}
body.public-site .sidebar.premium-sidebar .menu-schedule::before{
  background:#5a6ff0!important;
}
body.public-site .sidebar.premium-sidebar .menu-schedule > div > strong,
body.public-site .sidebar.premium-sidebar .menu-schedule > div > span,
body.public-site .sidebar.premium-sidebar .menu-schedule .chevron{
  color:#174a82!important;
  -webkit-text-fill-color:#174a82!important;
}
body.public-site .sidebar.premium-sidebar .menu-schedule > .menu-icon-box,
body.public-site .sidebar.premium-sidebar .menu-schedule.active > .menu-icon-box,
body.public-site .sidebar.premium-sidebar .menu-schedule.menu-toggle.active > .menu-icon-box{
  background:#ffffff!important;
  border-color:#cfdff4!important;
}

/* Readable submenu chips including the newly-added quick link. */
body.public-site .sidebar.premium-sidebar .submenu a,
body.public-site .sidebar.premium-sidebar .submenu a:hover,
body.public-site .sidebar.premium-sidebar .submenu a:focus-visible,
body.public-site .sidebar.premium-sidebar .submenu a.active{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  font-weight:900!important;
}
body.public-site .sidebar.premium-sidebar .submenu a:hover,
body.public-site .sidebar.premium-sidebar .submenu a:focus-visible,
body.public-site .sidebar.premium-sidebar .submenu a.active{
  background:#f6fbff!important;
  color:#0f457d!important;
  border-color:#c8d9ef!important;
  box-shadow:0 5px 12px rgba(24,48,86,.06)!important;
}

/* Full live-score page: boost low-contrast labels and empty-state text. */
body.public-site .live-score-all-shell .live-score-sport{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
body.public-site .live-score-all-shell .live-score-sport-head h3{
  color:#fff!important;
}
body.public-site .live-score-all-shell .live-score-empty{
  color:#e0ebff!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.55!important;
}
body.public-site .live-score-all-shell .live-score-meta{
  color:#dbe7ff!important;
  font-size:10.5px!important;
}
body.public-site .live-score-all-shell .live-score-summary{
  background:rgba(255,255,255,.11)!important;
  color:#f5f9ff!important;
}
body.public-site .live-score-all-shell .live-score-foot{
  color:#cedbf2!important;
  font-size:9.5px!important;
}
body.public-site .live-score-all-shell .live-score-foot span,
body.public-site .live-score-all-shell .live-score-foot span::before{
  color:inherit!important;
}
@media(max-width:760px){
  body.public-site .live-score-all-shell .live-score-empty{
    font-size:12px!important;
  }
  body.public-site .live-score-all-shell .live-score-meta,
  body.public-site .live-score-all-shell .live-score-foot{
    font-size:9.5px!important;
  }
}


/* =========================================================
   2026-10-01 — LIVE SCORE PAGE READABILITY REDO
   Fix invisible text on the full live-score page.
   ========================================================= */
body.public-site .live-score-all-page .live-score-all-shell{
  background:linear-gradient(180deg,#eef4fb 0%,#e4edf8 100%)!important;
  border:1px solid #d6e1ef!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-sport{
  background:#ffffff!important;
  border:1px solid #dbe4ef!important;
  border-radius:18px!important;
  box-shadow:0 8px 20px rgba(20,44,74,.05)!important;
  overflow:hidden!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-sport-head{
  background:linear-gradient(180deg,#f8fafc 0%,#f2f5f9 100%)!important;
  border-bottom:1px solid #e3eaf2!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-sport-head h3{
  color:#133b70!important;
  font-weight:900!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-match{
  background:#fff!important;
  border-bottom:1px solid #edf2f7!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-match:last-child{
  border-bottom:0!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-empty{
  color:#5e7088!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.55!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-meta{
  color:#61748b!important;
  font-size:10.5px!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-versus strong{
  color:#173961!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-versus > span{
  color:#8b9bb0!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-summary{
  background:#f6f9fd!important;
  color:#455b74!important;
  border:1px solid #e2eaf3!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-foot{
  color:#7a8a9e!important;
  font-size:9.5px!important;
}
body.public-site .live-score-all-page .live-score-all-shell .live-score-foot span+span:before{
  color:#9babc0!important;
}
@media(max-width:760px){
  body.public-site .live-score-all-page .live-score-all-shell{
    background:linear-gradient(180deg,#edf4fb 0%,#e6eef8 100%)!important;
  }
  body.public-site .live-score-all-page .live-score-all-shell .live-score-sport{
    border-radius:14px!important;
  }
  body.public-site .live-score-all-page .live-score-all-shell .live-score-empty{
    font-size:12px!important;
  }
}


/* =========================================================
   2026-10-01 — SIDEBAR ICON CENTERING FINAL FIX
   Keep icon artwork perfectly centered inside the square frame
   on desktop, collapsed desktop, tablet and mobile.
   ========================================================= */
body.public-site .sidebar.premium-sidebar .menu-item,
body.public-site .sidebar.premium-sidebar .menu-toggle{
  align-items:center!important;
}
body.public-site .sidebar.premium-sidebar .menu-icon-box{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  align-self:center!important;
  text-align:center!important;
  padding:0!important;
  line-height:0!important;
}
body.public-site .sidebar.premium-sidebar .menu-icon-box > img{
  display:block!important;
  margin:auto!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Slightly smaller art on all layouts so the visible icon sits dead-center
   with equal breathing room inside the white rounded square. */
body.public-site .sidebar.premium-sidebar .menu-icon-box > img{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  max-height:30px!important;
}

@media(min-width:821px){
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-item,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-toggle{
    display:grid!important;
    place-items:center!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-icon-box{
    justify-self:center!important;
    align-self:center!important;
    margin:auto!important;
  }
}

@media(max-width:820px){
  body.public-site .sidebar.premium-sidebar .menu-icon-box{
    width:45px!important;
    height:45px!important;
    min-width:45px!important;
  }
  body.public-site .sidebar.premium-sidebar .menu-icon-box > img{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    max-width:29px!important;
    max-height:29px!important;
  }
}

/* =========================================================
   2026-10-01 — HOME INFORMATION LAYER
   Latest results + upcoming matches + sports network.
   ========================================================= */
body.public-site.page-index .home-discovery-section{
  padding:8px 18px 34px!important;
  background:linear-gradient(180deg,rgba(248,246,240,0) 0%,rgba(248,246,240,.58) 100%)!important;
}
body.public-site.page-index .home-discovery-section>.container{
  width:100%!important;
  max-width:none!important;
}
body.public-site.page-index .home-discovery-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}
body.public-site.page-index .home-discovery-card,
body.public-site.page-index .home-sports-network-card{
  min-width:0!important;
  border:1px solid #e3ded5!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(27,48,79,.055)!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-discovery-head,
body.public-site.page-index .home-sports-network-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 20px 15px!important;
  border-bottom:1px solid #eee8df!important;
  background:linear-gradient(180deg,#fffefa 0%,#fff 100%)!important;
}
body.public-site.page-index .home-discovery-head>div,
body.public-site.page-index .home-sports-network-head>div{min-width:0!important}
body.public-site.page-index .home-discovery-kicker{
  display:block!important;
  margin-bottom:3px!important;
  color:#b07b17!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
}
body.public-site.page-index .home-discovery-head h2,
body.public-site.page-index .home-sports-network-head h2{
  margin:0!important;
  color:#0b336d!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:950!important;
}
body.public-site.page-index .home-discovery-head p,
body.public-site.page-index .home-sports-network-head p{
  margin:4px 0 0!important;
  color:#758196!important;
  font-size:10px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
body.public-site.page-index .home-discovery-head>a,
body.public-site.page-index .home-sports-network-head>a{
  flex:none!important;
  margin-top:7px!important;
  color:#0a4d9a!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.public-site.page-index .home-discovery-head>a:hover,
body.public-site.page-index .home-sports-network-head>a:hover{
  color:#0b2f63!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

/* Latest results */
body.public-site.page-index .home-result-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  padding:12px!important;
}
body.public-site.page-index .home-result-row{
  min-width:0!important;
  min-height:105px!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 9px!important;
  gap:9px!important;
  align-items:center!important;
  padding:11px!important;
  border:1px solid #e8edf4!important;
  border-radius:15px!important;
  background:#fbfdff!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
body.public-site.page-index .home-result-row:hover{
  transform:translateY(-1px)!important;
  border-color:#cad9ec!important;
  box-shadow:0 8px 20px rgba(21,55,98,.08)!important;
}
body.public-site.page-index .home-result-sport-icon{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:#f3f7fc!important;
  border:1px solid #e2eaf4!important;
}
body.public-site.page-index .home-result-sport-icon img{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
}
body.public-site.page-index .home-result-main{min-width:0!important}
body.public-site.page-index .home-result-main>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
body.public-site.page-index .home-result-main>div strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#153963!important;
  font-size:11px!important;
  font-weight:950!important;
}
body.public-site.page-index .home-result-main time{
  flex:none!important;
  color:#8b97aa!important;
  font-size:8px!important;
  font-weight:800!important;
}
body.public-site.page-index .home-result-main>small{
  display:block!important;
  margin-top:3px!important;
  color:#7b889b!important;
  font-size:8.5px!important;
  line-height:1.35!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.public-site.page-index .home-result-medals{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-top:8px!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-result-medals b{
  min-width:0!important;
  max-width:33.333%!important;
  padding:4px 6px!important;
  border-radius:7px!important;
  background:#fff!important;
  border:1px solid #e9edf3!important;
  color:#52627a!important;
  font-size:7.5px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.public-site.page-index .home-result-row>em,
body.public-site.page-index .home-upcoming-row>em,
body.public-site.page-index .home-sport-chip>em{
  color:#9dadc1!important;
  font-size:18px!important;
  font-style:normal!important;
  font-weight:900!important;
}

/* Upcoming matches */
body.public-site.page-index .home-upcoming-list{
  display:grid!important;
  padding:7px 12px 12px!important;
}
body.public-site.page-index .home-upcoming-row{
  min-width:0!important;
  min-height:65px!important;
  display:grid!important;
  grid-template-columns:47px minmax(0,1fr) 9px!important;
  gap:10px!important;
  align-items:center!important;
  padding:9px 2px!important;
  border-bottom:1px solid #edf0f4!important;
}
body.public-site.page-index .home-upcoming-row:last-child{border-bottom:0!important}
body.public-site.page-index .home-upcoming-row:hover .home-upcoming-main strong{color:#0a58ad!important}
body.public-site.page-index .home-upcoming-date{
  width:47px!important;
  min-width:47px!important;
  padding:7px 4px 6px!important;
  border-radius:12px!important;
  text-align:center!important;
  background:linear-gradient(145deg,#eef5ff,#e2ecfa)!important;
  border:1px solid #d3e0f0!important;
}
body.public-site.page-index .home-upcoming-date b{
  display:block!important;
  color:#0e3b76!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:950!important;
}
body.public-site.page-index .home-upcoming-date small{
  display:block!important;
  margin-top:3px!important;
  color:#71829a!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:800!important;
}
body.public-site.page-index .home-upcoming-main{min-width:0!important}
body.public-site.page-index .home-upcoming-main>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
body.public-site.page-index .home-upcoming-main strong{
  min-width:0!important;
  color:#173961!important;
  font-size:10.5px!important;
  font-weight:950!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.public-site.page-index .home-upcoming-main time{
  flex:none!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  background:#fff3d5!important;
  color:#865a00!important;
  font-size:8px!important;
  font-weight:950!important;
}
body.public-site.page-index .home-upcoming-main p{
  margin:3px 0 1px!important;
  color:#43566f!important;
  font-size:9px!important;
  line-height:1.3!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.public-site.page-index .home-upcoming-main small{
  display:block!important;
  color:#8a96a8!important;
  font-size:7.8px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Empty states keep the page useful even before data is entered. */
body.public-site.page-index .home-discovery-empty{
  min-height:222px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  gap:13px!important;
  align-items:center!important;
  margin:12px!important;
  padding:20px!important;
  border-radius:17px!important;
  background:linear-gradient(135deg,#f8fbff 0%,#f4f7fb 100%)!important;
  border:1px dashed #ccd9e9!important;
}
body.public-site.page-index .home-discovery-empty.compact{min-height:222px!important}
body.public-site.page-index .home-discovery-empty-icon{
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 6px 16px rgba(27,48,79,.07)!important;
  font-size:28px!important;
}
body.public-site.page-index .home-discovery-empty strong{
  display:block!important;
  color:#173961!important;
  font-size:12px!important;
  font-weight:950!important;
}
body.public-site.page-index .home-discovery-empty p{
  margin:5px 0 0!important;
  color:#758398!important;
  font-size:9.5px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
body.public-site.page-index .home-discovery-empty>a{
  padding:8px 10px!important;
  border-radius:10px!important;
  background:#0b3f82!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.public-site.page-index .home-discovery-empty>a:hover{background:#082f63!important}

/* Sports network */
body.public-site.page-index .home-sports-network-card{margin-top:16px!important}
body.public-site.page-index .home-sports-network-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  padding:13px!important;
}
body.public-site.page-index .home-sport-chip{
  min-width:0!important;
  min-height:74px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 8px!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 11px!important;
  border:1px solid #e6ebf2!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#fff,#f8fafc)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
body.public-site.page-index .home-sport-chip:hover{
  transform:translateY(-1px)!important;
  border-color:#cad9eb!important;
  box-shadow:0 8px 18px rgba(24,52,88,.07)!important;
}
body.public-site.page-index .home-sport-chip>span{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:#f1f6fc!important;
  border:1px solid #e2eaf4!important;
}
body.public-site.page-index .home-sport-chip>span img{
  width:32px!important;
  height:32px!important;
  object-fit:contain!important;
}
body.public-site.page-index .home-sport-chip>div{min-width:0!important}
body.public-site.page-index .home-sport-chip strong{
  display:block!important;
  color:#173961!important;
  font-size:10.5px!important;
  line-height:1.3!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.public-site.page-index .home-sport-chip small{
  display:block!important;
  margin-top:3px!important;
  color:#8290a3!important;
  font-size:8px!important;
  font-weight:800!important;
}
body.public-site.page-index .home-sports-network-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:96px!important;
  padding:18px!important;
  color:#687991!important;
}
body.public-site.page-index .home-sports-network-empty>span{font-size:26px!important}
body.public-site.page-index .home-sports-network-empty strong{color:#173961!important;font-size:11px!important}
body.public-site.page-index .home-sports-network-empty a{color:#0a4d9a!important;font-size:9px!important;font-weight:900!important}

@media(max-width:1180px) and (min-width:821px){
  body.public-site.page-index .home-discovery-grid{grid-template-columns:1fr 1fr!important}
  body.public-site.page-index .home-result-list{grid-template-columns:1fr!important}
  body.public-site.page-index .home-discovery-empty{grid-template-columns:52px minmax(0,1fr)!important;min-height:245px!important}
  body.public-site.page-index .home-discovery-empty>a{grid-column:1/-1!important;justify-self:start!important}
  body.public-site.page-index .home-sports-network-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:820px){
  body.public-site.page-index .home-discovery-section{
    padding:0 8px 24px!important;
  }
  body.public-site.page-index .home-discovery-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.public-site.page-index .home-discovery-card,
  body.public-site.page-index .home-sports-network-card{
    border-radius:17px!important;
  }
  body.public-site.page-index .home-discovery-head,
  body.public-site.page-index .home-sports-network-head{
    gap:8px!important;
    padding:13px 13px 11px!important;
  }
  body.public-site.page-index .home-discovery-kicker{font-size:7.5px!important}
  body.public-site.page-index .home-discovery-head h2,
  body.public-site.page-index .home-sports-network-head h2{font-size:14px!important}
  body.public-site.page-index .home-discovery-head p,
  body.public-site.page-index .home-sports-network-head p{font-size:8.5px!important}
  body.public-site.page-index .home-discovery-head>a,
  body.public-site.page-index .home-sports-network-head>a{font-size:8.5px!important;margin-top:4px!important}
  body.public-site.page-index .home-result-list{
    display:flex!important;
    grid-template-columns:none!important;
    gap:8px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding:10px!important;
    scrollbar-width:thin!important;
  }
  body.public-site.page-index .home-result-row{
    flex:0 0 min(86vw,350px)!important;
    min-height:96px!important;
    scroll-snap-align:start!important;
    grid-template-columns:40px minmax(0,1fr) 8px!important;
    padding:9px!important;
  }
  body.public-site.page-index .home-result-sport-icon{width:40px!important;height:40px!important;min-width:40px!important}
  body.public-site.page-index .home-result-sport-icon img{width:27px!important;height:27px!important}
  body.public-site.page-index .home-result-main>div strong{font-size:10px!important}
  body.public-site.page-index .home-result-main>small{font-size:8px!important}
  body.public-site.page-index .home-result-medals{gap:3px!important;margin-top:6px!important}
  body.public-site.page-index .home-result-medals b{font-size:6.8px!important;padding:4px!important}
  body.public-site.page-index .home-upcoming-list{padding:5px 10px 9px!important}
  body.public-site.page-index .home-upcoming-row{grid-template-columns:43px minmax(0,1fr) 8px!important;gap:8px!important;min-height:61px!important}
  body.public-site.page-index .home-upcoming-date{width:43px!important;min-width:43px!important}
  body.public-site.page-index .home-upcoming-date b{font-size:15px!important}
  body.public-site.page-index .home-upcoming-main strong{font-size:9.5px!important}
  body.public-site.page-index .home-upcoming-main p{font-size:8.3px!important}
  body.public-site.page-index .home-upcoming-main small{font-size:7.2px!important}
  body.public-site.page-index .home-discovery-empty,
  body.public-site.page-index .home-discovery-empty.compact{
    min-height:150px!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:10px!important;
    margin:10px!important;
    padding:14px!important;
  }
  body.public-site.page-index .home-discovery-empty-icon{width:48px!important;height:48px!important;font-size:23px!important;border-radius:14px!important}
  body.public-site.page-index .home-discovery-empty strong{font-size:10.5px!important}
  body.public-site.page-index .home-discovery-empty p{font-size:8.5px!important}
  body.public-site.page-index .home-discovery-empty>a{grid-column:1/-1!important;justify-self:start!important;font-size:8px!important;padding:7px 9px!important}
  body.public-site.page-index .home-sports-network-card{margin-top:10px!important}
  body.public-site.page-index .home-sports-network-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:8px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding:10px!important;
    scrollbar-width:thin!important;
  }
  body.public-site.page-index .home-sport-chip{
    flex:0 0 180px!important;
    min-height:66px!important;
    grid-template-columns:42px minmax(0,1fr) 7px!important;
    gap:8px!important;
    padding:8px!important;
    scroll-snap-align:start!important;
  }
  body.public-site.page-index .home-sport-chip>span{width:42px!important;height:42px!important}
  body.public-site.page-index .home-sport-chip>span img{width:28px!important;height:28px!important}
  body.public-site.page-index .home-sport-chip strong{font-size:9.5px!important}
  body.public-site.page-index .home-sport-chip small{font-size:7.5px!important}
}

/* Home dashboard empty states: avoid large blank cards when there is no data yet. */
body.public-site.page-index .home-dashboard-empty{
  min-height:225px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:22px 18px!important;
  text-align:center!important;
  background:linear-gradient(180deg,#fbfdff 0%,#f7f9fc 100%)!important;
}
body.public-site.page-index .home-dashboard-empty>span{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  margin-bottom:2px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid #e2eaf3!important;
  box-shadow:0 7px 16px rgba(28,53,87,.07)!important;
  font-size:25px!important;
}
body.public-site.page-index .home-dashboard-empty>strong{
  color:#173961!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:950!important;
}
body.public-site.page-index .home-dashboard-empty>p{
  max-width:300px!important;
  margin:0!important;
  color:#7b899d!important;
  font-size:8.8px!important;
  line-height:1.5!important;
  font-weight:700!important;
}
body.public-site.page-index .home-dashboard-empty>a{
  margin-top:6px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  background:#eef4fc!important;
  border:1px solid #dbe6f3!important;
  color:#0b4d99!important;
  font-size:8.5px!important;
  line-height:1!important;
  font-weight:900!important;
}
body.public-site.page-index .home-dashboard-empty>a:hover{
  background:#0b3f82!important;
  border-color:#0b3f82!important;
  color:#fff!important;
}
@media(max-width:820px){
  body.public-site.page-index .home-dashboard-empty{
    min-height:150px!important;
    padding:16px 12px!important;
  }
  body.public-site.page-index .home-dashboard-empty>span{width:44px!important;height:44px!important;font-size:21px!important;border-radius:13px!important}
  body.public-site.page-index .home-dashboard-empty>strong{font-size:10px!important}
  body.public-site.page-index .home-dashboard-empty>p{font-size:8px!important;max-width:260px!important}
  body.public-site.page-index .home-dashboard-empty>a{font-size:8px!important;padding:7px 9px!important}
}

@media(max-width:820px){
  /* The home page now continues with useful content, so the dashboard no longer
     needs the old large bottom spacer that was used when contact followed it. */
  body.public-site.page-index .premium-home-dashboard{padding-bottom:10px!important}
}

/* =========================================================
   2026-10-01 — RESPONSIVE SIDEBAR CONTROL + MEDAL MENU QA FIX
   Final override for centered controls/icons on desktop and mobile.
   ========================================================= */
body.public-site .sidebar.premium-sidebar .menu-icon-box{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  align-self:center!important;
  padding:0!important;
  line-height:0!important;
  text-align:center!important;
}
body.public-site .sidebar.premium-sidebar .menu-icon-box>img{
  display:block!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  margin:0 auto!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
}

@media(min-width:821px){
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-item,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-toggle{
    align-items:center!important;
    justify-items:center!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-icon-box{
    margin:auto!important;
    justify-self:center!important;
    align-self:center!important;
  }
}

@media(max-width:820px){
  /* Use only pseudo-elements for these controls so no duplicate glyph can render. */
  body.public-site .sidebar-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
    font-size:0!important;
    text-align:center!important;
    overflow:hidden!important;
  }
  body.public-site .sidebar-toggle::before{
    content:'☰'!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    font-family:Arial,sans-serif!important;
    font-size:27px!important;
    font-weight:700!important;
    line-height:1!important;
    color:#fff!important;
    transform:none!important;
  }

  body.public-site .public-sidebar-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #d8e1ec!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#0b3474!important;
    box-shadow:0 8px 20px rgba(6,31,68,.18)!important;
    line-height:1!important;
    font-size:0!important;
    text-align:center!important;
    overflow:hidden!important;
  }
  body.public-site .public-sidebar-close::before{
    content:'×'!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    font-family:Arial,sans-serif!important;
    font-size:31px!important;
    font-weight:700!important;
    line-height:.9!important;
    color:#0b3474!important;
    transform:none!important;
  }

  body.public-site .sidebar.premium-sidebar .menu-icon-box{
    width:45px!important;
    height:45px!important;
    min-width:45px!important;
    padding:0!important;
  }
  body.public-site .sidebar.premium-sidebar .menu-icon-box>img{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    max-width:29px!important;
    max-height:29px!important;
    margin:auto!important;
  }

  /* Submenu buttons stay visually centered inside the mobile drawer. */
  body.public-site .sidebar.premium-sidebar .submenu a{
    justify-content:center!important;
    text-align:center!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* Exact image box reset: legacy menu rules used min-height/padding on <img>. */
body.public-site .sidebar.premium-sidebar .menu-icon-box>img{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
@media(max-width:820px){
  body.public-site .sidebar.premium-sidebar .menu-icon-box>img{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
    max-width:29px!important;
    max-height:29px!important;
  }
}

/* Desktop collapsed rail: force every card/frame to the rail center after a live collapse. */
@media(min-width:821px){
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .sidebar-menu{
    width:100%!important;
    margin:14px 0 0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:hidden!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-group{
    width:100%!important;
    display:grid!important;
    justify-items:center!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-item,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-toggle{
    margin-left:auto!important;
    margin-right:auto!important;
    justify-self:center!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-icon-box>img{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
  }
}

/* A collapsed desktop rail must not retain an open submenu's intrinsic width. */
@media(min-width:821px){
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .submenu{
    display:none!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-group{
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* =========================================================
   2026-10-01 — SIDEBAR LIVE / MEDAL STRUCTURE + HOME READABILITY
   ========================================================= */

/* Results is now a direct destination. */
body.public-site .sidebar.premium-sidebar .menu-results{
  color:#493878!important;
  background:linear-gradient(135deg,#f1ebff,#ded3f8)!important;
  border-color:#d2c5ee!important;
}
body.public-site .sidebar.premium-sidebar .menu-results>div>strong,
body.public-site .sidebar.premium-sidebar .menu-results>div>span{
  color:#493878!important;
  -webkit-text-fill-color:#493878!important;
}
body.public-site .sidebar.premium-sidebar .menu-results.active,
body.public-site .sidebar.premium-sidebar .menu-results:hover,
body.public-site .sidebar.premium-sidebar .menu-results:focus-visible{
  background:linear-gradient(135deg,#eee6ff,#d9cdf6)!important;
  border-color:#c9b9eb!important;
  color:#493878!important;
  box-shadow:0 10px 24px rgba(87,66,137,.13)!important;
}

/* Dedicated large live-score card. */
@keyframes sidebarLiveDotPulse{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(230,55,64,.30)}
  50%{opacity:.62;transform:scale(.82);box-shadow:0 0 0 6px rgba(230,55,64,0)}
}
@keyframes sidebarLiveBadgeBlink{
  0%,100%{opacity:1}
  50%{opacity:.68}
}
body.public-site .sidebar.premium-sidebar .menu-live-scores{
  min-height:82px!important;
  color:#7d2930!important;
  background:linear-gradient(135deg,#fff7f7 0%,#ffe7e8 100%)!important;
  border-color:#efc8cb!important;
  box-shadow:0 10px 24px rgba(149,49,56,.10)!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores::before{
  background:#ef4d59!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores>div>strong{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px 8px!important;
  line-height:1.2!important;
  color:#7d2930!important;
  -webkit-text-fill-color:#7d2930!important;
  font-size:16px!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores>div>span:not(.sidebar-live-badge){
  color:#966166!important;
  -webkit-text-fill-color:#966166!important;
  font-size:10.5px!important;
}
body.public-site .sidebar.premium-sidebar .sidebar-live-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
  margin:0!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:#e63740!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:Arial,sans-serif!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
  animation:sidebarLiveBadgeBlink 1.15s ease-in-out infinite!important;
}
body.public-site .sidebar.premium-sidebar .sidebar-live-badge>i{
  width:7px!important;
  height:7px!important;
  display:block!important;
  flex:none!important;
  border-radius:50%!important;
  background:#fff!important;
  animation:sidebarLiveDotPulse 1.15s ease-in-out infinite!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores:hover,
body.public-site .sidebar.premium-sidebar .menu-live-scores:focus-visible,
body.public-site .sidebar.premium-sidebar .menu-live-scores.active{
  background:linear-gradient(135deg,#fff0f1 0%,#ffdadd 100%)!important;
  border-color:#e9aeb3!important;
  color:#7d2930!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores:hover>div>strong,
body.public-site .sidebar.premium-sidebar .menu-live-scores.active>div>strong{
  color:#7d2930!important;
  -webkit-text-fill-color:#7d2930!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores:hover>div>span:not(.sidebar-live-badge),
body.public-site .sidebar.premium-sidebar .menu-live-scores.active>div>span:not(.sidebar-live-badge){
  color:#966166!important;
  -webkit-text-fill-color:#966166!important;
}

/* Medal summary replaces the old duplicated stats/report menu. */
body.public-site .sidebar.premium-sidebar .menu-medals{
  color:#6d4d16!important;
  background:linear-gradient(135deg,#fff9e9,#f6e6bd)!important;
  border-color:#e6cd91!important;
}
body.public-site .sidebar.premium-sidebar .menu-medals::before{background:#d6a430!important}
body.public-site .sidebar.premium-sidebar .menu-medals>div>strong{
  color:#6d4d16!important;
  -webkit-text-fill-color:#6d4d16!important;
}
body.public-site .sidebar.premium-sidebar .menu-medals>div>span{
  color:#846b39!important;
  -webkit-text-fill-color:#846b39!important;
}
body.public-site .sidebar.premium-sidebar .menu-medals:hover,
body.public-site .sidebar.premium-sidebar .menu-medals:focus-visible,
body.public-site .sidebar.premium-sidebar .menu-medals.active{
  color:#6d4d16!important;
  background:linear-gradient(135deg,#fff5d9,#f2dfad)!important;
  border-color:#ddbd72!important;
  box-shadow:0 10px 24px rgba(137,101,29,.11)!important;
}

@media(max-width:820px){
  body.public-site .sidebar.premium-sidebar .menu-live-scores{min-height:76px!important}
  body.public-site .sidebar.premium-sidebar .menu-live-scores>div>strong{font-size:14px!important;gap:6px!important}
  body.public-site .sidebar.premium-sidebar .menu-live-scores>div>span:not(.sidebar-live-badge){font-size:10px!important}
  body.public-site .sidebar.premium-sidebar .sidebar-live-badge{font-size:8.5px!important;padding:4px 6px!important}
}
@media(min-width:821px){
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-live-scores{min-height:62px!important}
}
@media(prefers-reduced-motion:reduce){
  body.public-site .sidebar.premium-sidebar .sidebar-live-badge,
  body.public-site .sidebar.premium-sidebar .sidebar-live-badge>i{animation:none!important}
}

/* Home cards: remove browser-style underlines and use button-like CTAs. */
body.public-site.page-index .premium-home-dashboard a,
body.public-site.page-index .home-discovery-section a{
  text-decoration:none!important;
  text-underline-offset:0!important;
}
body.public-site.page-index .premium-card-head>a,
body.public-site.page-index .premium-card-actions>a,
body.public-site.page-index .home-discovery-head>a,
body.public-site.page-index .home-sports-network-head>a{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:7px 11px!important;
  border:1px solid #d7e3f1!important;
  border-radius:10px!important;
  background:#f2f7fd!important;
  color:#174f91!important;
  font-size:11.5px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body.public-site.page-index .premium-card-head>a:hover,
body.public-site.page-index .premium-card-actions>a:hover,
body.public-site.page-index .home-discovery-head>a:hover,
body.public-site.page-index .home-sports-network-head>a:hover{
  background:#e5f0fc!important;
  border-color:#bfd4ec!important;
  color:#0d417e!important;
  text-decoration:none!important;
}
body.public-site.page-index .live-dashboard-card .premium-card-head>a{
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.24)!important;
  color:#fff!important;
}
body.public-site.page-index .live-dashboard-card .premium-card-head>a:hover{
  background:rgba(255,255,255,.22)!important;
  border-color:rgba(255,255,255,.34)!important;
  color:#fff!important;
}

/* Top dashboard empty states: readable at normal desktop distance. */
body.public-site.page-index .home-dashboard-empty>strong{
  font-size:13.5px!important;
  line-height:1.35!important;
}
body.public-site.page-index .home-dashboard-empty>p{
  max-width:380px!important;
  font-size:10.5px!important;
  line-height:1.55!important;
}
body.public-site.page-index .home-dashboard-empty>a{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:8px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  font-size:10.5px!important;
  text-decoration:none!important;
}

/* Discovery headings and supporting copy. */
body.public-site.page-index .home-discovery-kicker{font-size:10px!important}
body.public-site.page-index .home-discovery-head h2,
body.public-site.page-index .home-sports-network-head h2{font-size:19px!important;line-height:1.28!important}
body.public-site.page-index .home-discovery-head p,
body.public-site.page-index .home-sports-network-head p{font-size:11.5px!important;line-height:1.5!important}

/* Latest result content. */
body.public-site.page-index .home-result-row{text-decoration:none!important}
body.public-site.page-index .home-result-main>div strong{font-size:12.5px!important}
body.public-site.page-index .home-result-main time{font-size:9.5px!important}
body.public-site.page-index .home-result-main>small{font-size:10px!important;line-height:1.4!important}
body.public-site.page-index .home-result-medals b{font-size:9px!important;padding:5px 7px!important}

/* Upcoming content. */
body.public-site.page-index .home-upcoming-row{text-decoration:none!important}
body.public-site.page-index .home-upcoming-main strong{font-size:12px!important}
body.public-site.page-index .home-upcoming-main time{font-size:9.5px!important;padding:4px 7px!important}
body.public-site.page-index .home-upcoming-main p{font-size:10.5px!important;line-height:1.4!important}
body.public-site.page-index .home-upcoming-main small{font-size:9.5px!important;line-height:1.35!important}
body.public-site.page-index .home-upcoming-date small{font-size:8.5px!important}

/* Empty states: button-style destination instead of tiny underlined links. */
body.public-site.page-index .home-discovery-empty strong{font-size:14px!important}
body.public-site.page-index .home-discovery-empty p{font-size:11px!important;line-height:1.55!important}
body.public-site.page-index .home-discovery-empty>a{
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 13px!important;
  border:1px solid #0b3f82!important;
  border-radius:10px!important;
  background:#0b3f82!important;
  color:#fff!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-decoration:none!important;
}
body.public-site.page-index .home-discovery-empty>a:hover{background:#082f63!important;text-decoration:none!important}

/* Sports chips. */
body.public-site.page-index .home-sport-chip{text-decoration:none!important}
body.public-site.page-index .home-sport-chip strong{font-size:12px!important}
body.public-site.page-index .home-sport-chip small{font-size:9.5px!important;line-height:1.35!important}
body.public-site.page-index .home-sports-network-empty strong{font-size:13px!important}
body.public-site.page-index .home-sports-network-empty a{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:8px 11px!important;
  border-radius:10px!important;
  background:#eef5fc!important;
  border:1px solid #d6e4f2!important;
  color:#0a4d9a!important;
  font-size:10.5px!important;
  font-weight:900!important;
  text-decoration:none!important;
}

@media(max-width:820px){
  body.public-site.page-index .premium-card-head>a,
  body.public-site.page-index .premium-card-actions>a,
  body.public-site.page-index .home-discovery-head>a,
  body.public-site.page-index .home-sports-network-head>a{
    min-height:32px!important;
    padding:7px 9px!important;
    font-size:10px!important;
    border-radius:9px!important;
  }
  body.public-site.page-index .home-dashboard-empty>strong{font-size:12px!important}
  body.public-site.page-index .home-dashboard-empty>p{font-size:9.8px!important;line-height:1.5!important}
  body.public-site.page-index .home-dashboard-empty>a{font-size:10px!important;padding:8px 10px!important}

  body.public-site.page-index .home-discovery-kicker{font-size:8.5px!important}
  body.public-site.page-index .home-discovery-head h2,
  body.public-site.page-index .home-sports-network-head h2{font-size:16px!important}
  body.public-site.page-index .home-discovery-head p,
  body.public-site.page-index .home-sports-network-head p{font-size:10px!important;line-height:1.45!important}

  body.public-site.page-index .home-result-main>div strong{font-size:11.5px!important}
  body.public-site.page-index .home-result-main time{font-size:9px!important}
  body.public-site.page-index .home-result-main>small{font-size:9.5px!important}
  body.public-site.page-index .home-result-medals b{font-size:8px!important;padding:5px!important}

  body.public-site.page-index .home-upcoming-main strong{font-size:11.5px!important}
  body.public-site.page-index .home-upcoming-main time{font-size:9px!important}
  body.public-site.page-index .home-upcoming-main p{font-size:9.8px!important}
  body.public-site.page-index .home-upcoming-main small{font-size:8.8px!important}
  body.public-site.page-index .home-upcoming-date small{font-size:8px!important}

  body.public-site.page-index .home-discovery-empty strong{font-size:12px!important}
  body.public-site.page-index .home-discovery-empty p{font-size:10px!important}
  body.public-site.page-index .home-discovery-empty>a{font-size:10px!important;padding:8px 10px!important}

  body.public-site.page-index .home-sport-chip strong{font-size:11.5px!important}
  body.public-site.page-index .home-sport-chip small{font-size:9px!important}
}

/* =========================================================
   2026-10-01 — HOME CTA DEDUP + EMPTY-STATE ALIGNMENT
   One destination action per card: the header CTA is the single action.
   Empty states now focus on status/message instead of repeating the same link.
   ========================================================= */
body.public-site.page-index .home-discovery-empty{
  grid-template-columns:58px minmax(0,430px)!important;
  justify-content:center!important;
  text-align:left!important;
}
body.public-site.page-index .home-discovery-empty.compact{
  grid-template-columns:58px minmax(0,310px)!important;
}
body.public-site.page-index .home-sports-network-empty{
  justify-content:center!important;
  text-align:center!important;
}

/* Header CTA remains the only navigation action in each empty card. */
body.public-site.page-index .home-discovery-head>a,
body.public-site.page-index .home-sports-network-head>a,
body.public-site.page-index .premium-card-head>a{
  text-decoration:none!important;
}

@media(max-width:1180px) and (min-width:821px){
  body.public-site.page-index .home-discovery-empty,
  body.public-site.page-index .home-discovery-empty.compact{
    grid-template-columns:52px minmax(0,330px)!important;
    justify-content:center!important;
  }
}

@media(max-width:820px){
  body.public-site.page-index .home-discovery-empty,
  body.public-site.page-index .home-discovery-empty.compact{
    grid-template-columns:48px minmax(0,1fr)!important;
    justify-content:stretch!important;
    gap:11px!important;
  }
  body.public-site.page-index .home-sports-network-empty{
    flex-direction:column!important;
    gap:6px!important;
    min-height:110px!important;
  }
}

/* =========================================================
   2026-10-01 — HOME CTA BOLD COLOR BACKGROUNDS
   Stronger mixed-color action buttons, desktop + mobile.
   ========================================================= */
body.public-site.page-index .premium-card-head>a,
body.public-site.page-index .home-discovery-head>a,
body.public-site.page-index .home-sports-network-head>a{
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:11px!important;
  border-width:1px!important;
  border-style:solid!important;
  font-size:11.5px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(18,43,76,.13)!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}
body.public-site.page-index .premium-card-head>a:hover,
body.public-site.page-index .home-discovery-head>a:hover,
body.public-site.page-index .home-sports-network-head>a:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.04)!important;
  box-shadow:0 10px 22px rgba(18,43,76,.18)!important;
}
body.public-site.page-index .premium-card-head>a:focus-visible,
body.public-site.page-index .home-discovery-head>a:focus-visible,
body.public-site.page-index .home-sports-network-head>a:focus-visible{
  outline:3px solid rgba(39,103,190,.24)!important;
  outline-offset:2px!important;
}

/* Live score: strong contrast while staying inside the navy header. */
body.public-site.page-index .live-dashboard-card .premium-card-head>a{
  background:linear-gradient(135deg,#ffffff 0%,#e9f2ff 100%)!important;
  border-color:#d6e6fb!important;
  color:#103f78!important;
  box-shadow:0 8px 18px rgba(0,19,49,.18)!important;
}
body.public-site.page-index .live-dashboard-card .premium-card-head>a:hover{
  background:linear-gradient(135deg,#ffffff 0%,#dcecff 100%)!important;
  border-color:#c3daf7!important;
  color:#0b3568!important;
}

/* Today's schedule: bold violet. */
body.public-site.page-index .schedule-summary-card .premium-card-head>a{
  background:linear-gradient(135deg,#7558df 0%,#5d43c4 100%)!important;
  border-color:#5139b4!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(91,63,188,.23)!important;
}
body.public-site.page-index .schedule-summary-card .premium-card-head>a:hover{
  background:linear-gradient(135deg,#684bd1 0%,#5237b8 100%)!important;
  color:#fff!important;
}

/* News: warm orange. */
body.public-site.page-index .news-summary-card .premium-card-head>a{
  background:linear-gradient(135deg,#e58a24 0%,#c96a12 100%)!important;
  border-color:#b95f0c!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(183,91,11,.22)!important;
}
body.public-site.page-index .news-summary-card .premium-card-head>a:hover{
  background:linear-gradient(135deg,#d97a17 0%,#bb5d0a 100%)!important;
  color:#fff!important;
}

/* Recent results: emerald. */
body.public-site.page-index .home-latest-result-card .home-discovery-head>a{
  background:linear-gradient(135deg,#1d9870 0%,#147a59 100%)!important;
  border-color:#116c4f!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(18,115,83,.21)!important;
}
body.public-site.page-index .home-latest-result-card .home-discovery-head>a:hover{
  background:linear-gradient(135deg,#188967 0%,#106e50 100%)!important;
  color:#fff!important;
}

/* Upcoming: bright sport blue. */
body.public-site.page-index .home-upcoming-card .home-discovery-head>a{
  background:linear-gradient(135deg,#2e78da 0%,#205fba 100%)!important;
  border-color:#1a54a6!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(31,91,177,.22)!important;
}
body.public-site.page-index .home-upcoming-card .home-discovery-head>a:hover{
  background:linear-gradient(135deg,#286dcc 0%,#1a55ad 100%)!important;
  color:#fff!important;
}

/* Sports network: gold/amber with dark text for strong readability. */
body.public-site.page-index .home-sports-network-card .home-sports-network-head>a{
  background:linear-gradient(135deg,#f0c454 0%,#dda52d 100%)!important;
  border-color:#cb9220!important;
  color:#4e3500!important;
  box-shadow:0 8px 18px rgba(171,119,15,.20)!important;
}
body.public-site.page-index .home-sports-network-card .home-sports-network-head>a:hover{
  background:linear-gradient(135deg,#e8b946 0%,#d39921 100%)!important;
  color:#422d00!important;
}

@media(max-width:820px){
  body.public-site.page-index .premium-card-head>a,
  body.public-site.page-index .home-discovery-head>a,
  body.public-site.page-index .home-sports-network-head>a{
    min-height:34px!important;
    padding:8px 10px!important;
    border-radius:9px!important;
    font-size:10px!important;
    box-shadow:0 6px 14px rgba(18,43,76,.14)!important;
  }
  body.public-site.page-index .premium-card-head>a:hover,
  body.public-site.page-index .home-discovery-head>a:hover,
  body.public-site.page-index .home-sports-network-head>a:hover{
    transform:none!important;
  }
}


/* =========================================================
   2026-10-01 — COLLAPSED SIDEBAR VERTICAL OVERLAP FIX
   Prevent accordion wrappers from shrinking and clipping their buttons
   when a desktop window has limited vertical space. The menu scrolls
   instead of compressing individual rows.
   ========================================================= */
@media(min-width:821px){
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .sidebar-menu{
    display:grid!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    row-gap:9px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-group{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:62px!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-group > .menu-item,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .menu-group > .menu-toggle{
    min-height:62px!important;
    height:62px!important;
    flex:none!important;
  }
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar .submenu{
    display:none!important;
  }
}


/* Final responsive guard after all legacy theme overrides. */
@media(min-width:821px){
  body.public-site:not(.sidebar-collapsed) .sidebar.premium-sidebar{
    width:var(--sidebar-width)!important;
  }
  body.public-site:not(.sidebar-collapsed) .page-content,
  body.public-site:not(.sidebar-collapsed) .site-footer{
    margin-left:var(--sidebar-width)!important;
  }
  body.public-site:not(.sidebar-collapsed) .topbar.public-premium-topbar{
    left:var(--sidebar-width)!important;
  }
}
@media(max-width:820px){
  body.public-site .page-content,
  body.public-site.sidebar-collapsed .page-content,
  body.public-site .site-footer,
  body.public-site.sidebar-collapsed .site-footer{
    margin-left:0!important;
    width:auto!important;
  }
  body.public-site .topbar.public-premium-topbar,
  body.public-site.sidebar-collapsed .topbar.public-premium-topbar{
    left:0!important;
  }
  body.public-site .sidebar-collapse-toggle{
    display:none!important;
  }
}


/* =========================================================
   2026-10-01 — LIVE BADGE ALIGNMENT + SCORE BLINK
   Center the LIVE dot visually and let live score boxes pulse.
   ========================================================= */
@keyframes homeLiveScorePulse {
  0%,100%{transform:scale(1);box-shadow:0 4px 12px rgba(8,46,97,.18),0 0 0 0 rgba(28,170,112,.22)}
  50%{transform:scale(1.06);box-shadow:0 6px 16px rgba(8,46,97,.22),0 0 0 8px rgba(28,170,112,0)}
}

body.public-site.page-index .premium-live-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  line-height:1!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}
body.public-site.page-index .premium-live-badge > i{
  display:block!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  border-radius:50%!important;
  background:currentColor!important;
  margin:0!important;
  align-self:center!important;
  box-shadow:0 0 0 0 rgba(255,255,255,0)!important;
  transform:translateY(0)!important;
}
body.public-site.page-index .premium-live-badge > span{
  display:block!important;
  line-height:1!important;
}
body.public-site.page-index .premium-live-badge.is-live > i{
  background:#fff!important;
  animation:homeLiveDotPulse 1.15s ease-in-out infinite!important;
}

body.public-site.page-index .home-live-score-board .live-score-match.live .live-score-versus b,
body.public-site #liveScoreBoard .live-score-match.live .live-score-versus b{
  animation:homeLiveScorePulse 1.15s ease-in-out infinite!important;
}
body.public-site.page-index .home-live-score-board .live-score-match.scheduled .live-score-versus b,
body.public-site.page-index .home-live-score-board .live-score-match.finished .live-score-versus b,
body.public-site #liveScoreBoard .live-score-match.scheduled .live-score-versus b,
body.public-site #liveScoreBoard .live-score-match.finished .live-score-versus b{
  animation:none!important;
}

@media(prefers-reduced-motion:reduce){
  body.public-site.page-index .premium-live-badge.is-live > i,
  body.public-site.page-index .home-live-score-board .live-score-match.live .live-score-versus b,
  body.public-site #liveScoreBoard .live-score-match.live .live-score-versus b{
    animation:none!important;
  }
}


/* =========================================================
   2026-10-01 — HOME LOWER CONTACT BACKGROUND
   Apply a background only to the bottom contact/footer zone.
   ========================================================= */
body.public-site.page-index #contact{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  margin:0!important;
  padding:34px 18px 30px!important;
  background-color:#0b315f!important;
  background-image:linear-gradient(180deg,#123d72 0%,#0b315f 52%,#08264e 100%)!important;
  border-top:1px solid rgba(226,187,93,.34)!important;
}
body.public-site.page-index #contact::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(160deg,transparent 0 44%,rgba(255,255,255,.035) 44.2% 58%,transparent 58.2%),
    radial-gradient(ellipse at 50% 120%,rgba(255,255,255,.055),transparent 58%);
}
body.public-site.page-index #contact .container{
  position:relative!important;
  z-index:1!important;
}
body.public-site.page-index #contact .contact-card{
  background:linear-gradient(135deg,#fffefa 0%,#f8fbff 100%)!important;
  border:1px solid rgba(222,229,238,.96)!important;
  box-shadow:0 18px 38px rgba(3,25,56,.18)!important;
}
body.public-site.page-index .site-footer{
  margin-top:0!important;
  background:linear-gradient(180deg,#08264e 0%,#061d3f 100%)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;
}

@media(max-width:820px){
  body.public-site.page-index #contact{
    padding:24px 12px 22px!important;
    background-color:#0b315f!important;
    background-image:linear-gradient(180deg,#123d72 0%,#0b315f 54%,#08264e 100%)!important;
  }
  body.public-site.page-index #contact .contact-card{
    border-radius:16px!important;
    box-shadow:0 12px 28px rgba(3,25,56,.17)!important;
  }
  body.public-site.page-index .site-footer{
    margin-top:0!important;
  }
}

/* Keep the lower home background continuous down to the footer. */
body.public-site.page-index .page-content{
  min-height:0!important;
}
@media(max-width:820px){
  body.public-site.page-index #contact{
    display:block!important;
  }
  body.public-site.page-index .page-content{
    padding-bottom:0!important;
  }
}

@media(max-width:820px){
  body.public-site.page-index .site-footer{
    margin-bottom:0!important;
    padding-bottom:calc(22px + 62px + env(safe-area-inset-bottom))!important;
  }
}


/* =========================================================
   2026-10-01 — MULTI LIVE + LEADER SCORE + LIVE MENU STATE
   Show several live matches, pulse only the leading score, and make the
   sidebar LIVE status green when live / red when offline.
   ========================================================= */
@keyframes homeLeadingScorePulse{
  0%,100%{transform:scale(1);box-shadow:0 4px 12px rgba(7,91,62,.22),0 0 0 2px rgba(34,178,118,.18)}
  50%{transform:scale(1.065);box-shadow:0 7px 18px rgba(7,91,62,.28),0 0 0 7px rgba(34,178,118,0)}
}
@keyframes sidebarLiveDotPulseGreen{
  0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(18,164,107,.32)}
  50%{opacity:.66;transform:scale(.84);box-shadow:0 0 0 6px rgba(18,164,107,0)}
}

/* Homepage live card: do not hide match #2 onward. Several live matches can
   appear and the body scrolls if there are many, keeping the dashboard tidy. */
body.public-site.page-index .home-live-score-board .live-score-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
}
body.public-site.page-index .home-live-score-board .live-score-sport{
  display:block!important;
}
body.public-site.page-index .home-live-score-board .live-score-match-list{
  display:grid!important;
  gap:7px!important;
}
body.public-site.page-index .home-live-score-board .live-score-match-list .live-score-match,
body.public-site.page-index .home-live-score-board .live-score-match-list .live-score-match:not(:first-child),
body.public-site.page-index .home-live-score-board .live-score-match:nth-child(n+2),
body.public-site.page-index .home-live-score-board .live-score-match:nth-child(n+4){
  display:block!important;
}
body.public-site.page-index .home-live-score-board{
  max-height:390px!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:#b9c9dc transparent!important;
}

/* The old rule pulsed both score boxes. Stop that and animate only the leader. */
body.public-site .live-score-match.live .live-score-versus b,
body.public-site.page-index .home-live-score-board .live-score-match.live .live-score-versus b,
body.public-site #liveScoreBoard .live-score-match.live .live-score-versus b{
  animation:none!important;
}
body.public-site .live-score-match.live .live-score-versus b.score-leading,
body.public-site.page-index .home-live-score-board .live-score-match.live .live-score-versus b.score-leading,
body.public-site #liveScoreBoard .live-score-match.live .live-score-versus b.score-leading{
  background:linear-gradient(145deg,#149a67,#08764d)!important;
  color:#fff!important;
  border:2px solid #48d49a!important;
  outline:2px solid rgba(32,181,119,.18)!important;
  animation:homeLeadingScorePulse 1.1s ease-in-out infinite!important;
}
body.public-site .live-score-match.live .live-score-versus>div.is-leading strong{
  color:#0b7952!important;
  font-weight:900!important;
}
body.public-site .live-score-match.live .live-score-versus b.score-trailing{
  border:1px solid rgba(12,54,117,.12)!important;
}
body.public-site .live-score-match.live .live-score-versus b.score-tied{
  border:2px solid #d5a82d!important;
  outline:2px solid rgba(213,168,45,.13)!important;
  animation:none!important;
}

/* Sidebar score status: live = green, no live = red. */
body.public-site .sidebar.premium-sidebar .sidebar-live-badge.is-live{
  background:#159a67!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  animation:sidebarLiveBadgeBlink 1.15s ease-in-out infinite!important;
}
body.public-site .sidebar.premium-sidebar .sidebar-live-badge.is-live>i{
  background:#fff!important;
  animation:sidebarLiveDotPulseGreen 1.15s ease-in-out infinite!important;
}
body.public-site .sidebar.premium-sidebar .sidebar-live-badge.is-offline{
  background:#e34b55!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  animation:none!important;
}
body.public-site .sidebar.premium-sidebar .sidebar-live-badge.is-offline>i{
  background:#fff!important;
  animation:none!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores.has-live{
  color:#126749!important;
  background:linear-gradient(135deg,#f2fff8 0%,#dcf6e9 100%)!important;
  border-color:#b8e4cf!important;
  box-shadow:0 10px 24px rgba(23,126,88,.10)!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores.has-live::before{
  background:#1caf76!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores.has-live>div>strong{
  color:#126749!important;
  -webkit-text-fill-color:#126749!important;
}
body.public-site .sidebar.premium-sidebar .menu-live-scores.has-live>div>span:not(.sidebar-live-badge){
  color:#3f7f68!important;
  -webkit-text-fill-color:#3f7f68!important;
}

@media(max-width:820px){
  body.public-site.page-index .home-live-score-board{
    max-height:360px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.public-site .live-score-match.live .live-score-versus b.score-leading,
  body.public-site .sidebar.premium-sidebar .sidebar-live-badge.is-live,
  body.public-site .sidebar.premium-sidebar .sidebar-live-badge.is-live>i{
    animation:none!important;
  }
}


/* =========================================================
   2026-10-01 — HOMEPAGE YOUTUBE FEATURE CARD
   Large embedded YouTube area placed between top dashboard and lower discovery cards.
   ========================================================= */
body.public-site.page-index .home-youtube-section{
  padding:0 18px 18px!important;
}
body.public-site.page-index .home-youtube-section>.container{
  width:100%!important;
  max-width:none!important;
}
body.public-site.page-index .home-youtube-card{
  border:1px solid #e3ded5!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(27,48,79,.055)!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-youtube-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 20px 15px!important;
  border-bottom:1px solid #eee8df!important;
  background:linear-gradient(180deg,#fffefa 0%,#fff 100%)!important;
}
body.public-site.page-index .home-youtube-head>div{min-width:0!important}
body.public-site.page-index .home-youtube-head h2{
  margin:0!important;
  color:#0b336d!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:950!important;
}
body.public-site.page-index .home-youtube-head p{
  margin:4px 0 0!important;
  color:#758196!important;
  font-size:10px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
body.public-site.page-index .home-youtube-head>a{
  flex:none!important;
  margin-top:7px!important;
  padding:12px 18px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#ffd5df,#ffb7c9)!important;
  border:1px solid #f3a6b8!important;
  color:#8f1636!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:950!important;
  white-space:nowrap!important;
  box-shadow:0 8px 18px rgba(143,22,54,.12)!important;
}
body.public-site.page-index .home-youtube-head>a:hover{
  background:linear-gradient(135deg,#ffc8d5,#ffaec3)!important;
  border-color:#ee98ae!important;
  color:#7d102d!important;
}
body.public-site.page-index .home-youtube-body{
  display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr)!important;
  gap:0!important;
  align-items:stretch!important;
}
body.public-site.page-index .home-youtube-frame-wrap{
  min-width:0!important;
  padding:16px!important;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fbff 100%)!important;
}
body.public-site.page-index .home-youtube-frame-wrap iframe{
  width:100%!important;
  aspect-ratio:16 / 9!important;
  min-height:420px!important;
  display:block!important;
  border:0!important;
  border-radius:18px!important;
  background:#061931!important;
  box-shadow:0 16px 34px rgba(17,42,74,.14)!important;
}
body.public-site.page-index .home-youtube-side{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  justify-content:center!important;
  padding:18px 20px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfbff 100%)!important;
  border-left:1px solid #eee8df!important;
}
body.public-site.page-index .home-youtube-chip{
  display:inline-flex!important;
  align-self:flex-start!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#e7efff,#d8e6ff)!important;
  color:#18458d!important;
  font-size:10px!important;
  line-height:1.35!important;
  font-weight:900!important;
}
body.public-site.page-index .home-youtube-side ul{
  margin:0!important;
  padding-left:18px!important;
  color:#53657d!important;
}
body.public-site.page-index .home-youtube-side li{
  margin:0 0 8px!important;
  font-size:10px!important;
  line-height:1.55!important;
  font-weight:700!important;
}
body.public-site.page-index .home-youtube-side-cta{
  display:inline-flex!important;
  align-self:flex-start!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#ff5757,#e11d48)!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:950!important;
  box-shadow:0 10px 20px rgba(225,29,72,.18)!important;
}
body.public-site.page-index .home-youtube-side-cta:hover{
  background:linear-gradient(135deg,#ff4c4c,#cf1842)!important;
}
body.public-site.page-index .home-youtube-side-note{
  color:#8c98a8!important;
  font-size:10px!important;
  line-height:1.5!important;
  font-weight:800!important;
}
body.public-site.page-index .home-youtube-empty{
  min-height:420px!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:20px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f8fbff 0%,#f4f7fb 100%)!important;
  border:1px dashed #ccd9e9!important;
}
body.public-site.page-index .home-youtube-empty-icon{
  width:64px!important;
  height:64px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #e2eaf3!important;
  box-shadow:0 7px 16px rgba(28,53,87,.07)!important;
  color:#e11d48!important;
  font-size:28px!important;
  font-weight:900!important;
}
body.public-site.page-index .home-youtube-empty strong{
  display:block!important;
  color:#173961!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:950!important;
}
body.public-site.page-index .home-youtube-empty p{
  margin:6px 0 0!important;
  color:#748297!important;
  font-size:10px!important;
  line-height:1.6!important;
  font-weight:700!important;
}

@media(max-width:1100px){
  body.public-site.page-index .home-youtube-body{
    grid-template-columns:1fr!important;
  }
  body.public-site.page-index .home-youtube-side{
    border-left:0!important;
    border-top:1px solid #eee8df!important;
  }
}

@media(max-width:820px){
  body.public-site.page-index .home-youtube-section{
    padding:0 8px 12px!important;
  }
  body.public-site.page-index .home-youtube-card{
    border-radius:17px!important;
  }
  body.public-site.page-index .home-youtube-head{
    gap:8px!important;
    padding:13px 13px 11px!important;
  }
  body.public-site.page-index .home-youtube-head h2{font-size:14px!important}
  body.public-site.page-index .home-youtube-head p{font-size:8.5px!important}
  body.public-site.page-index .home-youtube-head>a{
    margin-top:4px!important;
    padding:10px 12px!important;
    font-size:8.5px!important;
    border-radius:12px!important;
  }
  body.public-site.page-index .home-youtube-frame-wrap{
    padding:10px!important;
  }
  body.public-site.page-index .home-youtube-frame-wrap iframe,
  body.public-site.page-index .home-youtube-empty{
    min-height:210px!important;
    border-radius:15px!important;
  }
  body.public-site.page-index .home-youtube-side{
    gap:10px!important;
    padding:13px!important;
  }
  body.public-site.page-index .home-youtube-chip{font-size:8px!important;padding:6px 10px!important}
  body.public-site.page-index .home-youtube-side li{font-size:8.5px!important;margin-bottom:6px!important}
  body.public-site.page-index .home-youtube-side-cta{min-height:38px!important;padding:0 14px!important;font-size:8.8px!important;border-radius:12px!important}
  body.public-site.page-index .home-youtube-side-note{font-size:8.3px!important}
  body.public-site.page-index .home-youtube-empty{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px!important;
  }
  body.public-site.page-index .home-youtube-empty-icon{width:48px!important;height:48px!important;font-size:23px!important;border-radius:14px!important}
  body.public-site.page-index .home-youtube-empty strong{font-size:10.5px!important}
  body.public-site.page-index .home-youtube-empty p{font-size:8.4px!important}
}


/* =========================================================
   2026-10-01 — YOUTUBE SPLIT LAYOUT + LIVE LINK POPUP
   Homepage media block: equal left/right columns and popup-driven live links.
   ========================================================= */
body.public-site.page-index .home-youtube-card.split-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;
}
body.public-site.page-index .home-youtube-split-left,
body.public-site.page-index .home-youtube-split-right{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body.public-site.page-index .home-youtube-split-right{
  border-left:1px solid #eee8df!important;
  background:linear-gradient(180deg,#fff 0%,#fbfbff 100%)!important;
}
body.public-site.page-index .home-youtube-head.alt-side{
  min-height:111px!important;
}
body.public-site.page-index .home-youtube-split-left .home-youtube-head,
body.public-site.page-index .home-youtube-split-right .home-youtube-head{
  min-height:111px!important;
}
body.public-site.page-index .home-youtube-split-left .home-youtube-frame-wrap{
  flex:1 1 auto!important;
}
body.public-site.page-index .home-youtube-split-right .home-youtube-links-empty,
body.public-site.page-index .home-youtube-split-right .home-live-links-list{
  flex:1 1 auto!important;
}
body.public-site.page-index .home-live-links-list{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:16px!important;
  background:linear-gradient(180deg,#fcfdff 0%,#f8fbff 100%)!important;
}
body.public-site.page-index .home-live-link-item{
  width:100%!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto 12px!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px 14px!important;
  border-radius:16px!important;
  border:1px solid #e2e9f3!important;
  background:#fff!important;
  text-align:left!important;
  box-shadow:0 8px 18px rgba(21,44,76,.05)!important;
  cursor:pointer!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease!important;
}
body.public-site.page-index .home-live-link-item:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(21,44,76,.08)!important;
  border-color:#d2dced!important;
}
body.public-site.page-index .home-live-link-item.platform-youtube{
  background:linear-gradient(180deg,#fff 0%,#fff8fa 100%)!important;
}
body.public-site.page-index .home-live-link-item.platform-facebook{
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;
}
body.public-site.page-index .home-live-link-icon{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  font-size:20px!important;
  font-weight:900!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(20,50,89,.12)!important;
}
body.public-site.page-index .home-live-link-item.platform-youtube .home-live-link-icon{
  background:linear-gradient(135deg,#ff6161,#e11d48)!important;
}
body.public-site.page-index .home-live-link-item.platform-facebook .home-live-link-icon{
  background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;
}
body.public-site.page-index .home-live-link-copy{min-width:0!important;display:flex!important;flex-direction:column!important;gap:4px!important}
body.public-site.page-index .home-live-link-copy b{
  color:#143a70!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:950!important;
}
body.public-site.page-index .home-live-link-copy small{
  color:#728198!important;
  font-size:10px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
body.public-site.page-index .home-live-link-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  color:#22539f!important;
  font-size:9px!important;
  line-height:1.1!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.public-site.page-index .home-live-link-item.platform-youtube .home-live-link-badge{
  background:#ffe9ef!important;
  color:#b11b3e!important;
}
body.public-site.page-index .home-live-link-item em{
  color:#97a6bc!important;
  font-style:normal!important;
  font-size:18px!important;
  font-weight:900!important;
}
body.public-site.page-index .home-youtube-links-empty{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:18px!important;
  margin:16px!important;
  border-radius:18px!important;
  border:1px dashed #ccd9e9!important;
  background:linear-gradient(135deg,#f8fbff 0%,#f5f8fd 100%)!important;
}
body.public-site.page-index .home-youtube-links-empty>span{
  width:56px!important;height:56px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:#fff!important;border:1px solid #e2eaf3!important;color:#255299!important;font-size:26px!important;box-shadow:0 8px 16px rgba(24,51,88,.07)!important;
}
body.public-site.page-index .home-youtube-links-empty strong{display:block!important;color:#173961!important;font-size:13px!important;font-weight:950!important;line-height:1.25!important}
body.public-site.page-index .home-youtube-links-empty p{margin:6px 0 0!important;color:#758196!important;font-size:10px!important;line-height:1.55!important;font-weight:700!important}

body.home-live-modal-open{overflow:hidden!important}
body.public-site .home-live-modal[hidden]{display:none!important}
body.public-site .home-live-modal{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
}
body.public-site .home-live-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(8,18,38,.5)!important;
  backdrop-filter:blur(3px)!important;
}
body.public-site .home-live-modal-dialog{
  position:relative!important;
  width:min(92vw,460px)!important;
  margin:7vh auto 0!important;
  background:#fff!important;
  border-radius:24px!important;
  box-shadow:0 24px 64px rgba(10,22,45,.28)!important;
  padding:24px 22px 20px!important;
}
body.public-site .home-live-modal-close{
  position:absolute!important;
  top:14px!important;right:14px!important;
  width:38px!important;height:38px!important;border-radius:12px!important;border:1px solid #e4eaf2!important;background:#fff!important;color:#163969!important;font-size:22px!important;font-weight:900!important;line-height:1!important;display:grid!important;place-items:center!important;cursor:pointer!important;
}
body.public-site .home-live-modal-kicker{display:inline-block!important;margin-bottom:6px!important;color:#b1750a!important;font-size:10px!important;font-weight:900!important;letter-spacing:.16em!important}
body.public-site .home-live-modal h3{margin:0!important;color:#11396f!important;font-size:20px!important;line-height:1.2!important;font-weight:950!important}
body.public-site .home-live-modal p{margin:8px 0 0!important;color:#6f7f94!important;font-size:12px!important;line-height:1.6!important;font-weight:700!important}
body.public-site .home-live-modal-meta{margin-top:14px!important}
body.public-site .home-live-modal-meta span{display:inline-flex!important;padding:7px 11px!important;border-radius:999px!important;background:#edf4ff!important;color:#1c4a93!important;font-size:10px!important;font-weight:900!important}
body.public-site .home-live-modal-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;margin-top:18px!important}
body.public-site .home-live-modal-actions a,
body.public-site .home-live-modal-actions button{
  min-height:46px!important;
  border-radius:14px!important;
  padding:0 18px!important;
  font-size:12px!important;
  font-weight:900!important;
}
body.public-site .home-live-modal-actions a{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#0d4db0,#153b84)!important;color:#fff!important;box-shadow:0 10px 22px rgba(11,61,141,.18)!important}
body.public-site .home-live-modal-actions button{border:1px solid #d8e1ee!important;background:#fff!important;color:#183a6c!important;cursor:pointer!important}

/* admin live links */
.live-links-admin-list{display:flex;flex-direction:column;gap:14px}
.live-links-admin-item{padding:14px;border-radius:16px;border:1px solid #e2e7f0;background:#fcfdff;box-shadow:0 8px 18px rgba(20,47,81,.04)}
.live-links-admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.live-links-admin-head strong{font-size:14px;color:#153a70}
.btn-remove-live-link{white-space:nowrap}

@media(max-width:1100px){
  body.public-site.page-index .home-youtube-card.split-layout{
    grid-template-columns:1fr!important;
  }
  body.public-site.page-index .home-youtube-split-right{
    border-left:0!important;
    border-top:1px solid #eee8df!important;
  }
}
@media(max-width:820px){
  body.public-site.page-index .home-youtube-split-left .home-youtube-head,
  body.public-site.page-index .home-youtube-split-right .home-youtube-head.alt-side{min-height:auto!important}
  body.public-site.page-index .home-live-links-list{padding:10px!important;gap:10px!important}
  body.public-site.page-index .home-live-link-item{grid-template-columns:38px minmax(0,1fr);gap:10px!important;padding:12px!important}
  body.public-site.page-index .home-live-link-icon{width:38px!important;height:38px!important;border-radius:12px!important;font-size:18px!important}
  body.public-site.page-index .home-live-link-copy b{font-size:11px!important}
  body.public-site.page-index .home-live-link-copy small{font-size:8.5px!important}
  body.public-site.page-index .home-live-link-badge{grid-column:2/3;justify-self:start;padding:6px 9px!important;font-size:7.8px!important}
  body.public-site.page-index .home-live-link-item em{display:none!important}
  body.public-site.page-index .home-youtube-links-empty{grid-template-columns:46px minmax(0,1fr)!important;gap:10px!important;padding:14px!important;margin:10px!important}
  body.public-site.page-index .home-youtube-links-empty>span{width:46px!important;height:46px!important;font-size:22px!important;border-radius:14px!important}
  body.public-site.page-index .home-youtube-links-empty strong{font-size:10.5px!important}
  body.public-site.page-index .home-youtube-links-empty p{font-size:8.5px!important}
  body.public-site .home-live-modal-dialog{width:min(94vw,420px)!important;margin:10vh auto 0!important;padding:20px 16px 16px!important;border-radius:20px!important}
  body.public-site .home-live-modal h3{font-size:16px!important}
  body.public-site .home-live-modal p{font-size:10px!important}
  body.public-site .home-live-modal-actions a,
  body.public-site .home-live-modal-actions button{min-height:42px!important;font-size:10px!important;padding:0 14px!important}
}

.live-links-admin-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
@media(max-width:800px){.live-links-admin-actions{align-items:stretch}.live-links-admin-actions .btn{flex:1 1 180px;justify-content:center}}

/* 2026-10-01 — notification bell read state */
body.public-site .topbar-notification.is-read .topbar-notification-dot{
  display:none!important;
}


/* =========================================================
   2026-10-01 — TOPBAR SOFT BLUE / GOLD BACKGROUND
   Final override: gives the public header a distinct soft background
   without changing its sizing, alignment or responsive behavior.
   ========================================================= */
body.public-site .topbar.public-premium-topbar,
body.public-site.sidebar-collapsed .topbar.public-premium-topbar{
  background:
    radial-gradient(circle at 92% -45%,rgba(227,181,72,.18) 0 92px,transparent 94px),
    linear-gradient(105deg,#edf5ff 0%,#f5f8fe 56%,#fff5e2 100%)!important;
  border-bottom:1px solid #d9e3ef!important;
  box-shadow:0 8px 24px rgba(25,48,78,.07)!important;
}
body.public-site .topbar.public-premium-topbar .topbar-search{
  background:rgba(255,255,255,.94)!important;
  border-color:#d7e1ed!important;
  box-shadow:0 5px 14px rgba(28,50,80,.045)!important;
}
@media(max-width:820px){
  body.public-site .topbar.public-premium-topbar,
  body.public-site.sidebar-collapsed .topbar.public-premium-topbar{
    background:linear-gradient(105deg,#edf5ff 0%,#f5f8fe 62%,#fff4df 100%)!important;
    border-bottom-color:#d9e3ef!important;
    box-shadow:0 5px 16px rgba(25,48,78,.06)!important;
  }
}


/* =========================================================
   2026-10-01 — SIDEBAR INDEPENDENT SCROLL
   Mouse wheel / touch inside the left menu scrolls only that menu.
   The page on the right must not scroll-chain while the pointer is there.
   ========================================================= */
body.public-site .sidebar.premium-sidebar{
  overscroll-behavior-y:contain!important;
}
body.public-site .sidebar.premium-sidebar .sidebar-menu{
  overscroll-behavior-y:contain!important;
  overscroll-behavior-x:none!important;
  scrollbar-gutter:stable!important;
}

@media(min-width:821px){
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    overflow:hidden!important;
  }
  body.public-site .sidebar.premium-sidebar .sidebar-brand,
  body.public-site .sidebar.premium-sidebar .sidebar-school-return,
  body.public-site .sidebar.premium-sidebar .sidebar-footer{
    flex:0 0 auto!important;
  }
  body.public-site .sidebar.premium-sidebar .sidebar-menu{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

@media(max-width:820px){
  body.public-site .sidebar.premium-sidebar,
  body.public-site.sidebar-collapsed .sidebar.premium-sidebar{
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }
  body.public-site .sidebar.premium-sidebar .sidebar-menu{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
  }
}

/* =========================================================
   2026-10-01 — HOME DASHBOARD CONTENT ORDER + LIVE NOW
   Compact announcements first, two larger live panels, discovery before media.
   ========================================================= */
body.public-site.page-index .premium-home-dashboard>.container{
  width:100%!important;
  max-width:none!important;
}
body.public-site.page-index .home-news-compact-card{
  margin-bottom:14px!important;
  min-height:0!important;
  border-radius:18px!important;
}
body.public-site.page-index .home-news-compact-card .premium-card-head{
  min-height:48px!important;
}
body.public-site.page-index .home-news-strip-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:10px 12px 12px!important;
  background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)!important;
}
body.public-site.page-index .home-news-strip-item{
  min-width:0!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 10px!important;
  gap:10px!important;
  align-items:center!important;
  padding:9px 11px!important;
  border:1px solid #ece5da!important;
  border-radius:14px!important;
  background:#fff!important;
  text-decoration:none!important;
  box-shadow:0 6px 14px rgba(39,45,57,.035)!important;
}
body.public-site.page-index .home-news-strip-item:hover{
  border-color:#e2c997!important;
  box-shadow:0 9px 18px rgba(60,48,24,.07)!important;
}
body.public-site.page-index .home-news-strip-icon{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,#fff4de,#ffe3af)!important;
  font-size:19px!important;
}
body.public-site.page-index .home-news-strip-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
body.public-site.page-index .home-news-strip-copy small{
  color:#8793a5!important;
  font-size:9px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.public-site.page-index .home-news-strip-copy strong{
  color:#153966!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.public-site.page-index .home-news-strip-item>em{
  color:#a2afbf!important;
  font-style:normal!important;
  font-size:18px!important;
  font-weight:900!important;
}
body.public-site.page-index .home-news-strip-empty{
  grid-column:1/-1!important;
  min-height:62px!important;
  display:grid!important;
  place-items:center!important;
  border:1px dashed #d9e1eb!important;
  border-radius:14px!important;
  color:#8390a3!important;
  font-size:11px!important;
  font-weight:800!important;
  background:#fbfdff!important;
}

body.public-site.page-index .premium-home-main-grid.home-primary-dashboard-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}
body.public-site.page-index .home-primary-dashboard-grid>.premium-dashboard-card{
  min-height:500px!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board,
body.public-site.page-index .home-primary-dashboard-grid .live-now-list{
  max-height:430px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin!important;
}
body.public-site.page-index .live-now-summary-card .premium-card-head{
  background:linear-gradient(180deg,#fffefa 0%,#fff 100%)!important;
}
body.public-site.page-index .live-now-list .premium-schedule-row{
  min-height:68px!important;
}
body.public-site.page-index .live-now-list .schedule-sport-icon.live{
  color:#1eaa73!important;
}
body.public-site.page-index .live-now-list .schedule-status.live{
  background:#e7f8f0!important;
  color:#11815a!important;
  border:1px solid #c2ead8!important;
}

body.public-site.page-index .home-discovery-section{
  padding-top:8px!important;
  padding-bottom:18px!important;
}
body.public-site.page-index .home-sports-network-section{
  padding:0 18px 34px!important;
  background:linear-gradient(180deg,rgba(248,246,240,.28) 0%,rgba(248,246,240,.58) 100%)!important;
}
body.public-site.page-index .home-sports-network-section>.container{
  width:100%!important;
  max-width:none!important;
}
body.public-site.page-index .home-sports-network-section .home-sports-network-card{
  margin-top:0!important;
}

@media(max-width:1100px) and (min-width:821px){
  body.public-site.page-index .premium-home-main-grid.home-primary-dashboard-grid{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }
  body.public-site.page-index .home-primary-dashboard-grid>.premium-dashboard-card{
    min-height:460px!important;
  }
}

@media(max-width:820px){
  body.public-site.page-index .home-news-compact-card{
    margin-bottom:10px!important;
    border-radius:16px!important;
  }
  body.public-site.page-index .home-news-strip-list{
    display:flex!important;
    grid-template-columns:none!important;
    gap:8px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding:9px!important;
  }
  body.public-site.page-index .home-news-strip-item{
    flex:0 0 min(84vw,330px)!important;
    min-height:60px!important;
    grid-template-columns:36px minmax(0,1fr) 8px!important;
    gap:8px!important;
    padding:8px 9px!important;
    scroll-snap-align:start!important;
  }
  body.public-site.page-index .home-news-strip-icon{
    width:36px!important;
    height:36px!important;
    font-size:17px!important;
    border-radius:11px!important;
  }
  body.public-site.page-index .home-news-strip-copy small{font-size:8px!important}
  body.public-site.page-index .home-news-strip-copy strong{font-size:10.5px!important}
  body.public-site.page-index .premium-home-main-grid.home-primary-dashboard-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.public-site.page-index .home-primary-dashboard-grid>.premium-dashboard-card{
    min-height:0!important;
  }
  body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board,
  body.public-site.page-index .home-primary-dashboard-grid .live-now-list{
    max-height:360px!important;
  }
  body.public-site.page-index .live-now-list .premium-schedule-row{
    min-height:62px!important;
  }
  body.public-site.page-index .home-sports-network-section{
    padding:0 8px 24px!important;
  }
}


/* =========================================================
   2026-10-01 — HOMEPAGE NEWS CAROUSEL + COMPACT LIVE PANELS
   Five image announcements in a clean horizontal rail; compact 3–4 row live panels.
   ========================================================= */
body.public-site.page-index .home-news-head{
  align-items:center!important;
}
body.public-site.page-index .home-news-actions{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex:none!important;
}
body.public-site.page-index .home-news-actions>a{
  margin:0!important;
}
body.public-site.page-index .home-news-scroll-btn{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid #e7d5b3!important;
  border-radius:10px!important;
  background:#fff8ec!important;
  color:#9b6408!important;
  font-size:19px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
body.public-site.page-index .home-news-scroll-btn:hover{
  background:#ffedcf!important;
  border-color:#ddbd7b!important;
}
body.public-site.page-index .home-news-strip-list{
  display:flex!important;
  grid-template-columns:none!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding:11px 12px 13px!important;
  scrollbar-width:none!important;
}
body.public-site.page-index .home-news-strip-list::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
body.public-site.page-index .home-news-strip-item{
  flex:0 0 min(31vw,390px)!important;
  min-width:260px!important;
  min-height:98px!important;
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr) 10px!important;
  gap:11px!important;
  align-items:center!important;
  padding:8px!important;
  scroll-snap-align:start!important;
}
body.public-site.page-index .home-news-strip-thumb{
  width:112px!important;
  height:80px!important;
  min-width:112px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,#fff4de,#ffe3af)!important;
  border:1px solid #efe4d3!important;
  font-size:22px!important;
}
body.public-site.page-index .home-news-strip-thumb img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
}
body.public-site.page-index .home-news-strip-copy small{
  font-size:9px!important;
}
body.public-site.page-index .home-news-strip-copy strong{
  font-size:12.5px!important;
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}

/* Keep the live dashboard intentionally compact: around 3–4 rows are visible. */
body.public-site.page-index .premium-home-main-grid.home-primary-dashboard-grid{
  align-items:start!important;
}
body.public-site.page-index .home-primary-dashboard-grid>.premium-dashboard-card{
  min-height:0!important;
  height:auto!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board,
body.public-site.page-index .home-primary-dashboard-grid .live-now-list{
  height:auto!important;
  max-height:292px!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:thin!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-dashboard-empty{
  min-height:245px!important;
}
body.public-site.page-index .live-now-list .premium-schedule-row{
  min-height:64px!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board::-webkit-scrollbar,
body.public-site.page-index .home-primary-dashboard-grid .live-now-list::-webkit-scrollbar{
  width:7px!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board::-webkit-scrollbar-track,
body.public-site.page-index .home-primary-dashboard-grid .live-now-list::-webkit-scrollbar-track{
  background:transparent!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board::-webkit-scrollbar-thumb,
body.public-site.page-index .home-primary-dashboard-grid .live-now-list::-webkit-scrollbar-thumb{
  background:#b9c5d4!important;
  border-radius:999px!important;
}

@media(max-width:1180px) and (min-width:821px){
  body.public-site.page-index .home-news-strip-item{
    flex-basis:min(43vw,390px)!important;
  }
}
@media(max-width:820px){
  body.public-site.page-index .home-news-head{
    gap:8px!important;
  }
  body.public-site.page-index .home-news-actions{
    gap:5px!important;
  }
  body.public-site.page-index .home-news-scroll-btn{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    border-radius:9px!important;
    font-size:17px!important;
  }
  body.public-site.page-index .home-news-strip-list{
    padding:9px!important;
    gap:8px!important;
  }
  body.public-site.page-index .home-news-strip-item{
    flex:0 0 min(86vw,340px)!important;
    min-width:270px!important;
    min-height:88px!important;
    grid-template-columns:92px minmax(0,1fr) 8px!important;
    gap:9px!important;
    padding:7px!important;
  }
  body.public-site.page-index .home-news-strip-thumb{
    width:92px!important;
    min-width:92px!important;
    height:70px!important;
    border-radius:10px!important;
  }
  body.public-site.page-index .home-news-strip-copy small{font-size:8px!important}
  body.public-site.page-index .home-news-strip-copy strong{font-size:10.5px!important}
  body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board,
  body.public-site.page-index .home-primary-dashboard-grid .live-now-list{
    max-height:272px!important;
  }
  body.public-site.page-index .home-primary-dashboard-grid .home-dashboard-empty{
    min-height:205px!important;
  }
}


/* =========================================================
   2026-10-01 — LIVE PANEL SCROLL CHAIN FIX
   Inner live panels scroll only while they have room to scroll.
   At their top/bottom (or when empty), wheel/touch continues the page normally.
   ========================================================= */
body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board,
body.public-site.page-index .home-primary-dashboard-grid .live-now-list{
  overscroll-behavior-y:auto!important;
  overscroll-behavior-x:none!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}


/* =========================================================
   2026-10-01 — PRIMARY LIVE CARDS EQUAL HEIGHT FINAL
   Keep both homepage live cards the same height while preserving inner scrolling.
   ========================================================= */
body.public-site.page-index .premium-home-main-grid.home-primary-dashboard-grid{
  align-items:stretch!important;
}
body.public-site.page-index .home-primary-dashboard-grid>.premium-dashboard-card{
  box-sizing:border-box!important;
  height:352px!important;
  min-height:352px!important;
  max-height:352px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-primary-dashboard-grid>.premium-dashboard-card>.premium-card-head{
  flex:0 0 auto!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-live-score-board,
body.public-site.page-index .home-primary-dashboard-grid .live-now-list{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y!important;
}
body.public-site.page-index .home-primary-dashboard-grid .home-dashboard-empty{
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
}

@media(max-width:820px){
  body.public-site.page-index .home-primary-dashboard-grid>.premium-dashboard-card{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  body.public-site.page-index .home-primary-dashboard-grid .home-dashboard-empty{
    min-height:0!important;
  }
}

/* =====================================================
   ROLE PORTAL THEME REFRESH (Admin / School User)
   Distinct looks that still harmonize with the homepage.
   ===================================================== */

/* ---------- Admin portal : royal navy + gold ---------- */
body.admin-body:not(.committee-body){
    background:
        radial-gradient(circle at top right, rgba(255,214,92,.16), transparent 22%),
        linear-gradient(180deg,#f7f5ef 0%,#f3f6fb 100%);
}
body.admin-body:not(.committee-body) .admin-sidebar{
    background:
        radial-gradient(circle at 18% 15%, rgba(255,255,255,.10), transparent 20%),
        radial-gradient(circle at 84% 78%, rgba(255,214,92,.10), transparent 26%),
        linear-gradient(180deg,#072253 0%,#0c3679 56%,#0a2557 100%);
    border-right:1px solid rgba(255,255,255,.08);
    box-shadow:18px 0 46px rgba(7,34,83,.22);
}
body.admin-body:not(.committee-body) .portal-home-return,
body.admin-body:not(.committee-body) .portal-sidebar-close{
    border-color:rgba(255,214,92,.28);
    background:rgba(255,255,255,.12);
}
body.admin-body:not(.committee-body) .portal-home-return:hover,
body.admin-body:not(.committee-body) .portal-sidebar-close:hover{
    background:rgba(255,255,255,.19);
}
body.admin-body:not(.committee-body) .portal-identity{
    border-color:rgba(255,214,92,.16);
    background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,214,92,.12));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
body.admin-body:not(.committee-body) .portal-identity span{color:rgba(255,237,192,.84)}
body.admin-body:not(.committee-body) .admin-menu{gap:8px}
body.admin-body:not(.committee-body) .admin-menu a{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border:1px solid transparent;
    border-radius:15px;
    font-weight:700;
    font-size:14px;
    transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
body.admin-body:not(.committee-body) .admin-menu a:hover{
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.07);
    transform:translateX(2px);
}
body.admin-body:not(.committee-body) .admin-menu a.active{
    color:#fff;
    background:linear-gradient(135deg,rgba(255,214,92,.23),rgba(255,255,255,.13));
    border-color:rgba(255,214,92,.28);
    box-shadow:inset 4px 0 0 #ffd65a,0 14px 24px rgba(6,22,54,.18);
}
body.admin-body:not(.committee-body) .admin-topbar{
    background:rgba(255,255,255,.90);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(7,34,83,.08);
    box-shadow:0 12px 36px rgba(15,33,69,.06);
}
body.admin-body:not(.committee-body) .admin-topbar strong{color:#0b2d67;font-size:20px}
body.admin-body:not(.committee-body) .admin-mobile-toggle{background:linear-gradient(135deg,#0b2d67,#11479d);box-shadow:0 10px 20px rgba(11,45,103,.18)}
body.admin-body:not(.committee-body) .admin-panel,
body.admin-body:not(.committee-body) .admin-summary-card{
    border:1px solid #e4eaf3;
    border-radius:22px;
    box-shadow:0 16px 38px rgba(15,33,69,.06);
}
body.admin-body:not(.committee-body) .admin-panel{
    background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
}
body.admin-body:not(.committee-body) .admin-panel h2{font-size:24px;color:#0b2d67}
body.admin-body:not(.committee-body) .admin-summary-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
}
body.admin-body:not(.committee-body) .admin-summary-card::after{
    content:"";
    position:absolute;
    right:-22px;
    bottom:-22px;
    width:92px;
    height:92px;
    border-radius:50%;
    background:rgba(26,79,160,.07);
}
body.admin-body:not(.committee-body) .admin-summary-card.highlight{
    background:linear-gradient(135deg,#fff9dc 0%,#fffef7 100%);
    border-color:#f1d373;
}
body.admin-body:not(.committee-body) .admin-summary-card span{font-size:13px;color:#6a778c;font-weight:700}
body.admin-body:not(.committee-body) .admin-summary-card strong{font-size:40px;color:#0b2d67}
body.admin-body:not(.committee-body) .portal-system-switch summary{
    border-radius:13px;
    border:1px solid #d9e4f3;
    background:#f6f9ff;
}
body.admin-body:not(.committee-body) .portal-topbar-logout{
    border-color:#f2d8d8;
    background:#fff6f6;
}

/* ---------- School portal : jade + sky ---------- */
body.user-body{
    background:
        radial-gradient(circle at top left, rgba(35,170,120,.12), transparent 22%),
        linear-gradient(180deg,#f6faf8 0%,#f2f7fb 100%);
}
body.user-body .user-sidebar{
    background:
        radial-gradient(circle at 16% 12%, rgba(255,255,255,.10), transparent 18%),
        radial-gradient(circle at 84% 86%, rgba(100,219,182,.12), transparent 26%),
        linear-gradient(180deg,#0f4d3d 0%,#166756 56%,#0e4637 100%);
    border-right:1px solid rgba(255,255,255,.08);
    box-shadow:18px 0 44px rgba(15,77,61,.18);
}
body.user-body .portal-home-return,
body.user-body .portal-sidebar-close{
    border-color:rgba(176,244,223,.22);
    background:rgba(255,255,255,.12);
}
body.user-body .portal-identity{
    border-color:rgba(176,244,223,.16);
    background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(176,244,223,.09));
}
body.user-body .portal-identity span{color:rgba(223,255,246,.78)}
body.user-body .user-menu{gap:8px}
body.user-body .user-menu a{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border:1px solid transparent;
    border-radius:15px;
    font-weight:700;
    font-size:14px;
    transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
body.user-body .user-menu a:hover{
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.08);
    transform:translateX(2px);
}
body.user-body .user-menu a.active{
    background:linear-gradient(135deg,rgba(182,245,225,.25),rgba(255,255,255,.13));
    border-color:rgba(182,245,225,.28);
    box-shadow:inset 4px 0 0 #ffdd6c,0 14px 24px rgba(10,47,36,.16);
}
body.user-body .user-topbar{
    background:rgba(255,255,255,.90);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(15,77,61,.08);
    box-shadow:0 12px 36px rgba(15,33,69,.05);
}
body.user-body .user-topbar strong{color:#145241;font-size:20px}
body.user-body .user-mobile-toggle{background:linear-gradient(135deg,#145241,#1f7c64);box-shadow:0 10px 20px rgba(20,82,65,.16)}
body.user-body .user-welcome-card{
    border:1px solid #dcefe5;
    border-radius:24px;
    background:
        radial-gradient(circle at right top, rgba(127,222,187,.18), transparent 30%),
        linear-gradient(135deg,#ffffff 0%,#f7fcf9 100%);
    box-shadow:0 18px 40px rgba(18,75,58,.06);
}
body.user-body .user-panel,
body.user-body .user-summary-card{
    border-radius:22px;
    border:1px solid #e1ebe6;
    box-shadow:0 14px 34px rgba(18,75,58,.05);
}
body.user-body .user-summary-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#ffffff 0%,#f8fdfb 100%);
}
body.user-body .user-summary-card::after{
    content:"";
    position:absolute;
    right:-18px;
    bottom:-18px;
    width:82px;
    height:82px;
    border-radius:50%;
    background:rgba(28,123,96,.07);
}
body.user-body .user-summary-card span{font-size:13px;color:#60757a;font-weight:700}
body.user-body .user-summary-card strong{font-size:38px;color:#145241}
body.user-body .user-panel h2,
body.user-body .user-welcome-card h1,
body.user-body .user-date-heading,
body.user-body .user-section-title{color:#145241}
body.user-body .user-panel-heading>a:not(.btn){color:#1f7c64}
body.user-body .portal-topbar-logout{
    border-color:#cfe6da;
    background:#effaf5;
    color:#16624d;
}
body.user-body .portal-topbar-logout:hover{
    background:#e6f7ef;
    border-color:#c0dbc8;
    color:#125742;
}

/* ---------- Shared portal polish ---------- */
.admin-panel,
.user-panel,
.admin-summary-card,
.user-summary-card,
.committee-stat-card,
.committee-action-grid>a{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.admin-summary-card:hover,
.user-summary-card:hover,
.committee-stat-card:hover,
.committee-action-grid>a:hover{
    transform:translateY(-2px);
}
.portal-topbar-title strong{letter-spacing:-.02em}
.portal-topbar-title span{line-height:1.5}
.admin-panel table,
.user-panel table{background:#fff;border-radius:16px;overflow:hidden}
.admin-panel th,
.user-panel th{background:#f8fafc;color:#4f6076}
.admin-panel td,
.user-panel td{vertical-align:middle}
.portal-system-switch summary,
.portal-topbar-logout,
.small-action,
.btn{
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}
.small-action:hover,
.btn:hover,
.portal-system-switch summary:hover,
.portal-topbar-logout:hover{transform:translateY(-1px)}
@media(max-width:820px){
    body.admin-body:not(.committee-body) .admin-menu a,
    body.user-body .user-menu a{min-height:48px;font-size:13px}
    body.admin-body:not(.committee-body) .admin-topbar strong,
    body.user-body .user-topbar strong{font-size:18px}
    body.admin-body:not(.committee-body) .admin-summary-card strong,
    body.user-body .user-summary-card strong{font-size:32px}
}

/* === Role dashboard refresh + split login === */
.admin-login-page{background:radial-gradient(circle at 10% 10%,rgba(255,214,90,.22),transparent 28%),radial-gradient(circle at 85% 18%,rgba(74,144,226,.22),transparent 26%),linear-gradient(135deg,#071b45,#0f4fb7)}
.login-shell.login-shell-split{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);gap:24px;align-items:stretch}
.login-showcase{position:relative;overflow:hidden;border-radius:30px;padding:34px;display:flex;align-items:flex-end;min-height:620px;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.18)}
.login-showcase:before,.login-showcase:after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.login-showcase:before{width:380px;height:380px;right:-120px;top:-120px;background:rgba(255,255,255,.12)}
.login-showcase:after{width:260px;height:260px;left:-90px;bottom:-90px;background:rgba(255,255,255,.08)}
.login-showcase-admin{background:linear-gradient(160deg,#092457,#0d4fb8 50%,#0a7dd9)}
.login-showcase-committee{background:linear-gradient(160deg,#2f145c,#6d3ce2 52%,#a55df6)}
.login-showcase-school{background:linear-gradient(160deg,#123927,#238851 52%,#4fb882)}
.login-showcase-inner{position:relative;z-index:1;max-width:540px}
.login-showcase-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:800;letter-spacing:.14em}
.login-showcase h2{margin:18px 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.12;color:#fff}
.login-showcase p{margin:0;color:rgba(255,255,255,.86);font-size:16px;line-height:1.7}
.login-feature-list{display:grid;gap:14px;margin-top:24px}
.login-feature-item{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.login-feature-item strong{display:block;font-size:16px;color:#fff}
.login-feature-item span{display:block;margin-top:6px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.55}
.login-role-switches{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.login-role-switches a{text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);padding:10px 14px;border-radius:999px;font-weight:700;font-size:13px}
.login-role-switches a:hover{background:rgba(255,255,255,.18)}
.login-card.login-card-compact{height:100%;display:flex;flex-direction:column;justify-content:center}
.dashboard-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f6f9ff);border:1px solid #e3eaf5;border-radius:28px;padding:28px 30px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:18px;box-shadow:0 16px 38px rgba(11,42,93,.07);margin-bottom:18px}
.dashboard-hero:before{content:"";position:absolute;right:-55px;top:-55px;width:180px;height:180px;border-radius:50%;background:rgba(13,79,184,.07)}
.dashboard-hero:after{content:"";position:absolute;left:-45px;bottom:-45px;width:150px;height:150px;border-radius:50%;background:rgba(255,214,90,.12)}
.admin-body .dashboard-hero>*,.user-body .dashboard-hero>*{position:relative;z-index:1}.committee-body .dashboard-hero>*{position:relative;z-index:1}
.dashboard-eyebrow{display:inline-block;font-size:12px;letter-spacing:.16em;font-weight:800;color:#b57a12;text-transform:uppercase;margin-bottom:6px}
.dashboard-hero h1{margin:0;color:#082b68;font-size:clamp(28px,4vw,40px);line-height:1.12}
.dashboard-hero p{margin:10px 0 0;color:#5d6b84;line-height:1.7;max-width:760px}
.dashboard-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.dashboard-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#eef5ff;border:1px solid #d7e5ff;color:#0f4fb7;font-weight:700;font-size:13px}
.dashboard-chip.is-live{background:#eaf9f1;border-color:#c8eed8;color:#157347}
.dashboard-chip.is-warn{background:#fff6e7;border-color:#f5d694;color:#a56d0f}
.dashboard-hero-side{display:grid;grid-template-columns:1fr;gap:14px}
.hero-kpi-card{background:#fff;border:1px solid #e4ebf5;border-radius:22px;padding:20px;box-shadow:0 10px 25px rgba(11,42,93,.05)}
.hero-kpi-card span{display:block;color:#6c7991;font-size:13px}
.hero-kpi-card strong{display:block;margin-top:8px;color:#082b68;font-size:38px;line-height:1}
.hero-kpi-card small{display:block;margin-top:8px;color:#7f8aa1;font-size:13px}
.dashboard-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}
.role-overview-card{border-radius:24px}
.panel-heading-stack{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}.panel-heading-stack h2{margin:0;color:#082b68}.panel-heading-stack .muted{margin:0}
.quick-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quick-link-card{display:flex;gap:14px;align-items:flex-start;text-decoration:none;padding:16px;border-radius:20px;background:#f8fbff;border:1px solid #e2eaf6;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.quick-link-card:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(11,42,93,.08);border-color:#bdd1f5}
.quick-link-icon{flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:#e8f1ff;color:#0d4fb8;display:grid;place-items:center;font-size:22px}
.quick-link-card strong{display:block;color:#082b68;font-size:15px}
.quick-link-card span{display:block;margin-top:6px;color:#667085;font-size:13px;line-height:1.55}
.status-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.status-list-item{background:#f8fbff;border:1px solid #e2eaf6;border-radius:20px;padding:16px}
.status-list-item strong{display:block;color:#082b68;font-size:28px;line-height:1.05}
.status-list-item span{display:block;margin-top:8px;color:#667085;font-size:13px;line-height:1.5}
.mini-info-banner{margin-top:16px;padding:14px 16px;border-radius:18px;background:#fff8e8;border:1px solid #f3dd9f;color:#7a5a00;line-height:1.6}
.mini-info-banner strong{color:#8d5e00}.mini-info-banner.is-positive{background:#edf8f1;border-color:#cce8d7;color:#10613b}.mini-info-banner.is-positive strong{color:#10613b}
.mini-list-wrap{display:grid;gap:12px}
.mini-list-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid #e2eaf6;background:#f9fbff;border-radius:18px}
.mini-list-item strong{display:block;color:#082b68;font-size:15px}
.mini-list-item span{display:block;margin-top:4px;color:#667085;font-size:13px;line-height:1.5}
.admin-dashboard-hero .hero-kpi-card:first-child{background:linear-gradient(135deg,#eef5ff,#fff)}
.committee-dashboard-hero:before{background:rgba(122,73,255,.08)}
.committee-dashboard-hero .hero-kpi-card:first-child{background:linear-gradient(135deg,#f4efff,#fff)}
.school-dashboard-hero .hero-kpi-card:first-child{background:linear-gradient(135deg,#eef9f1,#fff)}
.committee-action-grid a{border-radius:20px}
.user-panel.role-overview-card,.admin-panel.role-overview-card{box-shadow:0 12px 30px rgba(11,42,93,.05)}
.small-action.success{background:#eaf9f1;color:#157347}

@media (max-width: 1100px){
  .login-shell.login-shell-split{grid-template-columns:1fr}
  .login-showcase{min-height:0;padding:26px}
  .dashboard-grid-2,.quick-link-grid,.status-list-grid{grid-template-columns:1fr}
  .dashboard-hero{grid-template-columns:1fr}
}
@media (max-width: 780px){
  .login-showcase{display:none}
  .dashboard-hero{padding:22px 18px;border-radius:24px}
  .dashboard-hero h1{font-size:28px}
  .mini-list-item{flex-direction:column;align-items:flex-start}
}
@media (max-width: 640px){
  .dashboard-chip-row{gap:8px}
  .dashboard-chip{width:100%;justify-content:center}
  .hero-kpi-card strong{font-size:32px}
}

/* role-specific shell polish */
.admin-body{background:#f4f6fb}
.user-body{background:#f6f9f7}
.committee-body{background:#f7f4ff}
.user-body .user-sidebar{background:linear-gradient(180deg,#143f2b,#226645 55%,#2f8f5f)}
.user-body .user-topbar{border-bottom-color:#dde8e1;box-shadow:0 6px 18px rgba(15,46,28,.06)}
.user-body .portal-topbar-title strong{color:#165134}.user-body .portal-home-return{border-color:rgba(255,255,255,.22)}
.committee-body .committee-sidebar,.committee-body .admin-sidebar.committee-sidebar{background:linear-gradient(180deg,#2f145c,#5b29bb 55%,#7a49ff)}
.committee-body .admin-topbar{border-bottom-color:#e8dffb;box-shadow:0 6px 20px rgba(67,33,132,.08)}
.committee-body .portal-topbar-title strong{color:#4e2ca0}
.admin-body .portal-identity,.user-body .portal-identity,.committee-body .portal-identity{padding:16px 14px;border-radius:18px;margin-top:12px;color:#fff;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.admin-body .admin-menu a,.user-body .user-menu a,.committee-body .admin-menu a{padding:12px 14px;border-radius:14px;font-weight:700}
.admin-body .admin-menu a.active,.user-body .user-menu a.active,.committee-body .admin-menu a.active{box-shadow:inset 4px 0 0 #ffd65a,0 8px 18px rgba(0,0,0,.12)}
.admin-body .portal-topbar-logout,.user-body .portal-topbar-logout,.committee-body .portal-topbar-logout{border-radius:999px;background:#0c2d67;color:#fff;padding:11px 16px;text-decoration:none;box-shadow:0 10px 18px rgba(13,44,103,.18)}
.user-body .portal-topbar-logout{background:#1d6a46}.committee-body .portal-topbar-logout{background:#6732d8}

/* split login width correction */
.login-shell.login-shell-split{
    max-width:1180px!important;
    width:min(1180px,100%)!important;
    margin:auto!important;
}
@media(max-width:780px){
    .login-shell.login-shell-split{
        max-width:420px!important;
        width:100%!important;
        grid-template-columns:1fr!important;
    }
}

/* === Ambient blur backdrop for homepage hero + topbar === */
body.public-site.page-index{
    position:relative;
    background:
        linear-gradient(180deg,#edf3f3 0%, #f5f7f8 220px, #f8fafb 520px, #f7f8fa 100%)!important;
}
body.public-site.page-index::before,
body.public-site.page-index::after{
    content:"";
    position:fixed;
    pointer-events:none;
    z-index:0;
    border-radius:999px;
    filter:blur(72px);
    opacity:.52;
}
body.public-site.page-index::before{
    top:18px;
    left:4%;
    width:min(520px,36vw);
    height:min(320px,26vw);
    background:radial-gradient(circle at 40% 45%, rgba(33,95,75,.26), rgba(33,95,75,0) 68%);
}
body.public-site.page-index::after{
    top:32px;
    right:5%;
    width:min(500px,34vw);
    height:min(300px,24vw);
    background:radial-gradient(circle at 50% 50%, rgba(216,119,76,.22), rgba(62,118,178,0) 72%);
}
body.public-site.page-index .topbar,
body.public-site.page-index .page-content,
body.public-site.page-index .site-footer{position:relative;z-index:1}
body.public-site.page-index .topbar.public-premium-topbar,
body.public-site.page-index.hybrid-navigation .topbar.public-premium-topbar{
    background:rgba(255,255,255,.76)!important;
    -webkit-backdrop-filter:blur(22px) saturate(155%)!important;
    backdrop-filter:blur(22px) saturate(155%)!important;
    box-shadow:0 14px 30px rgba(28,51,42,.09), 0 2px 6px rgba(21,42,35,.04)!important;
}
body.public-site.page-index .hero-visual.premium-home-hero,
body.public-site.page-index .premium-home-hero{
    position:relative;
    isolation:isolate;
    overflow:visible;
}
body.public-site.page-index .premium-home-hero::before{
    content:"";
    position:absolute;
    inset:-26px -20px auto;
    height:calc(100% + 46px);
    border-radius:40px;
    background:
        radial-gradient(circle at 18% 44%, rgba(27,104,78,.18), transparent 30%),
        radial-gradient(circle at 82% 34%, rgba(216,119,76,.18), transparent 28%),
        radial-gradient(circle at 52% 86%, rgba(64,110,171,.14), transparent 32%);
    filter:blur(34px);
    opacity:.92;
    z-index:-1;
}
body.public-site.page-index .premium-home-hero .hero-slides{
    position:relative;
    z-index:1;
    background:rgba(255,255,255,.7)!important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
body.public-site.page-index .premium-home-hero .hero-slide,
body.public-site.page-index .premium-home-hero .uploaded-hero-slide{
    border-radius:30px!important;
    overflow:hidden;
}
@media (max-width: 1100px){
    body.public-site.page-index::before{
        top:34px;left:-18px;width:260px;height:220px;opacity:.44;
    }
    body.public-site.page-index::after{
        top:72px;right:-12px;width:240px;height:200px;opacity:.4;
    }
    body.public-site.page-index .premium-home-hero::before{
        inset:-18px -8px auto;
        border-radius:28px;
        filter:blur(24px);
        opacity:.88;
    }
}
@media (max-width: 640px){
    body.public-site.page-index .topbar.public-premium-topbar,
    body.public-site.page-index.hybrid-navigation .topbar.public-premium-topbar{
        background:rgba(255,255,255,.82)!important;
        -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
        backdrop-filter:blur(18px) saturate(145%)!important;
    }
    body.public-site.page-index .premium-home-hero::before{
        inset:-12px 0 auto;
        height:calc(100% + 24px);
        filter:blur(18px);
        opacity:.82;
    }
}

/* === FINAL HERO FRAME + NON-GREY AMBIENT BACKDROP FIX === */
body.public-site.page-index{
  background:
    linear-gradient(180deg,#eef8ff 0 140px,#f8fbff 320px,#f8fbfb 100%)!important;
}
/* Remove dull grey wash and replace with sky/grass ambient blur */
body.public-site.page-index::before,
body.public-site.page-index::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:0;
  border-radius:999px;
  filter:blur(78px);
  opacity:.85;
}
body.public-site.page-index::before{
  top:-12px;
  left:-3%;
  width:min(620px,44vw);
  height:min(300px,24vw);
  background:
    radial-gradient(circle at 34% 44%, rgba(122,208,255,.34), rgba(122,208,255,0) 42%),
    radial-gradient(circle at 62% 65%, rgba(72,168,114,.28), rgba(72,168,114,0) 45%),
    linear-gradient(180deg, rgba(198,236,255,.38), rgba(219,247,230,.24));
}
body.public-site.page-index::after{
  top:46px;
  right:-2%;
  width:min(600px,42vw);
  height:min(320px,26vw);
  background:
    radial-gradient(circle at 44% 45%, rgba(78,177,228,.22), rgba(78,177,228,0) 44%),
    radial-gradient(circle at 52% 76%, rgba(104,191,96,.22), rgba(104,191,96,0) 42%),
    radial-gradient(circle at 80% 48%, rgba(255,186,113,.18), rgba(255,186,113,0) 30%);
}
body.public-site.page-index .topbar.public-premium-topbar,
body.public-site.page-index.hybrid-navigation .topbar.public-premium-topbar{
  background:rgba(255,255,255,.82)!important;
  -webkit-backdrop-filter:blur(20px) saturate(150%)!important;
  backdrop-filter:blur(20px) saturate(150%)!important;
}
body.public-site.page-index .premium-home-hero::before{
  inset:-22px -18px auto!important;
  height:calc(100% + 40px)!important;
  border-radius:42px!important;
  background:
    radial-gradient(circle at 14% 28%, rgba(146,220,255,.30), transparent 26%),
    radial-gradient(circle at 18% 82%, rgba(101,184,97,.22), transparent 24%),
    radial-gradient(circle at 86% 24%, rgba(146,218,255,.25), transparent 24%),
    radial-gradient(circle at 82% 84%, rgba(104,195,109,.20), transparent 22%),
    linear-gradient(180deg, rgba(221,244,255,.32), rgba(227,247,235,.20) 70%, rgba(255,255,255,0));
  filter:blur(32px)!important;
  opacity:.96!important;
}
/* Keep original hero frame size; only improve image fit */
body.public-site.page-index .home-image-hero,
body.public-site.page-index .premium-home-hero{
  height:auto!important;
  min-height:0!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .premium-home-hero .hero-slides{
  height:clamp(410px,35vw,535px)!important;
  min-height:410px!important;
  max-height:535px!important;
  background:rgba(255,255,255,.55)!important;
  border-radius:30px!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-image-hero .hero-slide,
body.public-site.page-index .premium-home-hero .hero-slide,
body.public-site.page-index .home-image-hero picture,
body.public-site.page-index .premium-home-hero picture{
  width:100%!important;
  height:100%!important;
  display:block!important;
}
body.public-site.page-index .home-image-hero .hero-slide img,
body.public-site.page-index .premium-home-hero .hero-slide img,
body.public-site.page-index .home-image-hero .uploaded-hero-slide img,
body.public-site.page-index .premium-home-hero .uploaded-hero-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:transparent!important;
  filter:none!important;
}
@media (max-width: 1100px){
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:1916 / 821!important;
  }
  body.public-site.page-index .home-image-hero .hero-slide img,
  body.public-site.page-index .premium-home-hero .hero-slide img,
  body.public-site.page-index .home-image-hero .uploaded-hero-slide img,
  body.public-site.page-index .premium-home-hero .uploaded-hero-slide img{
    object-fit:cover!important;
    object-position:center center!important;
  }
  body.public-site.page-index .premium-home-hero::before{
    inset:-14px -8px auto!important;
    height:calc(100% + 24px)!important;
    border-radius:28px!important;
    filter:blur(22px)!important;
  }
}
@media (max-width: 640px){
  body.public-site.page-index::before{
    top:8px;left:-8%;width:230px;height:180px;opacity:.74;
  }
  body.public-site.page-index::after{
    top:42px;right:-10%;width:220px;height:190px;opacity:.68;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    aspect-ratio:1130 / 484!important;
    border-radius:22px!important;
  }
}


/* === USER REQUEST: Dark purple smooth hero backdrop === */
body.public-site.page-index{
  background:linear-gradient(180deg, #2b0f46 0px, #3a165c 180px, #4d2671 360px, rgba(77,38,113,.34) 620px, #f7f8fb 920px, #f8fafb 100%)!important;
}
body.public-site.page-index::before,
body.public-site.page-index::after,
body.public-site.page-index .premium-home-hero::before{
  display:none!important;
  content:none!important;
  background:none!important;
}
body.public-site.page-index .topbar.public-premium-topbar,
body.public-site.page-index.hybrid-navigation .topbar.public-premium-topbar{
  background:rgba(255,255,255,.92)!important;
  -webkit-backdrop-filter:blur(18px) saturate(140%)!important;
  backdrop-filter:blur(18px) saturate(140%)!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .premium-home-hero .hero-slides{
  background:transparent!important;
}
@media (max-width: 640px){
  body.public-site.page-index{
    background:linear-gradient(180deg, #2b0f46 0px, #3c1760 140px, #512a79 300px, rgba(81,42,121,.30) 470px, #f7f8fb 760px, #f8fafb 100%)!important;
  }
}


/* === USER REQUEST FINAL: 1916x821 banner frame + pure purple backdrop === */
body.public-site.page-index{
  background:linear-gradient(180deg,#2a0d47 0px,#341158 180px,#431b6c 360px,#5a2b84 560px,#f7f8fb 980px,#f8fafb 100%)!important;
}
body.public-site.page-index::before,
body.public-site.page-index::after,
body.public-site.page-index .premium-home-hero::before{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}
body.public-site.page-index .hero-visual.premium-home-hero,
body.public-site.page-index .home-image-hero,
body.public-site.page-index .premium-home-hero{
  width:min(1916px,calc(100vw - 64px))!important;
  max-width:min(1916px,calc(100vw - 64px))!important;
  margin:24px auto 0!important;
  aspect-ratio:1916 / 821!important;
  height:auto!important;
  min-height:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .premium-home-hero .hero-slides{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1916 / 821!important;
  background:transparent!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
body.public-site.page-index .home-image-hero .hero-slide,
body.public-site.page-index .premium-home-hero .hero-slide,
body.public-site.page-index .home-image-hero picture,
body.public-site.page-index .premium-home-hero picture,
body.public-site.page-index .home-image-hero .hero-slide > a,
body.public-site.page-index .premium-home-hero .hero-slide > a{
  width:100%!important;
  height:100%!important;
  display:block!important;
}
body.public-site.page-index .home-image-hero .hero-slide img,
body.public-site.page-index .premium-home-hero .hero-slide img,
body.public-site.page-index .home-image-hero .uploaded-hero-slide img,
body.public-site.page-index .premium-home-hero .uploaded-hero-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:transparent!important;
  filter:none!important;
}
@media (max-width: 1100px){
  body.public-site.page-index{
    background:linear-gradient(180deg,#2a0d47 0px,#35125a 160px,#482071 320px,#64318f 500px,#f7f8fb 860px,#f8fafb 100%)!important;
  }
  body.public-site.page-index .hero-visual.premium-home-hero,
  body.public-site.page-index .home-image-hero,
  body.public-site.page-index .premium-home-hero{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:14px auto 0!important;
    border-radius:20px!important;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    aspect-ratio:1916 / 821!important;
    border-radius:20px!important;
  }
}
@media (max-width: 640px){
  body.public-site.page-index{
    background:linear-gradient(180deg,#2a0d47 0px,#3c1860 140px,#54297f 280px,#f7f8fb 620px,#f8fafb 100%)!important;
  }
  body.public-site.page-index .hero-visual.premium-home-hero,
  body.public-site.page-index .home-image-hero,
  body.public-site.page-index .premium-home-hero{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin:8px auto 0!important;
    border-radius:16px!important;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    aspect-ratio:1130 / 484!important;
    border-radius:16px!important;
  }
}


/* === FINAL BANNER POSITION TUNE === */
body.public-site.page-index .hero-visual.premium-home-hero,
body.public-site.page-index .home-image-hero,
body.public-site.page-index .premium-home-hero{
  width:min(1296px,calc(100vw - 48px))!important;
  max-width:min(1296px,calc(100vw - 48px))!important;
  margin:12px auto 0!important;
  aspect-ratio:1296 / 438!important;
  height:auto!important;
  min-height:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .premium-home-hero .hero-slides{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1296 / 438!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.public-site.page-index .home-image-hero .hero-slide img,
body.public-site.page-index .premium-home-hero .hero-slide img,
body.public-site.page-index .home-image-hero .uploaded-hero-slide img,
body.public-site.page-index .premium-home-hero .uploaded-hero-slide img{
  width:100%!important;
  height:calc(100% + 8px)!important;
  margin-top:-4px!important;
  object-fit:cover!important;
  object-position:center top!important;
  display:block!important;
  background:transparent!important;
}
@media (max-width: 1100px){
  body.public-site.page-index .hero-visual.premium-home-hero,
  body.public-site.page-index .home-image-hero,
  body.public-site.page-index .premium-home-hero{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:10px auto 0!important;
    border-radius:20px!important;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    aspect-ratio:1296 / 438!important;
    border-radius:20px!important;
  }
}
@media (max-width: 640px){
  body.public-site.page-index .hero-visual.premium-home-hero,
  body.public-site.page-index .home-image-hero,
  body.public-site.page-index .premium-home-hero{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin:8px auto 0!important;
    border-radius:16px!important;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    aspect-ratio:1130 / 382!important;
    border-radius:16px!important;
  }
  body.public-site.page-index .home-image-hero .hero-slide img,
  body.public-site.page-index .premium-home-hero .hero-slide img,
  body.public-site.page-index .home-image-hero .uploaded-hero-slide img,
  body.public-site.page-index .premium-home-hero .uploaded-hero-slide img{
    height:calc(100% + 6px)!important;
    margin-top:-3px!important;
  }
}


/* === FINAL BANNER FULL-FILL + TOP GAP TUNE === */
body.public-site.page-index .hero-visual.premium-home-hero,
body.public-site.page-index .home-image-hero,
body.public-site.page-index .premium-home-hero{
  width:min(1296px,calc(100vw - 48px))!important;
  max-width:min(1296px,calc(100vw - 48px))!important;
  margin:8px auto 0!important;
  aspect-ratio:1296 / 438!important;
  height:auto!important;
  min-height:0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:transparent!important;
  padding:0!important;
}
body.public-site.page-index .home-image-hero .hero-slides,
body.public-site.page-index .premium-home-hero .hero-slides{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1296 / 438!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:transparent!important;
  padding:0!important;
}
body.public-site.page-index .home-image-hero .hero-slide,
body.public-site.page-index .premium-home-hero .hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body.public-site.page-index .home-image-hero .hero-slide.is-active,
body.public-site.page-index .premium-home-hero .hero-slide.is-active{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
}
body.public-site.page-index .home-image-hero picture,
body.public-site.page-index .premium-home-hero picture,
body.public-site.page-index .home-image-hero .hero-slide > a,
body.public-site.page-index .premium-home-hero .hero-slide > a{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
body.public-site.page-index .home-image-hero .hero-slide img,
body.public-site.page-index .premium-home-hero .hero-slide img,
body.public-site.page-index .home-image-hero .uploaded-hero-slide img,
body.public-site.page-index .premium-home-hero .uploaded-hero-slide img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:transparent!important;
  filter:none!important;
  border:0!important;
}
@media (max-width: 1100px){
  body.public-site.page-index .hero-visual.premium-home-hero,
  body.public-site.page-index .home-image-hero,
  body.public-site.page-index .premium-home-hero{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:8px auto 0!important;
    border-radius:20px!important;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    aspect-ratio:1296 / 438!important;
    border-radius:20px!important;
  }
}
@media (max-width: 640px){
  body.public-site.page-index .hero-visual.premium-home-hero,
  body.public-site.page-index .home-image-hero,
  body.public-site.page-index .premium-home-hero{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin:6px auto 0!important;
    border-radius:16px!important;
  }
  body.public-site.page-index .home-image-hero .hero-slides,
  body.public-site.page-index .premium-home-hero .hero-slides{
    aspect-ratio:1130 / 382!important;
    border-radius:16px!important;
  }
}

/* =========================================================
   2026-10-28 — V23 COLOR AUDIT FIX
   Restores soft tinted header bands on homepage cards so color does not disappear.
   ========================================================= */
body.public-site.page-index .premium-dashboard-card,
body.public-site.page-index .home-discovery-card{
  position:relative!important;
}

/* 1) Live score block: keep strong emerald band */
body.public-site.page-index .live-dashboard-card .premium-card-head{
  background:linear-gradient(135deg,#0f6b4c 0%,#167a57 58%,#1d8d66 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.public-site.page-index .live-dashboard-card .premium-card-head strong,
body.public-site.page-index .live-dashboard-card .premium-card-head>a,
body.public-site.page-index .live-dashboard-card .premium-card-head .premium-card-icon{
  color:#fff!important;
}

/* 2) Live now block: soft navy/white tint instead of plain white */
body.public-site.page-index .live-now-summary-card .premium-card-head{
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 48%,#f5f8fd 100%)!important;
  border-bottom:1px solid #dbe4f0!important;
  box-shadow:inset 4px 0 0 #405887, inset 0 1px 0 rgba(255,255,255,.88)!important;
}
body.public-site.page-index .live-now-summary-card .premium-card-head strong,
body.public-site.page-index .live-now-summary-card .premium-card-head>a,
body.public-site.page-index .live-now-summary-card .premium-card-head .premium-card-icon{
  color:#24395f!important;
}

/* 3) Recent results: soft green/ivory blend */
body.public-site.page-index .home-latest-result-card .home-discovery-head{
  background:linear-gradient(135deg,#f6fbf8 0%,#fbfdfb 50%,#f4faf6 100%)!important;
  border-bottom:1px solid #dfe9e3!important;
  box-shadow:inset 4px 0 0 #1f8a68, inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body.public-site.page-index .home-latest-result-card .home-discovery-kicker{
  color:#4b7467!important;
}
body.public-site.page-index .home-latest-result-card .home-discovery-head h2,
body.public-site.page-index .home-latest-result-card .home-discovery-head>a{
  color:#24463b!important;
}
body.public-site.page-index .home-latest-result-card .home-discovery-head p{
  color:#6b7f76!important;
}

/* 4) Up next: soft purple/white blend */
body.public-site.page-index .home-upcoming-card .home-discovery-head{
  background:linear-gradient(135deg,#faf8fd 0%,#ffffff 52%,#f8f5fc 100%)!important;
  border-bottom:1px solid #e6def0!important;
  box-shadow:inset 4px 0 0 #7b58a5, inset 0 1px 0 rgba(255,255,255,.9)!important;
}
body.public-site.page-index .home-upcoming-card .home-discovery-kicker{
  color:#7a6797!important;
}
body.public-site.page-index .home-upcoming-card .home-discovery-head h2,
body.public-site.page-index .home-upcoming-card .home-discovery-head>a{
  color:#463264!important;
}
body.public-site.page-index .home-upcoming-card .home-discovery-head p{
  color:#7c7290!important;
}

/* Improve action buttons inside the tinted headers */
body.public-site.page-index .live-dashboard-card .premium-card-head>a,
body.public-site.page-index .live-now-summary-card .premium-card-head>a,
body.public-site.page-index .home-latest-result-card .home-discovery-head>a,
body.public-site.page-index .home-upcoming-card .home-discovery-head>a{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(179,190,207,.62)!important;
  border-radius:14px!important;
  padding:7px 12px!important;
  box-shadow:0 6px 16px rgba(32,44,71,.08)!important;
  text-decoration:none!important;
}
body.public-site.page-index .live-dashboard-card .premium-card-head>a:hover,
body.public-site.page-index .live-now-summary-card .premium-card-head>a:hover,
body.public-site.page-index .home-latest-result-card .home-discovery-head>a:hover,
body.public-site.page-index .home-upcoming-card .home-discovery-head>a:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 10px 22px rgba(32,44,71,.12)!important;
}

@media(max-width:820px){
  body.public-site.page-index .live-dashboard-card .premium-card-head,
  body.public-site.page-index .live-now-summary-card .premium-card-head,
  body.public-site.page-index .home-latest-result-card .home-discovery-head,
  body.public-site.page-index .home-upcoming-card .home-discovery-head{
    box-shadow:inset 3px 0 0 currentColor, inset 0 1px 0 rgba(255,255,255,.85)!important;
  }
  body.public-site.page-index .live-dashboard-card .premium-card-head{color:#1f8a68!important}
  body.public-site.page-index .live-now-summary-card .premium-card-head{color:#405887!important}
  body.public-site.page-index .home-latest-result-card .home-discovery-head{color:#1f8a68!important}
  body.public-site.page-index .home-upcoming-card .home-discovery-head{color:#7b58a5!important}
}

/* Banner slide timing belongs to the banner management page (v51). */
.banner-timing-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.banner-timing-panel > div{flex:1 1 300px}
.banner-timing-panel h2{margin:4px 0 6px}
.banner-timing-panel .muted{margin:0}
.banner-timing-form{flex:0 1 335px;min-width:min(100%,260px)}
.banner-timing-form label{display:block;margin:0 0 8px;font-weight:700}
.banner-timing-controls{display:flex;gap:10px;align-items:center}
.banner-timing-controls input{min-width:0;max-width:130px;flex:1 1 110px;margin:0}
.banner-timing-controls button{flex:1 0 auto;white-space:nowrap}
@media(max-width:600px){.banner-timing-form{flex:1 1 100%}.banner-timing-controls input{max-width:none}}
