@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--teal-600:#237e80;--teal-500:#2e9c9c;--teal-400:#3aa0a8;--teal-050:#f2fafb;--slate-900:#1f3a4d;--slate-700:#35586e;--slate-500:#5b7688;--slate-300:#9fb3c0;--line:#dce8ec;--surface:#fff;--shell:#e9eff2;--shell-fade:#efecf4;--amber-700:#9a6700;--red-600:#c93b40;--green-700:#1f7a4d;--violet-600:#6d5bd0;--radius-panel:1.5rem;--radius-card:.875rem;--radius-pill:.625rem;--gap-1:.5rem;--gap-2:.75rem;--gap-3:1rem;--gap-4:1.5rem;--gap-5:2rem;--target:2.75rem;--shadow-panel:0 1px 3px #1f3a4d0f, 0 12px 32px #1f3a4d14;--shadow-card:0 1px 2px #1f3a4d0d;font-size:16px}:root[data-density=compact]{font-size:14px}:root[data-density=large]{font-size:19px}*,:before,:after{box-sizing:border-box}body{background:linear-gradient(160deg, var(--shell) 0%, var(--shell-fade) 100%);color:var(--slate-900);min-height:100dvh;margin:0;font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;font-size:1rem;line-height:1.5}:focus-visible{outline:3px solid var(--teal-500);outline-offset:2px}button,input,select{font:inherit;color:inherit}a{color:var(--teal-400)}.app{grid-template-columns:minmax(14rem,18rem) 1fr;min-height:100dvh;display:grid}.skip{position:absolute;inset-inline-start:-100rem}.skip:focus{margin:var(--gap-2);padding:var(--gap-2) var(--gap-3);background:var(--surface);border-radius:var(--radius-pill);display:inline-block;position:static}.sidebar{gap:var(--gap-4);padding:var(--gap-4) var(--gap-3);flex-direction:column;display:flex}.brand{align-items:center;gap:var(--gap-2);padding-inline:var(--gap-2);letter-spacing:-.01em;font-size:1.35rem;font-weight:700;display:flex}.brand-mark{flex:none;width:2.5rem;height:1.5rem}.nav-group{flex-direction:column;gap:.125rem;display:flex}.nav-heading{margin:var(--gap-3) 0 var(--gap-1);padding-inline:var(--gap-2);color:var(--slate-500);letter-spacing:.08em;font-size:.75rem;font-weight:700}.nav-item{align-items:center;gap:var(--gap-2);min-height:var(--target);padding:0 var(--gap-3);border-radius:var(--radius-pill);color:var(--slate-900);text-align:start;cursor:pointer;background:0 0;border:0;font-size:1rem;display:flex}.nav-item:hover{background:#ffffff8c}.nav-item[aria-current=page]{background:var(--surface);box-shadow:var(--shadow-card);font-weight:600}.sidebar-footer{align-items:center;gap:var(--gap-2);padding:var(--gap-2);margin-top:auto;display:flex}.avatar{background:var(--teal-500);color:#fff;border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;font-weight:700;display:grid}.panel{margin:var(--gap-3) var(--gap-3) var(--gap-3) 0;padding:var(--gap-4) var(--gap-5) var(--gap-5);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-panel);overflow-x:auto}.panel-bar{align-items:center;gap:var(--gap-3);padding-bottom:var(--gap-3);border-bottom:1px solid var(--line);color:var(--slate-700);flex-wrap:wrap;display:flex}.panel-bar-spacer{margin-inline-start:auto}h1{margin:var(--gap-5) 0 .25rem;letter-spacing:-.02em;font-size:1.9rem;font-weight:600}.lead{margin:0 0 var(--gap-5);color:var(--teal-400)}h2{margin:var(--gap-5) 0 var(--gap-2);font-size:1.15rem;font-weight:600}.button{justify-content:center;align-items:center;gap:var(--gap-1);min-height:var(--target);padding:0 var(--gap-4);border:1px solid var(--teal-500);border-radius:var(--radius-pill);background:var(--teal-500);color:#fff;cursor:pointer;font-weight:600;display:inline-flex}.button:hover:not(:disabled){background:var(--teal-600);border-color:var(--teal-600)}.button:disabled{opacity:.55;cursor:not-allowed}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--slate-900)}.button.secondary:hover:not(:disabled){background:var(--teal-050);border-color:var(--teal-400)}.control{align-items:center;gap:var(--gap-1);min-height:var(--target);padding:0 var(--gap-2);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);display:inline-flex}.control select{min-height:calc(var(--target) - 2px);cursor:pointer;background:0 0;border:0}.row{gap:var(--gap-2);flex-wrap:wrap;align-items:center;display:flex}.card{padding:var(--gap-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.card.stat{background:var(--teal-050);border-color:var(--teal-400)}.stat-number{font-size:2.25rem;font-weight:700;line-height:1.1}.cards{gap:var(--gap-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.note{padding:var(--gap-3) var(--gap-4);border:1px solid var(--line);border-inline-start:4px solid var(--teal-400);border-radius:var(--radius-card);background:var(--teal-050)}.note.warn{border-inline-start-color:var(--amber-700);background:#fdf8ee}.note.ok{border-inline-start-color:var(--teal-400)}.enrolment{gap:var(--gap-3);margin-bottom:var(--gap-4);display:grid}.note.bad{border-inline-start-color:var(--red-600);background:#fdf3f3}table{border-collapse:collapse;text-align:start;width:100%}th{padding:var(--gap-2) var(--gap-2);border-bottom:1px solid var(--line);color:var(--teal-400);text-align:start;white-space:nowrap;font-size:.9rem;font-weight:600}td{padding:var(--gap-3) var(--gap-2);border-bottom:1px solid var(--line);vertical-align:middle}.tag{align-items:center;gap:var(--gap-1);display:inline-flex}.tag:before{content:"";background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.tag.ok{color:var(--green-700)}.tag.warn{color:var(--amber-700)}.tag.bad{color:var(--red-600)}.tag.info{color:var(--violet-600)}.muted{color:var(--slate-500)}.steps{gap:var(--gap-2);flex-wrap:wrap;align-items:center;display:flex}.step-number{background:var(--teal-050);border:1px solid var(--teal-400);border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;font-size:.85rem;font-weight:700;display:grid}@media (width<=48rem){.app{grid-template-rows:1fr auto;grid-template-columns:1fr}.panel{margin:var(--gap-2);padding:var(--gap-3);border-radius:var(--radius-card)}.sidebar{border-top:1px solid var(--line);background:var(--surface);flex-direction:row;order:2;gap:0;padding:0}.brand,.nav-heading,.sidebar-footer{display:none}.nav-group{flex-direction:row;flex:1}.nav-item{border-radius:0;flex:1;justify-content:center;font-size:.8rem}.nav-item[aria-current=page]{box-shadow:none;background:var(--teal-050);border-top:3px solid var(--teal-500)}h1{margin-top:var(--gap-3);font-size:1.5rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.icon{width:1.35rem;height:1.35rem;color:var(--slate-700);flex:none}.nav-item[aria-current=page] .icon{color:var(--teal-500)}.avatar .brand-mark{width:1.6rem;height:1rem}.avatar{background:var(--surface);box-shadow:var(--shadow-card)}.menu{position:relative}.menu-button{min-height:var(--target);padding:0 var(--gap-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);cursor:pointer;align-items:center;list-style:none;display:inline-flex}.menu-button::-webkit-details-marker{display:none}.menu-button:after{content:"";width:.45rem;height:.45rem;border-inline-end:2px solid;border-bottom:2px solid;margin-inline-start:var(--gap-2);transform:rotate(45deg)translateY(-2px)}.menu-panel{z-index:10;gap:var(--gap-2);min-width:16rem;margin-top:var(--gap-1);padding:var(--gap-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-panel);display:grid;position:absolute;inset-inline-end:0}.greeting{margin:var(--gap-4) 0 var(--gap-4);padding:var(--gap-4) var(--gap-5);border-radius:var(--radius-card);background:linear-gradient(120deg, var(--teal-600) 0%, var(--teal-500) 100%);color:#fff}.greeting h1{color:#fff;margin:0}.greeting p{opacity:.92;margin:.25rem 0 0}:root{--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--ink:#0a1b2e;--ink-2:#12283f;--teal-ink:#7ed4c7}.signin{grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:100dvh;display:grid}.signin-brand{gap:var(--gap-4);padding:var(--gap-5) clamp(1.5rem, 5vw, 4.5rem);background:radial-gradient(120% 80% at 0% 100%, #2e9c9c47 0%, transparent 60%), linear-gradient(160deg, var(--ink) 0%, var(--ink-2) 100%);color:#e9f1f5;flex-direction:column;display:flex}.brand-light{color:#fff;padding-inline:0}.signin-tagline{max-width:14ch;font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:auto 0 0;font-size:clamp(2.2rem,4.2vw,3.6rem);font-weight:500;line-height:1.08}.signin-tagline em{color:var(--teal-ink);display:block}.signin-sub{color:#b9c9d4;max-width:34ch;margin:0;font-size:1.1rem}.signin-how{padding-top:var(--gap-4);border-top:1px solid #ffffff24;margin-top:auto}.signin-how-title{margin:0 0 var(--gap-2);color:var(--teal-ink);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.signin-steps{gap:var(--gap-2);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.signin-steps li{align-items:start;gap:var(--gap-2);counter-increment:step;grid-template-columns:2rem 1fr;display:grid}.signin-steps li:before{content:counter(step);width:1.75rem;height:1.75rem;color:var(--teal-ink);border:1px solid #7ed4c799;border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;display:grid}.signin-main{padding:var(--gap-4) clamp(1rem, 5vw, 4.5rem) var(--gap-5);flex-direction:column;display:flex}.signin-lang{justify-content:flex-end;display:flex}.signin-card{gap:var(--gap-3);width:100%;max-width:30rem;padding:var(--gap-5);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-panel);flex-direction:column;margin:auto;display:flex}.signin-card h1{font-family:var(--font-display);margin:0;font-weight:500}.signin-card .muted{margin:0}.button-large{min-height:3.5rem;font-size:1.1rem}.signin-first{font-size:.95rem}.signin-answers{gap:var(--gap-3);margin-top:var(--gap-2);padding-top:var(--gap-3);border-top:1px solid var(--line);display:grid}.signin-answers p{color:var(--slate-700);margin:.25rem 0 0}@media (width<=48rem){.signin{grid-template-columns:1fr}.signin-brand{gap:var(--gap-3);padding-block:var(--gap-4)}.signin-tagline{margin-top:var(--gap-3);max-width:none}.signin-how{display:none}.signin-card{margin:var(--gap-3) 0 0;padding:var(--gap-4)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.update-banner{top:env(safe-area-inset-top,0px);z-index:20;justify-content:center;align-items:center;gap:var(--gap-3);padding:var(--gap-2) var(--gap-3);background:var(--slate-900);color:#fff;flex-wrap:wrap;display:flex;position:sticky}
