:root{--ink:#153c55;--muted:#526c7c;--line:#d5e1e7;--institution-primary:#276664;--tblr-font-sans-serif:"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#edf4f4;font-family:var(--tblr-font-sans-serif)}
.auth-shell{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:40px 24px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 12% 25%,#d8e8e5 0,transparent 52%),radial-gradient(ellipse at 90% 80%,#cfdfdf 0,transparent 52%),linear-gradient(135deg,#f1f6f7,#e4eeee)}
.auth-shell:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background:linear-gradient(120deg,transparent 65%,#fff 65.15%,transparent 65.3%),linear-gradient(120deg,transparent 73%,#fff 73.15%,transparent 73.3%)}
.auth-content{width:100%;max-width:440px}.auth-card{border:1px solid #e0e9eb;border-radius:12px;background:#fff;box-shadow:0 18px 64px #163f5012,0 2px 8px #163f5006;overflow:hidden}.auth-card .card-body{padding:34px 40px 28px}.brand-frame{position:relative;width:240px;height:141px;margin:-8px auto 8px;overflow:hidden}.brand-logo{position:absolute;width:260px;height:260px;max-width:none;object-fit:contain;left:-10px;top:-51px}.auth-heading{text-align:center;margin-bottom:30px}.eyebrow{font-size:10px!important;font-weight:650;letter-spacing:1.6px;color:var(--institution-primary)!important;margin:0 0 10px!important}.auth-heading h1{font-size:24px;line-height:1.25;font-weight:700;letter-spacing:-.55px;margin:0 0 9px;color:#12314d}.auth-heading p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.field-group{margin-bottom:20px}.form-label{color:#244356;font-size:13px;font-weight:600;margin-bottom:8px}.form-control{height:48px;border:1px solid var(--line);border-radius:6px;background:#fbfcfd;font-size:14px;color:#17384a;box-shadow:0 1px 2px #183b4803}.form-control::placeholder{color:#778c99}.form-control:focus{border-color:var(--institution-primary);box-shadow:0 0 0 3px #2766641c;background:#fff}.input-icon-addon{width:42px;color:#35566c}.input-icon-addon img{opacity:.72}.input-icon .form-control{padding-left:42px}.password-field .form-control{padding-right:48px}.password-toggle{position:absolute;right:3px;top:3px;width:42px;height:42px;display:grid;place-items:center;background:transparent;border:0;border-radius:4px;cursor:pointer;opacity:.65}.password-toggle:hover{background:#edf3f3;opacity:1}.password-toggle:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #49ab8a;outline-offset:3px}.login-submit{height:48px;margin-top:8px;gap:10px;font-size:14px;font-weight:650;border-radius:6px;box-shadow:0 3px 8px #1b5c4d18}.btn-primary{background:var(--institution-primary);border-color:var(--institution-primary);color:#fff}.btn-primary:hover,.btn-primary:active,.btn-primary:focus-visible{background:color-mix(in srgb,var(--institution-primary),#000 15%)!important;border-color:var(--institution-primary)!important}.login-submit>img{filter:brightness(0) invert(1)}.login-submit:disabled{background:var(--institution-primary);border-color:var(--institution-primary);opacity:.72;cursor:wait}.form-control:disabled{background:#f0f4f5}.auth-error{font-size:13px;line-height:1.5;padding:12px 14px;margin-bottom:20px;border-radius:6px;background:#fff5f3;color:#8c3027;border-color:#eed5d0}.auth-assurance{display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #edf1f3;margin-top:27px;padding-top:20px;font-size:11px;color:#627782}.auth-assurance img{opacity:.5}.auth-footer{text-align:center;color:#506a77;font-size:11px;line-height:1.65;margin:24px 0 0}.auth-footer p{margin:0}.auth-footer p:first-child{font-weight:500}.auth-footer span{padding:0 4px}.welcome-card{max-width:680px;text-align:center}.welcome-card .card-body{padding:40px}.welcome-card h1{font-size:25px;margin-bottom:24px}[hidden]{display:none!important}
@media(max-width:520px){.auth-shell{padding:28px 20px}.auth-card .card-body{padding:28px 25px 24px}.auth-heading{margin-bottom:26px}.auth-heading h1{font-size:23px}.brand-frame{margin-top:-12px}.form-control{font-size:16px}.auth-footer{margin-top:20px}.auth-assurance{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
