/* Navigation sobre : campus et administration uniquement. */
@media screen {
  .campus :is(.menu-popover, .mobile-navigation > nav) { border: 1px solid #dce0e4; border-radius: 6px !important; background: #fff; box-shadow: none !important; animation: none; }
  .campus :is(.account-menu > summary, .admin-navigation > summary, .mobile-navigation > summary) { border-radius: 4px !important; min-height: 44px; font-size: 14px; }
  .campus :is(.menu-popover a, .menu-popover button, .nav-link, .nav-group > summary, .mobile-navigation a) { min-height: 44px; border-radius: 4px !important; font-size: 14px; line-height: 1.5; }
  .campus :is(.nav-link.active, .menu-popover a[aria-current], .campus-nav a[aria-current], .tab-bar a[aria-current]) { background: #eef0f2 !important; color: #20252b !important; }
  .campus :is(.nav-link.active, .campus-nav a[aria-current], .tab-bar a[aria-current]) .icon { color: inherit !important; }
  .campus :is(.campus-header, .sidebar, .tab-bar) :is(a, button, summary):focus-visible { outline: 2px solid #626970 !important; outline-offset: -2px !important; box-shadow: none !important; }
  .campus .mobile-navigation { display: none; position: relative; }
  .campus .mobile-navigation > summary { display: flex; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid #dce0e4; cursor: pointer; list-style: none; }
  .campus .mobile-navigation > summary::-webkit-details-marker { display: none; }
  .campus .mobile-navigation > nav { position: absolute; top: calc(100% + 8px); right: 0; z-index: 50; width: 220px; padding: 6px; }
  .campus .mobile-navigation a { display: flex; align-items: center; padding: 10px 12px; text-decoration: none; color: #20252b; }
  .campus .mobile-navigation a:hover { background: #f4f5f6; }
  .campus .menu-popover { max-width: calc(100vw - 32px); max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
  @media (max-width: 900px) {
    .campus.campus-pro .tab-bar { background: #fff !important; backdrop-filter: none; box-shadow: none; }
    .campus.campus-pro .tab-bar a { min-width: 0; min-height: 52px; padding: 4px 2px; border-radius: 4px !important; font-size: 11px; line-height: 1.35; text-align: center; }
  }
  @media (max-width: 760px) {
    .admin-shell .sidebar { border-bottom: 1px solid #dce0e4; box-shadow: none; }
    .admin-shell .admin-navigation > summary { border: 1px solid #dce0e4; background: #fff; }
    .admin-shell .admin-navigation[open] { max-height: calc(100dvh - 76px); overscroll-behavior: contain; }
    .admin-shell .admin-navigation > nav { flex: none; overflow: visible; padding: 8px 12px 16px; }
    .admin-shell .nav-link { padding: 10px 12px; }
    .admin-shell .sidebar-footer { flex-shrink: 0; }
  }
  @media (max-width: 600px) {
    .campus.campus-guest .mobile-navigation { display: block; margin-left: auto; }
    .campus.campus-guest .campus-header-inner { flex-wrap: wrap; padding-block: 10px; gap: 8px; }
    .campus.campus-guest .campus-brand { min-width: 0; flex: 1; }
    .campus.campus-guest .header-login { display: none; }
  }
}
