.login-page{min-height:100vh}.login-back{color:var(--muted);font-size:14px}.login-back:hover{color:var(--text)}.login-main{min-height:100vh;display:grid;place-items:center;padding:120px 20px 60px}.login-card{width:min(100%,460px);padding:42px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,rgba(17,39,62,.96),rgba(7,17,31,.96));box-shadow:0 30px 80px rgba(0,0,0,.35)}.login-brand{margin-bottom:28px}.login-brand img{display:block;width:145px;height:auto}.login-card h1{font-size:clamp(38px,7vw,52px);margin:10px 0 8px}.login-subtitle{color:var(--muted);margin:0 0 30px}.login-card form{display:grid;gap:9px}.login-card label{font-size:13px;font-weight:700;margin-top:7px}.login-card input{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.045);color:var(--text);padding:14px 15px;font:inherit;outline:none}.login-card input::placeholder{color:#71849a}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(108,184,255,.1)}.password-field{position:relative}.password-field input{padding-right:75px}.password-field button{position:absolute;right:9px;top:7px;height:38px;border:0;border-radius:9px;background:rgba(255,255,255,.06);color:var(--muted);padding:0 10px;cursor:pointer}.login-submit{margin-top:13px;border:0;border-radius:13px;padding:14px;background:var(--green);color:#06121d;font:inherit;font-weight:850;cursor:pointer}.login-submit:disabled{opacity:.6;cursor:wait}.forgot-button{display:block;margin:20px auto 0;border:0;background:none;color:var(--blue);font:inherit;font-size:13px;cursor:pointer}.login-message{min-height:24px;margin-top:18px;text-align:center;font-size:13px;color:var(--muted)}.login-message.error{color:#ff9c9c}.login-message.success{color:var(--green)}.login-divider{display:flex;align-items:center;gap:12px;margin:25px 0 18px;color:#64768a;font-size:12px}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:var(--line)}.login-register{margin:0;text-align:center;color:var(--muted);font-size:13px}.login-register span{color:var(--text)}@media(max-width:520px){.login-card{padding:30px 22px;border-radius:24px}.login-brand img{width:125px}.login-main{padding-top:105px}.login-back{font-size:13px}}

/* Volver al inicio: mismo verde de los botones principales NEXO */
.login-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:12px;
  border:0;
  background:var(--green);
  color:#06121d;
  font-size:14px;
  font-weight:800;
  box-shadow:0 8px 24px rgba(98,230,181,.12);
}
.login-back:hover{
  background:var(--green);
  color:#06121d;
  box-shadow:0 10px 28px rgba(98,230,181,.2);
}
@media(max-width:520px){
  .login-back{
    padding:9px 11px;
    font-size:12px;
  }
}


.login-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(2,8,16,.78);backdrop-filter:blur(8px)}
.login-modal[hidden]{display:none}
.login-modal-card{width:min(100%,430px);padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:24px;text-align:center;background:linear-gradient(145deg,rgba(17,39,62,.98),rgba(7,17,31,.98));box-shadow:0 30px 90px rgba(0,0,0,.5)}
.login-modal-icon{width:48px;height:48px;margin:0 auto 15px;display:grid;place-items:center;border-radius:50%;background:rgba(98,230,181,.12);color:var(--green);font-size:24px;font-weight:900}
.login-modal-card h2{margin:0 0 9px;font-size:23px}
.login-modal-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.login-modal-button{margin-top:22px;width:100%;border:0;border-radius:12px;padding:12px 16px;background:var(--green);color:#06121d;font:inherit;font-weight:800;cursor:pointer}
