:root {
    --bs-primary: #1f3b57;
    --bs-primary-rgb: 31, 59, 87;
}
.btn-primary { --bs-btn-bg: #1f3b57; --bs-btn-border-color: #1f3b57; --bs-btn-hover-bg: #17304a; --bs-btn-hover-border-color: #17304a; }

.betrag { font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.betrag.soll { color: var(--bs-danger); }
.betrag.haben { color: var(--bs-success); }
.zweck { font-size: .85rem; color: var(--bs-secondary-color); word-break: break-word; }

/* Handy-Leiste unten */
.mobilleiste {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 1030;
    display: flex; justify-content: space-around; align-items: center;
    padding: .35rem 0 calc(.35rem + env(safe-area-inset-bottom));
}
.mobilleiste a { display: flex; flex-direction: column; align-items: center; font-size: .7rem; color: var(--bs-secondary-color); text-decoration: none; min-width: 3.5rem; }
.mobilleiste a i { font-size: 1.35rem; }
.mobilleiste a.aktiv { color: var(--bs-primary); }
.mobilleiste a.kamera {
    width: 3.6rem; height: 3.6rem; border-radius: 50%; margin-top: -1.6rem;
    background: var(--bs-primary); color: #fff; justify-content: center; box-shadow: 0 .25rem .75rem rgba(0,0,0,.25);
}
.mobilleiste a.kamera i { font-size: 1.6rem; }

/* Belegerfassung: großer Kamera-Knopf */
.kamerafeld {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem;
    border: 2px dashed var(--bs-border-color); border-radius: .75rem; padding: 1.5rem; cursor: pointer;
    background: var(--bs-tertiary-bg);
}
.kamerafeld i { font-size: 2.5rem; color: var(--bs-primary); }
.vorschau { display: flex; flex-wrap: wrap; gap: .5rem; }
.vorschau img { height: 5rem; border-radius: .375rem; border: 1px solid var(--bs-border-color); }

.listeneintrag { text-decoration: none; color: inherit; }
.listeneintrag:hover { background: var(--bs-tertiary-bg); }
