:root{--navy:#073763;--navy-2:#0f4779;--ink:#172a45;--muted:#66758c;--line:#d8e2ec;--paper:#fff;--surface:#f4f8fc;--field:#fbfdff;--gold:#b7822b;--green:#2e8a65;--warning:#b86d1d;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#edf3f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#edf3f8;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}.app-shell{background:linear-gradient(#fffffff5 0,#f5f9fcf0 96px),#edf3f8;min-height:100vh}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;position:sticky;top:0}.header-inner,.public-page,.application-page{width:min(1432px,100vw - 48px);margin:0 auto}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:88px;display:flex}.brand{background:0 0;border:0;flex:none;width:300px;min-width:0;max-width:100%;padding:0;line-height:0;display:block}.brand-logo{object-fit:contain;object-position:left center;width:100%;height:auto;display:block}.top-nav{color:#2c3e56;align-items:center;gap:18px;font-size:15px;font-weight:800;display:flex}.nav-link{color:inherit;white-space:nowrap;background:0 0;border:0;padding:8px 0}.nav-link:hover,.nav-link.active{color:var(--navy)}.divider{background:var(--line);width:1px;height:24px}.solid-button,.outline-button,.text-button{border:1px solid var(--navy);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:900;display:inline-flex}.solid-button{background:var(--navy);color:#fff}.outline-button{color:var(--navy);background:#fff}.solid-button.large,.outline-button.large{min-height:52px;padding:0 24px}.solid-button.full,.outline-button.full{width:100%}.text-button{color:var(--navy);background:0 0;border:0;padding:0}.solid-button:hover{background:var(--navy-2)}.outline-button:hover{background:#f2f7fc}.solid-button:disabled,.outline-button:disabled{opacity:.45}.public-page{padding:46px 0 72px}.hero-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;gap:42px;min-height:440px;padding-bottom:46px;display:grid}.hero-copy{flex-direction:column;justify-content:center;display:flex}.eyebrow{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:900}.hero-copy h1,.page-head h1,.status-lookup h1,.page-title h1{max-width:1040px;color:var(--ink);letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4.8vw,64px);line-height:1.08}.hero-copy>p:not(.eyebrow),.page-head>p,.status-lookup>p{color:#31445f;max-width:820px;margin:24px 0 0;font-size:19px;font-weight:650;line-height:1.65}.institutional-intro{color:#3b4c63;max-width:640px;margin:24px 0 0;font-size:17px;font-weight:650;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.admissions-brief,.primary-panel,.side-panel,.programme-card,.portal-card,.detail-panel,.requirement-panel,.faq-item,.contact-band{border:1px solid var(--line);background:var(--paper)}.admissions-brief{align-self:center;padding:30px}.brief-title{color:var(--navy);align-items:center;gap:12px;display:flex}.brief-title h2,.side-panel h2,.requirement-panel h2,.detail-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px}.admissions-brief dl{gap:18px;margin:24px 0 0;display:grid}.admissions-brief dl div,.status-line{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding-top:14px;display:flex}.admissions-brief dt,.status-line span{color:var(--muted);font-size:14px;font-weight:800}.admissions-brief dd,.status-line strong{color:var(--ink);text-align:right;margin:0;font-size:14px;font-weight:900}.status-line.warning strong{color:var(--warning)}.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px;display:grid}.portal-card{min-height:190px;color:var(--ink);text-align:left;gap:14px;padding:28px;display:grid}.portal-card svg{color:var(--navy)}.portal-card span{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:700}.portal-card strong{color:var(--muted);font-size:15px;line-height:1.5}.portal-card:hover{background:#fbfdff;border-color:#9cb4cf}.programme-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.programme-choice{border:1px solid var(--line);background:var(--paper);min-height:132px;color:var(--ink);text-align:left;gap:8px;padding:22px;display:grid}.programme-choice strong{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:20px;line-height:1.25}.programme-choice span,.programme-choice small{color:var(--muted);font-size:13px;font-weight:800}.programme-choice.active,.programme-choice:hover{border-color:var(--navy);background:#fbfdff}.content-section{margin-top:64px}.split-section{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:42px;display:grid}.section-heading h2,.contact-band h2,.page-head h1{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,3.4vw,44px);line-height:1.12}.guide-list{border-top:1px solid var(--line);counter-reset:guide;gap:0;margin:0;padding:0;list-style:none;display:grid}.guide-list li{counter-increment:guide;border-bottom:1px solid var(--line);color:#2b3c55;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:18px 0;font-size:17px;font-weight:800;display:grid}.guide-list li:before{content:counter(guide, decimal-leading-zero);color:var(--green);font-weight:900}.guide-page .page-title{border-bottom:1px solid var(--line);max-width:860px;padding:18px 0 38px}.guide-page .page-title>p:not(.eyebrow){color:#42546b;max-width:720px;margin:18px 0 0;font-size:17px;font-weight:650;line-height:1.6}.guide-list h2{color:var(--navy);margin:0;font-family:Georgia,Times New Roman,serif;font-size:22px;line-height:1.25}.guide-list p{max-width:720px;color:var(--muted);margin:8px 0 0;font-size:15px;font-weight:650;line-height:1.55}.faq-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.faq-item{padding:24px}.faq-item summary{color:var(--navy);cursor:pointer;font-size:17px;font-weight:900}.faq-item p,.detail-panel p,.detail-panel li,.requirement-panel li,.contact-band p{color:var(--muted);font-size:15px;font-weight:650;line-height:1.6}.contact-band{justify-content:space-between;align-items:center;gap:28px;margin-top:64px;padding:30px;display:flex}.contact-band a{color:var(--navy);align-items:center;gap:10px;font-weight:900;display:inline-flex}.page-head{border-bottom:1px solid var(--line);padding:38px 0 34px}.programme-layout{grid-template-columns:minmax(0,1fr) 360px;gap:28px;margin-top:30px;display:grid}.detail-panel,.requirement-panel{padding:30px}.programme-tabs{flex-wrap:wrap;gap:10px;margin-bottom:26px;display:flex}.programme-tabs button{border:1px solid var(--line);color:var(--navy);background:#fff;min-height:38px;padding:0 14px;font-size:13px;font-weight:900}.programme-tabs button.active,.programme-tabs button:hover{border-color:var(--navy);background:var(--navy);color:#fff}.detail-panel h3{color:var(--navy);margin:28px 0 10px;font-size:19px}.detail-panel ul,.requirement-panel ul{gap:12px;margin:18px 0 26px;padding-left:20px;display:grid}.application-page{padding:34px 0 64px}.narrow-page{width:min(760px,100vw - 48px)}.page-title{margin-bottom:28px}.application-reference{color:var(--muted);margin:10px 0 0;font-size:14px;font-weight:800}.page-title h1{font-size:clamp(32px,3.8vw,48px)}.stepper{border:1px solid var(--line);background:var(--paper);margin:0 0 34px;padding:0;list-style:none;display:flex;overflow-x:auto}.stepper li{flex:1 0 154px}.stepper li+li{border-left:1px solid var(--line)}.step-button{color:#2a5d72;text-align:left;background:#fff;border:0;align-items:center;gap:8px;width:100%;min-height:62px;padding:0 16px;font-size:14px;font-weight:900;display:flex}.step-button.active{background:var(--navy);color:#fff}.step-index{place-items:center;min-width:26px;display:inline-grid}.step-index.completed{color:var(--green)}.content-grid{grid-template-columns:minmax(0,1fr) 316px;align-items:start;gap:30px;display:grid}.primary-panel{min-height:620px;padding:clamp(26px,4vw,48px)}.panel-heading{margin-bottom:32px}.panel-heading h1,.panel-heading h2{color:var(--navy);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,3vw,44px);line-height:1.12}.panel-heading p:not(.eyebrow){color:#334862;max-width:780px;margin:16px 0 0;font-size:18px;font-weight:700;line-height:1.55}.materials-heading{justify-content:space-between;gap:30px;display:flex}.required-count{min-width:170px;color:var(--warning);text-align:right}.required-count span{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:900;display:block}.required-count strong{margin-top:4px;font-size:16px;display:block}.application-form,.status-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.status-form{grid-template-columns:1fr;margin-top:28px}.status-result{border-top:1px solid var(--line);gap:0;margin:28px 0;display:grid}.field{gap:8px;display:grid}.field.full{grid-column:1/-1}.field span{color:#243450;font-size:14px;font-weight:900}.field input,.field textarea,.field select{background:var(--field);width:100%;color:var(--ink);border:1px solid #cfdbe8;outline:none}.field input{height:50px;padding:0 14px}.field select{height:50px;padding:0 12px}.field input:disabled,.field textarea:disabled,.field select:disabled{cursor:not-allowed;color:#657383;background:#eef2f5}.field-lock{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:750;display:inline-flex}.field textarea{resize:vertical;min-height:150px;padding:14px;line-height:1.5}.drop-zone{background:var(--surface);width:100%;min-height:216px;color:var(--navy);text-align:center;border:2px dashed #85a2c0;place-items:center;margin-bottom:30px;display:grid}.drop-zone:disabled{cursor:not-allowed;opacity:.55}.drop-zone svg{color:var(--gold)}.drop-zone strong{margin-top:10px;font-size:20px}.drop-zone span{color:var(--muted);font-size:14px;font-weight:800}.upload-error{border-left:4px solid var(--warning);color:#70420d;background:#fff8eb;margin:-12px 0 24px;padding:14px 16px;font-size:14px;font-weight:850}.material-list{border-top:1px solid var(--line)}.material-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(230px,1.35fr) 140px minmax(170px,1fr) 150px;align-items:center;gap:22px;min-height:92px;padding:18px 20px;display:grid}.material-row h3{color:#1d2e49;margin:0 0 6px;font-size:17px}.material-row p{color:var(--muted);margin:0;font-size:13px;font-weight:750;line-height:1.45}.material-badge{align-items:center;gap:8px;font-weight:900;display:inline-flex}.material-badge span{background:currentColor;border-radius:999px;width:7px;height:7px}.material-badge.uploaded{color:var(--green)}.material-badge.missing{color:var(--warning)}.material-badge.optional{color:var(--muted)}.file-meta{color:var(--muted);gap:2px;font-size:13px;font-weight:750;display:grid}.file-meta strong{overflow-wrap:anywhere}.side-panel{padding:26px}.side-panel+.side-panel{margin-top:22px}.side-panel h2{color:var(--navy);margin-bottom:18px}.link-panel a{border-top:1px solid var(--line);color:var(--ink);align-items:center;gap:10px;padding:14px 0;font-size:15px;font-weight:850;display:flex}.wizard-actions{justify-content:space-between;gap:16px;margin-top:24px;display:flex}.wizard-action-end{align-items:center;gap:18px;display:flex}.flow-message{border-left:4px solid var(--green);color:#1e684c;background:#eefaf4;margin-top:22px;padding:14px 16px;font-size:14px;font-weight:850}.flow-message.error{border-left-color:var(--warning);color:#70420d;background:#fff8eb}.supplement-message{border-left-color:var(--gold);color:#70420d;background:#fff8eb;align-items:center;gap:10px;width:min(1432px,100vw - 48px);margin:0 auto 20px;display:flex}.account-toggle{margin-top:18px}.verification-address{color:var(--navy);overflow-wrap:anywhere;margin-top:18px;font-weight:700;display:inline-block}.verification-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.verification-status{border-left:4px solid var(--green);color:#1f5b40;background:#f0f8f4;margin-top:22px;padding:14px 16px}.dashboard-title>p:not(.eyebrow){color:#42546b;max-width:760px;margin:12px 0 0;font-size:17px;font-weight:650;line-height:1.55}.dashboard-actions{justify-content:flex-end;margin:-62px 0 28px;display:flex}.empty-panel{justify-items:start;gap:18px;min-height:0;display:grid}.application-list{gap:18px;display:grid}.application-card{border:1px solid var(--line);background:var(--paper);padding:26px}.application-card-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.application-card-heading .eyebrow{margin-bottom:6px}.application-card h2{color:var(--navy);margin:0;font-family:Georgia,Times New Roman,serif;font-size:27px}.application-card-heading p:not(.eyebrow){color:var(--muted);margin:8px 0 0;font-size:14px;font-weight:750}.application-card-meta{border-top:1px solid var(--line);gap:0;margin:22px 0;display:grid}.application-card .outline-button{margin-left:auto}.status-chip{border:1px solid var(--line);min-height:28px;color:var(--navy);white-space:nowrap;align-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.status-chip.admitted{color:var(--green);border-color:#8cbaaa}.status-chip.rejected,.status-chip.withdrawn{color:#a84943;border-color:#d9a4a0}.selection-panel{min-height:0}.selection-submit{margin-top:26px}.selection-existing{border:1px solid var(--line);background:#f8fbfd;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding:18px;display:flex}.selection-existing p{color:var(--ink);margin:0;font-weight:750}.batch-list{gap:12px;margin-top:16px;display:grid}.batch-card{border:1px solid var(--line);background:#f9fbfd;justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.batch-card div{gap:5px;display:grid}.batch-card strong{color:var(--ink);font-size:16px}.batch-card span,.muted-copy{color:var(--muted);font-size:13px;font-weight:750}.review-section{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.review-section h3,.review-group h4{color:var(--navy);margin:0 0 14px;font-size:18px}.review-group{margin-top:20px}.review-summary,.review-group{gap:0;display:grid}.review-complete,.review-incomplete{margin:0;font-weight:800}.review-complete{color:var(--green)}.review-incomplete{color:var(--warning)}.declaration-check{border:1px solid var(--line);color:var(--ink);background:#f8fbfd;align-items:flex-start;gap:12px;margin-top:28px;padding:18px;font-size:15px;font-weight:750;line-height:1.5;display:flex}.declaration-check input{width:18px;height:18px;accent-color:var(--navy);margin:2px 0 0}.review-submit{margin-top:18px}.status-lookup{min-height:auto}.hidden-input{display:none}button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus,summary:focus-visible{outline-offset:2px;outline:3px solid #07376338}@media (width<=1180px){.hero-section,.programme-layout,.content-grid,.portal-grid,.programme-choice-grid,.faq-grid,.status-panel{grid-template-columns:1fr}.stepper li{flex-basis:164px}}@media (width<=860px){.header-inner,.public-page,.application-page,.narrow-page{width:min(100% - 28px,760px)}.header-inner{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 0}.top-nav,.hero-actions,.contact-band,.wizard-actions,.materials-heading{flex-direction:column;align-items:stretch}.top-nav{gap:10px;width:100%}.divider{display:none}.solid-button,.outline-button{width:100%}.hero-section{min-height:0;padding-bottom:30px}.hero-copy h1{font-size:clamp(32px,12vw,44px)}.split-section,.application-form{grid-template-columns:1fr}.guide-list li{grid-template-columns:46px minmax(0,1fr)}.stepper li{flex-basis:150px}.primary-panel,.admissions-brief,.detail-panel,.requirement-panel{padding:22px}.required-count{text-align:left}.material-row{grid-template-columns:1fr;gap:12px;padding:18px 0}.material-list{padding:0 8px}.wizard-action-end,.selection-existing,.batch-card,.application-card-heading{flex-direction:column;align-items:stretch}.dashboard-actions{justify-content:flex-start;margin:0 0 22px}.application-card .outline-button{margin-left:0}.supplement-message{width:min(100% - 28px,760px)}}
