*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:        #0A0F1E;
  --panel:     #0F1729;
  --border:    #1E2D4A;
  --teal:      #3C7474;
  --teal-lit:  #4E9A9A;
  --blue:      #4A7FBF;
  --blue-lit:  #6FA0D8;
  --green:     #3D8B5E;
  --green-lit: #52B87A;
  --yellow:    #C9A84C;
  --yellow-lit:#E0C060;
  --red:       #C94B4B;
  --red-lit:   #E06060;
  --text:      #E2EAF4;
  --muted:     #7A8FA6;
  --dim:       #2A3A50;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ── Program type badges (shared across pages) ── */
.type-bachelor { background: rgba(74,127,191,0.18); color: var(--blue-lit);   border: 1px solid rgba(74,127,191,0.3); }
.type-master   { background: rgba(60,116,116,0.18); color: var(--teal-lit);   border: 1px solid rgba(60,116,116,0.3); }
.type-mba      { background: rgba(201,168,76,0.18); color: #D4A843;           border: 1px solid rgba(201,168,76,0.3); }
.type-phd      { background: rgba(123,94,167,0.18); color: #A07FCC;           border: 1px solid rgba(123,94,167,0.3); }
.type-other    { background: rgba(100,100,100,0.18); color: var(--muted);     border: 1px solid rgba(100,100,100,0.3); }

/* ── Spinner ── */
.spinner {
  width: 13px; height: 13px; border-radius: 50%;
  border: 2px solid var(--dim); border-top-color: var(--teal-lit);
  animation: spin 0.8s linear infinite; display: inline-block;
}
@keyframes spin { to { transform: rotate(360deg); } }
