/* Loaded only by the standalone login layout. */
.login-page {
    box-sizing: border-box;
    margin: 0;
    min-height: 100vh;
    min-height: 100svh;
    padding: 32px 20px;
    display: flex;
    flex-direction: column;
    color: #253449;
    background: #fff;
    font: 16px/1.5 system-ui, sans-serif;
    color-scheme: light;
}
.login-page *, .login-page *::before, .login-page *::after { box-sizing: border-box; }
.login-page .login-shell {
    width: 100%;
    max-width: 500px;
    flex: 0 0 auto;
    margin: auto;
}
.login-page .login-logo { display: block; width: 100%; height: auto; }
.login-page .login-content { width: 100%; max-width: 320px; margin: 28px auto 0; }
.login-page label { display: block; margin: 16px 0 6px; font-weight: 600; }
.login-page input:not([type=hidden]) {
    display: block;
    width: 100%;
    min-height: 44px;
    border: 1px solid #aab8ca;
    border-radius: 4px;
    padding: 9px 12px;
    background: #fff;
    color: inherit;
    font: inherit;
}
.login-page button {
    display: block;
    width: 100%;
    min-height: 44px;
    margin-top: 22px;
    padding: 10px 16px;
    border: 0;
    border-radius: 4px;
    background: #225ca9;
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.login-page button:hover:not(:disabled) { background: #194b8e; }
.login-page button:disabled { opacity: .5; cursor: wait; }
.login-page :focus-visible { outline: 3px solid #225ca9; outline-offset: 3px; }
.login-page .login-message, .login-page .login-error { margin: 16px 0; overflow-wrap: anywhere; }
.login-page .login-message { padding: 12px; background: #e9f0fa; border-radius: 4px; }
.login-page .login-error { color: #a92030; }
