/*=============================
    VARIABLES
==============================*/

:root{

    --bg:#1e1f20;

    --card:#0e0e0e;

    --text:#E8EAED;

    --secondary:#BDC1C6;

    --border:#5F6368;

    --primary:#8AB4F8;

    --primaryHover:#AECBFA;

    --radius:28px;

    --transition:.25s;

}

/*=============================
        RESET
==============================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    height:100%;

}

body{

    min-height:100vh;

    background:var(--bg);

    color:var(--text);


    font-family: "Google Sans", sans-serif;


}

/*=============================
      CONTENEDOR
==============================*/

.wrapper{

    min-height:100vh;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    padding:32px 24px;

}

/*=============================
       LOGIN
==============================*/

.login{

    width:100%;

    max-width:420px;

    margin:auto;
	
	margin-top:0px;

}

/*=============================
         LOGO
==============================*/

.logo{

    width:48px;

    height:auto;

    margin-bottom:26px;

}

/*=============================
        TITULOS
==============================*/

h1{

    font-size:clamp(2.2rem,7vw,3rem);

    font-weight:300;

    line-height:1;

}

.subtitle{

    margin-top:12px;

    color:var(--secondary);

    font-size:1rem;

}

/*=============================
        INPUT
==============================*/

.textbox{

    position:relative;

    margin-top:42px;

}

.textbox input{

    width:100%;

    height:56px;

    background:transparent;

    border:1px solid var(--border);

    border-radius:4px;

    outline:none;

    color:var(--text);

    font-size:17px;

    padding:18px 14px 0;

    transition:var(--transition);
	
	appearance:none;

    -webkit-appearance:none;

}

.textbox label{

    position:absolute;

    left:14px;

    top:18px;

    color:var(--secondary);

    pointer-events:none;

    transition:.18s;

    background:var(--bg);

    padding:0 4px;

}

.textbox input:focus{

    border:2px solid var(--primary);

}

.textbox input:focus + label,

.textbox input:not(:placeholder-shown)+label{

    top:-8px;

    font-size:.78rem;

    color:var(--primary);

}

/*=============================
         LINKS
==============================*/

.link{

    display:inline-block;

    margin-top:10px;

    color:var(--primary);

    text-decoration:none;

    font-weight:500;

    font-size:.92rem;

    transition:
        opacity .50s ease,
        transform .50s ease,
        width .50s ease;

}

.link:hover{

    text-decoration:underline;

}

/*=============================
       DESCRIPCION
==============================*/

.description{

    margin-top:38px;

    color:var(--secondary);

    line-height:1.55;

    font-size:.95rem;

}

.description a{

    color:var(--primary);

    text-decoration:none;

}

.description a:hover{

    text-decoration:underline;

}

/*=============================
      BOTONES
==============================*/

.buttons{

    margin-top:42px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    transition:all .30s ease;
	
	

}

.buttons button{

    width:108px;

    height:40px;

    border:none;

    border-radius:999px;

    background:var(--primary);

    color:#0b3a75;

    font-weight:600;

    font-size:.92rem;

    cursor:pointer;

    transition:.25s;

}

.buttons button:hover{

    background:var(--primaryHover);

}

/*=============================
      PASSWORD
==============================*/

.hidden{

    display:none;

}

.userChip{

    margin-top:22px;

    border:1px solid var(--border);

    background:none;

    color:var(--text);

    border-radius:999px;

    padding:8px 16px;

    cursor:pointer;

}

.showPass{

    display:flex;

    align-items:center;

    gap:12px;

    margin-top:18px;

    cursor:pointer;

    user-select:none;
	
	accent-color:#8AB4F8;
	
	color:#BDC1C6;

}
	
	
	


/*=============================
      FOOTER
==============================*/

footer{

    width:100%;

    max-width:420px;

    margin:50px auto 0;

}

footer select{

    background:#202124;

    color:#E8EAED;

    border:1px solid #5F6368;

    border-radius:6px;

    padding:6px 12px;

    outline:none;

    cursor:pointer;

}

footer select option{

    background:#202124;

    color:#E8EAED;

}

footer select:hover{

    border-color:#8AB4F8;

}


footer select:focus{

    border-color:#8AB4F8;

    box-shadow:0 0 0 2px rgba(138,180,248,.20);

}


    


footer div{

    margin-top:18px;

    display:flex;

    justify-content:space-between;

}

footer a{

    color:var(--secondary);

    text-decoration:none;

    font-size:.90rem;

}

/*=============================
    DESKTOP
==============================*/

@media(min-width:900px){

.wrapper{

    justify-content:center;

}

.login{

    max-width:1040px;

    min-height:560px;

    background:var(--card);

    border-radius:28px;

    padding:48px;

    display:grid;

    grid-template-columns:420px 1fr;

    column-gap:90px;

}

.logo{

    width:48px;

}

footer{

    max-width:1040px;

}

}
.error{

    height:20px;

    margin-top:8px;

    color:#f28b82;

    font-size:.85rem;

}

.textbox.error input{

    border:2px solid #f28b82;

}

.textbox.error label{

    color:#f28b82;

}

.buttons button:disabled{

    opacity:.45;

    cursor:not-allowed;

}

/* Estado para pantalla contraseña */

.buttons.center{

    justify-content:center;

}

.buttons.center .link{

    opacity:0;

    visibility:hidden;

    width:0;

    margin:0;

    overflow:hidden;

    transform:translateX(-15px);

    pointer-events:none;
	
	
}


.buttons button:focus,
.buttons button:focus-visible,
.buttons button:active{

    outline: none !important;

    box-shadow: none !important;

}

button{

    -webkit-tap-highlight-color: transparent;

}

/* para error de contraseña*/ 

.error-message{

    min-height:20px;

    margin-top:8px;

    color:#f28b82;

    font-size:13px;

    font-weight:400;

    transition:all .25s ease;

}









input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus{

    -webkit-text-fill-color:#E8EAED;

    -webkit-box-shadow:0 0 0px 1000px #202124 inset;

    transition:background-color 9999s;

}