:root{--navy:#102a43;--blue:#1261a0;--sky:#e9f3fa;--ink:#172b3a;--muted:#627383;--line:#d9e2e8;--paper:#f5f7f8;--gold:#e9a23b}*{box-sizing:border-box}.visuallyHidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}main{max-width:1240px;margin:auto;padding:34px}header{background:var(--navy);color:#fff;border-radius:18px;justify-content:space-between;align-items:start;padding:34px 40px;display:flex;box-shadow:0 12px 32px #102a4320}header h1{letter-spacing:-1px;margin:5px 0 8px;font-size:40px}header p{color:#dce8f1;max-width:720px;margin:0;line-height:1.55}.eyebrow{letter-spacing:1.8px;font-weight:700;font-size:11px!important}.pill{background:#ffffff18;border:1px solid #ffffff40;border-radius:99px;padding:8px 12px;font-size:12px}.adminLaunch{color:#fff;cursor:pointer}.programmePicker{justify-content:space-between;align-items:end;gap:20px;margin:18px 0;display:flex}.programmePicker label{width:min(420px,100%);color:var(--muted);letter-spacing:.8px;text-transform:uppercase;font-size:11px;font-weight:700}.programmePicker select{margin-top:7px;display:block}.adminOverlay{z-index:100;background:#071927b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.adminPanel{background:#fff;border-radius:16px;width:min(1500px,100%);max-height:92vh;padding:26px;overflow:auto;box-shadow:0 24px 70px #0000004d}.adminHeader{justify-content:space-between;align-items:start;display:flex}.adminHeader h2{margin:4px 0}.adminHeader button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:28px}.adminToken{color:var(--muted);letter-spacing:.8px;text-transform:uppercase;margin:14px 0 4px;font-size:11px;font-weight:700;display:block}.adminToken input{text-transform:none;letter-spacing:0;max-width:440px;margin-top:7px;font-weight:400;display:block}.adminHelp{color:var(--muted);background:#eef5f9;border-radius:8px;margin:12px 0;padding:12px;font-size:12px;line-height:1.5}.adminButtons{justify-content:flex-end;gap:9px;display:flex}.adminButtons button{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:8px;padding:10px 14px;font-weight:700}.adminButtons .primary{border-color:var(--blue);background:var(--blue);color:#fff}.adminCategoryTabs{gap:7px;margin:18px 0 12px;padding-bottom:5px;display:flex;overflow-x:auto}.adminCategoryTabs button,.addProgramme{border:1px solid var(--line);color:var(--navy);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;padding:9px 12px;font-weight:700}.adminCategoryTabs button.active{border-color:var(--blue);background:var(--sky);color:var(--blue)}.adminCategoryForm{background:#f4f7f9;border-radius:10px;grid-template-columns:2fr 1.2fr 140px 170px auto;align-items:end;gap:10px;padding:14px;display:grid}.adminCategoryForm label{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:700}.adminCategoryForm input{margin-top:6px}.adminCategoryForm .danger,.iconDanger{color:#a72f2f;cursor:pointer;background:#fff4f4;border:1px solid #e0bcbc;border-radius:8px;padding:11px 12px;font-weight:700}.adminTableWrap{border:1px solid var(--line);border-radius:10px;max-height:48vh;margin:14px 0;overflow:auto}.adminTable{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.adminTable th{z-index:2;background:var(--navy);color:#fff;text-align:left;white-space:nowrap;padding:10px 8px;position:sticky;top:0}.adminTable td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px}.adminTable tr:nth-child(2n) td{background:#f8fafb}.adminTable input,.adminTable textarea{border:1px solid var(--line);min-width:150px;color:var(--ink);background:#fff;border-radius:6px;padding:8px;font:12px Arial,sans-serif}.adminTable input.gradeInput{width:68px;min-width:68px}.adminTable .adminCheckCell input{width:18px;min-width:18px;height:18px}.adminTable textarea{resize:vertical;width:230px;min-height:58px}.adminTable small{color:var(--muted);margin-top:4px;display:block}.iconDanger{padding:6px 9px;font-size:18px}.addProgramme{border-color:var(--blue);color:var(--blue);margin-bottom:18px}.suggestionsPanel{grid-column:1/-1}.interestChips{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.interestChips button{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px}.interestChips button.selected{border-color:var(--blue);background:var(--sky);color:var(--blue);font-weight:700}.interestSearch{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;display:grid}.interestSearch label{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:11px;font-weight:700}.interestSearch input{margin-top:7px}.interestSearch button,.suggestionCard button{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;border-radius:8px;padding:11px 14px;font-weight:700}.interestSearch button:disabled{opacity:.45;cursor:not-allowed}.suggestionResults{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.suggestionCard{border:1px solid var(--line);border-left:5px solid var(--gold);background:#fff;border-radius:10px;padding:16px}.suggestionCard.strong-match{border-left-color:#25834b}.suggestionCard.alternative-route{border-left-color:#647789}.suggestionTop{justify-content:space-between;gap:12px;display:flex}.suggestionTop span{color:var(--muted);text-transform:uppercase;font-size:11px}.suggestionTop h3{margin:4px 0 8px}.suggestionTop>b{background:var(--sky);height:fit-content;color:var(--blue);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px}.suggestionCard p{font-size:13px;line-height:1.45}.eligibleText{color:#267543}.reviewText{color:#8a5a13}.noSuggestions{color:var(--muted);background:#f4f7f9;border-radius:9px;grid-column:1/-1;padding:18px}.layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px;margin-top:20px;display:grid}.panel,.result{border:1px solid var(--line);background:#fff;border-radius:16px;padding:26px;box-shadow:0 5px 18px #19384e0a}.sectionHead{justify-content:space-between;align-items:center;display:flex}.sectionHead>div{align-items:center;gap:10px;display:flex}.step{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;font-weight:700;display:grid}.sectionHead h2{margin:0;font-size:20px}.sectionHead button{background:var(--sky);color:var(--blue);cursor:pointer;border:0;border-radius:8px;padding:9px 13px;font-weight:700}.rows{margin-top:20px}.row{grid-template-columns:1fr 110px 30px;align-items:start;gap:10px;margin-bottom:9px;display:grid}.labels{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:700}select,input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:11px;font-size:14px}input{margin-top:6px}.remove{color:#9aa8b2;cursor:pointer;background:0 0;border:0;font-size:23px}.note,.fine{color:var(--muted);background:#f7f9fa;border-radius:8px;padding:12px;font-size:12px;line-height:1.5}.score{color:var(--navy);letter-spacing:-3px;margin:12px 0;font-size:64px;font-weight:700}.score small{letter-spacing:1px;color:var(--muted);margin-left:8px;font-size:13px}.band{background:#f4f8fb;border-left:5px solid;flex-direction:column;gap:5px;padding:14px 15px;display:flex}.band span{font-size:13px;line-height:1.45}.green{border-color:#27865b}.blue{border-color:var(--blue)}.amber{border-color:var(--gold)}.red{border-color:#c94b4b}.result dl{margin:18px 0}.result dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:11px 0;display:flex}dt{color:var(--muted);font-size:13px}dd{margin:0;font-weight:700}.result dd{text-align:right}.result dd small{color:var(--muted);margin-top:3px;font-size:10px;font-weight:400;display:block}.yes{color:#217a51}.no{color:#b13a3a}.courses{grid-column:1/-1}.sub{color:var(--muted);font-size:14px}.courseGrid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.courseGrid label{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px;font-size:13px;display:flex}.courseGrid label.selected{border-color:var(--blue);background:var(--sky);font-weight:700}.courseGrid input{width:auto;margin:0}.checks{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.checks article{border:1px solid var(--line);border-radius:10px;padding:15px}.checks article>div{justify-content:space-between;align-items:start;gap:8px;display:flex}.checks h3{margin:0;font-size:15px}.checks p{color:var(--muted);margin:8px 0;font-size:12px}.ok,.review{white-space:nowrap;border-radius:5px;padding:5px 7px;font-size:10px;font-weight:700}.ok{color:#17673f;background:#dff3e8}.review{color:#8a5510;background:#fff0d8}footer{text-align:center;color:var(--muted);padding:24px;font-size:12px}@media (width<=800px){main{padding:14px}header{padding:25px;display:block}header h1{font-size:31px}.pill{margin-top:18px;display:inline-block}.layout{grid-template-columns:1fr}.courseGrid{grid-template-columns:repeat(2,1fr)}.checks{grid-template-columns:1fr}.courses{grid-column:auto}}@media (width<=480px){.courseGrid{grid-template-columns:1fr}.row{grid-template-columns:1fr 76px 24px}}.learner,.reportPanel,.actions{grid-column:1/-1}.reportPanel{background:#e9eef2}.reportCard{color:#172b3a;background:#fff;border:1px solid #d9e2e8;max-width:820px;margin:auto;padding:38px}.reportTitle{border-bottom:4px solid var(--navy);margin-bottom:18px;padding-bottom:14px}.reportTitle p{color:var(--blue);letter-spacing:1.7px;margin:0 0 5px;font-size:11px;font-weight:700}.reportTitle h2{color:var(--navy);margin:0;font-size:27px}.reportDetails{grid-template-columns:1fr 1fr;gap:4px 24px;font-size:13px;display:grid}.reportDetails p{margin:5px 0}.reportSummary{grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0;display:grid}.reportSummary div{border-left:4px solid var(--blue);background:#eef5f9;flex-direction:column;gap:5px;padding:13px;display:flex}.reportSummary span{color:var(--muted);font-size:11px}.reportSummary b{font-size:20px}.reportSummary small{color:var(--muted);font-size:11px}.reportBand{background:#f7f9fa;padding:12px;font-size:13px;line-height:1.5}.reportTable{border-collapse:collapse;width:100%;margin:10px 0 20px;font-size:13px}.reportTable th,.reportTable td{text-align:left;border:1px solid #d9e2e8;padding:8px 10px}.reportTable th{background:var(--navy);color:#fff}.reportCheck{border-bottom:1px solid #d9e2e8;justify-content:space-between;gap:20px;padding:9px 0;font-size:12px;display:flex}.reportCheck span{text-align:right;color:var(--muted)}.reportFooter{color:var(--muted);border-top:1px solid #d9e2e8;margin-top:20px;padding-top:12px;font-size:10px}.qrBox{text-align:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px;flex-direction:column!important}.qrBox p{max-width:200px}.detailGrid{grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px;display:grid}.detailGrid label{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:11px;font-weight:700}.detailGrid input{text-transform:none;letter-spacing:0;margin-top:7px;font-weight:400}.actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.actions>div{align-items:center;gap:12px;display:flex}.actions h2,.actions p{margin:0}.actions p{color:var(--muted);margin-top:5px;font-size:13px}.actions button{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:8px;padding:11px 15px;font-weight:700}.actions button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.actions button:disabled{opacity:.45;cursor:not-allowed}.actions>.fine{max-width:270px;display:block}@media (width<=900px){.suggestionResults{grid-template-columns:1fr}.detailGrid{grid-template-columns:repeat(2,1fr)}.actions{flex-direction:column;align-items:flex-start}.actions>.fine{max-width:none}.adminCategoryForm{grid-template-columns:1fr 1fr}}@media (width<=520px){.interestSearch,.detailGrid{grid-template-columns:1fr}.reportCard{padding:20px}.reportDetails,.reportSummary{grid-template-columns:1fr}.programmePicker,.adminButtons{flex-direction:column;align-items:stretch}}
