/* ─── Layout ─── */
.layout {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}

.layout__content { flex: 1; min-width: 0; }

/* ─── Sidebar ─── */
.sidebar {
    width: 220px;
    flex-shrink: 0;
    position: sticky;
    top: 72px;
}

.sidebar__title {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    padding: 0 0.5rem;
    margin-bottom: 0.4rem;
}

.sidebar__all a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.6rem;
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--accent-text);
    text-decoration: none;
    background: var(--accent-soft);
    margin-bottom: 0.25rem;
    transition: background var(--transition);
}

.sidebar__all a:hover { background: var(--accent-medium); }

.sidebar__list {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.sidebar__item a {
    display: block;
    padding: 0.4rem 0.6rem;
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--text-2);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background var(--transition), color var(--transition);
}

.sidebar__item a:hover {
    background: var(--surface-2);
    color: var(--text-bright);
}

.sidebar__item--active a {
    background: var(--surface-3);
    color: var(--text-bright);
    font-weight: 500;
}

@media (max-width: 768px) {
    .layout { flex-direction: column; }
    .sidebar { width: 100%; position: static; }
}
