:root {
  --blue-900: #163A68;
  --blue-800: #1E4E8C;
  --blue-700: #2865A8;
  --blue-100: #EAF2FB;
  --blue-050: #F4F8FD;
  --ink: #1F2A37;
  --muted: #5B6777;
  --line: #D9E2EC;
  --surface: #FFFFFF;
  --background: #F6F8FB;
  --success: #2E7D5B;
  --warning: #9A6B13;
  --danger: #B84747;
  --shadow: 0 18px 45px rgba(22,58,104,.10);
  --radius: 18px;
  --ui: "Segoe UI", "Aptos", "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--ui); color: var(--ink); background: var(--background); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
