﻿:root {
    --bo-bg-0: #081018;
    --bo-bg-1: #0b121b;
    --bo-bg-2: #101823;
    --bo-bg-3: #131d29;
    --bo-surface: rgba(255,255,255,.04);
    --bo-surface-2: rgba(255,255,255,.03);
    --bo-border: rgba(148,170,200,.12);
    --bo-border-strong: rgba(148,170,200,.20);
    --bo-text: #eef5ff;
    --bo-text-soft: rgba(238,245,255,.82);
    --bo-text-muted: rgba(226,232,240,.68);
    --bo-green: #29e37a;
    --bo-cyan: #00d4ff;
    --bo-amber: #ffb65c;
    --bo-red: #ff6f7d;
    --bo-shadow-xl: 0 28px 70px rgba(2, 6, 23, .40);
    --bo-shadow-lg: 0 18px 44px rgba(2, 6, 23, .22);
    --bo-shadow-md: 0 12px 28px rgba(2, 6, 23, .18);
    --bo-radius-xl: 32px;
    --bo-radius-lg: 24px;
    --bo-radius-md: 18px;
    --bo-radius-sm: 14px;
}

.bo-home-shell {
    color: var(--bo-text);
}

.bo-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--bo-text-muted);
    font-size: .86rem;
    margin-bottom: .5rem;
    padding-left: .1rem;
}

.bo-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.bo-hero-terminal {
    border-radius: var(--bo-radius-xl);
    border: 1px solid var(--bo-border);
    background: radial-gradient(circle at top right, rgba(0, 212, 255, .10), transparent 28%), radial-gradient(circle at bottom left, rgba(41, 227, 122, .08), transparent 22%), linear-gradient(145deg, var(--bo-bg-1), var(--bo-bg-2));
    box-shadow: var(--bo-shadow-xl);
}

.bo-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr);
    gap: 1.2rem;
    padding: 1.5rem;
}

.bo-hero-main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

.bo-topline {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.bo-live-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--bo-green), var(--bo-cyan));
    box-shadow: 0 0 16px rgba(41,227,122,.55);
}

.bo-topline-label {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 900;
    color: #d9f6ff;
}

.bo-topline-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 .75rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #dcfaff;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
}

.bo-hero-title {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 3.15rem);
    line-height: .98;
    letter-spacing: -.04em;
    font-weight: 900;
    color: #fff;
}

.bo-hero-subtitle {
    max-width: 900px;
    color: var(--bo-text-soft);
    font-size: 1rem;
    line-height: 1.65;
}

.bo-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.bo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 1.1rem;
    border-radius: 16px;
    font-weight: 800;
    text-decoration: none;
    transition: .18s ease;
    border: 1px solid transparent;
}

.bo-btn-primary {
    background: linear-gradient(135deg, var(--bo-green), var(--bo-cyan));
    color: #07131c;
    box-shadow: 0 14px 30px rgba(0,212,255,.16);
}

    .bo-btn-primary:hover {
        color: #07131c;
        transform: translateY(-1px);
        box-shadow: 0 18px 34px rgba(0,212,255,.22);
    }

.bo-btn-secondary {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.10);
    color: var(--bo-text);
}

    .bo-btn-secondary:hover {
        color: #fff;
        background: rgba(255,255,255,.08);
        border-color: rgba(255,255,255,.18);
        transform: translateY(-1px);
    }

.bo-hero-signal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: .85rem;
    margin-top: .15rem;
}

.bo-hero-signal-card {
    border-radius: 18px;
    padding: .95rem 1rem;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.bo-hero-signal-label {
    color: var(--bo-text-muted);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 800;
    margin-bottom: .45rem;
}

.bo-hero-signal-value {
    font-size: 1.35rem;
    line-height: 1;
    font-weight: 900;
    color: #fff;
}

    .bo-hero-signal-value.is-positive {
        color: #5eead4;
    }

.bo-hero-side {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.bo-side-card {
    border-radius: 22px;
    padding: 1rem 1rem 1.05rem;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
    box-shadow: var(--bo-shadow-md);
}

.bo-side-card-strong {
    border-color: rgba(0,212,255,.16);
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
}

.bo-side-card-soft {
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
}

.bo-side-label {
    color: var(--bo-text-muted);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 800;
    margin-bottom: .45rem;
}

.bo-side-value {
    font-size: 1.45rem;
    line-height: 1.05;
    font-weight: 900;
    color: #fff;
}

.bo-side-time {
    font-size: 1.1rem;
}

.bo-side-muted {
    margin-top: .45rem;
    color: var(--bo-text-muted);
    font-size: .9rem;
    line-height: 1.45;
}

.bo-edge-value {
    background: linear-gradient(90deg, var(--bo-green), var(--bo-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.bo-system-state-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .7rem;
}

.bo-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.bo-kpi-card {
    border-radius: 22px;
    padding: 1rem 1rem 1.05rem;
    border: 1px solid var(--bo-border);
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)), var(--bo-bg-2);
    box-shadow: var(--bo-shadow-md);
}

.bo-kpi-label {
    color: var(--bo-text-muted);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 800;
    margin-bottom: .45rem;
}

.bo-kpi-value {
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 900;
    color: #fff;
}

.bo-kpi-sub {
    margin-top: .5rem;
    color: var(--bo-text-muted);
    font-size: .92rem;
    line-height: 1.45;
}

.bo-tone-positive {
    border-color: rgba(41,227,122,.18);
}

.bo-tone-warn {
    border-color: rgba(255,182,92,.18);
}

.bo-tone-danger {
    border-color: rgba(255,111,125,.18);
}

.bo-tone-neutral {
    border-color: var(--bo-border);
}

.bo-panel {
    border-radius: var(--bo-radius-lg);
    padding: 1.2rem;
    border: 1px solid var(--bo-border);
    background: radial-gradient(circle at top right, rgba(0, 212, 255, .10), transparent 28%), radial-gradient(circle at bottom left, rgba(41, 227, 122, .08), transparent 22%), linear-gradient(145deg, var(--bo-bg-1), var(--bo-bg-2));
    box-shadow: var(--bo-shadow-lg);
}

.bo-panel-dark {
    background: linear-gradient(180deg, rgba(12,18,27,.98), rgba(16,24,35,.98));
    border: 1px solid rgba(148,170,200,.10);
    box-shadow: var(--bo-shadow-lg);
}

.bo-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.bo-panel-head-dark {
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding-bottom: 1rem;
    margin-bottom: 1.1rem;
}

.bo-panel-kicker {
    color: var(--bo-text-muted);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 800;
    margin-bottom: .35rem;
}

.bo-panel-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #fff;
}

.bo-panel-title-light {
    color: #f3f8ff;
}

.bo-panel-sub {
    margin-top: .35rem;
    color: var(--bo-text-muted);
    line-height: 1.55;
}

.bo-panel-sub-light {
    color: rgba(226,232,240,.68);
}

.bo-inline-link {
    color: #93e9ff;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
}

    .bo-inline-link:hover {
        color: #fff;
    }

.bo-inline-link-light {
    color: #bfe9ff;
}

    .bo-inline-link-light:hover {
        color: #fff;
    }

.bo-slate-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 1rem;
}

.bo-slate-card {
    text-decoration: none;
    color: inherit;
    transition: .2s ease;
}

.bo-slate-card-elite {
    border-radius: 24px;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: var(--bo-shadow-md);
}

.bo-slate-card:hover,
.bo-module-card:hover,
.bo-list-row:hover {
    transform: translateY(-2px);
}

.bo-slate-card:hover {
    border-color: rgba(0,212,255,.20);
    box-shadow: 0 18px 38px rgba(2,6,23,.28), 0 0 22px rgba(0,212,255,.08);
}

.bo-slate-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .9rem;
}

.bo-slate-time {
    color: #f6fbff;
    font-size: .9rem;
    font-weight: 800;
}

.bo-slate-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 .7rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    color: #d9f6ff;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
}

.bo-matchup {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    margin-bottom: 1rem;
}

.bo-team-row {
    display: flex;
    align-items: center;
    gap: .8rem;
}

    .bo-team-row img {
        width: 48px;
        height: 48px;
        object-fit: contain;
        filter: drop-shadow(0 6px 14px rgba(0,0,0,.28));
    }

.bo-team-abbr {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--bo-text-muted);
    font-weight: 900;
}

.bo-team-name {
    margin-top: .15rem;
    font-size: 1rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
}

.bo-at-symbol {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .25em;
    color: var(--bo-text-muted);
    font-weight: 900;
    padding-left: .2rem;
}

.bo-slate-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .7rem;
    margin-bottom: .9rem;
}

.bo-mini-stat {
    padding: .75rem .8rem;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
}

    .bo-mini-stat span {
        display: block;
        color: var(--bo-text-muted);
        font-size: .68rem;
        text-transform: uppercase;
        letter-spacing: .08em;
        font-weight: 800;
        margin-bottom: .35rem;
    }

    .bo-mini-stat strong {
        font-size: 1rem;
        font-weight: 900;
        color: #fff;
    }

.bo-slate-footer {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .8rem;
}

.bo-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 .75rem;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    color: #e9f5ff;
    font-size: .74rem;
    font-weight: 800;
}

.bo-chip-highlight {
    background: linear-gradient(135deg, rgba(41,227,122,.16), rgba(0,212,255,.12));
    border-color: rgba(0,212,255,.18);
}

.bo-slate-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    color: var(--bo-text-muted);
    font-size: .82rem;
}

.bo-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}

    .bo-table thead th {
        color: var(--bo-text-muted);
        font-size: .74rem;
        text-transform: uppercase;
        letter-spacing: .08em;
        font-weight: 800;
        padding: 0 .8rem .4rem;
        border: none;
        white-space: nowrap;
    }

    .bo-table tbody tr {
        background: rgba(255,255,255,.03);
    }

    .bo-table tbody td {
        padding: .95rem .8rem;
        border-top: 1px solid rgba(255,255,255,.05);
        border-bottom: 1px solid rgba(255,255,255,.05);
        color: var(--bo-text);
        vertical-align: middle;
    }

        .bo-table tbody td:first-child {
            border-left: 1px solid rgba(255,255,255,.05);
            border-top-left-radius: 14px;
            border-bottom-left-radius: 14px;
        }

        .bo-table tbody td:last-child {
            border-right: 1px solid rgba(255,255,255,.05);
            border-top-right-radius: 14px;
            border-bottom-right-radius: 14px;
        }

.bo-cell-title {
    font-size: 1rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.15;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.bo-cell-sub {
    font-size: .84rem;
    color: var(--bo-text-soft);
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bo-market-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 .75rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    color: #bff3ff;
    background: rgba(0,212,255,.10);
    border: 1px solid rgba(0,212,255,.18);
}

.bo-edge-score {
    font-size: 1rem;
    font-weight: 900;
    color: var(--bo-green);
}

.bo-list-stack {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.bo-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.05);
    text-decoration: none;
    color: inherit;
    transition: .18s ease;
}

.bo-status-pill,
.bo-state-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 .75rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    white-space: nowrap;
    border: 1px solid transparent;
}

.bo-status-pill {
    color: #e8f8ff;
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.08);
}

.bo-state-fresh,
.bo-state-ready,
.bo-state-success,
.bo-state-completed,
.bo-state-healthy,
.bo-state-ok {
    color: #baffd6;
    background: rgba(41,227,122,.12);
    border-color: rgba(41,227,122,.22);
}

.bo-state-stale,
.bo-state-pending,
.bo-state-warning,
.bo-state-running,
.bo-state-partial {
    color: #ffe0b4;
    background: rgba(255,182,92,.12);
    border-color: rgba(255,182,92,.22);
}

.bo-state-failed,
.bo-state-error,
.bo-state-down,
.bo-state-critical {
    color: #ffd4da;
    background: rgba(255,111,125,.12);
    border-color: rgba(255,111,125,.22);
}

.bo-state-unknown {
    color: #e8f8ff;
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.08);
}

.bo-metric-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .8rem;
}

.bo-metric-card {
    padding: .95rem 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.05);
}

    .bo-metric-card span {
        display: block;
        color: var(--bo-text-muted);
        font-size: .72rem;
        text-transform: uppercase;
        letter-spacing: .08em;
        font-weight: 800;
        margin-bottom: .35rem;
    }

    .bo-metric-card strong {
        font-size: 1.08rem;
        font-weight: 900;
        color: #fff;
    }

.bo-metric-wide {
    grid-column: 1 / -1;
}

.bo-ops-stack {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.bo-ops-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .95rem 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.05);
}

.bo-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 1rem;
}

.bo-module-card {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 1rem;
    border-radius: 22px;
    border: 1px solid var(--bo-border);
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025)), var(--bo-bg-2);
    box-shadow: var(--bo-shadow-md);
    transition: .2s ease;
}

    .bo-module-card:hover {
        border-color: rgba(0,212,255,.20);
        box-shadow: 0 18px 38px rgba(2,6,23,.24), 0 0 22px rgba(0,212,255,.07);
    }

.bo-module-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 .65rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #d9f6ff;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
}

.bo-module-title {
    margin-top: .85rem;
    font-size: 1rem;
    font-weight: 900;
    color: #fff;
}

.bo-module-sub {
    margin-top: .35rem;
    color: var(--bo-text-muted);
    line-height: 1.5;
    font-size: .92rem;
}

@media (max-width: 1400px) {
    .bo-slate-grid,
    .bo-module-grid,
    .bo-kpi-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 1200px) {
    .bo-hero-grid {
        grid-template-columns: 1fr;
    }

    .bo-slate-grid,
    .bo-module-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 992px) {
    .bo-hero-signal-grid,
    .bo-kpi-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .bo-panel-head,
    .bo-list-row,
    .bo-ops-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .bo-slate-metrics,
    .bo-metric-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .bo-hero-grid,
    .bo-panel,
    .bo-slate-card-elite,
    .bo-kpi-card,
    .bo-module-card {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .bo-hero-signal-grid,
    .bo-kpi-grid,
    .bo-slate-grid,
    .bo-module-grid {
        grid-template-columns: 1fr;
    }

    .bo-hero-title {
        font-size: 1.9rem;
    }

    .bo-table {
        min-width: 760px;
    }
}

/* =========================================================
   HOME TERMINAL – CONSOLIDATED FLAGSHIP LAYOUT
   Replace duplicate lower-half blocks with this section
   ========================================================= */

/* ---------- Hero refinements ---------- */
.bo-hero-copy-wrap {
    display: grid;
    gap: .55rem;
}

.bo-side-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.bo-side-percent {
    font-size: 1rem;
    font-weight: 900;
    color: #ffffff;
}

.bo-readiness-ready {
    color: var(--bo-green);
}

.bo-readiness-watch {
    color: var(--bo-amber);
}

.bo-readiness-needs-attention {
    color: var(--bo-red);
}

.bo-progress {
    width: 100%;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.06);
}

.bo-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--bo-green), var(--bo-cyan));
}

/* ---------- KPI band ---------- */
.bo-kpi-band {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.bo-kpi-card {
    border-radius: 22px;
    border: 1px solid var(--bo-border);
    background: linear-gradient(180deg, rgba(16,24,35,.96), rgba(11,18,27,.94));
    box-shadow: var(--bo-shadow-md);
    padding: 1rem 1rem .95rem;
    display: grid;
    gap: .25rem;
}

.bo-kpi-label {
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 800;
    color: var(--bo-text-muted);
}

.bo-kpi-value {
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1;
    color: #fff;
}

.bo-kpi-sub {
    font-size: .84rem;
    color: var(--bo-text-soft);
}

.bo-kpi-green .bo-kpi-value {
    color: var(--bo-green);
}

.bo-kpi-blue .bo-kpi-value {
    color: #8dd9ff;
}

.bo-kpi-teal .bo-kpi-value {
    color: var(--bo-cyan);
}

.bo-kpi-amber .bo-kpi-value {
    color: var(--bo-amber);
}

.bo-kpi-violet .bo-kpi-value {
    color: #c8a7ff;
}

.bo-kpi-slate .bo-kpi-value {
    color: #dbe8ff;
}

/* ---------- Empty state ---------- */
.bo-empty {
    display: grid;
    gap: .35rem;
    padding: 1rem;
    border-radius: 18px;
    border: 1px dashed rgba(255,255,255,.10);
    background: rgba(255,255,255,.025);
}

.bo-empty-title {
    font-size: .98rem;
    font-weight: 900;
    color: #fff;
}

.bo-empty-sub {
    font-size: .88rem;
    line-height: 1.55;
    color: var(--bo-text-soft);
}

/* ---------- Rails / bars ---------- */
.bo-rail-row {
    display: grid;
    gap: .45rem;
}

.bo-rail-row-block {
    margin-top: 1rem;
}

.bo-rail-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    font-size: .84rem;
    color: var(--bo-text-soft);
}

    .bo-rail-meta strong {
        color: #fff;
        font-weight: 900;
    }

.bo-rail {
    width: 100%;
    height: 9px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.06);
}

.bo-rail-fill {
    height: 100%;
    border-radius: inherit;
}

.bo-rail-fill-positive {
    background: linear-gradient(90deg, rgba(41,227,122,.92), rgba(0,212,255,.72));
}

.bo-rail-fill-warn {
    background: linear-gradient(90deg, rgba(255,182,92,.95), rgba(255,111,125,.72));
}

.bo-rail-fill-cyan {
    background: linear-gradient(90deg, rgba(0,212,255,.95), rgba(125,231,255,.72));
}

.bo-rail-fill-violet {
    background: linear-gradient(90deg, rgba(140,112,255,.95), rgba(205,167,255,.72));
}

.bo-rail-fill-amber {
    background: linear-gradient(90deg, rgba(255,182,92,.95), rgba(255,215,133,.75));
}

/* ---------- Slate enhancements ---------- */
.bo-panel-slate {
    margin-bottom: 1rem;
}

.bo-slate-bars {
    display: grid;
    gap: .7rem;
    margin-top: .95rem;
}

.bo-slate-footer {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1rem;
}

/* ---------- Top edge tape ---------- */
.bo-edge-stack {
    display: grid;
    gap: .8rem;
}

.bo-edge-row {
    display: grid;
    grid-template-columns: minmax(320px, 1.7fr) minmax(300px, 1.25fr) minmax(180px, .9fr) minmax(120px, .5fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(16,24,35,.96), rgba(11,18,27,.94));
    color: inherit;
    transition: .18s ease;
}

    .bo-edge-row:hover {
        transform: translateY(-2px);
        border-color: rgba(125, 215, 255, .18);
        box-shadow: var(--bo-shadow-md);
    }

.bo-edge-main {
    display: flex;
    align-items: center;
    gap: .9rem;
    min-width: 0;
}

.bo-edge-rank-badge {
    min-width: 50px;
    min-height: 50px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .76rem;
    font-weight: 900;
    color: #dff8ff;
    background: rgba(0,212,255,.10);
    border: 1px solid rgba(0,212,255,.18);
    flex-shrink: 0;
}

.bo-player-headshot {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
    flex-shrink: 0;
}

.bo-player-headshot-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
    font-weight: 900;
    color: #dcecff;
}

.bo-edge-player-link,
.bo-edge-player-link-static {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
    text-decoration: none;
    color: inherit;
    flex: 1 1 auto;
}

    .bo-edge-player-link:hover .bo-cell-title {
        color: #dff4ff;
    }

.bo-edge-player-link-static {
    cursor: default;
}

.bo-edge-copy {
    min-width: 0;
    display: grid;
    gap: .18rem;
}

.bo-cell-title {
    font-size: 1rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.15;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bo-cell-sub {
    font-size: .84rem;
    color: var(--bo-text-soft);
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bo-edge-market-block {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.bo-edge-market {
    display: grid;
    gap: .35rem;
    justify-items: start;
    min-width: 92px;
}

.bo-market-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 .75rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    color: #bff3ff;
    background: rgba(0,212,255,.10);
    border: 1px solid rgba(0,212,255,.18);
    max-width: 100%;
    white-space: nowrap;
}

.bo-edge-side {
    font-size: .78rem;
    font-weight: 800;
    color: var(--bo-text-soft);
    white-space: nowrap;
}

.bo-edge-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(56px, 1fr));
    gap: .85rem;
    align-items: center;
    flex: 1 1 auto;
}

.bo-edge-value-block {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

    .bo-edge-value-block span {
        font-size: .68rem;
        text-transform: uppercase;
        letter-spacing: .08em;
        color: var(--bo-text-muted);
        font-weight: 800;
        white-space: nowrap;
    }

    .bo-edge-value-block strong {
        color: #fff;
        font-size: .98rem;
        font-weight: 900;
        line-height: 1.1;
        white-space: nowrap;
    }

.bo-edge-strength {
    display: grid;
    gap: .35rem;
    min-width: 0;
}

.bo-edge-score {
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.bo-edge-delta {
    font-size: .8rem;
    color: var(--bo-text-soft);
    white-space: nowrap;
}

.bo-edge-book {
    display: grid;
    gap: .35rem;
    justify-items: end;
    text-align: right;
    font-size: .84rem;
    font-weight: 800;
    color: var(--bo-text-soft);
}

.bo-edge-open-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    text-decoration: none;
    color: #dff4ff;
    font-size: .82rem;
    font-weight: 800;
}

    .bo-edge-open-link:hover {
        color: #ffffff;
    }

.bo-edge-tone-elite {
    color: var(--bo-green);
}

.bo-edge-tone-strong {
    color: var(--bo-cyan);
}

.bo-edge-tone-positive {
    color: #dff4ff;
}

/* ---------- Injury rows ---------- */
.bo-injury-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.025);
    text-decoration: none;
    color: inherit;
    transition: .18s ease;
}

    .bo-injury-row:hover {
        transform: translateY(-2px);
        border-color: rgba(255,255,255,.14);
    }

.bo-injury-main {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
}

.bo-injury-side {
    display: grid;
    gap: .25rem;
    justify-items: end;
}

.bo-severity-danger {
    color: #ffe5e8;
    background: rgba(255,111,125,.12);
    border-color: rgba(255,111,125,.24);
}

.bo-severity-warn {
    color: #fff0da;
    background: rgba(255,182,92,.12);
    border-color: rgba(255,182,92,.24);
}

.bo-severity-neutral {
    color: #dff4ff;
    background: rgba(0,212,255,.10);
    border-color: rgba(0,212,255,.18);
}

/* ---------- Ops ---------- */
.bo-ops-stack {
    display: grid;
    gap: .9rem;
}

.bo-ops-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.025);
}

.bo-ops-meta {
    display: grid;
    gap: .2rem;
}

.bo-ops-right {
    min-width: 220px;
    display: grid;
    gap: .45rem;
    justify-items: end;
}

.bo-rail-ops {
    width: 220px;
}

/* ---------- Modules ---------- */
.bo-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.bo-module-card {
    display: grid;
    gap: .75rem;
    padding: 1rem;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(16,24,35,.96), rgba(11,18,27,.94));
    text-decoration: none;
    color: inherit;
    transition: .18s ease;
}

    .bo-module-card:hover {
        transform: translateY(-2px);
        border-color: rgba(125, 215, 255, .18);
        box-shadow: var(--bo-shadow-md);
    }

.bo-module-top {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    align-items: flex-start;
}

.bo-module-title {
    font-size: 1rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    margin: 0;
}

.bo-module-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 .7rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #dff7ff;
    background: rgba(0,212,255,.10);
    border: 1px solid rgba(0,212,255,.16);
    flex-shrink: 0;
}

.bo-module-subtitle {
    color: var(--bo-text-soft);
    font-size: .88rem;
    line-height: 1.55;
}

.bo-module-foot {
    margin-top: .15rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #dff4ff;
    font-size: .84rem;
    font-weight: 800;
}

/* ---------- Responsive ---------- */
@media (max-width: 1400px) {
    .bo-kpi-band {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bo-module-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bo-edge-row {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .bo-edge-market-block {
        flex-direction: column;
        align-items: flex-start;
        gap: .75rem;
    }

    .bo-edge-book {
        text-align: left;
        justify-items: start;
    }
}

@media (max-width: 1200px) {
    .bo-hero-grid {
        grid-template-columns: 1fr;
    }

    .bo-slate-grid,
    .bo-module-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 992px) {
    .bo-hero-signal-grid,
    .bo-kpi-band {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .bo-panel-head,
    .bo-ops-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .bo-slate-metrics,
    .bo-metric-grid {
        grid-template-columns: 1fr;
    }

    .bo-ops-right,
    .bo-rail-ops {
        width: 100%;
        min-width: 0;
        justify-items: stretch;
    }
}

@media (max-width: 768px) {
    .bo-hero-grid,
    .bo-panel,
    .bo-slate-card-elite,
    .bo-kpi-card,
    .bo-module-card {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .bo-hero-signal-grid,
    .bo-kpi-band,
    .bo-slate-grid,
    .bo-module-grid {
        grid-template-columns: 1fr;
    }

    .bo-hero-title {
        font-size: 1.9rem;
    }

    .bo-edge-main,
    .bo-edge-player-link,
    .bo-edge-player-link-static,
    .bo-injury-row {
        align-items: flex-start;
    }

    .bo-injury-row {
        flex-direction: column;
        align-items: stretch;
    }

    .bo-injury-side {
        justify-items: start;
    }

    .bo-edge-values {
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .bo-table {
        min-width: 760px;
    }
}

/* ---------- homepage structure refinement ---------- */

.bo-hero-actions {
    margin-top: .25rem;
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    align-items: center;
}

.bo-btn-admin {
    min-width: 160px;
}

.bo-kpi-band-tight {
    margin-top: .35rem;
}

.bo-panel-nav {
    margin-top: .15rem;
}

    .bo-panel-nav .bo-panel-head {
        margin-bottom: 1rem;
    }

    .bo-panel-nav .bo-panel-title {
        margin-top: .18rem;
    }

    .bo-panel-nav .bo-panel-sub {
        max-width: 760px;
    }

/* stronger section separation */
.bo-kpi-band + .bo-panel-nav {
    margin-top: .9rem;
}

/* optional: make nav section feel slightly more important */
.bo-panel-nav {
    border-radius: 30px;
    margin-bottom: 1.5rem;
}

/* hero button should feel clearly secondary/internal */
.bo-btn-admin.bo-btn-secondary {
    background: rgba(255,255,255,0.035);
    border-color: rgba(255,255,255,0.10);
}

    .bo-btn-admin.bo-btn-secondary:hover {
        background: rgba(255,255,255,0.06);
        border-color: rgba(111,220,255,0.18);
    }

/* tighten KPI strip so it reads as summary, not second hero */
.bo-kpi-band-tight .bo-kpi-card {
    min-height: 132px;
}

/* navigation cards should feel like main entry surfaces */
.bo-panel-nav .bo-module-card {
    min-height: 210px;
}

@media (max-width: 992px) {
    .bo-btn-admin {
        min-width: 0;
        width: 100%;
    }

    .bo-kpi-band + .bo-panel-nav {
        margin-top: .75rem;
    }
}