﻿/* Fullscreen gradient background with subtle animation */
.auth-bg {
    min-height: 100vh;
    margin: 0;
    background: radial-gradient(1200px 800px at 10% 10%, #0ea5e9 0%, transparent 40%), radial-gradient(1000px 700px at 90% 20%, #22c55e 0%, transparent 40%), radial-gradient(1000px 700px at 50% 90%, #6366f1 0%, transparent 40%), #0b1220;
    background-attachment: fixed;
    overflow: hidden;
}

.auth-container {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.auth-card {
    width: 100%;
    max-width: 420px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 16px;
    padding: 28px;
    color: #f8fafc;
    transform: translateY(6px);
    animation: floatIn .5s ease forwards;
}

    .auth-card .brand {
        font-weight: 700;
        letter-spacing: .4px;
        font-size: 1.1rem;
    }

.form-label, .form-check-label, small {
    color: #e2e8f0;
}

.form-control, .form-control:focus {
    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(0,0,0,0.1);
}

.input-group .btn {
    background: rgba(255,255,255,0.85);
}

.btn-primary {
    background: linear-gradient(90deg,#22c55e,#16a34a);
    border: none;
}

    .btn-primary:hover {
        filter: brightness(0.95);
    }

.alert-danger {
    background: rgba(220,38,38,.15);
    color: #fee2e2;
    border-color: rgba(220,38,38,.35);
}

@keyframes floatIn {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
