.avs-login {
    max-width: 440px;
    margin: 24px auto;
    padding: 28px 28px 24px;
    background: #fff;
    border: 1px solid #e3e8ee;
    border-radius: 12px;
    box-shadow: 0 6px 24px rgba(15, 40, 80, 0.08);
}
.avs-login h2 { margin: 0 0 6px; font-size: 24px; }
.avs-login-lead { margin: 0 0 18px; color: #5b6573; }
.avs-login label { display: block; margin: 14px 0 6px; font-size: 14px; font-weight: 600; color: #1f2937; }
.avs-login input[type="email"],
.avs-login input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    font-size: 16px;
    border: 1px solid #c9d1db;
    border-radius: 8px;
}
.avs-login input:focus { outline: 2px solid #2293f0; outline-offset: 1px; border-color: #2293f0; }
.avs-login .avs-btn {
    display: inline-block;
    margin-top: 20px;
    width: 100%;
    padding: 12px 18px;
    text-align: center;
    font-size: 16px;
    cursor: pointer;
}
.avs-login .avs-btn:disabled { opacity: 0.65; cursor: wait; }
.avs-login-error {
    margin: 0 0 12px;
    padding: 10px 12px;
    font-size: 14px;
    color: #8a1c1c;
    background: #fdf1f1;
    border: 1px solid #f1c4c4;
    border-radius: 8px;
}
.avs-login-error[hidden] { display: none; }
.avs-login-alt { margin: 16px 0 0; font-size: 14px; text-align: center; }
.avs-login-actions .avs-btn { width: auto; margin-top: 8px; }
.avs-login-actions .avs-link { margin-left: 12px; }
.avs-login button.avs-btn,
.avs-login a.avs-btn {
    background: #2293f0;
    color: #fff;
    border: 0;
    border-radius: 999px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.avs-login button.avs-btn:hover,
.avs-login a.avs-btn:hover { background: #1a7fd4; color: #fff; }
.avs-login input:invalid { box-shadow: none; border-color: #c9d1db; }
.avs-login input:invalid:focus { border-color: #2293f0; }
