/* Acceso aislado del tema del portal: contraste y jerarquía propios. */
body #login{
  width:min(100%,520px);
  max-width:520px;
  margin:clamp(36px,9vh,96px) auto;
  padding:34px 38px 30px;
  overflow:hidden;
  color:#edf1ed;
  background:#232a26;
  border:1px solid #536057;
  border-top:4px solid #d5b978;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(4,9,6,.32);
}
body #login .back-to-site{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  margin:0 0 24px;
  color:#e5cc91;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
body #login .back-to-site:hover{text-decoration:underline}
body #login .login-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#d5b978;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
body #login h1{
  margin:0;
  color:#f5f7f5;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.025em;
}
body #login .login-intro{
  margin:10px 0 26px;
  color:#c5cec8;
  font-size:15px;
  line-height:1.55;
}
body #login form{margin:0}
body #login label{
  display:grid;
  gap:7px;
  margin:0 0 16px;
  color:#edf1ed;
  font-size:13px;
  font-weight:700;
}
body #login input,
body #login select,
body #login textarea{
  min-height:48px;
  padding:11px 13px;
  color:#f7f9f7;
  background:#151a17;
  border:1px solid #68766d;
  border-radius:9px;
  caret-color:#f0d596;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body #login input:hover,
body #login select:hover,
body #login textarea:hover{border-color:#829087}
body #login input:focus-visible,
body #login select:focus-visible,
body #login textarea:focus-visible{
  border-color:#e1c57e;
  outline:3px solid rgba(225,197,126,.28);
  outline-offset:2px;
}
body #login #loginForm>button,
body #login form>button:not(.secondary){
  width:100%;
  min-height:48px;
  margin-top:4px;
  color:#171b19;
  background:#d5b978;
  border:1px solid #d5b978;
  border-radius:9px;
  font-weight:800;
}
body #login #loginForm>button:hover:not(:disabled),
body #login form>button:not(.secondary):hover:not(:disabled){
  background:#e2ca91;
  border-color:#e2ca91;
  filter:none;
}
body #login>button.secondary{
  width:100%;
  min-height:46px;
  margin-top:10px;
  color:#f0d596;
  background:transparent;
  border:1px solid #88784f;
}
body #login>button.secondary:hover{background:#30372f;border-color:#b69a5c;transform:none}
body #login .login-legal{
  margin:20px 0 0;
  color:#aeb9b2;
  font-size:12px;
  line-height:1.7;
  text-align:center;
}
body #login .login-legal a,
body #login .privacy-acceptance a{color:#e8cf95}
body #login:has(.registration-request){max-width:880px}
body #login .registration-request,
body #login #recoverySection{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid #4a564f;
}
body #login .registration-request h3,
body #login #recoverySection h2{margin-top:0;color:#f5f7f5}
body #login .registration-request p,
body #login #recoverySection p{color:#c5cec8;line-height:1.55}
body #login .privacy-acceptance{display:flex;color:#d4dbd6;font-weight:500}
body #login .privacy-acceptance input{width:auto;min-height:0;margin-top:3px}
body #login .privacy-summary{border-color:#4a564f;background:#1b2320;color:#c5cec8}
body #login .privacy-summary strong{color:#f5f7f5}
body #login .privacy-summary a{color:#e8cf95}
body #login[aria-busy=true]{opacity:.82}

@media(max-width:900px){
  body #login{margin:28px auto 48px}
}
@media(max-width:560px){
  body #login{
    width:100%;
    margin:18px auto 32px;
    padding:25px 21px 23px;
    border-radius:13px;
  }
  body #login .back-to-site{margin-bottom:19px}
  body #login h1{font-size:26px}
  body #login .login-intro{margin-bottom:22px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  body #login *{scroll-behavior:auto!important;transition:none!important}
}
