/* Navigation principale commune : les outils fréquents restent visibles. */
body.main-navigation #app { grid-template-columns: minmax(0, 1fr); }
body.main-navigation .topbar {
  display: flex; flex-wrap: wrap; gap: 8px 16px; height: auto;
  min-height: 66px; padding: 12px 24px 10px; align-items: center;
}
body.main-navigation #app.is-mac .topbar { padding-left: 112px; }
body.main-navigation .topbar .main-nav {
  display: flex; order: 0; flex: 1 1 auto; gap: 5px;
  align-items: center; overflow: visible; min-width: 0;
}
body.main-navigation .main-nav .nav-item {
  display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px;
  min-height: 42px; margin: 0; padding: 9px 13px; border-radius: 10px;
  color: var(--text-soft); font: inherit; font-size: 13px; font-weight: 600;
  text-decoration: none; border: 1px solid transparent; background: transparent;
  cursor: pointer; white-space: nowrap;
}
body.main-navigation .main-nav .nav-item svg { width: 18px; height: 18px; flex-shrink: 0; }
body.main-navigation .main-nav .nav-item:hover { background: var(--bg-hover, #edf4fc); }
body.main-navigation .main-nav .nav-item.active { background: var(--primary-soft, #e5effa); color: var(--primary, #1665aa); }
body.main-navigation .main-nav kbd { font-size: 10px; opacity: .65; }
body.main-navigation .main-nav .mobile-menu-btn { display: inline-flex; gap: 6px; min-height: 42px; border-radius: 10px; padding: 8px 12px; }
body.main-navigation .main-nav .mobile-menu-btn::after { content: none; }
body.main-navigation .main-nav .mobile-menu-btn svg { width: 14px; height: 14px; }
body.main-navigation .topbar-left { display: none; order: 2; flex: 1 1 100%; min-width: 0; }
body.main-navigation .topbar-left .page-title { font-size: 15px; line-height: 24px; margin: 0; }
body.main-navigation .topbar-right { order: 1; flex-wrap: wrap; margin-left: auto; }
body.main-navigation .sidebar { visibility: hidden; }
body.main-navigation #app.sidebar-open .sidebar { visibility: visible; }
body.main-navigation.menu-bouton .sidebar { top: 66px; left: auto; right: 20px; max-height: min(75vh, 700px); }
body.main-navigation.menu-bouton #app.is-mac .sidebar { left: auto; right: 20px; }
body.main-navigation .sidebar .brand { justify-content: flex-end; }
body.main-navigation .sidebar .brand-mark { display: none; }
body.main-navigation .sidebar .nav-item { min-height: 38px; }
body.main-navigation .main-nav :focus-visible { outline: 2px solid var(--primary, #1665aa); outline-offset: 2px; }
@media (max-width: 1100px) {
  body.main-navigation .topbar .main-nav { flex-wrap: wrap; }
  body.main-navigation .topbar { gap: 6px; padding-right: 12px; padding-left: 12px; }
  body.main-navigation .main-nav .nav-item { padding: 8px; gap: 5px; font-size: 12px; }
  body.main-navigation .main-nav kbd { display: none; }
  body.main-navigation .topbar-right { order: 3; }
  body.main-navigation .topbar-left { flex: 1 1 auto; }
}
@media (max-width: 768px) {
  body.main-navigation .topbar .main-nav { flex: 1 1 100%; flex-wrap: wrap; }
  body.main-navigation #app.is-mac .topbar { padding-top: 42px; padding-left: 12px; }
}
/* L'interface mobile dispose déjà de sa navigation propre en bas. */
body.main-navigation.is-mobile .topbar .main-nav { display: none; }
/* Dossiers : une seule entrée permanente, une liste de travail lisible. */
body.main-navigation .topbar .main-nav { flex-wrap: wrap; }
body.main-navigation #patient-bg-pill { display: none !important; }
.dossiers-count { min-width: 20px; padding: 2px 5px; border-radius: 7px; font-size: 11px; background: var(--primary-soft, #e5effa); text-align: center; }
.dossiers-workspace { max-width: 1240px; margin: 0 auto; padding: 12px 0 30px; }
.dossiers-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.dossiers-heading h2 { margin: 0 0 7px; font-size: 25px; }
.dossiers-heading p, .dossiers-identity p, .dossiers-empty p { margin: 0; color: var(--text-soft); line-height: 1.55; }
.dossiers-filter { width: 100%; min-height: 44px; box-sizing: border-box; }
.dossiers-summary { font-size: 12px; color: var(--text-soft); margin: 18px 0 12px; }
.dossiers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 16px; }
.dossiers-card { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 22px; border: 1px solid var(--border); border-radius: 16px; background: var(--bg-elevated); }
.dossiers-identity { display: flex; gap: 12px; align-items: center; min-width: 0; }
.dossiers-identity h3 { margin: 0 0 5px; font-size: 16px; overflow-wrap: anywhere; }
.dossiers-identity p { font-size: 12px; }
.dossiers-avatar { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 13px; background: var(--primary-soft, #e5effa); color: var(--primary, #1665aa); font-weight: 700; }
.dossiers-status { border-radius: 7px; padding: 5px 8px; font-size: 11px; color: var(--text-soft); background: var(--bg); }
.dossiers-status.is-current { color: var(--primary); background: var(--primary-soft); }
.dossiers-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.dossiers-empty { grid-column: 1/-1; padding: 55px 24px; text-align: center; border: 1px dashed var(--border); border-radius: 18px; }
.dossiers-empty-icon { color: var(--primary); font-size: 44px; }
.dossiers-empty h3 { margin: 12px 0 8px; }
@media (max-width: 650px) { .dossiers-heading { align-items: flex-start; flex-direction: column; } .dossiers-heading h2 { font-size: 22px; } }

.dossiers-section-title { margin: 28px 0 12px; font-size: 16px; }
.dossiers-workspace .home-patient-search { margin: 0; }

.dossiers-heading-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }

/* Navigation Mac par pictogrammes : les compteurs restent dans les écrans. */
body.main-navigation:not(.is-mobile) .main-nav > .nav-item,
body.main-navigation:not(.is-mobile) .main-nav > .mobile-menu-btn {
  width: 46px; height: 44px; padding: 10px; justify-content: center;
  color: var(--nav-tool-color, #586781);
}
body.main-navigation:not(.is-mobile) .main-nav > .nav-item > span,
body.main-navigation:not(.is-mobile) .main-nav > .nav-item > kbd,
body.main-navigation:not(.is-mobile) .main-nav > .mobile-menu-btn > span { display: none !important; }
body.main-navigation:not(.is-mobile) .main-nav > .nav-item svg,
body.main-navigation:not(.is-mobile) .main-nav > .mobile-menu-btn svg { width: 22px; height: 22px; }
body.main-navigation:not(.is-mobile) .main-nav > .nav-item.active {
  color: #fff; background: var(--primary); border-color: var(--primary);
}
body.main-navigation .main-nav [data-route="dashboard"] { --nav-tool-color: #4866b5; }
body.main-navigation .main-nav [data-route="dossiers"] { --nav-tool-color: #2769ce; }
body.main-navigation .main-nav [data-route="reception"] { --nav-tool-color: #087f87; }
body.main-navigation .main-nav [data-route="interactions"] { --nav-tool-color: #8650b7; }
body.main-navigation .main-nav .main-search { --nav-tool-color: #417494; }
body.main-navigation .main-nav [data-route="settings"] { --nav-tool-color: #69768c; }

/* L’ancien agenda masquait le menu hamburger. Le menu « Plus » contient
   désormais des outils indispensables sur toutes les pages Mac. */
body.main-navigation:not(.is-mobile) #app.agenda-mode .main-nav .mobile-menu-btn { display: inline-flex; }
body.main-navigation:not(.is-mobile) #app.agenda-mode .sidebar { display: flex; }

/* Outils complémentaires intégrés à la même barre, avec leurs couleurs. */
body.main-navigation .main-nav [data-route="consultations"] { --nav-tool-color: #426ac3; }
body.main-navigation .main-nav [data-route="ehealth"] { --nav-tool-color: #087f87; }
body.main-navigation .main-nav [data-route="facturation"] { --nav-tool-color: #447b5b; }
body.main-navigation .main-nav [data-route="calendar"] { --nav-tool-color: #8054b4; }
body.main-navigation .main-nav [data-route="rappels"] { --nav-tool-color: #b77b27; }
body.main-navigation .main-nav [data-route="kanban"] { --nav-tool-color: #367b9b; }
body.main-navigation .main-nav [data-route="conges"] { --nav-tool-color: #b56745; }
body.main-navigation .main-nav [data-route="stats"] { --nav-tool-color: #546abc; }
body.main-navigation .main-nav [data-route="prime-inami"] { --nav-tool-color: #98722e; }

body.main-navigation:not(.is-mobile) .main-nav #net-status {
  display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px;
  margin: 0 3px; padding: 6px 9px; border-radius: 9px;
  font-size: 11px; white-space: nowrap;
}

/* Le compte suit les outils : aucune action de session cachée dans « Plus ». */
body.main-navigation:not(.is-mobile) #app .main-nav .mobile-menu-btn { display: none; }
#topbar-account:empty { display: none; }
#topbar-account { flex: 0 1 auto; min-width: 0; }
#cabinet-session-badge.session-badge--inline {
  display: flex; align-items: center; gap: 10px; min-height: 40px;
  padding: 0 8px; color: var(--text); font: 12px -apple-system, system-ui, sans-serif;
  border-left: 1px solid var(--border);
}
#cabinet-session-badge.session-badge--inline > span:first-child { max-width: 180px; }
#cabinet-session-badge.session-badge--inline > span:last-child { padding-left: 0 !important; }
#cabinet-session-badge.session-badge--inline button { min-height: 32px; }
#cabinet-session-badge.session-badge--inline #cabinet-switch-doctor-btn {
  color: var(--primary) !important; text-decoration: none !important;
}
