.login{position:relative;display:flex;flex-direction:column;min-height:100%;min-height:100dvh;background:var(--app-surface);overflow-x:hidden}.login__stage{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;padding:max(32px,calc((100dvh - 700px)*.45)) 16px 24px}.login__card{width:100%;max-width:460px;padding:36px;border:1px solid var(--app-outline-variant);border-radius:var(--app-radius-card);background:var(--app-surface-lowest);box-shadow:var(--app-shadow);animation:login-card-in var(--app-dur-base) var(--app-ease-enter) backwards}@media (max-width: 599px){.login__card{padding:24px 20px}}@keyframes login-card-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion: reduce){.login__card{animation:none}}.login__back-slot{display:flex;align-items:center;height:48px}.login__back{margin-left:-12px;gap:8px;font-size:var(--app-text-body)}.login__logo{display:block;height:32px;width:auto;max-width:100%;margin:2px auto 20px}.login__footer{padding:16px 16px 24px}.login__footer-links{display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:8px 16px;max-width:560px;margin:0 auto;padding:0;list-style:none}.login__footer-links a{display:inline-block;padding:8px 4px;border-radius:var(--app-radius-tile);color:var(--app-muted);font-size:var(--app-text-small);font-weight:500;text-decoration:none}.login__footer-links a:hover{text-decoration:underline}.login__credit{margin:8px 0 0;color:var(--app-muted);font-size:11px;font-weight:500;text-align:center}.auth-form__step{animation:auth-step-in var(--app-dur-slow) var(--app-ease-enter) backwards}.auth-form__step--reverse{animation-name:auth-step-in-reverse}@keyframes auth-step-in{0%{opacity:0;transform:translate(30px)}}@keyframes auth-step-in-reverse{0%{opacity:0;transform:translate(-30px)}}@media (prefers-reduced-motion: reduce){.auth-form__step{animation:none}}.auth-step{display:flex;flex-direction:column;gap:16px}.auth-step__title{margin:0 0 -8px;font-size:var(--app-text-headline);font-weight:700;letter-spacing:-.015em;line-height:1.2;text-align:center}.auth-step__lead{margin:0 0 8px;color:var(--app-muted);font-size:var(--app-text-body);line-height:1.5;text-align:center}.auth-step__lead--tight{margin-bottom:-12px}.auth-step__hint{margin:0;color:var(--app-muted);font-size:var(--app-text-body);text-align:center}.auth-step__icon{align-self:center}.auth-step__end{display:flex;justify-content:flex-end;margin:-8px 0 -4px}.auth-step__start{display:flex;justify-content:flex-start;margin:-8px 0 -4px}.auth-error{margin:-8px 0 0;color:var(--app-danger-text);font-size:var(--app-text-body)}.auth-error--center{margin:0;text-align:center}.auth-email-display .field__input{text-overflow:ellipsis}.auth-or{display:flex;align-items:center;gap:12px;margin:8px 0}.auth-or__line{flex:1;height:1px;background:var(--app-outline-variant)}.auth-or__label{color:var(--app-muted);font-size:var(--app-text-small);font-weight:600}.auth-eduplaces{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 15px;border-radius:8px;background:linear-gradient(150deg,#4a00b8,#7d285a);color:#fafafa;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}.auth-eduplaces:hover{background-image:linear-gradient(#fafafa1f,#fafafa1f),linear-gradient(150deg,#4a00b8,#7d285a)}.auth-eduplaces:focus-visible{outline:2px solid var(--app-focus-ring);outline-offset:2px}.auth-eduplaces__icon{flex:none;width:31px;height:22px;margin-top:2px;background:#fafafa;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.auth-eduplaces__label{overflow:hidden;text-overflow:ellipsis}.auth-sso-progress{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.auth-sso-progress__title{margin:8px 0 0;font-size:16px;font-weight:500;text-align:center}.auth-code__boxes{display:flex;justify-content:center;gap:8px}.auth-code__box{width:50px;height:54px;min-width:0;flex:0 1 50px;border:1px solid var(--app-control-line);border-radius:var(--app-radius);background:var(--app-fill);color:var(--app-on-surface);font:inherit;font-size:20px;font-weight:700;text-align:center}.auth-code__box:focus{outline:none;border-color:var(--app-accent);background:var(--app-surface-lowest)}.auth-code__box--error{border-color:var(--app-danger)}.auth-code__error{text-align:center}.auth-resend{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:var(--app-text-body)}.auth-resend>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.auth-select__input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}.auth-select .auth-select__label{top:12px;font-size:12px;font-weight:600}.auth-select__input:focus+.auth-select__label{color:var(--app-accent-text)}.auth-check{display:flex;align-items:flex-start;gap:12px;padding:8px 12px;border-radius:var(--app-radius-tile);font-size:var(--app-text-body);line-height:1.4;cursor:pointer}.auth-check:hover{background:var(--app-hover)}.auth-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--app-primary)}.auth-link{align-self:flex-start;padding:0;border:0;background:none;color:var(--app-accent-text);font:inherit;font-size:var(--app-text-body);text-decoration:underline;cursor:pointer}.guest-claim{padding-top:8px}.guest-claim__text{margin:0 0 8px;font-size:var(--app-text-body)}.guest-claim__error{display:flex;flex-direction:column;gap:8px}.guest-claim__error .auth-error{margin:0}.guest-claim__links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
