/* ============================================================
   Kassenbuch — App-spezifische Ergaenzungen
   Basis: pd-module.css (Optik der Central-Module).
   Hier steht nur, was das Kassenbuch zusaetzlich braucht.
   ============================================================ */

/* ---------- Belegzeilen ---------- */
.kb-beleg {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
}

.kb-thumb {
    width: 64px;
    height: 64px;
    flex: none;
    border-radius: 8px;
    border: 1px solid #30363d;
    background: #21262d;
    object-fit: cover;
    cursor: pointer;
}

.kb-info { flex: 1; min-width: 0; }

.kb-betrag {
    font-weight: 600;
    font-size: .9rem;
    color: #e6edf3;
}

.kb-meta {
    font-size: .78rem;
    color: #8b949e;
    margin-top: .15rem;
    word-break: break-word;
}

.kb-actions {
    display: flex;
    gap: .4rem;
    margin-top: .6rem;
    flex-wrap: wrap;
}

/* Belegzeilen als Karten-Streifen im Modul-Stil */
.kb-row {
    background: rgba(13, 17, 23, .5);
    border: 1px solid rgba(106, 95, 145, .18);
    border-radius: 10px;
    padding: .75rem;
    margin-bottom: .5rem;
}

/* ---------- Summenzeilen ---------- */
.kb-sum {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .45rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
    font-size: .85rem;
}

.kb-sum.total {
    border-bottom: none;
    border-top: 1px solid rgba(106, 95, 145, .35);
    margin-top: .25rem;
    padding-top: .6rem;
    font-weight: 700;
    font-size: 1rem;
    color: var(--pd-accent);
}

.kb-sum span:last-child { white-space: nowrap; }

/* ---------- Meldungen ---------- */
.kb-err {
    font-size: .82rem;
    color: #f85149;
    min-height: 1.1rem;
    margin-top: .4rem;
}

.kb-hint {
    font-size: .82rem;
    color: #8b949e;
    margin: 0 0 .8rem;
}

.kb-toolbar { margin-bottom: 1rem; }

/* ---------- Handy ---------- */
@media (max-width: 640px) {
    header { padding: 1.2rem 1rem 1rem; }
    header h1 { font-size: 1.2rem; }
    header p { font-size: .78rem; }
    header .back {
        position: static;
        display: inline-block;
        margin-bottom: .6rem;
    }
    .pd-user-menu { position: static; margin-top: .7rem; }
    main { margin: 1rem auto; }
    .pd-card { padding: 1rem; }
    .tab-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .tab-nav::-webkit-scrollbar { display: none; }
    .tab-btn { flex: none; font-size: .8rem; padding: .5rem .7rem; }
    .kb-thumb { width: 54px; height: 54px; }
}
