html, body {
    height: 100%;
    margin: 0;
    background: #0b1020;
}

/* Fundo moderno */
.login-page {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    background: #0b1020;
}

.login-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    background: radial-gradient(900px 500px at 20% 15%, rgba(13,110,253,.35), transparent 60%), radial-gradient(700px 450px at 85% 80%, rgba(111,66,193,.40), transparent 60%), radial-gradient(650px 420px at 50% 55%, rgba(214,51,132,.18), transparent 60%), linear-gradient(180deg, #0b1020 0%, #090a15 100%);
    filter: saturate(1.05);
    transform: scale(1.02);
}

.login-page > .container {
    position: relative;
    z-index: 1;
    background: transparent !important;
}


/* Card glass */
.login-card {
    position: relative;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 20px;
}

    .login-card::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 20px;
        padding: 1px;
        background: linear-gradient(135deg, rgba(13,110,253,.55), rgba(111,66,193,.55), rgba(214,51,132,.35));
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
    }

/* Logo */
.login-logo {
    max-width: 220px;
    height: auto;
    filter: drop-shadow(0 10px 25px rgba(0,0,0,.35));
}

/* Inputs mais “premium” */
.form-control {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #fff;
}

    .form-control:focus {
        color: #fff;
        background: rgba(255,255,255,.10);
        border-color: rgba(13,110,253,.65);
        box-shadow: 0 0 0 .25rem rgba(13,110,253,.20);
    }

.form-floating > label {
    color: rgba(255,255,255,.70);
}

.btn-primary {
    box-shadow: 0 10px 25px rgba(13,110,253,.25);
}

.alert-danger {
    background: rgba(220,53,69,.14);
    border: 1px solid rgba(220,53,69,.25);
    color: #ffd6db;
}
