/* Dashboard (/Home/Dashboard): briefing met één primaire surface (daily brief +
   recente gevechten) en één rail (your move, combat, family, masteries,
   connections). Alle selectors vallen onder .cn-dashboard; niets lekt naar
   andere pagina's. Patroontaal (design-philosophy P2): record = dossier met
   gouden linkerstreep, ledger = cijfers rechts/tabular, empty = vlakke
   uitnodiging. Kleuren via --cn-*-/--bs-*-tokens, geen schaduw, geen
   !important. */

/* Vlakke surface: bewust geen .card (die draagt standaard een schaduw). */
.cn-dashboard .cn-dashboard-brief,
.cn-dashboard .cn-dashboard-panel {
    background-color: var(--cn-card-bg);
    border: 1px solid var(--cn-brown);
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    box-shadow: none;
}

/* Dossier-record: gouden linkerstreep, ook voor de family-rail. */
.cn-dashboard .cn-record {
    border-left: 3px solid var(--cn-gold);
}

.cn-dashboard .cn-dashboard-brief-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.cn-dashboard .cn-dashboard-key {
    color: var(--cn-gold);
    font-size: 0.8em;
    white-space: nowrap;
}

.cn-dashboard .cn-dashboard-meta {
    color: var(--bs-secondary-color);
}

.cn-dashboard .cn-dashboard-ledger {
    margin-bottom: 0;
}

/* Cijferkolom: rechts, tabular, geen extra marge onder de dd. */
.cn-dashboard .cn-dashboard-num {
    margin-bottom: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Het enige gouden getal op de pagina: rating/tier. */
.cn-dashboard .cn-dashboard-gold {
    color: var(--cn-gold);
    font-weight: 600;
}

/* Rijen met een uitslag of connectie: badge + naam, detail eronder. */
.cn-dashboard .cn-dashboard-fight,
.cn-dashboard .cn-dashboard-connection {
    padding-block: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.cn-dashboard .cn-dashboard-fight:last-child,
.cn-dashboard .cn-dashboard-connection:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.cn-dashboard .cn-dashboard-fight-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
}

.cn-dashboard .cn-dashboard-opponent {
    min-width: 0;
    overflow-wrap: anywhere;
}

.cn-dashboard .cn-dashboard-sub {
    display: block;
    color: var(--bs-secondary-color);
    font-size: 0.8rem;
}

.cn-dashboard .cn-dashboard-connection .cn-dashboard-opponent {
    display: block;
    margin-top: 0.25rem;
}

.cn-dashboard .cn-dashboard-panel > h2 {
    margin-bottom: 0.75rem;
}

.cn-dashboard .cn-dashboard-panel > :last-child {
    margin-bottom: 0;
}

/* Zichtbare focus voor alle interactieve elementen in de briefing. */
.cn-dashboard a:focus-visible,
.cn-dashboard button:focus-visible {
    outline: 2px solid var(--cn-gold);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .cn-dashboard *,
    .cn-dashboard *::before,
    .cn-dashboard *::after {
        transition: none;
        animation: none;
    }
}
