/* admin-ledger.css — boxes hug their tables. */
.admin-ledger-panes {
    display: grid;
    grid-template-columns: max-content max-content;
    gap: 1rem;
    justify-content: start;
    align-items: start;
    padding: 1rem 1.25rem 1.25rem;
}

.admin-ledger-pane {
    width: max-content;
    max-width: 100%;
    overflow: auto;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 0.45rem;
    padding: 0.85rem 0.9rem;
}

.admin-ledger-graphic {
    width: 18rem;
    min-height: 9rem;
}

.admin-ledger-empty {
    margin: 0.4rem 0 0;
    color: var(--muted, #94a3b8);
}

.admin-ledger-table {
    border-collapse: collapse;
    width: max-content;
    font-size: 0.85rem;
    color: #cbd5e1;
}

.admin-ledger-table th,
.admin-ledger-table td {
    padding: 0.35rem 0.7rem;
    text-align: left;
    white-space: nowrap;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.admin-ledger-table th {
    color: var(--muted, #94a3b8);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.admin-ledger-table .num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.admin-ledger-table tr.total td {
    font-weight: 700;
    border-top: 1px solid rgba(148, 163, 184, 0.45);
}

.admin-ledger-bill-name {
    margin: 0.2rem 0;
    font-weight: 700;
}

.admin-ledger-due {
    margin: 0.2rem 0 0.45rem;
    color: var(--muted, #94a3b8);
}

@media (max-width: 900px) {
    .admin-ledger-panes {
        grid-template-columns: max-content;
    }
}

#admin-title-heading.is-wait {
    color: #4ade80;
}
#admin-title-heading.is-wait::after {
    content: '';
    animation: ledger-dots 1.2s steps(4, end) infinite;
}
@keyframes ledger-dots {
    0% { content: ''; }
    25% { content: '.'; }
    50% { content: '..'; }
    75% { content: '...'; }
}
