/* ============================================================
   Navbar — barre d'application (app shell)
   Pleine largeur, filet en bas. Contenu aligné sur la grille DS.
   2 étages : marque + projet + menus (haut) · onglets de vue (bas).
   Réutilise .ds-tabs pour la rangée d'onglets.
   ============================================================ */

.ds-navbar {
  border-bottom: var(--border-subtle);
  background: var(--color-background);
}

/* Contenu de la barre aligné sur la trame (même max-width + marge que la grille). */
.ds-navbar__inner {
  max-width: var(--grid-max-width);
  margin-inline: auto;
  padding-inline: var(--grid-page-padding);
}

/* ── Étage haut : marque + projet (gauche) · menus (droite) ── */
.ds-navbar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--grid-gutter);
  padding-block: var(--space-16);
}

.ds-navbar__left,
.ds-navbar__right {
  display: flex;
  align-items: center;
  gap: var(--space-12);
}

/* ── Marque ── */
.ds-navbar__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  text-decoration: none;
}

.ds-navbar__brand-mark {
  display: inline-grid;
  place-items: center;
  width: var(--space-24);
  height: var(--space-24);
  border-radius: var(--radius-sm);
  background: var(--color-text-primary);
  color: var(--color-background);
  font-weight: var(--font-weight-bold);
  font-size: var(--type-body-sm-size);
}

.ds-navbar__brand-name {
  color: var(--color-text-primary);
  letter-spacing: 0.08em;
}

.ds-navbar__sep {
  color: var(--color-text-muted);
}

/* ── Déclencheurs de menu : sélecteur de projet + menu utilisateur ── */
.ds-navbar__project,
.ds-navbar__user {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  padding: var(--space-4) var(--space-8);
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-secondary);
  font: inherit;
  cursor: pointer;
  transition:
    background var(--motion-duration-fast) var(--motion-ease-out),
    color var(--motion-duration-fast) var(--motion-ease-out);
}

.ds-navbar__project:hover,
.ds-navbar__user:hover {
  background: var(--color-surface-raised);
  color: var(--color-text-primary);
}

.ds-navbar__project svg,
.ds-navbar__user svg {
  width: var(--space-12);
  height: var(--space-12);
  color: var(--color-text-muted);
}

/* ── Dropdown de projets (switch + supprimer) ─────────────────────── */
.ds-navbar__project-wrap {
  position: relative;
}

.ds-navbar__project-menu {
  position: absolute;
  top: calc(100% + var(--space-8));
  left: 0;
  z-index: var(--z-overlay);
  min-width: 240px;
  padding: var(--space-8);
  background: var(--color-surface);
  border: var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
}

.ds-navbar__project-menu[hidden] {
  display: none;
}

.ds-navbar__project-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Une ligne = bouton de sélection (nom) + bouton supprimer révélé au survol. */
.ds-navbar__project-row {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.ds-navbar__project-pick {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  padding: var(--space-8);
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-secondary);
  font: inherit;
  font-size: var(--type-body-sm-size);
  cursor: pointer;
  transition: var(--motion-transition-default);
}

.ds-navbar__project-pick:hover {
  background: var(--color-surface-raised);
  color: var(--color-text-primary);
}

.ds-navbar__project-row.is-current .ds-navbar__project-pick {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-semibold);
}

.ds-navbar__project-del {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--space-24);
  height: var(--space-24);
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  opacity: 0;
  transition: var(--motion-transition-default);
}

.ds-navbar__project-row:hover .ds-navbar__project-del,
.ds-navbar__project-del:focus-visible {
  opacity: 1;
}

.ds-navbar__project-del:hover {
  background: color-mix(in srgb, var(--color-danger) 12%, transparent);
  color: var(--color-danger);
}

.ds-navbar__project-del svg {
  width: var(--space-16);
  height: var(--space-16);
  stroke-width: var(--icon-stroke-width-bold);
}

/* Confirmation de suppression inline (remplace la ligne). */
.ds-navbar__project-confirm {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  padding: var(--space-8);
  font-size: var(--type-caption-size);
  color: var(--color-text-secondary);
}

.ds-navbar__project-confirm-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* « Ajouter un projet » : lien en pied, séparé par un filet. */
.ds-navbar__project-add {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-8);
  padding: var(--space-8);
  border-top: var(--border-subtle);
  padding-top: var(--space-12);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--type-body-sm-size);
  transition: var(--motion-transition-default);
}

.ds-navbar__project-add:hover {
  color: var(--color-text-primary);
}

.ds-navbar__project-add svg {
  width: var(--space-16);
  height: var(--space-16);
  color: var(--color-text-muted);
}

/* Pastille initiale du menu utilisateur */
.ds-navbar__user-avatar {
  display: inline-grid;
  place-items: center;
  width: var(--space-24);
  height: var(--space-24);
  border-radius: 50%;
  background: var(--color-surface-raised);
  color: var(--color-text-primary);
  font-weight: var(--font-weight-semibold);
  font-size: var(--type-body-sm-size);
}

/* ── Étage bas : onglets de vue (le style vient de .ds-tabs) ── */
.ds-navbar__tabs {
  display: flex;
}
