html, body {
  margin: 0;
}
html {
  scroll-behavior: smooth;
}
.body-wrapper {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 100vh;
}

/* Navigation */
.nav-link.dropdown-toggle:focus {
    outline: none;
    box-shadow: none;
}

.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item.active:focus,
.dropdown-menu .dropdown-item.active:hover,
.dropdown-menu .dropdown-item:active {
    color: #000;
    background-color: #e9ecef;
}

.sticky-offset {
  top: 56px;
}

.ui-autocomplete {
  z-index: 1051 !important;
  position: absolute;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: white;
  border: 1px solid #ccc;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.ui-menu-item-wrapper.ui-state-active {
  background-color: #f8f9fa !important;
  color: #212529 !important;
  border: 1px solid transparent !important;
  outline: none !important; 
  box-shadow: none !important;
}

/* Dashboard */
.macro-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.macro-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}
.fs-small { font-size: 0.75rem;}

/* Risikoprofil */
.sticky-header {
  position: sticky;
  top: 55px;
  background-color: #fff;
  z-index: 10;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #dee2e6;
}
#progressBar {
  transition: width 0.6s ease;
}
.form-section {
  margin-bottom: 3rem;
}
.form-check {
  margin-bottom: 0.5rem;
}
#result {
  margin-top: 3rem;
}

/* Sektoren */
.bar-container {
  display: flex;
  align-items: center;
}
.bar {
  height: 20px;
  display: inline-block;
  border-radius: 4px;
  margin-right: 8px;
}
.bar-positive {
  background-color: #a9d18e;
}
.bar-negative {
  background-color: #f4b084;
}

.timeline-container {
  display: flex;
  justify-content: space-around;
  margin-top: 2rem;
}

.timeline-block {
  text-align: center;
  padding: 1rem;
  border-left: 4px solid #ccc;
  position: relative;
}

.timeline-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: -2px;
  height: 100%;
  width: 4px;
}

/* Zyklus */
.t-minus-2 { border-color: #fbbf24; background-color: #fffbea; }
.t-zero    { border-color: #a78bfa; background-color: #f5f3ff; }
.t-plus-3  { border-color: #818cf8; background-color: #eef2ff; }
.t-plus-6  { border-color: #f472b6; background-color: #fff1f2; }
.t-plus-9  { border-color: #5eead4; background-color: #ecfdf5; }

.timeline-block h5 {
  margin-bottom: 1rem;
  font-weight: bold;
}

.event-box {
  background: #fff;
  padding: 0.5rem;
  margin: 0.25rem auto;
  border: 1px solid #ddd;
  border-radius: 0.3rem;
  font-size: 0.9rem;
  max-width: 160px;
}

/* Scanner */
.dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link {
  background-color: #212529; /* Dark background */
  color: #f8f9fa;            /* Light text */
  border-color: #343a40;     /* Dark border */
}

.dataTables_wrapper .dataTables_paginate .pagination .page-item.active .page-link {
  background-color: #343a40;
  border-color: #343a40;
  color: #fff;
}

.dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link:hover {
  background-color: #343a40;
  color: #fff;
}

/* Helpers */
.height-50 { height: 50px; }
.height-100 { height: 100px; }
.height-150 { height: 150px; }
.height-200 { height: 200px; }
.height-250 { height: 250px; }
.height-300 { height: 300px; }
.height-350 { height: 350px; }
.height-400 { height: 400px; }
.height-450 { height: 450px; }
.height-500 { height: 500px; }
.height-550 { height: 550px; }
.height-600 { height: 600px; }