/* Centro de videos · pantalla de entrada (sistema de diseño de MASTER.md; el mockup 27 se replica cuando llegue). */
@font-face { font-family: 'Plus Jakarta Sans'; src: url('/static/fuentes/PlusJakartaSans.ttf') format('truetype'); font-weight: 200 800; font-display: swap; }
:root { --fondo: #040B1B; --tarjeta: #0A1021; --borde: #2E3E57; --texto: #fff; --texto-2: #C6D4F5; --texto-4: #8294B4;
  --primario: #12F0F0; --btn: #00F0F8; --rojo-txt: #FF9B9B; --rojo-fondo: #2A1016; --rojo-borde: #7A2A33; --campo: #070E1E; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--fondo); color: var(--texto); font: 16px/1.5 'Plus Jakarta Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.login { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; padding: 24px 16px;
  background: radial-gradient(60% 50% at 50% 0, rgba(18, 240, 240, .08), transparent 70%); }
.logo { width: 220px; height: auto; border-radius: 40px; }
.caja { width: 100%; max-width: 440px; background: var(--tarjeta); border: 1px solid var(--borde); border-radius: 18px; padding: 32px 28px 28px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .45); }
h1 { margin: 0; font-size: 30px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; }
.sub { margin: 4px 0 22px; color: var(--texto-4); font-size: 16px; }
label { display: block; margin: 14px 0 6px; font-weight: 600; font-size: 16px; color: var(--texto-2); }
input { width: 100%; height: 52px; padding: 0 14px; background: var(--campo); color: var(--texto); border: 1px solid var(--borde); border-radius: 10px;
  font: inherit; font-size: 16px; transition: border-color .18s, box-shadow .18s; }
input:focus { outline: none; border-color: var(--primario); box-shadow: 0 0 0 3px rgba(18, 240, 240, .25); }
.clave { position: relative; }
.clave input { padding-right: 76px; }
.ojo { position: absolute; right: 6px; top: 6px; height: 40px; min-width: 56px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent;
  color: var(--texto-2); font: inherit; font-weight: 600; cursor: pointer; }
.ojo:hover { background: #111A2E; }
.error { margin: 16px 0 0; padding: 12px 14px; border: 1px solid var(--rojo-borde); background: var(--rojo-fondo); color: var(--rojo-txt); border-radius: 10px; font-weight: 500; }
.entrar { width: 100%; min-height: 52px; margin-top: 22px; border: 0; border-radius: 10px; background: var(--btn); color: #000; font: inherit; font-size: 17px; font-weight: 700;
  cursor: pointer; box-shadow: 0 0 18px rgba(0, 240, 248, .18); transition: filter .18s; }
.entrar:hover { filter: brightness(1.08); }
.entrar:disabled { opacity: .6; cursor: wait; }
:focus-visible { outline: 2px solid var(--primario); outline-offset: 2px; }
.pie { max-width: 440px; margin: 0; text-align: center; color: var(--texto-4); font-size: 15px; }
@media (max-width: 480px) { .caja { padding: 26px 20px 22px; } h1 { font-size: 26px; } .logo { width: 180px; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
