/* ==========================================================
   THEME REFRESH v2 — GRAPHITE EMERALD
   Family Super App / Finance

   Tujuan:
   - UI lebih netral dan nyaman dipandang lama;
   - dark mode mengikuti near-black + charcoal;
   - emerald hanya menjadi action/accent utama;
   - warna kategori akun tetap boleh punya identitas sendiri;
   - tidak mengubah JS, Supabase, transaksi, saldo, atau ledger.
========================================================== */

/* ----------------------------------------------------------
   LIGHT — soft neutral, bukan cream/coklat
---------------------------------------------------------- */
html[data-theme="light"] {
  --color-primary: #206F3B;
  --color-secondary: #24984A;

  --color-background: #F4F6F4;
  --color-text: #1C211E;

  --color-surface: #FFFFFF;
  --color-surface-soft: #EDF0ED;
  --color-surface-strong: #E4EAE5;

  --color-border: rgba(28, 33, 30, .10);
  --color-text-secondary: rgba(28, 33, 30, .58);

  --color-danger: #D65F5F;
  --color-success: #24984A;
  --color-white: #FFFFFF;

  --shadow-sm: 0 3px 14px rgba(20, 28, 23, .055);
  --shadow-md: 0 12px 30px rgba(20, 28, 23, .095);
}

html[data-theme="light"] body {
  background: #E5E8E5;
}

/* ----------------------------------------------------------
   DARK — near black + charcoal seperti referensi user
---------------------------------------------------------- */
html[data-theme="dark"] {
  /* Dark Palette V2 — Warm Charcoal + Sage.
     Surfaces are deliberately neutral; sage is reserved for identity/action. */
  --color-primary: #8FB7A0;
  --color-secondary: #79AAA3;

  --color-background: #0E1210;
  --color-text: #F3EFE7;

  --color-surface: #171C19;
  --color-surface-raised: #1D2420;
  --color-surface-soft: #232C27;
  --color-surface-strong: #2C3831;

  --color-border: rgba(243, 239, 231, .14);
  --color-border-strong: rgba(243, 239, 231, .22);
  --color-text-secondary: #B8C0BA;
  --color-text-muted: #919A94;

  --color-danger: #E0817B;
  --color-danger-soft: #3A2321;
  --color-success: #7BC892;
  --color-success-soft: #1D3326;
  --color-warning: #DDB56F;
  --color-warning-soft: #392D1B;
  --color-info: #87B2C0;
  --color-info-soft: #1D2F35;
  --color-white: #FFFFFF;

  /* Compatibility aliases for older components that predate Design System v1. */
  --card: var(--color-surface-raised);
  --border: var(--color-border);
  --muted: var(--color-text-secondary);
  --accent: var(--color-primary);
  --accent-strong: var(--color-primary);
  --danger: var(--color-danger);

  --shadow-sm: 0 8px 28px rgba(0, 0, 0, .28);
  --shadow-md: 0 16px 42px rgba(0, 0, 0, .38);
}

html[data-theme="dark"] body {
  background: #090C0A;
}

/* ----------------------------------------------------------
   GLOBAL POLISH
---------------------------------------------------------- */
html[data-theme="light"] .aplikasi,
html[data-theme="dark"] .aplikasi {
  background: var(--color-background);
}

html[data-theme="light"] ::selection,
html[data-theme="dark"] ::selection {
  background: rgba(55, 201, 97, .28);
}

/* Form focus: hilangkan halo orange/coklat lama. */
html[data-theme="light"] .input:focus,
html[data-theme="light"] .pilih:focus,
html[data-theme="light"] .area-teks:focus {
  border-color: var(--color-secondary);
  box-shadow: 0 0 0 3px rgba(36, 152, 74, .12);
}

html[data-theme="dark"] .input:focus,
html[data-theme="dark"] .pilih:focus,
html[data-theme="dark"] .area-teks:focus {
  border-color: var(--color-secondary);
  box-shadow: 0 0 0 3px rgba(143, 183, 160, .20);
}

/* Tombol utama: emerald sebagai action color. */
html[data-theme="light"] .tombol-utama {
  background: var(--color-secondary);
  color: #FFFFFF;
}

html[data-theme="dark"] .tombol-utama {
  background: var(--color-secondary);
  color: #0D1510;
}

html[data-theme="light"] .tombol-sekunder,
html[data-theme="dark"] .tombol-sekunder {
  background: var(--color-surface-soft);
  color: var(--color-primary);
}

/* Danger tetap merah, bukan ikut emerald. */
html[data-theme="light"] .tombol-bahaya {
  background: rgba(214, 95, 95, .10);
  color: var(--color-danger);
}

html[data-theme="dark"] .tombol-bahaya {
  background: rgba(239, 107, 107, .12);
  color: var(--color-danger);
}

/* Pemasukan tetap hijau. */
html[data-theme="light"] .transaksi-ikon.pemasukan,
html[data-theme="light"] .ringkasan-detail-ikon.pemasukan,
html[data-theme="light"] .item-kategori-detail.pemasukan .item-kategori-ikon,
html[data-theme="light"] .transaksi-detail-item.pemasukan .transaksi-detail-ikon {
  background: rgba(36, 152, 74, .10);
}

html[data-theme="dark"] .transaksi-ikon.pemasukan,
html[data-theme="dark"] .ringkasan-detail-ikon.pemasukan,
html[data-theme="dark"] .item-kategori-detail.pemasukan .item-kategori-ikon,
html[data-theme="dark"] .transaksi-detail-item.pemasukan .transaksi-detail-ikon {
  background: rgba(67, 200, 106, .12);
}

/* Overlay bottom sheet lebih netral. */
html[data-theme="light"] .lapisan {
  background: rgba(13, 18, 15, .32);
}

html[data-theme="dark"] .lapisan {
  background: rgba(0, 0, 0, .66);
}

/* Bottom navigation: charcoal / white clean. */
html[data-theme="light"] .navigasi-bawah {
  background: rgba(255, 255, 255, .97);
  border-top: 1px solid var(--color-border);
  box-shadow: 0 -5px 22px rgba(20, 28, 23, .06);
}

html[data-theme="dark"] .navigasi-bawah {
  background: color-mix(in srgb, var(--color-surface-raised) 96%, transparent);
  border-top: 1px solid var(--color-border);
  box-shadow: 0 -6px 24px rgba(0, 0, 0, .28);
}

/* Tombol detail wallet di Home mengikuti surface baru. */
html[data-theme="light"] .tombol-detail-dompet,
html[data-theme="dark"] .tombol-detail-dompet {
  background: var(--color-surface);
}

/* Card dibikin tenang; border/shadow hanya separator tipis. */
html[data-theme="dark"] .kartu-uang,
html[data-theme="dark"] .kartu-list,
html[data-theme="dark"] .detail-list,
html[data-theme="dark"] .dompet-detail-hero,
html[data-theme="dark"] .akun-form-section {
  border-color: var(--color-border);
  box-shadow: var(--shadow-sm);
}

/* Native control mengikuti mode agar menu select tidak menyilaukan. */
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  color-scheme: dark;
}

html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  color-scheme: light;
}

/* Scrollbar desktop yang lebih kalem. */
html[data-theme="dark"] {
  scrollbar-color: #39443D #0E1210;
}

html[data-theme="light"] {
  scrollbar-color: #BFC7C0 #F4F6F4;
}
