/* =========================================
   LOGIN SYSTEM — STREAMING SaaS
   ========================================= */

/* ===== FONDO ===== */

body{
    padding-top:0px;
}
.am-login-bg{
    position:fixed;
    inset:0;
    background:url('/images/login-bg.jpg') center/cover no-repeat;
}

.am-login-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        rgba(5,7,15,.7),
        rgba(5,7,15,.95)
    );
    backdrop-filter:blur(8px);
}

/* ===== CONTENEDOR ===== */

.am-login-container{
    position:relative;
    min-height:100dvh;
    padding:40px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ===== CAJA ===== */

.am-login-box{
    width:clamp(320px, 90vw, 440px);
    background:rgba(12,17,29,.85);
    backdrop-filter:blur(14px);
    padding:50px;
    border-radius:18px;
    text-align:center;
    border:1px solid rgba(255,255,255,.04);
    box-shadow:0 40px 120px rgba(0,0,0,.8);
    animation:loginFade .5s ease;
}

@keyframes loginFade{
    from{
        opacity:0;
        transform:translateY(10px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ===== LOGO ===== */

.am-login-logo{
    margin-bottom:10px;
    font-size:28px;
    font-weight:700;
}

.am-login-logo-link{
    text-decoration:none;
    color:white;
}

/* ===== SUB ===== */

.am-login-sub{
    opacity:.7;
    margin-bottom:30px;
}

/* ===== FORM ===== */

.am-login-form{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.am-login-form input{
    padding:14px;
    border-radius:10px;
    border:1px solid #1a2030;
    background:#070b14;
    color:#fff;
    font-size:16px;
    transition:.2s;
}

.am-login-form input:focus{
    border-color:#f59e0b;
    box-shadow:0 0 0 1px #f59e0b;
    outline:none;
}

/* ===== ERROR ===== */

.am-login-error{
    background:#3a0f0f;
    padding:12px;
    border-radius:8px;
    margin-bottom:15px;
}

/* ===== REGISTRO ===== */

.am-login-register{
    margin-top:20px;
    opacity:.7;
}

.am-login-register a{
    color:#f59e0b;
    text-decoration:none;
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width:768px){

    .am-login-box{
        padding:30px 25px;
        border-radius:14px;
    }
    .am-login-container{
        align-items:flex-start;
        padding-top:80px;
        padding-bottom:40px;
        min-height:100dvh;
    }

}