@font-face{font-family:Inter;src:url(/Inter-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/Inter-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/Inter-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#12253a;--white:#fff;--off-white:#f8f9fa;--grey-light:#e8eaed;--grey-mid:#6b7280;--grey-dark:#374151;--error:#9b2d2d;--error-bg:#fbf0f0;--success-bg:#eef7f2;--success:#2c6b4a}html,body{background-color:var(--white);height:100%;color:var(--primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}button,input,a{font:inherit}a{color:inherit}.auth-shell{background:var(--white);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{border:1px solid var(--grey-light);background:var(--white);width:100%;max-width:440px;padding:3rem 2.5rem}.auth-logo{width:auto;height:auto;margin:0 auto 2.5rem;display:block}.auth-state,.auth-form{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.auth-state h1,.auth-form h1{letter-spacing:-.02em;color:var(--primary);font-size:1.25rem;font-weight:600;line-height:1.2}.auth-state p,.auth-form p{max-width:34ch;color:var(--grey-mid);font-size:.875rem;line-height:1.6}.status-icon{border-radius:999px;place-items:center;width:48px;height:48px;margin-bottom:.75rem;font-size:1.25rem;font-weight:600;display:grid}.status-icon.success{background:var(--success-bg);color:var(--success);border:1px solid #c8e6d0}.status-icon.error{background:var(--error-bg);color:var(--error);border:1px solid #e8c0c0}.auth-divider{background:var(--grey-light);width:100%;height:1px;margin:1.25rem 0}.primary-link,.auth-form button{border:1px solid var(--primary);background:var(--primary);min-width:200px;min-height:50px;color:var(--white);letter-spacing:-.01em;cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:14px 28px;font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s,opacity .15s;display:inline-flex}.primary-link:hover,.auth-form button:hover:not(:disabled){background:#1a3550;border-color:#1a3550}.primary-link:focus-visible,.auth-form button:focus-visible,.auth-form input:focus-visible{outline-offset:3px;outline:3px solid #12253a3d}.auth-form{text-align:left;align-items:stretch;gap:1rem}.auth-form h1,.auth-form p{text-align:center;align-self:center}.auth-form label{color:var(--grey-dark);gap:8px;font-size:.9rem;font-weight:600;display:grid}.auth-form input{border:1px solid var(--grey-light);background:var(--white);width:100%;min-height:48px;color:var(--primary);border-radius:0;padding:0 14px}.auth-form button{width:100%;margin-top:.25rem}.auth-form button:disabled{cursor:not-allowed;opacity:.65}.form-error{background:var(--error-bg);width:100%;color:var(--error);border:1px solid #e8c0c0;border-radius:0;padding:12px 14px;font-size:.9rem;line-height:1.45}.spinner{border:2px solid var(--grey-light);border-top-color:var(--primary);border-radius:999px;width:28px;height:28px;animation:.7s linear infinite spin}.auth-footer{color:var(--grey-mid);letter-spacing:.1em;text-transform:uppercase;margin-top:2rem;font-size:.72rem}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (max-width:520px){.auth-card{padding:2.5rem 1.5rem}}
