/* =====================================================================
   PIEZAS DE MARCA COMPARTIDAS — copiadas del aplicativo de Consolidación
   (mismas medidas y colores) para que todos los sistemas de Avivamiento
   se vean como una sola familia.
   ===================================================================== */
.ribbon{background:var(--noche);color:#faf3e6;display:flex;align-items:center;justify-content:center;
  gap:.5rem;padding:.58rem 1rem;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.ribbon .flama{width:15px;height:19px;flex:none}
.ribbon b{color:#fff}
.ribbon .sep{color:var(--oro-claro);opacity:.7}

.pagina-acceso{min-height:100vh;display:flex;flex-direction:column;
  background:radial-gradient(circle at 12% 10%,rgba(229,199,133,.10),transparent 25%),
  linear-gradient(170deg,#fdf9f0 0%,#f6ead4 100%)}
.hero{text-align:center;padding:1.3rem 1rem .85rem}
.hero .vid{width:62px;height:62px;display:block;margin:0 auto .6rem}
.hero h1{font-size:1.5rem;color:var(--noche);font-weight:600;line-height:1.1}
.hero .et{margin-top:.4rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);font-weight:700}
.hero .fecha{font-size:.8rem;color:var(--suave);margin-top:.4rem;text-transform:capitalize}
.loginwrap{max-width:440px;width:100%;margin:0 auto;padding:8px 18px 48px;flex:1 0 auto}

.estadobar{margin:0 auto var(--e4);max-width:340px;width:100%;background:var(--noche);border-radius:999px;
  padding:.4rem .9rem;font-size:.72rem;color:#c3cbe0;line-height:1.5;text-align:center}
.estadobar b{color:#fff;font-weight:600}
.estadobar .sep{color:var(--oro-claro);opacity:.55;margin:0 .3rem}
.estadobar .punto{color:var(--cumple);font-size:.62rem;margin-right:.35rem;vertical-align:.5px}
.estadobar.falla .punto{color:var(--falta)}
.estadobar.comprobando .punto{color:var(--suave)}

.pasos{display:flex;align-items:flex-start;justify-content:center;margin:0 auto 1.1rem;max-width:280px;width:100%}
.paso{flex:1;text-align:center;position:relative}
.paso .bolita{width:32px;height:32px;border-radius:50%;margin:0 auto 6px;position:relative;z-index:1;display:grid;place-items:center;
  font-weight:700;font-size:.85rem;background:#e6dcc6;color:#6b6250;border:2px solid #e6dcc6;transition:all .35s}
.paso .rot{font-size:.68rem;color:#6b6250;font-weight:600;transition:color .35s}
.paso .linea{position:absolute;top:16px;height:3px;background:#e6dcc6;z-index:0;transition:background .35s}
.paso:first-child .linea{left:50%;right:-50%}
.paso:last-child .linea{display:none}
.paso.activo .bolita{background:var(--oro);border-color:var(--oro);color:#fff;box-shadow:0 0 0 5px rgba(201,154,60,.18)}
.paso.activo .rot{color:var(--oro)}
.paso.listo .bolita{background:var(--cumple);border-color:var(--cumple);color:#fff}
.paso.listo .rot{color:var(--cumple)}
.paso.listo .linea{background:var(--cumple)}

.logincard{background:#fff;border:1px solid var(--linea);border-radius:22px;padding:28px 24px 26px;box-shadow:0 18px 50px rgba(26,35,64,.13)}
.logintit{font-size:1.4rem;font-weight:600;color:var(--noche);line-height:1.2;text-align:center}
.loginsub{font-size:.84rem;color:var(--suave);margin:6px 0 20px;line-height:1.5;text-align:center}
.loginlbl{display:block;text-align:left;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--suave);font-weight:700;margin-bottom:6px}
.logininput{width:100%;padding:13px 14px;border:1.5px solid #e2d6bd;border-radius:12px;font-size:1rem;color:var(--tinta);background:#fffdf9;transition:border-color .15s,box-shadow .15s}
.logininput:focus{outline:none;border-color:var(--oro);box-shadow:0 0 0 3px rgba(201,154,60,.15)}
.logininput.codigo{font-size:1.55rem;text-align:center;letter-spacing:.5rem;font-weight:700}
.loginbtn{width:100%;margin-top:12px;padding:14px;border:0;border-radius:12px;font-weight:700;font-size:1rem;color:#fff;cursor:pointer;transition:.15s;background:var(--noche)}
.loginbtn.oro{background:linear-gradient(135deg,var(--llama),var(--oro))}
.loginbtn:hover:not(:disabled){transform:translateY(-1px)}
.loginbtn:disabled{opacity:.6;cursor:wait}
.loginmsg{margin-top:13px;font-size:.84rem;min-height:19px;line-height:1.45;text-align:center}
.loginmsg.err{color:var(--falta);font-weight:600}
.loginmsg.load{color:var(--suave)}
.btn-link{background:none;border:none;color:var(--suave);font-size:.78rem;text-decoration:underline;margin-top:.9rem;width:100%;cursor:pointer}
.btn-link:hover{color:var(--noche)}
.accesonota{margin:var(--e4) auto 0;text-align:center;font-size:.78rem;color:var(--suave);font-weight:600}
.accesonota .pt{color:var(--oro);margin:0 .3rem}

.saludocaja{background:linear-gradient(160deg,var(--noche),#232e52);border-radius:16px;padding:15px 16px;margin-bottom:18px;text-align:left;box-shadow:0 6px 18px rgba(26,35,64,.18)}
.saludocaja .et{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oro-claro);font-weight:800}
.saludocaja .nm{font-size:1.12rem;color:#fff;margin-top:3px;line-height:1.25;font-weight:600}
.saludocaja .ln{font-size:.79rem;color:#c3cbe0;margin-top:7px;line-height:1.5;display:flex;align-items:center;gap:7px}
.saludocaja .ln b{color:#e8c77a}
.saludocaja .pt{width:8px;height:8px;border-radius:50%;flex:none;background:var(--oro-claro)}
.saludocaja .pt.ok{background:#8fd6a5}
.saludocaja .pt.alerta{background:var(--llama)}

.foot{position:relative;margin-top:60px;background:linear-gradient(160deg,var(--noche),var(--noche-fondo));color:#faf3e6;
  padding:2rem 1.4rem calc(1.6rem + env(safe-area-inset-bottom));text-align:center}
.footwave{position:absolute;left:0;top:-42px;width:100%;height:43px;display:block}
.footwave path{fill:var(--noche)}
.foot .marca{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.9rem}
.foot .marca .flama{width:30px;height:38px}
.foot .wm{text-align:left;line-height:1.05}
.foot .wm b{font-family:var(--serif);font-weight:600;font-size:1.15rem;letter-spacing:.1em;color:#fff;display:block}
.foot .wm span{font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--oro-claro);display:block;margin-top:.2rem}
.foot .lema{font-size:.84rem;color:#c7cbdb;max-width:32ch;margin:0 auto 1.1rem;line-height:1.55}
.foot .lema .dorado{color:var(--oro-claro)}
.foot .credito{font-size:.66rem;color:#7d84a0;border-top:1px solid rgba(255,255,255,.09);padding-top:.9rem}
.foot .credito .sistema{display:block;margin-top:.3rem;color:#697092;font-size:.62rem}


/* ---------- acceso: el mismo diseño, con menos aire para que entre todo sin bajar ---------- */
.pagina-acceso{min-height:100vh;min-height:100dvh}
.pagina-acceso .hero{padding-top:1rem}
.pagina-acceso .loginwrap{padding-bottom:20px}
.loginmsg:empty{min-height:0;margin-top:0}
.foot{margin-top:40px;padding-top:1.4rem;padding-bottom:calc(1.1rem + env(safe-area-inset-bottom))}
.foot .marca{margin-bottom:.6rem}
.foot .lema{margin-bottom:.7rem}
.foot .credito{padding-top:.65rem}
/* logo + tarjeta centrados entre la cinta y el pie */
.pagina-acceso .hero{margin-top:auto}
.pagina-acceso .loginwrap{flex:0 0 auto;margin-bottom:auto}
