:root {
            --burgundy: #8F191F;
            --orange: #F79621;
            --white: #FFFFFF;
            --canvas: #F7F4F2;
            --ink: #302A28;
            --muted: #746C68;
            --border: #E8DFDA;
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            min-height: 100vh;
            padding: 20px;
            background: var(--canvas);
            color: var(--ink);
            font-family: Arial, Helvetica, sans-serif;
            display: grid;
            place-items: center;
        }

        .login-card {
            width: min(440px, 100%);
            overflow: hidden;
            border: 1px solid var(--border);
            border-radius: 16px;
            background: var(--white);
            box-shadow: 0 18px 45px rgba(79, 54, 44, .13);
        }

        .accent-line {
            height: 5px;
            background:
                linear-gradient(
                    90deg,
                    var(--burgundy) 0 62%,
                    var(--orange) 62% 100%
                );
        }

        .login-header {
            padding: 29px 32px 20px;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 13px;
        }

        .brand-mark {
            width: 46px;
            height: 46px;
            border: 2px solid var(--border);
            border-radius: 12px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 1px;
            font-size: 19px;
            font-weight: 900;
            letter-spacing: 0;
        }

        .brand-mark .l {
            color: var(--burgundy);
        }

        .brand-mark .e {
            color: var(--orange);
        }

        h1 {
            margin: 0;
            font-size: 24px;
        }

        h1 .loan {
            color: var(--burgundy);
        }

        h1 .express {
            color: var(--orange);
        }

        h1 .operations {
            color: var(--ink);
            font-weight: 700;
        }

        .login-body {
            padding: 8px 32px 34px;
        }

        .subtitle {
            margin-bottom: 24px;
            color: var(--muted);
        }

        label {
            display: block;
            margin: 16px 0 6px;
            color: var(--burgundy);
            font-weight: 800;
        }

        input {
            width: 100%;
            padding: 12px;
            border: 1px solid #CEC4BF;
            border-radius: 8px;
            font-size: 16px;
        }

        input:focus {
            border-color: var(--orange);
            outline: 3px solid rgba(247, 150, 33, .18);
        }

        button {
            width: 100%;
            margin-top: 24px;
            padding: 13px;
            border: 0;
            border-radius: 8px;
            background: var(--burgundy);
            color: var(--white);
            font-size: 16px;
            font-weight: 900;
            cursor: pointer;
        }

        button:hover {
            background: var(--orange);
        }

        .error {
            padding: 11px;
            border: 1px solid var(--burgundy);
            background: #FFFFFF;
            color: var(--burgundy);
        }

.login-body h1 {
    margin: 0 0 10px;
    color: var(--burgundy);
    font-size: 24px;
}

.login-body p {
    line-height: 1.5;
}

.login-body form {
    margin-top: 20px;
}

.login-body table,
.login-body tbody,
.login-body tr,
.login-body th,
.login-body td {
    display: block;
    width: 100%;
}

.login-body th {
    padding: 0;
    text-align: left;
}

.login-body td {
    padding: 0;
}

.login-body select {
    width: 100%;
    min-height: 44px;
    padding: 10px;
    border: 1px solid #CEC4BF;
    border-radius: 8px;
    background: #FFFFFF;
    font-size: 16px;
}

.login-body .errorlist {
    margin: 7px 0;
    padding: 10px 12px;
    border: 1px solid var(--burgundy);
    background: #FFFFFF;
    color: var(--burgundy);
    list-style: none;
}

.login-body .helptext {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.4;
}

.auth-message {
    margin-bottom: 18px;
    padding: 11px;
    border: 1px solid var(--orange);
    background: #FFFFFF;
}

.wizard-actions {
    display: flex;
    gap: 10px;
    margin-top: 24px;
}

.wizard-actions button {
    flex: 1;
    width: auto;
    margin-top: 0;
}

.wizard-actions .wizard-back-link {
    display: flex;
    flex: 1;
    width: auto;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding: 13px;
    font-size: 16px;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
}

.wizard-actions .secondary-button {
    border: 1px solid var(--border);
    background: #F3EFED;
    color: var(--burgundy);
}

.wizard-actions .secondary-button:hover {
    background: #E9E0DC;
}

.alternate-methods {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid var(--border);
}

.alternate-methods button {
    margin-top: 8px;
    background: #F3EFED;
    color: var(--burgundy);
}

.security-navigation {
    display: flex;
    justify-content: center;
    gap: 17px;
    margin-top: 17px;
    font-size: 15px;
}

.security-navigation a {
    color: var(--burgundy);
    font-weight: 700;
    text-decoration: none;
}

.security-navigation a:hover {
    text-decoration: underline;
}

/* Authenticated Account Security footer */
.login-card .brand,
.login-card .brand:visited,
.login-card .brand:hover,
.login-card .brand:focus {
    color: inherit;
    text-decoration: none;
}

.login-card .security-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 0;
    padding: 17px 28px 22px;
    border-top: 1px solid var(--border);
    font-size: 13px;
}

.login-card .security-navigation a,
.login-card .security-navigation button {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--burgundy);
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.login-card .security-navigation a:hover,
.login-card .security-navigation button:hover {
    text-decoration: underline;
}

.login-card .security-navigation form {
    margin: 0;
}

@media (max-width: 520px) {
    .login-card .security-navigation {
        flex-wrap: wrap;
        gap: 16px;
        padding-right: 22px;
        padding-left: 22px;
    }
}

.auth-page-shell {
    width: 100%;
}

.auth-page-shell .login-card {
    margin-right: auto;
    margin-left: auto;
}
