/* Basisstyles für die Demo-App */
body {
  /* An Bootstrap-Color-Mode anpassen */
  background-color: var(--bs-body-bg);
}

header .navbar-brand span.brand-dot {
  color: #0d6efd;
}

.table thead th {
  white-space: nowrap;
}

footer {
  color: var(--bs-secondary-color);
}

.badge-in { background-color: var(--bs-success); }
.badge-out { background-color: var(--bs-danger); }
.badge-drive-start { background-color: #6f42c1; color: #fff; }
.badge-drive-end { background-color: var(--bs-warning); color: #000; }
.badge-pause-start { background-color: var(--bs-primary); color: #fff; }
.badge-pause-end { background-color: var(--bs-secondary); color: #fff; }

.cursor-pointer {
  cursor: pointer;
}

/* Kanban Board */
.kanban-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 1rem;
}
.kb-column { display: flex; flex-direction: column; min-height: 60vh; }
.kb-header { font-weight: 600; margin-bottom: .25rem; padding: .25rem .5rem; border-left: 4px solid var(--bs-border-color); }
.kb-list { flex: 1; padding: .5rem; background: var(--bs-tertiary-bg); border: 1px dashed var(--bs-border-color); border-radius: .5rem; overflow-y: auto; min-height: 200px; }
.kb-card.kb-dragging { opacity: .6; }
.kb-list.kb-dragover { background: rgba(13,110,253,.08); border-color: #0d6efd; }

@media (max-width: 991.98px) {
  .kanban-board { grid-template-columns: repeat(2, minmax(240px, 1fr)); }
}
@media (max-width: 575.98px) {
  .kanban-board { grid-template-columns: 1fr; }
}

/* Deutlichere Hervorhebung für "Fahrzeit Anfang"-Button (Purple) */
.btn-drive-start {
  background-color: #6f42c1; /* purple */
  border-color: #5f38a7;
  color: #fff;
}
.btn-drive-start:hover,
.btn-drive-start:focus {
  background-color: #6439b4;
  border-color: #553197;
  color: #fff;
}
.btn-drive-start:active,
.btn-drive-start.active {
  background-color: #5f38a7;
  border-color: #4b2a86;
  color: #fff;
}
[data-bs-theme="dark"] .btn-drive-start {
  background-color: #8255d6;
  border-color: #6f42c1;
  color: #fff;
}
[data-bs-theme="dark"] .btn-drive-start:hover,
[data-bs-theme="dark"] .btn-drive-start:focus {
  background-color: #7448c8;
  border-color: #633bb0;
}

/* Mobile: Collapsed Navbar soll scrollbar sein, damit Logout & Buttons erreichbar bleiben */
@media (max-width: 767.98px) {
  .navbar .navbar-collapse {
    /* Fallback zuerst (ältere Browser) */
    max-height: calc(100vh - 4rem);
    /* Moderne dynamische Viewport-Höhe (Mobile-URL-Bar berücksichtigt) */
    max-height: calc(100dvh - 4rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Verhindert, dass die letzten Einträge hinter der Systemleiste liegen */
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
  }
  /* Dropdowns im mobilen Menü nicht außerhalb des Sichtbereichs positionieren */
  .navbar .dropdown-menu {
    position: static;
    float: none;
  }
}
