body.login {
    --cxlp-login-bg-start: #091236;
    --cxlp-login-bg-end: #1a1f5d;
    --cxlp-login-surface: rgba(22, 31, 72, 0.86);
    --cxlp-login-surface-border: rgba(147, 173, 255, 0.2);
    --cxlp-login-text: #dce7ff;
    --cxlp-login-muted: #9bb1df;
    --cxlp-login-input-bg: rgba(9, 16, 46, 0.8);
    --cxlp-login-input-border: rgba(120, 144, 214, 0.34);
    --cxlp-login-focus: #4f8eff;
    --cxlp-login-btn-start: #4a5cf2;
    --cxlp-login-btn-end: #6477ff;
    --cxlp-login-shadow: 0 28px 56px rgba(1, 6, 24, 0.45);
    background: linear-gradient(130deg, var(--cxlp-login-bg-start) 0%, var(--cxlp-login-bg-end) 100%) !important;
    color: var(--cxlp-login-text);
    min-height: 100vh;
}

body.login #login {
    margin: 0 auto;
    max-width: 420px;
    padding: 6vh 18px 40px;
    width: 100%;
}

body.login #login h1 {
    margin-bottom: 18px;
}

body.login #login h1 a {
    background-position: center;
    background-size: 88px;
    border: 2px solid rgba(11, 153, 255, 0.7);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(7, 18, 49, 0.45);
    height: 88px;
    margin: 0 auto 14px;
    width: 88px;
}

body.login form {
    background: var(--cxlp-login-surface);
    border: 1px solid var(--cxlp-login-surface-border);
    border-radius: 16px;
    box-shadow: var(--cxlp-login-shadow);
    margin-top: 0;
    padding: 28px;
}

body.login label {
    color: var(--cxlp-login-text);
    font-size: 14px;
    font-weight: 600;
}

body.login .input,
body.login input[type='text'],
body.login input[type='password'] {
    background: var(--cxlp-login-input-bg) !important;
    border: 1px solid var(--cxlp-login-input-border) !important;
    border-radius: 10px !important;
    color: #eff4ff !important;
    font-size: 15px !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
}

body.login .input:focus,
body.login input[type='text']:focus,
body.login input[type='password']:focus {
    border-color: var(--cxlp-login-focus) !important;
    box-shadow: 0 0 0 1px var(--cxlp-login-focus), 0 0 0 4px rgba(79, 142, 255, 0.18) !important;
    outline: none !important;
}

body.login .wp-pwd .button.wp-hide-pw {
    border-radius: 10px;
    color: #8eb7ff;
}

body.login .wp-pwd .button.wp-hide-pw:hover {
    color: #bdd4ff;
}

body.login .forgetmenot label {
    color: var(--cxlp-login-muted);
}

body.login .button.wp-hide-pw:focus,
body.login .button.wp-hide-pw:active {
    box-shadow: 0 0 0 1px var(--cxlp-login-focus), 0 0 0 3px rgba(79, 142, 255, 0.18) !important;
}

body.login .button-primary {
    background: linear-gradient(135deg, var(--cxlp-login-btn-start) 0%, var(--cxlp-login-btn-end) 100%) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 20px rgba(74, 92, 242, 0.34);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    min-height: 46px !important;
    padding: 11px 16px !important;
    text-shadow: none !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
    width: 100%;
}

body.login .button-primary:hover,
body.login .button-primary:focus {
    box-shadow: 0 14px 26px rgba(74, 92, 242, 0.42);
    filter: brightness(1.04);
    transform: translateY(-1px);
}

body.login .button-primary:focus {
    box-shadow: 0 0 0 1px #ffffff, 0 0 0 4px rgba(79, 142, 255, 0.24), 0 12px 24px rgba(74, 92, 242, 0.38) !important;
}

body.login .message,
body.login #login_error,
body.login .success {
    background: rgba(11, 20, 57, 0.76);
    border: 1px solid rgba(130, 156, 230, 0.28);
    border-left-width: 4px;
    border-radius: 10px;
    box-shadow: none;
    color: #d9e6ff;
}

body.login .message a,
body.login #login_error a,
body.login .success a,
body.login #nav a,
body.login #backtoblog a,
body.login .privacy-policy-page-link a {
    color: #9fc4ff;
}

body.login .message a:hover,
body.login #login_error a:hover,
body.login .success a:hover,
body.login #nav a:hover,
body.login #backtoblog a:hover,
body.login .privacy-policy-page-link a:hover {
    color: #d8e8ff;
}

body.login #nav,
body.login #backtoblog,
body.login .privacy-policy-page-link {
    margin-top: 14px;
    text-align: center;
}

body.login #nav a,
body.login #backtoblog a,
body.login .privacy-policy-page-link a {
    color: #89a2d0;
    font-size: 14px;
}

@media (max-width: 480px) {
    body.login #login {
        padding: 4.5vh 14px 28px;
    }

    body.login form {
        padding: 22px 18px;
    }

    body.login .button-primary {
        font-size: 20px;
    }
}
