.login-body {
    display: flex; align-items: center; justify-content: center;
    min-height: 100vh;
    background: #e8ecf1;
    position: relative;
    overflow: hidden;
}
.login-body::before {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(59,130,246,.04) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 20%, rgba(139,92,246,.03) 0%, transparent 50%);
}
.login-body::after {
    content: ''; position: absolute;
    width: 300px; height: 300px; border-radius: 50%;
    background: radial-gradient(circle, rgba(59,130,246,.04) 0%, transparent 70%);
    top: -60px; right: -60px;
    animation: floatGlow 8s ease-in-out infinite;
}
@keyframes floatGlow {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(20px, 20px) scale(1.06); }
}
.login-box {
    background: rgba(255,255,255,.6);
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    border-radius: 24px; padding: 2.25rem 2rem;
    width: 100%; max-width: 400px;
    border: 1px solid rgba(255,255,255,.75);
    box-shadow: 0 16px 56px rgba(0,0,0,.05), inset 0 1px 0 rgba(255,255,255,.75);
    position: relative;
    animation: loginIn .5s cubic-bezier(.21,1.02,.73,1);
}
@keyframes loginIn {
    from { opacity: 0; transform: translateY(24px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.login-box h1 {
    font-size: 1.35rem; text-align: center; color: #1e293b;
    margin-bottom: .15rem; font-weight: 700; letter-spacing: -.3px;
}
.login-box p {
    text-align: center; color: #6b7280; font-size: .82rem;
    margin-bottom: 1.75rem; line-height: 1.5;
}
.login-box .form-group { margin-bottom: 1.25rem; }
.login-box .form-group label { color: #1e293b; }
.login-box .form-control {
    padding: .6rem .9rem; font-size: .92rem;
    background: rgba(255,255,255,.45); border: 1.5px solid rgba(0,0,0,.05);
    color: #374151; border-radius: 12px;
}
.login-box .form-control:focus {
    border-color: rgba(59,130,246,.3);
    box-shadow: 0 0 0 3px rgba(59,130,246,.06);
    background: rgba(255,255,255,.6);
}
.login-box .btn {
    width: 100%; padding: .68rem; font-size: .92rem; font-weight: 600;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    border: 1px solid rgba(59,130,246,.15);
    border-radius: 12px; color: #fff;
}
.login-box .btn:hover {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    box-shadow: 0 4px 20px rgba(59,130,246,.18);
    transform: translateY(-1px);
}
.alert { padding: .65rem .85rem; border-radius: 10px; font-size: .82rem; margin-bottom: 1rem; }
.alert-danger { background: rgba(239,68,68,.05); color: #dc2626; border: 1px solid rgba(239,68,68,.08); }
