/* risiko.menzi68.com – eigene Stile */

:root {
  --sidebar-breite: 240px;
  --header-hoehe: 56px;
}

body {
  padding-top: var(--header-hoehe);
}

/* Mobile-Navbar einzeilig halten */
@media (max-width: 991.98px) {
  .navbar > .container-fluid { flex-wrap: nowrap; }
  .navbar-brand { min-width: 0; font-size: 1.05rem; }
  .navbar-brand span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .navbar .btn { padding: 0.25rem 0.55rem; }
}

/* App-Shell: Sidebar links, Hauptbereich rechts */
.app-shell {
  display: flex;
  min-height: calc(100vh - var(--header-hoehe));
}
.app-sidebar {
  width: var(--sidebar-breite);
  background: #fff;
  border-right: 1px solid var(--bs-border-color);
}
@media (min-width: 992px) {
  .app-sidebar {
    position: fixed;
    top: var(--header-hoehe);
    bottom: 0; left: 0;
    z-index: 1020;
    overflow-y: auto;
    visibility: visible !important;
    transform: none !important;
  }
  .app-main   { margin-left: var(--sidebar-breite); flex: 1 1 auto; min-width: 0; }
  .app-footer { margin-left: var(--sidebar-breite); }
}
@media (max-width: 991.98px) {
  .app-main { flex: 1 1 auto; min-width: 0; width: 100%; }
}

/* Sidebar-Links */
.app-sidebar .nav-link {
  color: var(--bs-body-color);
  border-radius: 0.375rem;
  padding: 0.55rem 0.75rem;
  margin-bottom: 0.15rem;
}
.app-sidebar .nav-link:hover { background: var(--bs-tertiary-bg); }
.app-sidebar .nav-link.active { background: var(--bs-primary); color: #fff; }

/* Login-Karte */
.auth-card { max-width: 420px; margin: 4rem auto; }

/* Pflichtfeld-Sternchen */
.pflicht::after { content: " *"; color: var(--bs-danger); font-weight: 700; }
