/* Base reset + tokens */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --blue-900: #001133;
  --blue-800: #00205c;
  --blue-700: #00307f;
  --blue-600: #0042a3;
  --blue-500: #0c5ed6;
  --blue-400: #2e7deb;
  --blue-300: #6aa6f0;
  --blue-200: #9ec4f6;
  --blue-150: #bfd9f8;
  --blue-100: #d9e9fb;
  --blue-60:  #ebf3fd;
  --blue-40:  #f2f7fe;
  --blue-20:  #f8fbff;
  --white: #ffffff;

  --bg: var(--blue-20);
  --panel: var(--white);
  --border: var(--blue-150);
  --border-dark: var(--blue-300);
  --accent: var(--blue-500);
  --calc-bg: var(--blue-40);
  --calc-text: var(--blue-800);
  --input-bg: var(--white);
  --lbl: var(--blue-900);
  --font: Aptos, "Segoe UI", Arial, sans-serif;
  --mono: Aptos, "Segoe UI", Arial, sans-serif;
  --shadow: 0 1px 5px rgba(0, 48, 127, 0.10);
  --shadow-md: 0 5px 18px rgba(0, 48, 127, 0.16);
}

body {
  background: var(--bg);
  color: var(--blue-900);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.35;
  min-height: 100vh;
}

