/* ════════════════════════════════════════════════════════════════
   NV Gestor 7.9 · Portada "Antes de medianoche" + login (nv-portada-790.css)
   Usa los colores del tema que tengas elegido en el Gestor
   (--accent, --bg, --text...). No cambia ningún color del Gestor.
   Reemplaza a nv-portada-740.css (ya no se carga).
   ════════════════════════════════════════════════════════════════ */

/* ── Portada: va en su propia página (portada-790.html) dentro de un marco ── */
#nv74-portada { position: fixed; inset: 0; z-index: 99990; width: 100%; height: 100%; border: 0; background: var(--bg, #090706); display: block; }
#nv74-portada[hidden] { display: none; }

/* ── Login ── */
#auth-screen.nv74-min { background: var(--bg, #090706); display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: safe center; justify-items: center; overflow-y: auto; padding: max(24px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); font-family: 'Hanken Grotesk', 'DM Sans', system-ui, sans-serif; }
#auth-screen.nv74-min[style*="display: none"], #auth-screen.nv74-min[style*="display:none"] { display: none !important; }
#auth-screen.nv74-min .auth-bg-grid, #auth-screen.nv74-min .auth-glow-tl, #auth-screen.nv74-min .auth-glow-br,
#auth-screen.nv74-min .auth-vignette, #auth-screen.nv74-min .auth-particle, #auth-screen.nv74-min #auth-canvas,
#auth-screen.nv74-min #auth-floating-logos, #auth-screen.nv74-min .auth-logo-ring { display: none !important; }
#auth-screen.nv74-min::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 56px 56px; -webkit-mask-image: radial-gradient(60% 60% at 70% 40%, #000, transparent); mask-image: radial-gradient(60% 60% at 70% 40%, #000, transparent); }
#auth-screen.nv74-min::after { content: ""; position: fixed; right: -15%; bottom: -25%; width: 70%; height: 70%; pointer-events: none; z-index: 0;
  background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--accent, #ee4952) 20%, transparent), transparent 70%); }
#auth-screen.nv74-min #auth-card-wrap { position: relative; z-index: 1; width: min(410px, 100%); max-width: 410px; margin: 0; }

/* Cabecera del login */
#auth-screen.nv74-min .auth-logo-area { margin: 0 0 22px !important; }
#auth-screen.nv74-min .auth-logo-area > div { flex-direction: row !important; align-items: center !important; gap: 12px !important; margin: 0 !important; }
#auth-screen.nv74-min .auth-logo-area > div > div:first-child, #auth-screen.nv74-min .auth-logo-area > div > div:first-child > div { width: 40px !important; height: 40px !important; border-radius: 11px !important; box-shadow: none !important; }
#auth-screen.nv74-min .auth-logo-area > div > div:last-child { text-align: left !important; }
#auth-screen.nv74-min .auth-title { font: 700 19px/1.1 'Hanken Grotesk', system-ui, sans-serif !important; letter-spacing: -.02em !important; margin: 0 !important; }
#auth-screen.nv74-min .auth-title span { color: inherit !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
#auth-screen.nv74-min .auth-subtitle { font-size: 12.5px !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text3, #8088a8) !important; margin: 2px 0 0 !important; }
.nv74-saludo { margin: 0 0 20px; }
.nv74-saludo h1 { margin: 0; font: 900 clamp(46px, 5vw, 64px)/.9 'Archivo', 'Hanken Grotesk', system-ui, sans-serif; font-stretch: 70%; letter-spacing: -.01em; color: var(--text, #eeeeff); }
.nv74-saludo p { margin: 6px 0 0; font-size: 15.5px; color: var(--text2, #b8c0de); }

/* Tarjeta y campos */
#auth-screen.nv74-min .auth-glass { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border-radius: 0 !important; }
#auth-screen.nv74-min .auth-glass::before, #auth-screen.nv74-min .auth-glass::after { display: none !important; }
#auth-screen.nv74-min .auth-label { text-transform: none !important; letter-spacing: 0 !important; font: 600 13.5px/1.3 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--text2, #b8c0de) !important; }
#auth-screen.nv74-min .auth-input-wrap { background: var(--bg2, #0d0d17) !important; border: 1px solid var(--border2, #30304a) !important; border-radius: 11px !important; box-shadow: none !important; min-height: 48px; transition: border-color .2s, box-shadow .2s; }
#auth-screen.nv74-min .auth-input-wrap:hover { border-color: color-mix(in srgb, var(--border2, #30304a) 60%, var(--text3, #8088a8)) !important; }
#auth-screen.nv74-min .auth-input-wrap.focused { border-color: var(--accent, #ee4952) !important; box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent, #ee4952) 18%, transparent) !important; }
#auth-screen.nv74-min .auth-field, #auth-screen.nv74-min .auth-input-wrap input { border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; font: 400 15.5px 'Hanken Grotesk', system-ui, sans-serif !important; color: var(--text, #eeeeff) !important; }
#auth-screen.nv74-min .auth-btn-primary { background: var(--accent, #ee4952) !important; color: var(--nv54-on-accent, #fff) !important; border: 0 !important; border-radius: 11px !important; min-height: 50px; box-shadow: 0 10px 28px -12px color-mix(in srgb, var(--accent, #ee4952) 75%, transparent) !important; font: 650 15.5px 'Hanken Grotesk', system-ui, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; transition: filter .2s, transform .2s !important; }
#auth-screen.nv74-min .auth-btn-primary:hover { filter: brightness(1.08); }
#auth-screen.nv74-min .auth-btn-primary:active { transform: scale(.98); }
#auth-screen.nv74-min .auth-forgot-link, #auth-screen.nv74-min .auth-back-link, #auth-screen.nv74-min .auth-back-btn { color: var(--accent2, var(--accent, #ee4952)) !important; font-weight: 600 !important; }
#auth-screen.nv74-min .auth-footer-note { text-transform: none !important; letter-spacing: 0 !important; font-size: 12px !important; opacity: .7; }
#auth-screen.nv74-min .nv7-crear-wrap { margin-top: 16px; }
.nv74-a-portada { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; margin: 14px 0 0; border: 1px solid var(--border2, #30304a); border-radius: 11px; background: transparent; color: var(--text, #eeeeff); font: 600 14.5px 'Hanken Grotesk', system-ui, sans-serif; cursor: pointer; transition: background .2s; }
.nv74-a-portada:hover { background: var(--bg3, #13131e); }

.nv74-est { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
.nv74-est::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.nv74-est.ok { color: var(--green2, #10b981); background: color-mix(in srgb, var(--green2, #10b981) 12%, transparent); }
.nv74-est.soon { color: var(--amber2, #f59e0b); background: color-mix(in srgb, var(--amber2, #f59e0b) 12%, transparent); }
.nv74-est.late { color: var(--red2, #ef4444); background: color-mix(in srgb, var(--red2, #ef4444) 12%, transparent); }
.nv74-agita { animation: nv74Agita .45s cubic-bezier(.36,.07,.19,.97); }
@keyframes nv74Agita { 10%, 90% { transform: translateX(-1px); } 20%, 80% { transform: translateX(2px); } 30%, 50%, 70% { transform: translateX(-4px); } 40%, 60% { transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .nv74-agita { animation: none !important; } }
/* El saludo solo va con "Iniciar sesión" (no en registro ni recuperar) */
#auth-screen.nv74-min:has(#nv7-reg:not([style*="none"])) .nv74-saludo,
#auth-screen.nv74-min:has(#auth-forgot-panel:not([style*="none"])) .nv74-saludo,
#auth-screen.nv74-min:has(#auth-reset-panel:not([style*="none"])) .nv74-saludo { display: none; }

/* ── 7.9: lado izquierdo "Faltan X h" con perfiles que cruzan "ahora" (solo pantallas anchas) ── */
.nv79-lado { display: none; }
@media (min-width: 1000px) {
  #auth-screen.nv79 { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); padding: 0 !important; column-gap: 0; align-items: stretch; }
  #auth-screen.nv79 #auth-card-wrap { justify-self: center; align-self: center; padding: 40px 24px; }
  #auth-screen.nv79::before, #auth-screen.nv79::after { display: none; }
  .nv79-lado { justify-self: stretch; align-self: stretch; position: relative; z-index: 1; display: flex; flex-direction: column; gap: 22px; min-height: 100vh; overflow: hidden; padding: 48px clamp(28px, 4vw, 56px) 32px; background: var(--bg2, #100c0c); border-right: 1px solid var(--border, #2d2828); color: var(--text, #f7f5f5); font-family: 'Hanken Grotesk', system-ui, sans-serif; }
}
.nv79-grande { margin: 0; font: 900 clamp(52px, 6vw, 96px)/.86 'Archivo', system-ui, sans-serif; font-stretch: 62%; max-width: 9ch; }
.nv79-grande span { color: var(--red, var(--accent, #ee4952)); font-variant-numeric: tabular-nums; }
.nv79-q { margin: 0; color: var(--text2, #cfcbcb); font-size: 17px; max-width: 28em; }
.nv79-nota { margin: 0; font-size: 12.5px; color: var(--text3, #979292); }
.nv79-rio { position: relative; margin-top: auto; height: 318px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.nv79-carril { position: absolute; left: 0; right: 0; height: 88px; }
.nv79-carril:nth-child(1) { top: 28px; } .nv79-carril:nth-child(2) { top: 124px; } .nv79-carril:nth-child(3) { top: 220px; }
.nv79-tk { position: absolute; top: 0; width: 226px; height: 82px; border-radius: 16px; background: var(--bg3, #181313); border: 1px solid var(--border, #2d2828); padding: 11px 13px; display: grid; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto; gap: 2px 11px; align-items: center; will-change: transform; transition: border-color .3s ease, background .3s ease; }
.nv79-tk[data-e="r"] { border-color: color-mix(in srgb, var(--red, #fa676e) 45%, transparent); }
.nv79-tk[data-e="v"] { border-color: color-mix(in srgb, var(--green, #60db89) 40%, transparent); background: color-mix(in srgb, var(--green, #60db89) 7%, var(--bg3, #181313)); }
.nv79-lg { grid-row: 1 / 3; width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; overflow: hidden; background: var(--marca, #222); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.nv79-lg img { width: 100%; height: 100%; object-fit: cover; }
.nv79-lg svg { width: 22px; height: 22px; }
.nv79-lg .tx { font: 800 11px/1 'Archivo', system-ui, sans-serif; }
.nv79-f { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-width: 0; }
.nv79-f b { font-size: 14px; font-weight: 700; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.nv79-tk small { font-size: 12.5px; color: var(--text3, #979292); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.nv79-ahora { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: linear-gradient(180deg, transparent, var(--text, #f7f5f5) 15%, var(--text, #f7f5f5) 85%, transparent); opacity: .85; }
.nv79-ahora::after { content: "ahora"; position: absolute; top: 0; left: 50%; transform: translateX(-50%); font: 500 12px/1 'DM Mono', monospace; color: var(--text, #f7f5f5); background: var(--bg2, #100c0c); padding: 4px 6px; border-radius: 6px; }
#auth-screen.nv79 .auth-btn-primary { background: var(--text, #f7f5f5) !important; color: var(--bg, #090706) !important; box-shadow: none !important; font-weight: 700 !important; }
.nv74-est.late { color: var(--red, #fa676e); background: color-mix(in srgb, var(--red, #fa676e) 14%, transparent); }
.nv74-est.soon { color: var(--amber, #fcbe54); background: color-mix(in srgb, var(--amber, #fcbe54) 14%, transparent); }
.nv74-est.ok { color: var(--green, #60db89); background: color-mix(in srgb, var(--green, #60db89) 14%, transparent); }
