/* ============================================================
   SISTEM TIPOGRAFI FinCount

   Ini BUKAN skala baru. Inti Dashboard sudah konsisten (10/700/.1em,
   12/600, 13/700, 18/800); file ini memberi NAMA pada yang sudah ada.
   Hanya dua yang benar-benar baru: --t-total (Total sebelumnya 13px,
   tak beda dari baris) dan --t-body (menaikkan ukuran setengah-piksel).

   Font efektif app = Segoe UI (bukan Inter) — diverifikasi getComputedStyle.
   ============================================================ */
:root{
  --t-label:10px;   --w-label:700;   --ls-label:.1em;    /* judul panel, label kartu (UPPER) */
  --t-caption:10px; --w-caption:400;                      /* meta baris: "tabungan", "60% dari limit" */
  --t-sub:11px;     --w-sub:400;                          /* sub kartu (.ds-sub, .ms) */
  --t-item:12px;    --w-item:600;                         /* nama baris (.dd-acc-name) */
  --t-num:13px;     --w-num:700;                          /* nilai baris (.dd-acc-val) */
  --t-body:14px;    --w-body:400;                         /* paragraf, sel tabel */
  --t-total:16px;   --w-total:800;  --ls-tight:-.02em;    /* angka kesimpulan (Total) */
  --t-figure:18px;  --w-figure:800;                       /* angka utama kartu (.ds-val, .mv) */
  --t-head:22px;    --w-head:700;                          /* sapaan (#dash-greet) */
}

/* ── SPACING ──────────────────────────────────────────────────
   Skala DITURUNKAN DARI DATA, bukan dikarang. Terukur:
   80% pemakaian spacing app sudah GENAP; hanya 45,6% kelipatan-4.
   Memaksakan kelipatan-4 murni akan mengubah >separuh app — terlalu ganas.
   Maka: langkah penuh + setengah-langkah. Ini mengakui bahasa yang sudah
   dipakai app (10px 232x, 6px 155x, 14px 121x), bukan melawannya.

   1px sengaja TIDAK ada di sini — itu border/hairline, bukan spacing.
   ───────────────────────────────────────────────────────────── */
:root{
  /* langkah penuh */
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px;
  /* setengah langkah */
  --sp-0h:2px; --sp-1h:6px; --sp-2h:10px; --sp-3h:14px; --sp-4h:18px; --sp-5h:22px;

  /* Padding komponen kanonik — dirakit dari langkah di atas.
     --pad-card = 16px 18px: itu nilai .ds-card Dashboard yang SUDAH bertoken
     dan sudah diverifikasi visual (PR #17). Bukan angka baru. */
  --pad-card:    var(--sp-4) var(--sp-4h);   /* 16px 18px — kartu ringkasan (.mc, .ds-card) */
  --pad-card-sm: var(--sp-2h) var(--sp-2h);  /* 10px 10px — varian HP (@768px) */
  --pad-panel:   var(--sp-4) var(--sp-4h);   /* 16px 18px — panel (.dd-card, .dc-card, .card) */
  --pad-row:     var(--sp-2h) var(--sp-1h);  /* 10px 6px  — baris daftar (.dd-acc-item) */
  --pad-chip:    var(--sp-1h) var(--sp-2h);  /* 6px 10px  — chip, badge */
  --pad-btn:     var(--sp-2) var(--sp-3h);   /* 8px 14px  — tombol */
  --pad-input:   var(--sp-2) var(--sp-3);    /* 8px 12px  — input, select */

  /* GARIS KONTEN. Inset horizontal TUNGGAL yang dipakai SEMUA blok tingkat-atas di
     dalam .apw — chrome (.hdr/.tabs) maupun kartu (.card/.mc/.ds-card/.dd-card/
     .rk-card). Dulu ada 5 garis berbeda (36/38/40/42/44 desktop): tangga 2px yang
     terasa "tidak terstruktur". 18px BUKAN nilai baru — --pad-card/--pad-panel sudah
     18px dan sudah dipakai Dashboard (halaman termatang); kita menariknya jadi
     satu-satunya. Ditegakkan oleh tools/inset-audit.js. */
  --inset: var(--sp-4h);   /* 18px — desktop */
}
@media (max-width: 768px) { :root { --inset: var(--sp-2h); } }   /* 10px — tablet & HP */

/* ── FONT ────────────────────────────────────────────────────
   --mono DIPAKAI 5 tempat (transaksi.css .dt-seq-pill/.tx-uuid-text/.tf-td-num,
   datatable.js:101 nomor urut, input.js:623 kurs) tapi TAK PERNAH DIDEFINISIKAN —
   `git log -S'--mono:'` kosong sepanjang sejarah repo. Ia lahir cacat di plan
   2026-06-03-transfer-admin-fee.md: plan-nya menulis pemakaian, tak pernah menulis
   definisinya.

   Akibatnya var(--mono) invalid at computed-value time. font-family itu properti
   TERWARISI, jadi ia mundur ke warisan — diverifikasi: render sebagai "Segoe UI",
   identik dengan elemen tanpa font-family sama sekali. Lima tempat yang MINTA
   monospace justru proporsional, diam-diam, sejak hari pertama. Persis kelas bug
   yang sama dengan var(--mono) di mana pun: token hilang tidak error, ia hanya
   pura-pura tak ada.

   Justru di 5 tempat itulah monospace paling penting: UUID, nomor urut, dan kurs —
   hal-hal yang dibaca per-karakter atau dibandingkan antarbaris. */
:root{
  --mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Consolas, monospace;
}

/* Aturan angka. WAJIB di setiap angka yang bisa berubah (count-up) — tanpa
   tabular, digit beda lebar dan angkanya menggeliat saat menghitung.
   "zero" 0 melarang nol bergaris secara eksplisit (fixes.css:672 membuktikan
   itu pernah jadi bug). */
.num{
  font-variant-numeric: tabular-nums;
  font-feature-settings: "zero" 0;
}
