@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Quicksand:wght@500;600;700&display=swap');
:root{color-scheme:light;--ink:#18364c;--muted:#586d7c;--blue:#004b87}*{box-sizing:border-box}body{margin:0;font:14px/1.6 Inter,Arial,sans-serif;background:#f8fafc;color:var(--ink)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #31a2c9;outline-offset:4px}.app-entry{display:grid;grid-template-columns:1.08fr 1fr;min-height:100svh}.welcome{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:45px clamp(35px,5vw,90px);background:#053f69;background-image:radial-gradient(ellipse at 90% 100%,#096988 0,transparent 65%),linear-gradient(135deg,#063552,#004b87);color:white}.brand{display:block;width:290px;max-width:100%;overflow:hidden;z-index:1}.brand img{display:block;width:100%;height:auto;margin-left:0}.welcome-copy{margin-block:auto;padding:70px 0 90px;position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.6px;color:#b5dbea}.welcome h1{font:700 clamp(40px,4.6vw,72px)/1.08 Quicksand,Arial;letter-spacing:-2.5px;margin:27px 0}.welcome h1 span{color:#91daeb}.welcome-copy>p{font-size:16px;color:#c4dce8;line-height:1.85;margin:0}.signature{display:flex;align-items:center;gap:12px;color:#b5d8e7;font-size:12px;margin-top:36px}.signature>span{height:1px;width:31px;background:#73bfd7}.institutional{width:fit-content;font-size:11px;color:#c0dce9;border-bottom:1px solid #ffffff45;z-index:1}.orbit{position:absolute;width:650px;height:650px;right:-360px;bottom:-225px;z-index:0;pointer-events:none;animation:drift 18s ease-in-out infinite alternate}.orbit-ring{position:absolute;border-radius:50%;border:1px solid #8ce5ff29;inset:0}.orbit-ring.two{inset:70px;background:#8ce5ff06}.orbit-ring.three{inset:140px;background:#8ce5ff08}.orb{position:absolute;width:16px;height:16px;background:#56bad5;border:5px solid #126583;border-radius:50%;box-shadow:0 0 0 10px #49c6e015}.orb.first{left:55px;top:120px}.orb.second{left:144px;top:179px;width:22px;height:22px}.orb.third{left:267px;top:134px}.access{display:flex;flex-direction:column;align-items:center;padding:44px clamp(28px,5vw,80px);background:#fbfcfd}.top-label{align-self:flex-end;display:flex;align-items:center;gap:8px;color:#6a7d8b;font-size:11px}.dot{width:6px;height:6px;background:#31a2c9;border-radius:50%}.access-inner{width:100%;max-width:390px;margin:auto;padding:60px 0}.blue{color:#387692;letter-spacing:1.8px}.access h2{font:700 36px/1.2 Quicksand,Arial;letter-spacing:-1.4px;margin:16px 0 10px}.intro{color:var(--muted);margin:0 0 32px;font-size:14px}form{width:100%}label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}input{border:1px solid #d4dfe7;background:#fff;color:var(--ink);border-radius:9px;height:51px;width:100%;padding:12px 15px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:#8293a0;font-size:13px}input:focus{border-color:#238ab2;box-shadow:0 0 0 3px #31a2c916}.label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.label-row a{font-size:11px;color:#346e92;margin-bottom:9px}.label-row a:hover,.back:hover{text-decoration:underline}.password-wrap{position:relative}.password-wrap input{padding-right:80px}.reveal{position:absolute;right:8px;top:6px;bottom:6px;border:0;padding:0 10px;background:transparent;color:#456a84;cursor:pointer;font-size:11px;font-weight:600;border-radius:5px}.submit{display:flex;align-items:center;justify-content:center;background:#004b87;color:white;border:0;border-radius:9px;height:50px;padding:12px 22px;width:100%;font-weight:600;margin-top:28px;cursor:pointer;box-shadow:0 5px 12px #004b8715;transition:background .2s,transform .2s}.submit:hover{background:#063b65;transform:translateY(-1px)}.first-access{border-top:1px solid #e4eaf0;margin-top:32px;padding-top:23px}.first-access strong{font-size:12px;font-weight:600}.first-access p{font-size:12px;line-height:1.8;color:var(--muted);margin:6px 0 0}.secure-note{display:flex;gap:7px;align-items:center;color:#788a97;font-size:10px;margin-top:27px}.secure-note svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}footer{width:100%;display:flex;gap:18px;justify-content:space-between;color:#7c8e9c;font-size:10px}footer span{color:#8a9ba7}.error,.notice{font-size:13px;padding:15px;border-radius:9px;margin:20px 0;line-height:1.7}.error{background:#fff1f0;border:1px solid #ecc7c4;color:#9a3c33}.notice{background:#eaf4f9;border:1px solid #d1e5ef;color:#285873}.field-help{display:block;color:var(--muted);font-size:11px;margin:7px 0 20px}.back{display:block;font-size:12px;color:var(--blue);text-align:center;margin-top:23px}.help-links{display:grid;gap:13px}.help-links a{border-bottom:1px solid #dce6ed;padding:10px 0;font-size:13px;color:var(--blue)}@keyframes drift{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(-18px) rotate(8deg)}}@media(min-width:1600px){.welcome{padding-inline:110px}.access-inner{max-width:420px}}@media(max-width:1000px){.welcome{padding:35px}.welcome h1{font-size:49px}.brand{width:245px}.access{padding:35px}.access h2{font-size:31px}.welcome-copy>p{font-size:14px}.orbit{right:-450px}}@media(max-width:700px){.app-entry{grid-template-columns:1fr}.welcome{padding:22px 28px 28px;min-height:0}.brand{width:230px}.welcome-copy{padding:24px 0 0;margin:0}.welcome .eyebrow{font-size:9px}.welcome h1{font-size:32px;letter-spacing:-1.2px;line-height:1.1;margin:12px 0 0}.welcome h1 br{display:initial}.welcome h1 br::after{content:' '}.welcome h1 span{display:block;margin-top:5px}.welcome-copy>p,.signature,.institutional{display:none}.orbit{width:350px;height:350px;right:-155px;bottom:-240px}.access{padding:25px 28px;min-height:calc(100svh - 240px)}.top-label{display:none}.access-inner{padding:15px 0 36px;max-width:420px}.access h2{font-size:29px;margin-top:12px}.intro{margin-bottom:24px}.access .eyebrow{font-size:9px}.first-access{margin-top:25px;padding-top:20px}footer{max-width:420px}.secure-note{margin-top:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
