/* Natives Ledger web view: a thin layer on Tabler. One accent (Tabler blue), money in tabular numerals. */
:root { --tl-ink: #1d273b; }
.navbar-brand a { font-weight: 700; letter-spacing: -.01em; }
.nav-link.active { font-weight: 600; }
td.n, th.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
th.n a.sort { flex-direction: row-reverse; }
.neg { color: var(--tblr-danger); }
.tl-scroll { max-height: calc(100vh - 18rem); overflow: auto; }
.tl-scroll thead th { position: sticky; top: 0; z-index: 2; background: var(--tblr-bg-surface-secondary); box-shadow: inset 0 -1px 0 var(--tblr-border-color); }
.trunc { display: inline-block; max-width: 28rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
tr.tot > * { font-weight: 600; border-top: 2px solid var(--tblr-border-color); background: var(--tblr-bg-surface-secondary); }
th a.sort { color: inherit; text-decoration: none; display: inline-flex; gap: .25rem; align-items: center; }
th a.sort .ti { font-size: 1rem; opacity: .35; }
th[aria-sort] a.sort .ti { opacity: 1; color: var(--tblr-primary); }
tbody th[scope=row] { font-weight: 400; }
.kpi .h1 { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.kpi-sub { font-size: .8125rem; }
.ageing { height: 1.25rem; border-radius: 4px; overflow: hidden; display: flex; background: var(--tblr-bg-surface-secondary); }
.ageing > span { display: block; height: 100%; min-width: 2px; }
.sw { display: inline-block; width: .75rem; height: .75rem; border-radius: 2px; margin-right: .5rem; }
.b0 { background: #c7d6ea; } .b1 { background: #94b2d9; } .b2 { background: #5f8fc9; }
.b3 { background: #2f6db5; } .b4 { background: #1d4f8c; } .b5 { background: #14325a; }
.table > tbody > tr > td.diff-ko { box-shadow: inset 0 0 0 9999px var(--tblr-red-lt); color: var(--tblr-red); font-weight: 600; }
.table > tbody > tr > td.diff-ok { box-shadow: inset 0 0 0 9999px var(--tblr-green-lt); color: var(--tblr-green); font-weight: 600; }
header.navbar .navbar-nav { align-items: center; }
.topbar-asof { display: flex; align-items: center; gap: .5rem; }
.topbar-asof label { margin: 0; white-space: nowrap; }
.login-card { max-width: 24rem; width: 100%; }
@media (max-width: 575.98px) { .tl-scroll { max-height: none; } .trunc { max-width: 14rem; } }
header.navbar .navbar-nav { height: auto; align-self: center; }
header.navbar .navbar-nav .btn { height: auto; }
header.navbar > .container-xl { align-items: center; justify-content: space-between; gap: .5rem; }
header.navbar .navbar-nav { flex: 0 0 auto; }
.page-header .page-title { overflow-wrap: anywhere; }
