/* assets/css/custom.css */

/* 01     GRUNDLEGENDE EINSTELLUNGEN FÜR CUSTOM */
/* 01.01  Navbar */
.navbar {
  background-color: #669bbc;
}

.navbar-text,
.navbar-brand,
.nav-link {
  color: #fff !important;
}

.navbar-nav .dropdown-item:hover {
  background-color: #669bbc;
  color: #fff;
}


/* 01.02  Footer */
.footer-bg {
  background-color: #669bbc;
}

.footer-text {
  color: #fff !important;
}

.footer-link {
  color: #fff;
}

/* ###### */

/* Grundlegende Feinheiten */
:root {
  --focus-ring: 0 0 0 .25rem rgba(13,110,253,.25);
}
:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* Große „Badge“-Labels in den Cards */
.badge-lg {
  display: inline-block;
  padding: .4rem .6rem;
  border-radius: .5rem;
  font-weight: 600;
  line-height: 1;
  /* wir verwenden die text-bg-* Farben via zusätzliche Klassen */
}

/* Badge für Notizen (leichtes Orange) */
.badge-note {
  background-color: #ffd8a8; /* helles Orange */
  color: #7a3e00;            /* gut lesbar auf hellorange */
  border: 1px solid #ffb169;
}

/* Statusfarbklassen für Labels (nutzen Bootstrap-Token) */
.status-draft   { background: var(--bs-secondary); color: #fff; }
.status-submitted { background: var(--bs-info); color: #fff; }
.status-review  { background: var(--bs-warning); color: #000; }
.status-approved{ background: var(--bs-success); color: #fff; }
.status-rejected{ background: var(--bs-danger); color: #fff; }

/* Karten-Hintergründe (subtle Tint) */
.card-status { border: 1px solid var(--bs-border-color); }
.card-status .card-body { padding: 1rem 1rem; }

.card-status-draft    { background: var(--bs-secondary-bg-subtle); }
.card-status-submitted{ background: var(--bs-info-bg-subtle); }
.card-status-review   { background: var(--bs-warning-bg-subtle); }
.card-status-approved { background: var(--bs-success-bg-subtle); }
.card-status-rejected { background: var(--bs-danger-bg-subtle); }

/* Tabelle: Status-Badge in der Liste (normale Größe) */
.table .badge.status-list-draft    { background: var(--bs-secondary); }
.table .badge.status-list-submitted{ background: var(--bs-info); }
.table .badge.status-list-review   { background: var(--bs-warning); color:#000; }
.table .badge.status-list-approved { background: var(--bs-success); }
.table .badge.status-list-rejected { background: var(--bs-danger); }

/* Dark Mode Feinheiten */
[data-bs-theme="dark"] .status-review { color: #000; }

/* Timeline Step Colors – passend zu den Dashboard-Farben */
.timeline-steps .list-group-item {
  border-width: 1px;
  transition: background-color .2s ease, border-color .2s ease, opacity .2s ease;
}
.timeline-steps .list-group-item .badge { font-weight: 600; }

.timeline-steps .step-submitted  { background: var(--bs-info-bg-subtle);    border-color: var(--bs-info-border-subtle); }
.timeline-steps .step-review     { background: var(--bs-warning-bg-subtle); border-color: var(--bs-warning-border-subtle); }
.timeline-steps .step-approved   { background: var(--bs-success-bg-subtle); border-color: var(--bs-success-border-subtle); }
.timeline-steps .step-rejected   { background: var(--bs-danger-bg-subtle);  border-color: var(--bs-danger-border-subtle); }

.timeline-steps .is-active       { border-width: 2px; }
.timeline-steps .is-done         { opacity: .85; }

/* Lesbarkeit im Dark Mode für Warning */
[data-bs-theme="dark"] .timeline-steps .step-review { color: #000; }

/* Timeline: Zustandsfarben nach Regeln */
.timeline-steps .timeline-step { border-width: 1px; transition: background-color .2s, border-color .2s, opacity .2s; }

/* aktiv (Status-spezifisch, wie Dashboard-Farben) */
.bg-current-submitted { background: var(--bs-info-bg-subtle);    border-color: var(--bs-info-border-subtle); }
.bg-current-review    { background: var(--bs-warning-bg-subtle); border-color: var(--bs-warning-border-subtle); }
.bg-current-approved  { background: var(--bs-success-bg-subtle); border-color: var(--bs-success-border-subtle); }
.bg-current-rejected  { background: var(--bs-danger-bg-subtle);  border-color: var(--bs-danger-border-subtle); }

/* erledigt -> immer wie "Genehmigt" (grün) */
.bg-done    { background: var(--bs-success-bg-subtle); border-color: var(--bs-success-border-subtle); }

/* noch nicht gesetzt -> grau */
.bg-pending { background: var(--bs-secondary-bg-subtle); border-color: var(--bs-secondary-border-subtle); color: var(--bs-secondary-color); opacity: .95; }

/* optische Marker */
.timeline-steps .is-active { border-width: 2px; }
.timeline-steps .is-done   { opacity: .95; }

/* Dark-Mode-Lesbarkeit für Warning */
[data-bs-theme="dark"] .bg-current-review { color: #000; }

/* Nachrichtentext im Ereignislog klar sichtbar */
.event-message {
  white-space: pre-wrap;
  line-height: 1.35;
}

/* Timeline Step-Zeilen mit farbigem Akzent links + subtiler Hintergrundfarbe */
.step-row { position: relative; border-left: .5rem solid transparent; }
.step-accent-secondary { border-left-color: var(--bs-secondary); }
.step-accent-info      { border-left-color: var(--bs-info); }
.step-accent-warning   { border-left-color: var(--bs-warning); }
.step-accent-success   { border-left-color: var(--bs-success); }
.step-accent-danger    { border-left-color: var(--bs-danger); }
