/* ===========================
   Global overrides (with !important)
   =========================== */

/* Brand color (works without !important, kept for completeness) */
:root {
  --bs-primary: #e11d2e;
}

/* Buttons */
.btn.btn-primary {
  background-color: #e11d2e !important;
  border-color: #e11d2e !important;
  color: #ffffff !important;
}
.btn.btn-primary:hover,
.btn.btn-primary:focus {
  background-color: #c41625 !important;
  border-color: #c41625 !important;
  color: #ffffff !important;
}
.btn.btn-outline-primary {
  color: #e11d2e !important;
  border-color: #e11d2e !important;
  background-color: transparent !important;
}
.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:focus {
  color: #ffffff !important;
  background-color: #e11d2e !important;
  border-color: #e11d2e !important;
}

/* Cards / panels */
.card {
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
  background: #ffffff !important;
}
.card-header {
  background: #f8f9fb !important;
  font-weight: 700 !important;
  border-bottom: 1px solid #e5e7eb !important;
}

/* Sidebar header (your Settings title) */
.sidebar h4 {
  background: #e11d2e !important;
  color: #ffffff !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  margin-top: 0 !important;
}

/* Form controls */
.form-label {
  font-weight: 600 !important;
  color: #0f172a !important;
}
.form-control, select.form-select, textarea.form-control {
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.form-control:focus, select.form-select:focus, textarea.form-control:focus {
  border-color: #0057b8 !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 87, 184, 0.15) !important;
  outline: none !important;
}

/* Nav tabs inside cards (bslib navset_tab) */
.nav-tabs .nav-link {
  color: #475569 !important;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
  color: #0f172a !important;
  border-color: #e5e7eb #e5e7eb transparent !important;
  background: #f8f9fb !important;
}

/* Page navbar brand/link accents */
.navbar .nav-link.active,
.navbar .nav-link:focus,
.navbar .nav-link:hover {
  color: #e11d2e !important;
}

/* Small utility */
.hr, hr {
  border-top: 1px solid #e5e7eb !important;
}

/* Optional: Mermaid labels look nicer */
.mermaid .edgeLabel {
  background: rgba(255,255,255,.85) !important;
  padding: 2px 6px !important;
  border-radius: 6px !important;
}
