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

.po-dashboard {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.po-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    width: 100%;
}

    .po-page-header > div:first-child {
        flex: 1;
    }

.po-eyebrow {
    color: var(--po-primary);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 8px;
}

.po-page-header h1 {
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
}

.po-page-subtitle {
    color: var(--po-text-muted);
    margin-top: 10px;
}

.po-page-actions {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

/* ===========================================
   METRICS
=========================================== */

.po-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.po-metric-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.po-metric-label {
    color: var(--po-text-muted);
    font-size: 13px;
}

.po-metric-card strong {
    font-size: 32px;
    line-height: 1;
}

.po-metric-card small {
    color: var(--po-text-muted);
}

/* ===========================================
   DASHBOARD GRID
=========================================== */

.po-dashboard-layout {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 18px;
    align-items: stretch;
}

.po-span-4 {
    grid-column: span 4;
}

.po-span-6 {
    grid-column: span 6;
}

.po-span-8 {
    grid-column: span 8;
}

/* ===========================================
   WIDGET HEADER ROW
=========================================== */

.po-widget-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

    .po-widget-header-row .po-section-header {
        margin-bottom: 0;
        flex: 1;
        min-width: 0;
    }

/* ===========================================
   LEADS
=========================================== */

.po-lead-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.po-lead-feed-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    background: rgba(15, 23, 42, .35);
}

.po-lead-feed-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.po-lead-feed-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

    .po-lead-feed-info > strong {
        font-size: 16px;
        font-weight: 800;
        line-height: 1.15;
    }

.po-lead-feed-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--po-text-muted);
    font-size: 13px;
}

.po-lead-feed-market {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

    .po-lead-feed-market span {
        color: #7d8da5;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .po-lead-feed-market strong {
        font-size: 15px;
        line-height: 1.1;
    }

.po-lead-feed-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
}

    .po-lead-feed-side > strong {
        font-size: 16px;
        font-weight: 900;
    }

.po-lead-feed-price {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

    .po-lead-feed-price span {
        font-size: 16px;
        font-weight: 800;
    }

/* ===========================================
   DFS VALUES
=========================================== */

.po-player-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.po-dfs-value-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 14px;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    background: rgba(15, 23, 42, .35);
}

.po-dfs-player {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.po-dfs-player-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.po-dfs-player-name-line {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .po-dfs-player-name-line strong {
        font-size: 16px;
        font-weight: 800;
        line-height: 1.15;
    }

.po-dfs-player-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .po-dfs-player-meta span {
        color: var(--po-text-muted);
        font-size: 13px;
    }

.po-dfs-matchup {
    color: var(--po-primary);
    font-size: 12px;
    font-weight: 700;
}

.po-dfs-badge-row {
    display: flex;
    gap: 6px;
    margin-top: 2px;
}

.po-dfs-selected-site {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 92px;
    flex-shrink: 0;
}

    .po-dfs-selected-site strong {
        font-size: 26px;
        font-weight: 900;
        color: var(--po-success);
        line-height: 1;
        margin-top: 4px;
    }

    .po-dfs-selected-site small {
        color: var(--po-text-muted);
        font-size: 12px;
        text-align: right;
    }

    .po-dfs-selected-site em {
        font-style: normal;
        color: #7d8da5;
        font-size: 11px;
        margin-top: 2px;
    }

.po-dfs-other-site {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 70px;
    flex-shrink: 0;
}

    .po-dfs-other-site span {
        color: var(--po-text-muted);
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .06em;
    }

    .po-dfs-other-site strong {
        color: var(--po-text);
        font-size: 16px;
        font-weight: 700;
    }

/* ===========================================
   GAME CARD
=========================================== */

.po-game-card {
    padding: 16px;
    border: 1px solid var(--po-border);
    border-radius: 14px;
    background: rgba(15, 23, 42, .45);
}

.po-game-card-top {
    display: flex;
    justify-content: space-between;
    color: var(--po-text-muted);
    font-size: 13px;
    margin-bottom: 14px;
}

.po-game-matchup {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: center;
}

    .po-game-matchup div:not(.po-game-vs) {
        text-align: center;
    }

    .po-game-matchup strong,
    .po-game-matchup span {
        display: block;
    }

    .po-game-matchup span {
        color: var(--po-text-muted);
        font-size: 13px;
        margin-top: 4px;
    }

.po-game-vs {
    color: var(--po-text-muted);
    font-weight: 800;
}


/* ===========================================
   TOP PROJECTED LINES
=========================================== */

.po-lineup-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.po-lineup-row {
    display: flex;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    background: rgba(15, 23, 42, .35);
}

.po-lineup-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.po-lineup-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.po-lineup-name-line {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .po-lineup-name-line strong {
        font-size: 16px;
        font-weight: 800;
        line-height: 1.15;
    }

.po-lineup-players {
    color: var(--po-text-muted);
    font-size: 13px;
    line-height: 1.25;
}

.po-lineup-matchup {
    color: var(--po-primary);
    font-size: 12px;
    font-weight: 700;
}

.po-lineup-badge-row {
    display: flex;
    gap: 6px;
    margin-top: 2px;
}


/* ===========================================
   TOP DEFENSIVE PAIRS
=========================================== */

.po-pair-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.po-pair-row {
    display: flex;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    background: rgba(15, 23, 42, .35);
}

.po-pair-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.po-pair-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.po-pair-name-line {
    display: flex;
    align-items: center;
    gap: 8px;
}

.po-pair-name-line strong {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.15;
}

.po-pair-players {
    color: var(--po-text-muted);
    font-size: 13px;
    line-height: 1.25;
}

.po-pair-matchup {
    color: var(--po-primary);
    font-size: 12px;
    font-weight: 700;
}

.po-pair-badge-row {
    display: flex;
    gap: 6px;
    margin-top: 2px;
}

/* ===========================================
   TONIGHT'S GAMES
=========================================== */

.po-tonight-games-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.po-tonight-game-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    background: rgba(15, 23, 42, .35);
    text-decoration: none;
    color: var(--po-text);
}

.po-tonight-game-row:hover {
    border-color: rgba(96, 165, 250, .38);
    background: rgba(15, 23, 42, .52);
}

.po-tonight-game-head {
    display: grid;
    grid-template-columns: 72px 1fr 1.1fr auto;
    gap: 14px;
    align-items: center;
}

.po-tonight-game-time {
    color: var(--po-primary);
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.po-tonight-matchup {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.po-tonight-team {
    display: flex;
    align-items: center;
    gap: 7px;
}

.po-tonight-team strong {
    font-size: 16px;
    font-weight: 900;
}

.po-tonight-at {
    color: var(--po-text-muted);
    font-size: 12px;
    font-weight: 900;
}


.po-tonight-opportunity-summary {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    min-width: 0;
}

.po-tonight-opportunity-total {
    color: var(--po-text);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.po-tonight-opportunity-tiers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 900;
}

.po-tier-count {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.po-tier-count + .po-tier-count::before {
    content: "•";
    margin-right: 6px;
    color: var(--po-text-muted);
}

.po-tier-count-elite { color: #ff5c68; }
.po-tier-count-strong { color: #f7b955; }
.po-tier-count-good { color: #45d483; }

.po-tonight-game-note {
    color: var(--po-text-muted);
    font-size: 12px;
    line-height: 1.25;
}

.po-tonight-open {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--po-primary);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.po-tonight-game-body {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .85fr);
    gap: 14px;
    align-items: stretch;
}

.po-tonight-odds {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.po-tonight-odds-chip {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(96, 165, 250, .14);
    background: rgba(2, 8, 23, .26);
}

.po-tonight-odds-chip span,
.po-tonight-stat-header span {
    display: block;
    color: #7d8da5;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.po-tonight-odds-chip strong {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.po-tonight-stats {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(96, 165, 250, .14);
    background: rgba(2, 8, 23, .26);
}

.po-tonight-stat-header,
.po-tonight-stat-row {
    display: grid;
    grid-template-columns: 42px repeat(4, 1fr);
    gap: 8px;
    align-items: center;
}

.po-tonight-stat-row {
    margin-top: 7px;
}

.po-tonight-stat-row span {
    color: var(--po-text-muted);
    font-size: 11px;
    font-weight: 900;
}

.po-tonight-stat-row strong {
    color: var(--po-text);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .po-tonight-game-head {
        grid-template-columns: 1fr auto;
        gap: 10px;
    }

    .po-tonight-game-time,
    .po-tonight-matchup,
    .po-tonight-game-note {
        grid-column: 1 / -1;
    }

    .po-tonight-open {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .po-tonight-game-body {
        grid-template-columns: 1fr;
    }

    .po-tonight-odds {
        grid-template-columns: 1fr;
    }
}

/* ===========================================
   INJURIES
=========================================== */

.po-injury-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.po-injury-row {
    padding: 14px;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    background: rgba(15, 23, 42, .35);
}

.po-injury-player {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.po-injury-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.po-injury-name-line {
    display: flex;
    align-items: center;
    gap: 8px;
}

.po-injury-name-line strong {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.15;
}

.po-injury-name-line span {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    color: #fef3c7;
    background: rgba(245, 158, 11, .16);
    border: 1px solid rgba(245, 158, 11, .32);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.po-injury-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--po-text-muted);
    font-size: 13px;
}

.po-injury-detail {
    color: var(--po-primary);
    font-size: 12px;
    font-weight: 800;
}

.po-injury-impact,
.po-injury-return {
    color: var(--po-text-muted);
    font-size: 12px;
    line-height: 1.25;
}

/* ===========================================
   PLACEHOLDER
=========================================== */

.po-placeholder-chart {
    height: 260px;
    border-radius: 14px;
    border: 1px dashed var(--po-border);
    background: linear-gradient(135deg, rgba(37, 99, 235, .16), transparent), rgba(15, 23, 42, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--po-text-muted);
    text-align: center;
    padding: 24px;
}

/* ===========================================
   RESPONSIVE
=========================================== */

@media (max-width: 1200px) {
    .po-span-4,
    .po-span-6,
    .po-span-8 {
        grid-column: span 12;
    }
}

@media (max-width: 900px) {
    .po-page-header {
        flex-direction: column;
        align-items: stretch;
    }

    .po-page-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .po-metric-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .po-dfs-value-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .po-dfs-selected-site,
    .po-dfs-other-site {
        align-items: flex-start;
    }

}

@media (max-width: 700px) {
    .po-widget-header-row {
        flex-direction: column;
        align-items: stretch;
    }

    .po-segmented-control {
        align-self: flex-start;
    }

    .po-lead-feed-row {
        align-items: flex-start;
    }

    .po-lead-feed-side {
        gap: 6px;
        padding-top: 2px;
    }

    .po-lead-feed-info > strong,
    .po-dfs-player-name-line strong {
        font-size: 15px;
    }

    .po-book-line {
        justify-content: flex-start;
    }

    .po-lineup-row {
        align-items: flex-start;
    }

    .po-lineup-main {
        align-items: flex-start;
    }
}

/* ===========================================
   STARTING GOALIES
=========================================== */

.po-goalie-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.po-goalie-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(96,165,250,.16);
    border-radius: 14px;
    background: rgba(15,23,42,.35);
}

.po-goalie-player {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.po-goalie-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.po-goalie-name-line {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .po-goalie-name-line strong {
        font-size: 16px;
        font-weight: 800;
        line-height: 1.15;
    }

.po-goalie-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--po-text-muted);
    font-size: 13px;
}

.po-goalie-matchup {
    color: var(--po-primary);
    font-size: 12px;
    font-weight: 700;
}

.po-goalie-status span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.po-status-confirmed {
    color: #dcfce7;
    background: rgba(34,197,94,.18);
    border: 1px solid rgba(34,197,94,.35);
}

.po-status-projected {
    color: #dbeafe;
    background: rgba(37,99,235,.18);
    border: 1px solid rgba(96,165,250,.35);
}

.po-goalie-stats {
    display: none;
}

    .po-goalie-stats div {
        text-align: right;
    }

    .po-goalie-stats span {
        display: block;
        color: #7d8da5;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .po-goalie-stats strong {
        display: block;
        font-size: 15px;
        font-weight: 800;
    }

@media (max-width: 700px) {
    .po-goalie-row {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .po-goalie-stats {
        width: 100%;
        justify-content: space-between;
    }

        .po-goalie-stats div {
            text-align: left;
        }
}


/* ===========================================
   ABOVE-THE-FOLD DASHBOARD PASS
=========================================== */

.po-dashboard-hero {
    padding: 4px 0;
}

.po-dashboard-date {
    margin-bottom: 6px;
}

.po-top-opportunity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    border: 1px solid rgba(34, 197, 94, .34);
    border-radius: 18px;
    color: var(--po-text);
    background:
        linear-gradient(115deg, rgba(34, 197, 94, .14), rgba(37, 99, 235, .10)),
        rgba(15, 23, 42, .72);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
}

.po-top-opportunity:hover {
    border-color: rgba(34, 197, 94, .58);
    transform: translateY(-1px);
}

.po-top-opportunity-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    color: #dcfce7;
    background: rgba(34, 197, 94, .18);
    border: 1px solid rgba(34, 197, 94, .36);
    font-size: 24px;
    font-weight: 900;
}

.po-top-opportunity-copy {
    min-width: 0;
}

.po-top-opportunity-copy .po-eyebrow {
    margin-bottom: 3px;
    color: var(--po-success);
}

.po-top-opportunity-copy > strong {
    display: block;
    font-size: clamp(19px, 2.4vw, 27px);
    line-height: 1.08;
}

.po-top-opportunity-copy > span {
    display: block;
    margin-top: 6px;
    color: var(--po-text-muted);
    font-size: 13px;
}

.po-top-opportunity-edge {
    min-width: 132px;
    text-align: right;
}

.po-top-opportunity-edge > span,
.po-top-opportunity-edge > small {
    display: block;
    color: var(--po-text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
}

.po-top-opportunity-edge > strong {
    display: block;
    margin: 2px 0 5px;
    color: var(--po-success);
    font-size: 28px;
    line-height: 1;
}

.po-metric-card {
    color: var(--po-text);
}

.po-metric-card-primary {
    border-color: rgba(34, 197, 94, .34);
    background: linear-gradient(145deg, rgba(34, 197, 94, .12), rgba(18, 30, 50, .96));
}

.po-metric-card-model strong {
    font-size: 23px;
    overflow-wrap: normal;
}

#starting-goalies,
#tonights-games {
    scroll-margin-top: 96px;
}

@media (max-width: 700px) {
    .po-dashboard {
        gap: 15px;
    }

    .po-dashboard-hero {
        gap: 12px;
        padding: 0;
    }

    .po-dashboard-hero h1 {
        margin: 0;
        font-size: 32px;
        line-height: 1.02;
    }

    .po-dashboard-date {
        margin-bottom: 4px;
        font-size: 12px;
    }

    .po-dashboard-hero .po-page-subtitle {
        max-width: 34rem;
        margin-top: 6px;
        font-size: 14px;
        line-height: 1.35;
    }

    .po-dashboard-hero .po-page-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }

    .po-dashboard-hero .po-button {
        min-height: 42px;
        padding: 0 12px;
        font-size: 13px;
    }

    .po-top-opportunity {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        padding: 15px;
        border-radius: 15px;
    }

    .po-top-opportunity-icon {
        display: none;
    }

    .po-top-opportunity-copy > strong {
        font-size: 18px;
    }

    .po-top-opportunity-copy > span {
        margin-top: 4px;
        font-size: 11px;
        line-height: 1.25;
    }

    .po-top-opportunity-edge {
        min-width: 82px;
    }

    .po-top-opportunity-edge > strong {
        font-size: 23px;
    }

    .po-top-opportunity-edge > small {
        display: none;
    }

    .po-metric-grid-priority {
        gap: 9px;
    }

    .po-metric-grid-priority .po-metric-card {
        min-height: 112px;
        padding: 14px;
        gap: 3px;
    }

    .po-metric-grid-priority .po-metric-label {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .po-metric-grid-priority .po-metric-card strong {
        margin-top: auto;
        font-size: 29px;
    }

    .po-metric-grid-priority .po-metric-card small {
        font-size: 11px;
        line-height: 1.25;
    }

    .po-metric-grid-priority .po-metric-card-model strong {
        font-size: 20px;
    }
}

@media (max-width: 430px) {
    .po-dashboard-hero h1 {
        font-size: 29px;
    }

    .po-top-opportunity-copy > strong {
        font-size: 16px;
    }

    .po-metric-grid-priority .po-metric-card {
        min-height: 102px;
        padding: 12px;
    }
}

/* ===========================================
   DASHBOARD RELEASE CANDIDATE LAYOUT
=========================================== */
.po-dashboard-rc {
    gap: 18px;
}

.po-dashboard-hero-compact {
    align-items: flex-end;
    padding: 0 2px;
}

.po-dashboard-hero-compact h1 {
    margin: 0;
    font-size: clamp(30px, 3.4vw, 44px);
}

.po-dashboard-hero-compact .po-page-subtitle {
    margin-top: 5px;
}

.po-dashboard-hero-compact .po-page-actions {
    align-items: center;
}

.po-dashboard-layout-rc {
    gap: 14px;
}

.po-dashboard-layout-rc > .po-card {
    padding: 18px;
}

.po-slate-card .po-widget-header-row,
.po-top-leads-card .po-widget-header-row {
    margin-bottom: 12px;
}

.po-tonight-games-scroll {
    max-height: 356px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding-right: 5px;
}

.po-tonight-games-scroll::-webkit-scrollbar {
    width: 8px;
}

.po-tonight-games-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(96, 165, 250, .28);
}

.po-tonight-games-list-compact {
    gap: 0;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    overflow: hidden;
}

.po-tonight-game-row-compact {
    display: grid;
    grid-template-columns: 78px minmax(170px, .9fr) minmax(130px, .65fr) minmax(350px, 1.6fr);
    align-items: center;
    gap: 16px;
    min-height: 94px;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid rgba(96, 165, 250, .14);
    border-radius: 0;
    background: rgba(15, 23, 42, .24);
}

.po-tonight-game-row-compact:last-child {
    border-bottom: 0;
}

.po-tonight-game-row-compact:hover {
    background: rgba(37, 99, 235, .08);
}

.po-tonight-game-row-compact .po-tonight-matchup {
    font-size: 16px;
}

.po-tonight-game-row-compact .po-tonight-game-note {
    font-size: 12px;
}

.po-tonight-stats-inline {
    padding: 7px 10px;
    border: 0;
    background: transparent;
}

.po-tonight-stats-inline .po-tonight-stat-header,
.po-tonight-stats-inline .po-tonight-stat-row {
    grid-template-columns: 44px repeat(4, 1fr);
}

.po-slate-footer {
    padding-top: 11px;
    text-align: center;
}

.po-lead-list-compact {
    gap: 0;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    overflow: hidden;
}

.po-lead-feed-row-compact {
    min-height: 72px;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid rgba(96, 165, 250, .14);
    border-radius: 0;
    background: rgba(15, 23, 42, .24);
}

.po-lead-feed-row-compact:last-child {
    border-bottom: 0;
}

.po-lead-feed-row-compact .po-dashboard-avatar {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
}

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

.po-goalie-grid .po-empty-state {
    grid-column: 1 / -1;
}

@media (max-width: 1000px) {
    .po-tonight-game-row-compact {
        grid-template-columns: 72px minmax(150px, 1fr) minmax(120px, .7fr);
    }

    .po-tonight-game-row-compact .po-tonight-stats-inline {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .po-dashboard-rc {
        gap: 14px;
    }

    .po-dashboard-hero-compact {
        gap: 8px;
    }

    .po-dashboard-hero-compact h1 {
        font-size: 31px;
    }

    .po-dashboard-hero-compact .po-page-actions {
        display: flex;
        justify-content: space-between;
        gap: 18px;
    }

    .po-dashboard-layout-rc > .po-card {
        padding: 14px;
    }

    .po-tonight-games-scroll {
        max-height: 380px;
        padding-right: 2px;
    }

    .po-tonight-game-row-compact {
        grid-template-columns: 66px 1fr;
        gap: 8px 12px;
        min-height: 0;
        padding: 12px;
    }

    .po-tonight-game-row-compact .po-tonight-game-note {
        grid-column: 2;
    }

    .po-tonight-game-row-compact .po-tonight-stats-inline {
        grid-column: 1 / -1;
        padding: 8px 0 0;
    }

    .po-tonight-stats-inline .po-tonight-stat-header,
    .po-tonight-stats-inline .po-tonight-stat-row {
        grid-template-columns: 38px repeat(4, 1fr);
        gap: 5px;
    }

    .po-tonight-stat-row strong {
        font-size: 11px;
    }

    .po-lead-feed-row-compact {
        min-height: 68px;
    }

    .po-goalie-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    .po-dashboard-hero-compact .po-page-actions {
        font-size: 12px;
    }

    .po-tonight-game-row-compact {
        grid-template-columns: 60px 1fr;
    }

    .po-tonight-game-row-compact .po-tonight-team strong {
        font-size: 14px;
    }
}

/* Dashboard slate team-logo pass */
.po-tonight-team-logo {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.po-tonight-team-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.po-tonight-game-row-compact .po-tonight-matchup {
    gap: 12px;
}

.po-tonight-game-row-compact .po-tonight-team {
    gap: 9px;
}

.po-tonight-game-row-compact .po-tonight-team-home {
    justify-content: flex-start;
}

@media (max-width: 700px) {
    .po-tonight-team-logo {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
    }

    .po-tonight-game-row-compact .po-tonight-matchup {
        gap: 7px;
    }

    .po-tonight-game-row-compact .po-tonight-team {
        gap: 6px;
    }
}

@media (max-width: 430px) {
    .po-tonight-team-logo {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }
}

@media (max-width: 700px) {
    .po-tonight-opportunity-summary {
        gap: 4px;
    }

    .po-tonight-opportunity-total {
        font-size: 12px;
    }

    .po-tonight-opportunity-tiers {
        gap: 5px;
        font-size: 10px;
    }

    .po-tier-count + .po-tier-count::before {
        margin-right: 5px;
    }
}

/* Dashboard slate cosmetic refinement pass */
.po-tonight-game-row-compact .po-tonight-matchup {
    gap: 15px;
}

.po-tonight-game-row-compact .po-tonight-team {
    gap: 10px;
}

.po-tonight-game-row-compact .po-tonight-team strong {
    font-size: 17px;
    letter-spacing: .01em;
}

.po-tonight-at {
    padding-inline: 2px;
    color: #9fb0c9;
}

/* Opportunity tiers should read as quality, not warning states. */
.po-tier-count-elite {
    color: #2ee67b;
}

.po-tier-count-strong {
    color: #f7b955;
}

.po-tier-count-good {
    color: #69a9ff;
}

@media (max-width: 700px) {
    .po-tonight-team-logo {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .po-tonight-game-row-compact .po-tonight-matchup {
        gap: 10px;
    }

    .po-tonight-game-row-compact .po-tonight-team {
        gap: 8px;
    }

    .po-tonight-game-row-compact .po-tonight-team strong {
        font-size: 15px;
    }

    .po-tonight-at {
        padding-inline: 3px;
    }
}

@media (max-width: 430px) {
    .po-tonight-team-logo {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }
}


/* Dashboard top-leads visual hierarchy pass */
.po-top-leads-card .po-lead-feed-row-compact {
    color: inherit;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.po-top-leads-card .po-lead-feed-row-compact:hover {
    background: rgba(37, 99, 235, .09);
}

.po-top-leads-card .po-lead-feed-info > strong {
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.15;
}

.po-top-leads-card .po-lead-feed-row-compact:hover .po-lead-feed-info > strong {
    color: #60a5fa;
}

.po-top-leads-card .po-lead-feed-meta,
.po-top-leads-card .po-lead-feed-market span,
.po-top-leads-card .po-lead-feed-price small {
    color: #94a3b8;
}

.po-top-leads-card .po-lead-feed-market strong {
    color: #22c55e;
    font-weight: 800;
}

.po-top-leads-card .po-lead-feed-side > strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    padding: 4px 9px;
    border: 1px solid rgba(34, 197, 94, .35);
    border-radius: 999px;
    background: rgba(34, 197, 94, .10);
    color: #22c55e;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

.po-top-leads-card .po-lead-feed-price span {
    color: #f8fafc;
    font-weight: 800;
}

.po-top-leads-card .po-lead-feed-price small {
    margin-left: 5px;
}

.po-top-leads-footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 12px;
}

.po-top-leads-footer .po-text-link {
    color: #60a5fa;
    font-weight: 800;
}

@media (max-width: 700px) {
    .po-top-leads-card .po-lead-feed-info > strong {
        font-size: 14px;
    }

    .po-top-leads-card .po-lead-feed-side > strong {
        min-width: 58px;
        padding: 4px 8px;
        font-size: 13px;
    }

    .po-top-leads-card .po-lead-feed-price {
        margin-top: 5px;
    }

    .po-top-leads-footer {
        justify-content: center;
        padding-top: 14px;
    }
}

/* Dashboard team-lineups research visual pass */
.po-lineup-row,
.po-pair-row {
    color: inherit;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.po-lineup-row:hover,
.po-pair-row:hover {
    border-color: rgba(59, 130, 246, .42);
    background: linear-gradient(135deg, rgba(37, 99, 235, .10), rgba(15, 23, 42, .54));
    box-shadow: 0 12px 28px rgba(2, 8, 23, .18);
    transform: translateY(-1px);
}

.po-lineup-main,
.po-pair-main {
    width: 100%;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 13px;
}

.po-unit-team-logo {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(96, 165, 250, .18);
    border-radius: 13px;
    background: rgba(2, 8, 23, .28);
}

.po-unit-team-logo img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.po-lineup-name-line,
.po-pair-name-line {
    justify-content: flex-start;
}

.po-lineup-name-line strong,
.po-pair-name-line strong {
    color: #f8fafc;
    font-size: 18px;
    font-weight: 900;
}

.po-grade-chip-featured {
    min-width: 34px;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    text-align: center;
}

.po-grade-aplus,
.po-grade-a {
    color: #39e27d;
    border-color: rgba(34, 197, 94, .48);
    background: linear-gradient(135deg, rgba(22, 163, 74, .24), rgba(5, 46, 22, .38));
}

.po-grade-bplus,
.po-grade-b {
    color: #79b7ff;
    border-color: rgba(59, 130, 246, .42);
    background: rgba(37, 99, 235, .18);
}

.po-lineup-players,
.po-pair-players {
    color: #b9c7da;
    font-size: 13px;
}

.po-lineup-context-row,
.po-pair-context-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.po-lineup-matchup,
.po-pair-matchup {
    margin-right: 2px;
}

.po-unit-context-chip {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 2px 7px;
    border: 1px solid rgba(96, 165, 250, .24);
    border-radius: 999px;
    background: rgba(37, 99, 235, .12);
    color: #a9cfff;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
}

.po-unit-context-chip-pp {
    border-color: rgba(168, 85, 247, .30);
    background: rgba(126, 34, 206, .13);
    color: #d2b4ff;
}

.po-unit-metric {
    min-width: 68px;
    align-self: center;
    text-align: right;
}

.po-unit-metric span {
    display: block;
    color: #7f91aa;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.po-unit-metric strong {
    display: block;
    margin-top: 3px;
    color: #f8fafc;
    font-size: 18px;
    font-weight: 950;
}

@media (max-width: 700px) {
    .po-lineup-main,
    .po-pair-main {
        grid-template-columns: 42px minmax(0, 1fr) auto;
        gap: 10px;
    }

    .po-unit-team-logo {
        width: 40px;
        height: 40px;
        border-radius: 11px;
    }

    .po-unit-team-logo img {
        width: 30px;
        height: 30px;
    }

    .po-lineup-name-line strong,
    .po-pair-name-line strong {
        font-size: 16px;
    }

    .po-lineup-players,
    .po-pair-players {
        font-size: 12px;
    }

    .po-unit-metric {
        min-width: 50px;
    }

    .po-unit-metric strong {
        font-size: 16px;
    }
}

@media (max-width: 430px) {
    .po-lineup-row,
    .po-pair-row {
        padding: 12px;
    }

    .po-lineup-main,
    .po-pair-main {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .po-unit-team-logo {
        width: 36px;
        height: 36px;
    }

    .po-unit-team-logo img {
        width: 27px;
        height: 27px;
    }

    .po-unit-metric {
        grid-column: 2;
        justify-self: start;
        display: flex;
        align-items: baseline;
        gap: 6px;
        text-align: left;
    }

    .po-unit-metric span,
    .po-unit-metric strong {
        display: inline;
        margin: 0;
    }
}


/* Top Team Lineups shared section + full-slate crease watch */
.po-top-team-lineups-section {
    min-width: 0;
}

.po-section-heading-row {
    margin-bottom: 10px;
}

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

.po-team-lineups-card {
    min-width: 0;
}

.po-top-team-lineups-footer {
    display: flex;
    justify-content: center;
    padding-top: 14px;
}

.po-top-team-lineups-footer .po-text-link {
    color: #60a5fa;
    font-weight: 800;
}

.po-goalies-card {
    min-height: 520px;
}

.po-goalie-scroll {
    max-height: 600px;
    overflow-y: auto;
    padding-right: 6px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.po-goalie-scroll::-webkit-scrollbar {
    width: 8px;
}

.po-goalie-scroll::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, .28);
    border-radius: 999px;
}

.po-goalie-scroll::-webkit-scrollbar-thumb {
    background: rgba(96, 165, 250, .34);
    border-radius: 999px;
}

.po-goalie-team-logo {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 12px;
    background: rgba(2, 8, 23, .28);
}

.po-goalie-team-logo img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

@media (max-width: 900px) {
    .po-top-team-lineups-grid {
        grid-template-columns: 1fr;
    }

    .po-goalies-card {
        min-height: 560px;
    }

    .po-goalie-scroll {
        max-height: 640px;
    }
}

@media (max-width: 700px) {
    .po-goalies-card {
        min-height: 500px;
    }

    .po-goalie-scroll {
        max-height: 570px;
        padding-right: 3px;
    }

    .po-goalie-team-logo {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 10px;
    }

    .po-goalie-team-logo img {
        width: 26px;
        height: 26px;
    }
}

/* ===========================================
   GAME-DAY DASHBOARD UI PASS — 2026-08-30
   Compact slate research, lineup teaser, goalie matchup grouping
=========================================== */

.po-slate-footer {
    display: flex;
    justify-content: center;
    padding-top: 10px;
    color: #7f91aa;
    font-size: 11px;
    font-weight: 700;
}

.po-tonight-game-row-compact {
    grid-template-columns: minmax(270px, 1.05fr) minmax(155px, .65fr) minmax(230px, .85fr) minmax(330px, 1.25fr);
    gap: 14px;
    min-height: 88px;
    padding: 11px 14px;
}

.po-tonight-game-core {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.po-tonight-game-core .po-tonight-game-time {
    width: 66px;
    flex: 0 0 66px;
}

.po-tonight-game-core .po-tonight-matchup {
    flex: 1;
}

.po-tonight-reference-odds {
    min-width: 0;
    padding: 8px 10px;
    border-left: 1px solid rgba(96, 165, 250, .16);
}

.po-tonight-reference-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
}

.po-tonight-reference-label > span {
    color: #7f91aa;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.po-tonight-reference-label > small {
    color: #93a4bd;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.po-tonight-reference-values {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 10px;
    color: #e8eef8;
    font-size: 11px;
    font-weight: 800;
}

.po-tonight-reference-values > span {
    white-space: nowrap;
}

.po-tonight-reference-values b {
    color: #9fb0c9;
    font-size: 10px;
    font-weight: 900;
}

.po-tonight-total-line {
    color: #69a9ff;
}

.po-tonight-reference-odds-pending {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.po-tonight-odds-pending-text {
    color: #74859e;
    font-size: 11px;
    font-weight: 700;
}

.po-tonight-stats-inline {
    padding: 5px 4px 5px 10px;
}

.po-tonight-stats-inline .po-tonight-stat-row {
    margin-top: 5px;
}

.po-tonight-stats-inline .po-tonight-stat-row strong {
    font-size: 11px;
}

.po-lineup-spotlight-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.po-lineup-spotlight-heading p,
.po-widget-supporting-copy {
    margin: 4px 0 0;
    color: #7f91aa;
    font-size: 11px;
    line-height: 1.35;
}

.po-grade-stability {
    min-width: 78px;
    padding-inline: 8px;
    color: #9fe4bc;
    font-size: 9px;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.po-team-lineups-card .po-widget-header-row {
    margin-bottom: 12px;
}

.po-team-lineups-card .po-lineup-list,
.po-team-lineups-card .po-pair-list {
    gap: 9px;
}

.po-team-lineups-card .po-lineup-row,
.po-team-lineups-card .po-pair-row {
    padding: 11px 12px;
}

.po-goalies-card.po-goalie-matchups-card {
    min-height: 0;
}

.po-goalie-matchups-card .po-widget-header-row {
    margin-bottom: 12px;
}

.po-goalie-matchup-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.po-goalie-matchup-row {
    overflow: hidden;
    border: 1px solid rgba(96, 165, 250, .16);
    border-radius: 14px;
    background: rgba(15, 23, 42, .28);
}

.po-goalie-matchup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 12px;
    border-bottom: 1px solid rgba(96, 165, 250, .12);
    background: rgba(2, 8, 23, .22);
}

.po-goalie-matchup-time {
    color: #60a5fa;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.po-goalie-matchup-teams {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #f8fafc;
    font-size: 12px;
    font-weight: 900;
}

.po-goalie-matchup-teams > span:not(.po-goalie-matchup-at) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.po-goalie-matchup-teams img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.po-goalie-matchup-at {
    color: #7f91aa;
    font-size: 9px;
    font-weight: 900;
}

.po-goalie-matchup-players {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.po-goalie-matchup-player {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 10px 12px;
    color: var(--po-text);
    text-decoration: none;
    transition: background-color .15s ease;
}

.po-goalie-matchup-player + .po-goalie-matchup-player {
    border-left: 1px solid rgba(96, 165, 250, .12);
}

.po-goalie-matchup-player:hover {
    background: rgba(37, 99, 235, .08);
}

.po-goalie-matchup-player .po-dashboard-avatar {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
}

.po-goalie-matchup-player-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.po-goalie-matchup-player-info .po-goalie-name-line {
    gap: 6px;
}

.po-goalie-matchup-player-info .po-goalie-name-line strong {
    overflow: hidden;
    color: #f8fafc;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.po-goalie-matchup-player-info .po-grade-chip {
    min-width: 30px;
    min-height: 23px;
    padding-inline: 7px;
}

.po-goalie-matchup-statline {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 9px;
    color: #60a5fa;
    font-size: 10px;
    font-weight: 800;
}

.po-goalie-matchup-player .po-goalie-status span {
    min-height: 22px;
    padding: 0 8px;
    font-size: 9px;
}

.po-goalie-tbd-mark {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px dashed rgba(96, 165, 250, .26);
    border-radius: 11px;
    color: #7f91aa;
    font-size: 18px;
    font-weight: 900;
}

.po-goalie-matchup-player-tbd .po-goalie-matchup-player-info > strong {
    color: #cbd5e1;
    font-size: 12px;
}

.po-goalie-matchup-player-tbd .po-goalie-matchup-player-info > span {
    color: #7f91aa;
    font-size: 10px;
}

@media (max-width: 1180px) {
    .po-tonight-game-row-compact {
        grid-template-columns: minmax(250px, 1fr) minmax(150px, .7fr) minmax(220px, .85fr);
    }

    .po-tonight-game-row-compact .po-tonight-stats-inline {
        grid-column: 1 / -1;
        padding: 7px 6px 2px;
    }
}

@media (max-width: 760px) {
    /* Deliberately remove the nested slate scroll on phone for this review pass. */
    .po-tonight-games-scroll {
        max-height: none;
        overflow-y: visible;
        overscroll-behavior: auto;
        scrollbar-gutter: auto;
        padding-right: 0;
    }

    .po-tonight-game-row-compact {
        grid-template-columns: 1fr;
        gap: 7px;
        padding: 11px 12px 10px;
    }

    .po-tonight-game-core {
        gap: 10px;
    }

    .po-tonight-game-core .po-tonight-game-time {
        width: 60px;
        flex-basis: 60px;
        font-size: 12px;
    }

    .po-tonight-game-core .po-tonight-matchup {
        gap: 8px;
    }

    .po-tonight-game-core .po-tonight-team-logo {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }

    .po-tonight-game-core .po-tonight-team strong {
        font-size: 15px;
    }

    .po-tonight-game-row-compact .po-tonight-opportunity-summary {
        grid-column: auto;
        padding-left: 70px;
    }

    .po-tonight-opportunity-total {
        font-size: 11px;
    }

    .po-tonight-opportunity-tiers {
        font-size: 9px;
    }

    .po-tonight-reference-odds {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        margin-left: 70px;
        padding: 6px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(96, 165, 250, .10);
    }

    .po-tonight-reference-label {
        display: block;
        margin: 0;
    }

    .po-tonight-reference-label > span,
    .po-tonight-reference-label > small {
        display: block;
    }

    .po-tonight-reference-label > small {
        margin-top: 2px;
        font-size: 9px;
    }

    .po-tonight-reference-values {
        justify-content: flex-end;
        gap: 4px 9px;
        font-size: 10px;
    }

    .po-tonight-reference-values b {
        font-size: 9px;
    }

    .po-tonight-game-row-compact .po-tonight-stats-inline {
        grid-column: auto;
        padding: 6px 0 0;
        border-top: 1px solid rgba(96, 165, 250, .10);
    }

    .po-tonight-stats-inline .po-tonight-stat-header,
    .po-tonight-stats-inline .po-tonight-stat-row {
        grid-template-columns: 36px repeat(4, 1fr);
        gap: 4px;
    }

    .po-tonight-stats-inline .po-tonight-stat-header span {
        font-size: 8px;
    }

    .po-tonight-stats-inline .po-tonight-stat-row span,
    .po-tonight-stats-inline .po-tonight-stat-row strong {
        font-size: 10px;
    }

    .po-slate-footer {
        padding-top: 9px;
        font-size: 10px;
    }

    .po-lineup-spotlight-heading p {
        max-width: 32rem;
    }

    .po-team-lineups-card {
        padding: 14px !important;
    }

    .po-team-lineups-card .po-widget-header-row h2 {
        font-size: 23px;
    }

    .po-team-lineups-card .po-lineup-row,
    .po-team-lineups-card .po-pair-row {
        padding: 9px 10px;
    }

    .po-team-lineups-card .po-lineup-main,
    .po-team-lineups-card .po-pair-main {
        grid-template-columns: 36px minmax(0, 1fr) 46px;
        gap: 8px;
        align-items: center;
    }

    .po-team-lineups-card .po-unit-team-logo {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .po-team-lineups-card .po-unit-team-logo img {
        width: 27px;
        height: 27px;
    }

    .po-team-lineups-card .po-lineup-info,
    .po-team-lineups-card .po-pair-info {
        gap: 3px;
    }

    .po-team-lineups-card .po-lineup-name-line,
    .po-team-lineups-card .po-pair-name-line {
        gap: 6px;
    }

    .po-team-lineups-card .po-lineup-name-line strong,
    .po-team-lineups-card .po-pair-name-line strong {
        font-size: 15px;
    }

    .po-team-lineups-card .po-grade-stability {
        min-width: 70px;
        min-height: 22px;
        padding: 3px 6px;
        font-size: 8px;
    }

    .po-team-lineups-card .po-lineup-players,
    .po-team-lineups-card .po-pair-players {
        overflow: hidden;
        font-size: 11px;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .po-team-lineups-card .po-lineup-context-row,
    .po-team-lineups-card .po-pair-context-row {
        gap: 4px;
    }

    .po-team-lineups-card .po-lineup-matchup,
    .po-team-lineups-card .po-pair-matchup {
        font-size: 10px;
    }

    .po-team-lineups-card .po-unit-context-chip {
        min-height: 18px;
        padding: 1px 5px;
        font-size: 8px;
    }

    .po-team-lineups-card .po-unit-metric {
        min-width: 42px;
        text-align: right;
    }

    .po-team-lineups-card .po-unit-metric span {
        font-size: 7px;
    }

    .po-team-lineups-card .po-unit-metric strong {
        font-size: 14px;
    }

    /* Home is a teaser: show three units of each type on mobile, then push into Lines Research. */
    .po-team-lineups-card .po-lineup-list > .po-lineup-row:nth-child(n+4),
    .po-team-lineups-card .po-pair-list > .po-pair-row:nth-child(n+4) {
        display: none;
    }

    .po-top-team-lineups-footer {
        padding-top: 10px;
    }

    .po-goalie-matchups-card {
        padding: 14px !important;
    }

    .po-goalie-matchup-list.po-goalie-scroll {
        max-height: 520px;
        padding-right: 3px;
    }

    .po-goalie-matchup-header {
        padding: 7px 9px;
    }

    .po-goalie-matchup-teams {
        gap: 6px;
        font-size: 11px;
    }

    .po-goalie-matchup-teams img {
        width: 21px;
        height: 21px;
    }

    .po-goalie-matchup-players {
        grid-template-columns: 1fr;
    }

    .po-goalie-matchup-player {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        gap: 8px;
        min-height: 58px;
        padding: 8px 9px;
    }

    .po-goalie-matchup-player + .po-goalie-matchup-player {
        border-left: 0;
        border-top: 1px solid rgba(96, 165, 250, .10);
    }

    .po-goalie-matchup-player .po-dashboard-avatar {
        width: 38px;
        height: 38px;
    }

    .po-goalie-matchup-player-info .po-goalie-name-line strong {
        font-size: 13px;
    }

    .po-goalie-matchup-statline {
        font-size: 9px;
    }

    .po-goalie-matchup-player .po-goalie-status span {
        min-height: 20px;
        padding-inline: 7px;
        font-size: 8px;
    }
}

@media (max-width: 430px) {
    .po-tonight-game-row-compact {
        grid-template-columns: 1fr;
    }

    .po-tonight-game-row-compact .po-tonight-opportunity-summary,
    .po-tonight-reference-odds {
        padding-left: 0;
        margin-left: 0;
    }

    .po-tonight-game-core .po-tonight-game-time {
        width: 55px;
        flex-basis: 55px;
        font-size: 11px;
    }

    .po-tonight-game-core .po-tonight-matchup {
        gap: 6px;
    }

    .po-tonight-game-core .po-tonight-team {
        gap: 5px;
    }

    .po-tonight-game-core .po-tonight-team-logo {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }

    .po-tonight-game-core .po-tonight-team strong {
        font-size: 14px;
    }

    .po-tonight-reference-odds {
        grid-template-columns: 86px minmax(0, 1fr);
    }

    .po-team-lineups-card .po-lineup-main,
    .po-team-lineups-card .po-pair-main {
        grid-template-columns: 34px minmax(0, 1fr) 42px;
    }

    .po-team-lineups-card .po-unit-team-logo {
        width: 34px;
        height: 34px;
    }

    .po-team-lineups-card .po-unit-metric {
        grid-column: auto;
        justify-self: stretch;
        display: block;
        text-align: right;
    }

    .po-team-lineups-card .po-unit-metric span,
    .po-team-lineups-card .po-unit-metric strong {
        display: block;
    }

    .po-goalie-matchup-time {
        font-size: 10px;
    }

    .po-goalie-matchup-teams {
        font-size: 10px;
    }
}

/* ===========================================
   DASHBOARD ODDS-FIRST SLATE + GOALIE LAYOUT FIX — 2026-08-30
=========================================== */

/* The Dashboard slate is a market snapshot. Team GF/GA/SF/SA live in Game Center. */
.po-tonight-game-row-compact {
    grid-template-columns: minmax(270px, .9fr) minmax(165px, .55fr) minmax(500px, 1.7fr);
    gap: 14px;
}

.po-tonight-reference-odds {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 7px 0 7px 12px;
    border-left: 1px solid rgba(96, 165, 250, .16);
}

.po-tonight-reference-label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    margin: 0;
}

.po-tonight-reference-label > span {
    font-size: 8px;
}

.po-tonight-reference-label > small {
    color: #b8c7dc;
    font-size: 10px;
    font-weight: 800;
}

.po-tonight-market-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(96, 165, 250, .12);
    border-radius: 10px;
    background: rgba(2, 8, 23, .20);
}

.po-tonight-market {
    min-width: 0;
    padding: 6px 9px;
}

.po-tonight-market + .po-tonight-market {
    border-left: 1px solid rgba(96, 165, 250, .12);
}

.po-tonight-market-label {
    display: block;
    margin-bottom: 4px;
    color: #7f91aa;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.po-tonight-market-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 9px;
    color: #f8fafc;
    font-size: 10px;
    font-weight: 850;
}

.po-tonight-market-values > span {
    min-width: 0;
    white-space: nowrap;
}

.po-tonight-market-values b {
    margin-right: 2px;
    color: #9fb0c9;
    font-size: 9px;
    font-weight: 900;
}

.po-tonight-market-values-total {
    color: #69a9ff;
}

.po-tonight-reference-odds-pending {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
}

/* Goalie matchups are one true game row: matchup | away starter | home starter. */
.po-goalie-matchup-row {
    display: grid;
    grid-template-columns: minmax(190px, .62fr) repeat(2, minmax(0, 1fr));
    align-items: stretch;
    overflow: visible;
    min-height: 70px;
}

.po-goalie-matchup-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    padding: 10px 12px;
    border-right: 1px solid rgba(96, 165, 250, .12);
    border-bottom: 0;
}

.po-goalie-matchup-teams {
    width: 100%;
    justify-content: flex-start;
}

.po-goalie-matchup-player {
    min-height: 70px;
    padding: 10px 12px;
}

.po-goalie-matchup-player + .po-goalie-matchup-player {
    border-left: 1px solid rgba(96, 165, 250, .12);
    border-top: 0;
}

.po-goalie-matchup-player-tbd {
    min-height: 70px;
}

@media (max-width: 1180px) {
    .po-tonight-game-row-compact {
        grid-template-columns: minmax(245px, .9fr) minmax(150px, .55fr) minmax(420px, 1.6fr);
    }

    .po-tonight-reference-odds {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 8px;
    }

    .po-tonight-market {
        padding-inline: 7px;
    }

    .po-tonight-market-values {
        gap: 3px 6px;
        font-size: 9px;
    }
}

@media (max-width: 900px) {
    .po-goalie-matchup-row {
        grid-template-columns: minmax(165px, .55fr) repeat(2, minmax(0, 1fr));
    }

    .po-goalie-matchup-player {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .po-goalie-matchup-player .po-goalie-status {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .po-tonight-game-row-compact {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .po-tonight-reference-odds,
    .po-tonight-reference-odds-pending {
        grid-template-columns: 1fr;
        gap: 6px;
        margin-left: 0;
        padding: 7px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(96, 165, 250, .10);
    }

    .po-tonight-reference-label {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .po-tonight-reference-label > small {
        margin-top: 0;
    }

    .po-tonight-market-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .po-tonight-market {
        padding: 6px 7px;
    }

    .po-tonight-market-values {
        grid-template-columns: 1fr;
        gap: 2px;
        font-size: 9px;
    }

    .po-tonight-market-values b {
        font-size: 8px;
    }

    .po-goalie-matchup-row {
        grid-template-columns: 1fr;
        min-height: 0;
        overflow: hidden;
    }

    .po-goalie-matchup-header {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 7px 9px;
        border-right: 0;
        border-bottom: 1px solid rgba(96, 165, 250, .12);
    }

    .po-goalie-matchup-teams {
        width: auto;
        justify-content: flex-end;
    }

    .po-goalie-matchup-player {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        min-height: 58px;
        padding: 8px 9px;
    }

    .po-goalie-matchup-player .po-goalie-status {
        grid-column: auto;
        justify-self: auto;
    }

    .po-goalie-matchup-player + .po-goalie-matchup-player {
        border-left: 0;
        border-top: 1px solid rgba(96, 165, 250, .10);
    }
}

@media (max-width: 430px) {
    .po-tonight-market-label {
        font-size: 7px;
    }

    .po-tonight-market-values {
        font-size: 8.5px;
    }

    .po-goalie-matchup-player {
        grid-template-columns: 36px minmax(0, 1fr) auto;
    }
}

/* Temporary Game Day Preview odds marker. Real sportsbook names replace this automatically
   as soon as legitimate pregame main-game markets are available. */
.po-static-preview-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 2px 6px;
    border: 1px solid rgba(245, 158, 11, 0.45);
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.10);
    color: #fbbf24 !important;
    font-size: 0.62rem !important;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.2;
}

/* ===========================================
   DASHBOARD STARTING GOALIES - RELIABLE MOBILE FLOW
   2026-09-14
   Desktop keeps the existing three-column row via display:contents.
   Mobile turns the goalie pair into an explicit block beneath the matchup header.
=========================================== */
.po-goalie-matchup-players {
    display: contents;
}

@media (max-width: 760px) {
    .po-goalie-matchup-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden !important;
    }

    .po-goalie-matchup-header {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .po-goalie-matchup-players {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .po-goalie-matchup-players > .po-goalie-matchup-player {
        display: grid !important;
        grid-template-columns: 38px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        height: auto !important;
        padding: 8px 9px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .po-goalie-matchup-players > .po-goalie-matchup-player + .po-goalie-matchup-player {
        border-left: 0 !important;
        border-top: 1px solid rgba(96, 165, 250, .10) !important;
    }

    .po-goalie-matchup-players .po-dashboard-avatar,
    .po-goalie-matchup-players .po-goalie-matchup-player-info,
    .po-goalie-matchup-players .po-goalie-status {
        visibility: visible !important;
        opacity: 1 !important;
    }
}
