*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Inter, Arial, sans-serif;
}

/* BODY */

body{

min-height:100vh;

background:url("background-image.png") center/cover no-repeat;

display:flex;
align-items:center;
justify-content:center;

padding:20px;

}


/* MAIN WRAPPER */

.main-container{

width:100%;
max-width:1200px;

display:flex;
align-items:center;
justify-content:center;

}


/* LOGIN CARD */

.login-card{

width:100%;
max-width:380px;

background:#f1f1f3;

border-radius:28px;

padding:40px 35px;

text-align:center;

box-shadow:0 30px 80px rgba(0,0,0,0.25);

animation:slideUp .5s ease;

}


/* BRAND */

.login-brand{

display:flex;
align-items:center;
justify-content:center;
gap:8px;

font-weight:600;
margin-bottom:20px;

}

.login-brand img{
width:22px;
}


/* TITLE */

.login-card h2{

font-size:22px;
margin-bottom:25px;

}


/* INPUTS */

.input-group{

margin-bottom:15px;

}

.input-group input{

width:100%;

padding:12px;

border-radius:10px;

border:1px solid #ccc;

font-size:14px;

}

.input-group input:focus{

border-color:#2f5fe3;
box-shadow:0 0 0 3px rgba(47,95,227,.15);
outline:none;

}


/* LOGIN BUTTON */

.login-btn{

width:100%;

padding:12px;

border:none;

border-radius:10px;

background:#2f5fe3;

color:white;

font-weight:600;

cursor:pointer;

transition:.2s;

}

.login-btn:hover{

background:#2449b9;
transform:translateY(-2px);

}


/* ROLE TOGGLE */

.role-toggle{

display:flex;

background:#e0e0e0;

border-radius:25px;

overflow:hidden;

margin-bottom:25px;

}

.role-toggle button{

flex:1;

padding:10px;

border:none;

background:transparent;

font-weight:600;

cursor:pointer;

transition:.2s;

}

.role-toggle button.active{

background:#2f5fe3;
color:white;

}


/* GOOGLE BUTTON */

.google-wrapper{

display:flex;
justify-content:center;

margin-top:15px;

}


/* ANIMATION */

@keyframes slideUp{

from{
opacity:0;
transform:translateY(25px);
}

to{
opacity:1;
transform:translateY(0);
}

}


/* ================= MOBILE ================= */

@media (max-width:768px){

body{

background:url("background-image.png") center/cover no-repeat;

}

.login-card{

max-width:100%;

padding:30px 25px;

border-radius:20px;

}

.login-card h2{

font-size:20px;

}

}


/* ================= SMALL PHONES ================= */

@media (max-width:420px){

body{
padding:15px;
}

.login-card{

padding:25px 20px;

}

.role-toggle button{

font-size:14px;

}

}