:root {
  /* —— World Bank blues (primary palette) —— */
  --wb-deep:    #002244;  /* Hero surfaces, sidebar, headlines */
  --wb-navy:    #0A2D5C;  /* Secondary navy */
  --wb-blue:    #1E5FBF;  /* Interactive (links, buttons) */
  --wb-bright:  #2E7DD7;  /* Accent rules, active states */
  --wb-soft:    #E6EDF7;  /* Tinted page background */
  --wb-mist:    #F4F7FC;  /* Subtle surface (alt rows, fills) */

  /* —— Zambia flag (accent only — never used as fills) —— */
  --zm-green:   #198A00;
  --zm-red:     #DE2010;
  --zm-orange:  #F7941E;
  --zm-black:   #000000;  /* Excluded from app — kept for completeness */

  /* —— Status (semantic aliases) —— */
  --status-on:    var(--zm-green);
  --status-risk:  var(--zm-orange);
  --status-off:   var(--zm-red);

  /* —— Text —— */
  --ink:        #002244;
  --ink-2:      #3D5273;
  --ink-3:      #6B7C99;
  --ink-4:      #A0AEC4;

  /* —— Lines —— */
  --hairline:   #D8E1EE;
  --hairline-2: #BCCBE0;
}

body {
  background: var(--wb-soft);
  color: var(--ink);
  font-family: 'Barlow', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

h1, h2, h3 {
  font-family: 'Montserrat', sans-serif;
  letter-spacing: -0.02em;
  margin: 0;
}

a { color: var(--wb-blue); text-decoration: none; }
a:hover { text-decoration: underline; }

.mono { font-family: 'IBM Plex Mono', monospace; }
.num  { font-variant-numeric: tabular-nums; }
.label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.r { text-align: right; }
