body { font-family: system-ui, -apple-system, "Hiragino Sans", "Yu Gothic UI", Meiryo, sans-serif; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.table-sm td, .table-sm th { vertical-align: middle; }
.step-badge { display: inline-flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--bs-primary); color: #fff; font-size: .85rem; font-weight: 600; margin-right: .4rem; }
.amount-big { font-size: 1.75rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.alert-flash { white-space: normal; }
.login-card { max-width: 380px; margin: 10vh auto 0; }
.table-scroll { max-height: 520px; overflow: auto; }
.table-scroll thead th { position: sticky; top: 0; background: var(--bs-body-bg); z-index: 1; }
