/* ===== LuTX24 · App-Design (Medizin-Blau) ===== */
:root{
  --lx-primary:#1E6FB8; --lx-primary-dark:#17568F; --lx-primary-soft:#EAF2FA;
  --lx-bg:#F5F8FB; --lx-ink:#1f2933; --lx-muted:#5b6b7b; --lx-border:#dfe6ee;
  --lx-good:#2E7D32; --lx-bad:#C62828;
  --bs-primary:#1E6FB8; --bs-primary-rgb:30,111,184;
  --bs-link-color:#1E6FB8; --bs-link-hover-color:#17568F;
}
body{ padding-top:72px; background:var(--lx-bg); color:var(--lx-ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
a{ color:var(--lx-primary); text-decoration:none; }
a:hover{ color:var(--lx-primary-dark); text-decoration:underline; }

/* Navbar */
.navbar.fixed-top{ background:#fff!important; box-shadow:0 1px 4px rgba(16,42,67,.08);
  border-bottom:1px solid var(--lx-border); }
.navbar .navbar-brand{ color:var(--lx-primary); font-weight:700; }
.navbar .nav-link{ color:var(--lx-ink); font-weight:500; }
.navbar .nav-link:hover,.navbar .nav-link:focus{ color:var(--lx-primary); }
.dropdown-item.active,.dropdown-item:active{ background:var(--lx-primary); }

/* Überschriften */
h1,h2,h3{ color:var(--lx-ink); font-weight:600; }
.container h2, .container-fluid h2{ font-size:1.6rem; margin:1.25rem 0 1rem;
  padding-left:.6rem; border-left:4px solid var(--lx-primary); }

/* Buttons */
.btn{ border-radius:.5rem; }
.btn-primary{ --bs-btn-bg:var(--lx-primary); --bs-btn-border-color:var(--lx-primary);
  --bs-btn-hover-bg:var(--lx-primary-dark); --bs-btn-hover-border-color:var(--lx-primary-dark);
  --bs-btn-active-bg:var(--lx-primary-dark); --bs-btn-active-border-color:var(--lx-primary-dark); }
.btn-outline-primary{ --bs-btn-color:var(--lx-primary); --bs-btn-border-color:var(--lx-primary);
  --bs-btn-hover-bg:var(--lx-primary); --bs-btn-hover-border-color:var(--lx-primary);
  --bs-btn-active-bg:var(--lx-primary-dark); }
.btn-mnu{ display:inline-block; margin:.25rem 0; }

/* Formularfelder (auch die vielen .eingabe-Felder) modern stylen */
.eingabe,
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not(.form-control):not(.btn),
select:not(.form-select):not(.form-control),
textarea:not(.form-control){
  padding:.45rem .7rem; border:1px solid var(--lx-border); border-radius:.5rem;
  background:#fff; color:var(--lx-ink); font-size:1rem; line-height:1.4; max-width:100%;
  transition:border-color .15s, box-shadow .15s; }
.eingabe:focus,
input:not(.form-control):focus, select:not(.form-select):focus, textarea:not(.form-control):focus{
  outline:none; border-color:var(--lx-primary); box-shadow:0 0 0 .2rem rgba(30,111,184,.20); }
label{ font-weight:500; color:var(--lx-muted); }

/* Rohe <table> (ohne Bootstrap-.table) hübsch machen */
.container table:not(.table), .container-fluid table:not(.table){
  width:100%; border-collapse:collapse; background:#fff; margin:1rem 0;
  box-shadow:0 1px 3px rgba(16,42,67,.06); }
.container table:not(.table) th{ background:var(--lx-primary-soft); color:var(--lx-primary-dark);
  text-align:left; font-weight:600; padding:.6rem .7rem; border-bottom:2px solid var(--lx-border); white-space:nowrap; }
.container table:not(.table) td{ padding:.5rem .7rem; border-bottom:1px solid var(--lx-border); vertical-align:middle; }
.container table:not(.table) tr:hover td{ background:#f3f8fd; }

/* Wrapper für breite Tabellen: horizontal scrollen auf Mobilgeräten */
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1rem 0; }
.table-scroll table{ margin:0!important; box-shadow:none; }

/* Footer */
.fusszeile, footer{ background:#fff; border-top:1px solid var(--lx-border); text-align:center;
  padding:1rem; margin-top:2rem; color:var(--lx-muted); }
.fusszeile a, footer a{ color:var(--lx-primary); }
