/* MIPURPLAY · inicio de sesión premium aprobado · sólo zona de acceso.
   CSS estático, sin fuentes externas, imágenes pesadas ni animaciones. */
body.client-login-page {
  background:linear-gradient(165deg,#110b24 0%,#100c1f 53%,#0b1020 100%)!important;
  color:#f9f7ff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
body.client-login-page::before {
  background:radial-gradient(ellipse at 7% 6%,rgba(121,55,236,.30),transparent 36%),
    radial-gradient(ellipse at 95% 55%,rgba(185,47,212,.17),transparent 34%),
    radial-gradient(ellipse at 44% 100%,rgba(75,57,178,.20),transparent 40%),
    linear-gradient(180deg,#100b23,#0c1020);
}
body.client-login-page::after {
  opacity:.50;
  filter:none;
  background:radial-gradient(ellipse at -35% 51%,transparent 60%,rgba(131,73,224,.18) 61%,transparent 64%),
    radial-gradient(ellipse at 135% 75%,transparent 60%,rgba(217,70,210,.14) 61%,transparent 64%);
}
body.client-login-page .login-orb{display:none}
body.client-login-page .client-login-wrap {
  position:relative;
  width:100%;
  min-height:100vh;
  min-height:100svh;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  padding:30px 16px 34px!important;
  overflow:visible;
}
/* Aviso compacto, completamente informativo, sin flecha ni navegación. */
body.client-login-page .client-login-push-notice {
  width:min(432px,100%);
  padding:0!important;
  margin:0;
  border:1px solid rgba(185,94,242,.55);
  border-radius:21px;
  background:linear-gradient(105deg,rgba(60,38,109,.90),rgba(41,27,72,.91) 65%,rgba(95,28,93,.78));
  box-shadow:0 10px 30px rgba(10,4,29,.30),inset 0 1px rgba(255,255,255,.08);
  text-align:left;
  text-shadow:none;
}
body.client-login-page .client-login-push-notice[hidden],
body.client-login-page .client-login-push-content[hidden] {display:none!important}
body.client-login-page .client-login-push-content {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
}
body.client-login-page .client-login-push-icon {
  flex:none;
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border-radius:50%;
  font-size:24px;
  background:linear-gradient(140deg,rgba(142,54,218,.48),rgba(216,54,153,.26));
  border:1px solid rgba(234,153,255,.20);
}
body.client-login-page .client-login-push-copy {min-width:0}
body.client-login-page .client-login-push-notice .client-login-push-title {
  margin:0!important;
  color:#fff;
  font-size:clamp(13px,3.5vw,15px)!important;
  line-height:1.20!important;
  font-weight:820!important;
  letter-spacing:-.015em;
}
body.client-login-page .client-login-push-notice .client-login-push-description {
  margin:3px 0 0!important;
  color:#cfc4de;
  font-size:11px!important;
  line-height:1.32!important;
  font-weight:450!important;
}
/* Tarjeta idéntica en intención a la referencia: centro, neón sobrio y contraste. */
body.client-login-page .client-login-card {
  width:min(432px,100%);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:31px 27px 25px!important;
  border-radius:27px;
  border:1px solid rgba(186,96,248,.73)!important;
  background:linear-gradient(149deg,rgba(53,35,89,.98) 0%,rgba(25,24,51,.99) 44%,rgba(24,28,53,.99) 100%)!important;
  box-shadow:0 24px 67px rgba(4,1,16,.53),0 0 37px rgba(165,70,244,.18),
    inset 0 1px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(233,73,229,.17);
}
body.client-login-page .client-login-card::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 95% -8%,rgba(214,70,230,.24),transparent 40%),
    radial-gradient(ellipse at 0% 100%,rgba(144,58,255,.14),transparent 40%);
}
body.client-login-page .login-shine {display:none}
body.client-login-page .client-login-card > * {position:relative;z-index:1}
body.client-login-page .client-login-heading{text-align:center}
body.client-login-page .client-login-brand {
  margin:0;
  font-size:clamp(31px,8.2vw,43px);
  line-height:1.02;
  letter-spacing:-.047em;
  font-weight:900;
  color:#fff;
  white-space:nowrap;
  text-align:center;
  text-shadow:0 8px 25px rgba(0,0,0,.28);
}
body.client-login-page .client-login-brand span {
  background:linear-gradient(94deg,#f254d9 0%,#ad51ff 46%,#59b8ff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.client-login-page .client-login-kicker {
  margin:10px auto 0;
  color:#d2cbdf;
  font-size:clamp(12px,3.3vw,14px);
  line-height:1.40;
  font-weight:450;
}
body.client-login-page .login-divider {
  width:92px;
  height:2px;
  margin:16px auto 17px;
  border-radius:5px;
  background:linear-gradient(90deg,#f057e1,#9d57ff,#67a9fa);
}
body.client-login-page .client-login-intro {
  max-width:310px;
  margin:0 auto 22px;
  font-size:14px;
  line-height:1.46;
  color:#e2daef;
  text-align:center;
}
body.client-login-page #loginForm{display:flex;flex-direction:column;gap:15px}
body.client-login-page .client-login-field{display:flex;flex-direction:column;gap:8px}
body.client-login-page .client-login-field label{
  margin:0;
  color:#d8cfe7;
  font-size:12px;
  font-weight:720;
  line-height:1.3;
}
body.client-login-page .client-login-input-wrap {
  display:flex;
  align-items:center;
  width:100%;
  min-height:53px;
  border-radius:16px;
  border:1px solid rgba(161,147,198,.58);
  background:linear-gradient(130deg,#1b2035 0%,#22263b 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transition:border-color .12s ease,box-shadow .12s ease;
}
body.client-login-page .client-login-input-wrap:focus-within {
  border-color:#c27aff;
  box-shadow:0 0 0 3px rgba(162,87,253,.13);
}
body.client-login-page .client-login-input-icon {
  flex:none;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  color:#c1bdd7;
}
body.client-login-page .client-login-input-icon svg,
body.client-login-page .client-login-eye svg,
body.client-login-page .client-login-trust svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.client-login-page .client-login-input-wrap input {
  flex:1;
  min-width:0;
  width:100%;
  height:51px;
  padding:0 12px 0 0;
  margin:0;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  color:#f7f2ff;
  -webkit-text-fill-color:#f7f2ff;
  font-size:16px;
  font-weight:470;
  letter-spacing:.01em;
  outline:none;
}
body.client-login-page .client-login-input-wrap input::placeholder{color:#9e9aaf;opacity:1}
body.client-login-page .client-login-input-wrap input:focus{border:0!important;box-shadow:none!important}
body.client-login-page .client-login-input-wrap input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 100px #20253a inset!important;
  -webkit-text-fill-color:#f7f2ff!important;
  caret-color:#f7f2ff;
}
body.client-login-page .client-login-eye {
  flex:none;
  display:grid;
  place-items:center;
  width:45px;
  height:51px;
  margin:0 2px 0 0;
  padding:0;
  border:0;
  border-radius:13px;
  background:transparent;
  color:#bbb6d0;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
body.client-login-page .client-login-eye:focus-visible{outline:2px solid #bf8aff;outline-offset:-4px}
body.client-login-page .client-login-eye[aria-pressed="true"]{color:#e5befd}
body.client-login-page #loginForm .error {
  min-height:0;
  margin:0;
  padding:0;
  line-height:1.35;
  font-size:12px;
}
body.client-login-page #loginForm .error:empty{display:none}
body.client-login-page #loginForm .client-primary {
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  width:100%;
  min-height:55px;
  padding:14px 38px 14px 20px;
  margin:7px 0 0;
  border:1px solid rgba(255,255,255,.17);
  border-radius:19px;
  background:linear-gradient(98deg,#9844ef 0%,#bd3be0 53%,#ef43b9 100%);
  box-shadow:0 12px 26px rgba(125,28,195,.29),0 0 16px rgba(223,58,212,.17),
    inset 0 1px rgba(255,255,255,.20);
  color:#fff;
  font-size:clamp(13px,3.4vw,15px);
  font-weight:840;
  letter-spacing:-.015em;
  text-align:center;
  cursor:pointer;
  transition:filter .13s ease,transform .13s ease;
}
body.client-login-page #loginForm .client-primary::after {
  content:"→";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-53%);
  font-size:23px;
  font-weight:400;
}
body.client-login-page #loginForm .client-primary:hover:not(:disabled){filter:brightness(1.08)}
body.client-login-page #loginForm .client-primary:active:not(:disabled){transform:translateY(1px)}
body.client-login-page .client-login-note {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:18px 0 0;
  color:#bcb4cc;
  font-size:clamp(10px,2.8vw,12px);
  line-height:1.4;
  text-align:center;
}
body.client-login-page .client-login-trust{flex:none;display:inline-flex;color:#c6bde4}
body.client-login-page .client-login-footer {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:7px 0 0;
  color:#a99bcd;
  font-size:10px;
  font-weight:520;
  letter-spacing:.27em;
  text-align:center;
}
body.client-login-page .client-login-footer::before,
body.client-login-page .client-login-footer::after {
  content:"";
  width:35px;
  height:1px;
  background:linear-gradient(90deg,transparent,#8160b9);
}
body.client-login-page .client-login-footer::after{transform:rotate(180deg)}
@media(max-width:700px){
  body.client-login-page .client-login-wrap{
    justify-content:flex-start!important;
    gap:20px!important;
    padding:26px 15px 27px!important;
  }
  body.client-login-page .client-login-card{padding:29px 24px 24px!important}
  body.client-login-page .client-login-push-content{padding:11px 13px}
  body.client-login-page .client-login-push-icon{width:40px;height:40px;font-size:23px}
}
@media(max-width:360px){
  body.client-login-page .client-login-card{padding:26px 19px 22px!important}
  body.client-login-page .client-login-brand{font-size:30px}
  body.client-login-page .client-login-push-icon{width:37px;height:37px}
  body.client-login-page .client-login-push-content{gap:9px;padding:10px}
  body.client-login-page .client-login-push-notice .client-login-push-title{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){
  body.client-login-page #loginForm .client-primary,
  body.client-login-page .client-login-input-wrap{transition:none}
}
