/* Small Ledger theme: ledger green, paper background, serif headings, tabular figures. Loaded after the base styles. */
:root {
  --bg: #f6f3ec; --panel: #fffdf8; --panel-2: #f3efe5; --line: #e4dccb; --ink: #1c1917; --ink-2: #57534e; --muted: #8a8378;
  --accent: #166534; --accent-ink: #ffffff; --accent-soft: #e3efe4; --ok: #15803d; --ok-soft: #dcfce7;
  --shadow: 0 1px 0 rgba(28, 25, 23, .04), 0 10px 26px -18px rgba(28, 25, 23, .35);
  --radius: 10px; --sidebar: 240px;
  --side-bg: #14532d; --side-ink: #e7efe8; --side-dim: #a7c4ad; --side-hover: #1a6337; --side-active: #fbf8f1;
  --serif: "Iowan Old Style", "Charter", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #11140f; --panel: #181c15; --panel-2: #141811; --line: #2b3326; --ink: #ece8df; --ink-2: #b9b3a6; --muted: #8b8577;
    --accent: #4ade80; --accent-ink: #0b1a10; --accent-soft: #19301f; --ok: #4ade80; --ok-soft: #122a1c;
    --side-bg: #0c2416; --side-ink: #dfe9e1; --side-dim: #8fb099; --side-hover: #123520; --side-active: #ece8df; }
}
body { font-variant-numeric: tabular-nums; }
h1 { font-family: var(--serif); font-weight: 700; font-size: 28px; letter-spacing: -.01em; }
.card h2, section.card > h2 { font-family: var(--serif); font-size: 17px; font-weight: 700; letter-spacing: 0; }
.kpi .v { font-family: var(--serif); font-size: 26px; }
.kpi { border-top: 3px solid var(--accent); }
/* Sidebar */
.side { background: var(--side-bg); border-right: 0; color: var(--side-ink); }
.side .brand strong { font-family: var(--serif); font-size: 19px; color: #fff; letter-spacing: 0; }
.side .brand img { width: 34px; height: 34px; border-radius: 9px; box-shadow: 0 0 0 1px rgba(255,255,255,.15); }
.side a.nav { color: var(--side-ink); font-weight: 500; }
.side a.nav:hover { background: var(--side-hover); color: #fff; }
.side a.nav.active { background: var(--side-active); color: var(--side-bg); font-weight: 650; }
.side .navhead { color: var(--side-dim); }
.side .foot .who strong { color: #fff; } .side .foot .who small { color: var(--side-dim); }
.side .foot button { background: transparent; border-color: rgba(255,255,255,.18); color: var(--side-ink); }
.side .foot button:hover { background: var(--side-hover); }
/* Buttons and tables */
button.primary, a.btn.primary, .btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
table.fin tr.total td { border-top: 2px solid var(--ink); border-bottom: 3px double var(--ink); }
table.fin tr.sec td { font-family: var(--serif); }
/* Sign-in page */
.auth { background: linear-gradient(160deg, #14532d 0%, #14532d 38%, var(--bg) 38%); }
.auth .box { border-radius: 14px; border-top: 4px solid var(--accent); }
.auth .brand strong { font-family: var(--serif); font-size: 22px; }
.auth h2 { font-family: var(--serif); font-size: 22px; }
.toast { background: #1c1917; color: #fbf8f1; }
@media (prefers-color-scheme: dark) { .auth { background: linear-gradient(160deg, #0c2416 0%, #0c2416 38%, var(--bg) 38%); } .toast { background: #ece8df; color: #11140f; } }
@media (max-width: 860px) { .side { background: var(--side-bg); border-top: 0; } }
