/* ============================================================
   CHRO Dashboard Page Layout (VBI-3-U)
   ------------------------------------------------------------
   Densest C-suite grid. Reuses tokens from board.css and ceo.css
   (chart primitives, donut, sparkline, ranked list, recommendation,
   anomaly cards). Mobile-first: 1-col @360, 2-col @768, 3-col @1024,
   5-col @1440. Sticky alert + persona-switcher.
   ============================================================ */

.vbi-csuite-page {
    display:        flex;
    flex-direction: column;
    gap:            var(--space-3);
    padding:        var(--space-4) var(--space-4) var(--space-8);
    color:          var(--text-primary);
    max-width:      1680px;
    margin:         0 auto;
}

.vbi-csuite-page__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.vbi-csuite-page__title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.vbi-csuite-page__title {
    margin: 0;
    font-size: var(--text-3xl);
    font-weight: 700;
    color: var(--color-gold-light);
}

.vbi-csuite-page__subtitle {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.vbi-csuite-page__band {
    display:        flex;
    flex-direction: column;
    gap:            var(--space-3);
}

.vbi-csuite-page__error,
.vbi-csuite-page__empty {
    padding:       var(--space-3) var(--space-4);
    background:    rgba(237,232,219,0.04);
    border:        1px dashed var(--surface-border);
    border-radius: var(--radius-sm);
    color:         var(--text-secondary);
}
.vbi-csuite-page__error {
    background:    var(--color-red-glow);
    border:        1px solid var(--color-red-glow);
    color:         var(--text-primary);
}

/* ── Alert band — horizontal flex on tablet+ ───────────────── */

.vbi-csuite-page__band--alert {
    display:   flex;
    flex-wrap: wrap;
    gap:       var(--space-2);
}

.vbi-csuite-page__band--alert .vbi-tile--sentence {
    flex:      1 1 280px;
    min-width: 260px;
    max-width: 420px;
}

@media (max-width: 480px) {
    .vbi-csuite-page__band--alert {
        flex-direction: column;
    }
    .vbi-csuite-page__band--alert .vbi-tile--sentence {
        flex:      1 1 auto;
        max-width: none;
    }
}

.vbi-band__grid--csuite {
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   var(--space-2);
}

/* CHRO-specific surface — gold accent for the title underline */
.vbi-csuite-page--chro .vbi-csuite-page__title {
    border-bottom: 2px solid var(--color-gold-light);
    padding-bottom: var(--space-1);
}

/* ── Breakpoints — CHRO uses the densest grid ──────────────── */

@media (max-width: 480px) {
    .vbi-csuite-page {
        padding: var(--space-2) var(--space-2) var(--space-6);
        gap: var(--space-3);
    }
    .vbi-csuite-page__title { font-size: var(--text-2xl); }
    .vbi-csuite-page__title-row { flex-direction: column; }
    .vbi-csuite-page__switcher-slot { width: 100%; }
    .vbi-csuite-page__band--alert {
        position: sticky;
        top: 0;
        z-index: 12;
        background: var(--surface-canvas, var(--color-bg, #0c0c10));
        padding-top: var(--space-2);
    }
    .vbi-band__grid--csuite { gap: var(--space-2); }
}

@media (min-width: 481px) and (max-width: 768px) {
    .vbi-csuite-page { padding: var(--space-3) var(--space-4) var(--space-8); }
    .vbi-band__grid--csuite.vbi-band__grid--chro {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-3);
    }
    .vbi-band__cell--wide { grid-column: 1 / -1; }
    .vbi-csuite-page__band--alert {
        position: sticky;
        top: var(--space-3);
        z-index: 10;
    }
}

@media (min-width: 769px) and (max-width: 1023px) {
    .vbi-csuite-page { padding: var(--space-4) var(--space-5); }
    .vbi-band__grid--csuite.vbi-band__grid--chro {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-3);
    }
    .vbi-band__cell--wide { grid-column: 1 / -1; }
    .vbi-csuite-page__band--alert {
        position: sticky;
        top: var(--space-4);
        z-index: 10;
    }
}

@media (min-width: 1024px) and (max-width: 1439px) {
    .vbi-csuite-page { padding: var(--space-4) var(--space-6); }
    .vbi-band__grid--csuite.vbi-band__grid--chro {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-3);
    }
    .vbi-band__cell--wide { grid-column: span 2; }
    .vbi-csuite-page__band--alert {
        position: sticky;
        top: var(--space-4);
        z-index: 10;
    }
}

@media (min-width: 1440px) {
    .vbi-csuite-page { padding: var(--space-5) var(--space-8); }
    .vbi-band__grid--csuite.vbi-band__grid--chro {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: var(--space-3);
    }
    .vbi-band__cell--wide { grid-column: span 2; }
    .vbi-csuite-page__band--alert {
        position: sticky;
        top: var(--space-6);
        z-index: 10;
    }
}
