/* i-NED · Entrada del cliente: carátula completa → bienvenido → login.
   Estética editorial sobria y moderna. El logo es "i–NED" en blanco con
   resaltes en dorado. Sin claims. */

/* ===== Carátula completa ===== */
#welcome{position:fixed;inset:0;z-index:61;color:#efece2;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:clamp(28px,7vh,84px) clamp(22px,5vw,64px);
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + clamp(76px,15vh,140px));
  background:#07080a;isolation:isolate;
  transition:opacity .5s var(--ease), transform .5s var(--ease)}
#welcome::before{content:"";position:absolute;inset:-4%;z-index:-2;pointer-events:none;
  background-image:url("ined-interior.webp");background-size:cover;background-position:center 55%;
  opacity:0;animation:inedIntro 1.5s ease .15s forwards, inedInterior 20s ease-in-out infinite alternate}
#welcome::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(54% 42% at 50% 45%, rgba(6,7,9,.5) 0%, rgba(6,7,9,0) 72%),radial-gradient(ellipse at center, rgba(6,7,9,.64) 0%, rgba(6,7,9,.4) 50%, rgba(6,7,9,.56) 100%)}
@keyframes inedIntro{from{opacity:0}to{opacity:1}}
@keyframes inedInterior{from{transform:scale(1)}to{transform:scale(1.035)}}
#welcome.hidden{display:none}
#welcome.leaving{opacity:0;transform:scale(1.015);pointer-events:none}
.w-glow{position:absolute;inset:-25%;pointer-events:none;
  background:radial-gradient(40% 36% at 32% 42%, rgba(185,149,91,.18), transparent 70%)}
.w-shine{position:absolute;top:-60%;bottom:-60%;left:-20%;width:26%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(203,180,137,.18),transparent);
  transform:rotate(22deg);opacity:0;will-change:transform,opacity}

/* Grupo único centrado ópticamente: logotipo · línea dorada · descripción · botón · saludo */
.w-mid{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  text-align:center;width:min(92vw,840px);transform:translateY(-3vh)}
.logo{width:clamp(140px,22vw,260px);margin:0 0 14px;line-height:0;
  filter:drop-shadow(0 2px 30px rgba(185,149,91,.14))}
.logo img{display:block;width:100%;height:auto}
.cover-rule{display:block;width:30px;height:1px;background:var(--brass);margin:0 auto 14px;opacity:.85}
.cover-scope{margin:0 0 42px;font-size:clamp(12px,1.05vw,14px);letter-spacing:.26em;text-transform:uppercase;color:#d2d7cf}
.cover-scope.sub{margin-top:8px;color:#8a968b;font-size:clamp(11px,.95vw,12.5px);letter-spacing:.22em}
.w-cta{margin-top:0}
.w-cta .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-width:120px;min-height:44px;padding:0 22px;border-radius:999px;
  background:rgba(0,0,0,.34);border:1px solid rgba(185,149,91,.5);color:#f4f1e7;
  letter-spacing:.04em;transition:background .25s,border-color .25s}
.w-cta .btn .ar{transition:transform .25s}
.w-cta .btn:hover{background:rgba(185,149,91,.16);border-color:var(--brass)}
.w-cta .btn:hover .ar{transform:translateX(3px)}
.greet{margin:0 0 18px;color:#d8d3c6;font-size:13px;letter-spacing:.02em;font-weight:340}

/* Confidencial — anclado discreto en la esquina inferior izquierda */
.cover-foot{position:absolute;left:0;right:0;bottom:0;z-index:1;
  display:flex;align-items:center;justify-content:flex-start;gap:12px;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#77857a;
  padding:0 clamp(22px,4.5vw,64px) calc(env(safe-area-inset-bottom,0px) + clamp(20px,4.5vh,52px))}
.cover-line{width:42px;height:1px;background:rgba(255,255,255,.18)}

/* Alturas cortas: menos aire entre bloques, sin tocar tamaños ni el saludo */
@media (max-height:620px){
  .logo{width:clamp(130px,24vw,200px);margin-bottom:12px}
  .cover-rule{margin-bottom:12px}
  .cover-scope{margin-bottom:24px}
  .greet{margin-bottom:14px}
}

@media (prefers-reduced-motion:no-preference){
  .logo{animation:coverIn .9s var(--ease) both, glowPulse 6s ease-in-out 1.1s infinite}
  .cover-rule{animation:coverIn .9s .14s var(--ease) both}
  .cover-scope{animation:coverIn .9s .2s var(--ease) both}
  .w-cta{animation:coverIn .9s .3s var(--ease) both}
  .w-glow{animation:drift 20s ease-in-out infinite alternate}
  .w-shine{animation:sweep 16s ease-in-out infinite}
}
@keyframes coverIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes glowPulse{0%,100%{filter:drop-shadow(0 2px 24px rgba(185,149,91,.10))}50%{filter:drop-shadow(0 2px 52px rgba(185,149,91,.34))}}
@keyframes drift{from{transform:translate3d(-4%,-3%,0) scale(1)}to{transform:translate3d(6%,5%,0) scale(1.08)}}
@keyframes sweep{0%{transform:translate(-35vw,32vh) rotate(22deg);opacity:0}6%{opacity:.85}40%{opacity:.85}50%{transform:translate(65vw,-32vh) rotate(22deg);opacity:0}100%{transform:translate(65vw,-32vh) rotate(22deg);opacity:0}}

/* ===== Acceso / Onboarding (mismo lenguaje que la carátula) ===== */
[hidden]{display:none !important}
#entry{position:fixed;inset:0;z-index:60;overflow-y:auto;overflow-x:hidden;isolation:isolate;
  color:#eef2ea;background:#07080a;min-height:100dvh;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch}
#entry::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("ined-interior.webp");background-size:cover;background-position:center 55%;
  opacity:0;animation:inedIntro 1.2s ease .05s forwards, inedRespira 30s ease-in-out infinite alternate}
#entry::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(38% 32% at 72% 18%, rgba(185,149,91,.12), transparent 70%),
             radial-gradient(78% 70% at 50% 50%, rgba(6,8,10,.34) 0%, rgba(6,8,10,.58) 62%, rgba(6,8,10,.80) 100%)}
@keyframes inedRespira{from{transform:scale(1)}to{transform:scale(1.03)}}
#entry.hidden{display:none}

/* Centrado robusto: si el panel es más alto que la pantalla, no se recorta:
   los márgenes automáticos pasan a 0 y el contenedor hace scroll natural. */
.entry-side{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  width:100%;min-height:100dvh;
  padding:clamp(18px,4vw,56px) clamp(14px,4vw,48px);
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + clamp(18px,4vw,56px))}

/* Superficie editorial: pertenece a la composición, no es una ventana emergente. */
.entry-card{position:relative;z-index:1;width:min(100%,480px);margin-block:auto;
  padding:clamp(26px,3.4vw,40px);color:#eef2ea;
  background:linear-gradient(180deg,rgba(20,23,21,.90) 0%,rgba(12,15,13,.93) 100%);
  border:1px solid rgba(255,255,255,.14);border-radius:18px;
  box-shadow:0 28px 90px rgba(0,0,0,.50),0 2px 10px rgba(0,0,0,.28);
  backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);
  animation:entryIn .5s var(--ease) both}
.entry-card.wide{width:min(100%,620px)}
@keyframes entryIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.entry-logo{display:block;width:clamp(104px,15vw,120px);margin:0 auto 22px}
.entry-logo img{display:block;width:100%;height:auto}

/* Cabecera editorial de cada paso */
.entry-eyebrow,.onb-eyebrow{margin:0 0 7px;color:#cdb37f;font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:500}
.entry-card h2,.entry-card .entry-title{margin:0 0 10px;color:#f5f1e6;
  font:400 clamp(22px,2.5vw,26px)/1.16 var(--serif);letter-spacing:-.015em;text-transform:none}
.entry-card .entry-title{margin-bottom:20px}
.entry-card h2 small,.entry-card .entry-title small{color:#9aa69a;font-size:13px;font-family:var(--sans);
  letter-spacing:0;font-weight:400;text-transform:none}
.entry-lead{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:#b9c2b8}
.entry-request{margin:16px 0 0;text-align:center;font-size:12.5px;color:#9aa69a;line-height:1.6;
  max-width:min(94vw,432px)}
.entry-request a{color:#d2b47c;text-decoration:none;border-bottom:1px solid rgba(210,180,124,.4)}
.entry-request a:hover{border-bottom-color:#d2b47c}
#login-form.hidden + .entry-request{display:none}

/* Campos: superficie propia, altura estable y contraste AA */
.entry-card label{display:block;margin:15px 0 0;font-size:13px;line-height:1.45;color:#c8d0c5;
  letter-spacing:.01em;font-weight:450}
.entry-card label:first-of-type{margin-top:0}
.entry-card input,.entry-card select,.entry-card textarea{width:100%;margin-top:7px;min-height:46px;
  padding:11px 13px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.22);
  border-radius:10px;color:#f5f1e6;font:inherit;font-size:15.5px;line-height:1.35;outline:none;
  transition:border-color .15s,box-shadow .15s,background .15s}
.entry-card textarea{min-height:96px;resize:vertical;padding-top:12px;padding-bottom:12px}
.entry-card input::placeholder,.entry-card textarea::placeholder{color:#8c988e;opacity:1}
.entry-card select{-webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='7'><path d='M1 1l4.5 4.5L10 1' fill='none' stroke='%23cbb489' stroke-width='1.5'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;background-size:11px;padding-right:38px}
.entry-card select option{background:#141b17;color:#eef2ea}
.entry-card input:focus,.entry-card select:focus,.entry-card textarea:focus{border-color:#d8ba7e;
  box-shadow:0 0 0 3px rgba(203,179,127,.24);background:rgba(255,255,255,.095)}
.entry-card input[aria-invalid="true"],.entry-card select[aria-invalid="true"],
.entry-card textarea[aria-invalid="true"]{border-color:rgba(224,138,122,.85);
  box-shadow:0 0 0 3px rgba(224,138,122,.14)}
.entry-card label small{display:block;margin-top:6px;color:#9aa69a;font-size:12px;line-height:1.45}
.entry-card input[readonly]{opacity:.8}
.entry-card a:focus-visible,.entry-card button:focus-visible,.entry-card input:focus-visible,
.entry-card select:focus-visible,.entry-card textarea:focus-visible{
  outline:2px solid #d8ba7e;outline-offset:3px}

/* Botones: el principal nunca se comprime hasta convertirse en un círculo */
.entry-card .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:auto;min-height:46px;margin-top:22px;padding:0 22px;border-radius:10px;
  font:inherit;font-size:14.5px;font-weight:500;line-height:1;letter-spacing:.01em;
  white-space:nowrap;transition:background .18s,border-color .18s,transform .12s}
.entry-card > .btn{width:100%}
.entry-card .btn:active{transform:translateY(1px)}
.entry-card .btn:disabled{opacity:.6;cursor:default;transform:none}
.entry-card .btn.primary{background:#c2a165;border-color:#c2a165;color:#151a16}
.entry-card .btn.primary:hover:not(:disabled){background:#d2b27a;border-color:#d2b27a}
.entry-card .btn:not(.primary){background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.24);color:#d7ddd4}
.entry-card .btn:not(.primary):hover:not(:disabled){border-color:rgba(203,180,137,.65);color:#f5f1e6}

.entry-note{margin:16px 0 0;font-size:12.5px;color:#9aa69a;line-height:1.55}
.err{color:#e79a8c;font-size:13px;line-height:1.45;margin-top:10px}
.err:empty{display:none}
.field-err{display:block;margin-top:6px;color:#e79a8c;font-size:12.5px;line-height:1.4}
.field-err:empty{display:none}
.hint{color:#b9c2b8;font-size:13px;line-height:1.5;margin-top:10px}
.hint:empty{display:none}

/* ===== Onboarding ===== */
.onb-steps{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap;font-size:11.5px;color:#9aa69a}
.onb-s{padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);line-height:1.2}
.onb-s.on{color:#f0dfb8;border-color:rgba(203,179,127,.62);background:rgba(185,149,91,.16);font-weight:600}
.onb-s.done{color:#d7ddd4;border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.04)}
.onb-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.onb-check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:#c8d0c5;
  line-height:1.55;margin-top:16px}
.onb-check input{width:18px;height:18px;min-height:0;flex:none;margin:2px 0 0;accent-color:#c2a165}
.onb-actions{display:flex;align-items:center;gap:14px;margin-top:28px}
.onb-actions .btn{margin-top:0;width:auto;flex:0 0 auto}
#onb-back{min-width:96px;padding:0 20px}
#onb-next,#onb-finish{flex:1 1 auto;min-width:150px}

@media (max-width:760px){
  .w-mid{transform:translateY(-1vh)}
  .w-cta .btn{min-width:120px}
  #entry{padding:0}
  .entry-side{padding:10px 12px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}
  .entry-card,.entry-card.wide{width:100%;max-width:540px;padding:16px;border-radius:16px}
  .entry-logo{width:104px;margin-bottom:18px}
  .entry-card h2,.entry-card .entry-title{font-size:22px;margin-bottom:12px}
  .entry-lead{margin-bottom:12px;font-size:13px}
  .onb-steps{margin-bottom:12px}
  .entry-card label{margin-top:8px;font-size:13px}
  .entry-card input,.entry-card select,.entry-card textarea{min-height:44px;padding:9px 12px;font-size:16px}
  .onb-grid{grid-template-columns:1fr}
  .onb-actions{flex-direction:column-reverse;gap:8px;margin-top:14px}
  .onb-actions .btn{width:100%;min-width:0}
  #onb-back,#onb-next,#onb-finish{width:100%}
  .entry-card .btn{font-size:14.5px}
  .onb-s{font-size:11px;padding:4px 10px}
  #welcome::before{background-position:62% 40%}
  #entry::before{background-position:62% 40%}
}
@media (max-height:620px) and (min-width:761px){
  .entry-side{padding-top:12px;padding-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  #welcome::before{animation:none;opacity:1}
  #entry::before{animation:none;opacity:1}
  .entry-card{animation:none}
}

/* Acceso autónomo: invitación y recuperación */
.entry-minor{margin:14px 0 0;font-size:12.5px;color:#9aa69a}
.entry-minor a{color:#d2b47c;text-decoration:none;border-bottom:1px solid rgba(210,180,124,.42)}
.entry-minor a:hover{border-bottom-color:#d2b47c}
.entry-invite{margin-top:22px;color:#8c988e}

/* Mostrar/ocultar contraseña (mismo icono en todas las pantallas) */
.pwd{display:block;position:relative;margin-top:7px}
.entry-card .pwd input{margin-top:0;padding-right:46px}
.pwd-toggle{position:absolute;right:4px;top:0;bottom:0;width:40px;border:0;background:transparent;
  cursor:pointer;opacity:.6;background-repeat:no-repeat;background-position:center;background-size:20px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23cbb489' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/><circle cx='12' cy='12' r='3'/></svg>")}
.pwd-toggle:hover{opacity:.95}
.pwd-toggle.on{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23cbb489' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3l18 18'/><path d='M10.6 10.6a3 3 0 0 0 4.2 4.2'/><path d='M9.9 5.2A9.5 9.5 0 0 1 12 5c6.5 0 10 7 10 7a15 15 0 0 1-3 3.9M6.1 6.1A15 15 0 0 0 2 12s3.5 7 10 7a9.6 9.6 0 0 0 4.1-.9'/></svg>")}
