:root{
  --bg:#070b14;
  --panel:#111827;
  --panel-soft:#172033;
  --text:#f8fafc;
  --muted:#94a3b8;
  --primary:#2563eb;
  --secondary:#111827;
  --accent:#f59e0b;
  --danger:#dc2626;
  --success:#16a34a;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:
radial-gradient(circle at 20% 20%, rgba(37,99,235,.18), transparent 24%),
radial-gradient(circle at 80% 14%, rgba(245,158,11,.12), transparent 18%),
linear-gradient(180deg,#070b14,#0b1220);color:var(--text)}
button,input,select,textarea{font:inherit}
button{cursor:pointer;border:none;border-radius:14px;padding:12px 16px;background:linear-gradient(180deg,var(--primary),#1d4ed8);color:#fff;font-weight:700}
button.secondary,.button-link.secondary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);color:#fff}
.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;text-decoration:none;border-radius:14px}
input,select,textarea{width:100%;padding:12px 14px;border-radius:14px;background:#0f172a;border:1px solid rgba(255,255,255,.08);color:var(--text)}
label{display:grid;gap:8px;color:#dbeafe;font-size:14px}
small{color:var(--muted)}
strong{color:#fff}
.glass{background:rgba(17,24,39,.72);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);box-shadow:0 18px 44px rgba(0,0,0,.22);border-radius:24px}
.stack{display:grid;gap:12px}
.message{min-height:24px;margin:0}
.message.error{color:#fecaca}
.message.success{color:#bbf7d0}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#93c5fd;font-weight:800}

/* login */
.login-body{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-shell{width:min(100%,1100px);display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.login-hero,.login-card{padding:28px}
.login-hero h1{font-size:68px;line-height:1;margin:12px 0}
.login-hero p{font-size:18px;color:#dbeafe}
.login-card h2{margin:0 0 8px;font-size:38px}
.login-subtitle{margin:0 0 18px;color:#cbd5e1}
.demo-accounts{display:grid;gap:6px;margin-top:16px}

/* admin/reseller shared */
.admin-layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
.admin-sidebar{padding:20px;background:#0a1020;border-right:1px solid rgba(255,255,255,.06)}
.brand-block{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.brand-logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(180deg,var(--accent),#b45309);font-weight:900;color:#111827}
.admin-menu{display:grid;gap:10px}
.admin-menu button{width:100%;text-align:left;background:rgba(255,255,255,.04)}
.admin-menu button.is-active{background:linear-gradient(180deg,var(--primary),#1d4ed8)}
.admin-content{padding:20px;display:grid;gap:18px}
.admin-topbar{padding:18px 20px;display:flex;justify-content:space-between;align-items:center}
.admin-topbar h1{margin:0 0 6px;font-size:26px}
.admin-topbar p{margin:0;color:#cbd5e1}
.topbar-profile{display:flex;align-items:center;gap:12px}
.profile-chip{display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:18px;background:rgba(255,255,255,.06)}
.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(180deg,var(--primary),#1d4ed8);font-weight:900}
.hero{padding:24px}
.hero h2{margin:8px 0 8px;font-size:34px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.metric-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.metric-card{padding:18px}
.metric-card span{display:block;color:#cbd5e1;margin-bottom:12px}
.metric-card strong{font-size:34px}
.module{display:none}
.module.is-visible{display:grid;gap:16px}
.module-head h2{margin:6px 0 0;font-size:30px}
.player-grid,.module-grid.two{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.player-panel{padding:16px;display:grid;gap:14px}
#adminVideo{width:100%;min-height:340px;background:#000;border-radius:18px}
.button-row{display:flex;gap:10px;flex-wrap:wrap}
.player-list-head{display:flex;justify-content:space-between;align-items:center}
.channel-list,.checker-rows{display:grid;gap:10px;max-height:420px;overflow:auto}
.channel-item,.checker-row,.playlist-row,.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.channel-item{flex-direction:column;align-items:flex-start;width:100%}
.channel-item.is-active{outline:2px solid var(--primary)}
.toolbar{padding:14px;display:grid;grid-template-columns:1fr 220px;gap:12px}
.grid-5{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:12px;align-items:center;padding:14px}
.rowish{padding:16px}
.state-pill{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:10px 14px;border-radius:999px;font-weight:800}
.state-pill.online{background:rgba(22,163,74,.18);color:#bbf7d0}
.state-pill.offline{background:rgba(220,38,38,.18);color:#fecaca}
.progress-wrap{display:grid;gap:10px}
.progress-bar{height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}
.progress-bar>div{height:100%;width:0;background:linear-gradient(90deg,#38bdf8,var(--primary))}

/* client */
.client-body{min-height:100vh}
.ultra-shell{padding:24px 24px 40px}
.client-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.brand-mark{display:flex;align-items:center;gap:12px}
.brand-badge{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,var(--accent),#b45309);font-weight:900;color:#111827}
.client-nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.nav-chip{background:rgba(255,255,255,.06)}
.nav-chip.is-active{background:linear-gradient(180deg,var(--primary),#1d4ed8)}
.hero-client{position:relative;overflow:hidden}
.ultra-hero{min-height:380px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:24px;background:linear-gradient(135deg, rgba(37,99,235,.2), rgba(17,24,39,.7))}
.hero-backdrop,.hero-overlay{position:absolute;inset:0}
.hero-backdrop{background-size:cover;background-position:center top;opacity:.96;transition:background-image .25s ease}
.hero-overlay{background:linear-gradient(90deg, rgba(2,6,23,.95) 0%, rgba(2,6,23,.82) 34%, rgba(2,6,23,.32) 100%);z-index:0}
.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) 240px;gap:28px;align-items:end;width:100%}
.hero-copy{position:relative;z-index:2;max-width:720px}
.hero-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#93c5fd;font-weight:800}
.hero-copy h1{font-size:68px;line-height:1;margin:14px 0 12px}
.hero-copy p{font-size:18px;color:#dbeafe;max-width:660px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-spotlight{display:flex;justify-content:flex-end;align-items:flex-end}
.hero-poster-button{position:relative;padding:0;border:none;background:transparent;cursor:pointer;border-radius:24px;overflow:hidden;box-shadow:0 24px 48px rgba(2,6,23,.45)}
.hero-poster-button img{display:block;width:220px;height:330px;object-fit:cover}
.hero-poster-badge{position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:999px;background:rgba(2,6,23,.72);font-size:11px;font-weight:700;color:#fff;letter-spacing:.06em;text-transform:uppercase}
.hero-rail{position:relative;z-index:2;display:flex;gap:12px;overflow-x:auto;padding-top:22px;scrollbar-width:none}
.hero-rail::-webkit-scrollbar{display:none}
.hero-mini-card{min-width:104px;max-width:104px;padding:8px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.hero-mini-card img{width:100%;height:136px;border-radius:12px;object-fit:cover}
.hero-mini-card span{font-size:12px;line-height:1.25;color:#e2e8f0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left}
.hero-mini-card.is-active{border-color:rgba(245,158,11,.92);box-shadow:0 0 0 2px rgba(245,158,11,.22)}
.hero-glow{position:absolute;inset:auto -5% -20% auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.14), transparent 65%)}
.trailer-modal{background:rgba(2,6,23,.92)}
.trailer-shell{position:relative;width:min(1100px,92vw);height:min(78vh,720px);padding:64px 18px 18px;border-radius:26px}
.trailer-shell iframe{width:100%;height:100%;border:none;border-radius:18px;background:#000}
.row{margin-bottom:28px}
.row-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.row-head h2{margin:0;font-size:26px}
.row-controls{display:flex;gap:10px}
.ultra-carousel{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.ultra-carousel::-webkit-scrollbar{display:none}
.ultra-card{min-width:220px;max-width:220px;padding:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:22px;transition:transform .18s ease, box-shadow .18s ease;cursor:pointer}
.ultra-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 40px rgba(0,0,0,.26)}
.poster{height:300px;border-radius:18px;margin-bottom:12px;background:linear-gradient(135deg,#334155,#1e293b)}
.poster-action{background:linear-gradient(135deg,#991b1b,#111827)}
.poster-series{background:linear-gradient(135deg,#0ea5e9,#111827)}
.poster-adventure{background:linear-gradient(135deg,#f97316,#111827)}
.poster-night{background:linear-gradient(135deg,#db2777,#111827)}
.poster-ultra{background:linear-gradient(135deg,#16a34a,#111827)}
.poster-stories{background:linear-gradient(135deg,#f59e0b,#111827)}
.poster-cinema{background:linear-gradient(135deg,#8b5cf6,#111827)}
.poster-elite{background:linear-gradient(135deg,#2563eb,#111827)}
.card-meta{display:grid;gap:6px}
.card-meta strong{font-size:18px}
.card-meta small{color:var(--muted)}
.card-actions{display:flex;gap:10px;margin-top:12px}
.mini-btn{padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.08)}
.mini-btn.is-favorite{background:linear-gradient(180deg,var(--accent),#b45309);color:#111827}
.resume-strip{padding:16px;display:flex;gap:12px;overflow-x:auto}
.resume-item{min-width:220px;text-align:left;background:rgba(255,255,255,.06)}
.resume-item span{display:block;margin-bottom:4px}
.resume-item small{color:#dbeafe}
.player-modal{position:fixed;inset:0;background:#000;display:none;justify-content:center;align-items:center;z-index:1000}
#videoPlayer{width:100%;height:100%;background:#000}
.player-overlay-top{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:2}
.player-title-stack{display:flex;flex-direction:column;gap:8px;align-items:flex-start;max-width:min(70vw,760px)}
.player-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.12);font-size:13px;color:#e2e8f0;backdrop-filter:blur(10px)}
.player-status.is-warning{background:rgba(120,53,15,.78);color:#fed7aa;border-color:rgba(251,146,60,.35)}
.player-status.is-error{background:rgba(127,29,29,.78);color:#fecaca;border-color:rgba(248,113,113,.4)}
.player-status.is-ok{background:rgba(20,83,45,.78);color:#dcfce7;border-color:rgba(74,222,128,.35)}
.player-top-actions{display:flex;gap:10px}

@media (max-width:1100px){
  .login-shell,.admin-layout,.metric-grid,.player-grid,.module-grid.two,.toolbar,.grid-5{grid-template-columns:1fr}
  .client-topbar{flex-direction:column;align-items:flex-start}
  .hero-copy h1,.login-hero h1{font-size:46px}
  .ultra-card{min-width:180px;max-width:180px}
  .poster{height:250px}
}


/* LOGIN AJUSTADO FASE 5 */
.login-shell{
  width:min(100%, 1680px);
  min-height:100vh;
  display:grid;
  grid-template-columns: 1.55fr 0.95fr;
  align-items:center;
  gap:28px;
  padding:28px 34px;
}
.login-hero{
  min-height:76vh;
  display:flex;
  align-items:center;
  padding:50px;
  background:
    radial-gradient(circle at 20% 25%, rgba(59,130,246,.22), transparent 25%),
    radial-gradient(circle at 78% 28%, rgba(244,63,94,.12), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.login-hero h1{
  font-size:86px;
  line-height:0.95;
  letter-spacing:-2px;
  margin:14px 0 18px;
}
.login-hero p{
  color:#fde68a;
  font-size:24px;
  margin:0;
}
.login-card{
  width:min(100%, 430px);
  justify-self:center;
  padding:34px 30px 28px;
  background:rgba(9,11,20,.82);
}
.login-card h2{
  font-size:62px;
  line-height:1;
  margin:0 0 10px;
}
.login-subtitle{
  text-align:center;
  color:#94a3b8;
  font-weight:700;
  margin:0 0 24px;
}
.login-card input{
  min-height:54px;
  border-radius:16px;
}
.login-password-wrap{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}
.login-show-btn{
  min-width:78px;
}
.login-meta-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:4px;
}
.remember-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.remember-row input{
  width:18px;
  height:18px;
  min-height:auto;
}
.forgot-link{
  color:#7dd3fc;
  text-decoration:none;
}
.forgot-link:hover{
  text-decoration:underline;
}
.login-provider-text{
  text-align:center;
  margin:22px 0 0;
  color:#d1d5db;
  font-size:15px;
}
.login-provider-text span{
  color:#7dd3fc;
}
@media (max-width: 1100px){
  .login-shell{
    grid-template-columns:1fr;
    padding:18px;
  }
  .login-hero{
    min-height:42vh;
    padding:30px;
  }
  .login-hero h1{
    font-size:58px;
  }
  .login-hero p{
    font-size:20px;
  }
  .login-card h2{
    font-size:46px;
  }
}


/* Nuevas funciones admin */
.profiles-toolbar-extended{grid-template-columns:1.2fr 220px repeat(3, auto)}
.grid-6{display:grid;grid-template-columns:1.1fr .8fr .9fr .9fr auto 1.4fr;gap:12px;align-items:center;padding:14px}
.button-row.compact button{padding:8px 12px;border-radius:12px}
.user-row-expanded{display:grid;grid-template-columns:1fr auto auto 1.4fr;align-items:center}
.user-ticket-dialog{max-width:560px;width:min(92vw,560px);border:none;padding:20px;color:#fff;background:rgba(17,24,39,.95)}
.section-subtitle{font-weight:800;color:#dbeafe;margin-top:6px}
.reseller-client-group{padding:16px;display:grid;gap:8px}
.inner-client-list .user-row.mini{padding:10px 12px}
.login-provider-text{text-align:center;margin:18px 0 0;color:#cbd5e1}
.login-provider-text span{color:#7dd3fc}
.login-password-wrap{display:grid;grid-template-columns:1fr auto;gap:10px}
.login-show-btn{min-width:80px}
.login-meta-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.remember-row{display:flex;align-items:center;gap:8px}
.remember-row input{width:18px;height:18px}
.forgot-link{color:#7dd3fc;text-decoration:none}
@media (max-width:1200px){
  .profiles-toolbar-extended,.grid-6,.user-row-expanded{grid-template-columns:1fr}
}


.profile-gate-modal,
.profile-editor-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.78);
  z-index:1100;
}
.profile-gate-card,
.profile-editor-card{
  width:min(92vw, 720px);
  padding:28px;
}
.profile-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.profile-choice{
  min-height:150px;
  border-radius:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  display:grid;
  gap:10px;
  align-content:center;
  justify-items:center;
}
.profile-choice.is-active{
  outline:2px solid var(--primary);
}

.profile-choice{padding:12px;align-content:stretch;justify-items:stretch}
.profile-choice-main{width:100%;min-height:112px;border:none;background:transparent;display:grid;gap:10px;align-content:center;justify-items:center;padding:0;cursor:pointer}
.profile-edit-btn{width:100%;border-radius:14px}
.profile-avatar{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,var(--primary),#1d4ed8);
  font-weight:900;
}
.optional-label{
  color:#cbd5e1;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pin-toggle-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.pin-toggle-row input{
  width:18px;
  height:18px;
}
.hidden{
  display:none !important;
}
@media (max-width:900px){
  .profile-options{
    grid-template-columns:1fr 1fr;
  }
}

.danger{
  background:linear-gradient(180deg,#dc2626,#991b1b) !important;
}
.profile-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.profile-choice{
  min-height:150px;
  border-radius:22px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  display:grid;
  gap:10px;
  align-content:center;
  justify-items:center;
}
.profile-choice.is-active{
  outline:2px solid var(--primary);
}

.profile-choice{padding:12px;align-content:stretch;justify-items:stretch}
.profile-choice-main{width:100%;min-height:112px;border:none;background:transparent;display:grid;gap:10px;align-content:center;justify-items:center;padding:0;cursor:pointer}
.profile-edit-btn{width:100%;border-radius:14px}
.profile-avatar{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,var(--primary),#1d4ed8);
  font-weight:900;
}
.profile-gate-modal,
.profile-editor-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.78);
  z-index:1100;
}
.profile-gate-card,
.profile-editor-card{
  width:min(92vw, 720px);
  padding:28px;
}
.optional-label{
  color:#cbd5e1;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pin-toggle-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.hidden{display:none !important;}


/* ===== Added admin styles for Update Safe, Super listas, Security PRO ===== */
.security-chart{display:grid;gap:10px}.security-bar-row{display:grid;grid-template-columns:72px 1fr 42px;gap:10px;align-items:center}.security-bar{height:10px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}.security-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}.failure-item,.success-item{display:block;padding:10px 12px;border-radius:14px;background:rgba(15,23,42,.45)}

/* ===== Super Playlist / Super listas ===== */
.superlists-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}
.superlists-panel{
  min-width:0;
}
.superlists-tabs-shell{
  margin-top:20px;
}
.superlists-tab-buttons{
  margin-bottom:16px;
}
.superlists-tab-buttons .secondary.active{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
}
.superlists-tab-panels{
  display:block;
}
.superlists-tab-panel{
  display:none;
}
.superlists-tab-panel.active{
  display:block;
}
.superlists-preview-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.superlists-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.superlists-row img{
  width:72px;
  height:72px;
  border-radius:14px;
  object-fit:cover;
  background:rgba(255,255,255,.06);
}
.superlists-row .poster-fallback{
  width:72px;
  height:72px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.07);
  color:#dbe4ff;
  font-size:12px;
  text-align:center;
  padding:6px;
}
.superlists-row-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.superlists-row-main strong,
.superlists-catalog-card strong,
.superlists-series-card strong{
  display:block;
  color:#fff;
}
.superlists-row-main small,
.superlists-catalog-card small,
.superlists-series-card small{
  color:rgba(255,255,255,.72);
  word-break:break-word;
}
.superlists-row-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.superlists-catalog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;
}
.superlists-catalog-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:100%;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.superlists-catalog-poster{
  width:100%;
  aspect-ratio:2 / 3;
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#dbe4ff;
  font-size:12px;
  text-align:center;
  padding:10px;
}
.superlists-catalog-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.superlists-sources-list{
  display:grid;
  gap:12px;
}
.superlists-source-card{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.superlists-source-card .source-meta{
  display:grid;
  gap:4px;
}
.superlists-filter-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.superlists-filter-grid label{
  display:flex;
  gap:8px;
  align-items:center;
}
#superListsFilterStats .glass-lite,
#superListsFilterImpact .glass-lite,
#superListsDiagnostics .glass-lite{
  padding:10px 12px;
  border-radius:14px;
}
.superlists-diagnostics-item{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.superlists-diagnostics-item code,
.superlists-row code{
  word-break:break-word;
  white-space:pre-wrap;
}
.superlists-series-preview{
  display:grid;
  gap:12px;
}
.superlists-series-card{
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  display:grid;
  gap:12px;
}
.superlists-series-head{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.superlists-series-head img{
  width:64px;
  height:64px;
  border-radius:14px;
  object-fit:cover;
}
.superlists-series-body{
  display:grid;
  gap:10px;
}
.superlists-season-block{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.superlists-season-block ul{
  margin:8px 0 0;
  padding-left:18px;
}
.superlists-season-block li{
  margin:4px 0;
  color:rgba(255,255,255,.82);
}
.superlists-empty{
  padding:16px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px dashed rgba(255,255,255,.12);
  color:rgba(255,255,255,.72);
}
#superListsSummary.metric-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
#superListsSummary .metric-card{
  min-width:0;
}
@media (max-width: 1080px){
  .superlists-grid{
    grid-template-columns:1fr;
  }
  .superlists-filter-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  .superlists-row{
    grid-template-columns:56px minmax(0,1fr);
  }
  .superlists-row img,
  .superlists-row .poster-fallback{
    width:56px;
    height:56px;
  }
  .superlists-row-actions{
    grid-column:1 / -1;
    align-items:stretch;
  }
  #superListsSummary.metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


.superlists-editor-box input[type="search"]{
  width:100%;
}
.superlists-editor-stats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.superlists-editor-stats span{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  font-size:13px;
}
.superlists-editor-box .danger{
  border-color:rgba(255,107,107,.34);
}
.superlists-row-main{
  min-width:0;
}
.superlists-row-main strong,
.superlists-row-main small{
  display:block;
  word-break:break-word;
}
.superlists-catalog-card .button-row,
.superlists-series-card .button-row{
  margin-top:auto;
}
.superlists-tab-buttons .secondary{
  min-width:120px;
}

/* series detail catalog refinement */
.series-season-block{gap:14px}
.series-season-block h3{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.series-season-block h3 small{color:#cbd5e1;font-size:13px;font-weight:700}
.detail-page-episode-btn{width:100%;text-align:left;color:#fff;cursor:pointer;align-items:center}
.detail-page-episode-btn span:last-child{font-size:20px;font-weight:900;opacity:.9}
.detail-page-episode-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.08)}
.client-body[data-client-view="series"] .row-head .row-controls,.client-body[data-client-view="movies"] .row-head .row-controls{display:none}
.client-body[data-client-view="series"] #seriesSection .row-head small{color:#bfdbfe}

/* 2026-04 dashboard update report */
.dashboard-update-card{
  display:grid;
  gap:16px;
}
.update-report-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.update-report-title{
  font-size:1.05rem;
  font-weight:800;
  line-height:1.3;
}
.update-report-meta{
  color:var(--muted);
  font-size:.9rem;
  margin-top:4px;
}
.update-report-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.update-metric-card{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  display:grid;
  gap:4px;
}
.update-metric-card small{
  color:var(--muted);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.update-metric-card strong{
  font-size:1.5rem;
  line-height:1;
}
.update-metric-card span{
  color:rgba(255,255,255,.72);
  font-size:.85rem;
}
.update-report-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
}
.update-report-panel{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:18px;
}
.update-area-list{
  display:grid;
  gap:10px;
}
.update-area-row{
  display:grid;
  gap:6px;
}
.update-area-track{
  width:100%;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.update-area-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--primary), var(--accent));
  box-shadow:0 0 20px rgba(71,212,255,.28);
}
.update-change-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.update-change-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(71,212,255,.12);
  color:#dff7ff;
  border:1px solid rgba(71,212,255,.18);
  font-size:.88rem;
  font-weight:700;
}
.update-change-pill.warning{
  background:rgba(245,158,11,.12);
  border-color:rgba(245,158,11,.2);
  color:#ffe7b5;
}
.update-change-pill.muted{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.08);
  color:rgba(255,255,255,.72);
}
.update-change-pill.soft{
  background:rgba(139,92,246,.12);
  border-color:rgba(139,92,246,.18);
  color:#efe5ff;
}
@media (max-width: 960px){
  .update-report-metrics,
  .update-report-grid{
    grid-template-columns:1fr;
  }
  .update-report-head{
    flex-direction:column;
  }
}


.update-report-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.diagnostic-grid{
  grid-template-columns:1.15fr .85fr;
}
.update-outcome-banner{
  display:flex;
  align-items:center;
  min-height:52px;
  padding:14px 16px;
  border-radius:18px;
  font-weight:800;
  letter-spacing:.01em;
  border:1px solid rgba(255,255,255,.08);
}
.update-outcome-banner.success{
  background:linear-gradient(180deg, rgba(34,197,94,.16), rgba(34,197,94,.08));
  color:#dcfce7;
  border-color:rgba(34,197,94,.22);
}
.update-outcome-banner.warning{
  background:linear-gradient(180deg, rgba(245,158,11,.16), rgba(245,158,11,.08));
  color:#fef3c7;
  border-color:rgba(245,158,11,.22);
}
.update-outcome-banner.neutral{
  background:linear-gradient(180deg, rgba(148,163,184,.16), rgba(148,163,184,.07));
  color:#e2e8f0;
  border-color:rgba(148,163,184,.2);
}
.update-diagnostic-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.diag-title{
  display:block;
  margin-bottom:10px;
  font-size:.88rem;
  color:rgba(255,255,255,.8);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.compact-checks{max-height:320px}
.route-row-ok{background:rgba(34,197,94,.08)}
.route-row-missing{background:rgba(239,68,68,.1)}
.route-row-protected{background:rgba(245,158,11,.1)}
.route-row-ignored{background:rgba(148,163,184,.09)}
@media (max-width: 960px){
  .update-report-metrics,
  .update-report-grid,
  .diagnostic-grid,
  .update-diagnostic-columns{
    grid-template-columns:1fr;
  }
}


body[data-client-view="movies"].client-mode-pc .catalog-grid-vertical .netflix-card,
body[data-client-view="series"].client-mode-pc .catalog-grid-vertical .netflix-card,
body[data-client-view="movies"].client-mode-browser-mobile .catalog-grid-vertical .netflix-card,
body[data-client-view="series"].client-mode-browser-mobile .catalog-grid-vertical .netflix-card,
body[data-client-view="movies"].client-mode-tv .catalog-grid-vertical .netflix-card,
body[data-client-view="series"].client-mode-tv .catalog-grid-vertical .netflix-card{
  padding:8px;
  border-radius:16px;
}



.update-reflection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.update-reflection-card{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.14)}
.update-reflection-card small{display:block;color:#9fb0cb;margin-bottom:6px}
.update-reflection-card strong{display:block;font-size:18px;color:#f8fbff;line-height:1.25}
.update-reflection-card span{display:block;margin-top:6px;color:#c5d0e4;font-size:12px;line-height:1.45}
@media (max-width: 980px){.update-reflection-grid{grid-template-columns:1fr}}


/* v7 client visibility hotfix */
.client-body #searchResultsSection .ultra-carousel{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;}
.client-body #searchResultsSection .netflix-card{flex:0 0 auto;}
.client-body .row.is-grid-section .row-controls{display:none!important;}
.client-body #moviesSection .catalog-grid-vertical,
.client-body #seriesSection .catalog-grid-vertical{display:grid!important;overflow:visible!important;}
.client-body #moviesSection .catalog-grid-vertical .netflix-card,
.client-body #seriesSection .catalog-grid-vertical .netflix-card{min-width:0!important;max-width:none!important;width:100%!important;}
.client-body[data-client-view="movies"] #moviesSection,
.client-body[data-client-view="series"] #seriesSection{display:block!important;}
.client-body[data-client-view="home"] #moviesSection,
.client-body[data-client-view="home"] #seriesSection,
.client-body[data-client-view="home"] #recommendSection{display:none!important;}


[data-screen].is-hidden{display:none}
.catalog-block{margin:0 0 1.25rem}
.compact-head{padding-inline:.25rem}
.compact-carousel{gap:1.2rem; padding-block:.35rem; overflow-x:auto; scroll-behavior:smooth}
.channel-card{position:relative;min-width:232px;max-width:232px;background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(15,23,42,.78));border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:1rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 20px 44px rgba(2,6,23,.28);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.channel-card:hover{transform:translateY(-5px);box-shadow:0 28px 54px rgba(2,6,23,.36);border-color:rgba(255,255,255,.16)}
.channel-card-media{position:relative;height:312px;border-radius:18px;background:linear-gradient(135deg, rgba(37,99,235,.35), rgba(245,158,11,.20));display:flex;align-items:center;justify-content:center;overflow:hidden}
.channel-card-media img{width:100%; height:100%; object-fit:cover;display:block}
.card-media-overlay{position:absolute;inset:auto 0 0 0;padding:18px 14px;background:linear-gradient(180deg, transparent, rgba(2,6,23,.92));display:flex;justify-content:flex-start;pointer-events:none}
.card-media-action{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff}
.channel-card--canales{min-width:188px;max-width:188px;padding:.85rem}
.channel-card--canales .channel-card-media{height:104px;background:rgba(255,255,255,.04)}
.channel-card--canales .channel-card-media img{object-fit:contain;padding:12px;background:transparent}
.channel-card--canales .card-media-overlay{display:none}
.channel-fallback{width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:1.25rem; font-weight:700; color:#fff}
.channel-card-meta{display:flex; flex-direction:column; gap:.32rem}
.channel-card-meta strong{font-size:1.05rem; line-height:1.28; letter-spacing:-.01em}
.channel-card-meta small{color:rgba(226,232,240,.74);font-size:.82rem}
.card-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.15rem}
.card-badge{display:inline-flex;align-items:center;padding:.34rem .58rem;border-radius:999px;background:rgba(37,99,235,.18);border:1px solid rgba(147,197,253,.18);color:#dbeafe;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.channel-card--peliculas .card-badge:first-child{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.18);color:#fde68a}
.channel-card--series .card-badge:first-child{background:rgba(139,92,246,.16);border-color:rgba(167,139,250,.18);color:#e9d5ff}
.card-description{margin:.18rem 0 0;color:#cbd5e1;font-size:.82rem;line-height:1.45;min-height:3.5em}
.channel-card-actions{display:flex; gap:.55rem;margin-top:auto}
.catalog-empty{padding:1rem; color:rgba(226,232,240,.72)}


.login-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.register-ticket-overlay{position:fixed;inset:0;background:rgba(2,6,23,.78);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1200}
.register-ticket-card{width:min(92vw,560px);padding:26px;border-radius:28px}
.register-ticket-card h3{margin:0 0 14px;font-size:28px}
.button-row{display:flex;gap:12px;flex-wrap:wrap}
.button-row > *{flex:1 1 180px}
.message.success{color:#86efac}
.message.error{color:#fca5a5}
@media (max-width:720px){
  .login-meta-row{flex-direction:column;align-items:flex-start}
  .login-links{width:100%}
  .login-links .button-link{width:100%}
}


.hotfix-login-banner{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:9999;padding:8px 14px;border-radius:999px;background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.45);color:#dcfce7;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.login-links .button-link.secondary{background:linear-gradient(135deg,var(--accent),#f97316);color:#fff !important;border:0;padding:10px 14px;border-radius:12px;font-weight:800;box-shadow:0 10px 24px rgba(249,115,22,.28)}
.login-links .button-link.secondary:hover{filter:brightness(1.06);text-decoration:none}


/* Premium safe update additions */
.login-subtitle.compact{margin-top:-6px;margin-bottom:8px;font-size:13px;opacity:.78}
.reseller-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.reseller-kpi-card,.admin-reseller-kpi{padding:16px;border-radius:18px;background:rgba(15,23,42,.56);border:1px solid rgba(148,163,184,.15);display:grid;gap:6px}
.reseller-kpi-card small,.admin-reseller-kpi small{color:var(--muted)}
.reseller-kpi-card strong,.admin-reseller-kpi strong{font-size:28px}
.reseller-summary-grid,.admin-reseller-summary-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.reseller-chart-panel,.reseller-activity-panel,.admin-reseller-panel{padding:18px;border-radius:20px;background:rgba(15,23,42,.48);border:1px solid rgba(148,163,184,.12)}
.reseller-bars,.admin-reseller-bars{display:grid;gap:12px;margin-top:8px}
.reseller-bar-row,.admin-reseller-bar-row{display:grid;grid-template-columns:140px 1fr 64px;gap:10px;align-items:center}
.reseller-bar-track,.admin-reseller-bar-track{height:10px;border-radius:999px;background:rgba(148,163,184,.16);overflow:hidden}
.reseller-bar-fill,.admin-reseller-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.reseller-user-card{padding:16px;border-radius:18px;background:rgba(15,23,42,.42);border:1px solid rgba(148,163,184,.12);display:grid;gap:10px}
.reseller-user-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.reseller-user-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.reseller-user-stats div,.reseller-admin-mini-grid div{padding:10px 12px;border-radius:14px;background:rgba(148,163,184,.08);display:grid;gap:4px}
.reseller-user-actions{display:flex;flex-wrap:wrap;gap:8px}
.reseller-user-actions .secondary,.reseller-user-actions button{padding:10px 12px;border-radius:12px}
.reseller-empty-state{padding:20px;border:1px dashed rgba(148,163,184,.2);border-radius:18px;text-align:center;color:var(--muted)}
.reseller-admin-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.reseller-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.reseller-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(37,99,235,.16);border:1px solid rgba(96,165,250,.18);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.state-pill.warning{background:rgba(245,158,11,.18);color:#fcd34d}
.state-pill.danger{background:rgba(239,68,68,.18);color:#fca5a5}
@media (max-width: 980px){
  .reseller-summary-grid,.admin-reseller-summary-grid{grid-template-columns:1fr}
  .reseller-kpi-grid,.reseller-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reseller-user-stats,.reseller-admin-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 720px){
  .reseller-kpi-grid,.reseller-overview-grid,.reseller-user-stats,.reseller-admin-mini-grid{grid-template-columns:1fr}
  .reseller-bar-row,.admin-reseller-bar-row{grid-template-columns:1fr}
  .hero-layout{grid-template-columns:1fr}
  .hero-spotlight{justify-content:flex-start}
  .hero-poster-button img{width:180px;height:270px}
}


/* Smart TV remote mode */
.client-mode-tv{--tv-focus-ring:0 0 0 3px rgba(245,158,11,.92),0 0 0 7px rgba(37,99,235,.38);}
.client-mode-tv .client-shell{padding-bottom:48px;}
.client-mode-tv .client-topbar{gap:20px;}
.client-mode-tv .client-nav{gap:14px;flex-wrap:wrap;}
.client-mode-tv .nav-chip,
.client-mode-tv #heroPlayBtn,
.client-mode-tv #heroInfoBtn,
.client-mode-tv .resume-item,
.client-mode-tv .channel-card,
.client-mode-tv .profile-choice-main,
.client-mode-tv .profile-edit-btn,
.client-mode-tv #skipProfileEditBtn,
.client-mode-tv #newProfileBtn,
.client-mode-tv #toggleFavoriteBtn,
.client-mode-tv #closePlayer,
.client-mode-tv .player-top-actions button,
.client-mode-tv .profile-editor-card button,
.client-mode-tv .profile-gate-card button{
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease;
}
.client-mode-tv .tv-focused{
  outline:none !important;
  box-shadow:var(--tv-focus-ring) !important;
  transform:translateY(-2px) scale(1.03);
  z-index:4;
}
.client-mode-tv .channel-card.tv-focused{border-color:rgba(245,158,11,.9)!important;}
.client-mode-tv .hero-client{min-height:430px;}
.client-mode-tv .hero-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:end;}
.client-mode-tv .hero-copy h1{font-size:clamp(44px,5vw,82px);}
.client-mode-tv .hero-copy p{font-size:20px;max-width:760px;}
.client-mode-tv .hero-mini-card{min-width:126px;max-width:126px;}
.client-mode-tv .hero-mini-card img{height:170px;}
.client-mode-tv .hero-poster-button img{width:240px;height:360px;}
.client-mode-tv .channel-card{min-width:246px;max-width:246px;}
.client-mode-tv .channel-card--canales{min-width:220px;max-width:220px;}
.client-mode-tv .channel-card-media{height:336px;}
.client-mode-tv .channel-card--canales .channel-card-media{height:124px;}
.client-mode-tv .row-head h2{font-size:28px;}
.client-mode-tv .compact-carousel{gap:1.1rem;padding-block:.45rem;}
.client-mode-tv .resume-item{min-width:280px;font-size:18px;}
.client-mode-tv .player-overlay-top{top:24px;left:24px;right:24px;}
.client-mode-tv .player-top-actions button{min-width:120px;min-height:48px;border-radius:14px;}
.client-mode-tv #closePlayer{font-size:20px;font-weight:800;}
.client-mode-tv .profile-gate-card,.client-mode-tv .profile-editor-card{max-width:780px;}
.client-mode-tv .profile-choice-main{min-height:84px;}
.client-mode-tv .button-row button{min-height:52px;}
@media (min-width: 1200px){
  .client-mode-tv .client-topbar{padding-inline:12px;}
  .client-mode-tv .ultra-carousel.compact-carousel{padding-inline:6px;}
}

.series-modal{background:rgba(2,6,23,.92);padding:24px;align-items:flex-start;overflow:auto}
.series-modal-shell{width:min(1120px,100%);margin:24px auto;padding:20px;border-radius:26px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,.88))}
.series-modal-content{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding-top:56px}
.series-modal-poster-wrap img{width:100%;max-width:220px;border-radius:18px;box-shadow:0 20px 40px rgba(2,6,23,.35);display:block}
.series-modal-copy{display:flex;flex-direction:column;gap:14px}
.series-modal-meta{margin:0;color:#93c5fd;font-weight:700;letter-spacing:.02em}
.series-modal-text{margin:0;color:#cbd5e1;line-height:1.55}
.series-season-tabs{display:flex;gap:10px;overflow:auto;padding-bottom:6px;scrollbar-width:none}
.series-season-tabs::-webkit-scrollbar{display:none}
.series-season-chip{min-width:172px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.series-season-chip:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(2,6,23,.24)}
.series-season-chip small{color:#94a3b8}
.series-season-chip.is-active{border-color:rgba(245,158,11,.9);box-shadow:0 0 0 2px rgba(245,158,11,.15),0 18px 30px rgba(2,6,23,.22);background:linear-gradient(180deg, rgba(37,99,235,.18), rgba(255,255,255,.05))}
.series-episode-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.series-episode-card{padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(15,23,42,.84), rgba(15,23,42,.7));color:#fff;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.series-episode-card:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(2,6,23,.28)}
.series-episode-card.is-primary{border-color:rgba(37,99,235,.32)}
.series-episode-card strong{font-size:1.02rem;line-height:1.3}
.series-episode-card small{color:#94a3b8}
.series-episode-badge{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;background:rgba(37,99,235,.18);color:#bfdbfe;font-size:.78rem;font-weight:700}
.series-episode-action{margin-top:auto;color:#fde68a;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
@media (max-width: 900px){
  .series-modal-content{grid-template-columns:1fr;padding-top:48px}
  .series-modal-poster-wrap img{max-width:180px}
}


.monitor-body{background:linear-gradient(180deg,#0b1220 0%,#111827 100%);color:#e5e7eb;min-height:100vh}
.monitor-shell{max-width:1600px;margin:0 auto;padding:24px;display:grid;gap:18px}
.monitor-topbar,.monitor-toolbar,.monitor-section,.monitor-task-card{border-radius:24px}
.monitor-summary{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.monitor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px}
.monitor-tabs,.monitor-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.monitor-tabs button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);color:#fff;padding:10px 14px;border-radius:999px;cursor:pointer}
.monitor-tabs button.is-active{background:var(--primary);border-color:transparent}
.monitor-actions input{min-width:260px;background:rgba(15,23,42,.8);border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:14px;padding:12px 14px}
.monitor-content{display:grid;gap:18px}
.monitor-section{padding:18px}
.monitor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:14px}
.monitor-card{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:14px;align-items:start}
.monitor-card-cover{width:88px;height:120px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center}
.monitor-card-cover img{width:100%;height:100%;object-fit:cover}
.monitor-card-placeholder{font-weight:800;font-size:28px;color:#cbd5e1}
.monitor-card-body{display:grid;gap:10px}
.monitor-card-body strong{font-size:16px;line-height:1.2}
.monitor-card-body small{color:#94a3b8}
.monitor-chip-row{display:flex;gap:8px;flex-wrap:wrap}
.monitor-task-card{padding:16px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.empty-state{padding:24px;text-align:center;display:grid;gap:8px;color:#cbd5e1}
@media (max-width: 900px){.monitor-card{grid-template-columns:1fr}.monitor-card-cover{width:100%;height:180px}}

.ingest-pill{border:1px solid rgba(255,255,255,.08)}
.ingest-ready,.success{background:rgba(16,185,129,.18);color:#bbf7d0}
.ingest-processing,.ingest-pending{background:rgba(245,158,11,.18);color:#fde68a}
.ingest-error{background:rgba(239,68,68,.18);color:#fecaca}
.ingest-not_prepared,.ingest-partial{background:rgba(59,130,246,.18);color:#bfdbfe}
.monitor-ingest-card .state-pill{margin-left:auto}

.monitor-bulkbar{padding:16px 18px;display:grid;gap:14px}
.bulk-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.bulk-main small{display:block;color:#94a3b8;margin-top:4px}
.bulk-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}
.bulk-controls label{display:grid;gap:6px;color:#cbd5e1;font-size:13px}
.bulk-controls label span{font-weight:600}
.bulk-controls select,.bulk-controls input{background:rgba(15,23,42,.8);border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:14px;padding:11px 12px;min-height:44px}
.bulk-controls button{min-height:44px}
.bulk-notes{grid-column:span 2}
.monitor-card{position:relative}
.monitor-select-chip{position:absolute;top:10px;left:10px;z-index:2;background:rgba(15,23,42,.88);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 10px;display:flex;gap:8px;align-items:center;font-size:12px;color:#e5e7eb}
.monitor-select-chip input{accent-color:var(--primary)}
.compact-row{margin-top:8px}
@media (max-width: 900px){.bulk-notes{grid-column:span 1}.monitor-select-chip{position:static;justify-content:flex-start;width:max-content}}


.hero-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}
.hero-config-grid label{display:flex;flex-direction:column;gap:6px}
.hero-help{margin:12px 0 0;color:#cbd5e1;font-size:14px}
.hero-item-card .hero-item-main{display:flex;gap:14px;align-items:center}
.hero-mini-cover{width:72px;height:92px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hero-mini-cover img{width:100%;height:100%;object-fit:cover}


/* Update-safe: botones del reproductor Cliente TV en cliente normal */
.player-modal.tv-player-modal{justify-content:center;align-items:center;overflow:hidden}
.player-modal.tv-player-modal[data-player-type] #videoPlayer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;z-index:0}
.player-modal.tv-player-modal .player-overlay-bottom-ready{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 82px;background:linear-gradient(180deg,rgba(2,6,23,.82),rgba(2,6,23,.28) 55%,rgba(2,6,23,0));pointer-events:none;z-index:2;transition:opacity .22s ease,transform .22s ease}
.player-modal.tv-player-modal .player-overlay-bottom-ready .player-title-stack strong{font-size:clamp(22px,3vw,42px);line-height:1.05;color:#fff;text-shadow:0 8px 24px rgba(0,0,0,.55)}
.tv-player-controls-bottom{position:absolute;left:22px;right:22px;bottom:22px;display:grid;gap:12px;z-index:3;padding:16px;border-radius:26px;background:linear-gradient(180deg,rgba(3,7,18,.88),rgba(15,23,42,.74));border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 60px rgba(0,0,0,.48);backdrop-filter:blur(16px);transition:opacity .22s ease,transform .22s ease}
.tv-player-controls-bottom .tv-player-status{display:flex;align-items:center;justify-content:center;min-height:34px;width:max-content;max-width:100%;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.08);color:#e5edf8;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-player-actions-bottom{display:grid;grid-template-columns:1.15fr repeat(6,minmax(76px,1fr)) .85fr;gap:10px;align-items:stretch}
.tv-player-actions-bottom .player-control-btn{min-height:58px;min-width:0;border-radius:18px;padding:8px 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:15px;font-weight:900;letter-spacing:.01em;box-shadow:0 12px 28px rgba(0,0,0,.22);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.tv-player-actions-bottom .player-control-btn.is-primary{background:linear-gradient(180deg,#f8fafc,#dbe4ef);color:#0f172a;border-color:rgba(255,255,255,.86)}
.tv-player-actions-bottom .player-control-btn.is-soft-disabled{opacity:.46}
.tv-player-actions-bottom .player-control-btn.is-active .player-control-icon,.tv-player-actions-bottom .player-control-btn.is-active .player-control-label{color:#fbbf24;opacity:1}
.player-control-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.player-control-icon svg{width:24px;height:24px;display:block;fill:currentColor}
.player-control-label{display:block;max-width:100%;font-size:10px;line-height:1.05;font-weight:900;letter-spacing:.05em;text-transform:uppercase;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-modal.tv-player-modal.is-player-clean .player-overlay-bottom-ready,.player-modal.tv-player-modal.is-player-clean .tv-player-controls-bottom{opacity:0;transform:translateY(12px);pointer-events:none}
#playerModal[data-player-type='live'] #tvRewindBtn,#playerModal[data-player-type='live'] #tvForwardBtn,#playerModal[data-player-type='movie'] #tvPrevChannelBtn,#playerModal[data-player-type='movie'] #tvNextChannelBtn,#playerModal[data-player-type='series'] #tvPrevChannelBtn,#playerModal[data-player-type='series'] #tvNextChannelBtn{opacity:.48}
.client-mode-tv .tv-player-actions-bottom .player-control-btn.tv-focused,.tv-focused.player-control-btn{outline:none!important;transform:translateY(-2px) scale(1.015);box-shadow:0 0 0 3px rgba(245,158,11,.96),0 0 0 8px rgba(37,99,235,.28),0 18px 42px rgba(0,0,0,.42)!important}
@media (max-width:1280px){.tv-player-actions-bottom{grid-template-columns:repeat(4,minmax(0,1fr))}.tv-player-actions-bottom .player-control-btn{min-height:52px;font-size:14px}}
@media (max-width:760px){.tv-player-controls-bottom{left:12px;right:12px;bottom:12px;padding:12px;border-radius:20px}.tv-player-actions-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-player-actions-bottom .player-control-btn{min-height:48px}.player-modal.tv-player-modal .player-overlay-bottom-ready{padding:16px 16px 80px}}
