/* StreamCore V4.1 RC3 — gris premium, sin metalizados ni degradados fuertes */
:root{
  --color:#8EA4FF;--color2:#A8B8FF;--ok:#51D7A3;--warn:#D8A84E;--err:#E06C7A;
  --bg:#090C12;--bg2:#0C1017;--surface:#111720;--surface2:#151D28;--card:#121923;
  --line:rgba(255,255,255,.075);--line2:rgba(255,255,255,.13);
  --text:#F4F6FA;--muted:#A8B1BF;--soft:#778292;--dark:#05070A;
  --shadow:0 18px 58px rgba(0,0,0,.38);--radius:18px;--font:Inter,Segoe UI,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit}button{cursor:pointer}a{color:var(--color);text-decoration:none}.honeypot{position:absolute;left:-9999px;opacity:0}.muted{color:var(--muted);font-size:14px;line-height:1.6}
.screen-login{min-height:100vh;position:relative;overflow:hidden;background:#05070a}.login-bg{position:absolute;inset:0;background:radial-gradient(circle at 22% 18%,rgba(142,164,255,.10),transparent 32%),linear-gradient(135deg,#070A10,#10151e 48%,#05070a);filter:saturate(.82)}.login-bg.has-media{background:#020307}.login-bg .hero-media-bg{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.46) saturate(.75) blur(.3px)}.login-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.38) 50%,rgba(0,0,0,.76))}.login-shade{position:absolute;inset:0;background:radial-gradient(circle at 74% 36%,rgba(142,164,255,.10),transparent 28%),linear-gradient(180deg,rgba(8,10,15,.25),#05070b)}.login-shell{position:relative;z-index:2;min-height:100vh;display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:64px;align-items:center;width:min(1120px,calc(100% - 40px));margin:0 auto}.login-card{background:rgba(17,23,32,.92);border:1px solid var(--line2);border-radius:24px;padding:30px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.brand-line{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-line strong,.client-brand strong{display:block;font-size:16px;font-weight:800}.brand-line span,.client-brand span{display:block;color:var(--soft);font-size:12px;margin-top:2px}.brand-img{max-width:130px;max-height:42px;object-fit:contain}.brand-fallback,.client-brand-fallback{width:42px;height:42px;border-radius:12px;background:#1b2431;border:1px solid var(--line2);display:grid;place-items:center;font-weight:900;color:#fff}
.auth-view h1{font-size:27px;letter-spacing:-.6px;margin-bottom:8px}.auth-view p{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:22px}.auth-view label,.client-section label{display:block;text-transform:uppercase;letter-spacing:.7px;color:var(--soft);font-weight:800;font-size:11px;margin:14px 0 7px}.field{width:100%;min-height:46px;background:#0A0E15;border:1px solid var(--line2);border-radius:12px;color:var(--text);outline:none;padding:0 14px;font-size:14px;transition:.18s}.field:focus{border-color:rgba(142,164,255,.55);box-shadow:0 0 0 3px rgba(142,164,255,.12)}.textarea{padding:13px 14px;min-height:120px;resize:vertical;line-height:1.55}.password-wrap{position:relative}.password-wrap .field{padding-right:52px}.eye-btn{position:absolute;right:8px;top:7px;width:34px;height:32px;border:0;background:transparent;color:var(--muted);border-radius:10px}.eye-btn:hover{background:rgba(255,255,255,.05);color:var(--text)}
.btn-primary{border:1px solid rgba(255,255,255,.12);background:#1B2533;color:white;border-radius:12px;height:44px;padding:0 20px;font-weight:800;font-size:14px;box-shadow:none;transition:.16s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{background:#253247;border-color:rgba(142,164,255,.35);transform:translateY(-1px)}.btn-primary.full{width:100%;margin-top:20px}.btn-primary.small{height:36px;border-radius:10px}.btn-ghost{border:1px solid var(--line2);background:rgba(255,255,255,.025);color:var(--muted);border-radius:12px;height:42px;padding:0 18px;font-weight:700}.btn-ghost:hover{color:var(--text);background:rgba(255,255,255,.055)}.auth-links{text-align:center;margin-top:17px;font-size:14px}.alert{padding:12px 14px;border-radius:12px;margin-top:14px;font-size:13px;line-height:1.5;border:1px solid rgba(142,164,255,.22);background:rgba(142,164,255,.08);color:#c8d2ff}.alert.error{border-color:rgba(224,108,122,.32);background:rgba(224,108,122,.10);color:#ffb3bd}.login-copy{max-width:560px}.hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.055);border:1px solid var(--line2);color:#fff;border-radius:999px;padding:8px 13px;font-size:12px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:22px}.hero-badge span{width:7px;height:7px;border-radius:50%;background:var(--color);box-shadow:0 0 0 5px rgba(142,164,255,.10)}.login-copy h2{font-size:56px;line-height:1.02;letter-spacing:-2px;margin-bottom:20px}.login-copy p{font-size:18px;color:var(--muted);line-height:1.7;max-width:480px}
.client-app{min-height:100vh;background:var(--bg);display:grid;grid-template-columns:260px 1fr;position:relative;overflow:hidden}.client-hero-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 78% 12%,rgba(142,164,255,.08),transparent 34%)}.client-hero-bg.has-media img,.client-hero-bg.has-media video{width:100%;height:100%;object-fit:cover;filter:brightness(.18) saturate(.65);opacity:.55}.client-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,12,18,.72),#090c12 70%)}.client-sidebar{position:sticky;z-index:1;top:0;background:#0B0F16;border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column;min-height:100vh}.client-brand{display:flex;align-items:center;gap:12px;padding:10px 8px 20px;border-bottom:1px solid var(--line);margin-bottom:18px}.client-brand img{max-width:130px;max-height:42px;object-fit:contain}.client-nav{display:flex;flex-direction:column;gap:7px}.client-nav button{height:42px;border:1px solid transparent;background:transparent;color:var(--muted);text-align:left;padding:0 12px;border-radius:12px;font-weight:700;display:flex;align-items:center;gap:10px}.nav-ico{width:21px;height:21px;border-radius:8px;border:1px solid rgba(255,255,255,.12);display:inline-grid;place-items:center;color:#f7f8fb;font-size:12px;line-height:1;background:rgba(255,255,255,.035)}.client-nav button.active,.client-nav button:hover{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.10);color:var(--text)}.client-nav button.active .nav-ico,.client-nav button:hover .nav-ico{border-color:rgba(142,164,255,.35);background:rgba(142,164,255,.13)}.logout{margin-top:auto;width:100%}.client-main{position:relative;z-index:1;padding:34px;max-width:1280px;width:100%;margin:0 auto}.client-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.client-topbar h2{font-size:28px;letter-spacing:-.7px}.client-topbar h2 span{color:var(--color)}.client-topbar p{color:var(--muted);margin-top:5px}.client-section{display:none}.client-section.active{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;margin-bottom:18px}.kpi{background:rgba(18,25,35,.86);border:1px solid var(--line);border-left:3px solid rgba(142,164,255,.55);border-radius:18px;padding:18px;min-height:118px}.kpi span{display:block;color:var(--soft);font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:900;margin-bottom:12px}.kpi strong{display:block;font-size:29px;letter-spacing:-.8px}.kpi em{display:block;color:var(--soft);font-size:12px;font-style:normal;margin-top:8px}.panel-card{background:rgba(17,23,32,.88);border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:0 12px 34px rgba(0,0,0,.18)}.panel-card h3{font-size:18px;margin-bottom:8px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.info-grid div{background:#0B1017;border:1px solid var(--line);border-radius:14px;padding:14px}.info-grid span{display:block;color:var(--soft);font-size:11px;text-transform:uppercase;font-weight:900;margin-bottom:7px}.info-grid b{font-size:16px}.device-list,.mini-list,.faq-list{display:grid;gap:10px;margin-top:14px}.list-item,.faq-item{background:#0B1017;border:1px solid var(--line);border-radius:14px;padding:14px}.list-item strong,.faq-item strong{display:block;margin-bottom:5px}.list-item span,.faq-item p{display:block;color:var(--muted);font-size:13px;line-height:1.55}.ticket-open{color:var(--warn)}.ticket-closed{color:var(--ok)}
.portal-ticker{position:fixed;z-index:45;left:0;right:0;bottom:0;height:42px;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -12px 34px rgba(0,0,0,.25);display:none}.portal-ticker-track{height:100%;display:flex;align-items:center;gap:18px;white-space:nowrap;will-change:transform;animation:scTicker var(--ticker-speed,28s) linear infinite;padding-left:100%}.portal-ticker-logo{max-height:26px;max-width:80px;object-fit:contain;margin-right:12px}.portal-ticker-text{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.1px}@keyframes scTicker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.cookie-banner{position:fixed;z-index:50;left:20px;right:20px;bottom:20px;background:rgba(17,23,32,.96);border:1px solid var(--line2);box-shadow:var(--shadow);border-radius:18px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.portal-ticker[style*="display: block"]~.cookie-banner,.portal-ticker[style*="display:block"]~.cookie-banner{bottom:62px}.cookie-banner p{color:var(--muted);font-size:13px;margin:4px 0}.modal{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:22px}.modal-card{width:min(720px,100%);max-height:86vh;overflow:auto;background:var(--surface);border:1px solid var(--line2);border-radius:22px;padding:26px;box-shadow:var(--shadow);position:relative}.modal-card.small-card{max-width:430px}.modal-close{position:absolute;right:14px;top:12px;background:transparent;border:0;color:var(--muted);font-size:28px}.policy-content{color:var(--muted);line-height:1.7;margin-top:16px;white-space:pre-wrap}.row{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;gap:22px;padding:28px 0}.login-copy{display:none}.client-app{grid-template-columns:1fr}.client-sidebar{position:relative;min-height:auto}.client-nav{display:grid;grid-template-columns:repeat(2,1fr)}.client-main{padding:22px}.client-topbar{align-items:center;flex-direction:column;text-align:center}.client-topbar .btn-primary{align-self:center}.kpi-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.cookie-banner{flex-direction:column;align-items:flex-start}.portal-ticker{height:38px}}@media(max-width:520px){.login-card{padding:24px}.client-nav{grid-template-columns:1fr}.login-shell{width:min(100% - 24px,440px)}.client-main{padding:16px 14px 58px}.login-copy h2{font-size:38px}.btn-primary{width:100%}.client-topbar .btn-primary{width:min(260px,100%);justify-content:center}}
/* Defensa anti-caché: si el navegador mezcla HTML antiguo, ocultar ticker EPG estático viejo. */.lc-epg,.ticker,#lc-epg-inner{display:none!important;}


/* StreamCore V4.1 RC2 — cierre visual/funcional */
:root{--bg:#090C12;--surface:#111720;--surface2:#151D28;--line:rgba(255,255,255,.075);--line2:rgba(255,255,255,.13);--text:#F4F6FA;--muted:#A8B1BF;--soft:#778292;--color:#8EA4FF;}
.btn-primary{background:#1B2533!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;background-image:none!important;}
.btn-primary:hover{background:#253247!important;border-color:rgba(142,164,255,.38)!important;transform:translateY(-1px);}
.btn-ghost{background:rgba(255,255,255,.025)!important;background-image:none!important;box-shadow:none!important;}
.brand-line img.brand-img{max-width:210px;max-height:54px;}
.client-brand img{max-width:178px;max-height:48px;}
.client-sidebar{padding-bottom:70px;}
.logout{margin-top:0;width:auto;}
.top-actions{display:flex;align-items:center;gap:12px;}
.logout-top{height:44px;min-width:84px;}
body.ticker-on .client-main{padding-bottom:86px;}
body.ticker-on .client-sidebar{padding-bottom:86px;}
.client-hero-bg.has-media{background-position:center;background-size:cover;background-repeat:no-repeat;opacity:1;}
.client-hero-bg.has-media img,.client-hero-bg.has-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.34) saturate(.78);opacity:.52;}
.client-hero-bg.has-media:after{background:linear-gradient(180deg,rgba(9,12,18,.72),rgba(9,12,18,.88) 52%,#090c12 100%),radial-gradient(circle at 75% 12%,rgba(142,164,255,.12),transparent 35%);}
.public-faq{position:relative;z-index:2;width:min(1120px,calc(100% - 40px));margin:0 auto 48px;padding:24px;background:rgba(17,23,32,.78);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.28);backdrop-filter:blur(12px);}
.public-faq-head{margin-bottom:18px;}
.public-faq-head span{display:inline-block;color:var(--soft);font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:900;margin-bottom:6px;}
.public-faq-head h2{font-size:24px;letter-spacing:-.5px;margin:0 0 6px;}
.public-faq-head p{margin:0;color:var(--muted);font-size:14px;}
.public-faq-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.public-faq-item{background:#0B1017;border:1px solid var(--line);border-radius:16px;padding:16px;}
.public-faq-item strong{display:block;font-size:14px;margin-bottom:8px;color:var(--text);}
.public-faq-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;}
.portal-ticker{height:44px;}
.portal-ticker-track{padding-left:100%;}
@media(max-width:900px){.top-actions{width:100%;justify-content:center;flex-wrap:wrap}.logout-top{width:auto}.public-faq{width:min(100% - 24px,720px);margin-bottom:32px}.public-faq-list{grid-template-columns:1fr}.client-sidebar{padding-bottom:18px}body.ticker-on .client-main{padding-bottom:92px}}
@media(max-width:520px){.top-actions{display:grid;grid-template-columns:1fr;gap:10px}.logout-top{width:100%}.public-faq{padding:18px}.public-faq-head h2{font-size:20px}}


/* StreamCore V4.1 RC3 — cierre visual, Hero real y branding */
:root{--bg:#080B11;--bg2:#0B0F16;--surface:#101620;--surface2:#151C28;--card:#121925;--line:rgba(245,247,250,.075);--line2:rgba(245,247,250,.13);--text:#F5F7FA;--muted:#A9B4C4;--soft:#7C8798;--color:#8EA4FF;}
.client-app{background:linear-gradient(180deg,#080B11,#0A0E15 55%,#080B11)}
.client-sidebar{background:rgba(9,13,20,.94);backdrop-filter:blur(16px)}
.client-hero-bg{opacity:1;background:radial-gradient(circle at 82% 10%,rgba(142,164,255,.11),transparent 30%),radial-gradient(circle at 20% 82%,rgba(255,255,255,.035),transparent 30%)}
.client-hero-bg.has-media{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;}
.client-hero-bg.has-media .hero-media-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.46) saturate(.82);opacity:.48;}
.client-hero-bg.has-media:after{background:linear-gradient(90deg,rgba(8,11,17,.90),rgba(8,11,17,.72) 48%,rgba(8,11,17,.92)),linear-gradient(180deg,rgba(8,11,17,.56),#080B11 86%)}
.login-bg.has-media{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;}
.login-bg.has-media .hero-media-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.82);opacity:.92;}
.login-bg.has-media:after{background:linear-gradient(90deg,rgba(0,0,0,.80),rgba(0,0,0,.42) 50%,rgba(0,0,0,.78))}
.btn-primary,.btn-ghost{background-image:none!important;text-shadow:none!important;box-shadow:none!important;}
.btn-primary{background:#202A3A!important;border-color:rgba(255,255,255,.13)!important;color:#fff!important;}
.btn-primary:hover{background:#2A3548!important;border-color:rgba(142,164,255,.34)!important;}
.brand-line img.brand-img,.client-brand img{object-fit:contain;filter:none;}
.top-actions{display:flex;align-items:center;gap:10px;}
.logout-top{height:44px;min-width:82px;}
body.ticker-on .client-main{padding-bottom:92px;}
body.ticker-on .client-sidebar{padding-bottom:92px;}
.public-faq{margin-top:22px;margin-bottom:48px;}
@media(max-width:900px){.top-actions{width:100%;justify-content:center;flex-wrap:wrap}.logout-top{width:auto}.public-faq-list{grid-template-columns:1fr}.client-sidebar{padding-bottom:20px}body.ticker-on .client-main{padding-bottom:96px}}
@media(max-width:520px){.top-actions{display:grid;grid-template-columns:1fr;gap:10px}.logout-top{width:100%}.client-topbar{text-align:center}.client-topbar .btn-primary{width:min(260px,100%);margin:auto}}


/* StreamCore V4.1 RC4 — Cuenta, PWA y ajustes finos */
.pass-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 16px}
.panel-card .alert{margin-top:14px}
.modal.pwa .modal-card{border-color:rgba(142,164,255,.18)}
.modal.pwa h3{font-size:22px;margin-bottom:8px}
.modal.pwa p{color:var(--muted);line-height:1.55}
@media(max-width:900px){.pass-grid{grid-template-columns:1fr}}

/* StreamCore V4.1 RC5.2 — Mobile UI tipo App */
.mobile-app-nav{display:none!important}
.mobile-app-nav button{border:0;background:transparent;color:#A8B1BF;border-radius:16px;font-weight:800;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}
.mobile-app-nav button span{width:24px;height:24px;border:1px solid rgba(255,255,255,.13);border-radius:9px;display:grid;place-items:center;color:#fff;font-size:12px;background:rgba(255,255,255,.035)}
.mobile-app-nav button.active,.mobile-app-nav button:hover{color:#fff;background:rgba(255,255,255,.055)}
.mobile-app-nav button.active span{background:rgba(142,164,255,.16);border-color:rgba(142,164,255,.36)}
@media(max-width:760px){
  .client-app{display:block!important;min-height:100vh;padding-bottom:88px}
  .client-sidebar{display:none!important}
  .client-main{padding:18px 14px 104px!important;max-width:100%}
  .client-topbar{align-items:center;text-align:center;gap:14px;margin-bottom:18px}
  .client-topbar h2{font-size:25px}.client-topbar p{font-size:13px}
  .top-actions{display:flex!important;justify-content:center;width:100%;gap:9px;flex-wrap:wrap}
  .top-actions .btn-primary{width:min(230px,100%)}
  .logout-top{width:auto!important;min-width:92px}
  .kpi-grid{grid-template-columns:1fr!important;gap:12px}
  .panel-card{padding:18px;border-radius:18px}
  body.ticker-on .client-main{padding-bottom:150px!important}
}

/* StreamCore V4.2 — Planes, grillas y TV primero */
.portal-featured{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,rgba(19,27,42,.98),rgba(15,21,33,.98));border-color:rgba(142,164,255,.16)}
.portal-featured h3{font-size:24px;margin:0 0 8px;letter-spacing:-.03em}.portal-featured p{max-width:680px}.featured-tv{min-width:190px;min-height:58px;font-size:15px;letter-spacing:.02em}.plan-action{display:flex;align-items:center;justify-content:space-between;gap:14px}.plan-action strong{display:block}.plan-price{color:var(--muted);font-size:13px}.request-status{font-size:12px;color:var(--muted)}
@media(max-width:760px){.portal-featured{display:grid;text-align:center;place-items:center}.featured-tv{width:100%;max-width:330px;min-height:64px}.top-actions .btn-primary{display:none!important}}
.player-sidebar-soft{background:linear-gradient(180deg,rgba(7,9,15,.78),rgba(10,14,22,.70))!important;backdrop-filter:blur(24px) saturate(.92)!important}
.pill-like{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(81,215,163,.26);background:rgba(81,215,163,.12);color:#7EE4B6;border-radius:999px;padding:6px 11px;font-weight:900;font-size:12px;white-space:nowrap}

/* StreamCore V4.2.2 hotfix: TV primero + menú hamburguesa post-login móvil */
@media(max-width:700px){
  #destacado-wrap.portal-featured{display:grid!important;grid-template-columns:1fr!important;text-align:center;gap:18px;padding:24px 18px;border-radius:24px;background:linear-gradient(180deg,rgba(20,30,46,.94),rgba(12,17,26,.94));}
  #destacado-wrap .featured-tv{width:100%;min-height:68px;font-size:18px;border-radius:18px;letter-spacing:.2px;}
  .client-topbar{margin-bottom:18px;}
  .client-nav{display:none!important;}
  .client-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:14px 16px;}
  .logout-top{display:inline-flex!important;}
}


/* StreamCore V4.2.2 — Portal móvil TV primero con menú secundario hamburguesa */
.mobile-menu-btn{display:none;border:1px solid var(--line);background:rgba(255,255,255,.045);color:#fff;border-radius:14px;width:44px;height:44px;font-size:20px;font-weight:900;align-items:center;justify-content:center;line-height:1;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.client-mobile-drawer{display:none;position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.52);backdrop-filter:blur(8px)}
.client-mobile-drawer.open{display:block}
.drawer-panel{position:absolute;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top));background:rgba(16,22,32,.98);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:12px;box-shadow:0 24px 80px rgba(0,0,0,.48)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:8px 6px 12px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}
.drawer-head strong{font-size:15px;letter-spacing:.01em}.drawer-head button{width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.client-mobile-drawer .drawer-panel>button:not(#btn-client-menu-close){width:100%;height:48px;border:0;background:transparent;color:var(--text);border-radius:14px;padding:0 12px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:850;cursor:pointer}
.client-mobile-drawer .drawer-panel>button:not(#btn-client-menu-close):hover{background:rgba(255,255,255,.055)}
.client-mobile-drawer .drawer-panel>button span{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#fff;font-size:13px}.client-mobile-drawer .drawer-panel>button.danger{color:#ffb3bd}.client-mobile-drawer .drawer-panel>button.danger span{border-color:rgba(224,108,122,.28);background:rgba(224,108,122,.10)}
@media(max-width:700px){
  .mobile-menu-btn{display:inline-flex;position:absolute;left:14px;top:14px;z-index:5}
  .client-topbar{position:relative;padding-top:10px;padding-left:48px;padding-right:48px;min-height:96px;justify-content:center!important;}
  .client-title{width:100%;text-align:center}.client-title h2{font-size:27px!important;margin-top:0}.client-title p{max-width:320px;margin:6px auto 0;color:var(--muted)}
  .logout-top{display:none!important}
  #sec-inicio.active{display:flex!important;flex-direction:column;}
  #destacado-wrap.portal-featured{order:-10;margin-bottom:16px;}
  .kpi-grid{order:0;}
  #plan-comercial-wrap{order:2;}
  #premium-wrap{order:3;}
  body.ticker-on .client-main{padding-bottom:128px!important;}
}

/* StreamCore V4.2.3 — Portal desktop alineado con menú sutil y TV primero */
.client-app{grid-template-columns:1fr!important;}
.client-sidebar{display:none!important;}
.client-main{max-width:1180px;}
.mobile-menu-btn{display:inline-flex!important;position:static!important;flex:0 0 44px;}
.logout-top{display:none!important;}
.client-topbar{justify-content:flex-start;align-items:center;}
.client-title{flex:1;}
.client-mobile-drawer .drawer-panel{width:min(420px,calc(100% - 24px));right:auto;bottom:auto;}
@media(min-width:701px){
  .client-mobile-drawer .drawer-panel{left:24px;top:24px;}
  .client-mobile-drawer{background:rgba(0,0,0,.38);}
}
@media(max-width:700px){
  .mobile-menu-btn{position:absolute!important;left:14px;top:14px;}
}

/* StreamCore V4.2.5 — Portal usuario TV primero compacto */
.client-tv-first{display:block!important;}
.portal-featured-compact{display:flex!important;align-items:center;justify-content:center;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;margin:8px 0 14px!important;}
.portal-featured-compact .featured-tv-main{width:min(520px,100%);min-height:74px;border-radius:24px;font-size:18px;letter-spacing:.02em;box-shadow:0 18px 48px rgba(142,164,255,.25);}
.client-plan-compact{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px!important;border-radius:22px!important;background:rgba(17,24,35,.90)!important;}
.plan-compact-main{display:flex;align-items:center;gap:12px;min-width:0;}
.plan-compact-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;border:1px solid rgba(142,164,255,.28);background:rgba(142,164,255,.13);font-weight:950;color:#fff;flex:0 0 auto;}
.plan-compact-main span{display:block;color:#86A0C2;text-transform:uppercase;font-size:11px;font-weight:950;letter-spacing:.08em;margin-bottom:3px;}
.plan-compact-main strong{display:block;font-size:19px;color:#fff;line-height:1.1;}
.plan-compact-main em{display:block;font-style:normal;color:var(--muted);font-size:12px;margin-top:3px;}
.plan-compact-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.plan-compact-meta span{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line2);background:#0A0E15;color:var(--muted);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:850;white-space:nowrap;}
.plan-compact-meta b{color:#fff;}
.client-hidden-metrics{display:none!important;}
.client-secondary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;}
.client-secondary-grid button{background:#0A0E15;border:1px solid var(--line2);border-radius:18px;color:#fff;text-align:left;padding:16px;min-height:98px;cursor:pointer;}
.client-secondary-grid strong{display:block;font-size:16px;margin-bottom:5px;}
.client-secondary-grid span{display:block;color:var(--muted);font-size:12px;line-height:1.35;}
@media(max-width:700px){
  .client-title p{display:none!important;}
  .portal-featured-compact{margin-top:10px!important;}
  .portal-featured-compact .featured-tv-main{min-height:76px;width:100%;font-size:18px;border-radius:24px;}
  .client-plan-compact{display:block;text-align:center;padding:16px!important;}
  .plan-compact-main{justify-content:center;margin-bottom:12px;}
  .plan-compact-meta{justify-content:center;gap:7px;}
  .plan-compact-meta span{font-size:11px;padding:7px 9px;}
  .client-secondary-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
  .client-secondary-grid button{min-height:106px;padding:14px;}
  #premium-wrap{display:none!important;}
}

/* V4.2.8: ticketera conversacional — badge no leídos, modal de hilo */
.ticket-list-item{cursor:pointer}
.ticket-list-item:hover{border-color:rgba(142,164,255,.32)}
.ticket-unread{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--color);color:#0A0E15;font-size:11px;font-weight:900;margin-left:6px;vertical-align:middle}
.ticket-modal-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 16px;font-size:13px;color:var(--muted)}
.ticket-modal-meta .ticket-open,.ticket-modal-meta .ticket-closed{font-weight:800}
.ticket-thread{display:flex;flex-direction:column;gap:10px;max-height:38vh;overflow:auto;padding:4px 2px;margin-bottom:6px}
.thread-msg{max-width:82%;border-radius:14px;padding:10px 13px;font-size:13px;line-height:1.55}
.thread-msg.from-cliente{align-self:flex-end;background:rgba(142,164,255,.14);border:1px solid rgba(142,164,255,.28)}
.thread-msg.from-admin{align-self:flex-start;background:#0B1017;border:1px solid var(--line)}
.thread-meta{font-size:11px;color:var(--soft);margin-bottom:5px}
.thread-body{white-space:pre-wrap;word-break:break-word}
.mt{margin-top:14px}
@media(max-width:760px){.thread-msg{max-width:92%}}


/* StreamCore V4.2.7.8 — Login Hero Visual Polish + configurable overlay/blur */
:root{
  --hero-overlay-left:.68;
  --hero-overlay-center:.36;
  --hero-overlay-right:.62;
  --hero-overlay-shade:.28;
  --hero-bg-blur:2px;
  --hero-bg-brightness:.82;
  --hero-bg-saturation:.92;
}
.screen-login .login-bg .hero-media-bg{
  filter:brightness(var(--hero-bg-brightness)) saturate(var(--hero-bg-saturation)) blur(var(--hero-bg-blur))!important;
  transform:scale(1.012);
}
.screen-login .login-bg:after{
  background:linear-gradient(90deg,rgba(0,0,0,var(--hero-overlay-left)),rgba(0,0,0,var(--hero-overlay-center)) 50%,rgba(0,0,0,var(--hero-overlay-right)))!important;
}
.screen-login .login-shade{
  background:radial-gradient(circle at 74% 36%,rgba(99,102,241,.12),transparent 28%),linear-gradient(180deg,rgba(8,10,15,var(--hero-overlay-shade)),rgba(5,7,11,.44))!important;
}
.screen-login .login-card{
  background:rgba(15,23,42,.86)!important;
  border-color:rgba(226,232,240,.24)!important;
  backdrop-filter:blur(14px) saturate(1.08)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.screen-login .brand-line strong,
.screen-login .auth-view h1{
  color:#F8FAFC!important;
}
.screen-login .brand-line span,
.screen-login .auth-view p,
.screen-login .auth-links a{
  color:#CBD5E1!important;
}
.screen-login .hero-badge{
  background:rgba(15,23,42,.46)!important;
  border-color:rgba(248,250,252,.62)!important;
  color:#F8FAFC!important;
  box-shadow:0 10px 30px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(10px)!important;
}
.screen-login .login-copy h2{
  color:#F8FAFC!important;
  text-shadow:0 5px 28px rgba(0,0,0,.54)!important;
  letter-spacing:-2.4px!important;
}
.screen-login .login-copy p{
  color:#E2E8F0!important;
  text-shadow:0 2px 18px rgba(0,0,0,.48)!important;
}
.screen-login .field{
  background:#FFFFFF!important;
  color:#0F172A!important;
  border-color:rgba(226,232,240,.72)!important;
}
.screen-login .field::placeholder{color:#94A3B8!important;}
.screen-login .btn-primary.full{
  background:linear-gradient(180deg,#6366F1,#4F46E5)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 18px 42px rgba(99,102,241,.28)!important;
}
@media(max-width:760px){
  .screen-login .login-copy h2{letter-spacing:-1.6px!important;}
  .screen-login .login-bg:after{background:linear-gradient(180deg,rgba(0,0,0,var(--hero-overlay-center)),rgba(0,0,0,var(--hero-overlay-left)))!important;}
}
