html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background: #f5f8fc;
    color: #0f172a;
}

html,
body {
    min-height: 100%;
}

.auth-layout-body {
    margin: 0;
    min-height: 100vh;
}

.auth-layout-shell {
    min-height: 100vh;
    width: 100%;
}

.font-display {
    font-family: 'Poppins', sans-serif;
}

.hero-bg {
    background:
        radial-gradient(circle at 15% 20%, rgba(46,134,171,.25), transparent 35%),
        radial-gradient(circle at 85% 15%, rgba(30,58,95,.35), transparent 30%),
        linear-gradient(135deg, #0f2745 0%, #1E3A5F 45%, #2E86AB 100%);
}

.glass {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(10px);
}

.shadow-soft {
    box-shadow: 0 10px 30px rgba(15,23,42,.10);
}

.shadow-glow {
    box-shadow: 0 10px 45px rgba(30,58,95,.30);
}

.floating-shape {
    animation: floatY 7s ease-in-out infinite;
}

.floating-shape.delay {
    animation-delay: 1.5s;
}

@keyframes floatY {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-14px); }
}

.form-control {
    min-height: 48px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
    padding: 0.75rem 1rem;
}

.form-control::placeholder {
    color: #94a3b8;
}

.form-control:focus {
    border-color: #2E86AB;
    box-shadow: 0 0 0 0.2rem rgba(46, 134, 171, 0.25);
}

.form-check-input {
    border-color: #94a3b8;
}

.form-check-input:checked {
    background-color: #1E3A5F;
    border-color: #1E3A5F;
}

.btn {
    border-radius: 12px;
}

.btn-navy {
    background-color: #1E3A5F;
    border-color: #1E3A5F;
    color: #fff;
}
.btn-navy:hover {
    background-color: #0f2745;
    border-color: #0f2745;
    color: #fff;
}