:root{--bg:#080b13;--panel:#101522;--panel2:#151c2b;--line:#273147;--text:#f4f6fb;--muted:#8d98ae;--accent:#c8ff43;--accent2:#6de4d0;--danger:#ff7185;--shadow:0 24px 80px rgba(0,0,0,.42)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 0%,rgba(52,92,152,.18),transparent 32%),radial-gradient(circle at 10% 100%,rgba(38,191,160,.06),transparent 30%)}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) 1fr;align-items:center;padding:6vw 9vw;gap:8vw;position:relative;overflow:hidden}.auth-glow{position:absolute;width:680px;height:680px;border-radius:50%;background:rgba(110,228,208,.08);filter:blur(90px);right:-200px;top:-280px}.auth-card{position:relative;z-index:1}.brand{display:flex;align-items:center;gap:11px;letter-spacing:.12em}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:#07100d;font-size:15px;box-shadow:0 8px 25px rgba(200,255,67,.2)}.brand strong{display:block;font-size:16px}.brand span{display:block;color:var(--muted);font-size:8px;letter-spacing:.25em;margin-top:2px}.eyebrow{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.2em;margin:38px 0 16px}.auth-card h1{font-size:clamp(44px,5vw,76px);line-height:.96;letter-spacing:-.07em;margin:0}.auth-card h1 em,.hero h2 em{font-style:normal;color:var(--accent)}.muted{color:var(--muted);line-height:1.6}.auth-card>.muted{max-width:400px;margin:22px 0 30px}.auth-card form{display:grid;gap:13px;max-width:380px}.auth-card label,.admin-card label{display:grid;gap:7px;color:#c9d0dd;font-size:12px}.auth-card input,.admin-card input,.search input,.category-select{border:1px solid var(--line);background:rgba(16,21,34,.8);border-radius:12px;color:var(--text);padding:14px 15px;outline:none;transition:.2s}.auth-card input:focus,.admin-card input:focus,.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,255,67,.08)}.primary{border:0;border-radius:12px;background:var(--accent);color:#0b130b;padding:15px 18px;font-weight:800;margin-top:8px;display:flex;align-items:center;justify-content:space-between;transition:transform .18s,filter .18s}.primary:hover{filter:brightness(1.08);transform:translateY(-2px)}.auth-card small{display:block;color:#59657d;font-size:11px;margin-top:26px}.error{color:var(--danger);font-size:12px;min-height:16px}.auth-art{height:min(660px,76vh);position:relative;min-width:450px}.poster{position:absolute;border-radius:24px;background-size:cover;background-position:center;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.1)}.poster-a{width:47%;height:72%;right:15%;top:5%;transform:rotate(7deg);background:linear-gradient(145deg,#d3e3e0,#26354e 45%,#cf7748)}.poster-b{width:46%;height:67%;left:12%;top:18%;transform:rotate(-12deg);background:linear-gradient(140deg,#302e58,#e685a0 48%,#101521)}.poster-c{width:43%;height:58%;right:7%;bottom:3%;transform:rotate(-4deg);background:linear-gradient(145deg,#f5d18d,#2b5967 45%,#11192a)}.art-copy{position:absolute;bottom:4%;left:3%;z-index:3;max-width:220px}.art-copy span{color:var(--accent);font-size:12px}.art-copy p{font-size:25px;line-height:1.05;font-weight:750;margin:8px 0}.app{min-height:100vh}.topbar{height:84px;padding:0 4.5vw;display:flex;align-items:center;gap:clamp(35px,6vw,120px);border-bottom:1px solid rgba(255,255,255,.05);background:rgba(8,11,19,.75);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.compact{flex:none}.compact .brand-mark{width:31px;height:31px;border-radius:9px;font-size:12px}.compact strong{font-size:13px}.tabs{display:flex;gap:28px;height:100%;align-items:center}.tabs button{height:100%;border:0;background:none;color:#738097;font-weight:700;font-size:13px;position:relative}.tabs button.active{color:var(--text)}.tabs button.active:after{content:"";position:absolute;bottom:0;height:3px;left:0;right:0;background:var(--accent);border-radius:3px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.search{display:flex;gap:8px;align-items:center;border:1px solid transparent;border-radius:12px;padding:0 10px;transition:.2s}.search span{font-size:22px;color:#93a0b8}.search input{border:0;background:transparent;padding:9px 4px;width:175px}.icon-btn,.profile{border:1px solid var(--line);background:var(--panel);color:var(--text);width:35px;height:35px;border-radius:50%}.profile{color:var(--accent);border-color:rgba(200,255,67,.3)}main{padding:4vw 4.5vw}.hero{min-height:235px;display:flex;justify-content:space-between;align-items:end;padding:42px 46px;border-radius:24px;background:linear-gradient(110deg,#172238,#0f1726 54%,#183431);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:380px;height:380px;right:8%;top:-190px;border-radius:50%;border:1px solid rgba(200,255,67,.2);box-shadow:0 0 0 45px rgba(200,255,67,.03),0 0 0 90px rgba(200,255,67,.02)}.hero .eyebrow{margin:0 0 12px}.hero h2{font-size:clamp(35px,4.4vw,64px);line-height:.96;letter-spacing:-.07em;margin:0;position:relative;z-index:1}.hero p:not(.eyebrow){color:#aab6ca;max-width:430px;position:relative;z-index:1}.hero-stat{position:relative;z-index:1;display:grid;gap:3px;text-align:right;color:var(--muted);font-size:12px}.hero-stat strong{font-size:44px;color:var(--text);letter-spacing:-.07em}.toolbar{display:flex;align-items:end;justify-content:space-between;margin:42px 0 20px}.toolbar h3{font-size:21px;margin:0}.toolbar p{color:var(--muted);font-size:12px;margin:7px 0 0}.toolbar select{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:12px 14px;border-radius:10px;min-width:190px}.content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:22px 15px}.card{min-width:0;animation:rise .45s both}.card-poster{aspect-ratio:2/3;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,#192134,#0e1420);position:relative;cursor:pointer;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 25px rgba(0,0,0,.2)}.card-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.card-poster:hover img{transform:scale(1.05)}.card-poster .play{position:absolute;inset:auto 12px 12px auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#0a100c;opacity:0;transition:.25s}.card-poster:hover .play{opacity:1}.card h4{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:10px 2px 3px}.card small{color:var(--muted);font-size:11px;margin:0 2px}.skeleton{aspect-ratio:2/3;border-radius:13px;background:linear-gradient(100deg,#111827 25%,#1d293b 37%,#111827 63%);background-size:400% 100%;animation:shimmer 1.4s infinite}.empty{text-align:center;padding:80px 20px;color:var(--muted)}.empty>div{font-size:45px;color:var(--accent)}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:25px}.modal-backdrop{position:absolute;inset:0;background:rgba(3,5,10,.84);backdrop-filter:blur(10px)}.player-card,.detail-card,.admin-card{position:relative;z-index:1;width:min(940px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.player-card{background:#070a11}.close{position:absolute;right:16px;top:12px;border:0;background:rgba(0,0,0,.4);color:#fff;border-radius:50%;font-size:26px;width:36px;height:36px;z-index:3}.video-wrap{aspect-ratio:16/9;background:#000;position:relative}.video-wrap video{width:100%;height:100%;display:block}.player-message{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);pointer-events:none}.player-info{padding:21px 25px}.player-info .eyebrow,.admin-card .eyebrow,.detail-card .eyebrow{margin:0 0 7px}.player-info h2,.detail-card h2,.admin-card h2{margin:0;font-size:26px}.player-info p:last-child{color:var(--muted);margin-bottom:0}.detail-card,.admin-card{padding:30px}.detail-card h2,.admin-card h2{margin-bottom:23px}.episode-list{display:grid;gap:10px;max-height:55vh;overflow:auto}.episode{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;background:var(--panel2);border-radius:11px}.episode span{color:#dbe2ee;font-size:13px}.episode button{border:0;border-radius:8px;background:var(--accent);padding:8px 12px;font-weight:700;font-size:12px}.admin-card{width:min(500px,100%)}.admin-card form{display:grid;gap:15px}.admin-card .muted{font-size:12px;margin:4px 0 0}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.auth-shell{grid-template-columns:1fr;padding:38px 8vw}.auth-art{display:none}.topbar{gap:22px;padding:0 20px}.tabs{gap:17px}.search input{width:120px}main{padding:25px 20px}.hero{padding:28px 25px;min-height:200px}.hero-stat{display:none}.content-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px 10px}}@media(max-width:560px){.topbar{height:70px;gap:15px}.compact .brand strong,.compact .brand span{display:none}.tabs{gap:12px}.tabs button{font-size:12px}.top-actions{gap:5px}.search{padding:0}.search input{display:none}.hero{border-radius:18px}.toolbar{align-items:start;gap:15px;flex-direction:column}.toolbar select{width:100%}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card h1{font-size:48px}}
.pagination{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0 2rem;color:var(--muted)}.pagination button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:.65rem 1rem;cursor:pointer;transition:transform .16s ease,background .16s ease}.pagination button:hover:not(:disabled){background:var(--accent);transform:translateY(-1px)}.pagination button:disabled{opacity:.45;cursor:not-allowed}.season{margin:1.25rem 0}.season h3{color:var(--accent);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin:.5rem 0 .75rem}@media(max-width:640px){.pagination{gap:.55rem;font-size:.85rem}.pagination button{padding:.55rem .8rem}}

/* Ajuste de enquadramento de logos e capas */
.card-poster{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.09),transparent 62%),#111722}
.card-poster img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:clamp(8px,1.25vw,18px);box-sizing:border-box;background:transparent}
.card-poster:has(img) .play{z-index:2}
.modal{z-index:50}
.modal.hidden{display:none!important}
.player-card{overflow:hidden}
.video-wrap{background:#05070b;min-height:clamp(240px,55vh,620px);display:grid;place-items:center}
.video-wrap video{display:block;width:100%;height:100%;min-height:clamp(240px,55vh,620px);object-fit:contain;background:#05070b}
@media(max-width:640px){.card-poster img{padding:10px}.video-wrap,.video-wrap video{min-height:240px}}

/* Override final para logos de canais: nunca cortar a imagem */
.card-poster img{width:82%!important;height:82%!important;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center!important;padding:0!important;transform:none!important}
.card-poster:hover img{transform:none!important}

/* Enquadramento definitivo: escala visual uniforme para logos com proporções diferentes */
.card-poster {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  isolation: isolate;
}
.card-poster img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 72% !important;
  max-height: 72% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
.card-poster .play {
  z-index: 3;
}
@media (max-width: 640px) {
  .card-poster { padding: 10px; }
  .card-poster img { max-width: 70% !important; max-height: 70% !important; }
}

.field-help{display:block;margin:.45rem 0 .65rem;color:#8e98ab;font-size:.78rem;line-height:1.4}
.admin-portal-list{display:grid;gap:.7rem;margin:1.2rem 0}.admin-portal-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}.admin-portal-row strong,.admin-portal-row small{display:block}.admin-portal-row small{color:#8e98ab;margin-top:.25rem}.admin-portal-actions{display:flex;align-items:center;gap:.45rem}.admin-inline-form{display:grid;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.admin-inline-form label{margin:0}.secondary,.danger{border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:.55rem .75rem;background:transparent;color:#f4f7fb;cursor:pointer}.danger{color:#ff9b9b;border-color:rgba(255,130,130,.35)}.active-pill{font-size:.7rem;letter-spacing:.08em;color:#c1ff2f}.admin-page-card{max-height:90vh;overflow:auto}
.admin-portal-edit{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(180px,1.4fr) auto;gap:.45rem;align-items:center;flex:1}.admin-portal-edit input{min-width:0;padding:.55rem .65rem;border-radius:9px;border:1px solid rgba(255,255,255,.13);background:rgba(0,0,0,.18);color:#f4f7fb}.admin-portal-row>.admin-portal-actions{flex-wrap:wrap;justify-content:flex-end}
.admin-body{overflow-x:hidden}.admin-body .auth-shell{min-height:100dvh;height:auto;box-sizing:border-box;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,4vw,4rem);align-items:start;overflow:visible}.admin-body .admin-page-card{width:100%;max-width:780px;max-height:none;overflow:visible;box-sizing:border-box;margin-inline:auto}.admin-body .admin-portal-list{width:100%;overflow:visible}.admin-body .admin-portal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;min-width:0}.admin-body .admin-portal-edit{display:grid;grid-column:1/-1;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.5fr) auto;gap:.55rem;width:100%;min-width:0}.admin-body .admin-portal-edit input{width:100%;box-sizing:border-box;min-width:0}.admin-body .admin-portal-actions{display:flex;align-items:center;gap:.5rem;min-width:0;flex-wrap:wrap}.admin-body .admin-portal-actions form{margin:0}.admin-body .auth-art{position:sticky;top:2rem;min-width:0}.admin-body .admin-inline-form{min-width:0}.admin-body .admin-inline-form input{box-sizing:border-box;max-width:100%}@media (max-width:1050px){.admin-body .auth-shell{grid-template-columns:minmax(0,1fr)}.admin-body .auth-art{display:none}.admin-body .admin-page-card{max-width:820px}}@media (max-width:640px){.admin-body .auth-shell{display:block;padding:1rem}.admin-body .admin-page-card{padding:1.1rem}.admin-body .admin-portal-row{display:block}.admin-body .admin-portal-edit{grid-template-columns:1fr;gap:.5rem}.admin-body .admin-portal-edit button,.admin-body .admin-portal-actions button{width:100%}.admin-body .admin-portal-actions{margin-top:.65rem;display:grid;grid-template-columns:1fr 1fr}.admin-body .admin-portal-actions small,.admin-body .admin-portal-actions .active-pill{grid-column:1/-1}.admin-body .admin-inline-form{display:block}.admin-body .admin-inline-form label{display:block;margin-bottom:.7rem}.admin-body .admin-inline-form button{width:100%}}
.admin-body .auth-shell{overflow:hidden}.admin-body .auth-glow{width:min(680px,100vw);max-width:100vw;left:0;right:auto;overflow:hidden}

/* Resume + favorites */
.favorites-tab{color:#d9ff3f}.favorite-toggle,.favorite-detail{position:absolute;z-index:2;border:0;background:rgba(8,11,19,.78);color:#fff;font-size:1.25rem;line-height:1;border-radius:999px;cursor:pointer;transition:transform .18s ease,color .18s ease}.favorite-toggle{right:.65rem;top:.65rem;width:2.2rem;height:2.2rem}.favorite-toggle:hover,.favorite-detail:hover{transform:scale(1.08)}.favorite-toggle.is-favorite,.favorite-detail.is-favorite{color:#d9ff3f}.card-poster{position:relative}.progress-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.18);overflow:hidden}.progress-bar i{display:block;height:100%;background:#caff27}.continue-meta,.episode-progress{display:block;color:#caff27;font-size:.74rem;margin-top:.2rem}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.detail-heading h2{margin:0}.favorite-detail{position:static;padding:.7rem 1rem;font-size:.85rem;background:rgba(202,255,39,.12);color:#caff27;white-space:nowrap}.episode-in-progress{outline:1px solid rgba(202,255,39,.55);background:rgba(202,255,39,.08)}.episode-in-progress button{background:#caff27;color:#090d14}.card.has-progress .card-poster{box-shadow:0 0 0 1px rgba(202,255,39,.55)}@media (max-width:700px){.detail-heading{align-items:flex-start;flex-direction:column}.favorite-detail{width:100%}.tabs{overflow-x:auto;max-width:100%;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto}}

.epg-panel{margin:0 1.5rem 1.5rem;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(8,11,19,.72)}.epg-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem;font-size:.72rem;letter-spacing:.12em;font-weight:800;color:#c8ff25}.epg-heading small{font-size:.72rem;letter-spacing:0;color:#9aa3b5;font-weight:600}.epg-list{display:grid;gap:.55rem;max-height:220px;overflow:auto}.epg-item{display:grid;grid-template-columns:86px 1fr;gap:.75rem;padding:.6rem .7rem;border-radius:10px;background:rgba(255,255,255,.045)}.epg-item.current{outline:1px solid rgba(200,255,37,.5);background:rgba(200,255,37,.08)}.epg-time{font-size:.75rem;color:#aeb7c8;font-variant-numeric:tabular-nums}.epg-title{font-weight:750;color:#f5f7fb}.epg-description{display:block;margin-top:.2rem;color:#9aa3b5;font-size:.78rem;line-height:1.35}@media(max-width:640px){.epg-panel{margin:0 .75rem .75rem;padding:.8rem}.epg-item{grid-template-columns:70px 1fr;padding:.55rem}.epg-description{font-size:.74rem}}


/* Player/EPG layout refinement 2026-08-19 */
/* Channel information and EPG share the visible lower row */
.player-card{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(420px,1.28fr);grid-template-areas:'video video' 'info epg';align-content:start}
.player-card>.video-wrap{grid-area:video}
.player-card>.player-info{grid-area:info;align-self:stretch;min-width:0}
.player-card>.epg-panel{grid-area:epg;align-self:stretch;min-width:0;margin:0 22px 18px 0;max-height:300px}
.player-card>.epg-panel.hidden{display:none}
.player-card>.player-info:has(+ .epg-panel.hidden){grid-column:1 / -1}
@media (max-width:900px){.player-card{grid-template-columns:1fr;grid-template-areas:'video' 'info' 'epg'}.player-card>.epg-panel{margin:0 14px 14px}.player-card>.player-info{padding-bottom:10px}}
@media (max-width:640px){.player-card{grid-template-columns:1fr}.player-card>.epg-panel{margin:0 12px 12px}.player-card>.player-info{padding-bottom:8px}}

.modal{padding:16px;overflow:hidden}
.player-card{width:min(1180px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden}
.video-wrap{width:100%;aspect-ratio:16/9;height:auto;max-height:min(68vh,680px);background:#000;display:flex;align-items:center;justify-content:center}
.video-wrap video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.player-info{padding:18px 22px 14px}
.player-info h2{line-height:1.12}
.epg-panel{margin:0 22px 18px;padding:14px 16px;min-width:0;overflow:hidden}
.epg-heading{min-width:0}
.epg-heading small{white-space:nowrap}
.epg-list{max-height:260px;overflow-y:auto;overflow-x:hidden;padding-right:4px}
.epg-item{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:12px 14px;margin:0 0 8px;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:rgba(15,23,42,.72);line-height:1.35}.epg-item.current{border-color:rgba(190,242,100,.7);background:rgba(101,163,13,.12)}.epg-item>span:last-child{display:block;min-width:0}.epg-title{display:block;margin-bottom:3px;font-weight:700}.epg-description{display:block;color:#aab4c5;font-size:.86rem;line-height:1.4}
.epg-item>*{min-width:0}
.epg-title,.epg-description{overflow-wrap:anywhere;word-break:break-word}
@media (max-width:640px){
  .modal{padding:8px}
  .player-card{width:calc(100vw - 16px);max-width:none;max-height:calc(100vh - 16px);border-radius:14px}
  .video-wrap{max-height:42vh}
  .player-info{padding:14px 14px 10px}
  .player-info h2{font-size:22px}
  .epg-panel{margin:0 12px 12px;padding:11px 10px;border-radius:12px}
  .epg-heading{gap:.5rem}
  .epg-heading small{font-size:.64rem}
  .epg-list{max-height:210px}
  .epg-item{grid-template-columns:54px minmax(0,1fr)!important;gap:.5rem!important;padding:.65rem .55rem!important;margin-bottom:.5rem!important}.epg-item>span:last-child{display:block!important;min-width:0!important}.epg-time{display:block!important;white-space:nowrap!important}.epg-title{display:block!important;margin-bottom:3px!important}.epg-description{display:block!important;font-size:.78rem!important;line-height:1.35!important}
}

/* EPG current program only: no duplicated scrollbars */
.epg-panel{overflow:hidden!important;max-height:none!important}
.epg-list{max-height:none!important;overflow:hidden!important;overflow-y:hidden!important;overflow-x:hidden!important;padding-right:0!important}
.player-card{overflow:hidden!important}
@media (max-width:900px){.player-card{overflow:hidden!important}}
