/* Menu commun aux trois applications + bouton de theme */

.topbar-left { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }

.site-nav { display: flex; align-items: center; gap: 4px; }
.site-nav a,
.site-nav .current,
.site-nav .theme-toggle {
  padding: 6px 12px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.site-nav a:hover,
.site-nav .theme-toggle:hover { color: var(--text); background: var(--panel-2); }
.site-nav .current { background: var(--panel-2); color: var(--text); font-weight: 600; cursor: default; }
.site-nav a:focus-visible,
.site-nav .theme-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

/* Variante verticale : barre laterale du portail */
.site-nav.vertical {
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  padding: 0 0 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.site-nav.vertical a,
.site-nav.vertical .current,
.site-nav.vertical .theme-toggle { display: block; width: 100%; text-align: left; padding: 8px 12px; }
.site-nav.vertical .theme-toggle { margin-top: 6px; border: 1px solid var(--border); }

/* Horizontal : bouton de theme separe des liens */
.site-nav:not(.vertical) .theme-toggle { margin-left: 8px; border: 1px solid var(--border); }

@media (max-width: 900px) {
  .site-nav:not(.vertical) { flex-wrap: wrap; }
}
