.loginPagina{
   width:min(calc(100% - 36px), 520px);
   min-height:0;
   box-sizing:border-box;
   margin:clamp(28px, 6vh, 64px) auto;
   padding:clamp(30px, 6vw, 52px);
   border:1px solid #dbe7ef;
   border-radius:24px;
   background:rgba(255,255,255,.96);
   box-shadow:0 18px 50px rgba(31,76,108,.15);
}

.loginPagina > h1{
   margin:0 0 28px;
   color:#173f68;
   font-size:clamp(1.8rem, 5vw, 2.45rem);
   line-height:1.18;
   text-align:center;
}

.loginForm{
   gap:8px;
   max-width:none;
   box-sizing:border-box;
   border:0;
   background:transparent;
   padding:0;
}

.loginForm > label{
   margin-top:8px;
   color:#405d76;
   font-weight:700;
}

.loginForm input[type="text"],
.loginForm input[type="password"]{
   height:54px;
   box-sizing:border-box;
   border:1px solid #cbdce8;
   border-radius:12px;
   color:#173f68;
   background:#f9fcfe;
   padding:0 14px;
   font-size:1rem;
   outline:none;
   transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.loginForm input[type="text"]:focus,
.loginForm input[type="password"]:focus{
   border-color:#4389ba;
   background:#fff;
   box-shadow:0 0 0 4px rgba(67,137,186,.14);
}

.loginForm .divPassword > img{
   top:7px;
   right:7px;
   width:40px;
   height:40px;
   box-sizing:border-box;
   border-radius:9px;
}

.loginForm .divAlignEnd a{
   color:#28658f;
   font-weight:700;
}

.loginForm .divButtons{
   margin-top:12px;
}

.loginForm input[type="submit"]{
   width:100%;
   height:62px;
   border:0;
   border-radius:14px;
   box-shadow:0 7px 18px rgba(28,67,96,.15);
   font-size:1.08rem;
   transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.loginForm input[type="submit"]:hover,
.loginForm input[type="submit"]:focus-visible{
   filter:brightness(1.05);
   outline:3px solid rgba(37,117,190,.2);
   outline-offset:3px;
   transform:translateY(-2px);
   box-shadow:0 12px 24px rgba(28,67,96,.2);
}

.loginSeparador{
   display: flex;
   align-items: center;
   gap: 12px;
   width:100%;
   margin:16px 0 8px;
   color:#698095;
   font-size:.9rem;
   font-weight:700;
}

.loginSeparador::before,
.loginSeparador::after{
   content: '';
   flex: 1;
   height: 1px;
   background: #dadce0;
}

.formColumn > .loginSeparador > span{
   width: auto;
   flex: 0 0 auto;
   text-align: center;
}

.loginGoogle{
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   width:100%;
   min-height:56px;
   border:1px solid #cbdce8;
   border-radius:12px;
   background: #fff;
   color: #3c4043;
   font-family: Arial, sans-serif;
   font-size:1rem;
   font-weight:700;
   text-decoration: none;
   box-sizing:border-box;
   transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.loginGoogle:hover,
.loginGoogle:focus-visible{
   border-color:#8fb9d5;
   background:#f4f9fc;
   outline:none;
   box-shadow:0 7px 16px rgba(31,76,108,.12);
   transform:translateY(-1px);
}

.loginGoogle img{
   width: 20px;
   height: 20px;
}

@media(max-width:600px){
   .loginPagina{width:calc(100% - 24px);margin:18px auto;padding:30px 18px;border-radius:20px}
   .loginPagina > h1{margin-bottom:22px}
}
