/* public/assets/css/login.css */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Inter,system-ui,Arial;
}

html, body{
    margin:0;
    padding:0;
    overflow-x:hidden;
}

body{
min-height:100dvh;
overflow-x:hidden;
overflow-y:auto;
margin:0;

background: linear-gradient(
-45deg,
#e0f2fe,
#f0f9ff,
#dbeafe,
#e0f2fe
);

background-size:400% 400%;
animation:gradientBG 14s ease infinite;

font-family:Inter,system-ui,Arial;
}

/* CONTAINER */

.login-container{
display:flex;
min-height:100dvh;
}

/* BRAND */

.login-brand{
flex:1;
background:linear-gradient(135deg,#0f172a,#1e293b,#334155);
color:white;
display:flex;
align-items:center;
justify-content:center;
padding:40px;
}

.brand-content{
max-width:480px;
}

.brand-content h1{
font-size:34px;
margin-bottom:10px;
}

.brand-title{
font-size:44px;
font-weight:700;
letter-spacing:-0.5px;
}

.brand-domain{
font-size:16px;
font-weight:500;
opacity:0.75;
/* vertical-align:middle; */
margin-left:3px;
opacity:0.7;
top:-2px;
}



.brand-content p{
opacity:0.75;
line-height:1.7;
font-size:15px;
}

/* LOGIN AREA */

.login-area{
flex:1;
display:flex;
align-items:center;
justify-content:center;
padding:1px;
}

.login-card{
width:360px;

background:rgba(255,255,255,0.75);

backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);

border-radius:16px;

border:1px solid rgba(255,255,255,0.6);

padding:40px;

box-shadow:0 20px 40px rgba(0,0,0,0.08);

animation:fadeIn .4s ease;
}

/* HEADER */

.login-header{
text-align:center;
margin-bottom:28px;
}

.login-header h2{
font-size:20px;
font-weight:600;
margin-bottom:6px;
color:#111827;
}

.login-header span{
font-size:13px;
color:#64748b;
}

.logo-wrapper{
display:flex;
justify-content:center;
align-items:center;
margin-bottom:18px;
}

.logo-condominio{
max-height:120px;
max-width:260px;
width:auto;
height:auto;
border-radius: 8px;
object-fit:contain;

transition:transform .2s ease;
box-shadow:0 6px 18px rgba(0,0,0,0.08);
}

/* .logo-condominio:hover{
transform:scale(1.03);
} */

.login-header h2{
font-size:20px;
margin-bottom:5px;
}

.login-header span{
font-size:15px;
color:#1e1e1f;
}

/* FORM */

.form-group{
margin-bottom:16px;
position:relative;
}

.form-group input{
width:100%;
padding:12px 14px;
background:white;
border:1px solid #e5e7eb;
border-radius:8px;
font-size:14px;
transition:.2s;

transition:all .25s ease;
}

.form-group input:focus{
outline:none;
border-color:#2563eb;
/* box-shadow:0 0 0 3px rgba(37,99,235,0.15); */
transform:translateY(-1px);
}

/* PASSWORD TOGGLE */

.password-group{
display:flex;
align-items:center;
position:relative;
}

.toggle-password{
position:absolute;
right:12px;
cursor:pointer;
opacity:0.6;
top:50%;
transform:translateY(-50%);
font-size:18px;
color:#64748b;
}

/* OPTIONS */

.form-options{
margin-bottom:20px;
font-size:13px;
color:#475569;
}

/* BUTTON */

#btnLogin{
    border-radius: 8px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~ */
button:hover{
background:#1d4ed8;
}

/* LOADER */

.loader{
width:16px;
height:16px;
border:2px solid rgba(255,255,255,.4);
border-top:2px solid white;
border-radius:50%;
display:none;
animation:spin .8s linear infinite;
}

.error{
margin-top:12px;
color:#ef4444;
font-size:13px;
text-align:center;
}

.btn-login{
width:100%;
padding:12px;

background:#2563eb;

border:none;
border-radius:8px;

color:white;
font-weight:500;

display:flex;
align-items:center;
justify-content:center;
gap:8px;

transition:.2s;
}

.btn-login:hover{
background:#1d4ed8;
}

.btn-login:active{
transform:scale(.98);
background:#363636;
}

/* estado carregando */

.btn-login.loading{
/* background:#1e40af; */
background:#363636;
cursor:not-allowed;
}

/* spinner */

@keyframes spin{
to{
transform:rotate(360deg);
}
}

/* ANIMAÇÃO */

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* ANIMAÇÃO */

@keyframes gradientBG {

0%{
background-position: 0% 50%;
}

50%{
background-position: 100% 50%;
}

100%{
background-position: 0% 50%;
}

}

/* MOBILE */

@media(max-width:900px){

.login-brand{
display:none;
}

.login-card{
width:90%;
max-width:380px;
}

}

@media (max-width:768px){

.login-container{
    flex-direction:column;
    min-height:100dvh;
}

.login-brand{
    display:none; /* opcional */
}

.login-area{
    width:100%;
}



/* =========================
   MOBILE UX IMPROVEMENT
   ========================= */



/* card mais compacto */

.login-card{
padding:28px 22px;
}

/* inputs maiores para toque */

.form-group input{
padding:14px 16px;
font-size:16px;
}

/* botão maior */

.btn-login{
padding:14px;
font-size:16px;
}

/* checkbox mais confortável */

.form-options{
font-size:14px;
}

}