@font-face{font-family:Figtree;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/figtree-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/outfit-latin.woff2)format("woff2")}:root{--brand-deep:#102f4e;--primary:#2d5e86;--primary-hover:#244e70;--brand-muted:#d2e2ec;--background:#f7f9fa;--foreground:#102f4e;--card:#fff;--muted:#e9f0f4;--muted-foreground:#536676;--border:#c5d5df;--destructive:#b42318;--destructive-bg:#fff0ee;--radius:.5rem;color:var(--foreground);background:var(--background);font-synthesis:none;font-family:Figtree,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}.app-shell{background:var(--background);width:100%;min-height:100vh;display:flex}.brand{width:42%;min-height:100vh;color:var(--background);background:var(--brand-deep);flex-direction:column;justify-content:space-between;padding:3rem;display:flex;position:relative;overflow:hidden}.brand-watermark{color:#f7f9fa09;-webkit-user-select:none;user-select:none;font-family:Outfit,sans-serif;font-size:clamp(15rem,22vw,23rem);font-weight:800;line-height:.75;position:absolute;bottom:-3.5rem;left:-3.5rem}.brand-content,.brand>p{z-index:1;position:relative}.brand-content{animation:.6s ease-out both fade-in}.brand-logo{object-fit:contain;object-position:left;width:12rem;height:auto;margin-bottom:3.5rem;display:block}.brand-heading{max-width:32rem}.eyebrow,.step-label,.mobile-brand>span,footer span{text-transform:uppercase;font-family:JetBrains Mono,monospace}.eyebrow{color:var(--brand-muted);letter-spacing:.08em;font-size:.75rem;font-weight:600}h1,h2{text-wrap:balance;font-family:Outfit,sans-serif}h1{letter-spacing:-.035em;margin:1.5rem 0 0;font-size:clamp(3rem,4.25vw,4rem);font-weight:700;line-height:1.05}.brand>p{color:#d2e2eccc;max-width:24rem;margin:0;font-size:1.125rem;line-height:1.65}.panel{flex:1;justify-content:center;align-items:center;min-height:100vh;padding:3.5rem;display:flex;overflow-y:auto}.panel-content,.mobile-brand{width:100%;max-width:28.75rem}.mobile-brand{display:none}.progress{align-items:center;width:100%;margin-bottom:3rem;display:flex}.progress span{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted-foreground);background:var(--background);border-radius:50%;flex:0 0 2rem;place-items:center;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;transition:border-color .18s,background-color .18s,color .18s;display:grid}.progress span.active,.progress span.done{border-color:var(--primary);color:var(--background);background:var(--primary)}.progress span svg{width:1rem;height:1rem}.progress i{background:var(--border);flex:1;height:1px;margin:0 .75rem;transition:background-color .18s}.progress i.done{background:var(--primary)}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.step-content{animation:.42s cubic-bezier(.16,1,.3,1) both step-enter}.step-header{margin-bottom:2rem}.step-label{color:var(--primary);letter-spacing:.04em;margin:0 0 .75rem;font-size:.75rem;font-weight:600}h2{letter-spacing:-.025em;margin:0;font-size:clamp(2rem,3vw,2.25rem);font-weight:700;line-height:1.1}.muted{color:var(--muted-foreground);margin:.75rem 0 0;line-height:1.6}form{gap:1.25rem;display:grid}label{color:var(--foreground);letter-spacing:.025em;text-transform:uppercase;gap:.5rem;font-size:.75rem;font-weight:600;display:grid}input,select{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:3rem;color:var(--foreground);background:var(--card);letter-spacing:0;text-transform:none;outline:none;padding:0 1rem;font-size:1rem;font-weight:400;transition:border-color .18s,box-shadow .18s}input::placeholder{color:#536676b3}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #2d5e861a}.select-wrap{display:block;position:relative}select{appearance:none;padding-right:2.75rem}.chevron{pointer-events:none;width:1rem;height:1rem;color:var(--muted-foreground);position:absolute;top:50%;right:1rem;transform:translateY(-50%)}label small{color:var(--muted-foreground);letter-spacing:0;text-transform:none;font-size:.75rem;font-weight:400;line-height:1.45}label small.field-error{color:var(--destructive)}input[aria-invalid=true]{border-color:var(--destructive)}.consent{letter-spacing:0;text-transform:none;cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding-top:.25rem;font-size:.875rem;font-weight:400;line-height:1.45;display:grid}.consent input{width:1.25rem;height:1.25rem;accent-color:var(--primary);margin:.05rem 0 0}.welcome{border-radius:var(--radius);color:var(--brand-deep);background:#d2e2ec8c;margin:0;padding:.75rem 1rem;font-size:.875rem}button{border:1px solid var(--primary);border-radius:var(--radius);width:100%;min-height:3rem;color:var(--background);background:var(--primary);cursor:pointer;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;transition:border-color .18s,background-color .18s,box-shadow .18s}button:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}button:focus-visible{outline:none;box-shadow:0 0 0 4px #2d5e862e}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{color:var(--primary);background:0 0}button.secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#d2e2ec80}.actions{gap:.75rem;display:grid}.login-alternatives{margin-top:.75rem}.error{border:1px solid #b4231833;border-left:3px solid var(--destructive);border-radius:var(--radius);color:#8b1d14;background:var(--destructive-bg);margin-bottom:1.5rem;padding:.9rem 1rem;font-size:.875rem;line-height:1.45}.captcha{min-height:65px;overflow:hidden}.status{gap:1.75rem;display:grid}.status .step-header{margin:0}.status-icon{width:3.5rem;height:3.5rem;color:var(--primary);background:var(--brand-muted);border-radius:50%;place-items:center;display:grid}.status-icon svg{width:1.75rem;height:1.75rem}.portal-content{max-width:31rem}.portal-state{gap:1.75rem;animation:.42s cubic-bezier(.16,1,.3,1) both step-enter;display:grid}.portal-state .step-header{margin:0}.portal-mark{width:3.75rem;height:3.75rem;color:var(--primary);background:var(--brand-muted);border-radius:1rem;place-items:center;display:grid}.portal-mark svg{width:2rem;height:2rem}.portal-actions{grid-template-columns:1fr 1fr}.auth-links{justify-content:space-between;gap:1rem;margin:1rem 0 0;display:flex}button.link{color:var(--primary);box-shadow:none;background:0 0;border:0;padding:0;font-size:.875rem;font-weight:600}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}.spinner{border:3px solid var(--brand-muted);border-top-color:var(--primary);border-radius:50%;width:2.75rem;height:2.75rem;animation:.8s linear infinite spin}.processing{color:var(--muted-foreground);text-align:center;margin:1rem 0 0;font-size:.875rem}footer{border-top:1px solid var(--border);color:var(--muted-foreground);justify-content:center;align-items:center;gap:.5rem;margin-top:2.5rem;padding-top:1.75rem;display:flex}footer svg{width:1rem;height:1rem}footer span{letter-spacing:.04em;font-size:.625rem}@keyframes step-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1280px){.brand{padding:4rem}}@media (width<=1023px){.brand{display:none}.panel{flex-direction:column;justify-content:center;min-height:100vh;padding:2.5rem;display:flex}.mobile-brand{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.mobile-logo{background:var(--brand-deep);border-radius:.375rem;align-items:center;min-height:2.75rem;padding:.5rem .75rem;display:flex}.mobile-logo img{width:auto;height:1.75rem;display:block}.mobile-brand>span{color:var(--muted-foreground);letter-spacing:.04em;font-size:.625rem}}@media (width<=560px){.panel{justify-content:flex-start;padding:2rem 1.5rem}.mobile-brand,.progress{margin-bottom:2.5rem}.progress i{margin:0 .5rem}h2{font-size:2rem}.captcha{max-width:calc(100vw - 3rem)}.portal-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
