/* Structura paginii: sidebar + zona principală. */

.app {
  display: grid;
  grid-template-columns: var(--sidebar-w) 1fr;
  min-height: 100vh;
}

.sidebar {
  background: var(--surface);
  border-right: 1px solid var(--border);
  padding: var(--space-4) var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.brand {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 700;
  font-size: 18px;
  padding: 0 var(--space-2);
}

.nav { display: flex; flex-direction: column; gap: var(--space-1); }

.nav a {
  padding: var(--space-2) var(--space-3);
  border-radius: 8px;
  color: var(--text-muted);
}
.nav a:hover { background: var(--bg); color: var(--text); }
.nav a.active { background: var(--accent); color: #fff; }

.main { display: flex; flex-direction: column; min-width: 0; }

.topbar {
  height: var(--topbar-h);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 0 var(--space-4);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.page-title { font-size: 18px; flex: 1; }

.content {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.menu-btn { display: none; }

/* Mobil: sidebar-ul devine panou glisant */
@media (max-width: 800px) {
  .app { grid-template-columns: 1fr; }
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-w);
    transform: translateX(-100%);
    transition: transform .2s ease;
    z-index: 10;
  }
  .sidebar.open { transform: none; box-shadow: 0 0 40px rgba(0,0,0,.25); }
  .menu-btn { display: inline-flex; }
  .topbar, .content { padding-left: var(--space-3); padding-right: var(--space-3); }
}
