:root {
  --bg:#F7F4EE; --surface:#FFFFFF; --surface-alt:#EFEBE0; --row-hover:#FBFAF6;
  --border:#E4DFD3; --border-strong:#DCD6C6;
  --ink:#21231F; --ink-soft:#5B5D56; --ink-body:#3A3C36;
  --amber:#C98A3B; --green:#2F4B3C; --positive:#3A7A4E; --red:#C43B32;
  --range-tint:#E1EFDD;
  --panel-shadow:rgba(33,35,31,.12); --card-shadow:rgba(33,35,31,.08);
  --gradient:linear-gradient(135deg,#F3C6DC 0%,#D8ECD9 55%,#B9E0EA 100%);
  --font-serif:'Newsreader',serif;
  --font-sans:'Public Sans','Noto Sans Lao',sans-serif;
}
:root[data-theme=dark] {
  --bg:#1B1A17; --surface:#242320; --surface-alt:#2C2A24; --row-hover:#2A2822;
  --border:#3A382F; --border-strong:#46443A;
  --ink:#F2EFE6; --ink-soft:#ACA99E; --ink-body:#D9D6CB;
  --amber:#E3A75B; --green:#6FA382; --positive:#7BC190; --red:#F07B72;
  --range-tint:#33463A;
  --panel-shadow:rgba(0,0,0,.5); --card-shadow:rgba(0,0,0,.4);
}
