
/* ShiftFlow 10.1 – stabile Sidebar-Texte */

.app-sidebar {
  min-width: 250px;
  width: 250px;
  overflow: hidden;
}

.app-sidebar nav {
  min-width: 0;
  width: 100%;
}

.app-sidebar nav a {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 46px;

  white-space: nowrap !important;
  overflow: hidden !important;

  box-sizing: border-box;
}

.app-sidebar nav a > span:first-child {
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 22px !important;

  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;

  line-height: 1;
  text-align: center;
}

.app-sidebar nav a .nav-label {
  display: block;
  flex: 1 1 auto;
  min-width: 0;

  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis;

  line-height: 1.2;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.app-sidebar nav a.active .nav-label {
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .app-sidebar {
    min-width: 220px;
    width: 220px;
  }
}

@media (max-width: 760px) {
  .app-sidebar {
    width: min(84vw, 290px);
    min-width: min(84vw, 290px);
  }
}

/* verhindert kurzzeitiges Zusammenschieben während Animationen */
.app-sidebar,
.app-sidebar nav,
.app-sidebar nav a,
.app-sidebar nav a .nav-label {
  transition-property: background-color, color, border-color, box-shadow, opacity, transform !important;
}


/* ShiftFlow 10.1.1 – verhindert Font- und Navigationsblitzen */

html:not(.sf-nav-ready) .app-sidebar nav,
html:not(.sf-font-ready) .app-sidebar nav {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Kein Einblende-Effekt: Die Navigation erscheint direkt im endgültigen Zustand. */
html.sf-nav-ready.sf-font-ready .app-sidebar nav {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: none !important;
}

.app-sidebar nav,
.app-sidebar nav *,
.app-sidebar .nav-label {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-synthesis: none;
}

/* Reserviert den Platz, während die fertige Navigation vorbereitet wird. */
.app-sidebar nav {
  min-height: 760px;
  contain: layout style;
}


/* ShiftFlow 10.3.1 – grouped sidebar width owns the final layout */
.app-sidebar {
  width: 292px !important;
  min-width: 292px !important;
}

@media (max-width: 1180px) {
  .app-sidebar {
    width: 270px !important;
    min-width: 270px !important;
  }
}

@media (max-width: 900px) {
  .app-sidebar {
    width: min(88vw, 300px) !important;
    min-width: min(88vw, 300px) !important;
  }
}


/* ShiftFlow 10.4.1 – Logout final override */
.app-sidebar .sidebar-logout {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;

  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;

  box-sizing: border-box !important;
}


/* ShiftFlow 14.0.2 – finaler Active-Link-Schutz */
.app-sidebar nav a,
.app-sidebar nav a.active,
.app-sidebar nav a:hover {
  transform: none !important;
  translate: none !important;
  top: auto !important;
  bottom: auto !important;
}
