/* Weekly schedule preview — card rows (team schedule style) */

.schedule-v2 {
    --sched-panel: #ffffff;
    --sched-row: #ffffff;
    --sched-row-alt: #f6f7f9;
    --sched-win-bg: rgba(18, 94, 58, 0.14);
    --sched-loss-bg: rgba(158, 32, 26, 0.12);
    --sched-text: #1c1f26;
    --sched-muted: #5f6775;
    --sched-rank: #9a7209;
    --sched-loc: #3d4654;
    --sched-loc-bg: #e6dfd4;
    --sched-day-bg: #fff3cd;
    --sched-font-row: 0.9375rem;
    --sched-font-body: 0.8125rem;
    --sched-font-label: 0.75rem;
    --sched-font-score: 1.1875rem;
}

.schedule-v2-preview-banner {
    background: linear-gradient(90deg, #fff8e6, #faf6ef);
    border: 1px solid #e6dfd4;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: var(--sched-muted);
}

.schedule-v2-toolbar .form-label {
    margin-bottom: 0.25rem;
}

.schedule-v2-toolbar .mb-3 {
    margin-bottom: 0 !important;
}

.sched-v2-filters-card {
    border: 1px solid #e6dfd4;
    box-shadow: none;
}

.sched-v2-filters-card .card-body {
    padding: 0.55rem 0.85rem;
}

.sched-v2-filters-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1.25rem;
}

.sched-v2-filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.sched-v2-filter-group .form-check {
    margin-bottom: 0;
}

.sched-v2-filter-group .form-check-label {
    font-size: 0.85rem;
}

.schedule-v2-card-wrap {
    display: flex;
    justify-content: center;
}

.schedule-v2-card {
    width: fit-content;
    max-width: 100%;
    border: 1px solid #e6dfd4;
    box-shadow: 0 1px 4px rgba(28, 31, 38, 0.06);
}

.schedule-v2-card .card-header {
    background: #fff;
    border-bottom: 1px solid #e6dfd4;
    font-weight: 600;
    padding: 0.65rem 0.9rem;
}

.schedule-v2-body {
    background: var(--sched-panel);
    padding: 0.65rem 0.85rem 0.9rem;
}

.sched-v2-grid {
    display: grid;
    grid-template-columns:
        minmax(76px, max-content)
        54px
        minmax(148px, 1fr)
        52px
        32px
        54px
        minmax(148px, 1fr)
        52px
        minmax(88px, max-content)
        minmax(56px, max-content);
    column-gap: 0.45rem;
    row-gap: 4px;
    width: fit-content;
    max-width: 100%;
}

.sched-v2-colheads {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    padding: 0.2rem 0.55rem 0.4rem;
    font-size: var(--sched-font-label);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sched-muted);
}

.sched-v2-colheads span:nth-child(2),
.sched-v2-colheads span:nth-child(6) {
    text-align: center;
}

.sched-v2-colheads .sched-v2-rk-head {
    cursor: help;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
}

.sched-v2-colheads span:nth-child(9),
.sched-v2-colheads span:nth-child(10) {
    text-align: center;
}

.sched-v2-grid--bowls {
    grid-template-columns:
        minmax(76px, max-content)
        54px
        minmax(148px, 1fr)
        52px
        32px
        54px
        minmax(148px, 1fr)
        52px
        minmax(120px, max-content)
        minmax(88px, max-content)
        minmax(56px, max-content);
}

.sched-v2-grid--bowls .sched-v2-colheads span:nth-child(9),
.sched-v2-grid--bowls .sched-v2-colheads span:nth-child(10),
.sched-v2-grid--bowls .sched-v2-colheads span:nth-child(11) {
    text-align: center;
}

.sched-v2-grid--bowls .sched-v2-colheads span:nth-child(9) {
    text-align: left;
}

.sched-v2-grid--playoffs {
    grid-template-columns:
        minmax(100px, max-content)
        54px
        minmax(148px, 1fr)
        52px
        32px
        54px
        minmax(148px, 1fr)
        52px
        minmax(120px, max-content)
        minmax(88px, max-content)
        minmax(56px, max-content);
}

.sched-v2-grid--playoffs .sched-v2-colheads span:nth-child(9),
.sched-v2-grid--playoffs .sched-v2-colheads span:nth-child(10),
.sched-v2-grid--playoffs .sched-v2-colheads span:nth-child(11) {
    text-align: center;
}

.sched-v2-grid--playoffs .sched-v2-colheads span:nth-child(9) {
    text-align: left;
}

.sched-v2-round-label {
    grid-column: 1 / -1;
    font-size: var(--sched-font-label);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sched-text);
    background: #ffd966;
    border-radius: 6px;
    padding: 0.45rem 0.55rem;
    margin-top: 0.15rem;
}

.sched-v2-datetime {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    line-height: 1.15;
}

.sched-v2-datetime .sched-v2-date {
    font-weight: 700;
    font-size: var(--sched-font-body);
    color: var(--sched-text);
    white-space: nowrap;
}

.sched-v2-datetime .sched-v2-time {
    font-size: var(--sched-font-label);
    color: var(--sched-muted);
    white-space: nowrap;
}

.sched-v2-day-label {
    grid-column: 1 / -1;
    font-size: var(--sched-font-label);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sched-text);
    background: var(--sched-day-bg);
    border-radius: 6px;
    padding: 0.45rem 0.55rem;
    margin-top: 0.15rem;
}

.sched-v2-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    align-items: center;
    padding: 0.28rem 0.55rem;
    border-radius: 8px;
    background: var(--sched-row);
    min-height: 44px;
    font-size: var(--sched-font-row);
    line-height: 1.2;
    cursor: pointer;
    transition: box-shadow 0.12s ease;
}

.sched-v2-row:nth-of-type(even) {
    background: var(--sched-row-alt);
}

.sched-v2-row:hover {
    box-shadow: 0 1px 6px rgba(28, 31, 38, 0.12);
}

.sched-v2-time {
    font-size: var(--sched-font-body);
    white-space: nowrap;
    color: var(--sched-text);
}

.sched-v2-rank {
    text-align: center;
    font-size: var(--sched-font-body);
    color: var(--sched-rank);
    white-space: nowrap;
}

.sched-v2-rank strong {
    font-weight: 800;
}

.sched-v2-rank .rank-prior {
    color: var(--sched-muted);
    font-weight: 500;
}

.sched-v2-side {
    grid-column: span 2;
    display: grid;
    grid-template-columns: subgrid;
    align-items: center;
    position: relative;
}

.sched-v2-side.is-win::before {
    content: '';
    position: absolute;
    top: -0.15rem;
    bottom: -0.15rem;
    left: -0.35rem;
    right: -0.35rem;
    background: var(--sched-win-bg);
    border-radius: 6px;
    z-index: 0;
}

.sched-v2-side.is-win .sched-v2-team-cell,
.sched-v2-side.is-win .sched-v2-score {
    position: relative;
    z-index: 1;
}

.sched-v2-team-cell {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.sched-v2-logo {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
}

.sched-v2-team-text {
    min-width: 0;
}

.sched-v2-team-name {
    display: block;
    font-weight: 700;
    color: var(--sched-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sched-v2-team-meta {
    display: block;
    font-size: var(--sched-font-body);
    color: var(--sched-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sched-v2-score,
.sched-v2-score strong {
    font-size: var(--sched-font-score);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.02em;
}

.sched-v2-score {
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.sched-v2-loc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.14rem 0.32rem;
    border-radius: 5px;
    background: var(--sched-loc-bg);
    color: var(--sched-loc);
    font-weight: 700;
    font-size: var(--sched-font-label);
    text-transform: lowercase;
    justify-self: center;
}

.sched-v2-bowl {
    font-size: var(--sched-font-body);
    color: var(--sched-text);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sched-v2-line,
.sched-v2-ou {
    font-size: var(--sched-font-body);
    color: var(--sched-muted);
    white-space: nowrap;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.sched-v2-line.is-empty,
.sched-v2-ou.is-empty {
    color: var(--sched-muted);
}

@supports not (grid-template-columns: subgrid) {
    .sched-v2-grid {
        --sched-cols: 76px 54px 180px 52px 32px 54px 180px 52px 88px 56px;
        grid-template-columns: var(--sched-cols);
    }

    .sched-v2-grid--bowls {
        --sched-cols: 76px 54px 180px 52px 32px 54px 180px 52px 120px 88px 56px;
        grid-template-columns: var(--sched-cols);
    }

    .sched-v2-grid--playoffs {
        --sched-cols: 100px 54px 180px 52px 32px 54px 180px 52px 120px 88px 56px;
        grid-template-columns: var(--sched-cols);
    }

    .sched-v2-colheads,
    .sched-v2-row {
        grid-template-columns: var(--sched-cols);
    }

    .sched-v2-side {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.45rem;
    }
}

@media (max-width: 991px) {
    .schedule-v2-card-wrap,
    .schedule-v2-card,
    .schedule-v2-body,
    .sched-v2-grid {
        width: 100%;
    }

    .sched-v2-grid {
        grid-template-columns: 1fr;
    }

    .sched-v2-colheads {
        display: none;
    }

    .sched-v2-row {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "time time"
            "away home"
            "lines lines";
        gap: 0.35rem 0.75rem;
        padding: 0.55rem;
    }

    .sched-v2-time { grid-area: time; }
    .sched-v2-side {
        grid-column: auto;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    .sched-v2-side-away { grid-area: away; }
    .sched-v2-side-home { grid-area: home; }
    .sched-v2-side .sched-v2-score {
        margin-left: auto;
    }
    .sched-v2-loc { display: none; }
    .sched-v2-rank { display: none; }
    .sched-v2-line { grid-area: lines; text-align: left; }
    .sched-v2-ou { display: none; }
    .sched-v2-bowl { grid-area: bowl; font-size: var(--sched-font-label); color: var(--sched-muted); }
    .sched-v2-row--bowls {
        grid-template-areas:
            "time time"
            "away home"
            "bowl bowl"
            "lines lines";
    }
    .sched-v2-datetime { grid-area: datetime; }
    .sched-v2-row--playoffs {
        grid-template-areas:
            "datetime datetime"
            "away home"
            "venue venue"
            "lines lines";
    }
    .sched-v2-row--playoffs .sched-v2-bowl { grid-area: venue; }
}
