.rio-sidebar {
flex: 0 0 var(--rio-sidebar-w);
background: var(--rio-surface-chrome);
border-inline-end: 1px solid var(--rio-border);
padding: var(--rio-s5) var(--rio-s4);
}
.rio-sidebar-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: var(--rio-s1);
}
.rio-sidebar-section {
font-size: 0.75rem;
font-weight: var(--rio-fw-semibold);
text-transform: uppercase;
letter-spacing: var(--rio-tracking-allcaps);
color: var(--rio-text-subtle);
margin: var(--rio-s5) 0 var(--rio-s2);
padding: 0 var(--rio-s3);
}
.rio-sidebar-section:first-child { margin-top: 0; }
.rio-sidebar-link {
display: flex;
align-items: center;
gap: var(--rio-s3);
padding: var(--rio-s3) var(--rio-s4);
border-radius: var(--rio-radius-sm);
color: var(--rio-text);
font-size: var(--rio-fs-md);
font-weight: var(--rio-fw-medium);
line-height: var(--rio-lh-ui);
transition: background 0.12s, color 0.12s, box-shadow 0.12s;
}
.rio-sidebar-link:hover {
background: var(--rio-surface-2);
color: var(--rio-text-strong);
text-decoration: none;
}
.rio-sidebar-link.is-active {
background: rgb(var(--rio-accent-rgb) / 0.12);
color: var(--rio-accent);
box-shadow: inset 3px 0 0 var(--rio-accent);
}
.rio-sidebar-link .rio-icon {
width: 18px;
height: 18px;
color: var(--rio-text-subtle);
flex-shrink: 0;
transition: color 0.12s;
}
.rio-sidebar-link:hover .rio-icon { color: var(--rio-text-strong); }
.rio-sidebar-link.is-active .rio-icon { color: var(--rio-accent); }