/*
 * Barre latérale (spec design §4). La couleur de puce d'un item est portée par un modificateur
 * qui alimente `--rb-nav-dot` : la même variable colore la puce et la bordure gauche de l'item
 * actif, ce qui évite de dupliquer cinq règles par état.
 */
.rb-sidebar {
    display: flex;
    flex-direction: column;
    padding: 20px 0;
    overflow-y: auto;
    background-color: var(--rb-bg-sidebar);
    border-right: 1px solid var(--rb-border-subtle);
}

.rb-sidebar__brand {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 0 16px 18px;
}

/* Losange décoratif : le nom de marque juste à côté porte l'information. */
.rb-sidebar__logo {
    flex: none;
    width: 22px;
    height: 22px;
    background-image: linear-gradient(135deg, rgb(95 227 245 / 35%), rgb(169 140 255 / 25%));
    border: 1.5px solid var(--rb-accent-cyan);
    transform: rotate(45deg);
}

.rb-sidebar__brand-name {
    font-size: 11px;
    font-weight: 700;
    color: var(--rb-text-secondary-light);
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.rb-sidebar__brand-suffix {
    color: var(--rb-accent-cyan);
}

.rb-sidebar__nav {
    flex: 1;
}

.rb-sidebar__group + .rb-sidebar__group {
    margin-top: 18px;
}

.rb-sidebar__group-title {
    padding: 0 16px 8px;
    font-size: 10px;
    font-weight: 700;
    color: var(--rb-text-ghost);
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.rb-sidebar__list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.rb-sidebar__link {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 9px 10px;
    margin: 0 8px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--rb-nav-text-idle);
    text-decoration: none;
    background-color: transparent;
    border-left: 2px solid transparent;
    border-radius: var(--rb-radius-md);
}

.rb-sidebar__dot {
    flex: none;
    width: 6px;
    height: 6px;
    background-color: var(--rb-border-muted);
    transform: rotate(45deg);
}

.rb-sidebar__label {
    flex: 1;
}

.rb-sidebar__badge {
    font-family: var(--rb-font-mono);
    font-size: 10px;
    color: var(--rb-text-faint);
    font-variant-numeric: tabular-nums;
}

a.rb-sidebar__link:hover {
    color: var(--rb-text-heading);
    background-color: var(--rb-nav-bg-hover);
}

.rb-sidebar__link--active {
    font-weight: 700;
    color: var(--rb-nav-text-active);
    background-image: linear-gradient(90deg, rgb(95 227 245 / 12%), transparent);
    border-left-color: var(--rb-nav-dot);
}

.rb-sidebar__link--active .rb-sidebar__dot {
    background-color: var(--rb-nav-dot);
}

/* Écran non encore livré : ni lien, ni bouton — un libellé atténué, doublé d'une mention
   à destination des technologies d'assistance. */
.rb-sidebar__link--unavailable {
    color: var(--rb-text-ghost);
    cursor: default;
}

.rb-sidebar__link--cyan { --rb-nav-dot: var(--rb-accent-cyan); }
.rb-sidebar__link--purple { --rb-nav-dot: var(--rb-accent-purple); }
.rb-sidebar__link--red { --rb-nav-dot: var(--rb-accent-red); }
.rb-sidebar__link--gold { --rb-nav-dot: var(--rb-accent-gold); }
.rb-sidebar__link--green { --rb-nav-dot: var(--rb-accent-green); }

.rb-sidebar__account {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px 0;
    margin-top: 18px;
    border-top: 1px solid var(--rb-border-subtle);
}

.rb-sidebar__account-name {
    overflow-wrap: anywhere;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--rb-text-secondary-light);
}

.rb-sidebar__account-link {
    font-size: 11.5px;
    color: var(--rb-accent-gray);
}
