body { 
    font-family: sans-serif; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 100vh; 
    background-color: #f4f4f4; 
    margin: 0;
}

.login-card { 
    background: white; 
    padding: 30px; 
    border-radius: 8px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
    width: 90%; 
    max-width: 400px; 
    text-align: center; 
    box-sizing: border-box;
}

.login-card h2 { 
    margin-bottom: 25px; 
    color: #333; 
}

/* Form Input Targets */
.login-card input { 
    width: 100%; 
    padding: 12px; 
    margin-bottom: 15px; 
    border: 1px solid #ddd; 
    border-radius: 4px; 
    box-sizing: border-box; 
    font-size: 16px;
    transition: border-color 0.2s ease;
}

.login-card input:focus {
    border-color: #007bff;
    outline: none;
}

/* Polished Error Banner UI */
.error-banner { 
    background-color: #fde8e8;
    color: #e53e3e; 
    border: 1px solid #f8b4b4;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 20px; 
    font-size: 14px; 
    font-weight: 500;
    text-align: left;
}

/* Interactive CTA Button */
.login-card button { 
    width: 100%; 
    padding: 12px; 
    background-color: #007bff; 
    color: white; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
    font-size: 16px; 
    font-weight: bold;
}

.login-card button:hover { 
    background-color: #0056b3; 
}

.login-card button:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

/* Small Screen Adjustments */
@media (max-width: 480px) {
    .login-card {
        padding: 20px;
        box-shadow: none;
        background: transparent;
    }
    body { 
        background-color: #ffffff; 
    }
}