/* Kabarnet University College – Online Admissions */
.ka-wrap{--ka-navy:#0d3f73;--ka-navy-2:#155a9e;--ka-gold:#e0b434;--ka-ink:#1f2933;--ka-muted:#5f6b7a;--ka-line:#d9e0e8;--ka-soft:#f4f7fa;--ka-ok:#1e7d4f;--ka-bad:#b42318;--ka-warn:#b26b00;
	max-width:900px;margin:0 auto;color:var(--ka-ink);font-size:16px;line-height:1.55;box-sizing:border-box}
.ka-wrap *,.ka-wrap *::before,.ka-wrap *::after{box-sizing:border-box}
.ka-wrap h2{font-size:1.5em;margin:0 0 .6em;color:var(--ka-navy);line-height:1.25}
.ka-wrap h3{font-size:1.1em;margin:0 0 .5em;color:var(--ka-navy)}
.ka-form{background:#fff;border:1px solid var(--ka-line);border-radius:12px;padding:28px;position:relative;overflow:hidden}
.ka-progress{position:absolute;top:0;left:0;right:0;height:5px;background:var(--ka-soft)}
.ka-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ka-navy),var(--ka-gold));transition:width .35s}
.ka-steps-nav{display:flex;gap:6px;list-style:none;margin:6px 0 24px;padding:0;counter-reset:s;flex-wrap:wrap}
.ka-steps-nav.is-hidden{display:none}
.ka-steps-nav li{counter-increment:s;flex:1 1 0;min-width:90px;font-size:.78em;color:var(--ka-muted);padding-top:8px;border-top:3px solid var(--ka-line);margin:0}
.ka-steps-nav li::before{content:counter(s) ". "}
.ka-steps-nav li.is-done{border-color:var(--ka-navy-2);color:var(--ka-navy);cursor:pointer}
.ka-steps-nav li.is-current{border-color:var(--ka-gold);color:var(--ka-ink);font-weight:700}
.ka-step{display:none}
.ka-step.is-active{display:block;animation:kaIn .25s ease}
@keyframes kaIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ka-hero{background:linear-gradient(135deg,var(--ka-navy),var(--ka-navy-2));color:#fff;border-radius:10px;padding:28px;margin-bottom:20px}
.ka-hero h2{color:#fff;font-size:1.65em}
.ka-hero p{margin:0;color:#e6eef7}
.ka-eyebrow{display:inline-block;background:var(--ka-gold);color:#1b1b1b !important;font-weight:700;font-size:.78em;padding:3px 10px;border-radius:20px;margin-bottom:12px !important;text-transform:uppercase;letter-spacing:.04em}
.ka-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ka-card{background:#fff;border:1px solid var(--ka-line);border-radius:10px;padding:20px}
.ka-checklist{margin:0;padding-left:1.1em}
.ka-checklist li{margin:.35em 0}
.ka-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ka-choice{position:relative;display:block;cursor:pointer;margin:0}
.ka-choice input{position:absolute;opacity:0;pointer-events:none}
.ka-choice span{display:block;border:2px solid var(--ka-line);border-radius:10px;padding:18px 18px 18px 50px;height:100%;transition:border-color .15s,background .15s;position:relative}
.ka-choice span::before{content:"";position:absolute;left:18px;top:20px;width:18px;height:18px;border-radius:50%;border:2px solid #9aa5b1;background:#fff}
.ka-choice strong{display:block;font-size:1.08em}
.ka-choice em{display:block;font-style:normal;color:var(--ka-muted);font-size:.9em;margin-top:2px}
.ka-choice input:checked+span{border-color:var(--ka-navy);background:#eef4fb}
.ka-choice input:checked+span::before{border-color:var(--ka-navy);box-shadow:inset 0 0 0 4px #fff;background:var(--ka-navy)}
.ka-choice input:focus-visible+span{outline:3px solid var(--ka-gold);outline-offset:2px}
.ka-choice-sm span{padding:14px 14px 14px 46px}
.ka-choice-sm span::before{top:15px;left:16px}
.ka-qual-types{grid-template-columns:repeat(3,1fr);margin-bottom:6px}
.ka-sub{margin-top:18px;padding:18px;background:var(--ka-soft);border-radius:10px}
.ka-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:12px}
.ka-field{display:block;font-weight:600;font-size:.92em;margin:0}
.ka-field b{color:var(--ka-bad)}
.ka-field small{font-weight:400;color:var(--ka-muted)}
.ka-wrap input[type=text],.ka-wrap input[type=email],.ka-wrap input[type=tel],.ka-wrap input[type=number],.ka-wrap input[type=date],.ka-wrap input[type=password],.ka-wrap select{
	display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #b8c2cc;border-radius:7px;font-size:16px;font-weight:400;background:#fff;color:var(--ka-ink);min-height:44px}
.ka-wrap input:focus,.ka-wrap select:focus{outline:none;border-color:var(--ka-navy-2);box-shadow:0 0 0 3px rgba(21,90,158,.18)}
.ka-wrap .is-invalid{border-color:var(--ka-bad) !important}
.ka-err{display:block;color:var(--ka-bad);font-size:.85em;font-weight:500;margin:4px 0 0;min-height:0}
.ka-err:empty{display:none}
.ka-err-global{font-size:.95em;margin:12px 0}
.ka-ok{color:var(--ka-ok);font-weight:600}
.ka-forgot-toggle{margin:14px 0 0;font-size:.92em}
.ka-forgot-toggle a{color:var(--ka-navy-2)}
.ka-forgot-form{margin-top:12px}
.ka-forgot-form h3{margin-top:0}
.ka-ok:empty{display:none}
.ka-hint,.ka-muted{color:var(--ka-muted);font-size:.9em}
.ka-prog-info{margin-top:14px;padding:14px 16px;border-left:4px solid var(--ka-gold);background:#fffaf0;border-radius:6px}
.ka-prog-info span{color:var(--ka-muted);font-size:.9em}
.ka-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;flex-wrap:wrap}
.ka-welcome .ka-actions{justify-content:flex-end}
.ka-actions-center{justify-content:center}
.ka-btn{display:inline-block;background:var(--ka-navy);color:#fff !important;border:2px solid var(--ka-navy);border-radius:8px;padding:11px 22px;font-size:1em;font-weight:600;cursor:pointer;text-decoration:none !important;line-height:1.2}
.ka-btn:hover{background:var(--ka-navy-2);border-color:var(--ka-navy-2)}
.ka-btn:disabled{opacity:.6;cursor:wait}
.ka-btn-ghost{background:#fff;color:var(--ka-navy) !important}
.ka-btn-ghost:hover{background:#eef4fb}
.ka-upload{border:1px solid var(--ka-line);border-radius:10px;padding:18px}
.ka-upload p{font-size:.9em;color:var(--ka-muted)}
.ka-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #9aa5b1;border-radius:10px;padding:22px;min-height:120px;cursor:pointer;text-align:center;background:var(--ka-soft);margin:0}
.ka-drop:hover{border-color:var(--ka-navy-2)}
.ka-drop.has-file{border-style:solid;border-color:var(--ka-ok);background:#f0faf4}
.ka-drop input{position:absolute;width:1px;height:1px;opacity:0}
.ka-drop-text{font-weight:600;color:var(--ka-navy);word-break:break-all}
.ka-drop-photo img{width:110px;height:140px;object-fit:cover;border-radius:6px;border:1px solid var(--ka-line)}
.ka-review table{width:100%;border-collapse:collapse;font-size:.95em}
.ka-review th,.ka-review td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--ka-line);vertical-align:top}
.ka-review th{width:34%;color:var(--ka-muted);font-weight:500}
.ka-consent{margin-top:20px;padding:18px;border:1px solid #f0d58a;background:#fffaf0;border-radius:10px}
.ka-check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.93em;margin:0}
.ka-check input{width:20px;height:20px;margin-top:2px;flex:none}
.ka-hp{position:absolute !important;left:-9999px !important;height:0;overflow:hidden}
.ka-uploading{margin-top:16px}
.ka-bar{height:10px;background:var(--ka-soft);border-radius:6px;overflow:hidden}
.ka-bar span{display:block;height:100%;width:0;background:var(--ka-navy-2);transition:width .2s}
.ka-modal{position:fixed;inset:0;background:rgba(10,25,45,.6);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.ka-modal[hidden]{display:none}
.ka-modal-box{background:#fff;border-radius:14px;padding:32px 28px;max-width:470px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:kaIn .3s ease}
.ka-tick{width:68px;height:68px;border-radius:50%;background:var(--ka-ok);color:#fff;font-size:38px;line-height:68px;margin:0 auto 14px}
.ka-ref{font-size:1.45em;font-weight:800;color:var(--ka-navy);letter-spacing:.02em;background:var(--ka-soft);padding:10px;border-radius:8px;margin:6px 0 14px !important;word-break:break-all}
.ka-closed{text-align:center}
/* status */
.ka-track-result{margin-top:22px}
.ka-status-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.ka-status-head h3{margin:2px 0}
.ka-badge{display:inline-block;padding:5px 12px;border-radius:20px;font-size:.82em;font-weight:700;background:#e6eef7;color:var(--ka-navy);white-space:nowrap}
.ka-s-admitted{background:#dcf3e6;color:var(--ka-ok)}
.ka-s-not_successful{background:#fde7e5;color:var(--ka-bad)}
.ka-s-incomplete{background:#fff1d6;color:var(--ka-warn)}
.ka-s-school_board,.ka-s-senate{background:#efe8fb;color:#5b3a9e}
.ka-timeline{list-style:none;margin:18px 0 0;padding:0}
.ka-timeline li{position:relative;display:flex;gap:14px;padding:0 0 20px;margin:0}
.ka-timeline li::before{content:"";position:absolute;left:10px;top:24px;bottom:0;width:2px;background:var(--ka-line)}
.ka-timeline li:last-child::before{display:none}
.ka-dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #b8c2cc;background:#fff;position:relative;z-index:1}
.ka-timeline .done .ka-dot{background:var(--ka-ok);border-color:var(--ka-ok)}
.ka-timeline .done .ka-dot::after{content:"✓";color:#fff;font-size:13px;position:absolute;left:4px;top:0}
.ka-timeline .done::before{background:var(--ka-ok)}
.ka-timeline .current .ka-dot{border-color:var(--ka-gold);background:var(--ka-gold);box-shadow:0 0 0 5px rgba(224,180,52,.25)}
.ka-timeline .warn .ka-dot{background:var(--ka-warn);border-color:var(--ka-warn)}
.ka-timeline .stop .ka-dot{background:var(--ka-bad);border-color:var(--ka-bad)}
.ka-timeline .todo strong{color:#8a96a3;font-weight:500}
.ka-timeline small{display:block;color:var(--ka-muted)}
.ka-note{margin:6px 0 0;background:var(--ka-soft);padding:8px 10px;border-radius:6px;font-size:.92em}
/* portal */
.ka-portal-auth .ka-card{max-width:480px;margin:0 auto}
.ka-tabs{display:flex;border-bottom:2px solid var(--ka-line);margin:-4px 0 18px}
.ka-tab{flex:1;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:10px;font-weight:600;color:var(--ka-muted);cursor:pointer;font-size:1em}
.ka-tab.is-active{color:var(--ka-navy);border-color:var(--ka-navy)}
.ka-pane{display:none}
.ka-pane.is-active{display:block}
.ka-pane .ka-field{margin-bottom:12px}
.ka-pass{display:flex;gap:6px;align-items:flex-end}
.ka-pass input{flex:1}
.ka-show{min-height:44px;border:1px solid #b8c2cc;background:#fff;border-radius:7px;padding:0 12px;cursor:pointer}
.ka-dash-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ka-dash-head h2{margin:0}
.ka-app-card{margin-bottom:16px}
.ka-admit{background:#f0faf4;border:1px solid #b7e2c8;border-radius:10px;padding:16px;margin:12px 0}
@media (max-width:640px){
	.ka-form{padding:18px 16px}
	.ka-grid2,.ka-choice-grid,.ka-qual-types{grid-template-columns:1fr}
	.ka-steps-nav li{min-width:0;font-size:0;padding-top:0;border-top-width:5px}
	.ka-steps-nav li::before{font-size:0}
	.ka-hero{padding:20px}
	.ka-actions .ka-btn{flex:1;text-align:center}
}

/* v2.0 */
#ka-apply{position:relative}
.ka-staff-row{display:flex;justify-content:flex-end;margin:0 0 8px}
.ka-staff-link{position:static;display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1;color:#5f6b7a !important;background:#fff;border:1px solid #d9e0e8;border-radius:14px;padding:5px 11px;opacity:.6;text-decoration:none !important;transition:opacity .2s}
.ka-staff-link:hover,.ka-staff-link:focus{opacity:1;color:var(--ka-navy) !important;border-color:var(--ka-navy)}
.ka-staff-link svg{width:11px;height:11px}
.ka-closed .ka-staff-link{position:static;margin-top:10px}
.ka-note-min{margin:12px 0 0;padding:10px 12px;border-left:4px solid var(--ka-gold);background:#fffaf0;border-radius:6px;font-size:.88em}
.ka-wrap select option:disabled,.ka-wrap select option.ka-below{color:#a7b0ba;background:#f1f3f5}
.ka-tick-warn{background:var(--ka-warn)}
.ka-em-list{text-align:left;margin:6px auto 12px;display:inline-block;padding-left:1.2em}
.ka-modal{z-index:100000}
/* v3.0 */
.ka-group-label{font-weight:700;color:var(--ka-navy);margin:18px 0 8px;font-size:.95em;text-transform:uppercase;letter-spacing:.03em}
.ka-grid3{grid-template-columns:repeat(3,1fr)}
.ka-choice.is-off span{opacity:.55;background:#f3f4f6;cursor:not-allowed}
.ka-choice small.ka-fee-tag{display:inline-block;margin-top:8px;font-size:.78em;font-weight:700;color:var(--ka-navy);background:#eef4fb;border-radius:12px;padding:2px 9px}
.ka-field-title{display:block;font-weight:600;font-size:.92em;margin-bottom:6px}
.ka-nat{margin:4px 0 14px}
.ka-seg{display:flex;flex-wrap:wrap;gap:10px}
.ka-seg label{display:flex;align-items:center;gap:8px;border:2px solid var(--ka-line);border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:600;margin:0}
.ka-seg label:has(input:checked){border-color:var(--ka-navy);background:#eef4fb}
.ka-seg input{width:18px;height:18px;margin:0}
.ka-small{display:block;font-weight:400;color:var(--ka-muted);font-size:.8em;margin-top:4px}
.ka-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--ka-navy-2);color:#fff;font-size:12px;font-weight:700;cursor:help;vertical-align:middle;margin-left:4px}
.ka-tip-text{display:none;position:absolute;z-index:20;left:50%;bottom:130%;transform:translateX(-50%);width:230px;background:#1f2933;color:#fff;font-weight:400;font-size:12px;line-height:1.45;padding:8px 10px;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.ka-tip:hover .ka-tip-text,.ka-tip:focus .ka-tip-text{display:block}
.ka-class-field.is-disabled select{background:#f1f3f5;color:#8a96a3}
.ka-certs{margin-top:20px;padding:18px;border:2px solid #d6e4f3;border-radius:10px;background:#f8fbff}
.ka-certs h3{margin-top:0}
.ka-cert{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:12px 0;border-top:1px solid var(--ka-line)}
.ka-cert:first-child{border-top:0}
.ka-cert-label{grid-column:1/2}
.ka-cert-pick{grid-column:2/3;grid-row:1/3;margin:0;cursor:pointer}
.ka-cert-pick input{position:absolute;width:1px;height:1px;opacity:0}
.ka-cert-btn{display:inline-block;border:2px solid var(--ka-navy);color:var(--ka-navy);border-radius:8px;padding:8px 14px;font-weight:700;font-size:.9em;background:#fff;white-space:nowrap}
.ka-cert.has-file .ka-cert-btn{border-color:var(--ka-ok);color:var(--ka-ok)}
.ka-cert-state{grid-column:1/2;font-size:.85em;color:var(--ka-muted);word-break:break-all}
.ka-cert.has-file .ka-cert-state{color:var(--ka-ok);font-weight:600}
.ka-cert-remove{color:var(--ka-bad);font-weight:400;margin-left:6px}
.ka-err-inline{color:var(--ka-bad);font-weight:600}
.ka-req-mark{display:inline-block;background:#fde7e5;color:var(--ka-bad);border-radius:10px;font-size:.72em;padding:1px 8px;vertical-align:middle;font-weight:700}
.ka-opt-mark{display:inline-block;background:#eef1f4;color:var(--ka-muted);border-radius:10px;font-size:.72em;padding:1px 8px;vertical-align:middle}
.ka-spin{display:inline-block;width:14px;height:14px;border:2px solid #b8c2cc;border-top-color:var(--ka-navy);border-radius:50%;animation:kaspin .8s linear infinite;vertical-align:-2px}
@keyframes kaspin{to{transform:rotate(360deg)}}
.ka-bundle-note{margin-top:14px}
.ka-pay{border:2px solid #cde7d6;background:#f6fcf8;border-radius:12px;padding:18px;margin:14px 0}
.ka-pay-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.ka-mpesa-badge{background:#2f9e44;color:#fff;font-weight:800;border-radius:6px;padding:6px 10px;letter-spacing:.04em;font-size:.85em}
.ka-pay input[readonly],.ka-pay select:disabled{background:#eef1f4;color:#333}
.ka-actions-left{justify-content:flex-start;margin-top:8px}
.ka-pay-status{margin-top:12px;font-size:.95em}
.ka-pay-status:empty{display:none}
.ka-pay-status.is-ok{background:#dcf3e6;color:var(--ka-ok);padding:10px 12px;border-radius:8px}
.ka-pay-status.is-bad{background:#fde7e5;color:var(--ka-bad);padding:10px 12px;border-radius:8px}
.ka-pay-status.is-wait,.ka-pay-status.is-warn{background:#fff8e6;color:#7a5200;padding:10px 12px;border-radius:8px}
.ka-test-mode{background:#fff1d6;color:#8a5300;border-radius:6px;padding:6px 10px;font-weight:700;font-size:.85em}
.ka-paylater{margin-top:10px}
.ka-review-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ka-review-head h2{margin:0}
.ka-review-pdf{font-size:.9em;padding:8px 14px}
.ka-summary-link{font-weight:700}
#ka-payment-page .ka-card{max-width:760px;margin:0 auto}
@media (max-width:640px){
	.ka-grid3{grid-template-columns:1fr}
	.ka-cert{grid-template-columns:1fr}
	.ka-cert-pick{grid-column:1/2;grid-row:auto}
	.ka-review th{width:42%}
	.ka-seg label{flex:1 1 100%}
	.ka-tip-text{left:auto;right:-10px;transform:none}
}
.ka-wrap [hidden]{display:none !important}
/* v3.1 */
.ka-hero{position:relative}
.ka-start-top{position:absolute;top:22px;right:22px}
.ka-btn-gold{background:var(--ka-gold);border-color:var(--ka-gold);color:#1b1b1b !important}
.ka-btn-gold:hover{background:#f2c94c;border-color:#f2c94c}
.ka-hero .ka-eyebrow + h2,.ka-hero h2{padding-right:200px}
.ka-actions-right{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.ka-subjects{margin-top:16px;padding-top:14px;border-top:1px dashed #c5d3e2}
.ka-subjects h3{margin:0 0 4px}
.ka-subj-pick{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.ka-subj-inputs{display:grid;grid-template-columns:1.6fr 1fr;gap:10px}
.ka-subj-progress{grid-column:1/-1;margin:0}
.ka-subj-list{list-style:none;margin:0;padding:8px;min-height:90px;max-height:260px;overflow:auto;border:1px solid var(--ka-line);border-radius:8px;background:#fff;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.ka-subj-list:empty::before{content:"Subjects you add appear here.";color:var(--ka-muted);font-size:.85em;padding:4px}
.ka-subj-list li{display:inline-flex;align-items:center;gap:8px;background:#eef4fb;border:1px solid #cfe0f2;border-radius:16px;padding:4px 6px 4px 12px;font-size:.88em;margin:0}
.ka-subj-list li strong{color:var(--ka-navy)}
.ka-subj-del{border:0;background:#fff;color:var(--ka-bad);border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:15px;line-height:1}
.ka-elig{margin-top:14px;padding:12px 14px;border-radius:8px;font-size:.93em}
.ka-elig.is-ok{background:#dcf3e6;color:#165c3a;border-left:4px solid var(--ka-ok)}
.ka-elig.is-bad{background:#fff8e6;color:#6b4a00;border-left:4px solid var(--ka-warn)}
.ka-combo-wrap{margin-top:12px;max-width:560px}
.ka-modal-wide{max-width:620px;text-align:left}
.ka-el-list{display:grid;gap:8px;max-height:46vh;overflow:auto;margin:10px 0}
@media (max-width:640px){
	.ka-start-top{position:static;margin-bottom:12px;width:100%}
	.ka-hero h2{padding-right:0}
	.ka-subj-pick{grid-template-columns:1fr}
	.ka-actions-right{width:100%}
	.ka-actions-right .ka-btn{flex:1 1 100%;text-align:center}
}

/* v3.1 programme information & qualifying programmes */
.ka-pi-intro{margin:8px 0 6px;font-size:.93em}
.ka-pi-req{margin:6px 0;font-size:.9em}
.ka-pi-d{margin:6px 0;background:#fff;border:1px solid #eadfca;border-radius:6px;padding:6px 10px}
.ka-pi-d summary{cursor:pointer;font-weight:600;font-size:.92em}
.ka-pi-d ul{margin:6px 0 2px 18px;padding:0;columns:2 220px;column-gap:24px;font-size:.9em}
.ka-pi-d li{margin:2px 0;break-inside:avoid}
.ka-pi-d p{margin:6px 0 2px;font-size:.9em}
.ka-el-card{border:1px solid #d7dce3;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}
.ka-el-card.is-picked{border-color:var(--ka-navy,#0d3f73);box-shadow:0 0 0 2px rgba(13,63,115,.15)}
.ka-el-head{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;cursor:pointer}
.ka-el-head input{margin-top:4px;flex:none}
.ka-el-head em{display:block;font-style:normal;color:var(--ka-muted,#5b6472);font-size:.88em}
.ka-el-cur{font-size:.75em;background:#dcf3e6;color:#165c3a;border-radius:10px;padding:1px 8px;font-weight:600}
.ka-el-body{padding:0 14px 10px 38px;font-size:.92em}
.ka-el-body>p{margin:4px 0 6px}
.ka-el-met{color:#165c3a}
.ka-modal-wide{max-width:760px}
.ka-el-list{max-height:58vh}
@media (max-width:600px){.ka-el-body{padding-left:14px}.ka-pi-d ul{columns:1}}

/* v3.2 pay later in the portal */
.ka-fee-due{margin-top:14px;border:1px solid #f0c36d;background:#fffaf0;border-radius:10px;padding:14px 16px}
.ka-fee-warn{margin:0 0 12px}
.ka-fee-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ka-fee-tab{border:1px solid #c9d2dd;background:#fff;border-radius:20px;padding:7px 14px;cursor:pointer;font:inherit;font-size:.92em}
.ka-fee-tab.is-active{background:var(--ka-navy,#0d3f73);border-color:var(--ka-navy,#0d3f73);color:#fff}
.ka-fee-pane{background:#fff;border-radius:8px;padding:12px 14px;border:1px solid #eadfca}
.ka-bank-text{white-space:normal;font-family:inherit;background:#f6f8fb;border-radius:6px;padding:10px 12px;margin:6px 0}
.ka-fee-msg{margin-top:10px}
.ka-fee-msg.is-bad{color:#b42318}.ka-fee-msg.is-warn{color:#8a5a00}
.ka-fee-defer-link{margin:10px 0 0;font-size:.92em}
.ka-pp-buttons{max-width:420px}
.ka-fee-modal .ka-fm-defer{white-space:normal}

/* v3.3 intakes */
.ka-intakes{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ka-intake{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:10px 14px;min-width:200px}
.ka-intake strong{display:block;font-size:1.05em}
.ka-intake span{display:block;font-size:.88em;opacity:.9}
.ka-intake small{display:block;font-size:.8em;opacity:.85;margin-top:2px}

/* v3.5 PayPal on the fee step */
.ka-pp-apply{margin:14px 0;border-color:#c9d8ee}
.ka-pp-badge{display:inline-block;background:#003087;color:#fff;font-weight:700;border-radius:6px;padding:6px 10px;font-size:.85em;letter-spacing:.3px}
.ka-pp-apply-buttons{max-width:420px;margin-top:10px}
.ka-pp-apply-msg{margin-top:10px}
.ka-pp-apply-msg.is-ok{color:#165c3a}.ka-pp-apply-msg.is-bad{color:#b42318}.ka-pp-apply-msg.is-warn{color:#8a5a00}

.ka-pay-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}
.ka-pay-choice-q{grid-column:1/-1;font-weight:600}

.ka-paylater.is-disabled{opacity:.45;cursor:not-allowed}
.ka-paylater.is-disabled input{cursor:not-allowed}
.ka-paylater-undo{margin:4px 0 0 30px}
.ka-hero .ka-eyebrow{max-width:calc(100% - 230px)}
@media (max-width:700px){.ka-hero .ka-eyebrow{max-width:100%}}
@media (max-width:640px){.ka-hero .ka-eyebrow + h2,.ka-hero h2{padding-right:0}}

/* v3.6 standalone / within-website view */
.ka-view-bar{max-width:1100px;margin:0 auto 10px;text-align:right;font-size:14px}
.ka-view-bar a{display:inline-block;padding:6px 12px;border:1px solid #c9d2dd;border-radius:20px;background:#fff;color:#0d3f73 !important;text-decoration:none !important}
.ka-view-bar a:hover{background:#eef4fb}

/* v3.6.1 payment method badges */
.ka-paybadges{display:inline-flex;flex-wrap:wrap;gap:5px;vertical-align:middle}
.ka-paybadge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px solid #c9d2dd;border-radius:5px;background:#fff;color:#1d2327;font-size:12px;font-weight:600;line-height:1;white-space:nowrap}
.ka-paybadge svg{width:13px;height:13px;color:#5b6472}
.ka-paybadge-img{padding:0 6px}
.ka-paybadge-img img{height:18px;width:auto;display:block}
.ka-li-pay .ka-paywith{display:flex;align-items:flex-start;gap:8px;margin-top:6px}
.ka-li-pay .ka-paywith .ka-paybadges{flex:none}
.ka-choice .ka-paybadges{display:flex;margin-top:8px}
@media (max-width:640px){.ka-li-pay .ka-paywith{flex-direction:column;gap:4px}}
.ka-paybadges,.ka-paybadge{font-style:normal}

/* v3.7 forms for admitted students */
.ka-forms-dl{margin-top:14px;border:1px solid #d6dde6;border-radius:10px;padding:14px 16px;background:#fff}
.ka-forms-dl h4{margin:0 0 10px;color:var(--ka-navy,#0d3f73);font-size:1.02em}
.ka-forms-dl ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.ka-forms-dl li{margin:0}
.ka-forms-dl a{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #e1e6ed;border-radius:8px;text-decoration:none !important;color:#1d2327 !important;background:#f8fafc}
.ka-forms-dl a:hover{border-color:var(--ka-navy,#0d3f73);background:#eef4fb}
.ka-fdl-no{flex:none;width:24px;height:24px;border-radius:50%;background:var(--ka-navy,#0d3f73);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ka-fdl-name{flex:1;font-size:.93em;font-weight:600;line-height:1.3}
.ka-fdl-pdf{flex:none;font-size:11px;font-weight:700;color:#b42318;border:1px solid #f1c4c0;border-radius:4px;padding:2px 6px;background:#fff}
.ka-forms-dl p{margin:10px 0 0}

/* v3.7.1 mean grade check */
.ka-mean-check{margin-top:14px;padding:12px 14px;border-radius:8px;font-size:.93em;line-height:1.5}
.ka-mean-check.is-ok{background:#eef7ee;color:#1e5b33;border-left:4px solid #2e8b57}
.ka-mean-check.is-bad{background:#fff8e6;color:#6b4a00;border-left:4px solid #e2a400}
.ka-mean-how{margin-top:6px;font-size:.92em}
.ka-mean-how summary{cursor:pointer;text-decoration:underline}

/* v3.8 calculated mean grade */
.ka-auto-grade select{background:#eef1f5 !important;color:#1d2327;pointer-events:none;border-style:dashed;font-weight:700}
.ka-auto-note{display:block;color:var(--ka-muted,#5b6472);font-size:.82em;margin-top:4px;font-weight:400}
.ka-mean-check.is-info{background:#eef4fb;color:#1d3c5e;border-left:4px solid var(--ka-navy,#0d3f73)}
.ka-mean-big{font-size:1.15em}
.ka-mean-modal .ka-mm-grade-wrap{text-align:center;margin:6px 0 10px}
.ka-mm-grade{display:inline-block;font-size:2.4em;font-weight:800;color:var(--ka-navy,#0d3f73);border:3px solid var(--ka-gold,#e2b53a);border-radius:12px;padding:4px 22px;line-height:1.2}
.ka-mm-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.ka-mm-list li{background:#eef4fb;border:1px solid #cfe0f2;border-radius:14px;padding:3px 10px;font-size:.85em;margin:0}
.ka-mm-list li.is-out{opacity:.55;text-decoration:line-through}
.ka-mm-list li.is-out small{text-decoration:none}
.ka-flash{animation:kaFlash 1.6s ease}
@keyframes kaFlash{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 4px rgba(226,181,58,.6)}}

/* v3.9.1 programme information: always left-aligned */
.ka-pi-d ul{columns:auto !important;margin:6px 0 2px 0 !important;padding:0 0 0 20px !important;text-align:left !important;list-style:disc outside !important}
.ka-pi-d ul.ka-pi-cols{columns:2 240px !important;column-gap:28px}
.ka-pi-d li{text-align:left !important;margin:3px 0 !important;padding:0 !important}
.ka-pi-text{text-align:left !important}
.ka-pi-text p{margin:6px 0 4px !important;font-size:.92em;line-height:1.6;text-align:left !important}
@media (max-width:640px){.ka-pi-d ul.ka-pi-cols{columns:1 !important}}
