/* The same blue identity is visible before entering the workspace. */
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; padding: 28px 18px; display: grid; place-items: center; background: #123F7A; background-image: radial-gradient(ellipse at 100% 0%, #087DBB90, transparent 60%); color: #17324D; font: 16px/1.6 Inter, system-ui, sans-serif; }
form { width: min(470px, 100%); padding: 42px 40px 36px; border: 1px solid #FFFFFF70; border-radius: 24px; background: #FFF; box-shadow: 0 22px 70px #06264B35; }
.login-logo { display: block; padding-bottom: 34px; border-bottom: 1px solid #D5E5F0; margin-bottom: 28px; }
.login-logo img { display: block; width: 100%; max-width: 350px; height: auto; margin: auto; }
.login-eyebrow { color: #087DBB; font-size: 10px; letter-spacing: 1.6px; font-weight: 700; margin: 0 0 9px; }
h2 { margin: 0 0 10px; color: #123F7A; font-size: 28px; line-height: 1.25; letter-spacing: -.65px; }
p { color: #60758A; font-size: 14px; line-height: 1.7; margin-top: 0; }
label { display: block; margin-top: 28px; color: #17324D; font-size: 13px; font-weight: 650; }
input { width: 100%; padding: 14px; margin-top: 9px; border: 1px solid #BED4E4; border-radius: 10px; background: #F5FAFD; color: #17324D; font: inherit; min-height: 50px; }
button { width: 100%; margin-top: 22px; padding: 14px 18px; min-height: 50px; border: 0; border-radius: 10px; background: #123F7A; color: #FFF; font: 650 15px/1.5 Inter, system-ui, sans-serif; cursor: pointer; }
button:hover { background: #0E3568; }
button:focus-visible, input:focus-visible { outline: 3px solid #087DBB80; outline-offset: 3px; }
form > p:last-child:not(:empty) { color: #A33542; margin: 17px 0 0; }
form > p:last-child:empty { display: none; }
@media (max-width: 480px) { form { padding: 32px 26px; border-radius: 20px; } .login-logo { padding-bottom: 29px; } h2 { font-size: 26px; } }
