  :root{
    /* Africahied brand (new palette) */
    --afh-dark:#030712; --afh-ink:#020617; --afh-ink-soft:#111827;
    --afh-slate:#374151; --afh-muted:#6B7280; --afh-white:#FFFFFF;
    --afh-bg-soft:#F7FAF7; --afh-border:#E5E7EB; --afh-border-strong:#DADDE1;
    --afh-gold:#FFB707; --afh-gold-hover:#E0A000; --afh-green:#0D5F43;
    --afh-green-hover:#267256; --afh-mint:#E6EFEC; --afh-blue:#3B82F6; --afh-brown:#7C2D12;
    /* status semantics (kept distinct from CTA gold) */
    --st-appr-bg:#E6EFEC; --st-appr-fg:#0D5F43; --st-appr-bd:#BFDccD;
    --st-rev-bg:#FBF3E0;  --st-rev-fg:#8A5A12;  --st-rev-bd:#EBD9AE;
    --st-draft-bg:#F1F3F5;--st-draft-fg:#6B7280;--st-draft-bd:#E1E5EA;
    --nav-inactive:#4B5563;
    --shadow-card:0 1px 2px rgba(15,23,42,.04), 0 18px 40px -32px rgba(3,7,18,.35);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0; background:var(--afh-white); color:var(--afh-slate);
    font-family:"Inter",system-ui,-apple-system,sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased}
  button{font-family:inherit; cursor:pointer}
  h1,h2,h3,h4{font-family:"Space Grotesk",sans-serif; color:var(--afh-ink); margin:0}
  ::selection{background:#FFE6AE}
  .wrap{max-width:1160px; margin:0 auto; padding:0 24px 80px}

  /* ===== HEADER (Africahied chrome) ===== */
  .topbar{position:sticky; top:0; z-index:40; background:var(--afh-white); border-bottom:1px solid var(--afh-border)}
  .topbar-in{max-width:1160px; margin:0 auto; height:72px; padding:0 24px; display:flex; align-items:center; gap:20px}
  .brand{display:flex; align-items:baseline; gap:9px}
  .brand .word{font-family:"Space Grotesk"; font-weight:700; font-size:1.32rem; letter-spacing:.02em; color:var(--afh-ink-soft)}
  .brand .sub{font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--afh-green)}
  .nav{margin:0 auto; display:flex; gap:4px; overflow-x:auto; max-width:100%; scrollbar-width:none; -webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav button{white-space:nowrap; flex:0 0 auto}
  .nav button{border:0; background:transparent; color:var(--nav-inactive); font-weight:600; font-size:.9rem; padding:9px 15px; border-radius:9px; transition:.15s; position:relative}
  .nav button:hover{color:var(--afh-ink-soft)}
  .nav button[aria-current="true"]{color:var(--afh-ink-soft)}
  .nav button[aria-current="true"]::after{content:""; position:absolute; left:15px; right:15px; bottom:1px; height:2px; background:var(--afh-gold); border-radius:2px}
  .nav button:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .platform-btn{border:1px solid var(--afh-border-strong); background:var(--afh-white); color:var(--afh-ink-soft); font-weight:600; font-size:.88rem; padding:10px 17px; border-radius:9px; transition:.15s; white-space:nowrap}
  .platform-btn:hover{border-color:var(--afh-green); color:var(--afh-green)}
  @media(max-width:860px){ .platform-btn{display:none} }
  @media(max-width:680px){
    .topbar-in{gap:12px; padding:0 16px}
    .nav{margin:0 0 0 auto; gap:2px} .nav button{padding:9px 10px; font-size:.82rem}
    .brand .sub{display:none} .brand .word{font-size:1.15rem}
  }

  .view{display:none} .view.on{display:block; animation:fade .35s ease}
  @keyframes fade{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
  .eyebrow{font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--afh-green); display:inline-flex; align-items:center; gap:10px}
  .eyebrow::before{content:""; width:24px; height:2px; background:var(--afh-gold)}

  /* ===== HERO (repositioned) ===== */
  .hero{background:var(--afh-dark); color:#fff; border-radius:0 0 22px 22px; margin-bottom:6px; position:relative; overflow:hidden}
  .hero::after{content:""; position:absolute; right:-120px; top:-80px; width:360px; height:360px; border-radius:50%;
    background:radial-gradient(circle at 40% 40%, rgba(255,183,7,.16), transparent 62%)}
  .hero-in{max-width:1160px; margin:0 auto; padding:48px 24px 40px; position:relative; z-index:1}
  .hero .eyebrow{color:var(--afh-gold)}
  .hero .eyebrow::before{background:var(--afh-gold)}
  .hero h1{color:#fff; font-weight:600; font-size:clamp(1.95rem,4.2vw,3rem); line-height:1.08; letter-spacing:-.015em; margin:16px 0 14px; max-width:20ch}
  .hero h1 .hl{color:var(--afh-gold)}
  .hero .lede{color:#CBD5E1; max-width:64ch; font-size:1.06rem; margin:0}
  .hero-strip{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:22px}
  .hero-strip span{font-size:.86rem; color:#E5E7EB; display:flex; align-items:center; gap:8px}
  .hero-strip .dot{width:6px; height:6px; border-radius:50%; background:var(--afh-green)}
  .hero-strip .dot.g{background:var(--afh-gold)}

  /* ===== INTENT STEP ===== */
  .section-head{margin:34px 0 4px}
  .section-head h2{font-size:1.35rem; font-weight:600}
  .section-head p{margin:6px 0 0; color:var(--afh-muted); font-size:.95rem; max-width:70ch}
  .intent-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:18px 0 4px}
  @media(max-width:900px){.intent-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.intent-grid{grid-template-columns:1fr}}
  .intent{text-align:left; background:var(--afh-white); border:1px solid var(--afh-border); border-radius:14px; padding:15px 15px 16px; transition:.16s; display:flex; flex-direction:column; gap:8px; min-height:118px}
  .intent:hover{border-color:var(--afh-green); box-shadow:var(--shadow-card); transform:translateY(-2px)}
  .intent[aria-pressed="true"]{border-color:var(--afh-green); box-shadow:0 0 0 2px rgba(13,95,67,.14), var(--shadow-card); background:var(--afh-bg-soft)}
  .intent:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .intent .ic{width:30px; height:30px; border-radius:8px; background:var(--afh-mint); color:var(--afh-green); display:grid; place-items:center; font-size:1rem}
  .intent[aria-pressed="true"] .ic{background:var(--afh-green); color:#fff}
  .intent h4{font-size:.95rem; font-weight:600; line-height:1.25}
  .intent p{margin:0; font-size:.78rem; color:var(--afh-muted); line-height:1.4}

  /* ===== PROMPT BOX ===== */
  .promptwrap{margin-top:18px}
  .promptbox{background:var(--afh-white); border:1px solid var(--afh-border); border-radius:18px; padding:18px; box-shadow:var(--shadow-card)}
  .promptbox textarea{width:100%; border:0; resize:none; font-family:inherit; font-size:1.04rem; color:var(--afh-ink); line-height:1.5; min-height:52px; outline:0; background:transparent}
  .promptbox textarea::placeholder{color:#9AA5B1}
  .chips{display:flex; flex-wrap:wrap; gap:7px; margin-top:6px}
  .chip{font-size:.8rem; font-weight:600; padding:7px 13px; border-radius:999px; border:1px solid var(--afh-border); background:var(--afh-white); color:var(--afh-green); transition:.15s}
  .chip:hover{background:var(--afh-mint); border-color:#C7E0D6}
  .chip:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .controls{display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; align-items:flex-end}
  .ctl{display:flex; flex-direction:column; gap:5px}
  .ctl label{font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--afh-muted); font-weight:600}
  .ctl select{font-family:inherit; font-size:.86rem; padding:9px 12px; border-radius:9px; border:1px solid var(--afh-border); background:#fff; color:var(--afh-ink); cursor:pointer}
  .ctl select:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .gen{margin-left:auto; background:var(--afh-gold); color:var(--afh-dark); font-weight:700; font-size:.94rem; padding:12px 24px; border-radius:11px; border:0; transition:.15s; box-shadow:0 10px 22px -12px rgba(255,183,7,.7)}
  .gen:hover{background:var(--afh-gold-hover)}
  .gen:focus-visible{outline:2px solid var(--afh-dark); outline-offset:2px}
  @media(max-width:620px){.gen{margin-left:0; width:100%}}
  .govnote{margin-top:14px; font-size:.82rem; color:var(--afh-slate); line-height:1.55; background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:12px; padding:13px 16px}
  .govnote b{color:var(--afh-ink)}

  /* ===== RESULTS ===== */
  .results{margin-top:30px; display:none}
  .results.show{display:block; animation:fade .4s ease}
  .intent-ribbon{display:none; align-items:center; gap:10px; background:var(--afh-mint); border:1px solid #C7E0D6; border-radius:11px; padding:10px 14px; font-size:.85rem; color:var(--afh-green); font-weight:600; margin-bottom:16px}
  .intent-ribbon.show{display:flex}
  .intent-ribbon .x{margin-left:auto; border:0; background:transparent; color:var(--afh-green); font-weight:600; font-size:.8rem; cursor:pointer; text-decoration:underline}
  .res-head{border-bottom:1px solid var(--afh-border); padding-bottom:18px}
  .res-head .goal-tag{font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--afh-green); font-weight:600}
  .res-head h2{font-weight:600; font-size:1.75rem; margin:7px 0 8px; line-height:1.12}
  .res-head .rmeta{display:flex; flex-wrap:wrap; gap:6px 18px; font-size:.85rem; color:var(--afh-muted)} .res-head .rmeta b{color:var(--afh-ink)}
  .res-head .outcome{font-size:.95rem; color:var(--afh-slate); max-width:70ch; margin:10px 0 0; line-height:1.55}

  /* WHY THIS PATHWAY panel */
  .why{margin:18px 0 6px; background:var(--afh-white); border:1px solid var(--afh-border); border-left:3px solid var(--afh-green); border-radius:12px; padding:16px 18px}
  .why h3{font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--afh-green); font-weight:600; margin-bottom:10px; display:flex; align-items:center; gap:8px}
  .why ul{margin:0; padding:0; list-style:none; display:grid; gap:9px}
  .why li{font-size:.88rem; color:var(--afh-slate); line-height:1.5; padding-left:22px; position:relative}
  .why li::before{content:""; position:absolute; left:2px; top:7px; width:8px; height:8px; border-radius:50%; background:var(--afh-gold)}
  .why li b{color:var(--afh-ink)}
  .why .split{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
  .split-pill{font-size:.76rem; font-weight:600; padding:5px 11px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; border:1px solid}
  .split-pill.a{background:var(--st-appr-bg); color:var(--st-appr-fg); border-color:var(--st-appr-bd)}
  .split-pill.r{background:var(--st-rev-bg); color:var(--st-rev-fg); border-color:var(--st-rev-bd)}
  .split-pill.d{background:var(--st-draft-bg); color:var(--st-draft-fg); border-color:var(--st-draft-bd)}

  .refine{display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 4px; align-items:center}
  .refine .rl{font-size:.74rem; font-weight:600; color:var(--afh-muted); margin-right:2px}
  .rchip{font-size:.78rem; font-weight:600; padding:7px 12px; border-radius:999px; border:1px solid var(--afh-border); background:#fff; color:var(--afh-slate); transition:.15s}
  .rchip:hover{background:var(--afh-bg-soft)}
  .rchip[aria-pressed="true"]{background:var(--afh-green); color:#fff; border-color:var(--afh-green)}
  .rchip:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}

  .resgrid{display:grid; grid-template-columns:1fr 320px; gap:26px; margin-top:18px; align-items:start}
  @media(max-width:900px){.resgrid{grid-template-columns:1fr}}

  .govbanner{display:none; align-items:flex-start; gap:11px; background:var(--st-rev-bg); border:1px solid var(--st-rev-bd); border-radius:12px; padding:12px 15px; margin-bottom:16px}
  .govbanner.show{display:flex}
  .govbanner .gi{font-size:1rem; flex:0 0 auto; color:var(--st-rev-fg)}
  .govbanner p{margin:0; font-size:.83rem; color:#6E4E12; line-height:1.5} .govbanner b{color:#563C0C}

  /* roadmap */
  .road{position:relative; padding-left:34px}
  .road::before{content:""; position:absolute; left:13px; top:14px; bottom:46px; width:2px; background:linear-gradient(var(--afh-green),var(--afh-gold))}
  .rstep{position:relative; background:#fff; border:1px solid var(--afh-border); border-radius:14px; padding:16px 18px; margin-bottom:14px; cursor:pointer; transition:.16s; text-align:left; width:100%; display:block}
  .rstep:hover{box-shadow:var(--shadow-card); border-color:#D0DBD3}
  .rstep:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .rstep .node{position:absolute; left:-34px; top:18px; width:28px; height:28px; border-radius:50%; background:#fff; border:2px solid var(--afh-green); display:grid; place-items:center; font-family:"Space Grotesk"; font-weight:600; font-size:.82rem; color:var(--afh-green)}
  .rstep.s-review .node{border-color:var(--st-rev-fg); color:var(--st-rev-fg)}
  .rstep.s-draft .node{border-color:var(--afh-muted); color:var(--afh-muted)}
  .rstep .rtop{display:flex; justify-content:space-between; align-items:flex-start; gap:10px}
  .rstep h4{font-weight:600; font-size:1.06rem; line-height:1.22}
  .reqtag{font-size:.64rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; border-radius:999px; flex:0 0 auto}
  .reqtag.req{background:var(--afh-mint); color:var(--afh-green)} .reqtag.opt{background:#F1F3F5; color:#6E7B89}
  .rstep .rmeta2{display:flex; flex-wrap:wrap; gap:5px 14px; font-size:.78rem; color:var(--afh-muted); margin-top:8px} .rstep .rmeta2 b{color:var(--afh-ink); font-weight:600}

  /* trust strip (signature element) */
  .trust{margin-top:12px; border-top:1px dashed var(--afh-border); padding-top:11px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 18px}
  @media(max-width:560px){.trust{grid-template-columns:1fr}}
  .trust .tr{display:flex; gap:7px; font-size:.76rem; line-height:1.35}
  .trust .tk{color:var(--afh-muted); flex:0 0 78px; font-weight:600}
  .trust .tv{color:var(--afh-slate)} .trust .tv b{color:var(--afh-ink)}
  .status{margin-top:11px; display:flex; flex-wrap:wrap; gap:7px; align-items:center}
  .stbadge{font-size:.72rem; font-weight:700; padding:4px 10px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; border:1px solid}
  .stbadge::before{content:""; width:7px; height:7px; border-radius:50%}
  .stbadge.approved{background:var(--st-appr-bg); color:var(--st-appr-fg); border-color:var(--st-appr-bd)} .stbadge.approved::before{background:var(--st-appr-fg)}
  .stbadge.review{background:var(--st-rev-bg); color:var(--st-rev-fg); border-color:var(--st-rev-bd)} .stbadge.review::before{background:var(--st-rev-fg)}
  .stbadge.draft{background:var(--st-draft-bg); color:var(--st-draft-fg); border-color:var(--st-draft-bd)} .stbadge.draft::before{background:var(--afh-muted)}
  .credflag{font-size:.72rem; font-weight:600; color:var(--afh-muted)}
  .credflag.ok{color:var(--afh-green)}

  /* learner outcomes */
  .outs{margin-top:11px; display:flex; flex-wrap:wrap; gap:6px}
  .outtag{font-size:.71rem; font-weight:600; color:var(--afh-slate); background:#fff; border:1px solid var(--afh-border); border-radius:7px; padding:4px 9px; display:inline-flex; align-items:center; gap:6px}
  .outtag .oi{color:var(--afh-green); font-size:.82rem}

  .prog{font-size:.72rem; font-weight:600; color:var(--afh-muted); margin-top:11px; display:flex; align-items:center; gap:6px}
  .prog .pd{width:8px;height:8px;border-radius:50%;background:#EDF0F2; border:1px solid #CBD4DD}
  .prog.done .pd{background:var(--afh-green); border-color:var(--afh-green)}
  .prog.inprog .pd{background:var(--afh-gold); border-color:var(--afh-gold)}

  /* capstone / badge node */
  .badge-node{position:relative; background:linear-gradient(120deg,#FFFDF6,#FFF6E0); border:1px solid #F0D384; border-radius:14px; padding:17px 19px; margin-top:4px}
  .badge-node .node{position:absolute; left:-34px; top:18px; width:28px; height:28px; border-radius:50%; background:radial-gradient(circle at 35% 30%,var(--afh-gold),var(--afh-gold-hover) 75%); color:var(--afh-dark); display:grid; place-items:center; font-size:.92rem; box-shadow:inset 0 -3px 7px rgba(120,80,8,.4)}
  .badge-node h4{font-weight:600; font-size:1.12rem; margin-bottom:4px}
  .badge-node p{margin:0; font-size:.84rem; color:var(--afh-slate)}
  .badge-node .btrust{margin-top:11px; font-size:.78rem; color:#7A5A12; line-height:1.5}
  .badge-node .btrust b{color:#563C0C}

  /* what you finish with */
  .finish{margin-top:16px; background:var(--afh-dark); color:#fff; border-radius:16px; padding:20px 22px}
  .finish h3{color:#fff; font-size:1.05rem; font-weight:600; margin-bottom:4px}
  .finish p{margin:0 0 14px; font-size:.85rem; color:#CBD5E1}
  .finish ul{margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
  @media(max-width:560px){.finish ul{grid-template-columns:1fr}}
  .finish li{font-size:.87rem; color:#E5E7EB; display:flex; align-items:flex-start; gap:9px}
  .finish li .fk{color:var(--afh-gold); font-weight:700; flex:0 0 auto}

  /* sidebar */
  .side{position:sticky; top:88px; align-self:start; display:flex; flex-direction:column; gap:16px}
  .sidecard{background:#fff; border:1px solid var(--afh-border); border-radius:16px; padding:18px}
  .sidecard h3{font-weight:600; font-size:1.02rem; margin-bottom:13px}
  .stat{display:flex; justify-content:space-between; align-items:baseline; padding:8px 0; border-bottom:1px solid var(--afh-border); font-size:.86rem}
  .stat:last-of-type{border-bottom:0}
  .stat .sl{color:var(--afh-muted)} .stat .sv{font-weight:600; color:var(--afh-ink)}
  .stat .sv.big{font-family:"Space Grotesk"; font-size:1.15rem; color:var(--afh-green)}
  .creditbar{height:8px; background:#EDF0F2; border-radius:5px; overflow:hidden; margin:6px 0 2px}
  .creditbar i{display:block; height:100%; background:var(--afh-green); border-radius:5px; transition:width .5s ease}

  /* transparent readiness */
  .readycard h3{display:flex; align-items:baseline; justify-content:space-between}
  .readycard h3 .rscore{font-family:"Space Grotesk"; font-size:1.4rem; color:var(--afh-green)}
  .rfactors{display:grid; gap:9px; margin-top:6px}
  .rfactor{font-size:.8rem}
  .rfactor .rl{display:flex; justify-content:space-between; color:var(--afh-slate); margin-bottom:4px}
  .rfactor .rl b{color:var(--afh-ink); font-weight:600}
  .rtrack{height:6px; background:#EDF0F2; border-radius:4px; overflow:hidden}
  .rtrack i{display:block; height:100%; border-radius:4px; background:var(--afh-green); transition:width .5s ease}
  .rtrack i.mid{background:var(--afh-gold)}
  .rtrack i.low{background:#C98A2C}
  .raise{margin-top:13px; background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:10px; padding:11px 13px; font-size:.78rem; color:var(--afh-slate); line-height:1.5}
  .raise b{color:var(--afh-ink)}

  .underwarn{margin-top:13px; background:var(--st-rev-bg); border:1px solid var(--st-rev-bd); border-radius:10px; padding:10px 13px; font-size:.78rem; color:#6E4E12; display:none}
  .underwarn.show{display:block}
  .sideacts{margin-top:14px; display:flex; flex-direction:column; gap:8px}
  .sideacts button{font-weight:600; font-size:.88rem; padding:11px; border-radius:10px; border:1px solid; transition:.15s}
  .sa-go{background:var(--afh-gold); color:var(--afh-dark); border-color:var(--afh-gold)} .sa-go:hover{background:var(--afh-gold-hover)}
  .sa-save{background:#fff; color:var(--afh-green); border-color:#C7E0D6} .sa-save:hover{background:var(--afh-mint)}
  .sa-regen{background:#fff; color:var(--afh-muted); border-color:var(--afh-border)} .sa-regen:hover{color:var(--afh-ink)}
  .sideacts button:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .approved-toggle{display:flex; align-items:center; gap:9px; margin-top:12px; padding:11px 13px; background:#fff; border:1px solid var(--afh-border); border-radius:10px; cursor:pointer; font-size:.82rem; font-weight:600; color:var(--afh-ink)}
  .approved-toggle .tg{width:38px; height:22px; border-radius:999px; background:#CBD4DD; position:relative; transition:.2s; flex:0 0 auto}
  .approved-toggle .tg::after{content:""; position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:.2s}
  .approved-toggle[aria-pressed="true"] .tg{background:var(--afh-green)}
  .approved-toggle[aria-pressed="true"] .tg::after{transform:translateX(16px)}
  .approved-toggle:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}

  /* ===== MARKETPLACE ===== */
  .mp-filters{display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 18px}
  .fchip{font-size:.8rem; font-weight:600; padding:7px 13px; border-radius:999px; border:1px solid var(--afh-border); background:#fff; color:var(--afh-muted); transition:.15s}
  .fchip[aria-pressed="true"]{background:var(--afh-ink-soft); color:#fff; border-color:var(--afh-ink-soft)}
  .fchip:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .mp-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  @media(max-width:900px){.mp-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.mp-grid{grid-template-columns:1fr}}
  .mcard{background:#fff; border:1px solid var(--afh-border); border-radius:15px; padding:17px; cursor:pointer; transition:.16s; display:flex; flex-direction:column; gap:9px; text-align:left}
  .mcard:hover{box-shadow:var(--shadow-card); transform:translateY(-2px); border-color:#D0DBD3}
  .mcard:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .mcard .marea{font-size:.66rem; letter-spacing:.05em; text-transform:uppercase; font-weight:700; color:var(--afh-green)}
  .mcard h3{font-weight:600; font-size:1.08rem; line-height:1.2}
  .mcard .mmeta{display:flex; flex-wrap:wrap; gap:4px 12px; font-size:.76rem; color:var(--afh-muted)} .mcard .mmeta b{color:var(--afh-ink)}
  .mcard .mtrust{border-top:1px dashed var(--afh-border); padding-top:9px; margin-top:2px; display:grid; gap:4px}
  .mcard .mtrust .tr{font-size:.74rem; display:flex; gap:6px} .mcard .mtrust .tk{color:var(--afh-muted); font-weight:600; flex:0 0 62px} .mcard .mtrust .tv{color:var(--afh-slate)} .mcard .mtrust .tv b{color:var(--afh-ink)}
  .mcard .mfoot{margin-top:auto; padding-top:6px; display:flex; align-items:center; justify-content:space-between; gap:8px}
  .earned-pill{font-size:.66rem; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--afh-green); color:#fff; display:inline-flex; align-items:center; gap:5px}

  /* ===== INSTITUTION DASHBOARD ===== */
  .inst-top{display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; justify-content:space-between; margin-top:26px}
  .inst-top .sel{display:flex; flex-direction:column; gap:5px}
  .inst-top label{font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--afh-muted); font-weight:600}
  .inst-top select{font-family:inherit; font-size:.9rem; padding:10px 13px; border-radius:10px; border:1px solid var(--afh-border); background:#fff; color:var(--afh-ink); cursor:pointer; min-width:280px}
  .export-btn{background:var(--afh-gold); color:var(--afh-dark); font-weight:700; font-size:.88rem; padding:11px 18px; border-radius:10px; border:0; transition:.15s; display:inline-flex; align-items:center; gap:8px}
  .export-btn:hover{background:var(--afh-gold-hover)}
  .export-btn:focus-visible{outline:2px solid var(--afh-dark); outline-offset:2px}
  .kpis{display:grid; grid-template-columns:repeat(5,1fr); gap:13px; margin:20px 0 6px}
  @media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.kpis{grid-template-columns:1fr}}
  .kpi{background:#fff; border:1px solid var(--afh-border); border-radius:14px; padding:16px}
  .kpi .kv{font-family:"Space Grotesk"; font-weight:700; font-size:1.7rem; color:var(--afh-ink)}
  .kpi .kv.g{color:var(--afh-green)}
  .kpi .kl{font-size:.76rem; color:var(--afh-muted); margin-top:3px}
  .kpi .kd{font-size:.72rem; color:var(--afh-green); margin-top:6px; font-weight:600}

  .panelrow{display:grid; grid-template-columns:1fr 320px; gap:20px; margin-top:8px; align-items:start}
  @media(max-width:900px){.panelrow{grid-template-columns:1fr}}
  .tablecard{background:#fff; border:1px solid var(--afh-border); border-radius:16px; padding:6px 6px 10px; overflow:hidden}
  .tablecard .tch{padding:14px 16px 6px; display:flex; align-items:center; justify-content:space-between}
  .tablecard .tch h3{font-size:1rem; font-weight:600}
  .tablecard .tch span{font-size:.78rem; color:var(--afh-muted)}
  table{width:100%; border-collapse:collapse; font-size:.83rem}
  thead th{text-align:left; font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; color:var(--afh-muted); font-weight:700; padding:10px 14px; border-bottom:1px solid var(--afh-border)}
  tbody td{padding:12px 14px; border-bottom:1px solid #F1F3F5; color:var(--afh-slate); vertical-align:middle}
  tbody tr:last-child td{border-bottom:0}
  tbody tr:hover{background:var(--afh-bg-soft)}
  td .ln{font-weight:600; color:var(--afh-ink)}
  .mini-track{height:6px; width:80px; background:#EDF0F2; border-radius:4px; overflow:hidden; display:inline-block; vertical-align:middle; margin-right:8px}
  .mini-track i{display:block; height:100%; background:var(--afh-green); border-radius:4px}
  .credstat{font-size:.72rem; font-weight:700; padding:3px 9px; border-radius:999px; border:1px solid; display:inline-block}
  .credstat.issued{background:var(--st-appr-bg); color:var(--st-appr-fg); border-color:var(--st-appr-bd)}
  .credstat.pending{background:var(--st-rev-bg); color:var(--st-rev-fg); border-color:var(--st-rev-bd)}
  .credstat.progress{background:var(--st-draft-bg); color:var(--st-draft-fg); border-color:var(--st-draft-bd)}
  .repcard{background:var(--afh-dark); color:#fff; border-radius:16px; padding:20px}
  .repcard h3{color:#fff; font-size:1rem; font-weight:600; margin-bottom:5px}
  .repcard p{font-size:.83rem; color:#CBD5E1; margin:0 0 14px; line-height:1.55}
  .repline{display:flex; justify-content:space-between; font-size:.84rem; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.12)}
  .repline:last-of-type{border-bottom:0} .repline .rk{color:#9CA3AF} .repline .rv{color:#fff; font-weight:600}
  .repcard .export-btn{margin-top:16px; width:100%; justify-content:center}

  /* ===== ADMIN PORTAL ===== */
  .admin-sub{font-size:1.05rem; font-weight:600; margin:26px 0 4px}
  .admin-sub .hint{font-size:.8rem; font-weight:500; color:var(--afh-muted); margin-left:8px}
  .connect-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; margin-top:14px}
  .connect{background:#fff; border:1px solid var(--afh-border); border-radius:15px; padding:16px; display:flex; flex-direction:column; gap:9px}
  .connect.planned{opacity:.62}
  .connect .ctop{display:flex; align-items:center; gap:11px}
  .connect .clogo{width:38px; height:38px; border-radius:10px; background:var(--afh-mint); color:var(--afh-green); display:grid; place-items:center; font-family:"Space Grotesk"; font-weight:700; font-size:1rem; flex:0 0 auto}
  .connect .cname{font-weight:600; color:var(--afh-ink); font-size:.98rem; line-height:1.2}
  .connect .cstate{font-size:.72rem; font-weight:600; color:var(--afh-green)}
  .connect .cstate.off{color:var(--afh-muted)}
  .connect .cdesc{font-size:.8rem; color:var(--afh-muted); line-height:1.45; min-height:34px}
  .connect .crow{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto}
  .connect .cbtn{background:var(--afh-green); color:#fff; border:0; font-weight:600; font-size:.82rem; padding:9px 14px; border-radius:9px; transition:.15s}
  .connect .cbtn:hover{background:var(--afh-green-hover)}
  .connect .cbtn:disabled{background:#E7EBEE; color:#9AA5B1; cursor:not-allowed}
  .connect .cbtn:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}

  .lic{font-size:.68rem; font-weight:700; padding:3px 8px; border-radius:6px; border:1px solid; letter-spacing:.01em; white-space:nowrap; display:inline-block}
  .lic.owned{background:var(--st-appr-bg); color:var(--st-appr-fg); border-color:var(--st-appr-bd)}
  .lic.ccby{background:#EAF1FB; color:#1E4E8C; border-color:#CFE0F6}
  .lic.nc{background:var(--st-rev-bg); color:var(--st-rev-fg); border-color:var(--st-rev-bd)}
  .lic.open{background:#F1F3F5; color:#4B5563; border-color:#E1E5EA}
  .lic.linked{background:var(--afh-mint); color:var(--afh-green); border-color:var(--st-appr-bd)}

  .comm{font-size:.7rem; font-weight:700; padding:3px 9px; border-radius:999px; border:1px solid; white-space:nowrap; display:inline-flex; align-items:center; gap:5px}
  .comm::before{content:""; width:6px; height:6px; border-radius:50%}
  .comm.ok{background:var(--st-appr-bg); color:var(--st-appr-fg); border-color:var(--st-appr-bd)} .comm.ok::before{background:var(--st-appr-fg)}
  .comm.flag{background:var(--st-rev-bg); color:var(--st-rev-fg); border-color:var(--st-rev-bd)} .comm.flag::before{background:var(--st-rev-fg)}

  .addform{background:#fff; border:1px solid var(--afh-border); border-radius:15px; padding:16px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto; gap:12px; align-items:end; margin-top:14px}
  @media(max-width:820px){.addform{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.addform{grid-template-columns:1fr}}
  .addform .fld{display:flex; flex-direction:column; gap:5px}
  .addform label{font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--afh-muted); font-weight:600}
  .addform input, .addform select{font-family:inherit; font-size:.86rem; padding:9px 12px; border-radius:9px; border:1px solid var(--afh-border); background:#fff; color:var(--afh-ink); width:100%}
  .addform input:focus-visible, .addform select:focus-visible{outline:2px solid var(--afh-gold); outline-offset:1px}
  .addform .addbtn{background:var(--afh-gold); color:var(--afh-dark); font-weight:700; font-size:.86rem; padding:10px 16px; border-radius:9px; border:0; white-space:nowrap; transition:.15s}
  .addform .addbtn:hover{background:var(--afh-gold-hover)}
  @media(max-width:520px){.addform .addbtn{width:100%}}

  .advance{background:#fff; border:1px solid var(--afh-green); color:var(--afh-green); font-weight:600; font-size:.76rem; padding:6px 11px; border-radius:8px; white-space:nowrap; transition:.15s}
  .advance:hover{background:var(--afh-mint)}
  .advance:disabled{border-color:var(--afh-border); color:var(--afh-muted); cursor:default; background:#fff}
  .advance:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .ai-yes{font-size:.76rem; color:var(--afh-green); font-weight:600}
  .ai-pending{font-size:.76rem; color:var(--st-rev-fg); font-weight:600}
  .ai-na{font-size:.76rem; color:var(--afh-muted)}
  .admin-note{font-size:.8rem; color:var(--afh-slate); line-height:1.6; background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-left:3px solid var(--afh-gold); border-radius:12px; padding:13px 16px; margin-top:18px}
  .admin-note b{color:var(--afh-ink)}
  td .src-badge{font-size:.72rem; color:var(--afh-slate)}
  td.pipe-title .ln{display:block} td.pipe-title .sub{font-size:.72rem; color:var(--afh-muted)}

  /* ===== LEARNER DASHBOARD ===== */
  .lshell{display:grid; grid-template-columns:236px 1fr; gap:24px; margin-top:26px; align-items:start}
  @media(max-width:820px){.lshell{grid-template-columns:1fr}}
  .lnav{position:sticky; top:88px; background:#fff; border:1px solid var(--afh-border); border-radius:16px; padding:10px; display:flex; flex-direction:column; gap:3px}
  @media(max-width:820px){.lnav{position:static; flex-direction:row; overflow-x:auto; scrollbar-width:none} .lnav::-webkit-scrollbar{display:none}}
  .lnav button{display:flex; align-items:center; gap:11px; width:100%; text-align:left; border:0; background:transparent; color:var(--afh-slate); font-weight:600; font-size:.88rem; padding:11px 13px; border-radius:10px; transition:.15s; white-space:nowrap}
  .lnav button:hover{background:var(--afh-bg-soft)}
  .lnav button[aria-current="true"]{background:var(--afh-mint); color:var(--afh-green)}
  .lnav button:focus-visible{outline:2px solid var(--afh-gold); outline-offset:1px}
  .lnav .li{width:20px; text-align:center; flex:0 0 auto}
  .lpanel{min-width:0}
  .lpanel-section{display:none} .lpanel-section.on{display:block; animation:fade .3s ease}
  .lgreet{font-size:1.5rem; font-weight:600; margin-bottom:2px}
  .lsub{color:var(--afh-muted); font-size:.92rem; margin:0 0 18px}

  .continue{background:var(--afh-dark); color:#fff; border-radius:16px; padding:22px; position:relative; overflow:hidden}
  .continue::after{content:""; position:absolute; right:-70px; top:-50px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle at 40% 40%, rgba(255,183,7,.16), transparent 62%)}
  .continue .ct{position:relative; z-index:1}
  .continue .ctag{font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--afh-gold)}
  .continue h3{color:#fff; font-size:1.25rem; font-weight:600; margin:8px 0 3px}
  .continue .cmeta{font-size:.84rem; color:#CBD5E1; margin-bottom:14px}
  .continue .cbar{height:8px; background:rgba(255,255,255,.14); border-radius:5px; overflow:hidden; max-width:420px}
  .continue .cbar i{display:block; height:100%; background:var(--afh-gold); border-radius:5px}
  .continue .cbot{display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:14px}
  .continue .resume{background:var(--afh-gold); color:var(--afh-dark); font-weight:700; font-size:.88rem; padding:10px 18px; border-radius:10px; border:0; transition:.15s}
  .continue .resume:hover{background:var(--afh-gold-hover)}
  .continue .cpct{font-size:.82rem; color:#E5E7EB}

  .lgrid2{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px}
  @media(max-width:680px){.lgrid2{grid-template-columns:1fr}}
  .lcard{background:#fff; border:1px solid var(--afh-border); border-radius:16px; padding:18px}
  .lcard h4{font-size:1rem; font-weight:600; margin-bottom:12px}
  .lp-card{border:1px solid var(--afh-border); border-radius:13px; padding:14px; margin-bottom:11px; transition:.15s; cursor:pointer; background:#fff}
  .lp-card:last-child{margin-bottom:0}
  .lp-card:hover{border-color:#D0DBD3; box-shadow:var(--shadow-card)}
  .lp-card .lpt{display:flex; justify-content:space-between; align-items:baseline; gap:10px}
  .lp-card .lpname{font-weight:600; color:var(--afh-ink); font-size:.94rem}
  .lp-card .lppct{font-size:.8rem; color:var(--afh-green); font-weight:600}
  .lp-card .lpmeta{font-size:.76rem; color:var(--afh-muted); margin:3px 0 8px}
  .lp-bar{height:6px; background:#EDF0F2; border-radius:4px; overflow:hidden}
  .lp-bar i{display:block; height:100%; background:var(--afh-green); border-radius:4px}
  .rec{display:flex; gap:12px; align-items:flex-start; padding:12px; border:1px dashed var(--afh-border); border-radius:12px; background:var(--afh-bg-soft)}
  .rec .ri{width:34px; height:34px; border-radius:9px; background:var(--afh-mint); color:var(--afh-green); display:grid; place-items:center; flex:0 0 auto}
  .rec .rt{font-weight:600; color:var(--afh-ink); font-size:.9rem} .rec .rd{font-size:.8rem; color:var(--afh-muted)}
  .rec button{margin-left:auto; align-self:center; background:#fff; border:1px solid var(--afh-green); color:var(--afh-green); font-weight:600; font-size:.8rem; padding:8px 13px; border-radius:9px; white-space:nowrap}

  /* credentials & CPD */
  .cred-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px}
  .cred-card{background:#fff; border:1px solid var(--afh-border); border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:8px}
  .cred-card .cvtop{display:flex; align-items:center; gap:9px}
  .cred-card .cvseal{width:34px; height:34px; border-radius:50%; background:radial-gradient(circle at 35% 30%,var(--afh-gold),var(--afh-gold-hover)); color:var(--afh-dark); display:grid; place-items:center; font-size:.9rem; flex:0 0 auto}
  .cred-card.pending .cvseal{background:var(--st-rev-bg); color:var(--st-rev-fg)}
  .cred-card h4{font-size:.95rem; font-weight:600; line-height:1.2}
  .cred-card .cvmeta{font-size:.76rem; color:var(--afh-muted); line-height:1.5}
  .cred-card .cvmeta b{color:var(--afh-ink)}
  .verified{font-size:.7rem; font-weight:700; color:var(--afh-green); display:inline-flex; align-items:center; gap:5px}
  .transcript{background:var(--afh-dark); color:#fff; border-radius:16px; padding:20px; margin-top:16px}
  .transcript h4{color:#fff; font-size:1.02rem; font-weight:600; margin-bottom:4px}
  .transcript p{font-size:.84rem; color:#CBD5E1; margin:0 0 14px}
  .transcript .tbtns{display:flex; flex-wrap:wrap; gap:9px}
  .transcript .tbtns button{font-weight:600; font-size:.84rem; padding:10px 16px; border-radius:10px; border:0}
  .transcript .tb-gold{background:var(--afh-gold); color:var(--afh-dark)}
  .transcript .tb-ghost{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35)}

  /* planner */
  .planner{background:#fff; border:1px solid var(--afh-border); border-radius:16px; padding:8px 18px 14px}
  .plan-row{display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid #F1F3F5}
  .plan-row:last-child{border-bottom:0}
  .plan-wk{flex:0 0 62px; font-size:.72rem; font-weight:700; color:var(--afh-green); text-transform:uppercase; letter-spacing:.04em}
  .plan-body{flex:1; min-width:0} .plan-body .pn{font-weight:600; color:var(--afh-ink); font-size:.9rem} .plan-body .pm{font-size:.76rem; color:var(--afh-muted)}
  .plan-st{flex:0 0 auto}

  /* ===== COURSE INTERFACE ===== */
  .course-head{background:var(--afh-dark); color:#fff; border-radius:0 0 20px 20px}
  .course-head-in{max-width:1160px; margin:0 auto; padding:20px 24px 26px}
  .back-link{background:transparent; border:0; color:#CBD5E1; font-weight:600; font-size:.84rem; padding:6px 0; cursor:pointer; display:inline-flex; align-items:center; gap:7px}
  .back-link:hover{color:#fff}
  .course-head h1{color:#fff; font-size:1.55rem; font-weight:600; margin:12px 0 8px; line-height:1.15}
  .course-head .chmeta{display:flex; flex-wrap:wrap; gap:8px 16px; font-size:.84rem; color:#CBD5E1} .course-head .chmeta b{color:#fff}
  .course-head .chbadges{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
  .ctabs{display:flex; gap:2px; border-bottom:1px solid var(--afh-border); overflow-x:auto; scrollbar-width:none; margin-top:22px}
  .ctabs::-webkit-scrollbar{display:none}
  .ctab{border:0; background:transparent; padding:12px 16px; font-weight:600; font-size:.9rem; color:var(--afh-muted); border-bottom:2px solid transparent; white-space:nowrap; transition:.15s}
  .ctab:hover{color:var(--afh-ink)}
  .ctab[aria-current="true"]{color:var(--afh-ink); border-bottom-color:var(--afh-gold)}
  .ctab:focus-visible{outline:2px solid var(--afh-gold); outline-offset:-2px}
  .cpanel{display:none; padding-top:22px} .cpanel.on{display:block; animation:fade .3s ease}
  .cpanel h3{font-size:1.1rem; font-weight:600; margin:0 0 10px}
  .cpanel h4{font-size:.95rem; font-weight:600; margin:18px 0 8px}
  .obj-list{list-style:none; margin:0; padding:0; display:grid; gap:9px}
  .obj-list li{font-size:.9rem; color:var(--afh-slate); padding-left:24px; position:relative; line-height:1.5}
  .obj-list li::before{content:"✓"; position:absolute; left:0; color:var(--afh-green); font-weight:700}
  .kv-row{display:flex; flex-wrap:wrap; gap:8px 20px; font-size:.86rem; color:var(--afh-slate); margin-top:8px} .kv-row b{color:var(--afh-ink)}

  /* 8-step scaffold */
  .scaffold{display:grid; gap:10px; margin-top:6px}
  .unit{display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--afh-border); border-radius:13px; padding:14px 16px; transition:.15s}
  .unit:hover{border-color:#D0DBD3}
  .unit .un{width:28px; height:28px; border-radius:8px; background:var(--afh-mint); color:var(--afh-green); font-family:"Space Grotesk"; font-weight:700; font-size:.85rem; display:grid; place-items:center; flex:0 0 auto}
  .unit.done .un{background:var(--afh-green); color:#fff}
  .unit .ub{flex:1; min-width:0} .unit .ut{font-weight:600; color:var(--afh-ink); font-size:.92rem} .unit .ud{font-size:.8rem; color:var(--afh-muted); margin-top:2px; line-height:1.45}
  .unit .ustat{flex:0 0 auto; font-size:.72rem; font-weight:600; color:var(--afh-muted)}
  .unit.done .ustat{color:var(--afh-green)}
  .scaffold-note{font-size:.78rem; color:var(--afh-muted); margin-top:10px; line-height:1.5}

  .cred-path{background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:14px; padding:18px}
  .cred-path .cpgrid{display:grid; grid-template-columns:1fr 1fr; gap:11px 20px}
  @media(max-width:560px){.cred-path .cpgrid{grid-template-columns:1fr}}
  .cred-path .cpk{font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; color:var(--afh-muted); font-weight:700; display:block; margin-bottom:2px}
  .cred-path .cpv{font-size:.88rem; color:var(--afh-ink); font-weight:500}

  /* AI learning mode */
  .ai-mode{display:grid; grid-template-columns:1fr 300px; gap:20px; align-items:start}
  @media(max-width:820px){.ai-mode{grid-template-columns:1fr}}
  .ai-main{background:#fff; border:1px solid var(--afh-border); border-radius:14px; padding:18px}
  .ai-tag{font-size:.7rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--afh-green); display:inline-flex; align-items:center; gap:7px; margin-bottom:8px}
  .ai-tag .aidot{width:7px; height:7px; border-radius:50%; background:var(--afh-gold)}
  .ai-topics{display:grid; gap:8px; margin:10px 0 14px}
  .ai-topic{text-align:left; border:1px solid var(--afh-border); background:#fff; border-radius:10px; padding:11px 13px; font-size:.86rem; color:var(--afh-slate); font-weight:500; transition:.15s}
  .ai-topic:hover{background:var(--afh-bg-soft)}
  .ai-topic[aria-pressed="true"]{border-color:var(--afh-green); background:var(--afh-mint); color:var(--afh-green); font-weight:600}
  .ai-gen{background:var(--afh-gold); color:var(--afh-dark); font-weight:700; font-size:.86rem; padding:10px 16px; border-radius:10px; border:0}
  .ai-gen:hover{background:var(--afh-gold-hover)}
  .ai-out{margin-top:14px; background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:12px; padding:15px; font-size:.86rem; color:var(--afh-slate); line-height:1.6; min-height:60px}
  .ai-out h5{font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--afh-green); font-weight:700; margin:0 0 8px}
  .ai-out ul{margin:6px 0 0; padding-left:18px} .ai-out li{margin-bottom:5px}
  .ai-out .placeholder{color:var(--afh-muted)}
  .ai-side{display:grid; gap:14px}
  .ai-refs, .ai-quiz{background:#fff; border:1px solid var(--afh-border); border-radius:14px; padding:16px}
  .ai-refs h5, .ai-quiz h5{font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--afh-muted); font-weight:700; margin:0 0 10px}
  .ref{display:flex; gap:9px; font-size:.82rem; color:var(--afh-slate); padding:7px 0; border-bottom:1px solid #F1F3F5; line-height:1.4}
  .ref:last-child{border-bottom:0}
  .ref .rtype{font-size:.64rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:2px 7px; border-radius:5px; flex:0 0 auto; height:fit-content}
  .ref .rtype.read{background:#EAF1FB; color:#1E4E8C} .ref .rtype.tool{background:var(--st-rev-bg); color:var(--st-rev-fg)} .ref .rtype.paper{background:var(--afh-mint); color:var(--afh-green)}
  .ai-quiz .q{font-size:.86rem; color:var(--afh-ink); font-weight:500; margin-bottom:10px}
  .ai-opt{display:block; width:100%; text-align:left; border:1px solid var(--afh-border); background:#fff; border-radius:9px; padding:9px 12px; font-size:.84rem; color:var(--afh-slate); margin-bottom:7px; transition:.15s}
  .ai-opt:hover{background:var(--afh-bg-soft)}
  .ai-opt.correct{border-color:var(--st-appr-bd); background:var(--st-appr-bg); color:var(--st-appr-fg); font-weight:600}
  .ai-opt.wrong{border-color:var(--st-rev-bd); background:var(--st-rev-bg); color:var(--st-rev-fg)}
  .ai-guide{margin-top:12px; font-size:.82rem; color:var(--afh-slate); background:var(--afh-bg-soft); border-radius:10px; padding:11px 13px; line-height:1.5}
  .ai-guide b{color:var(--afh-ink)}

  /* ===== MODAL / TOAST ===== */
  .modal-back{position:fixed; inset:0; background:rgba(3,7,18,.5); backdrop-filter:blur(3px); display:none; align-items:flex-start; justify-content:center; z-index:70; padding:32px 18px; overflow-y:auto}
  .modal-back.show{display:flex}
  .modal{background:#fff; border-radius:18px; max-width:580px; width:100%; padding:26px; box-shadow:0 40px 90px -30px rgba(3,7,18,.7); animation:fade .25s ease}
  .modal .mclose{float:right; border:0; background:#F1F3F5; width:32px; height:32px; border-radius:9px; color:var(--afh-muted); font-size:1.1rem; cursor:pointer}
  .modal .mclose:focus-visible{outline:2px solid var(--afh-gold); outline-offset:2px}
  .modal .marea2{font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; font-weight:700; color:var(--afh-green)}
  .modal h3{font-weight:600; font-size:1.4rem; margin:6px 0 5px; line-height:1.15}
  .modal .msub{font-size:.86rem; color:var(--afh-muted); margin:0 0 14px}
  .modal h5{font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--afh-muted); margin:18px 0 9px; font-weight:700}
  .mtrust-grid{display:grid; grid-template-columns:1fr 1fr; gap:9px 16px; background:var(--afh-bg-soft); border:1px solid var(--afh-border); border-radius:12px; padding:14px 16px}
  @media(max-width:520px){.mtrust-grid{grid-template-columns:1fr}}
  .mtrust-grid .tr{font-size:.82rem; line-height:1.4}
  .mtrust-grid .tk{color:var(--afh-muted); font-weight:600; font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; display:block; margin-bottom:2px}
  .mtrust-grid .tv{color:var(--afh-ink); font-weight:500}
  .modal .req{list-style:none; margin:0; padding:0}
  .modal .req li{font-size:.86rem; padding:7px 0 7px 24px; position:relative; border-bottom:1px dashed var(--afh-border); color:var(--afh-slate)}
  .modal .req li:last-child{border-bottom:0}
  .modal .req li::before{content:"○"; position:absolute; left:2px; color:var(--afh-green)}
  .modal .req li.ev::before{content:"⤓"; color:var(--afh-gold-hover)}
  .elig-box{margin-top:14px; border-radius:12px; padding:13px 15px; font-size:.85rem; line-height:1.5}
  .elig-box.cred{background:var(--st-appr-bg); border:1px solid var(--st-appr-bd)} .elig-box.cred b{color:var(--st-appr-fg)}
  .elig-box.nocred{background:var(--st-rev-bg); border:1px solid var(--st-rev-bd)} .elig-box.nocred b{color:var(--st-rev-fg)}
  .modal .mcta{margin-top:18px; display:flex; gap:9px; flex-wrap:wrap}
  .modal .mcta button{font-weight:600; font-size:.86rem; padding:10px 17px; border-radius:10px; border:1px solid}
  .mcta .primary{background:var(--afh-gold); color:var(--afh-dark); border-color:var(--afh-gold)}
  .mcta .ghost{background:#fff; color:var(--afh-slate); border-color:var(--afh-border)}
  .mcta button:disabled{opacity:.5; cursor:not-allowed}
  .pathlinks{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
  .plink{font-size:.74rem; font-weight:600; color:var(--afh-green); background:var(--afh-mint); padding:4px 10px; border-radius:8px}

  .toast{position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--afh-dark); color:#fff; padding:13px 20px; border-radius:12px; font-size:.88rem; font-weight:600; box-shadow:0 18px 40px -16px rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:.3s; z-index:90; display:flex; align-items:center; gap:9px}
  .toast.show{opacity:1; transform:translateX(-50%) translateY(0)}
  .toast .tk{color:var(--afh-gold)}

  /* ===== FOOTER (Africahied chrome) ===== */
  .footer{background:var(--afh-dark); color:#CBD5E1; margin-top:20px}
  .footer-in{max-width:1160px; margin:0 auto; padding:34px 24px 22px}
  .fcols{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:26px}
  @media(max-width:820px){.fcols{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.fcols{grid-template-columns:1fr}}
  .fbrand .fw{font-family:"Space Grotesk"; font-weight:700; font-size:1.15rem; color:#fff; letter-spacing:.02em}
  .fbrand p{font-size:.85rem; color:#E5E7EB; line-height:1.75; margin:10px 0 0; max-width:36ch}
  .fcol h4{font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:#656A71; font-weight:700; margin-bottom:12px}
  .fcol a{display:block; font-size:.9rem; color:#E5E7EB; text-decoration:none; margin-bottom:11px; transition:.15s}
  .fcol a:hover{color:var(--afh-gold)}
  .fbar{border-top:1px solid rgba(255,255,255,.12); margin-top:26px; padding-top:16px; display:flex; justify-content:space-between; font-size:.8rem; color:#9CA3AF}
  @media(max-width:520px){.fbar{flex-direction:column; gap:6px}}

  .disclaimer{font-size:.76rem; color:var(--afh-muted); line-height:1.6; max-width:88ch; margin:26px auto 0; padding:0 24px}
  .disclaimer b{color:var(--afh-ink)}

  @media(prefers-reduced-motion:reduce){*{animation:none !important; transition:none !important}}
