*, *::before, *::after { box-sizing: border-box; }

body {
    background-color: #0d0d0f;
    color: #e2e8f0;
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-card {
    background: #111114;
    border: 1px solid #1e1e24;
    border-radius: 14px;
    padding: 40px 36px;
    width: 100%;
    max-width: 420px;
}

.brand {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}
.brand span { color: #6366f1; }

.auth-subtitle {
    font-size: 0.8rem;
    color: #64748b;
    margin-bottom: 28px;
}

.form-label {
    color: #94a3b8;
    font-size: 0.8rem;
    font-weight: 500;
    margin-bottom: 6px;
}

.form-control {
    background-color: #161619;
    border: 1px solid #1e1e24;
    color: #e2e8f0;
    border-radius: 8px;
    font-size: 0.85rem;
    padding: 10px 12px;
}
.form-control:focus {
    background-color: #161619;
    border-color: #6366f1;
    color: #e2e8f0;
    box-shadow: 0 0 0 3px rgba(99,102,241,0.15);
}
.form-control::placeholder { color: #334155; }

.btn-submit {
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    border: none;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 500;
    padding: 10px 24px;
    border-radius: 8px;
    width: 100%;
    transition: opacity 0.15s, transform 0.1s;
    margin-top: 4px;
}
.btn-submit:hover { opacity: 0.9; transform: translateY(-1px); color: #fff; }

.auth-footer {
    text-align: center;
    margin-top: 20px;
    font-size: 0.8rem;
    color: #475569;
}
.auth-footer a { color: #818cf8; text-decoration: none; }
.auth-footer a:hover { text-decoration: underline; }

.alert {
    border-radius: 8px;
    font-size: 0.82rem;
    border: none;
    padding: 10px 14px;
    margin-bottom: 18px;
}
.alert-danger {
    background: rgba(239,68,68,0.1);
    color: #fca5a5;
    border: 1px solid rgba(239,68,68,0.2);
}
.alert-success {
    background: rgba(34,197,94,0.1);
    color: #86efac;
    border: 1px solid rgba(34,197,94,0.2);
}

.auth-divider {
    display: flex;
    align-items: center;
    text-align: center;
    color: #475569;
    font-size: 0.8rem;
    margin: 20px 0;
}
.auth-divider::before, .auth-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #1e1e24;
}
.auth-divider:not(:empty)::before {
    margin-right: .5em;
}
.auth-divider:not(:empty)::after {
    margin-left: .5em;
}

.btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #161619;
    border: 1px solid #1e1e24;
    color: #e2e8f0;
    font-size: 0.85rem;
    font-weight: 500;
    padding: 10px 24px;
    border-radius: 8px;
    width: 100%;
    transition: background-color 0.15s, border-color 0.15s, transform 0.1s;
    text-decoration: none;
}
.btn-google:hover {
    background-color: #1a1a20;
    border-color: #334155;
    color: #ffffff;
    transform: translateY(-1px);
}
.btn-google:active {
    transform: translateY(0);
}
.google-icon {
    flex-shrink: 0;
}
