body.login-page { background: #005380; }
.login-page .bg-blue, .bad-account-page .bg-blue { background-color: #005380 !important; }
.login-page .card { border-radius: 0; }
.login-page .account-status { margin-top: 18px; overflow-wrap: anywhere; }
.login-page .account-status:empty { display: none; }
.bad-login-dialog {
    box-sizing: border-box; width: min(420px, calc(100% - 32px)); max-height: calc(100dvh - 32px);
    margin: auto; padding: 34px 30px 32px; overflow: auto; border: 1px solid #e4edf3;
    border-radius: 20px; background: #fff; color: #19384c; text-align: center;
    font-family: inherit; box-shadow: 0 24px 80px rgb(0 25 43 / 28%);
}
.bad-login-dialog::backdrop { background: rgb(3 27 44 / 60%); backdrop-filter: blur(4px); }
.bad-login-dialog:focus { outline: none; }
.bad-login-dialog__brand { display: block; color: #648194; font-size: 12px; font-weight: 600; letter-spacing: .5px; }
.bad-login-dialog__brand span { padding: 0 5px; }
.bad-login-dialog__indicator {
    display: grid; place-items: center; position: relative; width: 70px; height: 70px;
    margin: 24px auto 20px; border-radius: 50%; background: #edf6fb; color: #005380;
}
.bad-login-dialog[data-state='pending'] .bad-login-dialog__indicator::after {
    content: ''; width: 32px; height: 32px; border: 3px solid #d0e5f1; border-top-color: #005380;
    border-radius: 50%; animation: bad-login-spin .8s linear infinite;
}
.bad-login-dialog__indicator svg { display: none; width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.bad-login-dialog[data-state='success'] .bad-login-dialog__indicator { background: #eaf7f0; color: #24865b; }
.bad-login-dialog[data-state='success'] .bad-login-dialog__check { display: block; }
.bad-login-dialog[data-state='error'] .bad-login-dialog__indicator { background: #fff0ed; color: #ba4b35; }
.bad-login-dialog[data-state='error'] .bad-login-dialog__error { display: block; }
.bad-login-dialog h2 { margin: 0 0 12px; font-size: 23px; font-weight: 700; line-height: 1.3; }
.bad-login-dialog #login-status { margin: 0; color: #607484; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.bad-login-dialog__close { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: #607484; font-size: 26px; line-height: 1; }
.bad-login-dialog__retry { width: 100%; margin-top: 26px; padding: 12px 18px; border: 0; border-radius: 9px; background: #005380; color: #fff; font: inherit; font-size: 14px; font-weight: 600; }
.bad-login-dialog button { cursor: pointer; }
.bad-login-dialog button[hidden] { display: none; }
.bad-login-dialog__close:hover { background: #edf3f7; }
.bad-login-dialog__retry:hover { background: #004367; }
.bad-login-dialog button:focus-visible { outline: 3px solid #75bde9; outline-offset: 3px; }
@keyframes bad-login-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .bad-login-dialog[data-state='pending'] .bad-login-dialog__indicator::after { animation: none; } }
body.bad-registration-page { background-color: #005380 !important; background-image: none !important; }
.bad-registration-page .demo-checkbox > label[for='termos-reg']:not(.error) { display: initial !important; }
.bad-registration-page .form-group { margin-top: 25px; }
.bad-registration-page .render-form { border-radius: 0 !important; padding: 25px; }
.bad-registration-page .submit-btn-change-value { background-color: #005380 !important; border-color: #005380; font-size: 20px !important; font-weight: 700; padding: 12px; }
.bad-registration-page .account-status:empty { display: none; }
body.bad-account-page { background: #005380; padding: 30px 20px; }
.bad-account-page main { max-width: 1070px; margin: 0 auto; }
.bad-account-page .account-brand { background: #fff; margin-bottom: 30px; padding: 24px; }
.bad-account-page .account-brand img { width: 160px; max-width: 100%; height: auto; }
.bad-account-page .account-card { background: #fff; padding: 30px 24px; }
.bad-account-page h1 { font-size: 28px; font-weight: 700; margin: 12px 0 28px; }
.bad-account-page .form-group { margin: 0 0 28px; }
.bad-account-page .form-group label { font-size: 17px; font-weight: 700; color: #222; }
.bad-account-page .form-control { height: 42px; }
.bad-account-page .form-group small { color: #666; }
.bad-account-page #accept-terms + label { font-size: 14px; font-weight: 400; }
.bad-account-page .required { color: #b40000; }
.bad-account-page .account-status { margin-top: 20px; overflow-wrap: anywhere; }
.bad-account-page .account-status:empty { display: none; }
.bad-account-page nav { margin-top: 20px; background: transparent; box-shadow: none; height: auto; line-height: 1.6; }
.bad-account-page nav a { color: #528dbd; display: inline-block; margin-right: 20px; }
@media (max-width: 600px) {
    body.bad-account-page { padding: 16px 12px; }
    .bad-account-page .account-card { padding: 20px 16px; }
    .bad-account-page h1 { font-size: 23px; }
}
