/* ── Login layout ─────────────────────────────────────────────────────────── */
.login-page {
    display: flex; align-items: center; justify-content: center;
    min-height: 100vh;
}
.login-card {
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: var(--radius); padding: 2.5rem;
    width: 100%; max-width: 380px;
}
.login-card h1 { text-align: center; margin-bottom: 0.25rem; }
.login-subtitle { text-align: center; color: var(--text-muted); margin-bottom: 1.5rem; font-size: 0.95rem; }

/* ── Main layout (sidebar + content) ──────────────────────────────────────── */
#main-app {
    display: flex; min-height: 100vh;
}

#sidebar {
    width: var(--sidebar-w); min-width: var(--sidebar-w);
    background: var(--bg-card); border-right: 1px solid var(--border);
    display: flex; flex-direction: column;
    position: fixed; top: 0; left: 0; bottom: 0;
    z-index: 100;
}

.sidebar-header {
    padding: 1.25rem 1.25rem 1rem;
    border-bottom: 1px solid var(--border);
}
.sidebar-header h2 { font-size: 1.25rem; font-weight: 700; }
.sidebar-subtitle { font-size: 0.8rem; color: var(--text-muted); }

.nav-links {
    list-style: none; flex: 1; padding: 0.75rem 0;
}
.nav-link {
    display: block; padding: 0.6rem 1.25rem;
    color: var(--text-muted); font-size: 0.9rem; font-weight: 500;
    border-left: 3px solid transparent;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    text-decoration: none;
}
.nav-link:hover { color: var(--text); background: var(--bg-hover); text-decoration: none; }
.nav-link.active { color: var(--accent); border-left-color: var(--accent); background: rgba(79, 140, 255, 0.08); }

.sidebar-footer {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--border);
}

#content {
    flex: 1; margin-left: var(--sidebar-w);
    padding: 2rem;
    max-width: 1200px;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    :root { --sidebar-w: 0px; }
    #sidebar { display: none; }
    #content { margin-left: 0; padding: 1rem; }
}
