/* KOVRA — aviso corporativo obligatorio antes de mostrar el formulario de registro. */
body.signup-consent-pending{
  overflow:hidden !important;
}

body.signup-consent-pending .auth-register-shell{
  pointer-events:none;
  user-select:none;
}

.signup-consent-overlay{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:center;
  padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 22%,rgba(42,139,73,.12),transparent 38%),
    rgba(1,6,3,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.signup-consent-overlay[aria-hidden="true"]{
  display:none;
}

.signup-consent-card{
  width:min(100%,520px);
  min-height:min(76dvh,720px);
  max-height:calc(100dvh - 28px);
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(83,241,127,.25) transparent;
  border:1px solid rgba(83,241,127,.28);
  border-radius:24px;
  padding:24px 23px 20px;
  background:
    radial-gradient(circle at 50% -4%,rgba(83,241,127,.16),transparent 35%),
    radial-gradient(circle at 12% 82%,rgba(38,126,64,.08),transparent 36%),
    linear-gradient(155deg,rgba(18,42,27,.995),rgba(6,15,10,.997) 58%,rgba(4,10,7,.998));
  box-shadow:
    0 32px 84px rgba(0,0,0,.66),
    0 0 46px rgba(83,241,127,.10),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 42px rgba(83,241,127,.025);
  color:#eef4ef;
}

.signup-consent-card::-webkit-scrollbar{
  width:5px;
}

.signup-consent-card::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(83,241,127,.22);
}

.signup-consent-icon{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border:1px solid rgba(83,241,127,.46);
  border-radius:17px;
  background:
    radial-gradient(circle at 40% 28%,rgba(255,255,255,.08),transparent 35%),
    rgba(83,241,127,.10);
  color:#62f58a;
  font-size:27px;
  line-height:1;
  font-weight:950;
  box-shadow:
    0 0 22px rgba(83,241,127,.13),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.signup-consent-eyebrow{
  display:block;
  margin-bottom:6px;
  color:#7cf49b;
  text-align:center;
  font-size:12px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.14em;
}

.signup-consent-card h2{
  margin:0 0 12px;
  text-align:center;
  color:#f6faf7;
  font-size:27px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.025em;
  text-shadow:0 2px 16px rgba(83,241,127,.06);
}

.signup-consent-card .signup-consent-lead{
  max-width:450px;
  margin:0 auto 13px;
  text-align:center;
  color:#dfe8e1;
  font-size:15px;
  line-height:1.4;
  font-weight:680;
}

.signup-consent-card .signup-consent-lead strong{
  color:#59f082;
  font-weight:900;
}

.signup-consent-copy{
  margin:0 0 13px;
  padding:13px 14px;
  border:1px solid rgba(83,241,127,.15);
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(83,241,127,.055),rgba(83,241,127,.018));
  color:#d5dfd8;
  font-size:13.2px;
  line-height:1.48;
  font-weight:600;
}

.signup-consent-points{
  display:grid;
  gap:8px;
  margin:0 0 14px;
}

.signup-consent-point{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:13px;
  background:rgba(2,8,5,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}

.signup-consent-point-mark{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(83,241,127,.24);
  border-radius:10px;
  background:rgba(83,241,127,.065);
  color:#67ee8b;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}

.signup-consent-point strong{
  display:block;
  margin:1px 0 3px;
  color:#edf4ef;
  font-size:13.2px;
  line-height:1.15;
  font-weight:850;
}

.signup-consent-point p{
  margin:0;
  color:#aebbb2;
  font-size:12px;
  line-height:1.38;
  font-weight:570;
}

.signup-consent-links{
  margin:0 2px 14px;
  text-align:center;
  color:#a6b2aa;
  font-size:12px;
  line-height:1.38;
  font-weight:560;
}

.signup-consent-links a{
  color:#72ef94;
  font-weight:800;
  text-decoration:none;
}

.signup-consent-links a:hover,
.signup-consent-links a:focus-visible{
  text-decoration:underline;
}

.signup-consent-check{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:0 0 14px;
  padding:13px 14px;
  border:1px solid rgba(83,241,127,.13);
  border-radius:14px;
  background:rgba(255,255,255,.026);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.signup-consent-check:has(input:checked){
  border-color:rgba(83,241,127,.32);
  background:rgba(83,241,127,.045);
  box-shadow:0 0 20px rgba(83,241,127,.035);
}

.signup-consent-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.signup-consent-box{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:1px solid rgba(83,241,127,.38);
  border-radius:8px;
  background:#07110a;
  color:transparent;
  font-size:16px;
  line-height:1;
  font-weight:950;
  transition:.18s ease;
}

.signup-consent-check input:checked + .signup-consent-box{
  background:#53f17f;
  border-color:#53f17f;
  color:#061009;
  box-shadow:0 0 18px rgba(83,241,127,.20);
}

.signup-consent-check span:last-child{
  color:#dde6e0;
  font-size:12.6px;
  line-height:1.4;
  font-weight:660;
}

.signup-consent-continue{
  width:100%;
  min-height:50px;
  border:0;
  border-radius:13px;
  background:linear-gradient(90deg,#45e973,#64f58c);
  color:#061009;
  font-size:14.6px;
  font-weight:950;
  letter-spacing:.008em;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(83,241,127,.10);
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}

.signup-consent-continue:not(:disabled):active{
  transform:scale(.988);
}

.signup-consent-continue:disabled{
  opacity:.34;
  filter:saturate(.45);
  cursor:not-allowed;
  box-shadow:none;
}

.signup-consent-back{
  width:100%;
  min-height:38px;
  margin-top:7px;
  border:0;
  background:transparent;
  color:#a4b0a8;
  font-size:12px;
  font-weight:730;
  cursor:pointer;
}

@media(min-height:900px) and (min-width:390px){
  .signup-consent-card{
    width:min(100%,540px);
    min-height:min(78dvh,760px);
    padding:28px 26px 22px;
  }

  .signup-consent-icon{
    width:58px;
    height:58px;
    font-size:29px;
  }

  .signup-consent-card h2{
    font-size:29px;
  }

  .signup-consent-card .signup-consent-lead{
    font-size:15.6px;
  }

  .signup-consent-copy{
    font-size:13.7px;
  }

  .signup-consent-point strong{
    font-size:13.7px;
  }

  .signup-consent-point p{
    font-size:12.5px;
  }

  .signup-consent-check span:last-child{
    font-size:13px;
  }
}

@media(max-width:390px){
  .signup-consent-overlay{
    padding-inline:10px;
  }

  .signup-consent-card{
    width:100%;
    padding:20px 17px 17px;
    border-radius:21px;
  }

  .signup-consent-card h2{
    font-size:24px;
  }

  .signup-consent-card .signup-consent-lead{
    font-size:14px;
  }

  .signup-consent-copy{
    font-size:12.5px;
  }
}

@media(max-height:760px){
  .signup-consent-overlay{
    place-items:start center;
    overflow:auto;
  }

  .signup-consent-card{
    min-height:auto;
    max-height:none;
    padding:16px 16px 14px;
  }

  .signup-consent-icon{
    width:40px;
    height:40px;
    margin-bottom:7px;
    font-size:20px;
    border-radius:12px;
  }

  .signup-consent-eyebrow{
    font-size:12px;
    margin-bottom:4px;
  }

  .signup-consent-card h2{
    margin-bottom:8px;
    font-size:21px;
  }

  .signup-consent-card .signup-consent-lead{
    margin-bottom:8px;
    font-size:12.8px;
  }

  .signup-consent-copy{
    margin-bottom:8px;
    padding:9px 10px;
    font-size:12px;
    line-height:1.34;
  }

  .signup-consent-points{
    gap:5px;
    margin-bottom:8px;
  }

  .signup-consent-point{
    grid-template-columns:28px minmax(0,1fr);
    gap:8px;
    padding:8px 9px;
  }

  .signup-consent-point-mark{
    width:27px;
    height:27px;
    font-size:12px;
  }

  .signup-consent-point strong{
    font-size:12px;
  }

  .signup-consent-point p{
    font-size:12px;
    line-height:1.3;
  }

  .signup-consent-links{
    margin-bottom:8px;
    font-size:12px;
  }

  .signup-consent-check{
    margin-bottom:9px;
    padding:9px 10px;
  }

  .signup-consent-check span:last-child{
    font-size:12px;
    line-height:1.3;
  }

  .signup-consent-continue{
    min-height:43px;
    font-size:13px;
  }
}

/* =========================================================
   PULIDO FINAL — MÁS LEGIBILIDAD SIN AÑADIR ALTURA INNECESARIA
   ========================================================= */

@media(min-height:761px){
  .signup-consent-card{
    transform:translateY(-12px);
    padding:21px 22px 17px;
  }

  .signup-consent-icon{
    width:50px;
    height:50px;
    margin-bottom:9px;
    font-size:25px;
  }

  .signup-consent-eyebrow{
    margin-bottom:5px;
    font-size:12px;
  }

  .signup-consent-card h2{
    margin-bottom:9px;
  }

  .signup-consent-card .signup-consent-lead{
    margin-bottom:10px;
  }

  .signup-consent-copy{
    margin-bottom:10px;
    padding:11px 12px;
    font-size:13.8px;
    line-height:1.4;
  }

  .signup-consent-points{
    gap:6px;
    margin-bottom:10px;
  }

  .signup-consent-point{
    grid-template-columns:32px minmax(0,1fr);
    gap:9px;
    padding:9px 10px;
  }

  .signup-consent-point-mark{
    width:30px;
    height:30px;
    font-size:12px;
  }

  .signup-consent-point strong{
    margin-bottom:2px;
    font-size:13.8px;
  }

  .signup-consent-point p{
    font-size:12.8px;
    line-height:1.34;
  }

  .signup-consent-links{
    margin-bottom:10px;
    font-size:12.5px;
    line-height:1.34;
  }

  .signup-consent-check{
    margin-bottom:10px;
    padding:10px 12px;
  }

  .signup-consent-check span:last-child{
    font-size:13.2px;
    line-height:1.34;
  }

  .signup-consent-continue{
    min-height:48px;
  }

  .signup-consent-back{
    min-height:34px;
    margin-top:5px;
    font-size:12.3px;
  }
}

@media(min-height:900px) and (min-width:390px){
  .signup-consent-card{
    transform:translateY(-16px);
    padding:23px 24px 18px;
  }

  .signup-consent-eyebrow{
    font-size:12.5px;
  }

  .signup-consent-copy{
    font-size:14.2px;
  }

  .signup-consent-point strong{
    font-size:14.1px;
  }

  .signup-consent-point p{
    font-size:13.2px;
  }

  .signup-consent-links{
    font-size:13px;
  }

  .signup-consent-check span:last-child{
    font-size:13.6px;
  }
}

@media(max-height:760px){
  .signup-consent-card{
    transform:none;
    padding:14px 15px 12px;
  }

  .signup-consent-icon{
    margin-bottom:5px;
  }

  .signup-consent-eyebrow{
    margin-bottom:3px;
    font-size:12px;
  }

  .signup-consent-card h2{
    margin-bottom:6px;
  }

  .signup-consent-card .signup-consent-lead{
    margin-bottom:6px;
    font-size:13.3px;
    line-height:1.3;
  }

  .signup-consent-copy{
    margin-bottom:6px;
    padding:7px 9px;
    font-size:12px;
    line-height:1.28;
  }

  .signup-consent-points{
    gap:4px;
    margin-bottom:6px;
  }

  .signup-consent-point{
    padding:6px 8px;
  }

  .signup-consent-point strong{
    font-size:12.4px;
  }

  .signup-consent-point p{
    font-size:12px;
    line-height:1.24;
  }

  .signup-consent-links{
    margin-bottom:6px;
    font-size:12px;
    line-height:1.25;
  }

  .signup-consent-check{
    margin-bottom:7px;
    padding:7px 9px;
  }

  .signup-consent-check span:last-child{
    font-size:12px;
    line-height:1.25;
  }

  .signup-consent-back{
    margin-top:3px;
    min-height:30px;
    font-size:12px;
  }
}
