* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #f4f4f9;
    color: #1f2937;
    font-family: Arial, sans-serif;
}
.auth-card {
    width: 100%;
    max-width: 430px;
    padding: 30px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
}
.auth-card h1 { margin: 0 0 8px; text-align: center; font-size: 24px; }
.subtitle { margin: 0 0 24px; text-align: center; color: #6b7280; line-height: 1.55; }
.form-group { margin-bottom: 16px; }
label { display: block; margin-bottom: 6px; color: #4b5563; font-weight: 600; }
input {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font: inherit;
}
input:focus { outline: 2px solid #bfdbfe; border-color: #2563eb; }
.otp-input { text-align: center; font-size: 25px; font-weight: 700; letter-spacing: 8px; }
.primary-button {
    width: 100%;
    padding: 11px 16px;
    border: 0;
    border-radius: 6px;
    background: #0056b3;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
}
.primary-button:hover { background: #004494; }
.message { margin-bottom: 16px; padding: 11px 13px; border-radius: 6px; line-height: 1.45; }
.error { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.success { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.auth-links { margin-top: 18px; text-align: center; }
.auth-links a { color: #0056b3; text-decoration: none; }
.auth-links a:hover { text-decoration: underline; }
.hint { margin-top: 6px; color: #6b7280; font-size: 13px; }

