.app-ledger { max-width: 60rem; }
.app-ledger { margin: 0 auto; }
.app-ledger { padding: 2.5rem 1.25rem 4rem; }
.app-ledger .ledger-head { display: flex; }
.app-ledger .ledger-head { align-items: flex-end; }
.app-ledger .ledger-head { justify-content: space-between; }
.app-ledger .ledger-head { flex-wrap: wrap; }
.app-ledger .ledger-head { gap: 1.25rem; }
.app-ledger .ledger-head { margin-bottom: 1.75rem; }
.app-ledger .ledger-eyebrow { font-size: .72rem; }
.app-ledger .ledger-eyebrow { font-weight: 700; }
.app-ledger .ledger-eyebrow { letter-spacing: .14em; }
.app-ledger .ledger-eyebrow { text-transform: uppercase; }
.app-ledger .ledger-eyebrow { color: var(--accent); }
.app-ledger h1 { margin: .35rem 0 0; }
.app-ledger h1 { font-size: 2.4rem; }
.app-ledger h1 { letter-spacing: -.02em; }
.app-ledger h1 { color: var(--ink); }
.app-ledger .ledger-tagline { margin: .6rem 0 0; }
.app-ledger .ledger-tagline { max-width: 34rem; }
.app-ledger .ledger-tagline { color: var(--muted); }
.app-ledger .ledger-tagline { font-size: .95rem; }
.app-ledger .ledger-tagline { line-height: 1.5; }
.app-ledger .ledger-tagline code { background: var(--code-bg); }
.app-ledger .ledger-tagline code { color: var(--code-ink); }
.app-ledger .ledger-tagline code { padding: .05rem .3rem; }
.app-ledger .ledger-tagline code { border-radius: 5px; }
.app-ledger .ledger-tagline code { font-size: .85em; }
.app-ledger .theme-switch { display: inline-flex; }
.app-ledger .theme-switch { align-items: center; }
.app-ledger .theme-switch { gap: .4rem; }
.app-ledger .theme-switch { font-size: .75rem; }
.app-ledger .theme-switch { font-weight: 600; }
.app-ledger .theme-switch { letter-spacing: .04em; }
.app-ledger .theme-switch { text-transform: uppercase; }
.app-ledger .theme-switch { color: var(--muted); }
.app-ledger .theme-switch button[data-wd-action] { border: 1px solid var(--line); }
.app-ledger .theme-switch button[data-wd-action] { background: var(--panel); }
.app-ledger .theme-switch button[data-wd-action] { color: var(--ink-soft); }
.app-ledger .theme-switch button[data-wd-action] { font-size: .8rem; }
.app-ledger .theme-switch button[data-wd-action] { font-weight: 600; }
.app-ledger .theme-switch button[data-wd-action] { padding: .4rem .8rem; }
.app-ledger .theme-switch button[data-wd-action] { border-radius: 999px; }
.app-ledger .theme-switch button[data-wd-action] { cursor: pointer; }
.app-ledger .theme-switch button[data-wd-action] { transition: color .14s ease, border-color .14s ease, background .14s ease; }
.app-ledger .theme-switch button[data-wd-action]:hover { color: var(--ink); }
.app-ledger .theme-switch button[data-wd-action]:hover { border-color: var(--accent); }
.app-ledger .stat-grid { display: grid; }
.app-ledger .stat-grid { grid-template-columns: repeat(4, 1fr); }
.app-ledger .stat-grid { gap: .85rem; }
.app-ledger .stat-grid { margin-bottom: 1.5rem; }
.app-ledger .stat { padding: 1rem 1.15rem; }
.app-ledger .stat { border: 1px solid var(--line-soft); }
.app-ledger .stat { border-radius: 14px; }
.app-ledger .stat { background: var(--panel); }
.app-ledger .stat-label { font-size: .72rem; }
.app-ledger .stat-label { font-weight: 600; }
.app-ledger .stat-label { letter-spacing: .06em; }
.app-ledger .stat-label { text-transform: uppercase; }
.app-ledger .stat-label { color: var(--muted); }
.app-ledger .stat-num { margin-top: .3rem; }
.app-ledger .stat-num { font-size: 1.5rem; }
.app-ledger .stat-num { font-weight: 700; }
.app-ledger .stat-num { letter-spacing: -.01em; }
.app-ledger .stat-num { color: var(--ink); }
.app-ledger .stat-num { font-variant-numeric: tabular-nums; }
.app-ledger .stat p, .app-ledger .stat-num p, .app-ledger .stat-label p { margin: 0; }
.app-ledger .ledger-controls { display: flex; }
.app-ledger .ledger-controls { align-items: center; }
.app-ledger .ledger-controls { justify-content: space-between; }
.app-ledger .ledger-controls { flex-wrap: wrap; }
.app-ledger .ledger-controls { gap: 1rem; }
.app-ledger .ledger-controls { margin-bottom: 1rem; }
.app-ledger .ledger-controls input[data-wd-bind-input] { flex: 1 1 16rem; }
.app-ledger .ledger-controls input[data-wd-bind-input] { border: 1px solid var(--line); }
.app-ledger .ledger-controls input[data-wd-bind-input] { background: var(--paper-2); }
.app-ledger .ledger-controls input[data-wd-bind-input] { color: var(--ink); }
.app-ledger .ledger-controls input[data-wd-bind-input] { font-size: .95rem; }
.app-ledger .ledger-controls input[data-wd-bind-input] { padding: .6rem .9rem; }
.app-ledger .ledger-controls input[data-wd-bind-input] { border-radius: 10px; }
.app-ledger .synced { font-size: .8rem; }
.app-ledger .synced { color: var(--muted); }
.app-ledger .synced { white-space: nowrap; }
.app-ledger .synced p { margin: 0; }
.app-ledger .ledger-table { padding: 0; }
.app-ledger .ledger-table { border: 1px solid var(--line-soft); }
.app-ledger .ledger-table { border-radius: 16px; }
.app-ledger .ledger-table { overflow: hidden; }
.app-ledger .ledger-table { background: var(--panel); }
.app-ledger .thead, .app-ledger .trow { display: grid; }
.app-ledger .thead, .app-ledger .trow { grid-template-columns: 9rem 1fr 9rem 7rem 4.5rem; }
.app-ledger .thead, .app-ledger .trow { align-items: center; }
.app-ledger .thead { border-bottom: 1px solid var(--line-soft); }
.app-ledger .thead { background: var(--paper-2); }
.app-ledger .th { padding: 0; }
.app-ledger .th button[data-wd-action] { width: 100%; }
.app-ledger .th button[data-wd-action] { text-align: left; }
.app-ledger .th button[data-wd-action] { border: 0; }
.app-ledger .th button[data-wd-action] { background: transparent; }
.app-ledger .th button[data-wd-action] { color: var(--muted); }
.app-ledger .th button[data-wd-action] { font-size: .72rem; }
.app-ledger .th button[data-wd-action] { font-weight: 700; }
.app-ledger .th button[data-wd-action] { letter-spacing: .06em; }
.app-ledger .th button[data-wd-action] { text-transform: uppercase; }
.app-ledger .th button[data-wd-action] { padding: .8rem .9rem; }
.app-ledger .th button[data-wd-action] { cursor: pointer; }
.app-ledger .th button[data-wd-action] { transition: color .14s ease; }
.app-ledger .th button[data-wd-action]:hover { color: var(--ink); }
.app-ledger .th.active button[data-wd-action] { color: var(--accent); }
.app-ledger .th.num button[data-wd-action] { text-align: right; }
.app-ledger .th.dir { display: flex; }
.app-ledger .th.dir { gap: .15rem; }
.app-ledger .th.dir { justify-content: center; }
.app-ledger .th.dir button[data-wd-action] { width: auto; }
.app-ledger .th.dir button[data-wd-action] { padding: .8rem .35rem; }
.app-ledger .th.dir button[data-wd-action] { font-size: .7rem; }
.app-ledger .trow { border-top: 1px solid var(--line-soft); }
.app-ledger .trow { font-size: .92rem; }
.app-ledger .trow:first-of-type { border-top: 0; }
.app-ledger .td { padding: .7rem .9rem; }
.app-ledger .td { color: var(--ink-soft); }
.app-ledger .td p { margin: 0; }
.app-ledger .td.muted { color: var(--muted); }
.app-ledger .td.muted { font-variant-numeric: tabular-nums; }
.app-ledger .td.strong { color: var(--ink); }
.app-ledger .td.strong { font-weight: 600; }
.app-ledger .td.num { text-align: right; }
.app-ledger .td.num { font-weight: 600; }
.app-ledger .td.num { color: var(--ink); }
.app-ledger .td.num { font-variant-numeric: tabular-nums; }
.app-ledger .pill { display: inline-block; }
.app-ledger .pill { font-size: .72rem; }
.app-ledger .pill { font-weight: 600; }
.app-ledger .pill { padding: .15rem .55rem; }
.app-ledger .pill { border-radius: 999px; }
.app-ledger .pill { background: var(--accent-soft); }
.app-ledger .pill { color: var(--accent-deep); }
.app-ledger .td.dir { text-align: center; }
.app-ledger .td.dir button[data-wd-action] { border: 1px solid transparent; }
.app-ledger .td.dir button[data-wd-action] { background: transparent; }
.app-ledger .td.dir button[data-wd-action] { color: var(--muted); }
.app-ledger .td.dir button[data-wd-action] { font-size: .8rem; }
.app-ledger .td.dir button[data-wd-action] { padding: .25rem .5rem; }
.app-ledger .td.dir button[data-wd-action] { border-radius: 8px; }
.app-ledger .td.dir button[data-wd-action] { cursor: pointer; }
.app-ledger .td.dir button[data-wd-action] { transition: color .14s ease, border-color .14s ease; }
.app-ledger .td.dir button[data-wd-action]:hover { color: var(--warm); }
.app-ledger .td.dir button[data-wd-action]:hover { border-color: var(--line); }
.app-ledger .trow.blank { display: block; }
.app-ledger .trow.blank { padding: 1.4rem .9rem; }
.app-ledger .trow.blank { color: var(--muted); }
.app-ledger .trow.blank { text-align: center; }
.app-ledger .ledger-foot { margin-top: 1.1rem; }
.app-ledger .ledger-foot { font-size: .85rem; }
.app-ledger .ledger-foot { color: var(--muted); }
.app-ledger .ledger-foot { text-align: center; }
.app-ledger .ledger-foot strong { color: var(--ink-soft); }
@media (max-width: 640px) { .app-ledger .stat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .app-ledger .thead, .app-ledger .trow { grid-template-columns: 1fr 5.5rem 3.5rem; } }
@media (max-width: 640px) { .app-ledger .th.cat, .app-ledger .td.cat { display: none; } }