/* Shared layout: sidebar + main content structure */
.app-container {
  display: flex;
  min-height: 100vh;
}

.main-content {
  flex: 1;
  padding: 16px;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 16px;
  border-bottom: 1px solid var(--wa-color-neutral-200);
  background: var(--wa-color-neutral-0);
}

.header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Sidebar navigation */
.nav-company {
  padding: 4px 16px 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--wa-color-neutral-900);
  letter-spacing: 0.01em;
  border-bottom: 1px solid var(--wa-color-neutral-200);
  margin-bottom: 4px;
}

.nav-section {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 16px 16px 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--wa-color-neutral-400);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.nav-section-icon {
  font-size: 12px;
}

.nav-menu {
  list-style: none;
  padding: 0 8px 0 16px;
  margin: 0 0 4px;
}

.nav-menu li {
  margin: 1px 0;
}

.nav-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  text-decoration: none;
  color: var(--wa-color-neutral-700);
  border-radius: 6px;
  font-size: 14px;
  transition: background 0.15s, color 0.15s;
}

.nav-icon {
  font-size: 15px;
  width: 20px;
  text-align: center;
  color: var(--wa-color-neutral-400);
  flex-shrink: 0;
  transition: color 0.15s;
}

.nav-menu a:hover {
  background: var(--wa-color-neutral-100);
}

.nav-menu a:hover .nav-icon {
  color: var(--wa-color-neutral-600);
}

.nav-menu a.active {
  background: var(--wa-color-brand-80);
  color: var(--wa-color-brand-20);
}

.nav-menu a.active .nav-icon {
  color: var(--wa-color-brand-30);
}

/* Admin-specific */
.admin-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
}
