@import url('https://fonts.googleapis.com/css2?family=Teko:wght@400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Teko',sans-serif;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

    position:relative;

    background:
    radial-gradient(
        circle at center,
        #ff8c00,
        #d96d00
    );
}

/* FONDO TIPO MALLA DE ARCO */

body::before{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    background:

    linear-gradient(
        rgba(255,193,7,0.12) 1px,
        transparent 0.5px
    ),

    linear-gradient(
        90deg,
        rgba(255,193,7,0.12) 1px,
        transparent 0.5px
    );

    background-size:44px 44px;

    z-index:0;
}

/* EFECTO OSCURO SUAVE */

body::after{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    background:
    radial-gradient(
        circle at center,
        rgba(0,0,0,0.05),
        rgba(0,0,0,0.25)
    );

    z-index:1;
}

/* CONTENEDOR */

.login-container{

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

    position:relative;

    z-index:2;
}

/* CARD LOGIN */

.login-box{

    width:310px;

    background:#080808;

    border-radius:28px;

    padding:28px;

    text-align:center;

    border:
    1px solid rgba(255,255,255,0.04);

    box-shadow:
    0 25px 60px rgba(0,0,0,0.45);

    position:relative;

    overflow:hidden;
}

/* EFECTO BRILLO */

.login-box::before{

    content:"";

    position:absolute;

    top:-80px;

    right:-80px;

    width:180px;

    height:180px;

    border-radius:50%;

    background:
    rgba(255,140,0,0.06);
}

/* TITULO */

.login-box h1{

    color:#ffffff;

    font-size:46px;

    font-weight:700;

    letter-spacing:3px;

    line-height:1.1;

    margin-bottom:18px;

    position:relative;

    z-index:2;
}

/* SUBTITULO */

.login-box p{

    color:#b9b9b9;

    font-size:18px;

    margin-bottom:28px;

    line-height:1.4;

    position:relative;

    z-index:2;
}

/* FORM */

.login-box form{

    display:flex;

    flex-direction:column;

    gap:18px;

    position:relative;

    z-index:2;
}

/* LINEA DECORATIVA */

.login-box form::before{

    content:"";

    width:100%;

    height:1px;

    background:
    rgba(255,255,255,0.05);

    display:block;

    margin-bottom:5px;
}

/* INPUTS */

.login-box input{

    width:100%;

    padding:15px 16px;

    border:none;

    border-radius:16px;

    background:#151515;

    color:white;

    font-size:15px;

    outline:none;

    transition:0.3s;

    border:
    1px solid rgba(255,255,255,0.05);

    box-shadow:
    inset 0 0 10px rgba(255,140,0,0.05);
}

.login-box input:focus{

    border:
    1px solid rgba(255,140,0,0.5);

    box-shadow:
    0 0 15px rgba(255,140,0,0.15);
}

/* PLACEHOLDER */

.login-box input::placeholder{

    color:#7f7f7f;
}

/* BOTON */

.login-box button{

    padding:15px;

    border:none;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #ff8c00,
        #ff6b00
    );

    color:white;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    transition:0.3s;

    box-shadow:
    0 10px 25px rgba(0,0,0,0.25);
}

.login-box button:hover{

    transform:translateY(-2px);

    background:
    linear-gradient(
        135deg,
        #ff9d1f,
        #ff7b00
    );
}

/* RESPONSIVE */

@media(max-width:480px){

    .login-box{

        width:90%;

        padding:25px;
    }

    .login-box h1{

        font-size:38px;
    }
}