/* ============================================================
   Kratu Learning Support Platform — brand stylesheet
   Palette sourced from Kratu Branding Guidelines (matches the
   screening platform): blues #04294B #063D70 #1975BA #2499E2 #1DC1FB
   greens #006A30 #288323 #359937 #42D400 #CAE406
   Typography: Source Serif 4 (headings) + Inter (UI)
   ============================================================ */
:root{
  --navy:#04294B; --navy-mid:#063D70; --blue-mid:#1975BA; --blue:#2499E2; --sky:#1DC1FB;
  --green-dark:#006A30; --green:#359937; --green-bright:#42D400; --lime:#CAE406;
  --paper:#f3f7fc; --surface:#ffffff; --line:#d7e3f0;
  /* Legacy token names reused by templates' inline styles — remapped to Kratu palette */
  --ink:#04294B; --ink2:#063D70; --ink3:#5d7189;
  --bg:#f3f7fc;
  --teal:#2499E2;  --tealbg:#e8f2fb;     /* primary interactive (brand blue) */
  --sage:#359937;  --sagebg:#edfae4;     /* on-track / mastered (brand green) */
  --amber:#1975BA; --amberbg:#e8f2fb;    /* in-progress (mid blue, on-brand) */
  --terra:#c0392b; --terrabg:#fbeae8;    /* clinical alert only (escalation) */
  --gold:#288323;                        /* gamification accent (forest green) */
}
body{ background:var(--paper); color:var(--navy); font-family:'Inter',system-ui,sans-serif; }
h1,h2,h3,h4,.display{ font-family:'Source Serif 4',Georgia,serif; letter-spacing:-0.2px; color:var(--navy); }

/* Navbar */
.kratu-navbar{ background:var(--navy); border-bottom:3px solid; border-image:linear-gradient(90deg,var(--green-bright),var(--blue),var(--sky)) 1; }
.kratu-navbar .navbar-brand{ color:#fff; }
.nav-logo{ height:46px; width:auto; object-fit:contain; }
.brand-sub{ color:rgba(255,255,255,.82); font-size:13px; font-weight:500; border-left:1px solid rgba(255,255,255,.3); padding-left:10px; }
.nav-user{ color:rgba(255,255,255,.75); font-size:13px; }

/* Cards + components */
.card{ border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 3px rgba(4,41,75,.05); }
.pill{ display:inline-block; padding:3px 10px; border-radius:99px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; }
.pill-teal{ background:var(--tealbg); color:var(--blue); }
.pill-sage{ background:var(--sagebg); color:var(--green-dark); }
.pill-amber{ background:var(--amberbg); color:var(--blue-mid); }
.pill-terra{ background:var(--terrabg); color:var(--terra); }
.btn-teal{ background:var(--blue); color:#fff; border:none; } .btn-teal:hover{ background:var(--navy-mid); color:#fff; }
.btn-light{ background:#fff; }
.stim{ font-family:'Lexend',sans-serif; }
.text-ink2{ color:var(--ink2); } .text-ink3{ color:var(--ink3); }
.skill-row{ border:1px solid var(--line); border-radius:8px; padding:10px 14px; margin-bottom:8px; }
.skill-row.current{ border-color:var(--blue); background:var(--tealbg); }
.skill-row.mastered{ background:var(--sagebg); }
.progress{ height:8px; background:#e3ecf5; }
.region-warn{ background:#fff7e6; color:#7a4e22; border-bottom:1px solid #f0d9a8; font-size:13px; padding:8px 16px; text-align:center; }
a{ color:var(--blue); }

/* Login */
.login-hero{ background:radial-gradient(120% 120% at 0% 0%, #07365f 0%, var(--navy) 55%); color:#fff; }
.login-card-bar{ height:5px; background:linear-gradient(90deg,var(--green-bright),var(--blue),var(--sky)); border-radius:12px 12px 0 0; }
