
/* Shared visual system. Narrow selectors preserve embedded players and streaming services. */
html.tv-premium-root{height:auto!important;overflow-y:auto!important;overflow-x:clip!important;color-scheme:dark}
html body.tv-premium{--tv-glass:rgba(17,32,48,.88);--tv-border:rgba(151,190,215,.21);--tv-accent:#70dceb;display:block!important;height:auto!important;min-height:100dvh!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:0!important;background:radial-gradient(ellipse at 70% 0%,#11283a 0,transparent 55%),#080f19!important;color:#e9f1f7!important;font-family:Inter,system-ui,sans-serif!important}
html body.tv-premium>header{position:relative!important;height:auto!important;min-height:48px!important;max-height:none!important;padding:5px 12px!important;background:rgba(10,20,32,.9)!important;border-bottom:1px solid var(--tv-border)!important;box-sizing:border-box!important;flex-wrap:wrap;gap:8px}
html body.tv-premium>header .tv-brand-wordmark{width:210px!important;height:40px!important;max-height:40px!important}
html body.tv-premium .tv-site-nav{justify-content:flex-start!important;padding:4px 10px!important;gap:4px!important;background:rgba(14,27,42,.9)!important;border-color:var(--tv-border)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:Inter,system-ui,sans-serif!important}
html body.tv-premium .tv-site-nav a,html body.tv-premium .tv-site-nav summary{min-height:40px!important;padding:7px 12px!important;border-radius:10px!important;font-size:12px!important}
html body.tv-premium .tv-site-nav a[aria-current]{background:linear-gradient(135deg,#164d61,#143649)!important;border-color:#5fcfe65e!important;box-shadow:inset 0 1px #ffffff14!important}
html body.tv-premium .tv-section-title{margin:0!important;padding:6px 12px!important;font:600 14px/1.5 system-ui!important;background:transparent!important}
html body.tv-premium .tv-section-intro{padding:4px 12px!important;background:transparent!important;font-size:12px!important;color:#abc0d1!important}
html body.tv-premium>.main-content{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:8px!important;margin:8px!important;padding:0!important;width:auto!important;height:var(--tv-workspace-height,calc(100dvh - 130px))!important;min-height:360px!important;max-height:none!important;flex:none!important;overflow:visible!important;align-items:stretch!important}
html body.tv-premium>.main-content.tv-catalog-hidden,html body.tv-premium.tv-section-live.sidebar-hidden>.main-content{grid-template-columns:minmax(0,1fr)!important}
html body.tv-premium>.main-content>.player-section{display:flex!important;flex-direction:column!important;min-width:0!important;width:auto!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:visible!important;flex:none!important;background:transparent!important;border:0!important}
html body.tv-premium #playerWrapper{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 0!important;width:100%!important;min-width:0!important;min-height:160px!important;height:0!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border-radius:14px!important;border:1px solid var(--tv-border)!important;box-sizing:border-box!important;overflow:hidden!important;background:#030608!important}
html body.tv-premium #playerWrapper>.plyr:not(.plyr--fullscreen-active),html body.tv-premium #playerWrapper .plyr__video-wrapper{width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important}
html body.tv-premium #playerWrapper video{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:none!important}
html body.tv-premium[data-tv-fit="cover"] #playerWrapper video{object-fit:cover!important}
html body.tv-premium .actions-bar:has(#nowPlaying){display:flex!important;flex-direction:column!important;flex:0 0 auto!important;gap:6px!important;padding:8px 0 0!important;background:transparent!important;border:0!important;overflow:visible!important;z-index:5!important}
html body.tv-premium #nowPlaying{width:100%!important;min-width:0!important;min-height:38px!important;flex:none!important;border:0!important;padding:0 4px!important;box-sizing:border-box!important}
html body.tv-premium #nowPlaying h3{font-size:13px!important}
html body.tv-premium #nowPlaying .channel-logo,html body.tv-premium #nowPlaying .channel-logo img{width:32px!important;height:32px!important;min-width:32px!important}
html body.tv-premium #nowPlaying+.actions-group{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:5px!important;width:100%!important;flex:none!important;overflow:visible!important;padding:0!important}
html body.tv-premium #nowPlaying+.actions-group>.action-btn,html body.tv-premium .tv-zap-inline button{display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 90px!important;gap:6px!important;min-width:44px!important;min-height:42px!important;width:auto!important;height:auto!important;padding:7px 9px!important;font:500 12px/1.25 system-ui!important;background:linear-gradient(145deg,#ffffff0d,#ffffff03),var(--tv-glass)!important;color:#e9f1f7!important;border:1px solid var(--tv-border)!important;border-radius:10px!important;box-shadow:inset 0 1px #ffffff08!important;box-sizing:border-box!important;cursor:pointer}
html body.tv-premium #nowPlaying+.actions-group>.action-btn[hidden]{display:none!important}
html body.tv-premium #nowPlaying+.actions-group>.action-btn:disabled{opacity:.45!important;cursor:not-allowed!important}
html body.tv-premium .tv-zap-inline{display:flex!important;gap:5px!important;flex:2 1 180px!important;order:0!important}
html body.tv-premium .action-btn .tv-refine-label{display:block!important}
html body.tv-premium #tvGuideButton{background:#16465a!important}
html body.tv-premium .tv-premium-home #sidebar,html body.tv-premium-home>.main-content>#sidebar{display:none!important}
html body.tv-premium #tvGuide:not([hidden]){position:relative!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:10px!important;gap:6px!important;box-sizing:border-box!important;background:var(--tv-glass)!important;border:1px solid var(--tv-border)!important;border-radius:14px!important;box-shadow:0 8px 24px #0002!important;overflow:hidden!important;z-index:4!important;backdrop-filter:none!important}
html body.tv-premium #tvGuide[hidden]{display:none!important}
html body.tv-premium #tvGuide>header{position:static!important;display:flex!important;justify-content:space-between!important;align-items:center!important;min-height:36px!important;height:36px!important;flex:0 0 36px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
html body.tv-premium #tvGuide>header strong{font:600 14px system-ui!important}
html body.tv-premium #tvGuide>header strong::after{display:none!important}
html body.tv-premium #tvGuide .tv-guide-help{display:none!important}
html body.tv-premium #tvGuideClose{font:12px system-ui!important;min-height:36px!important;height:36px!important}
html body.tv-premium #tvGuideSearch,html body.tv-premium #tvGuideCategory{flex:0 0 40px!important;min-height:40px!important;height:40px!important;font:14px system-ui!important}
html body.tv-premium #tvGuide .tv-guide-filters{flex:none!important;display:flex!important;gap:6px!important}
html body.tv-premium #tvGuide .tv-guide-filters button{min-height:36px!important;font:12px system-ui!important;padding:6px 12px!important}
html body.tv-premium #tvGuideList{display:block!important;flex:1 1 0!important;min-height:0!important;height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;padding:0 3px 4px 0!important}
html body.tv-premium #tvGuideList .tv-guide-channel{display:flex!important;width:100%!important;min-height:54px!important;height:auto!important;padding:7px!important;margin:0 0 4px!important;gap:8px!important;border:1px solid transparent!important;border-radius:9px!important;box-sizing:border-box!important;background:rgba(255,255,255,.025)!important}
html body.tv-premium #tvGuideList .tv-guide-channel[aria-current]{background:#1c58684d!important;border-color:#66cfe75c!important}
html body.tv-premium #tvGuideList .tv-guide-channel:hover{background:#ffffff0c!important}
html body.tv-premium #tvGuideList img{width:32px!important;height:32px!important}
html body.tv-premium #tvGuideList strong{font:600 13px/1.35 system-ui!important}
html body.tv-premium #tvGuideList small{font:11px/1.3 system-ui!important}
html body.tv-premium #tvGuide.tv-premium-overlay:not([hidden]){position:absolute!important;inset:8px 8px 8px auto!important;width:min(340px,calc(100% - 16px))!important;height:calc(100% - 16px)!important;z-index:3000!important;background:rgba(12,25,40,.96)!important}
html body.tv-premium.tv-section-live #sidebar{display:flex!important;flex-direction:column!important;position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;opacity:1!important;pointer-events:auto!important;overflow:hidden!important;background:var(--tv-glass)!important;border:1px solid var(--tv-border)!important;border-radius:14px!important;box-sizing:border-box!important}
html body.tv-premium.tv-section-live.sidebar-hidden #sidebar{display:none!important}
html body.tv-premium.tv-section-live #channels{flex:1 1 0!important;min-height:0!important;height:0!important;overflow:auto!important;scrollbar-gutter:stable;scrollbar-width:thin}
html body.tv-premium.tv-section-live #sidebar .top-panel{padding:10px!important}
html body.tv-premium.tv-section-live #categories{flex:none!important;padding:7px 10px!important}
html body.tv-premium.tv-section-live .channel-card{padding:7px!important;gap:8px!important;border-radius:8px}
html body.tv-premium.tv-section-live .channel-name{white-space:normal!important;font-size:13px!important}
html body.tv-premium.tv-section-live .thumb{width:54px!important;height:38px!important}
html body.tv-premium.tv-section-live #toggleListBtn{display:block!important;min-height:40px!important;font-size:20px!important}
html body.tv-premium .tv-connection-details[open]>.stream-status{position:static!important;inset:auto!important;max-height:180px!important;overflow:auto!important;width:100%!important;box-sizing:border-box!important}
html body.tv-premium .tv-seo.tv-directory-inline{margin:8px!important;padding:8px 10px!important;background:transparent!important;border:1px solid var(--tv-border)!important;border-radius:12px!important}
html body.tv-premium .tv-directory-inline>h1{font-size:13px!important}
html body.tv-premium :is(button,a,input,select,summary,[tabindex]):focus-visible{outline:2px solid #70dceb!important;outline-offset:2px!important}
html body.tv-premium #tvPremiumTip{position:fixed!important;z-index:10000!important;max-width:min(280px,calc(100vw - 24px));padding:9px 12px;border:1px solid #799bb766;border-radius:10px;background:#14283bf5;color:#f2f8ff;font:12px/1.45 system-ui;box-shadow:0 8px 24px #0006;pointer-events:none;box-sizing:border-box}
html body.tv-premium #tvPremiumTip[hidden]{display:none!important}
/* Legacy TV players: bound the list, preserve their native channel events. */
html body.tv-premium:is(.tv-section-tv,.tv-section-tv2)>.container{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:8px!important;margin:8px!important;width:calc(100% - 16px)!important;height:calc(100dvh - 135px)!important;min-height:360px!important}
html body.tv-premium:is(.tv-section-tv,.tv-section-tv2) .player{border:1px solid var(--tv-border);border-radius:14px;overflow:hidden!important}
html body.tv-premium:is(.tv-section-tv,.tv-section-tv2) .player video{width:100%!important;height:100%!important;object-fit:contain!important}
html body.tv-premium:is(.tv-section-tv,.tv-section-tv2) .sidebar{height:100%!important;max-height:none!important;min-height:0!important;width:100%!important;overflow:auto!important;background:var(--tv-glass)!important;border:1px solid var(--tv-border);border-radius:14px}
html body.tv-premium:is(.tv-section-tv,.tv-section-tv2) .search{background:transparent!important}
/* Radio shares the same surfaces without changing its XSPF or audio element. */
html body.tv-premium.tv-section-radio>h1{font-size:20px!important;margin:18px 12px!important}
html body.tv-premium.tv-section-radio #player{margin:12px auto!important;padding:16px!important;width:calc(100% - 24px)!important;box-sizing:border-box!important;background:var(--tv-glass)!important;border:1px solid var(--tv-border)!important;box-shadow:0 8px 30px #0002!important}
html body.tv-premium.tv-section-radio audio{max-width:100%;width:100%}
html body.tv-premium.tv-section-radio #controls{padding:0 12px!important;margin:12px auto!important;gap:8px!important;max-width:1200px;box-sizing:border-box}
html body.tv-premium.tv-section-radio #controls :is(input,select){flex:1 1 220px;min-width:0!important;max-width:100%;background:#15283b;color:#edf5fc;border:1px solid var(--tv-border)}
html body.tv-premium.tv-section-radio #stations{max-width:1200px!important;grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;gap:10px!important;padding:0 12px 24px!important;box-sizing:border-box}
html body.tv-premium.tv-section-radio .station{background:var(--tv-glass)!important;border:1px solid var(--tv-border)!important;padding:14px!important;box-shadow:0 4px 16px #0002!important}
html body.tv-premium.tv-section-radio .station-album{color:#aec3d4!important}
html body.tv-premium.tv-section-radio .station img{object-fit:contain!important}
html body.tv-premium.tv-section-radio .station:hover{transform:translateY(-2px)!important;background:#1b354b!important}
/* Portal: common navigation; retain its Studio link and discovery components. */
html body.tv-premium.tv-section-envivo .topbar{flex-wrap:wrap!important;height:auto!important;gap:8px!important}
html body.tv-premium.tv-section-envivo .topbar .tv-site-nav{flex:1 1 600px!important;width:auto!important;border:0!important;background:transparent!important}
html body.tv-premium.tv-section-envivo .hero{gap:24px;padding-top:28px;padding-bottom:24px}
@media(max-width:900px){
 html body.tv-premium .tv-site-nav a,html body.tv-premium .tv-site-nav details{flex:0 1 auto!important}
 html body.tv-premium .tv-site-nav a,html body.tv-premium .tv-site-nav summary{padding:6px 10px!important}
 html body.tv-premium:is(.tv-section-tv,.tv-section-tv2)>.container{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important}
 html body.tv-premium:is(.tv-section-tv,.tv-section-tv2) .player{aspect-ratio:16/9;min-height:0!important;flex:none!important}
 html body.tv-premium:is(.tv-section-tv,.tv-section-tv2) .sidebar{height:65dvh!important;max-height:650px!important;min-height:300px!important;flex:none!important}
}
html body.tv-premium.tv-premium-mobile>.main-content{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;gap:8px!important;margin:6px!important}
html body.tv-premium.tv-premium-mobile>.main-content>.player-section{height:auto!important;flex:none!important}
html body.tv-premium.tv-premium-mobile #playerWrapper{height:auto!important;min-height:0!important;max-height:70dvh!important;aspect-ratio:var(--tv-media-ratio,16/9)!important;flex:none!important}
html body.tv-premium.tv-premium-mobile #playerWrapper>.plyr:not(.plyr--fullscreen-active){position:absolute!important;inset:0!important}
html body.tv-premium.tv-premium-mobile #tvGuide:not([hidden]),html body.tv-premium.tv-premium-mobile.tv-section-live #sidebar{height:clamp(360px,66dvh,650px)!important;min-height:0!important;flex:none!important}
html body.tv-premium.tv-premium-mobile #nowPlaying+.actions-group>.action-btn{flex:1 1 90px!important;min-height:44px!important}
@media(prefers-reduced-motion:reduce){html body.tv-premium *,html body.tv-premium *::before,html body.tv-premium *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){html body.tv-premium{--tv-glass:#112030}html body.tv-premium .tv-site-nav{backdrop-filter:none!important;background:#0e1b2a!important}}

html body.tv-premium #playerWrapper:fullscreen{width:100vw!important;height:100dvh!important;border:0!important;border-radius:0!important;max-height:none!important}
html body.tv-premium.tv-section-live #sidebar .top-panel,html body.tv-premium.tv-section-live #sidebar #searchInput{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}

