
/* === Bootstrap & Farbanpassungen === */
body {
  background-color: #f8f9fa;
}

a {
  color: #290a33 !important;
  text-decoration: none;
}

a:hover,
a:focus,
th a {
  color: #290a33;
  text-decoration: underline;
}

/* === Formularfelder === */
.form-control,
.form-select,
input,
select,
textarea {
  border-radius: 0.5rem !important;
}

.form-label,
.card-body label {
  font-weight: 500;
}

.d-none {
  display: none !important;
}

/* === Layoutbereiche === */
.section {
  background: #ffffff;
  border-radius: 1rem;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
}

.card {
  border-radius: 1rem !important;
  overflow: hidden;
}

.card-body.div-header-colored {
  background-color: #efe9f8 !important;
}

.card-header,
.bg-primary {
  background-color: #efe9f8 !important;
  padding: 0.75rem 1rem;
  font-size: 1.25rem;
  font-weight: bold;
}

/* === Tabellen === */
table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 20px;
}

th, td {
  border: 1px solid #cccccc;
  padding: 6px;
}

th {
  background: #eeeeee !important;
  cursor: pointer;
}

.table thead th {
  background-color: #e9ecef !important;
}

.table.table-header thead th {
  background-color: #f1e9f9 !important;
}
thead.custom-header th {   
   background-color: #f1e9f9 !important;
}
.report_badge_bg {   
   background-color: #946ea2 !important;
}
/* === Rotierte Header (z. B. für Matrix) === */
.rotate-header {
  position: relative;
  height: 120px; 
  width: 40px;
  padding: 0;
  vertical-align: bottom;
}

.rotate-header > div {
  position: absolute;
  bottom: 0; 
  left: 100%;
  transform-origin: bottom left;
  transform: rotate(-90deg);
  white-space: nowrap;
  font-size: 1rem;
  padding: 0.5rem 0.5rem;
}

/* === Buttons === */
.btn {
  border-radius: 0.25rem !important;
  margin-right: 0.5rem;
}

.btn i {
  margin-right: .3rem;
}

.btn-hover-red:hover {
  background-color: #dc3545;
  color: white !important;
}

.btn-hover-yellow:hover {
  background-color: #ffc107;
  color: white !important;
}

.btn-hover-blue:hover {
  background-color: #0d6efd;
  color: white !important;
}

.btn-reset-filter:hover {
  background-color: #dc3545 !important;
  color: white !important;
  border-color: #dc3545 !important;
}

.aktion button {
  margin-right: 5px;
}

/* === Checkboxen === */
input[type="checkbox"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

td.bg-green {
  background-color: #d4edda;
}

td.bg-red {
  background-color: #f8d7da;
}

input[type="checkbox"] {
  accent-color: green;
  cursor: pointer;
}

/* === Editiermodus === */
.edit-mode {
  border: 2px solid #007bff;
  background-color: #eef7ff;
  padding: 10px;
  margin-bottom: 10px;
}

/* === Tabellen-Scrollbereiche === */
.table-wrapper {
  overflow-x: auto;
}

.scrollable-tbody {
  display: block;
  max-height: 500px;
  overflow-y: auto;
}

.scrollable-tbody tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.table thead, .table tbody tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.table-scroll-container {
  max-height: 500px;
  overflow-y: auto;
  position: relative;
  border: 1px solid #dee2e6;
}

.table-scroll-container thead th {
  position: sticky;
  top: 0;
  background-color: #e9ecef;
  z-index: 2;
}

.table-scroll-container table {
  margin-bottom: 0;
}

.table-fixed-head {
  height: 70vh;
  overflow-y: auto;
}

.table-fixed-head table {
  border-collapse: collapse;
  width: 100%;
}

.table-fixed-head thead th {
  position: sticky;
  top: 0;
  background-color: #e9ecef;
  z-index: 2;
  text-align: center;
}

/* === Kartenfooter === */
.card-footer-spacer,
.card-footer-actions {
  background-color: #ffffff;
  padding: 1rem 1.25rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}

.card-footer-actions {
  border-top: 1px solid #dee2e6;
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
}

/* === Textfarben === */
.text-danger {
  color: #dc3545 !important;
}
.text-success {
  color: #64b978 !important;
}
.text-primary {
  color: #0d6efd !important;
}

input.check-input[disabled] {
  background-color: #f9f9f9;
  cursor: not-allowed;
}

a.btn.btn-outline-secondary:hover {
  color: white !important;
  text-decoration: none !important;
}

/* === Audit-Matrix-Tabelle === */
.audit-matrix-table td,
.audit-matrix-table th {
  text-align: center;
  vertical-align: middle;
}

.audit-matrix-table td:first-child,
.audit-matrix-table th:first-child {
  text-align: left;
  min-width: 280px;
}

.audit-matrix-table td:last-child,
.audit-matrix-table th:last-child {
  text-align: center;
  width: 70px;
}

.audit-matrix-table th.audit-matrix-col,
.audit-matrix-table td.audit-matrix-col {
  width: 60px;
}

/* === Floating Buttons === */
.floating-buttons {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #f8f9fa !important;
  border-top: 1px solid #cccccc;
  padding: 10px 20px;
  z-index: 999;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.dataTables_wrapper .dataTables_paginate .pagination .page-item.active .page-link {
    background-color: #d8c9f3 !important;
    border-color: #d8c9f3 !important;
    color: #000 !important;
}
.dataTables_wrapper .dataTables_paginate .pagination .page-link:hover {
    background-color: #e8dcfb !important;
    color: #000 !important;
}
.dataTables_wrapper .dataTables_paginate .pagination .page-link {
    border-radius: 0.5rem !important;
}
.active-filtercard {
    border: 2px solid #ffc107 !important;
    background-color: #fff3cd !important;
   }
.bg-filter {
    background-color: #fff3cd !important;
}
.custom-accordeon-button {
    border: 1px solid #f1e9f9 !important;
    background-color: #f1e9f9 !important;
   }
.pagination .page-item.active .page-link {
  background-color: #e8dcfb !important;
  border-color: #e8dcfb !important;
}

.bg-subprozess {
   background-color: #efe9f8 !important;
}
