@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

:root{
  --colv-blue-1:#0a3d78;
  --colv-blue-2:#0d5ea8;
  --colv-blue-3:#0a4f8f;
  --colv-border:#dbe3ef;
  --colv-focus: rgba(13,94,168,.22);
}

/* ✅ Todo va scopeado al login para NO afectar el registro público */
body.login-body{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at top left,#e6eef6,#f9fbfd);
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont;
}

body.login-body .login-card{
  width:520px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 20px 55px rgba(0,0,0,.18);
  overflow:hidden;
}

body.login-body .login-header{
  background:linear-gradient(135deg,var(--colv-blue-1),var(--colv-blue-2));
  padding:26px 26px 24px 26px;
  color:#fff;
}

body.login-body .login-logo{ max-height:48px; }

body.login-body .login-form{ padding:28px; }

body.login-body .login-form .form-label{
  font-weight:600;
  margin-bottom:6px;
  color:#132038;
}

/* Inputs redondeados + focus suave */
body.login-body .input-rounded{
  border-radius:14px !important;
  border:1px solid var(--colv-border) !important;
  padding:14px 16px 14px 48px !important; /* espacio al icono */
  transition: box-shadow .18s ease, border-color .18s ease, transform .12s ease;
  background:#fff;
}

body.login-body .input-rounded:focus{
  border-color: var(--colv-blue-2) !important;
  box-shadow: 0 0 0 .22rem var(--colv-focus) !important;
  transform: translateY(-1px);
}

/* Iconos dentro del campo */
body.login-body .input-icon{ position:relative; }
body.login-body .input-icon-left{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  color:#51607a;
  opacity:.95;
  pointer-events:none;
}

/* Botón centrado, azul, curvo */
body.login-body .btn-primary{
  background:var(--colv-blue-2) !important;
  border:none !important;
  font-size:1.05rem;
  padding:12px 44px;
  border-radius:14px;
  box-shadow: 0 10px 22px rgba(13,94,168,.22);
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}
body.login-body .btn-primary:hover{
  background:var(--colv-blue-3) !important;
  filter: brightness(1.02);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(13,94,168,.26);
}
body.login-body .btn-primary:active{ transform: translateY(0); }

/* Alerta de error estilizada */
body.login-body .login-alert{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background: #fff5f5;
  border: 1px solid #ffd2d2;
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:16px;
}
body.login-body .login-alert-icon{
  width:28px;
  height:28px;
  border-radius:10px;
  background:#ffdddd;
  color:#7a1f1f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  flex:0 0 28px;
}
body.login-body .login-alert-title{
  font-weight:700;
  color:#5a1414;
  line-height:1.1;
  margin-bottom:2px;
}
body.login-body .login-alert-msg{
  color:#6b1c1c;
  font-size:.95rem;
  line-height:1.25;
}

@media (max-width:560px){
  body.login-body .login-card{ width:92vw; }
}
