html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
.text-vorschau {
  white-space: pre-wrap;
  font-family: inherit;
  font-size: .9rem;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: .25rem;
  padding: .5rem .75rem;
  margin: .5rem 0;
}

.bank-box { font-size: .9rem; }

/* Fahrten erfassen */
.erfassung .datum-gruppe { width: 12rem; flex-wrap: nowrap; }
.erfassung .mitglied { min-width: 14rem; }
.erfassung .zaehler { width: 7rem; }
.erfassung .satz { width: 3rem; }
.erfassung td[data-feld] { white-space: nowrap; }
.erfassung .status { min-width: 10rem; max-width: 18rem; white-space: normal; }
.satz-manuell { background-color: #fff3cd !important; }
.erfassung tbody tr:focus-within { background-color: #eef5ff; }

.mehrnutzung { color: #b02a37; font-weight: 600; }

.mitglied-liste { position: absolute; z-index: 1050; max-height: 20rem; overflow-y: auto; font-size: .9rem; }

/* Mitglied „Service“ (Reparatur, Blockieren) */
.service-badge { background: #c05621; color: #fff; }

/* Kleines App-Logo in der Menüleiste */
.marke-logo { width: 1.75rem; height: 1.75rem; border-radius: .4rem; flex: none; }

/* Erfassung je nach Abrechnungsart: Spalten nur mit Zähler / ohne Zähler, nur Tagessätze / nur nach Einheit. */
.erfassung.ohne-zaehler .nur-zaehler,
.erfassung:not(.ohne-zaehler) .nur-menge,
.erfassung.nach-einheit .nur-satz,
.erfassung:not(.nach-einheit) .nur-einheit { display: none; }
.erfassung .menge { width: 6rem; }

/* Menüleiste oben: Grün wie der Kopf am Handy, Menüpunkte als gut sichtbare Schaltflächen. */
.haupt-nav { background: #2f5d3a; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); }
.haupt-nav .navbar-brand { color: #fff; }
.haupt-nav .nav-link { color: rgba(255, 255, 255, .9); border-radius: .4rem; padding: .4rem .75rem; margin: .1rem .1rem; }
.haupt-nav .nav-link:hover, .haupt-nav .nav-link:focus { color: #fff; background: rgba(255, 255, 255, .15); }
.haupt-nav .nav-link.active, .haupt-nav .nav-link.show { color: #2f5d3a !important; background: #fff; }
.haupt-nav .dropdown-menu { border: 0; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
.haupt-nav .navbar-toggler { border-color: rgba(255, 255, 255, .5); }
@media (max-width: 991.98px) {
  .haupt-nav .navbar-collapse { padding: .5rem 0; }
}

/* Fußzeile (Impressum, Datenschutz, Lizenzen) – auch in _Mobil */
.fusszeile { text-align: center; font-size: .8rem; color: #6c757d; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
.fusszeile a { color: inherit; }

/* Preishinweis (Anmeldeseite, Antrag, Anleitung) */
.preis-hinweis { margin: 1rem 0; padding: .7rem 1rem; border-radius: .6rem; background: #e8f3ea; border: 1px solid #b9d9bf; color: #1f3d27; font-size: .9rem; text-align: center; }
