/* ==========================================================================
   UHS GLOBAL DESIGN TOKENS & UTILITY CLASSES (BEM ARCHITECTURE)
   ========================================================================== */

:root {
    /* Brand Colors */
    --uhs-brand-garnet: #5a1222;
    --uhs-brand-garnet-hover: #7b1f29;
    --uhs-brand-garnet-dark: #2c0810;
    --uhs-brand-navy: #002b5c;
    --uhs-brand-gold: #d4af37;
    
    /* UI Colors */
    --uhs-success: #2e7d32;
    --uhs-danger: #c62828;
    --uhs-info: #2b6cb0;
    --uhs-warning: #f57f17;

    /* Grayscale & Text */
    --uhs-bg-light: #f8fafc;
    --uhs-bg-subtle: #f1f5f9;
    --uhs-border-light: #e2e8f0;
    --uhs-border-dark: #cbd5e1;
    --uhs-text-main: #1a202c;
    --uhs-text-muted: #64748b;
    --uhs-text-inverse: #ffffff;

    /* Spacing & Shadows */
    --uhs-radius-sm: 4px;
    --uhs-radius-md: 6px;
    --uhs-radius-lg: 8px;
    --uhs-radius-xl: 12px;
    --uhs-shadow-sm: 0 2px 4px rgba(0,0,0,0.02);
    --uhs-shadow-md: 0 4px 10px rgba(0,0,0,0.05);
    --uhs-shadow-lg: 0 10px 30px rgba(0,0,0,0.1);
}

/* --- REUSABLE UTILITY CLASSES --- */

/* Layout & Flexbox */
.uhs-flex-between { display: flex; justify-content: space-between; align-items: center; }
.uhs-flex-center { display: flex; justify-content: center; align-items: center; }
.uhs-flex-start { display: flex; justify-content: flex-start; align-items: center; }
.uhs-gap-sm { gap: 8px; }
.uhs-gap-md { gap: 15px; }
.uhs-gap-lg { gap: 25px; }

/* Panels & Cards */
.uhs-card-panel {
    background: var(--uhs-text-inverse);
    border: 1px solid var(--uhs-border-light);
    border-radius: var(--uhs-radius-lg);
    padding: 25px;
    box-shadow: var(--uhs-shadow-sm);
    margin-bottom: 25px;
}

/* Typography */
.uhs-title-primary {
    color: var(--uhs-brand-garnet);
    text-transform: uppercase;
    font-size: 1.4rem;
    font-weight: 900;
    margin: 0 0 20px 0;
    letter-spacing: 0.5px;
}
.uhs-title-primary--bordered {
    border-bottom: 3px solid var(--uhs-brand-garnet);
    padding-bottom: 8px;
}
.uhs-title-primary--accent {
    border-left: 5px solid var(--uhs-brand-garnet);
    padding-left: 12px;
}
.uhs-text-subtle {
    font-size: 0.85rem;
    color: var(--uhs-text-muted);
}
.uhs-text-bold { font-weight: 900; }

/* Badges */
.uhs-badge-solid {
    background: var(--uhs-brand-garnet);
    color: var(--uhs-text-inverse);
    padding: 6px 12px;
    border-radius: var(--uhs-radius-sm);
    font-weight: 800;
    font-size: 0.8rem;
    text-transform: uppercase;
}

/* Mobile Resets for Utilities */
@media (max-width: 768px) {
    .uhs-flex-between.uhs-mobile-stack {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .uhs-card-panel { padding: 15px; }
}
/* ========================================================================== */

/* ==========================================================================
   UHS PREMIUM UI - MASTER CONSOLIDATED STYLESHEET
   ========================================================================== */

/* --- 1. EXPANDED DESKTOP WRAPPERS --- */
body .uhs-master-wrapper .uhs-season-wrapper,
body .uhs-season-wrapper,
.uhs-season-wrapper { 
    background: #fff; 
    border-radius: 10px; 
    margin: 40px auto; 
    max-width: 1400px !important; /* WIDENED TO ELIMINATE DESKTOP SCROLL */
    width: 100% !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08); 
    border: 1px solid #e2e8f0; 
    font-family: 'Segoe UI', Roboto, sans-serif; 
    box-sizing: border-box; 
    overflow: visible !important; 
}

/* --- 2. GLOBAL PILL TABS & BUBBLE SELECTS --- */
.uhs-s-tabs { display: flex; gap: 10px; margin-bottom: 25px; flex-wrap: wrap; justify-content: center; }
.uhs-s-tab-btn, .tab-btn { background: var(--uhs-bg-light, #f8fafc); color: var(--uhs-text-muted, #64748b); border: 1px solid #cbd5e1; padding: 10px 22px; border-radius: 25px; font-weight: 800; font-size: 0.85rem; text-transform: uppercase; cursor: pointer; transition: all 0.2s ease; letter-spacing: 0.5px; display: inline-block; text-decoration: none; }
.uhs-s-tab-btn:hover, .tab-btn:hover { background: #e2e8f0; color: var(--uhs-text-main, #1a202c); }
.uhs-s-tab-btn.active, .tab-btn.active { background: var(--uhs-brand-garnet, #5a1222); color: #ffffff; border-color: var(--uhs-brand-garnet, #5a1222); box-shadow: 0 4px 6px rgba(0,0,0, 0.2); transform: translateY(-1px); }

/* The new stylized bubble dropdowns */
.uhs-bubble-select {
    padding: 10px 18px;
    border-radius: 25px !important;
    border: 2px solid var(--uhs-brand-garnet, #5a1222) !important;
    font-weight: 800;
    color: var(--uhs-text-main, #1a202c);
    font-size: 0.95rem;
    outline: none;
    cursor: pointer;
    min-width: 180px;
    background: var(--uhs-bg-light, #f8fafc) !important;
    transition: all 0.2s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.uhs-bubble-select:hover, .uhs-bubble-select:focus {
    border-color: var(--uhs-hover-color, #d4af37) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* --- 3. PREMIUM CLEAN TABLES --- */
.uhs-table-scroll { overflow-x: auto !important; -webkit-overflow-scrolling: touch; margin-bottom: 25px; border: 1px solid #e2e8f0; border-radius: 8px; background: #ffffff; box-shadow: 0 2px 8px rgba(0,0,0,0.02); display: block; position: relative; width: 100%; }
.uhs-premium-table { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; background: #ffffff; margin: 0 !important; table-layout: auto !important; }
.uhs-premium-table a { text-decoration: none !important; }

/* Headers */
.uhs-premium-table thead th { position: sticky !important; top: 0 !important; z-index: 10 !important; background-color: var(--uhs-bg-light, #f8fafc) !important; box-shadow: inset 0 -2px 0 #e2e8f0; padding: 12px 15px; text-align: center; font-size: 0.75rem; text-transform: uppercase; color: var(--uhs-text-muted, #64748b); font-weight: 800; letter-spacing: 1px; white-space: nowrap; vertical-align: middle; }

/* Body Cells (Normal wrapping prevents desktop scroll) */
.uhs-premium-table tbody td { padding: 10px 15px; text-align: center; color: var(--uhs-text-main, #1a202c); font-size: 0.9rem; font-weight: 600; white-space: normal; vertical-align: middle; transition: background-color 0.1s ease, color 0.1s ease; box-shadow: inset 0 -1px 0 #edf2f7; }

.uhs-premium-table th:first-child, .uhs-premium-table td:first-child { text-align: left; padding-left: 20px; }
.uhs-premium-table tr:last-child td { box-shadow: none; }

/* Zebra Striping */
.uhs-premium-table tbody tr:nth-child(odd) td { background-color: #ffffff !important; opacity: 1; }
.uhs-premium-table tbody tr:nth-child(even) td { background-color: var(--uhs-bg-light, #f8fafc) !important; opacity: 1; }

/* HOVER FIX - Target cells cleanly to prevent white-on-white sticky bug */
.uhs-premium-table tbody tr:hover > td,
.uhs-premium-table tbody tr:hover > td:first-child { 
    background-color: var(--uhs-table-hover, #5a1222) !important; 
    color: #ffffff !important; 
    box-shadow: inset 0 -1px 0 rgba(0,0,0,0.5) !important; 
}
.uhs-premium-table tbody tr:hover > td *, 
.uhs-premium-table tbody tr:hover > td a { color: #ffffff !important; }

/* Footer / Totals Row */
.uhs-premium-table tfoot td, .uhs-totals-row td { background-color: #e2e8f0 !important; font-weight: 900 !important; color: var(--uhs-text-main, #0f172a) !important; border-top: 3px solid #cbd5e1 !important; border-bottom: none !important; position: sticky !important; bottom: 0 !important; z-index: 10 !important; }

/* --- 4. DATATABLES NATIVE ARROWS --- */
table.dataTable thead th { background-image: none !important; cursor: pointer; position: relative; padding-right: 25px !important; }
table.dataTable thead th::before, table.dataTable thead th::after { display: none !important; content: none !important; }
table.dataTable thead th::after { content: '↕' !important; position: absolute !important; right: 8px !important; top: 50% !important; transform: translateY(-50%) !important; opacity: 0.25 !important; font-size: 0.9rem !important; display: block !important; color: var(--uhs-text-main, #333) !important; }
table.dataTable thead th:hover::after { opacity: 0.8 !important; }
table.dataTable thead th.sorting_asc::after { content: '↑' !important; opacity: 1 !important; color: var(--uhs-brand-garnet, #5a1222) !important; }
table.dataTable thead th.sorting_desc::after { content: '↓' !important; opacity: 1 !important; color: var(--uhs-brand-garnet, #5a1222) !important; }

/* --- 5. AGGRESSIVE MOBILE SHRINKS --- */
@media (max-width: 768px) {
    .uhs-season-wrapper { margin: 10px 0 !important; border-radius: 0 !important; border-left: none !important; border-right: none !important; width: 100% !important; overflow: visible !important; }
    
    .uhs-bubble-select { font-size: 0.8rem; padding: 8px 12px; min-width: 120px; }
    
    /* Convert wrapped tabs into a smooth horizontal scroll */
    .uhs-s-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
        -webkit-overflow-scrolling: touch; /* Smooth iOS scrolling */
        padding-bottom: 10px !important;
        scrollbar-width: none; /* Firefox */
    }
    .uhs-s-tabs::-webkit-scrollbar { display: none; } /* Safari/Chrome */
    
    .uhs-s-tab-btn, .tab-btn {
        flex: 0 0 auto !important; /* Prevents buttons from squishing */
        min-width: fit-content !important;
        white-space: nowrap !important;
        padding: 10px 18px !important;
        font-size: 0.8rem !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }

    /* Expand tap targets and improve legibility */
    .uhs-premium-table th { 
        padding: 12px 8px !important; 
        font-size: 0.75rem !important; 
        letter-spacing: 0.5px !important; 
    }
    .uhs-premium-table td { 
        padding: 12px 8px !important; 
        font-size: 0.85rem !important; 
    }
    
    /* Mobile Sticky First Column with 3D Depth Shadow */
    .uhs-premium-table th:first-child, 
    .uhs-premium-table td:first-child, 
    .uhs-premium-table tfoot td:first-child { 
        position: sticky !important; 
        left: 0 !important; 
        z-index: 5 !important; 
        /* Creates a 3D shadow on the right edge of the sticky column */
        box-shadow: 4px 0 8px -2px rgba(0,0,0,0.12), inset -1px 0 0 #edf2f7 !important; 
    }
    .uhs-premium-table th:first-child { z-index: 15 !important; background-color: var(--uhs-bg-light, #f8fafc) !important; }
    
    /* Hover override for mobile sticky column */
    .uhs-premium-table tbody tr:hover > td:first-child { background-color: var(--uhs-brand-garnet, #5a1222) !important; color: #ffffff !important; }
}

/* ========================================================
   EXTRACTED COMPONENT STYLES (Comparison, Draft, Leaderboards)
   ======================================================== */
/* Global Sticky Overflow Fix (Item 3) */
.dataTables_wrapper .uhs-table-scroll { overflow-x: auto !important; overflow-y: visible !important; }

/* Comparison Arena Mobile */
@media (max-width: 768px) {
    .uhs-compare-row, .uhs-compare-header-cards { flex-direction: column !important; align-items: stretch !important; gap: 15px !important; }
    .uhs-compare-input, .uhs-player-card { width: 100% !important; box-sizing: border-box !important; }
    .uhs-vs-text { text-align: center !important; margin: 5px 0 !important; }
    .uhs-vs-circle { margin: -10px auto !important; }
    .uhs-compare-arena, .uhs-chart-container, .uhs-stat-bars-container { max-width: 100vw !important; overflow: hidden !important; box-sizing: border-box !important; }
}

/* NHL Draftees Mobile Cards */
.uhs-desktop-view { display: block; padding: 0; }
.uhs-mobile-view { display: none; padding: 15px 10px; background: var(--uhs-bg-light, #f8fafc); }
.draft-mobile-card { background: #ffffff; border-radius: 8px; border: 1px solid #e2e8f0; margin-bottom: 15px; padding: 18px; box-shadow: 0 4px 6px rgba(0,0,0,0.04); overflow: hidden; }
.draft-m-name { font-size: 1.25rem; font-weight: 900; color: #1a202c; text-decoration: none; display: block; margin-bottom: 12px; line-height: 1.1; letter-spacing: -0.5px; }
.college-logo-desktop { width: 26px; height: 26px; object-fit: contain; filter: drop-shadow(0px 2px 3px rgba(0,0,0,0.2)); flex-shrink: 0; }
.nhl-logo-desktop { width: 40px; height: 40px; object-fit: contain; filter: drop-shadow(0px 2px 3px rgba(0,0,0,0.2)); flex-shrink: 0; }
.draft-m-tracker-bar { display: flex; align-items: center; justify-content: space-between; background: #f1f5f9; padding: 10px 12px; border-radius: 6px; border: 1px solid #e2e8f0; gap: 6px; }
.draft-m-team { display: flex; align-items: center; gap: 8px; font-size: 0.85rem; font-weight: 800; color: #4a5568; text-decoration: none; flex: 1; min-width: 0; }
.draft-m-college-logo { width: 26px; height: 26px; object-fit: contain; filter: drop-shadow(0 2px 3px rgba(0,0,0,0.15)); flex-shrink: 0; }
.draft-m-nhl-logo { width: 45px; height: 45px; object-fit: contain; filter: drop-shadow(0 2px 3px rgba(0,0,0,0.15)); flex-shrink: 0; }
.draft-m-team-name { overflow: hidden; text-overflow: ellipsis; }
.college-name { white-space: normal; line-height: 1.1; overflow: visible; display: block; font-size: 0.8rem; }
.nhl-name { white-space: nowrap; }
.draft-m-arrow { color: #94a3b8; font-weight: bold; font-size: 1.2rem; flex-shrink: 0; padding: 0 2px; }
details.draft-m-details { margin-top: 15px; }
details.draft-m-details summary { display: flex; align-items: center; gap: 10px; font-size: 0.8rem; font-weight: 900; text-transform: uppercase; color: #64748b; cursor: pointer; list-style: none; outline: none; padding-top: 12px; border-top: 1px dashed #cbd5e1; user-select: none; }
details.draft-m-details summary::-webkit-details-marker { display: none; }
details.draft-m-details summary::before { content: '+'; background: var(--uhs-brand-gold, #d4af37); color: var(--uhs-brand-navy, #002b5c); border: 2px solid var(--uhs-brand-navy, #002b5c); width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; line-height: 1; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transition: all 0.2s; }
details.draft-m-details[open] summary::before { content: '-'; background: #c62828; border-color: #c62828; color: #ffffff; }
.draft-m-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; background: #f8fafc; padding: 15px; border-radius: 6px; margin-top: 15px; border: 1px solid #edf2f7; }
.draft-m-item { display: flex; flex-direction: column; gap: 4px; }
.draft-m-label { font-size: 0.7rem; text-transform: uppercase; font-weight: 800; color: #94a3b8; letter-spacing: 0.5px; }
.draft-m-val { font-size: 1rem; font-weight: 900; color: #1a202c; }

@media (max-width: 768px) {
    .uhs-desktop-view { display: none !important; }
    .uhs-mobile-view { display: block !important; }
}

/* Leaderboard Badges & Colors */
.uhs-badge-iiv { color: var(--uhs-brand-navy, #002b5c); font-weight: 900; font-size: 1.1rem; display: inline-block; }
.uhs-premium-table tbody tr:hover td .uhs-badge-iiv { color: #fff !important; }
.uhs-faded { opacity: 0.4; filter: grayscale(100%); }
.uhs-section-header { color: #1a202c; margin-top: 35px; margin-bottom: 15px; font-size: 1.25rem; font-weight: 900; border-bottom: 3px solid #e2e8f0; padding-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }

/* Awards Cards */
.uhs-ac-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 30px; }
.uhs-ac-team { border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.03); transition: transform 0.2s; }
.uhs-ac-team:hover { transform: translateY(-3px); box-shadow: 0 6px 15px rgba(0,0,0,0.06); }
.uhs-ac-header { color: #fff; text-align: center; font-weight: 900; text-transform: uppercase; padding: 12px; letter-spacing: 1px; font-size: 1rem; }
.uhs-ac-player { display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; border-bottom: 1px solid #f1f5f9; transition: background 0.15s; }
.uhs-ac-player:hover { background: #f8fafc; }
.uhs-ac-player:last-child { border-bottom: none; }
.uhs-ac-info { display: flex; flex-direction: column; }
.uhs-ac-name { font-weight: 900; color: #1a202c; font-size: 1rem; margin-bottom: 4px; }
.uhs-ac-meta { font-size: 0.75rem; color: #64748b; text-transform: uppercase; font-weight: bold; display: flex; align-items: center; gap: 6px; }

/* Forecast Grids */
.uhs-fc-card { margin-bottom: 40px; }
.uhs-fc-title { font-size: 1.3rem; font-weight: 900; color: #1a202c; border-bottom: 3px solid #e2e8f0; padding-bottom: 8px; margin-bottom: 20px; text-transform: uppercase; }
.uhs-fc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }

/* ========================================================
   PLAYER PROFILE SPECIFIC STYLES
   ======================================================== */
.uhs-bests-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 15px; margin-top: 20px; }
.uhs-bests-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.03); }

/* The default garnet gradient header */
.uhs-bests-header { background: linear-gradient(135deg, var(--uhs-brand-garnet, #5a1222) 0%, #2c0810 100%); color: #fff; padding: 12px 15px; text-align: center; }

/* The dark PACE gradient header */
.uhs-bests-header.pace-header { background: linear-gradient(135deg, var(--uhs-grad-start, #001d3d) 0%, #111111 100%); border-bottom: 3px solid var(--uhs-brand-gold, #d4af37); }
.bests-title { font-size: 0.75rem; text-transform: uppercase; font-weight: 800; letter-spacing: 1px; color: var(--uhs-brand-gold, #d4af37); }
.bests-val { font-size: 2rem; font-weight: 900; line-height: 1.1; margin-top: 4px; }

.uhs-ep-quick-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 15px; margin-top: 15px; margin-bottom: 35px; }
.uhs-ep-qs-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px; text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.uhs-ep-qs-title { font-size: 0.75rem; color: #64748b; text-transform: uppercase; font-weight: 800; margin-bottom: 5px; }
.uhs-ep-qs-val { font-size: 2.2rem; font-weight: 900; line-height: 1; color: var(--uhs-text-main, #1a202c); }

/* Fix mobile header stacking */
@media (max-width: 768px) {
    .uhs-profile-header-card { padding: 20px 15px !important; flex-direction: column !important; align-items: flex-start !important; }
    .uhs-header-right { align-items: flex-start !important; width: 100%; margin-top: 15px; }
    .uhs-profile-num { font-size: 2.5rem !important; }
}

/* ========================================================
   SEASON LIST ARCHIVE CARDS (Accordion Style)
   ======================================================== */
.uhs-season-header-bar { display: flex; justify-content: space-between; align-items: center; background: linear-gradient(135deg, var(--uhs-grad-start, #001d3d) 0%, #111111 120%) !important; color: #fff; padding: 25px 35px; border-bottom: 6px solid var(--uhs-hover-color, #d4af37) !important; cursor: pointer; user-select: none; transition: all 0.3s ease; }
.uhs-season-header-bar:hover { padding-left: 40px; }

.uhs-season-title { font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-size: 2.2rem; font-weight: 900; line-height: 1; letter-spacing: 1px; margin: 0; color: #fff; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,0.3) !important; padding-bottom: 6px; margin-bottom: 6px; }
.uhs-season-record { font-size: 1.5rem; font-weight: 900; color: #fff; letter-spacing: 1px; }

.uhs-header-badges { display: flex; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.uhs-s-badge { padding: 5px 12px; border-radius: 4px; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 2px 4px rgba(0,0,0,0.4); }
.uhs-s-badge-ncaa { background: linear-gradient(180deg, #f1db6a 0%, #d4af37 100%); color: #000; }
.uhs-s-badge-f4 { background: linear-gradient(180deg, #2b6cb0 0%, #1d4e89 100%); color: #fff; }
.uhs-s-badge-ecac { background: linear-gradient(180deg, #f8f9fa 0%, #e3e4e4 100%); color: #333; border: 1px solid #ccc; }
.uhs-season-toggle-icon { font-size: 2.2rem; font-weight: 300; transition: transform 0.3s; opacity: 0.8; }

/* Schedule Elements */
.uhs-sched-opp-cell { display: flex; align-items: center; gap: 18px; }
.uhs-sched-logo { width: 35px; height: 35px; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)); }
.uhs-sched-name { font-weight: 900; font-size: 1.05rem; color: #1a202c; text-decoration: none; text-transform: uppercase; letter-spacing: 0.5px; transition: color 0.2s; white-space: normal; }
.uhs-sched-name:hover { color: var(--uhs-hover-color, #5a1222); }
.uhs-sched-res { font-weight: 900; font-size: 1.2rem; }
.uhs-res-w { color: #38a169; }
.uhs-res-l { color: #e53e3e; }
.uhs-res-t { color: #dd6b20; }
.dnp-status-cell { background-color: var(--uhs-brand-garnet, #7b1f29) !important; color: #cbd5e1 !important; }
.uhs-stat-highlight { font-weight: 900; color: var(--uhs-brand-garnet, #5a1222); font-size: 1.1rem; }

@media (max-width: 768px) {
    .uhs-season-header-bar { padding: 20px 15px !important; flex-direction: column !important; align-items: flex-start !important; gap: 15px !important; }
    .uhs-season-header-bar > div:last-child { width: 100%; justify-content: space-between; flex-direction: row-reverse; }
    .uhs-season-title { font-size: 1.8rem !important; }
    .uhs-season-record { font-size: 1.2rem; }
    
    .uhs-sched-logo { width: 24px !important; height: 24px !important; }
    .uhs-sched-name { font-size: 0.85rem !important; white-space: normal !important; line-height: 1.1 !important; display: block; }
    .uhs-sched-conf-note { font-size: 0.65rem !important; white-space: normal !important; line-height: 1.2 !important; display: block; margin-top: 2px; }
    .uhs-sched-opp-cell { gap: 8px !important; justify-content: flex-start !important; }
    .uhs-sched-opp-cell > div { align-items: flex-start !important; text-align: left !important; }
}

/* ========================================================
   RECORD BOOK SPECIFIC STYLES & BANNERS
   ======================================================== */
.uhs-records-top-row { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-bottom: 35px; }
.uhs-record-card { background: #fff; border: 2px solid #e2e8f0; border-radius: 10px; padding: 25px; text-align: center; box-shadow: 0 4px 6px rgba(0,0,0,0.02); transition: all 0.2s; }
.uhs-record-card:hover { border-color: #cbd5e1; box-shadow: 0 8px 15px rgba(0,0,0,0.05); transform: translateY(-2px); }
.uhs-record-card-title { font-size: 1.05rem; color: #64748b; text-transform: uppercase; font-weight: 900; letter-spacing: 1px; margin-bottom: 10px; }
.uhs-record-card-val { font-size: 3.5rem; font-weight: 900; color: #1a202c; line-height: 1; letter-spacing: -1px; }

/* Championship Rafter Banners */
.uhs-banners-row { display: flex; justify-content: center; gap: 20px; margin-bottom: 40px; flex-wrap: wrap; }
.uhs-banner-wrapper { filter: drop-shadow(0 6px 10px rgba(0,0,0,0.2)); transition: transform 0.3s ease; }
.uhs-banner-wrapper:hover { transform: translateY(-4px); filter: drop-shadow(0 12px 18px rgba(0,0,0,0.3)); }

.uhs-championship-banner { background: #ffffff !important; border: 2px solid var(--uhs-brand-garnet, #5a1222) !important; border-top: none !important; padding: 0 0 20px 0 !important; width: 190px !important; position: relative; text-align: center !important; box-sizing: border-box; }
.uhs-championship-banner::before { content: ''; position: absolute; bottom: -20px; left: -2px; right: -2px; border-top: 20px solid var(--uhs-brand-garnet, #5a1222) !important; border-left: 95px solid transparent !important; border-right: 95px solid transparent !important; z-index: 1; }
.uhs-championship-banner::after { content: ''; position: absolute; bottom: -16px; left: 0; right: 0; border-top: 17px solid #ffffff !important; border-left: 93px solid transparent !important; border-right: 93px solid transparent !important; z-index: 2; }
.uhs-championship-banner .uhs-banner-title { background: var(--uhs-brand-garnet, #5a1222) !important; color: #ffffff !important; padding: 18px 10px !important; margin: 0 0 15px 0 !important; font-family: 'Arial Black', 'Arial Bold', sans-serif !important; font-size: 0.9rem !important; font-weight: 900 !important; text-transform: uppercase !important; line-height: 1.3 !important; letter-spacing: 1px !important; border-bottom: 4px solid #1a202c !important; }
.uhs-championship-banner .uhs-banner-val { color: var(--uhs-brand-garnet, #5a1222) !important; font-family: 'Arial Black', sans-serif !important; font-size: 2.8rem !important; font-weight: 900 !important; padding: 0 15px !important; margin-bottom: 15px !important; line-height: 1 !important; text-shadow: 2px 2px 0px rgba(0,0,0,0.15) !important; position: relative !important; z-index: 10 !important; }
.uhs-championship-banner .uhs-banner-years { color: #1a202c !important; font-family: 'Arial Black', 'Arial Bold', sans-serif !important; font-size: 0.95rem !important; padding: 0 15px !important; line-height: 1.3 !important; font-weight: 900 !important; letter-spacing: 0.5px !important; position: relative !important; z-index: 10 !important; }
.banner-star { color: #d4af37 !important; font-size: 0.85rem !important; margin: 6px 0 !important; display: block !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.2) !important; opacity: 1 !important; visibility: visible !important; }

/* NCAA Gold Overrides */
.uhs-championship-banner.is-national { background-color: #5a1222 !important; border-color: #d4af37 !important; }
.uhs-championship-banner.is-national .uhs-banner-title { background-color: #5a1222 !important; color: #d4af37 !important; border-bottom-color: #d4af37 !important; }
.uhs-championship-banner.is-national::before, .uhs-championship-banner.is-national::after { border-top-color: #d4af37 !important; }
.uhs-championship-banner.is-national .uhs-banner-val { color: #d4af37 !important; text-shadow: 2px 2px 0px rgba(255,255,255,0.4) !important; }
.uhs-championship-banner.is-national .uhs-banner-years { color: #d4af37 !important; }
.uhs-championship-banner.is-national .banner-star { color: #d4af37 !important; text-shadow: none !important; }

/* Interactive Filters & Tabs */
.mobile-filter-label, .mobile-text { display: none; }
.desktop-text { display: inline; }

@media (max-width: 768px) {
    .uhs-records-top-row { gap: 10px !important; margin-bottom: 20px !important; padding: 0 10px; }
    .uhs-record-card { padding: 12px 5px !important; }
    .uhs-record-card-title { font-size: 0.7rem !important; margin-bottom: 4px !important; letter-spacing: 0; }
    .uhs-record-card-val { font-size: 1.25rem !important; white-space: nowrap !important; letter-spacing: -0.5px !important; }

    /* Shrink Banners on Mobile */
    .uhs-banners-row { gap: 10px !important; margin-bottom: 25px !important; }
    .uhs-banner-wrapper { width: calc(50% - 10px); display: flex; justify-content: center; }
    .uhs-championship-banner { width: 140px !important; }
    .uhs-championship-banner::before { bottom: -16px; border-top: 16px solid var(--uhs-brand-garnet, #5a1222) !important; border-left: 70px solid transparent !important; border-right: 70px solid transparent !important; }
    .uhs-championship-banner::after { bottom: -13px; border-top: 14px solid #ffffff !important; border-left: 68px solid transparent !important; border-right: 68px solid transparent !important; }
    .uhs-championship-banner.is-national::before, .uhs-championship-banner.is-national::after { border-top-color: #d4af37 !important; }
    
    .uhs-championship-banner .uhs-banner-title { font-size: 0.75rem !important; padding: 12px 6px !important; }
    .uhs-championship-banner .uhs-banner-val { font-size: 2.2rem !important; margin-bottom: 10px !important; }
    .uhs-championship-banner .uhs-banner-years { font-size: 0.85rem !important; }
    
    .mobile-filter-label { display: block; font-size: 0.75rem; font-weight: 900; color: #64748b; text-transform: uppercase; text-align: center; margin-bottom: 8px; letter-spacing: 1.5px; padding: 0 10px; }
    .mobile-text { display: inline; }
    .desktop-text { display: none; }
}

/* ========================================================
   OPPONENT PROFILE SPECIFIC STYLES
   ======================================================== */

/* Reads dynamic PHP colors off the wrapper via CSS variables */
.uhs-opponent-profile .uhs-box-banner { 
    background: linear-gradient(135deg, var(--dynamic-opp-bg, #5a1222) 0%, #000000 120%) !important; 
    padding: 40px 30px; 
    text-align: center; 
    position: relative; 
    overflow: hidden; 
    border-bottom: 6px solid var(--uhs-hover-color, #d4af37) !important; 
    border-radius: 8px 8px 0 0; 
}

.uhs-opponent-profile .vs-bg { 
    font-size: 18rem !important; 
    position: absolute; 
    top: -30px; 
    left: -30px; 
    opacity: 0.05; 
    font-weight: 900; 
    line-height: 1; 
    pointer-events: none; 
    color: #fff; 
}

@media (max-width: 768px) {
    /* 1. Header Banner Flip & Alignment */
    .uhs-opponent-profile .uhs-box-banner { padding: 30px 15px !important; }
    
    /* Reverses the flex order so the image is on top of the text */
    .uhs-opponent-profile .uhs-box-banner > div:nth-child(2) { 
        flex-direction: column-reverse !important; 
        gap: 15px !important; 
    }
    
    /* Centers the text and the ECAC badge */
    .uhs-opponent-profile .uhs-box-banner > div:nth-child(2) > div:first-child { 
        align-items: center !important; 
        text-align: center !important; 
    }
    
    .uhs-opponent-profile .uhs-box-banner h1 { font-size: 2.2rem !important; text-align: center !important; }
    .uhs-opponent-profile .uhs-box-banner img { width: 100px !important; margin-bottom: 5px; }
    .uhs-opponent-profile .vs-bg { font-size: 8rem !important; top: -10px !important; left: -10px !important; opacity: 0.08 !important; }
    .hide-on-mobile { display: none !important; }
    
    /* 2. Shrink Quick Stats to a Single Row */
    .uhs-opponent-profile .uhs-ep-quick-stats { 
        display: flex !important; 
        flex-wrap: nowrap !important; /* Forces them onto one line */
        gap: 8px !important; 
    }
    .uhs-opponent-profile .uhs-ep-qs-box { 
        padding: 12px 4px !important; 
        flex: 1; /* Makes all bubbles equal width */
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .uhs-opponent-profile .uhs-ep-qs-title { 
        font-size: 0.55rem !important; 
        letter-spacing: 0 !important; 
        margin-bottom: 4px !important;
    }
    .uhs-opponent-profile .uhs-ep-qs-val { 
        font-size: 1.1rem !important; 
        white-space: nowrap !important; /* Prevents record dashes from line-breaking */
    }
}

/* ========================================================
   PREMIUM OMNI-SEARCH COMPONENT STYLES
   ======================================================== */
.uhs-omni-container { 
    width: 100%; 
    display: flex; 
    justify-content: center; 
}

.uhs-omni-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 25px;
    padding: 0 15px;
    height: 38px;
    width: 100%;
    max-width: 320px;
    box-sizing: border-box;
    transition: background 0.2s, border-color 0.2s;
}

.uhs-omni-wrapper:focus-within {
    background: #ffffff;
    border-color: var(--uhs-brand-gold, #d4af37);
}

.uhs-omni-input {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: #ffffff !important;
    font-size: 0.9rem !important;
    width: 100% !important;
    height: 100% !important;
    line-height: normal !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.uhs-omni-wrapper:focus-within .uhs-omni-input { 
    color: #1a202c !important; 
}

.uhs-omni-input::placeholder { 
    color: rgba(255,255,255,0.7) !important; 
}

.uhs-omni-wrapper:focus-within .uhs-omni-input::placeholder { 
    color: #cbd5e1 !important; 
}

.omni-submit-icon {
    color: rgba(255,255,255,0.8);
    font-size: 1.05rem;
    margin-left: 8px;
    pointer-events: none; /* Prevents click hijacking */
}

.uhs-omni-wrapper:focus-within .omni-submit-icon { 
    color: #64748b; 
}

.uhs-omni-results {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    width: 350px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    z-index: 999999;
    max-height: 60vh;
    overflow-y: auto;
    text-align: left;
}

/* ========================================================
   MOBILE ESCAPE HATCH (Solves Zoom & Overflow Bugs)
   ======================================================== */
@media (max-width: 768px) {
    .uhs-omni-wrapper {
        max-width: 100%;
        height: 42px; /* Taller for easier tapping */
        background: rgba(255,255,255,0.18); /* Slightly more visible on mobile */
    }
    
    .uhs-omni-input {
        font-size: 16px !important; /* CRITICAL: Prevents iOS from auto-zooming */
        text-align: center !important;
    }

    .uhs-omni-results {
        position: fixed; /* Escapes any overflow:hidden wrappers in the header */
        top: 130px; /* Forces it to drop below the expanded mobile header */
        left: 5%;
        right: 5%;
        width: 90%;
        max-height: 70vh;
        border-radius: 12px;
    }
}

/* ========================================================
   MILESTONE WATCH SPECIFIC STYLES
   ======================================================== */
.uhs-ms-section-title { margin-top: 0; font-size: 1.35rem; font-weight: 900; letter-spacing: 0.5px; margin-bottom: 15px; display: flex; align-items: center; gap: 12px; text-transform: uppercase; }
.uhs-ms-section-bar { display: inline-block; width: 6px; height: 26px; border-radius: 3px; flex-shrink: 0; }
.uhs-status-badge { background: var(--uhs-brand-garnet, #5a1222); color: #fff; padding: 6px 12px; border-radius: 4px; font-weight: 800; font-size: 0.8rem; text-transform: uppercase; box-shadow: 0 2px 4px rgba(0,0,0,0.1); display: inline-block; }

/* Custom Color Overrides for specific milestone tables */
.table-navy thead th { background: #002b5c !important; color: #ffffff !important; border-bottom: none !important; }
.table-gold thead th { background: #d4af37 !important; color: #1a202c !important; border-bottom: none !important; }
.table-garnet thead th { background: #5a1222 !important; color: #ffffff !important; border-bottom: none !important; }

.show-mobile-abbr { display: none; }

@media screen and (max-width: 768px) {
    .uhs-ms-section-title { font-size: 1.15rem; margin-bottom: 12px; gap: 10px; }
    .uhs-ms-section-bar { height: 22px; }
    .hide-mobile-col { display: none !important; }
    .show-mobile-abbr { display: inline-block !important; font-size: 0.8rem; color: #718096; margin-left: 4px; font-weight: 800; }
    .uhs-status-badge { padding: 4px 8px; font-size: 0.75rem; }
}

/* ========================================================
   RECRUITMENT PIPELINE & MAP STYLES
   ======================================================== */
.uhs-progress-bg { background: #edf2f7; border-radius: 20px; height: 10px; width: 100%; overflow: hidden; }
.uhs-progress-fill { background: linear-gradient(90deg, var(--uhs-hover-color, #7b1f29) 0%, var(--uhs-brand-garnet, #5a1222) 100%); height: 100%; }

html body .uhs-master-wrapper .uhs-season-wrapper table.uhr-main-table th,
html body .uhs-season-wrapper table.uhr-main-table th,
.uhr-main-table th { 
    background: var(--uhs-brand-garnet, #5a1222) !important; 
    color: #ffffff !important; 
    padding: 12px 15px; 
    text-transform: uppercase; 
    font-weight: 900; 
    font-size: 0.85rem; 
    letter-spacing: 1px; 
    cursor: pointer; 
    user-select: none; 
    transition: background 0.2s; 
    border-bottom: 3px solid var(--uhs-text-main, #1a202c); 
}

/* Ensure the tiny sorting arrows next to the text are also white */
html body .uhs-master-wrapper .uhs-season-wrapper table.uhr-main-table th::after,
html body .uhs-season-wrapper table.uhr-main-table th::after {
    color: #ffffff !important;
    opacity: 0.8 !important;
}
.uhr-main-table th:hover { background: var(--uhs-hover-color, #7b1f29); }

.uhr-league-row { cursor: pointer; background: #ffffff; border-bottom: 1px solid #edf2f7; transition: background 0.15s; }
.uhr-league-row:hover { background: var(--uhs-brand-garnet, #5a1222) !important; color: #fff !important; }
.uhr-league-row:hover td { color: #fff !important; }
.uhr-league-row:hover .pace-val-text { color: #fff !important; }
.uhr-league-row:hover .uhs-badge { background: #fff !important; color: var(--uhs-brand-garnet, #5a1222) !important; }

.uhr-team-row { cursor: pointer; background: var(--uhs-bg-light, #f8fafc); border-bottom: 1px solid #e2e8f0; transition: background 0.15s; }
.uhr-team-row:hover { background: var(--uhs-brand-navy, #1d4e89) !important; color: #fff !important; }
.uhr-team-row:hover td { color: #fff !important; }
.uhr-team-row:hover .uhs-badge { background: #fff !important; color: var(--uhs-brand-navy, #1d4e89) !important; }

.uhr-player-row { background: #ffffff; border-bottom: 1px solid #edf2f7; font-size: 0.9rem; }
.uhr-player-row:hover td { background: #edf2f7 !important; }

.uhs-badge { background: var(--uhs-brand-garnet, #5a1222); color: #fff; font-size: 0.8rem; font-weight: 900; padding: 4px 12px; border-radius: 12px; transition: all 0.2s; display: inline-block; min-width: 25px; text-align: center; }
.uhr-caret { display: inline-block; width: 15px; font-weight: 900; font-size: 0.8rem; transition: transform 0.2s; }
.uhr-row-open .uhr-caret { transform: rotate(90deg); }

#uhs-pipeline-map { width: 100%; height: 450px; border-radius: 8px; border: 1px solid #cbd5e1; margin-top: 15px; }

/* ========================================================
   PIPELINE CATEGORY HEADERS & BUBBLES (DESKTOP BASE)
   ======================================================== */
.uhr-filter-dashboard { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; margin-bottom: 30px; border-bottom: 2px solid #e2e8f0; padding-bottom: 20px; }
.uhr-category-header { background: var(--uhs-text-main, #1a202c); color: #fff; padding: 15px 20px; margin-top: 30px; margin-bottom: 0; text-transform: uppercase; font-weight: 900; font-size: 1.2rem; letter-spacing: 1px; border-radius: 6px 6px 0 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.uhr-cat-stats-wrapper { display: flex; gap: 10px; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.5px; opacity: 0.95; }
.uhr-cat-stats-wrapper span.cat-stat-base { background: rgba(255,255,255,0.15); padding: 5px 12px; border-radius: 20px; }
.uhr-cat-stats-wrapper span.cat-stat-pop { background: var(--uhs-brand-garnet, #5a1222); padding: 5px 12px; border-radius: 20px; color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }

/* ========================================================
   PIPELINE MOBILE OVERRIDES
   ======================================================== */
@media (max-width: 768px) {
    /* Adjust header so title is on top, bubbles are on bottom */
    .uhr-category-header { 
        flex-direction: column !important; 
        align-items: flex-start !important; 
        padding: 12px 15px !important; 
        gap: 10px !important; 
    }

    /* Force bubbles into a single row and shrink them */
    .uhr-cat-stats-wrapper { 
        flex-direction: row !important; 
        flex-wrap: nowrap !important; /* Prevents stacking */
        width: 100% !important; 
        justify-content: space-between !important; 
        gap: 5px !important; 
    }

    .uhr-cat-stats-wrapper span.cat-stat-base,
    .uhr-cat-stats-wrapper span.cat-stat-pop { 
        padding: 5px 4px !important; 
        font-size: 0.65rem !important; 
        letter-spacing: 0 !important;
        flex: 1 !important; /* Makes all 3 bubbles exactly equal width */
        text-align: center !important;
        white-space: nowrap !important; /* Prevents text from breaking onto two lines */
    }

    /* Keep the rest of your mobile table shrinks intact */
    .uhr-filter-dashboard { flex-direction: column !important; align-items: stretch !important; gap: 15px !important; }
    .uhr-main-table th { padding: 10px 4px !important; font-size: 0.65rem !important; letter-spacing: 0; }
    .uhr-main-table td { padding: 10px 4px !important; font-size: 0.75rem !important; }
    .uhr-league-row td:first-child { padding-left: 8px !important; font-size: 0.85rem !important; }
    .uhr-team-row td:first-child { padding-left: 20px !important; font-size: 0.8rem !important; }
    .uhr-player-row td:first-child { padding-left: 35px !important; }
    .uhs-badge { padding: 3px 8px !important; font-size: 0.7rem !important; min-width: 20px !important; }
    .pace-val-text { font-size: 0.9rem !important; }
    .pace-pct-text { font-size: 0.75rem !important; min-width: 35px !important; }
    .uhs-progress-bg { height: 4px !important; }
}

/* ========================================================
   PRO ALUMNI DIRECTORY STYLES
   ======================================================== */
.uhs-pro-filter-row {
    display: flex; 
    gap: 15px; 
    align-items: center; 
    margin-bottom: 25px; 
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .uhs-pro-filter-row {
        flex-direction: column;
        align-items: stretch;
    }
    .uhs-pro-filter-row > * {
        width: 100% !important;
    }
}

/* ========================================================
   ALL-TIME CAPTAINS STYLES
   ======================================================== */
.cap-sep { margin: 0 8px; color: #cbd5e1; }
.uhs-premium-table tbody tr:hover td .cap-sep { color: rgba(255,255,255,0.4) !important; }

@media (max-width: 768px) {
    /* Force Captains Table into Stacked Cards Layout for Mobile */
    .uhs-captains-scroll { border: none !important; box-shadow: none !important; overflow: visible !important; }
    
    .uhs-captains-table, 
    .uhs-captains-table tbody, 
    .uhs-captains-table tr, 
    .uhs-captains-table td { display: block !important; width: 100% !important; box-sizing: border-box !important; }
    
    .uhs-captains-table thead { display: none !important; }
    
    .uhs-captains-table tr { margin-bottom: 15px !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important; overflow: hidden !important; }
    
    /* Default Card Styling */
    .uhs-captains-table td:first-child { background: #f8fafc !important; text-align: center !important; font-size: 1.4rem !important; padding: 12px !important; border-bottom: 2px solid #e2e8f0 !important; color: var(--uhs-brand-garnet, #5a1222) !important; transition: all 0.2s ease; }
    .uhs-captains-table td:nth-child(2) { padding: 10px 20px !important; text-align: center !important; background: #ffffff !important; transition: all 0.2s ease; }
    
    .uhs-captains-table .cap-sep { display: none !important; }
    .uhs-captains-table td:nth-child(2) a { display: block !important; padding: 12px 0 !important; font-size: 1.15rem !important; border-bottom: 1px dashed #e2e8f0 !important; transition: color 0.2s ease; }
    .uhs-captains-table td:nth-child(2) a:last-child { border-bottom: none !important; }
    
    /* Even Row Base Styling */
    .uhs-captains-table.uhs-premium-table tbody tr:nth-child(even) td:nth-child(2) { background-color: #ffffff !important; }

    /* HOVER FIX: Forces entire card (including even rows) to turn White on Red */
    .uhs-captains-table.uhs-premium-table tbody tr:hover td:first-child,
    .uhs-captains-table.uhs-premium-table tbody tr:hover td:nth-child(2),
    .uhs-captains-table.uhs-premium-table tbody tr:nth-child(even):hover td:nth-child(2) {
        background-color: var(--uhs-brand-garnet, #5a1222) !important;
        color: #ffffff !important;
    }

    /* Keep Links and Borders visible inside the Red hover state */
    .uhs-captains-table.uhs-premium-table tbody tr:hover td:nth-child(2) a {
        color: #ffffff !important;
        border-bottom-color: rgba(255,255,255,0.3) !important;
    }
    .uhs-captains-table.uhs-premium-table tbody tr:hover td:first-child {
        border-bottom-color: rgba(0,0,0,0.2) !important;
    }
}

/* ========================================================
   COACHING HISTORY STYLES
   ======================================================== */
.uhs-coaches-container { 
    max-width: 100%; 
}
.uhs-no-milestones-text { 
    color: #64748b; 
    font-size: 0.9rem; 
    margin: 0; 
    font-weight: 600; 
}

/* ========================================================
   BOXSCORE MATCHUP BANNER STYLES
   ======================================================== */
.uhs-boxscore-top-banner { background: linear-gradient(135deg, var(--uhs-grad-start, #001d3d) 0%, var(--uhs-grad-mid, #420d19) 30%, var(--uhs-grad-end, #22050b) 100%) !important; padding: 40px 30px; text-align: center; border-bottom: 6px solid var(--uhs-hover-color, #d4af37) !important; border-radius: 8px 8px 0 0; }
.uhs-matchup-logos-wrap { display: flex; align-items: center; justify-content: center; gap: 40px; margin-bottom: 20px; flex-wrap: nowrap; }
.uhs-matchup-logo { width: 120px; height: auto; filter: drop-shadow(0px 4px 8px rgba(0,0,0,0.4)); flex-shrink: 0; }
.uhs-matchup-vs { font-size: 2.5rem; font-weight: 900; color: var(--uhs-brand-gold, #d4af37); font-family: 'Arial Black', Gadget, sans-serif; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); flex-shrink: 0; }
.uhs-box-score-text { margin: 0 0 10px 0; font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-size: 3.5rem; color: #ffffff; text-transform: uppercase; font-weight: 900; letter-spacing: 1px; line-height: 1; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }
.uhs-box-meta-text { font-size: 1.15rem; color: #e2e8f0; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }

/* Clean CSS Hover Animation */
.uhs-opp-logo-link img { transition: transform 0.2s ease; }
.uhs-opp-logo-link:hover img { transform: scale(1.05); }

@media (max-width: 768px) {
    .uhs-boxscore-top-banner { padding: 25px 15px; }
    .uhs-matchup-logos-wrap { gap: 15px; margin-bottom: 15px; }
    .uhs-matchup-logo { width: 60px; } 
    .uhs-matchup-vs { font-size: 1.6rem; } 
    .uhs-box-score-text { font-size: 2.2rem; } 
    .uhs-box-meta-text { font-size: 0.8rem; line-height: 1.3; display: block; }
}

/* ========================================================
   STAT COMPARISON ARENA STYLES
   ======================================================== */
.uhs-compare-toggle-box { 
    display: flex;
    flex-wrap: nowrap; /* Forces them to stay on one line */
    gap: 10px;
    margin-bottom: 25px; 
    background: var(--uhs-bg-light, #f8fafc); 
    padding: 12px; 
    border-radius: 8px; 
    border: 1px solid #e2e8f0; 
}

.uhs-compare-toggle-box .uhs-comp-mode-tab {
    flex: 1; /* Makes both buttons take up exactly equal width */
    text-align: center;
}

.uhs-comp-ui-pane { 
    background: #fdfdfd; 
    padding: 20px; 
    border-radius: 8px; 
    border: 1px solid #e2e8f0; 
}

/* Mobile Overrides for the Toggle Buttons */
@media (max-width: 768px) {
    .uhs-compare-toggle-box {
        gap: 5px !important;
        padding: 8px !important;
    }
    .uhs-compare-toggle-box .uhs-comp-mode-tab {
        font-size: 0.75rem !important; /* Shrinks the text so it fits */
        padding: 8px 4px !important;
        white-space: normal !important; /* Allows long text to stack cleanly inside the button */
        line-height: 1.2 !important;
        margin: 0 !important;
    }
}

/* ========================================================
   TEAM SEASON STATISTICS STYLES
   ======================================================== */
.uhs-stat-heading-wrap { padding: 20px 25px 0 25px; }
.uhs-stat-body-wrap { padding: 15px 25px 25px 25px; }
.uhs-no-data-msg { color: #718096; font-style: italic; }

/* Allow the grid to naturally wrap into 2 rows if it runs out of space */
.uhs-leaders-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; padding: 25px; background: var(--uhs-bg-light, #f8fafc); border-bottom: 1px solid #e2e8f0; }
.uhs-leader-card { background: #fff; border: 1px solid #cbd5e1; border-radius: 8px; padding: 15px 10px; text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.02); transition: transform 0.2s, box-shadow 0.2s; }
.uhs-leader-card:hover { transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.1); border-color: var(--uhs-brand-garnet, #5a1222); }
.uhs-leader-stat { font-size: 2.5rem; font-weight: 900; color: var(--uhs-brand-garnet, #5a1222); line-height: 1; margin: 10px 0; font-family: 'Arial Black', Gadget, sans-serif; }
.uhs-leader-label { font-size: 0.75rem; font-weight: 800; color: var(--uhs-text-muted, #64748b); text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid #edf2f7; padding-bottom: 5px; margin-bottom: 5px; }
.uhs-leader-subtext { font-size: 0.6rem; font-weight: normal; color: #94a3b8; }
.uhs-leader-name { font-size: 0.95rem; font-weight: 800; color: var(--uhs-text-main, #1e293b); text-decoration: none; transition: color 0.2s; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uhs-leader-name:hover { color: var(--uhs-brand-garnet, #5a1222); }

.uhs-section-heading { margin: 0; color: var(--uhs-text-main, #1a202c); text-transform: uppercase; font-weight: 900; font-size: 1.25rem; border-bottom: 3px solid var(--uhs-brand-garnet, #5a1222); padding-bottom: 6px; display: inline-block; letter-spacing: 1px; }

.uhs-stat-highlight { font-weight: 900; color: var(--uhs-brand-garnet, #5a1222); font-size: 1.1rem; }
.uhs-premium-table tbody tr:hover td .uhs-stat-highlight { color: #f1db6a !important; }
/* ========================================================
   TEAM SEASON STATS - MOBILE OVERRIDES
   ======================================================== */
@media (max-width: 768px) {
    /* Force the grid into 2 equal columns and reduce outer padding */
    .uhs-leaders-grid { 
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 10px !important; 
        padding: 15px 10px !important; 
    }
    
    /* Shrink the card padding to maximize internal space */
    .uhs-leader-card { 
        padding: 12px 5px !important; 
    }
    
    /* Shrink the fonts so large numbers and long names don't overflow */
    .uhs-leader-stat { 
        font-size: 1.8rem !important; 
        margin: 5px 0 !important; 
    }
    
    .uhs-leader-label { 
        font-size: 0.65rem !important; 
        letter-spacing: 0 !important; 
    }
    
    .uhs-leader-name { 
        font-size: 0.8rem !important; 
    }
}

/* ========================================================
   ECAC PLAYER PROFILE SPECIFIC STYLES
   ======================================================== */
.uhs-profile-wrap { 
    width: 100% !important; 
    box-sizing: border-box !important;
    background: #fff; 
    border: 1px solid #e2e8f0; 
    border-radius: 10px; 
    overflow: hidden; 
    box-shadow: 0 4px 20px rgba(0,0,0,0.08); 
    margin-bottom: 30px; 
}
.uhs-ep-header { 
    padding: 35px 30px; 
    position: relative; 
    border-bottom: 6px solid var(--uhs-hover-color, #d4af37) !important; 
}
.uhs-ep-header-inner {
    display: flex; 
    align-items: center; 
    gap: 25px; 
    flex-wrap: nowrap;
}
.uhs-ep-team-logo { 
    width: 80px; 
    height: auto; 
    filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.4)); 
}
.uhs-ep-name { 
    margin: 0; 
    font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; 
    font-size: clamp(1.8rem, 5vw, 3rem); 
    font-weight: 900; 
    text-transform: uppercase; 
    line-height: 1.1; 
    letter-spacing: -0.5px; 
}
.uhs-ep-badges { 
    display: flex; 
    gap: 10px; 
    flex-wrap: wrap; 
    margin-top: 12px; 
}
.uhs-ep-badge { 
    padding: 6px 14px; 
    border-radius: 20px; 
    font-size: 0.85rem; 
    font-weight: 800; 
    text-transform: uppercase; 
    background: rgba(255,255,255,0.2); 
    backdrop-filter: blur(4px); 
    border: 1px solid rgba(255,255,255,0.35); 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
}
.uhs-ep-badge.draft { 
    background: #d4af37 !important; 
    color: #000 !important; 
    border-color: #d4af37 !important; 
}
.uhs-draft-logo { 
    width: 28px !important; 
    height: 28px !important; 
    object-fit: contain; 
    filter: drop-shadow(0px 1px 2px rgba(0,0,0,0.3)); 
}
.uhs-ep-body { 
    padding: 30px; 
    background: #fafafa; 
}

@media (max-width: 768px) {
    .uhs-ep-header { padding: 25px 15px; }
    
    /* Create a Grid where row 1 is Logo + Name, and row 2 is full-width Badges */
    .uhs-ep-header-inner { 
        display: grid !important;
        grid-template-columns: 65px 1fr !important;
        grid-template-areas: 
            "logo name"
            "badges badges" !important;
        gap: 15px 12px !important;
        align-items: center !important;
    }
    
    .uhs-ep-logo-wrap { grid-area: logo; }
    .uhs-ep-team-logo { width: 60px !important; height: auto !important; margin: 0 !important; }
    
    /* MAGIC: This "dissolves" the wrapper so Name and Badges can be placed on the grid independently */
    .uhs-ep-info-wrap { display: contents !important; }
    
    .uhs-ep-name { 
        grid-area: name; 
        font-size: 1.6rem !important; 
        margin: 0 !important;
    }
    
    /* Force the badges container to span the entire width below the logo */
    .uhs-ep-badges {
        grid-area: badges;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-top: 0 !important;
    }

    /* Position & Class share 50% width on their row */
    .uhs-ep-badge {
        flex: 1 1 0% !important; 
        justify-content: center !important;
        text-align: center !important;
        padding: 8px 4px !important;
        font-size: 0.75rem !important;
        white-space: nowrap !important;
    }

    /* Force the NHL draft badge to break to a new line and span 100% width */
    .uhs-ep-badge.draft {
        flex: 1 1 100% !important;
    }

    .uhs-draft-logo { width: 22px !important; height: 22px !important; }
    .uhs-ep-body { padding: 20px 15px; }
}

/* ========================================================
   GOALIE FATIGUE INDEX STYLES
   ======================================================== */
.uhs-fatigue-desc { font-size: 0.95rem; color: var(--uhs-text-muted, #4a5568); margin: 0 0 25px 0; line-height: 1.6; font-weight: 600; }
.uhs-fatigue-name { font-weight: bold; color: var(--uhs-text-main, #2d3748); text-align: left; padding-left: 20px !important; }
.uhs-fatigue-var { font-weight: 900; font-size: 1.05rem; }
.uhs-fatigue-empty { padding: 20px; text-align: center; color: #718096; }

/* ========================================================
   GOALIE FATIGUE INDEX COLOR & LINK OVERRIDES
   ======================================================== */
.uhs-fatigue-pos { color: #38a169 !important; font-weight: 900; }
.uhs-fatigue-neg { color: #e53e3e !important; font-weight: 900; }
.uhs-fatigue-neu { color: #718096 !important; font-weight: 900; }

.uhs-fatigue-link {
    color: var(--uhs-text-main, #2d3748) !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    transition: color 0.2s ease;
}
.uhs-fatigue-link:hover {
    color: var(--uhs-brand-garnet, #5a1222) !important;
}

/* Ensure row hover states keep text readable for fatigue links */
.uhs-premium-table tbody tr:hover td .uhs-fatigue-link {
    color: #ffffff !important;
}

/* ========================================================
   GAME ARCHIVE STYLES
   ======================================================== */
.uhs-archive-filter-bar { padding: 25px 30px; background: var(--uhs-bg-light, #f8fafc); border-bottom: 1px solid #e2e8f0; display: flex; gap: 15px; align-items: center; flex-wrap: wrap; }
.uhs-archive-search { flex: 1; min-width: 250px; text-align: left; cursor: text; }
.uhs-archive-select-wrap { display: flex; align-items: center; gap: 10px; }
.uhs-archive-label { font-weight: 800; color: var(--uhs-text-muted, #4a5568); text-transform: uppercase; font-size: 0.85rem; letter-spacing: 0.5px; }
.uhs-archive-table-wrap { margin: 0; border: none; box-shadow: none; border-radius: 0 0 8px 8px; }

/* ========================================================
   PACE 3 STARS OF THE GAME STYLES
   ======================================================== */
.uhs-3-stars-container { background: var(--uhs-bg-light, #fdfdfd); border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px; margin: 25px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
.uhs-3-stars-header { text-align: center; margin-bottom: 20px; }
.uhs-3-stars-title { color: var(--uhs-brand-garnet, #5a1222); text-transform: uppercase; margin: 0; font-size: 1.2rem; font-weight: 900; letter-spacing: 1px; }
.uhs-3-stars-desc { margin: 5px 0 0 0; font-size: 0.85rem; color: var(--uhs-text-muted, #64748b); }
.uhs-3-stars-grid { display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; }
.uhs-star-card { flex: 1; min-width: 200px; max-width: 300px; background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; padding: 15px; text-align: center; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }

.uhs-star-label { font-weight: 900; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px; margin-bottom: 5px; text-shadow: 1px 1px 1px rgba(0,0,0,0.1); }
.uhs-star-name { font-weight: 900; margin-bottom: 3px; }
.uhs-star-name a { color: var(--uhs-text-main, #1a202c); text-decoration: none; }
.uhs-star-stat { font-size: 0.8rem; color: var(--uhs-text-muted, #64748b); font-weight: bold; margin-bottom: 10px; }
.uhs-star-pace { display: inline-block; background: var(--uhs-brand-garnet, #5a1222); color: #fff; font-weight: 900; padding: 4px 10px; border-radius: 12px; font-size: 0.85rem; }

.uhs-star-1 { border-top: 4px solid #d4af37; }
.uhs-star-1 .uhs-star-label { color: #d4af37; }
.uhs-star-1 .uhs-star-name { font-size: 1.1rem; }

.uhs-star-2 { border-top: 4px solid #9e9e9e; }
.uhs-star-2 .uhs-star-label { color: #9e9e9e; }
.uhs-star-2 .uhs-star-name { font-size: 1rem; }

.uhs-star-3 { border-top: 4px solid #cd7f32; }
.uhs-star-3 .uhs-star-label { color: #cd7f32; }
.uhs-star-3 .uhs-star-name { font-size: 0.95rem; }

/* ========================================================
   ROSTER LINE GENERATOR STYLES
   ======================================================== */
.uhs-line-header-actions { display: flex; gap: 10px; align-items: center; }
.uhs-line-season-select { min-width: 200px; }
.uhs-line-all-time-opt { font-weight: bold; color: var(--uhs-brand-garnet, #5a1222); }
.uhs-line-reset-btn { padding: 10px 15px; }
.uhs-line-ui-wrap { padding: 30px; }
.uhs-line-dropdown { width: 100%; border-width: 1px !important; }
.uhs-scratch-title { color: var(--uhs-brand-navy, #002b5c); margin-top: 0; }

/* ========================================================
   PROGRAM HONORS STYLES
   ======================================================== */
.uhs-award-category-title { color: var(--uhs-brand-garnet, #5a1222); margin-top: 30px; margin-bottom: 12px; font-size: 1.25rem; font-weight: 900; border-bottom: 3px solid var(--uhs-brand-garnet, #5a1222); padding-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.uhs-award-group-header { 
    color: #ffffff !important; /* Force white text over the global theme */
    background: var(--uhs-brand-garnet, #5a1222); 
    padding: 12px 20px; 
    border-radius: 6px; 
    text-transform: uppercase; 
    font-weight: 900; 
    letter-spacing: 1px; 
    font-size: 1.1rem; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); 
    margin-bottom: 0; 
}
.uhs-award-group-wrap { margin-bottom: 40px; }
.uhs-award-group-wrap.ecac { margin-top: 20px; margin-bottom: 20px; }

/* ========================================================
   COMPACT SIDEBAR WIDGET STYLES
   ======================================================== */
.uhs-widget-compact { font-family: 'Segoe UI', Roboto, sans-serif; }

/* On This Day Styles */
.uhs-otd-wrap { padding: 10px; }
.uhs-otd-title { font-size: 0.7rem; font-weight: 800; color: #64748b; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px; text-align: center; }
.uhs-otd-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.uhs-otd-table tr { border-bottom: 1px solid #f1f5f9; }
.uhs-otd-year { padding: 6px 0; font-weight: bold; width: 40px; color: var(--uhs-text-main, #1a202c); }
.uhs-otd-opp { padding: 6px 0; display: flex; align-items: center; gap: 6px; }
.uhs-otd-opp img { width: 14px; height: 14px; object-fit: contain; }
.uhs-otd-opp a { color: var(--uhs-text-main, #1a202c); text-decoration: none; font-weight: 700; }
.uhs-otd-opp a:hover { color: var(--uhs-brand-garnet, #5a1222); }
.uhs-otd-score { padding: 6px 0; text-align: right; font-weight: 900; }

/* Player Spotlight Styles */
.uhs-spotlight-wrap { text-align: center; padding: 15px 10px; }
.uhs-spotlight-label { font-size: 0.65rem; font-weight: 800; color: #64748b; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.uhs-spotlight-name { color: var(--uhs-brand-garnet, #5a1222); text-transform: uppercase; font-size: 1.15rem; font-weight: 900; margin: 0 0 4px 0; line-height: 1.1; }
.uhs-spotlight-meta { font-size: 0.75rem; color: #475569; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; }
.uhs-spotlight-stats { display: flex; justify-content: center; gap: 5px; flex-wrap: wrap; }
.uhs-spotlight-stat-box { border: 1px solid #cbd5e1; border-radius: 4px; padding: 6px; min-width: 40px; background: var(--uhs-bg-light, #f8fafc); flex: 1; }
.uhs-stat-lbl { display: block; font-size: 0.6rem; color: #64748b; font-weight: 800; text-transform: uppercase; }
.uhs-stat-val { display: block; font-size: 0.95rem; font-weight: 900; color: var(--uhs-brand-garnet, #5a1222); margin-top: 2px; }
.uhs-spotlight-link { display: inline-block; margin-top: 10px; background: var(--uhs-brand-garnet, #5a1222); color: #fff; padding: 5px 12px; border-radius: 4px; text-decoration: none; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; transition: background 0.2s; }
.uhs-spotlight-link:hover { background: var(--uhs-hover-color, #7b1f29); color: #fff; }

/* ========================================================
   ADVANCED QUERY ARENA STYLES
   ======================================================== */
#uhsAdvancedQueryResultTable thead th.uhs-highlight-col { background-color: #fde047 !important; color: var(--uhs-brand-garnet, #5a1222) !important; }
#uhsAdvancedQueryResultTable tbody tr td.uhs-highlight-col { background-color: #fef08a !important; color: var(--uhs-text-main, #1a202c) !important; font-weight: 900 !important; }
#uhsAdvancedQueryResultTable tbody tr:hover td.uhs-highlight-col { background-color: var(--uhs-brand-gold, #d4af37) !important; color: var(--uhs-text-main, #1a202c) !important; }
.uhs-query-results-wrap { margin-top: 30px; min-height: 100px; }
.uhs-query-results-wrap .uhs-table-scroll { max-height: 70vh !important; }

/* ========================================================
   TEAM SCHEDULE STYLES
   ======================================================== */
.uhs-sched-opp-block { display: flex; align-items: center; gap: 15px; }
.uhs-sched-logo { width: 45px; height: 45px; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.15)); }
.uhs-sched-name { font-weight: 900; font-size: 1.05rem; color: #1a202c; text-transform: uppercase; transition: color 0.2s; text-decoration: none; }
.uhs-sched-name:hover { color: var(--uhs-hover-color, #5a1222); }
    
.uhs-loc-badge { font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 4px 10px; border-radius: 4px; display: inline-block; }
.loc-home { background: var(--uhs-brand-garnet, #5a1222); color: #fff; }
.loc-away { background: #e2e8f0; color: #4a5568; border: 1px solid #cbd5e1; }
.loc-neutral { background: #1a202c; color: #fff; }
    
.uhs-res-text { font-size: 1.15rem; font-weight: 900; letter-spacing: 0.5px; }
.uhs-res-text.win { color: #2e7d32; }
.uhs-res-text.loss { color: #c62828; }
.uhs-res-text.tie { color: #f57f17; }
    
.uhs-boxscore-btn { display: inline-block; background: #f8fafc; color: var(--uhs-brand-garnet, #5a1222) !important; border: 2px solid var(--uhs-brand-garnet, #5a1222); padding: 6px 14px; border-radius: 20px; font-weight: 800; font-size: 0.75rem; text-transform: uppercase; text-decoration: none !important; transition: all 0.2s; margin-left: 15px; }
.uhs-boxscore-btn:hover { background: var(--uhs-brand-garnet, #5a1222); color: #ffffff !important; }

@media (max-width: 768px) {
    .uhs-sched-opp-block { gap: 6px !important; }
    .uhs-sched-logo { width: 20px !important; height: 20px !important; }
    .uhs-sched-name { font-size: 0.7rem !important; line-height: 1.1 !important; white-space: normal !important; }
        
    .uhs-loc-badge { font-size: 0.6rem !important; padding: 3px 6px !important; }
    .hide-mobile { display: none !important; }
        
    .uhs-boxscore-btn { display: block; margin: 4px auto 0 auto; text-align: center; font-size: 0.6rem !important; padding: 4px 8px !important; width: fit-content; }
    .uhs-res-text { font-size: 0.85rem !important; }
}

/* ========================================================
   TEAM ROSTER STYLES (Double Sticky Columns)
   ======================================================== */
.uhs-roster-table .uhs-col-no { min-width: 65px !important; text-align: center !important; font-weight: 500 !important; color: var(--uhs-text-muted, #94a3b8) !important; }
.uhs-roster-table .uhs-col-player { min-width: 240px !important; text-align: left !important; }

.uhs-roster-table td.uhs-col-no { position: sticky !important; left: 0 !important; z-index: 2; background-color: inherit; }
.uhs-roster-table td.uhs-col-player { position: sticky !important; left: 65px !important; z-index: 2; background-color: inherit; border-right: 2px solid #cbd5e1 !important; }

.uhs-roster-table th.uhs-col-no { position: sticky !important; left: 0 !important; z-index: 15 !important; }
.uhs-roster-table th.uhs-col-player { position: sticky !important; left: 65px !important; z-index: 15 !important; border-right: 2px solid #cbd5e1 !important; }

.uhs-roster-table tbody tr:hover > td.uhs-col-no,
.uhs-roster-table tbody tr:hover > td.uhs-col-player { background-color: var(--uhs-table-hover, #5a1222) !important; color: #ffffff !important; }
.uhs-roster-table tbody tr:hover > td.uhs-col-player { border-right: 2px solid var(--uhs-hover-color, #4d1217) !important; }

.uhs-player-name-link { font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-weight: 900; color: var(--uhs-text-main, #111); font-size: 1.05rem; transition: color 0.2s; letter-spacing: -0.5px; }
.uhs-roster-table tbody tr:hover td .uhs-player-name-link { color: #ffffff !important; }

@media (max-width: 768px) {
    .uhs-roster-table .uhs-col-no { min-width: 45px !important; padding: 4px !important; }
    .uhs-roster-table .uhs-col-player { min-width: 140px !important; padding: 4px !important; line-height: 1.1 !important; }
    .uhs-roster-table th.uhs-col-player, .uhs-roster-table td.uhs-col-player { left: 45px !important; border-right: 1px solid #cbd5e1 !important; }
    .uhs-player-name-link { font-size: 0.8rem !important; letter-spacing: -0.3px !important; }
}

/* ========================================================
   PRO PLAYER PROFILE STYLES
   ======================================================== */
.uhs-pro-back-btn { font-weight: 800; color: var(--uhs-brand-garnet, #5a1222); text-decoration: none; border: 2px solid var(--uhs-brand-garnet, #5a1222); padding: 8px 20px; border-radius: 25px; display: inline-block; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; transition: all 0.2s; margin-bottom: 25px; }
.uhs-pro-back-btn:hover { background: var(--uhs-brand-garnet, #5a1222); color: #fff; }
.uhs-pro-glossary-btn { background: #fff; border: 2px solid #cbd5e1; color: #4a5568; padding: 10px 20px; border-radius: 25px; font-weight: 800; cursor: pointer; text-transform: uppercase; font-size: 0.8rem; transition: all 0.2s; letter-spacing: 0.5px; }
.uhs-pro-glossary-btn:hover { border-color: var(--uhs-brand-garnet, #5a1222); color: var(--uhs-brand-garnet, #5a1222); }
@media (max-width: 768px) { .uhs-pro-glossary-btn { width: 100%; box-sizing: border-box; } }

/* ========================================================
   SIMILARITY HUB STYLES
   ======================================================== */
.uhs-simhub-body { padding: 30px; min-height: 200px; }
.uhs-search-controls { padding: 20px 30px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; display: flex; gap: 15px; align-items: center; justify-content: center; flex-wrap: wrap; text-align: center; }
.uhs-search-select { padding: 12px 20px; border-radius: 25px; border: 2px solid #cbd5e1; font-size: 1rem; color: #1e293b; font-weight: 800; cursor: pointer; outline: none; background: #fff; transition: all 0.2s; min-width: 300px; max-width: 100%; box-shadow: inset 0 2px 4px rgba(0,0,0,0.02); }
.uhs-search-select:focus, .uhs-search-select:hover { border-color: #5a1222; }
@media (max-width: 768px) {
    .uhs-search-controls { padding: 15px !important; flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
    .uhs-search-select { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
    .uhs-simhub-body { padding: 15px 10px !important; }
}

/* ========================================================
   RECRUITING HEAT MAP STYLES
   ======================================================== */
.uhs-pipeline-body { padding: 30px; }
.uhs-filter-row { text-align: center; margin-bottom: 30px; background: #f8fafc; padding: 20px; border-radius: 8px; border: 1px solid #e2e8f0; }
.uhs-filter-select { padding: 10px 20px; border-radius: 25px; border: 2px solid #cbd5e1; font-size: 0.95rem; color: #5a1222; font-weight: 800; cursor: pointer; outline: none; background: #fff; transition: all 0.2s; max-width: 100%; }
.uhs-filter-select:focus, .uhs-filter-select:hover { border-color: #5a1222; }
.uhs-maps-flex { display: flex; flex-wrap: wrap; gap: 25px; justify-content: center; width: 100%; margin-bottom: 30px; }
.uhs-geo-vector { flex: 1 1 calc(50% - 15px); min-width: 350px; height: 400px !important; min-height: 400px !important; border: 1px solid #e2e8f0; border-radius: 8px; background: #ffffff; box-shadow: 0 2px 8px rgba(0,0,0,0.02); overflow: hidden; }
.uhs-geo-vector svg { pointer-events: auto !important; }
.uhs-map-grid-wrap { margin: 20px 0 0 0; border-top: 2px solid #e2e8f0; padding-top: 25px; max-width: 100%; }
.uhs-map-grid-table { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 15px; }
.uhs-region-card { background: #f8f9fa; border: 1px solid #e2e8f0; padding: 12px 18px; border-radius: 6px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; transition: all 0.2s; }
.uhs-region-card:hover { border-color: #5a1222; background: #5a1222 !important; color: #fff !important; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(90,18,34,0.2); }
.uhs-region-card:hover * { color: #fff !important; }
.uhs-region-name { font-weight: 700; color: #2d3748; }
.uhs-region-count { background: #5a1222; color: #fff; font-size: 0.8rem; font-weight: 800; padding: 3px 10px; border-radius: 12px; transition: all 0.2s; }
.uhs-region-card:hover .uhs-region-count { background: #fff !important; color: #5a1222 !important; }
.uhs-modal { display: none; position: fixed; z-index: 99999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); align-items: center; justify-content: center; }
.uhs-modal-content { background: #fff; padding: 30px; border-radius: 10px; max-width: 500px; width: 90%; max-height: 80vh; overflow-y: auto; position: relative; border-top: 6px solid #5a1222; box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
.uhs-modal-close { position: absolute; top: 15px; right: 20px; font-size: 1.5rem; font-weight: bold; cursor: pointer; color: #64748b; transition: color 0.2s; }
.uhs-modal-close:hover { color: #5a1222; }
.uhs-modal-table { width: 100%; border-collapse: collapse; margin-top: 15px; }
.uhs-modal-table th { border-bottom: 2px solid #5a1222; padding: 10px; color: #5a1222; font-size: 0.8rem; text-transform: uppercase; font-weight: 800; letter-spacing: 0.5px; }
.uhs-modal-table td { padding: 12px 10px; border-bottom: 1px solid #edf2f7; font-size: 0.9rem; color: #2d3748; font-weight: 600; }
@media (max-width: 768px) {
    .uhs-pipeline-body { padding: 15px 10px !important; }
    .uhs-filter-row { padding: 15px 10px !important; }
    .uhs-filter-row label { display: block !important; margin-right: 0 !important; margin-bottom: 8px !important; }
    .uhs-filter-select { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
    .uhs-maps-flex { gap: 15px !important; }
    .uhs-geo-vector { flex: 1 1 100% !important; min-width: 100% !important; height: 320px !important; min-height: 320px !important; }
    .uhs-map-grid-table { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important; gap: 10px !important; }
    .uhs-region-card { padding: 10px 12px !important; }
}

/* ========================================================
   PERSONNEL TRACKER STYLES
   ======================================================== */
.uhs-personnel-header { color: var(--uhs-brand-garnet, #5a1222); margin-top: 35px; margin-bottom: 12px; font-size: 1.25rem; font-weight: 900; border-bottom: 3px solid var(--uhs-brand-garnet, #5a1222); padding-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.uhs-pt-col-player { min-width: 220px !important; text-align: left !important; padding-left: 20px !important; position: sticky !important; left: 0 !important; z-index: 2; background-color: inherit; border-right: 2px solid #cbd5e1 !important; }
.uhs-pt-col-team { min-width: 250px !important; text-align: left !important; padding-left: 20px !important; }
.uhs-pt-col-stats { min-width: 220px !important; white-space: nowrap !important; }
.uhs-premium-table th.uhs-pt-col-player { position: sticky !important; left: 0 !important; z-index: 15 !important; border-right: 2px solid #cbd5e1 !important; }
.uhs-premium-table tbody tr:hover td.uhs-pt-col-player { border-right: 2px solid var(--uhs-hover-color, #4d1217) !important; }
.uhs-premium-table img.uhs-pt-logo { flex-shrink: 0 !important; width: 28px !important; height: auto !important; }
@media (max-width: 768px) {
    .uhs-personnel-header { font-size: 1.1rem !important; margin-top: 25px !important; padding-left: 0 !important; }
    .uhs-premium-table td.uhs-pt-col-stats { white-space: nowrap !important; min-width: 210px !important; }
    .uhs-pt-col-player { min-width: 150px !important; padding-left: 12px !important; padding-right: 8px !important; line-height: 1.2 !important; }
    .uhs-pt-col-team { min-width: 210px !important; padding-left: 15px !important; }
    .uhs-premium-table img.uhs-pt-logo { width: 20px !important; }
}

/* ========================================================
   TRENDS & STREAKS (FIRE & ICE) STYLES
   ======================================================== */
.uhs-hot-cold-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-bottom: 40px; margin-top: 20px; }
.uhs-trends-header { margin-top: 0; margin-bottom: 15px; font-size: 1.3rem; font-weight: 900; padding-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
.uhs-hot-header { color: #c62828; border-bottom: 3px solid #c62828; }
.uhs-cold-header { color: #2b6cb0; border-bottom: 3px solid #2b6cb0; }
.uhs-streaks-header { color: var(--uhs-brand-garnet, #5a1222); border-bottom: 3px solid var(--uhs-brand-garnet, #5a1222); }
.uhs-scroll-hot { background-image: url('/wp-content/uploads/2026/05/img_3845.png'); background-size: cover; background-position: center; border: 2px solid #e53e3e !important; box-shadow: 0 4px 15px rgba(229, 62, 62, 0.2) !important; }
.uhs-table-hot { background: transparent !important; }
.uhs-table-hot thead th { background: #c62828 !important; color: #ffffff !important; border-bottom: none !important; }
.uhs-table-hot tbody td { background-color: rgba(255, 255, 255, 0.88) !important; border-bottom: 1px solid rgba(229, 62, 62, 0.2) !important; color: #742a2a !important; }
.uhs-table-hot tbody tr:nth-child(even) td { background-color: rgba(255, 245, 245, 0.92) !important; }
.uhs-table-hot tbody tr:hover td { background-color: #e53e3e !important; color: #ffffff !important; }
.uhs-table-hot a { color: #c62828 !important; transition: color 0.2s; }
.uhs-table-hot tbody tr:hover td a { color: #ffffff !important; }
.uhs-scroll-cold { background-image: url('/wp-content/uploads/2026/05/img_3846.png'); background-size: cover; background-position: center; border: 2px solid #3182ce !important; box-shadow: 0 4px 15px rgba(49, 130, 206, 0.2) !important; }
.uhs-table-cold { background: transparent !important; }
.uhs-table-cold thead th { background: #2b6cb0 !important; color: #ffffff !important; border-bottom: none !important; }
.uhs-table-cold tbody td { background-color: rgba(255, 255, 255, 0.88) !important; border-bottom: 1px solid rgba(49, 130, 206, 0.2) !important; color: #2a4365 !important; }
.uhs-table-cold tbody tr:nth-child(even) td { background-color: rgba(235, 248, 255, 0.92) !important; }
.uhs-table-cold tbody tr:hover td { background-color: #3182ce !important; color: #ffffff !important; }
.uhs-table-cold a { color: #2b6cb0 !important; transition: color 0.2s; }
.uhs-table-cold tbody tr:hover td a { color: #ffffff !important; }

.ticker-scroll-track { 
    display: inline-block; 
    white-space: nowrap; 
    animation: uph_ticker 20s linear infinite; /* Slowed down slightly for readability */
    font-size: 0.85rem; 
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #e2e8f0; 
}

/* This assumes your PHP outputs the stats in parentheses like (3G, 2A) */
.ticker-scroll-track span.streak-stats {
    color: var(--uhs-brand-gold, #d4af37) !important;
}

@media (max-width: 768px) {
    .uhs-table-hot thead th:first-child { background-color: #c62828 !important; color: #ffffff !important; }
    .uhs-table-cold thead th:first-child { background-color: #2b6cb0 !important; color: #ffffff !important; }
}

/* ==========================================================================
   ECAC TEAM PROFILE STYLES
   ========================================================================== */
.uhs-tp-wrap { background: #fff; border-radius: 10px; border: 1px solid #ccd0d4; box-shadow: 0 4px 15px rgba(0,0,0,0.05); font-family: sans-serif; margin-bottom: 30px; overflow: hidden; }
.uhs-tp-header { display: flex; justify-content: space-between; align-items: center; padding: 30px; border-bottom: 5px solid #000; flex-wrap: wrap; gap: 20px; }
.uhs-tp-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 30px; }
.uhs-tp-stat-box { background: #f8f9fa; border: 1px solid #eee; border-radius: 6px; padding: 15px; text-align: center; }
.uhs-tp-stat-title { font-size: 0.8rem; color: #666; text-transform: uppercase; font-weight: bold; margin-bottom: 5px; }
.uhs-tp-table { width: 100%; border-collapse: collapse; }
.uhs-tp-table th { background: #f8f9fa; padding: 12px; border-bottom: 2px solid; text-transform: uppercase; font-size: 0.8rem; text-align: center; }
.uhs-tp-table td { padding: 10px 12px; border-bottom: 1px solid #eee; text-align: center; font-size: 0.95rem; }
.uhs-tp-table tr:hover { background: #fcfcfc; }
.uhs-action-btn, .uhs-action-btn:visited { background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); backdrop-filter: blur(4px); padding: 8px 15px; border-radius: 4px; text-decoration: none; font-weight: bold; font-size: 0.85rem; text-transform: uppercase; transition: background 0.2s; }
.uhs-action-btn:hover, .uhs-action-btn:active { background: rgba(255,255,255,0.3); }

@media (max-width: 768px) {
    /* Stack the Logo and the Name on top of each other */
    .uhs-tp-header { 
        padding: 25px 15px !important; 
        flex-direction: column !important; 
        align-items: center !important; 
        text-align: center !important; 
    }
    
    .uhs-tp-header > div:first-child { 
        flex-direction: column !important; 
        align-items: center !important; 
        gap: 15px !important; 
    }
    
    /* Shrink the giant font and center it */
    .uhs-tp-header h2 { 
        font-size: 1.8rem !important; 
        justify-content: center !important; 
        flex-wrap: wrap !important; 
    }
    
    /* Force the Forecast Badge below the name on small screens */
    .uhs-tp-header h2 span { 
        margin-left: 0 !important; 
        margin-top: 10px !important; 
        display: inline-block !important; 
    }
    
    /* Widen the buttons and dropdowns so they are easy to tap */
    .uhs-tp-header > div:last-child { 
        width: 100% !important; 
        justify-content: center !important; 
        margin-top: 10px !important;
    }
    .uhs-tp-header select { width: 100% !important; }
    
    /* Collapse the 3 Stats Boxes into a single column */
    .uhs-tp-stats-grid { 
        grid-template-columns: 1fr !important; 
        gap: 10px !important; 
    }
    
    /* Ensure the roster table cells don't cause horizontal stretching */
    .uhs-tp-table th, .uhs-tp-table td { 
        padding: 8px 5px !important; 
        font-size: 0.8rem !important; 
    }
}

/* ==========================================================================
   V6 TRANSFERS BROADCAST WIDGET STYLES
   ========================================================================== */
.uhs-v6-broadcast { position: relative; width: 100%; height: 350px; background-color: #000; border: 2px solid #5a1222; border-top: 8px solid #5a1222; border-radius: 4px; overflow: hidden; font-family: 'Oswald', sans-serif; color: #fff; box-shadow: 0 15px 45px rgba(0,0,0,0.8); }
.uhs-v6-map-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0.35; z-index: 1; filter: grayscale(30%) contrast(1.1); }
.uhs-v6-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(17,17,17,0.6) 0%, rgba(0,0,0,0.9) 100%); z-index: 2; }
.uhs-v6-inner { position: relative; z-index: 5; padding: 25px; height: 100%; display: flex; flex-direction: column; justify-content: space-between; text-align: center; box-sizing: border-box; }
.uhs-v6-header { font-size: 0.95rem; font-weight: 700; text-transform: uppercase; letter-spacing: 4px; color: #e3e4e4; border-bottom: 2px solid #5a1222; padding-bottom: 8px; margin-bottom: 10px; }
.uhs-v6-ticker { flex-grow: 1; display: flex; align-items: center; justify-content: center; position: relative; }
.uhs-v6-slide { position: absolute; width: 100%; opacity: 0; animation: v6Cycle 72s infinite; }
.uhs-v6-status { display: inline-block; background: #5a1222; color: #fff; font-size: 1.2rem; padding: 6px 30px; border-radius: 4px; font-weight: 800; text-transform: uppercase; margin-bottom: 12px; border: 1px solid rgba(255,255,255,0.4); }
.uhs-v6-name { font-size: 2.4rem; font-weight: 900; text-transform: uppercase; color: #fff; display: block; line-height: 1; margin-bottom: 4px; text-shadow: 4px 4px 10px rgba(0,0,0,1); }
.uhs-v6-pos { font-size: 1rem; font-weight: 800; color: #000; background: #e3e4e4; display: inline-block; padding: 3px 18px; text-transform: uppercase; margin-bottom: 15px; border-radius: 2px; }
.uhs-v6-school { font-size: 1.1rem; color: #fff; display: block; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
.uhs-v6-footer { background: #5a1222; color: #fff !important; text-decoration: none !important; font-size: 0.85rem; font-weight: 900; padding: 12px; text-transform: uppercase; letter-spacing: 2px; transition: 0.3s; margin: 0 -25px -25px -25px; }
.uhs-v6-footer:hover { background: #000; color: #5a1222 !important; }

/* Dynamic Animation for 18 players */
@keyframes v6Cycle {
    0%, 0.55% { opacity: 0; transform: translateY(15px); }
    1.1%, 5.0% { opacity: 1; transform: translateY(0); }
    5.5%, 100% { opacity: 0; }
}

/* Staggered Delays for 18 Slides */
.uhs-v6-slide:nth-child(1) { animation-delay: 0s; }
.uhs-v6-slide:nth-child(2) { animation-delay: 4s; }
.uhs-v6-slide:nth-child(3) { animation-delay: 8s; }
.uhs-v6-slide:nth-child(4) { animation-delay: 12s; }
.uhs-v6-slide:nth-child(5) { animation-delay: 16s; }
.uhs-v6-slide:nth-child(6) { animation-delay: 20s; }
.uhs-v6-slide:nth-child(7) { animation-delay: 24s; }
.uhs-v6-slide:nth-child(8) { animation-delay: 28s; }
.uhs-v6-slide:nth-child(9) { animation-delay: 32s; }
.uhs-v6-slide:nth-child(10) { animation-delay: 36s; }
.uhs-v6-slide:nth-child(11) { animation-delay: 40s; }
.uhs-v6-slide:nth-child(12) { animation-delay: 44s; }
.uhs-v6-slide:nth-child(13) { animation-delay: 48s; }
.uhs-v6-slide:nth-child(14) { animation-delay: 52s; }
.uhs-v6-slide:nth-child(15) { animation-delay: 56s; }
.uhs-v6-slide:nth-child(16) { animation-delay: 60s; }
.uhs-v6-slide:nth-child(17) { animation-delay: 64s; }
.uhs-v6-slide:nth-child(18) { animation-delay: 68s; }

/* ========================================================
   CONTRAST & RANK FIXES (Priority 4 Polish)
   ======================================================== */
/* Ensure forecast and standings table text and points are dark and bold */
.uhs-tp-table td, 
.uhs-tp-table th,
.uhs-season-wrapper table td,
.uhs-season-wrapper table th {
    color: #1a202c !important;
}

/* Force high contrast on points and score columns in forecast/standings grids */
.uhs-tp-table td:last-child,
.uhs-season-wrapper table td:last-child {
    font-weight: 900 !important;
    color: var(--uhs-brand-garnet, #5a1222) !important;
}

/* Ensure table cells never render white-on-white by default */
table.display tbody td, 
table.widefat tbody td,
.wp-list-table tbody td {
    color: #1a202c !important;
}

/* Force native DataTables controls to match the custom Bubble UI */
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    border: 2px solid var(--uhs-brand-garnet, #5a1222) !important;
    border-radius: 20px !important;
    padding: 6px 15px !important;
    background: var(--uhs-bg-light, #f8fafc) !important;
    color: var(--uhs-text-main, #1a202c) !important;
    font-weight: 700 !important;
    outline: none !important;
    margin-left: 8px !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important;
}
.dataTables_wrapper .dataTables_filter input:focus {
    border-color: var(--uhs-brand-gold, #d4af37) !important;
}
.dataTables_wrapper .dataTables_filter, 
.dataTables_wrapper .dataTables_length {
    margin-bottom: 15px !important;
    font-weight: 800 !important;
    color: var(--uhs-text-muted, #4a5568) !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
}

/* ========================================================
   1. RECRUITING PIPELINE TABLE HEADERS (WHITE TEXT FIX)
   ======================================================== */
/* Forces all table headers across the Pipeline page back to high-contrast white */
.uhr-main-table th,
.uhr-main-table thead th,
.uhr-sub-table th,
.uhr-sub-table thead th,
.uhs-modal-table th,
table.uhr-main-table th,
table.uhr-main-table thead th {
    color: #ffffff !important;
}

/* Ensure sorting arrows in the pipeline headers are also white */
table.uhr-main-table thead th::after,
.uhr-main-table th::after {
    color: #ffffff !important;
    opacity: 0.8 !important;
}

/* ========================================================
   2. PROFESSIONAL ROSTER PAGE (WIDTH & DEAD SPACE FIX)
   ======================================================== */
/* Ultra-high specificity to override the 1400px desktop rule */
html body .uhs-master-wrapper .uhs-season-wrapper:has(.uhs-roster-table),
html body .uhs-season-wrapper:has(.uhs-roster-table),
html body div.uhs-season-wrapper:has(.uhs-roster-table) {
    max-width: 880px !important;
    margin: 35px auto !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
}

/* Set proportional column widths so text doesn't drift apart */
.uhs-roster-table {
    width: 100% !important;
    max-width: 880px !important;
    margin: 0 auto !important;
}

.uhs-roster-table th,
.uhs-roster-table td {
    padding: 14px 20px !important;
}

.uhs-roster-table .uhs-col-no {
    width: 12% !important;
}

.uhs-roster-table .uhs-col-player {
    width: 48% !important;
}

.uhs-roster-table th:nth-child(3),
.uhs-roster-table td:nth-child(3) {
    width: 18% !important;
}

.uhs-roster-table th:nth-child(4),
.uhs-roster-table td:nth-child(4) {
    width: 22% !important;
}

/* Strip outer WordPress theme padding container */
.page-template-default .entry-content,
.page-template-default .site-main,
.page-template-default .post-inner {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* ========================================================
   MILESTONE TABLE HEADER FIX (Overrides global dark text rules)
   ======================================================== */
html body .uhs-master-wrapper .uhs-season-wrapper table.table-navy thead th,
html body .uhs-season-wrapper table.table-navy thead th,
.uhs-season-wrapper table.table-navy thead th {
    background-color: #002b5c !important;
    color: #ffffff !important;
}

html body .uhs-master-wrapper .uhs-season-wrapper table.table-garnet thead th,
html body .uhs-season-wrapper table.table-garnet thead th,
.uhs-season-wrapper table.table-garnet thead th {
    background-color: #5a1222 !important;
    color: #ffffff !important;
}

/* Ensure the arrows next to the text are also white */
html body .uhs-season-wrapper table.table-navy thead th::after,
html body .uhs-season-wrapper table.table-garnet thead th::after {
    color: #ffffff !important;
    opacity: 0.8 !important;
}

/* Keep the Gold table text dark so it remains readable */
html body .uhs-master-wrapper .uhs-season-wrapper table.table-gold thead th,
html body .uhs-season-wrapper table.table-gold thead th,
.uhs-season-wrapper table.table-gold thead th {
    background-color: #d4af37 !important;
    color: #1a202c !important;
}

/* ========================================================
   FANTASY HUB SPECIFIC STYLES
   ======================================================== */
.fhub-hero-title {
    font-family: 'Arial Black', sans-serif !important;
    font-size: 2.4rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: 0px !important;
    line-height: 1.2 !important;
}

.fhub-hero-sub {
    color: #e2e8f0 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    max-width: 650px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.fhub-leaderboard-title{
    margin: 0 !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #ffffff !important;
}

/* --- BULLETPROOF MOBILE OVERRIDES --- */
@media (max-width: 768px) {
    .fhub-hero {
        padding: 25px 15px !important;
        text-align: center !important;
    }
    
    .fhub-hero-title {
        font-size: 1.4rem !important; /* Forces title to fit on 1 or 2 lines */
        line-height: 1.1 !important;
        margin-bottom: 10px !important;
    }
    
    .fhub-hero-sub {
        font-size: 0.85rem !important;
        margin: 0 auto !important;
    }
}

/* 2. Global CSS Tooltips */
.uhs-tooltip {
    border-bottom: 1px dotted #94a3b8;
    cursor: help;
    position: relative;
}

/* 3. Skeleton Loader Animation */
.uhs-skeleton-loading {
    pointer-events: none;
    user-select: none;
    animation: uhs-pulse 1.5s infinite;
}

@keyframes uhs-pulse {
    0% { opacity: 1; filter: grayscale(0%); }
    50% { opacity: 0.4; filter: grayscale(100%); }
    100% { opacity: 1; filter: grayscale(0%); }
}

/* ==========================================================================
   TOP-TIER MOBILE UI OVERRIDES (APP-LIKE EXPERIENCE)
   ========================================================================== */
@media (max-width: 768px) {
    
    /* ---------------------------------------------------
       1. TAB BAR PARENT FIX (Stop the Bleed)
       --------------------------------------------------- */
    body .uhs-season-wrapper .uhs-profile__tab-bar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    
    body .uhs-season-wrapper .uhs-profile__tab-bar h2 {
        font-size: 1.3rem !important;
    }

    /* ---------------------------------------------------
       2. iOS-STYLE SEGMENTED CONTROLS (2-3 Tabs Only)
       Excluded .left-align and .tab-controls
       --------------------------------------------------- */
    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) {
        background-color: #edf2f7 !important;
        border-radius: 8px !important;
        padding: 4px !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        border: none !important;
        gap: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        box-shadow: inset 0 1px 3px rgba(0,0,0,0.06) !important;
        margin-bottom: 20px !important;
    }

    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) .uhs-s-tab-btn,
    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) .tab-btn {
        flex: 1 1 0 !important; 
        min-width: 0 !important; 
        background: transparent !important;
        border: none !important;
        color: #64748b !important;
        box-shadow: none !important;
        border-radius: 6px !important;
        padding: 8px 2px !important;
        font-size: 0.65rem !important; 
        font-weight: 800 !important;
        letter-spacing: 0 !important;
        transition: all 0.25s cubic-bezier(0.4, 0.0, 0.2, 1) !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important; 
        margin: 0 !important;
    }

    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) .uhs-s-tab-btn.active,
    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) .tab-btn.active {
        background: #ffffff !important;
        color: var(--uhs-brand-garnet, #5a1222) !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.12), 0 1px 1px rgba(0,0,0,0.05) !important;
        font-weight: 900 !important;
        transform: scale(1) !important;
    }

    /* ---------------------------------------------------
       3. 1-LINE QUICK STATS BUBBLES
       --------------------------------------------------- */
    body .uhs-season-wrapper .uhs-ep-quick-stats { 
        display: flex !important;
        flex-wrap: nowrap !important; 
        gap: 5px !important; 
        margin-bottom: 20px !important; 
    }
    body .uhs-season-wrapper .uhs-ep-qs-box { 
        flex: 1 1 0 !important; 
        min-width: 0 !important; 
        padding: 10px 2px !important; 
        border-radius: 6px !important; 
    }
    body .uhs-season-wrapper .uhs-ep-qs-title { 
        font-size: 0.5rem !important; 
        letter-spacing: -0.2px !important;
        margin-bottom: 2px !important;
        white-space: nowrap !important; 
    }
    body .uhs-season-wrapper .uhs-ep-qs-val { 
        font-size: 1.15rem !important; 
    }

    /* ---------------------------------------------------
       4. HORIZONTAL CHIP SCROLLER (Record Book Only)
       --------------------------------------------------- */
    body .uhs-season-wrapper .uhs-s-tabs.tab-controls {
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 0 10px 0 !important;
        margin-bottom: 15px !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
        -webkit-overflow-scrolling: touch !important; 
        scrollbar-width: none !important; 
        gap: 8px !important;
        width: 100% !important;
    }
    
    body .uhs-season-wrapper .uhs-s-tabs.tab-controls::-webkit-scrollbar { display: none !important; }

    body .uhs-season-wrapper .uhs-s-tabs.tab-controls .tab-btn {
        flex: 0 0 auto !important; 
        width: auto !important; 
        background: #ffffff !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 20px !important; 
        padding: 8px 18px !important;
        color: #475569 !important;
        font-size: 0.75rem !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
        margin: 0 !important;
    }

    body .uhs-season-wrapper .uhs-s-tabs.tab-controls .tab-btn.active {
        background: var(--uhs-brand-garnet, #5a1222) !important;
        color: #ffffff !important;
        border-color: var(--uhs-brand-garnet, #5a1222) !important;
        box-shadow: 0 2px 6px rgba(90,18,34,0.2) !important;
    }

    /* ---------------------------------------------------
       5. WRAPPING 2-COLUMN GRID (Season Archive Tabs)
       Turns text-heavy menus into a clean grid.
       --------------------------------------------------- */
    body .uhs-season-wrapper .uhs-s-tabs.left-align {
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin-bottom: 20px !important;
        display: flex !important;
        flex-wrap: wrap !important; /* Force multiple rows */
        justify-content: center !important; 
        overflow: visible !important;
        gap: 8px !important;
        width: 100% !important;
    }

    body .uhs-season-wrapper .uhs-s-tabs.left-align .tab-btn,
    body .uhs-season-wrapper .uhs-s-tabs.left-align .uhs-s-tab-btn {
        flex: 1 1 calc(50% - 8px) !important; /* 2 buttons per row */
        max-width: 100% !important;
        width: auto !important; 
        background: #ffffff !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important; /* Squared off for stacking */
        padding: 10px 8px !important;
        color: #475569 !important;
        font-size: 0.75rem !important;
        font-weight: 800 !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
        margin: 0 !important;
        text-align: center !important;
        white-space: normal !important; /* Allows text to stack inside the button */
        line-height: 1.2 !important;
    }

    /* Auto-span the 5th (odd) button to 100% width at the bottom */
    body .uhs-season-wrapper .uhs-s-tabs.left-align .uhs-s-tab-btn:last-child:nth-child(odd) {
        flex: 1 1 100% !important;
    }

    body .uhs-season-wrapper .uhs-s-tabs.left-align .tab-btn.active,
    body .uhs-season-wrapper .uhs-s-tabs.left-align .uhs-s-tab-btn.active {
        background: var(--uhs-brand-garnet, #5a1222) !important;
        color: #ffffff !important;
        border-color: var(--uhs-brand-garnet, #5a1222) !important;
        box-shadow: 0 2px 6px rgba(90,18,34,0.2) !important;
    }

    /* ---------------------------------------------------
       6. REFINED TABLE HEADERS & SPACING
       --------------------------------------------------- */
    body .uhs-season-wrapper table.dataTable thead th {
        padding-right: 14px !important; 
    }
    body .uhs-season-wrapper table.dataTable thead th::after {
        right: 2px !important;
        font-size: 0.65rem !important; 
        opacity: 0.3 !important;
    }
    body .uhs-season-wrapper table.dataTable thead th.sorting_asc::after,
    body .uhs-season-wrapper table.dataTable thead th.sorting_desc::after {
        opacity: 1 !important;
        font-size: 0.75rem !important;
    }

    /* ---------------------------------------------------
       6. ROSTER TABLE MOBILE FIT (APP-STYLE LIST)
       --------------------------------------------------- */
    body .uhs-season-wrapper .uhs-roster-table th,
    body .uhs-season-wrapper .uhs-roster-table td {
        position: static !important; 
        padding: 12px 10px !important; 
        border-right: none !important; 
        background-color: inherit !important; 
        vertical-align: middle !important;
    }
    
    /* Hide the standalone columns on mobile */
    body .uhs-season-wrapper .uhs-roster-table .uhs-desktop-col { 
        display: none !important; 
    }
    
    /* Reveal the sleek stacked subtitle */
    body .uhs-season-wrapper .uhs-roster-table .uhs-mobile-meta { 
        display: block !important; 
        font-size: 0.75rem !important; 
        color: var(--uhs-text-muted) !important; 
        font-weight: 800 !important; 
        margin-top: 3px !important;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    body .uhs-season-wrapper .uhs-roster-table .uhs-col-no { 
        width: 60px !important; 
        min-width: auto !important; 
        font-size: 1.4rem !important;
        font-weight: 900 !important;
        color: var(--uhs-brand-garnet) !important;
        text-align: center !important;
    }
    
    body .uhs-season-wrapper .uhs-roster-table .uhs-col-player { 
        width: auto !important; 
        min-width: auto !important; 
    }
    
    body .uhs-season-wrapper .uhs-roster-table .uhs-player-name-link { 
        font-size: 1.05rem !important; 
        white-space: normal !important; 
        line-height: 1.1 !important; 
    }

}

/* ==========================================================================
   UHS PLAYER PROFILE (BEM REFACTOR)
   ========================================================================== */

/* Layout & Structure */
.uhs-profile__header { padding: 30px 40px; background: linear-gradient(135deg, var(--uhs-brand-navy) 0%, var(--uhs-brand-garnet-dark) 100%); border-bottom: 6px solid var(--uhs-brand-gold); border-radius: var(--uhs-radius-lg) var(--uhs-radius-lg) 0 0; }
.uhs-profile__info-wrap { flex: 1; min-width: 300px; }
.uhs-profile__badges-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex-shrink: 0; }
.uhs-profile__body { padding: 30px 40px; }
.uhs-profile__tab-bar { border-bottom: 3px solid var(--uhs-brand-garnet); margin-bottom: 25px; padding-bottom: 12px; }

/* Typography */
.uhs-profile__title { margin: 0 0 5px 0; font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-size: clamp(1.8rem, 6vw, 3.2rem); font-weight: 900; text-transform: uppercase; line-height: 1.1; letter-spacing: 1px; color: var(--uhs-text-inverse); text-shadow: 2px 2px 4px rgba(0,0,0,0.5); }
.uhs-profile__meta { margin-bottom: 15px; font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif; font-size: 1.1rem; color: var(--uhs-border-light); text-transform: uppercase; letter-spacing: 1px; }

/* Logos & Media */
.uhs-profile__logo { width: 110px; height: auto; filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.4)); flex-shrink: 0; }
.uhs-team-logo-sm { max-width: 24px; max-height: 24px; object-fit: contain; }
.uhs-team-logo-xs { width: 18px; height: 18px; object-fit: contain; }

/* UI Components */
.uhs-btn-primary { background: var(--uhs-info); color: var(--uhs-text-inverse) !important; text-decoration: none; padding: 8px 15px; border-radius: var(--uhs-radius-sm); font-weight: 900; font-size: 0.85rem; transition: background 0.2s; border: none; cursor: pointer; display: inline-block; }
.uhs-btn-primary:hover { background: var(--uhs-text-main); }
.uhs-btn-secondary { background: var(--uhs-text-inverse); color: var(--uhs-text-main) !important; border: none; padding: 8px 15px; border-radius: var(--uhs-radius-sm); cursor: pointer; font-weight: 900; font-size: 0.85rem; transition: background 0.2s; display: inline-block; }
.uhs-btn-secondary:hover { background: var(--uhs-border-light); }

.uhs-champ-badge { 
    font-weight: 900; 
    padding: 4px 10px; 
    border-radius: var(--uhs-radius-sm); 
    font-size: 0.85rem; 
    text-transform: uppercase; 
    display: inline-block; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    text-shadow: 1px 1px 0 rgba(255,255,255,0.2);
}
.uhs-champ-badge--ncaa { 
    background: linear-gradient(180deg, #f1db6a 0%, #d4af37 100%); 
    color: #000; 
    border: 1px solid #c29d2f;
}
.uhs-champ-badge--f4 { 
    background: linear-gradient(180deg, #2b6cb0 0%, #1d4e89 100%); 
    color: #fff; 
    border: 1px solid #1a4375;
    text-shadow: 1px 1px 0 rgba(0,0,0,0.3);
}
.uhs-champ-badge--ecac { 
    background: linear-gradient(180deg, #ffffff 0%, #e3e4e4 100%); 
    color: #333; 
    border: 1px solid #ccc; 
}

.uhs-divider { margin: 40px 0; border: 0; border-top: 2px dashed var(--uhs-border-light); }

.uhs-alert-box { padding: 15px 20px; border-radius: var(--uhs-radius-md); font-size: 0.85rem; line-height: 1.5; margin-bottom: 25px; }
.uhs-alert-box--brand { background: #fdf2f2; border: 1px solid #ffcdd2; border-left: 4px solid var(--uhs-brand-garnet); border-radius: 0 var(--uhs-radius-md) var(--uhs-radius-md) 0; color: var(--uhs-brand-garnet); font-weight: 900; font-size: 0.95rem; }
.uhs-alert-box--info { background: var(--uhs-bg-light); border: 1px solid var(--uhs-border-light); border-left: 4px solid var(--uhs-brand-garnet); color: var(--uhs-text-muted); }

.uhs-award-card { display: flex; align-items: center; gap: 15px; padding: 12px 15px; background: var(--uhs-text-inverse); border: 1px solid var(--uhs-border-light); border-radius: var(--uhs-radius-md); box-shadow: var(--uhs-shadow-sm); border-left: 4px solid var(--award-color, var(--uhs-brand-gold)); }
.uhs-award-card__icon { font-size: 1.6rem; }
.uhs-award-card__text { display: flex; flex-direction: column; }

.uhs-bests-list-item { display: flex; align-items: center; justify-content: space-between; font-size: 0.85rem; border-bottom: 1px solid var(--uhs-bg-subtle); padding-bottom: 8px; margin-bottom: 8px; }
.uhs-bests-card-body { padding: 15px 20px; }

/* Text Color Utilities */
.uhs-text-brand { color: var(--uhs-brand-garnet); font-weight: 900; }
.uhs-text-success { color: var(--uhs-success); font-weight: 900; }
.uhs-text-danger { color: var(--uhs-danger); font-weight: 900; }
.uhs-text-warning { color: var(--uhs-warning); font-weight: 900; }
.uhs-text-info { color: var(--uhs-info); font-weight: 900; }

@media (max-width: 768px) {
    .uhs-profile__header { padding: 20px 15px; }
    .uhs-profile__body { padding: 20px 15px; }
}

/* ==========================================================================
   UHS TEAM SCHEDULE (BEM REFACTOR)
   ========================================================================== */

.uhs-schedule__body { padding: 30px; }
.uhs-schedule__empty { text-align: center; padding: 40px; font-style: italic; color: var(--uhs-text-muted); }

/* Table Column Sizing & Alignment */
.uhs-schedule__col-date { min-width: 110px; text-align: left !important; padding-left: 20px !important; }
/* Force Opponent column to take all remaining space and left align */
.uhs-schedule__col-opp { text-align: left !important; padding-left: 20px !important; width: 100% !important; } 
.uhs-schedule__col-loc { text-align: center !important; }
.uhs-schedule__col-res { text-align: right !important; padding-right: 20px !important; }

/* Cell Data Styles */
.uhs-schedule__cell-date { white-space: nowrap !important; font-weight: 900; color: var(--uhs-text-muted); padding-left: 20px !important; vertical-align: middle !important; }
.uhs-schedule__cell-opp { text-align: left !important; padding-left: 20px !important; vertical-align: middle !important; width: 100% !important; }
.uhs-schedule__cell-loc { text-align: center !important; vertical-align: middle !important; }
.uhs-schedule__cell-res { color: var(--uhs-text-main); font-weight: 900; text-align: right !important; padding-right: 20px !important; vertical-align: middle !important; white-space: nowrap !important; }

/* Mobile Alignment Fixes */
@media (max-width: 768px) {
    .uhs-schedule__body { padding: 10px; }
    
    body .uhs-season-wrapper .uhs-schedule__col-date, 
    body .uhs-season-wrapper .uhs-schedule__cell-date { 
        padding-left: 10px !important; 
        padding-right: 10px !important;
        min-width: 0 !important; /* Kill the 110px minimum so it shrinks */
        font-size: 0.7rem !important; 
    }
    
    body .uhs-season-wrapper .uhs-schedule__col-opp, 
    body .uhs-season-wrapper .uhs-schedule__cell-opp { 
        padding-left: 5px !important; 
        padding-right: 5px !important;
    }
    
    body .uhs-season-wrapper .uhs-schedule__col-res, 
    body .uhs-season-wrapper .uhs-schedule__cell-res { 
        padding-right: 10px !important; 
        padding-left: 10px !important;
        font-size: 0.75rem !important; 
    }
    
    /* Allow the "Time / Result" header to stack on 2 lines to save width */
    body .uhs-season-wrapper .uhs-schedule__col-res { 
        white-space: normal !important; 
        min-width: 60px !important;
        line-height: 1.1 !important;
    }

    body .uhs-season-wrapper .uhs-sched-opp-block { 
        gap: 8px !important; 
        justify-content: flex-start !important; 
    }
    
    /* Bump the font size slightly now that we freed up space */
    body .uhs-season-wrapper .uhs-sched-name { 
        font-size: 0.8rem !important; 
        line-height: 1.1 !important; 
        white-space: normal !important; 
    }
}

/* ==========================================================================
   UHS SEASON ARCHIVE & ROSTER (BEM REFACTOR)
   ========================================================================== */

/* Additional Global Utilities */
.uhs-text-right { text-align: right !important; }
.uhs-text-center { text-align: center !important; }
.uhs-text-left { text-align: left !important; }
.uhs-text-uppercase { text-transform: uppercase !important; }
.uhs-flex-column { display: flex; flex-direction: column; }

/* Season Archive List Styles */
.uhs-season-list__meta { color: var(--uhs-border-light); font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; font-size: 0.85rem; font-family: 'Segoe UI', Roboto, sans-serif; }
.uhs-season-list__record-label { font-size: 0.75rem; color: rgba(255,255,255,0.7); text-transform: uppercase; font-weight: 900; letter-spacing: 1px; margin-bottom: 2px; }
.uhs-season-list__empty { padding: 20px; color: var(--uhs-text-muted); font-weight: 600; text-align: center; font-style: italic; }

.uhs-season-list__date-col { white-space: nowrap !important; font-weight: 900; color: var(--uhs-text-muted); padding-left: 20px !important; vertical-align: middle !important; text-align: left !important; }
.uhs-season-list__opp-col { padding-left: 20px !important; vertical-align: middle !important; text-align: left !important; }
.uhs-season-list__score-col { font-weight: 900; font-size: 1.2rem; text-align: center !important; vertical-align: middle !important; }

/* Season Analytics Pane Styles */
.uhs-season-list__analytics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.uhs-season-list__card-title { margin: 0 0 15px 0; color: var(--uhs-text-main); text-transform: uppercase; font-size: 1.1rem; border-bottom: 2px solid var(--uhs-border-light); padding-bottom: 10px; font-weight: 900; }
.uhs-season-list__stat-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.uhs-season-list__stat-label { font-weight: 700; color: var(--uhs-text-muted); }
.uhs-season-list__stat-val { font-size: 1.5rem; font-weight: 900; color: var(--uhs-text-main); }
.uhs-season-list__perf-box { background: var(--uhs-text-inverse); padding: 15px; border-radius: var(--uhs-radius-sm); box-shadow: var(--uhs-shadow-sm); }
.uhs-season-list__perf-text { font-size: 1.1rem; font-weight: 900; }

/* Team Roster Styles */
.uhs-roster__body { padding: 30px; }
.uhs-roster__header-label { font-weight: 800; color: var(--uhs-text-inverse); text-transform: uppercase; font-size: 0.85rem; letter-spacing: 0.5px; }

@media (max-width: 768px) {
    .uhs-roster__body { padding: 15px; }
    .uhs-season-list__date-col, .uhs-season-list__opp-col { padding-left: 10px !important; }
}

/* ==========================================================================
   UHS MODALS & PERFORMANCE MATRIX (BEM REFACTOR)
   ========================================================================== */

/* Global Link Resets */
.uhs-link-clean { text-decoration: none !important; transition: opacity 0.2s; }
.uhs-link-clean:hover { opacity: 0.8; }

/* ==========================================================================
   MISSING DESKTOP HEADER FIX (PERFORMANCE MATRIX)
   ========================================================================== */
.uhs-logo-md { 
    width: 75px !important; 
    min-width: 75px !important;
    max-width: 75px !important; 
    height: auto !important; 
    filter: drop-shadow(0 3px 5px rgba(0,0,0,0.25)); 
    flex: 0 0 75px !important; /* Hard locks the image so themes cannot stretch it */
}

.uhs-matrix__meta { 
    color: var(--uhs-border-light); 
    font-weight: 800; 
    text-transform: uppercase; 
    letter-spacing: 1.5px; 
    font-size: 0.85rem; 
    margin-top: 5px; 
}

/* Ensure the logo scales down nicely on phones too */
@media (max-width: 768px) {
    .uhs-logo-md { 
        width: 55px !important; 
        min-width: 55px !important;
        max-width: 55px !important;
        flex: 0 0 55px !important; 
    }
    .uhs-matrix__meta { 
        font-size: 0.75rem !important; 
        letter-spacing: 1px !important; 
    }
}

/* ==========================================================================
   PERFORMANCE MATRIX MOBILE FIXES (APP-STYLE 2-COLUMN GRID)
   ========================================================================== */
   
/* 1. Hide the mobile class tags on desktop */
.mobile-class-tag { display: none; }

@media (max-width: 768px) {
    
    /* 2. Swipeable Chips for Tabs */
    body .uhs-season-wrapper .uhs-heatmap-body .uhs-s-tabs {
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 0 10px 0 !important;
        margin-bottom: 15px !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        justify-content: flex-start !important;
        -webkit-overflow-scrolling: touch !important; 
        scrollbar-width: none !important; 
        gap: 8px !important;
        width: 100% !important;
    }
    
    body .uhs-season-wrapper .uhs-heatmap-body .uhs-s-tabs::-webkit-scrollbar { 
        display: none !important; 
    }

    body .uhs-season-wrapper .uhs-heatmap-body .uhs-s-tab-btn {
        flex: 0 0 auto !important; 
        width: auto !important; 
        background: #ffffff !important;
        border: 1px solid var(--uhs-border-dark) !important;
        border-radius: 20px !important; 
        padding: 8px 18px !important;
        color: var(--uhs-text-muted) !important;
        font-size: 0.75rem !important;
        box-shadow: var(--uhs-shadow-sm) !important;
        margin: 0 !important;
    }

    body .uhs-season-wrapper .uhs-heatmap-body .uhs-s-tab-btn.active {
        background: var(--uhs-brand-garnet) !important;
        color: #ffffff !important;
        border-color: var(--uhs-brand-garnet) !important;
        box-shadow: 0 2px 6px rgba(90,18,34,0.2) !important;
    }

   /* ---------------------------------------------------
       3. MATRIX GRID (TRUE 2-COLUMN CSS GRID)
       --------------------------------------------------- */
    .matrix-labels { display: none !important; }
    
    /* Position container card (Forwards, Defense, Goalies) */
    body .uhs-season-wrapper .matrix-row:not(.matrix-labels) { 
        display: block !important; 
        width: 100% !important; 
        margin-bottom: 25px !important; 
        background: var(--uhs-text-inverse, #ffffff) !important; 
        border: 1px solid var(--uhs-border-light, #e2e8f0) !important;
        border-radius: var(--uhs-radius-lg, 8px) !important;
        overflow: hidden !important;
        box-shadow: var(--uhs-shadow-sm, 0 2px 4px rgba(0,0,0,0.02)) !important;
    }
    
    body .uhs-season-wrapper .matrix-pos-sidebar { 
        width: 100% !important; 
        flex: none !important; 
        padding: 12px 15px !important; 
        background: var(--uhs-brand-garnet, #5a1222) !important; 
        color: #ffffff !important;
        box-sizing: border-box !important; 
        text-align: center !important;
        border-radius: 0 !important;
    }
    
    body .uhs-season-wrapper .matrix-pos-sidebar span { 
        transform: none !important; 
        font-size: 1.1rem !important; 
        font-weight: 900 !important;
        letter-spacing: 1px !important;
    }
    
    /* Turn each class rank section into a 2-Column CSS Grid */
    body .uhs-season-wrapper .matrix-cell { 
        display: grid !important; 
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important; 
        border: none !important; 
        padding: 12px !important; 
        border-bottom: 1px solid var(--uhs-border-light, #e2e8f0) !important;
        box-sizing: border-box !important;
    }
    
    body .uhs-season-wrapper .matrix-cell:last-child {
        border-bottom: none !important;
    }
    
    body .uhs-season-wrapper .matrix-cell::before { 
        display: none !important; 
        content: none !important; 
    }
    
    /* Make the Class Rank Subheader span across both columns */
    body .uhs-season-wrapper .mobile-class-tag { 
        display: block !important; 
        grid-column: 1 / -1 !important; /* Spans across column 1 and 2 */
        width: 100% !important; 
        color: var(--uhs-text-muted, #64748b) !important; 
        font-weight: 900 !important; 
        font-size: 0.75rem !important; 
        text-transform: uppercase !important; 
        letter-spacing: 1px !important;
        margin-bottom: 4px !important; 
        background: transparent !important;
        padding: 0 !important;
        border: none !important;
    }
    
    /* Player Buttons inside the grid */
    body .uhs-season-wrapper .matrix-p-box { 
        width: 100% !important; 
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 0 !important; 
        padding: 10px 4px !important; 
        font-size: 0.8rem !important; 
        line-height: 1.2 !important;
        display: flex !important; 
        justify-content: center !important; 
        align-items: center !important; 
        text-align: center !important;
        border-radius: var(--uhs-radius-sm, 4px) !important;
        border: 1px solid var(--uhs-border-light, #e2e8f0) !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important;
    }

    body .uhs-season-wrapper .matrix-p-box .p-name-txt {
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }
    
    /* Metric typography in heatmap view */
    body .uhs-season-wrapper .p-pts-txt, 
    body .uhs-season-wrapper .p-pgp-txt {
        font-size: 1.05rem !important;
        font-weight: 900 !important;
    }

} /* <--- THIS WAS THE MISSING BRACKET! It closes the mobile override block */

/* ==========================================================================
   MATRIX HOVER REVEAL (SHOW NAME ON HOVER IN STAT MODES)
   ========================================================================== */

/* When hovering in Season Production Mode: Hide the points, show the name */
body .uhs-season-wrapper .heat-mode .matrix-p-box:hover .p-pts-txt { 
    display: none !important; 
}
body .uhs-season-wrapper .heat-mode .matrix-p-box:hover .p-name-txt { 
    display: block !important; 
    font-size: 0.85rem !important; 
}

/* When hovering in Career Efficiency Mode: Hide the metric, show the name */
body .uhs-season-wrapper .pgp-mode .matrix-p-box:hover .p-pgp-txt { 
    display: none !important; 
}
body .uhs-season-wrapper .pgp-mode .matrix-p-box:hover .p-name-txt { 
    display: block !important; 
    font-size: 0.85rem !important; 
}

/* ==========================================================================
   ADVANCED QUERY & RECORD BOOK (BEM REFACTOR)
   ========================================================================== */

/* Advanced Query Form Layout */
.uhs-query-panel-group { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px; }
.uhs-query-panel { flex: 1; min-width: 250px; margin-bottom: 0 !important; border-radius: 0 var(--uhs-radius-md) var(--uhs-radius-md) 0 !important; }
.uhs-query-label { font-weight: 900; color: var(--uhs-brand-garnet); margin-right: 15px; text-transform: uppercase; font-size: 0.85rem; }
.uhs-query-radio-label { font-weight: bold; margin-right: 15px; cursor: pointer; display: inline-block; margin-top: 8px; color: var(--uhs-text-main); }

/* Record Book Utilities */
.uhs-glossary-panel { background: var(--uhs-bg-light); padding: 25px; border: 1px solid var(--uhs-border-light); border-radius: var(--uhs-radius-lg); margin-top: 20px; font-size: 0.95rem; line-height: 1.6; color: var(--uhs-text-muted); text-align: left; box-shadow: inset 0 2px 4px rgba(0,0,0,0.02); }
.uhs-timestamp-footer { font-size: 0.75rem; font-weight: bold; color: var(--uhs-border-dark); text-align: center; margin-top: 25px; text-transform: uppercase; letter-spacing: 0.5px; }

/* ==========================================================================
   LEGACY PLAYER PROFILE HEADER (RESTORED)
   ========================================================================== */
.uhs-profile-header-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, var(--uhs-brand-navy, #002b5c) 0%, var(--uhs-brand-garnet-dark, #2c0810) 100%);
    padding: 30px 40px;
    border-radius: 10px 10px 0 0;
    border-bottom: 6px solid var(--uhs-brand-gold, #d4af37);
    color: #ffffff;
}

.uhs-profile-header-card .uhs-profile-name {
    font-family: 'Arial Black', 'Arial Bold', Gadget, sans-serif;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 900;
    text-transform: uppercase;
    margin: 0 0 10px 0;
    color: #ffffff;
    line-height: 1.1;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.uhs-profile-header-card .uhs-profile-meta,
.uhs-profile-header-card a {
    color: #e2e8f0;
}

.uhs-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    text-align: right;
    color: #ffffff;
}

/* ==========================================================================
   RECORD BOOK MOBILE COMPRESSION (SQUISH THE UI)
   ========================================================================== */
@media (max-width: 768px) {
    
    /* 1. Compress the Top Record Cards */
    body .uhs-season-wrapper .uhs-records-top-row { gap: 8px !important; margin-bottom: 12px !important; }
    body .uhs-season-wrapper .uhs-record-card { padding: 8px 4px !important; }
    body .uhs-season-wrapper .uhs-record-card-title { font-size: 0.65rem !important; margin-bottom: 2px !important; }
    body .uhs-season-wrapper .uhs-record-card-val { font-size: 1.2rem !important; }

    /* 2. Fix the Massive Banners (Turn years horizontal) */
    body .uhs-season-wrapper .uhs-banners-row { gap: 10px !important; margin-bottom: 15px !important; }
    body .uhs-season-wrapper .uhs-championship-banner .uhs-banner-title { padding: 8px 4px !important; font-size: 0.65rem !important; margin-bottom: 6px !important; }
    body .uhs-season-wrapper .uhs-championship-banner .uhs-banner-val { font-size: 1.8rem !important; margin-bottom: 4px !important; }
    
    /* THE MAGIC TRICK: Inline the years and stars to save vertical height */
    body .uhs-season-wrapper .uhs-championship-banner .uhs-banner-years { 
        font-size: 0.65rem !important; 
        line-height: 1.4 !important; 
        padding: 0 4px !important;
    }
    body .uhs-season-wrapper .uhs-championship-banner .banner-star { 
        display: inline-block !important; 
        margin: 0 4px !important; 
        font-size: 0.5rem !important; 
        vertical-align: middle;
    }

    /* 3. Shrink the Tab Menus & Spacing */
    body .uhs-season-wrapper .mobile-filter-label { margin-bottom: 4px !important; font-size: 0.65rem !important; }
    
    /* Segmented Controls (View Mode, Position) */
    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) {
        margin-bottom: 12px !important;
        padding: 2px !important;
        border-radius: 6px !important;
    }
    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) .tab-btn,
    body .uhs-season-wrapper .uhs-s-tabs:not(.tab-controls):not(.left-align) .uhs-s-tab-btn {
        padding: 6px 2px !important;
        font-size: 0.6rem !important;
        border-radius: 4px !important;
    }

    /* Scrolling Stat Chips (PTS, P/GP, etc) */
    body .uhs-season-wrapper .uhs-s-tabs.tab-controls {
        margin-bottom: 10px !important; 
        padding-bottom: 8px !important;
        transform: none !important; /* Strips the inline scale formatting from PHP */
    }
    body .uhs-season-wrapper .uhs-s-tabs.tab-controls .tab-btn,
    body .uhs-season-wrapper .uhs-s-tabs.tab-controls .uhs-s-tab-btn {
        padding: 6px 12px !important;
        font-size: 0.65rem !important;
        border-radius: 15px !important; 
    }
}

/* ==========================================================================
   PRO ALUMNI TABLE LOGOS
   ========================================================================== */
.uhs-pro-table-logo {
    width: 35px !important;
    height: 35px !important;
    object-fit: contain;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.12));
}

/* ==========================================================================
   PRO ALUMNI TABLE LOGOS & TEXT WRAPPING FIX
   ========================================================================== */
.uhs-pro-team-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: normal !important; /* CRITICAL: Forces text to wrap naturally */
    line-height: 1.2;
    word-break: break-word;
}

.uhs-pro-table-logo {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain;
    flex-shrink: 0; /* Prevents the image from squishing when text wraps */
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.12));
}

@media (max-width: 768px) {
    .uhs-pro-team-cell {
        gap: 6px;
        font-size: 0.75rem !important; 
    }
    .uhs-pro-table-logo {
        width: 24px !important;
        height: 24px !important;
    }
    /* Defeat the global DataTables nowrap rule on mobile for this specific column */
    body .uhs-season-wrapper .uhs-premium-table td.uhs-pro-team-col {
        white-space: normal !important;
        min-width: 130px !important; 
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* ==========================================================================
   PLAYER DIRECTORY MOBILE FIT (NO ACCORDIONS)
   ========================================================================== */
@media (max-width: 768px) {
    /* Target the player directory table specifically */
    body .uhs-player-dir-wrapper .uhs-premium-table th,
    body .uhs-player-dir-wrapper .uhs-premium-table td {
        padding: 10px 4px !important;
        font-size: 0.75rem !important;
        white-space: normal !important; /* Allows long names to safely wrap to a 2nd line */
    }
    
    body .uhs-player-dir-wrapper .uhs-premium-table th:first-child,
    body .uhs-player-dir-wrapper .uhs-premium-table td:first-child {
        padding-left: 10px !important;
        min-width: 100px; /* Gives the name column the most breathing room */
    }

    body .uhs-player-dir-wrapper .uhs-premium-table th:last-child,
    body .uhs-player-dir-wrapper .uhs-premium-table td:last-child {
        padding-right: 10px !important;
    }

    /* Shrink the View Profile button so it fits cleanly */
    body .uhs-player-dir-wrapper .uhs-s-tab-btn {
        padding: 4px 8px !important;
        font-size: 0.65rem !important;
        letter-spacing: 0 !important;
        min-width: auto !important;
    }
}

/* ==========================================================================
   PORTAL TRACKER ANCHOR LINKS & TARGET GLOW
   ========================================================================== */
html { 
    scroll-behavior: smooth; 
}

.uhs-team-impact-card { 
    scroll-margin-top: 40px; /* Prevents the card from getting stuck under the top of your browser window */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Draws the user's eye to the exact card they clicked on */
.uhs-team-impact-card:target {
    animation: uhs-highlight-card 2s ease-out;
}

@keyframes uhs-highlight-card {
    0% { box-shadow: 0 0 0 4px var(--uhs-brand-gold, #d4af37); transform: translateY(-4px); }
    100% { box-shadow: var(--uhs-shadow-sm, 0 2px 4px rgba(0,0,0,0.02)); transform: translateY(0); }
}

/* ==========================================================================
   MOBILE FIXES: RECRUITS, LINE GEN, JERSEY HISTORY
   ========================================================================== */
@media (max-width: 768px) {

    /* 1. LINE GENERATOR: STACK THE COLUMNS */
    body .uhs-line-gen-wrapper .uhs-line-row {
        flex-direction: column !important; /* Forces LW, C, RW to stack vertically */
        gap: 10px !important;
        margin-bottom: 20px !important;
        background: #f8fafc;
        padding: 10px;
        border-radius: 8px;
        border: 1px solid #e2e8f0;
    }
    body .uhs-line-gen-wrapper .uhs-line-slot {
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }
    body .uhs-line-gen-wrapper .uhs-line-dropdown {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        font-size: 0.85rem !important;
    }
}

/* ==========================================================================
   UHS V6 BEM COMPONENTS & POLISH (CONSOLIDATED)
   ========================================================================== */

/* --- 1. RECRUITS & FEATURE TABS (DESKTOP) --- */
.uhs-recruit-filters { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; width: 100%; margin-bottom: 15px; }
.uhs-feature-tabs { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; width: 100%; margin-bottom: 25px; border-bottom: 2px solid var(--uhs-border-light, #e2e8f0); padding-bottom: 20px; }
.uhs-feature-tabs--no-border { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }

.uhs-recruit-btn, .uhs-feature-btn {
    background: #ffffff !important; border: 2px solid var(--uhs-border-dark, #cbd5e1) !important; color: var(--uhs-text-muted, #64748b) !important;
    padding: 10px 15px !important; border-radius: 6px !important; font-size: 0.8rem !important; font-weight: 800 !important; text-transform: uppercase !important;
    cursor: pointer !important; transition: all 0.2s ease !important; text-align: center !important; line-height: 1.2 !important; outline: none !important;
}
.uhs-feature-btn { padding: 10px 20px !important; font-size: 0.85rem !important; }

.uhs-recruit-btn:hover, .uhs-recruit-btn.active, .uhs-feature-btn:hover, .uhs-feature-btn.active {
    background: var(--uhs-brand-navy, #002b5c) !important; color: #ffffff !important; border-color: var(--uhs-brand-navy, #002b5c) !important;
}

/* --- 2. JERSEY HISTORY CARDS (DESKTOP) --- */
.uhs-jh-winner-card { display: flex !important; flex-direction: row !important; align-items: center !important; background: linear-gradient(135deg, var(--uhs-brand-garnet, #5a1222) 0%, var(--uhs-brand-garnet-dark, #2c0810) 100%) !important; color: #ffffff !important; padding: 20px !important; border-radius: 12px !important; gap: 15px !important; }
.uhs-jh-winner-num { font-size: 3.2rem !important; font-weight: 900 !important; line-height: 1 !important; border-right: 1px solid rgba(255,255,255,0.2) !important; border-bottom: none !important; padding-right: 15px !important; margin: 0 !important; flex-shrink: 0 !important; text-align: left !important; }
.uhs-jh-winner-info { flex-grow: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; text-align: left !important; }
.uhs-jh-winner-info h3 { margin: 0 0 4px 0 !important; font-size: 1.5rem !important; font-weight: 800 !important; line-height: 1.1 !important; }
.uhs-jh-winner-info h3 a { color: #ffffff !important; text-decoration: none !important; }
.uhs-jh-winner-meta { font-size: 0.75rem !important; text-transform: uppercase !important; letter-spacing: 1px !important; color: rgba(255,255,255,0.8) !important; font-weight: bold !important; }
.uhs-jh-winner-score { text-align: right !important; border-left: 1px solid rgba(255,255,255,0.2) !important; border-top: none !important; padding-left: 15px !important; flex-shrink: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.uhs-jh-score-label { font-size: 0.7rem !important; text-transform: uppercase !important; font-weight: 800 !important; color: rgba(255,255,255,0.7) !important; letter-spacing: 0.5px !important; display: block !important; }
.uhs-jh-score-val { font-size: 2.2rem !important; font-weight: 900 !important; line-height: 1 !important; display: block !important; margin-top: 2px !important; }

/* --- 3. DATATABLES & ROW HOVER CONTRASTS --- */
/* Boxscore Player Links */
html body .uhs-season-wrapper .uhs-boxscore-pane .uhs-premium-table td.uhs-col-player a { color: var(--uhs-brand-garnet, #5a1222) !important; font-weight: 900 !important; text-decoration: none !important; transition: opacity 0.2s ease !important; }
html body .uhs-season-wrapper .uhs-boxscore-pane .uhs-premium-table td.uhs-col-player a:hover { opacity: 0.7 !important; }
html body .uhs-season-wrapper .uhs-boxscore-pane .uhs-premium-table tbody tr:hover td.uhs-col-player a { color: #ffffff !important; opacity: 1 !important; }

/* Recruits Hover Text Contrast */
html body .uhs-season-wrapper .uhr-league-row:hover td, html body .uhs-season-wrapper .uhr-league-row:hover .uhs-text-main, html body .uhs-season-wrapper .uhr-league-row:hover .uhs-text-brand, html body .uhs-season-wrapper .uhr-league-row:hover .uhs-text-muted, html body .uhs-season-wrapper .uhr-league-row:hover .uhr-caret, html body .uhs-season-wrapper .uhr-league-row:hover .pace-val-text, html body .uhs-season-wrapper .uhr-league-row:hover .pace-pct-text, html body .uhs-season-wrapper .uhr-team-row:hover td, html body .uhs-season-wrapper .uhr-team-row:hover .uhs-text-main, html body .uhs-season-wrapper .uhr-team-row:hover .uhs-text-brand, html body .uhs-season-wrapper .uhr-team-row:hover .uhs-text-muted, html body .uhs-season-wrapper .uhr-team-row:hover .uhr-caret, html body .uhs-season-wrapper .uhr-team-row:hover .pace-val-text, html body .uhs-season-wrapper .uhr-team-row:hover .pace-pct-text { color: #ffffff !important; }

/* Recruits Hover Badge Contrast */
html body .uhs-season-wrapper .uhr-league-row:hover .uhs-badge { background: #ffffff !important; color: var(--uhs-brand-garnet, #5a1222) !important; }
html body .uhs-season-wrapper .uhr-team-row:hover .uhs-badge { background: #ffffff !important; color: var(--uhs-brand-navy, #1d4e89) !important; }

/* --- 4. UNIFIED MOBILE OVERRIDES --- */
@media screen and (max-width: 768px) {
    
    /* Recruits & Feature Tabs Grid */
    html body .uhs-season-wrapper .uhr-filter-dashboard .uhr-btn-group, html body .uhs-season-wrapper .uhr-filter-dashboard .uhs-recruit-filters, html body .uhs-season-wrapper .uhs-feature-tabs { display: grid !important; gap: 6px !important; width: 100% !important; margin-bottom: 10px !important; }
    html body .uhs-season-wrapper .uhr-filter-dashboard .uhr-btn-group, html body .uhs-season-wrapper .uhr-filter-dashboard .uhs-recruit-filters { grid-template-columns: repeat(3, 1fr) !important; }
    html body .uhs-season-wrapper .uhs-feature-tabs { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important; justify-content: center !important; }
    
    /* Tab Buttons Formatting */
    html body .uhs-season-wrapper .uhr-filter-dashboard .uhr-filter-btn, html body .uhs-season-wrapper .uhr-filter-dashboard .uhs-recruit-btn, html body .uhs-season-wrapper .uhs-feature-btn { 
        background: #ffffff !important; border: 2px solid var(--uhs-border-dark, #cbd5e1) !important; color: var(--uhs-text-muted, #64748b) !important; padding: 8px 4px !important; border-radius: 6px !important; font-size: 0.65rem !important; font-weight: 800 !important; text-transform: uppercase !important; white-space: normal !important; line-height: 1.1 !important; width: 100% !important; height: 100% !important; min-height: 40px !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; margin: 0 !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; 
    }
    html body .uhs-season-wrapper .uhs-feature-btn { font-size: 0.7rem !important; min-height: 44px !important; }
    
    /* Tab Active States */
    html body .uhs-season-wrapper .uhr-filter-dashboard .uhr-filter-btn:hover, html body .uhs-season-wrapper .uhr-filter-dashboard .uhr-filter-btn.active, html body .uhs-season-wrapper .uhr-filter-dashboard .uhs-recruit-btn:hover, html body .uhs-season-wrapper .uhr-filter-dashboard .uhs-recruit-btn.active, html body .uhs-season-wrapper .uhs-feature-btn:hover, html body .uhs-season-wrapper .uhs-feature-btn.active { background: var(--uhs-brand-navy, #002b5c) !important; color: #ffffff !important; border-color: var(--uhs-brand-navy, #002b5c) !important; }

    /* Recruits Dropdown Centering */
    html body .uhs-season-wrapper .uhr-filter-dashboard { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; }
    html body .uhs-season-wrapper #uhr-league-dropdown { margin: 10px auto 0 auto !important; display: block !important; text-align: center !important; width: 100% !important; max-width: 320px !important; }

    /* Awards Header Shrinking */
    html body .uhs-season-wrapper h4.uhs-award-category-title { font-size: 0.8rem !important; letter-spacing: -0.5px !important; line-height: 1 !important; margin-top: 20px !important; margin-bottom: 8px !important; padding-bottom: 4px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }

    /* Jersey History Horizontal Formatting */
    html body .uhs-season-wrapper .jersey-row .winner-box, html body .uhs-season-wrapper .uhs-jh-winner-card { display: flex !important; flex-direction: row !important; align-items: center !important; padding: 12px 15px !important; gap: 12px !important; text-align: left !important; background: linear-gradient(135deg, var(--uhs-brand-garnet, #5a1222) 0%, var(--uhs-brand-garnet-dark, #2c0810) 100%) !important; border-radius: 12px !important; }
    html body .uhs-season-wrapper .jersey-row .winner-num, html body .uhs-season-wrapper .uhs-jh-winner-num { font-size: 2.2rem !important; border-right: 1px solid rgba(255,255,255,0.2) !important; border-bottom: none !important; padding: 0 12px 0 0 !important; margin: 0 !important; width: auto !important; flex-shrink: 0 !important; line-height: 1 !important; }
    html body .uhs-season-wrapper .jersey-row .winner-info, html body .uhs-season-wrapper .uhs-jh-winner-info { display: flex !important; flex-direction: column !important; align-items: flex-start !important; padding: 0 !important; margin: 0 !important; flex-grow: 1 !important; width: auto !important; text-align: left !important; }
    html body .uhs-season-wrapper .jersey-row .winner-info h3, html body .uhs-season-wrapper .uhs-jh-winner-info h3 { font-size: 1.05rem !important; margin: 0 0 4px 0 !important; text-align: left !important; }
    html body .uhs-season-wrapper .jersey-row .winner-info div, html body .uhs-season-wrapper .uhs-jh-winner-meta { font-size: 0.65rem !important; line-height: 1.2 !important; text-align: left !important; color: rgba(255,255,255,0.8) !important; }
    html body .uhs-season-wrapper .jersey-row .winner-score-box, html body .uhs-season-wrapper .uhs-jh-winner-score { display: flex !important; flex-direction: column !important; align-items: flex-end !important; border-left: none !important; border-top: none !important; padding: 0 0 0 12px !important; margin: 0 !important; width: auto !important; flex-shrink: 0 !important; }
    html body .uhs-season-wrapper .jersey-row .winner-score-box span:first-child, html body .uhs-season-wrapper .uhs-jh-score-label { display: none !important; }
    html body .uhs-season-wrapper .jersey-row .winner-score-box .score-val, html body .uhs-season-wrapper .uhs-jh-score-val { font-size: 1.4rem !important; margin: 0 !important; font-weight: 900 !important; }
}