/* PAIPTV 2 — charcoal, original red, an editorial sports schedule. */
:root{--bg:#0b0d0f;--surface:#131619;--surface2:#1c2024;--surface3:#242a2e;--border:#2a3035;--accent:#e63946;--accent2:#e63946;--text:#f5f6f3;--text2:#b3babb;--text3:#959ea0;--radius:12px;--header:88px;--sidebar:220px}
*{box-sizing:border-box}body.paiptv-v2{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;background:var(--bg);color:var(--text);height:auto;min-height:100vh;overflow:auto;padding-left:220px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit}button[disabled]{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:240px;z-index:10000;background:var(--accent);color:#ffffff;padding:12px}.skip-link:focus{top:8px}
.app-nav{position:fixed;inset:0 auto 0 0;width:220px;border-right:1px solid var(--border);background:#101315;padding:32px 16px 20px;display:flex;flex-direction:column;z-index:120}.brand{display:flex;align-items:center;font-size:29px;font-weight:900;font-style:italic;letter-spacing:-1.8px;text-decoration:none;padding:0 12px 26px}.brand span{color:var(--accent)}.brand i{height:6px;width:6px;background:var(--accent);border-radius:50%;margin-left:8px;align-self:flex-start;margin-top:8px}.nav-section{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--text3);padding:18px 12px 9px}.nav-link{border:0;background:transparent;color:#abb2b4;padding:13px 12px;border-radius:8px;display:flex;align-items:center;gap:12px;text-align:left;font-size:14px;line-height:1.4;width:100%;margin-bottom:5px}.nav-link span{font-size:22px;line-height:1;width:22px;text-align:center}.nav-link:hover{background:#20262a;color:white}.nav-link.active{background:#e63946;color:#ffffff;font-weight:700}.nav-bottom{margin-top:auto;padding-top:32px}.nav-signature{padding:24px 12px 0;font-size:12px;color:var(--text3);border-top:1px solid var(--border);margin-top:16px}.nav-signature i{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:6px}
header.topbar{height:88px;position:relative;background:var(--bg);border-bottom:1px solid var(--border);padding:20px 32px;display:flex;gap:24px;box-shadow:none}.breadcrumb{font-size:14px;white-space:nowrap;color:var(--text3)}.breadcrumb span{padding:0 12px;color:#536066}.breadcrumb strong{color:var(--text);font-weight:400}.topbar .search-wrap{margin-left:auto;max-width:380px;flex:1}.topbar .search-wrap input{background:#171b1e;border:1px solid var(--border);border-radius:8px;height:42px;font:14px Arial;width:100%;padding:0 36px;color:var(--text)}.topbar .search-icon{left:13px;font-size:22px;color:var(--text3)}.topbar kbd{position:absolute;right:12px;top:10px;color:var(--text3);font:14px Arial;border:1px solid #3a4045;padding:0 5px;border-radius:3px}.header-clock{font:12px Arial;color:var(--text3);text-align:right}.header-clock #headerTime{font-size:14px;color:var(--text);margin-top:4px}.profile-badge{background:#301c20;border:1px solid #653039;color:var(--accent);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:14px;font-weight:700}.topbar #menuBtn{display:none}.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;padding:32px;min-height:calc(100vh - 160px);height:auto;overflow:visible}.workspace{min-width:0}.workspace-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:30px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--accent);margin:0 0 10px}h1{font-size:clamp(28px,2.9vw,42px);line-height:1.12;letter-spacing:-1.6px;margin:0;font-weight:750}h1 span{color:var(--accent)}#viewDescription{font-size:14px;color:var(--text2);margin-top:12px;line-height:1.6}.edition-label{display:none;font-size:12px;letter-spacing:1.2px;color:var(--text3);writing-mode:vertical-rl}.agenda-toolbar{display:flex;align-items:stretch;gap:12px;margin-bottom:22px}.date-tabs{display:flex;gap:8px;overflow:auto;flex:1;padding:4px}.date-tab{flex:1;min-width:88px;background:#171b1e;border:1px solid var(--border);border-radius:10px;padding:11px 12px;color:var(--text2);display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;white-space:nowrap}.date-tab strong{font-size:16px;font-weight:700;color:var(--text)}.date-tab.active{border-color:#e63946;background:#30191d;color:#f2d1d4}.date-tab.active strong{color:var(--accent)}.refresh-btn{align-self:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text2);font-size:22px;width:40px;height:40px}.agenda-filters{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:26px}.filter-chips{display:flex;gap:7px;overflow:auto;max-width:100%;padding:4px}.filter-chip{background:transparent;border:1px solid #333b40;border-radius:6px;padding:7px 12px;color:var(--text2);font-size:13px;white-space:nowrap}.filter-chip.active{background:#ebeee7;color:#1a2114;border-color:#ebeee7;font-weight:700}.availability-filter{font-size:12px;color:var(--text2);display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap}.availability-filter input{accent-color:var(--accent);width:15px;height:15px}.results-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 14px;gap:12px}.results-heading h2{font-size:16px;font-weight:600;letter-spacing:-.2px}.results-heading>span{font-size:12px;color:var(--text3)}.data-notice{font-size:13px;background:#241a1d;border:1px solid #543039;border-radius:8px;padding:12px 14px;color:#e4ced2;margin-bottom:16px}.data-notice:empty{display:none}.competition-group{margin:0 0 22px}.competition-label{display:flex;align-items:center;gap:9px;margin:0 0 10px;color:var(--text2);font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700}.sport-symbol{font-size:16px;color:var(--accent)}.event-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;text-align:left;width:100%;padding:18px;border:1px solid var(--border);background:#15191c;border-radius:10px;margin:8px 0;color:var(--text);transition:background .18s,border-color .18s}.event-card:hover{background:#1e2428;border-color:#85444b}.event-card:disabled{opacity:.6}.event-time{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.event-time small{display:block;font-size:12px;font-weight:400;color:var(--text3);margin-top:4px}.event-info{border-left:1px solid #323a3e;padding-left:16px;min-width:0}.event-title{font-size:16px;font-weight:600;display:block;line-height:1.5}.event-channels{font-size:12px;color:var(--text3);display:block;margin-top:5px;line-height:1.6}.event-action{font-size:13px;color:var(--accent);border:1px solid #3b4b2c;padding:8px 12px;border-radius:6px;white-space:nowrap}.event-card.unavailable .event-action{color:#aeb6b8;border-color:#3b4347}.agenda-source{font-size:12px;color:var(--text3);margin-top:24px}.agenda-source a{text-underline-offset:3px}.empty-message{padding:42px 24px;border:1px dashed #3d464b;border-radius:12px;text-align:center;color:var(--text2);font-size:14px}.empty-message strong{display:block;color:var(--text);font-size:19px;margin-bottom:10px}.empty-message button{margin-top:18px}.main.watch-panel{position:sticky;top:24px;align-self:start;display:block;min-width:0;background:#111518;border:1px solid var(--border);border-radius:12px;overflow:hidden;flex:none}.watch-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 16px}.watch-heading .eyebrow{margin:0;font-size:12px;color:var(--text2)}.text-button{border:0;background:transparent;color:var(--accent);font-size:12px;padding:5px}.watch-panel .player-wrap{height:auto;min-height:0;flex:none;border-radius:0;background:#070a0c;aspect-ratio:16/10}.player-ratio{height:100%;width:100%;padding:0}.watch-panel .no-channel{gap:10px;color:var(--text2);background:radial-gradient(ellipse at 50% 40%,#232d24,#0b1012 70%)}.empty-play{width:50px;height:50px;display:grid;place-items:center;font-size:30px;border:1px solid #53604a;color:var(--accent);border-radius:50%;margin-bottom:6px}.no-channel h2{font-size:17px;font-weight:600}.no-channel p{font-size:12px;max-width:210px;text-align:center;line-height:1.6}.selection-details{padding:20px}.selection-details h2{font-size:19px;letter-spacing:-.5px;font-weight:600}.selection-details>p{color:var(--text3);font-size:13px;margin:7px 0 0}.source-options{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.source-options:empty{display:none}.source-button{background:#20262a;border:1px solid #353f44;border-radius:5px;padding:5px 9px;font-size:12px;color:var(--text2)}.source-button.active{color:var(--accent);border-color:#7a953e}.watch-panel .epg-bar{background:#171c1f;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px;max-height:none;min-height:0;font-size:13px}.epg-badge{background:#29351e;color:var(--accent);font-size:12px;letter-spacing:.5px}.epg-now{display:flex;flex-wrap:wrap;gap:8px}.epg-title{font-size:13px;white-space:normal}.epg-time{font-size:12px;margin-left:0}.epg-schedule{max-height:180px;overflow:auto}.epg-slot-name{font-size:12px}.epg-slot-time{font-size:12px}.epg-progress{background:var(--accent)}.watch-panel .status-bar{height:auto;min-height:42px;background:transparent;border:0;padding:12px 16px;flex-wrap:wrap;gap:7px;font-size:12px}.watch-panel .legal-links,.watch-panel #channelCount{display:none}.status-dot.live{background:var(--accent)}.status-dot.loading{background:#deb352}.status-dot.error{background:#f47b7b}.player-overlay{background:linear-gradient(transparent,rgba(0,0,0,.9));opacity:1;pointer-events:auto}.player-overlay .player-info{padding:12px}.player-overlay .player-ch-name{font-size:14px}.player-overlay .player-prog-name{font-size:12px}.player-controls{padding:10px!important;gap:4px!important}.ctrl-btn,.ctrl-btn.big{min-width:32px;height:32px;padding:4px;font-size:14px}.vol-wrap{max-width:65px}.player-wrap:has(.no-channel:not([style*="none"])) .player-overlay{display:none}.catalog-toolbar{display:flex;flex-direction:column;gap:16px}.sort-label{font-size:13px;color:var(--text2);align-self:flex-end}.sort-label select{margin-left:8px;background:#1a2023;color:var(--text);border:1px solid var(--border);padding:6px 8px;border-radius:6px;font-size:13px}.sidebar.catalog-sidebar{position:static;display:block;width:auto;height:auto;max-height:none;background:transparent;border:0;transform:none;overflow:visible}.channels-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;overflow:visible}.channel-card{min-width:0;position:relative;background:#161b1e;border:1px solid var(--border);border-radius:10px;overflow:hidden}.channel-card.active{border-color:var(--accent);background:#30191d}.channel-play{display:flex;align-items:flex-start;flex-direction:column;width:100%;background:transparent;border:0;color:var(--text);text-align:left;padding:20px 16px 14px;gap:10px;min-height:168px}.channel-logo{background:#282f31;border:1px solid #353e42;border-radius:8px;width:48px;height:48px;display:grid;place-items:center;font-size:17px;font-weight:700;color:var(--accent);overflow:hidden}.channel-logo img{width:100%;height:100%;object-fit:contain;background:white}.channel-name{font-weight:600;font-size:14px;line-height:1.45}.channel-meta{color:var(--text3);font-size:12px}.channel-card .fav-toggle{position:absolute;top:12px;right:10px;width:30px;height:30px;font-size:17px;color:#bbc4c7;background:transparent;border:0;border-radius:50%}.channel-card .fav-toggle.active{color:var(--accent)}.channel-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding:9px 14px;color:var(--text3);font-size:12px}.channel-footer span:last-child{color:var(--accent)}.channels-list .empty-message{grid-column:1/-1}.app-footer{padding:0 32px 24px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--text3)}.app-footer div{display:flex;gap:18px}.app-footer a{text-decoration:none}.app-footer button{font:inherit;background:transparent;border:0;color:inherit}.footer-dot{color:var(--accent);padding:0 5px}.loading-screen{position:fixed;top:auto;bottom:18px;left:auto;right:18px;width:260px;height:auto;padding:16px;z-index:250;border:1px solid var(--border);border-radius:10px;background:#1b2124;box-shadow:0 10px 40px #0005;gap:8px}.loading-screen .load-logo{display:none}.load-bar-wrap{width:100%;height:3px;background:#394237}.load-bar{background:var(--accent)}.load-text{font-size:12px;color:var(--text2)}.cookie-consent{background:#202629;border-color:#46503d;border-radius:12px;max-width:540px;padding:20px;font-size:14px;z-index:300}.cookie-title{font-size:15px}.cookie-text{font-size:13px}.cookie-btn{font-size:13px}.cookie-btn.primary{background:var(--accent);color:#ffffff}.toast{font-size:14px;background:#321c21;color:white;border:1px solid #88434d;max-width:90vw}.info-panel,.guide-panel{background:#13191c;border-color:var(--border)}.info-title,.guide-title{font-family:inherit;font-size:26px}.info-kicker,.guide-kicker{color:var(--accent)}.info-body,.guide-body{font-size:15px}.btn-icon{font:14px Arial;color:var(--text);background:#222b30;border:1px solid #374348;min-height:36px;padding:6px 12px}.download-btn{background:var(--accent);color:#ffffff}.vod-card{border-color:var(--border)}.vod-card-title{font-size:16px}.guide-program-title{font-size:13px}.guide-channel-name{font-size:13px}.pseudo-fullscreen .app-nav,.pseudo-fullscreen .workspace,.pseudo-fullscreen .topbar,.pseudo-fullscreen .app-footer{display:none!important}.theater .layout{grid-template-columns:1fr}.theater .watch-panel{grid-row:1;position:relative;top:0;max-width:1100px;width:100%;justify-self:center}.theater .watch-panel .player-wrap{aspect-ratio:16/9;max-height:65vh}.theater .workspace{max-width:1100px;width:100%;justify-self:center}.theater .selection-details{padding:16px 22px}.theater .epg-bar{max-height:110px}.theater .main{order:-1}
@media(min-width:1600px){.layout{grid-template-columns:minmax(0,1fr) 430px;gap:40px;padding:40px 48px}.workspace{max-width:1050px}.channels-list{grid-template-columns:repeat(4,minmax(0,1fr))}.edition-label{display:block}}
@media(max-width:1200px){body.paiptv-v2{padding-left:190px}.app-nav{width:190px;padding-inline:10px}.nav-link{font-size:13px}.layout{grid-template-columns:minmax(0,1fr) 310px;padding:24px;gap:20px}header.topbar{padding:18px 24px;gap:16px}.breadcrumb{display:none}.channels-list{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card{gap:10px;padding:14px}.event-action{font-size:0;padding:8px}.event-action:after{content:'↗';font-size:18px}.event-info{padding-left:10px}.availability-filter{margin-left:4px}.event-title{font-size:14px}}
@media(max-width:980px){.layout{grid-template-columns:minmax(0,1fr)}.watch-panel{grid-row:1;position:relative!important;top:0!important}.watch-panel:not(.has-selection){display:none}.watch-panel.has-selection{display:grid!important;grid-template-columns:minmax(230px,1fr) 1fr}.watch-panel .watch-heading{grid-column:1/-1}.watch-panel .status-bar{grid-column:1/-1}.watch-panel .epg-bar{display:none}.watch-panel .player-wrap{aspect-ratio:16/9}.channels-list{grid-template-columns:repeat(3,minmax(0,1fr))}.event-action{font-size:13px}.event-action:after{content:none}.theater .watch-panel.has-selection{display:block!important}.event-title{font-size:16px}}
@media(max-width:700px){body.paiptv-v2{padding:0 0 74px}.app-nav{inset:auto 0 0;width:100%;height:68px;border:0;border-top:1px solid var(--border);padding:6px 8px;flex-direction:row;justify-content:space-around;z-index:150}.app-nav .brand,.app-nav .nav-section,.app-nav .nav-bottom,.app-nav #guideBtn{display:none}.app-nav .nav-link{flex:1;flex-direction:column;gap:4px;text-align:center;font-size:12px;padding:6px 3px;white-space:nowrap;border-radius:8px;max-width:95px}.nav-link span{font-size:19px}.nav-link[data-view=recent]{display:none}.nav-link[data-view=agenda]{font-size:0}.nav-link[data-view=agenda]:after{content:'Agenda';font-size:12px}.nav-link[data-view=channels]{font-size:0}.nav-link[data-view=channels]:after{content:'Canales';font-size:12px}.topbar #menuBtn{display:block;background:transparent;padding:5px;min-width:30px}.topbar{height:72px!important;padding:12px 18px!important;gap:12px!important}.topbar .search-wrap{max-width:none}.topbar .search-wrap input{font-size:13px}.header-clock{display:none}.layout{padding:24px 18px;gap:24px}.workspace-heading{margin-bottom:24px}h1{font-size:32px}#viewDescription{font-size:13px;max-width:300px}.agenda-filters{gap:12px;margin-bottom:20px}.availability-filter{font-size:12px}.date-tab{min-width:82px;padding:10px}.event-card{padding:14px 12px;gap:10px;grid-template-columns:48px minmax(0,1fr) 25px}.event-time{font-size:15px}.event-title{font-size:14px}.event-channels{font-size:12px}.event-action{font-size:0;border:0;padding:0}.event-action:after{content:'↗';font-size:20px}.competition-label{font-size:12px}.channels-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.channel-play{padding:16px 12px;min-height:150px}.channel-name{font-size:13px}.app-footer{padding:0 18px;display:block;line-height:1.8}.app-footer>span{display:none}.app-footer div{gap:12px;flex-wrap:wrap}.watch-panel.has-selection{display:block!important}.watch-panel .selection-details{padding:14px}.watch-panel .player-wrap{aspect-ratio:16/9}.watch-panel .status-bar{display:none}.cookie-consent{bottom:80px;max-width:calc(100vw - 24px);left:12px;right:12px;padding:16px}.loading-screen{bottom:80px}.toast{bottom:86px}.nav-expanded .app-nav{height:auto;min-height:68px;flex-wrap:wrap}.nav-expanded .app-nav .nav-bottom{display:flex;width:100%;padding-top:8px}.nav-expanded .nav-signature{display:none}.nav-expanded #guideBtn,.nav-expanded .nav-link[data-view=recent]{display:flex}.guide-panel{width:96vw}.info-panel{width:96vw;max-height:86vh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body.paiptv-v2 .filter-chip,body.paiptv-v2 .nav-link{font-size:14px}.date-tab,.event-channels,.source-button,.availability-filter{font-size:13px} @media(max-width:700px){body.paiptv-v2 .app-nav .nav-link{font-size:12px}body.paiptv-v2 .app-nav .nav-link[data-view=agenda],body.paiptv-v2 .app-nav .nav-link[data-view=channels]{font-size:0}.app-nav .nav-link span{font-size:20px}.event-time small{font-size:12px}.event-info{min-width:0}.date-tabs{min-width:0}}

.watch-heading{gap:10px;flex-wrap:wrap}.watch-heading #theaterBtn{min-height:40px;padding:8px 12px;border:1px solid var(--accent);border-radius:7px;color:var(--text);white-space:nowrap}

/* Mobile layout: one reading column, full-width filters and safe bottom navigation. */
.mobile-category-picker{display:none}
@media(max-width:700px){
 body.paiptv-v2{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 header.topbar{height:auto!important;min-height:72px;padding:12px 16px!important;gap:10px!important}
 .topbar .profile-badge,.topbar kbd{display:none}
 .topbar #menuBtn{flex:0 0 40px;height:44px;padding:8px;border:1px solid var(--border);border-radius:8px}
 .topbar .search-wrap{min-width:0;width:auto;margin:0;flex:1}
 .topbar .search-wrap input{height:44px;font-size:16px;padding-right:12px}
 .layout{padding:20px 16px;gap:20px;min-height:0}
 .workspace-heading{margin-bottom:20px}.workspace-heading h1{font-size:29px;letter-spacing:-1px}
 #viewDescription{max-width:none;margin-bottom:0}.eyebrow{font-size:11px;letter-spacing:1.3px}
 .agenda-toolbar{gap:8px;margin-bottom:16px}.date-tabs{padding:2px;gap:6px}.date-tab{min-width:70px;padding:10px 8px}.date-tab strong{font-size:14px}
 .refresh-btn{flex:0 0 40px;height:44px}
 #sportFilters,#catalogCategories{display:none!important}
 .mobile-category-picker{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0;font-size:12px;color:var(--text2);margin-bottom:12px}
 .mobile-category-picker select{width:100%;min-width:0;min-height:46px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:16px}
 .agenda-filters{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:16px}
 .availability-filter{margin:0;min-height:40px;font-size:13px;white-space:normal}.availability-filter input{width:20px;height:20px;flex:none}
 .results-heading{margin:16px 0 12px}.results-heading h2{margin:0;font-size:16px}.results-heading>span{white-space:nowrap}
 .data-notice{font-size:12px;line-height:1.5;padding:10px 12px}
 .competition-label{font-size:11px;letter-spacing:.7px;line-height:1.5;overflow-wrap:anywhere}
 .event-card{grid-template-columns:64px minmax(0,1fr);gap:8px 12px;padding:14px;align-items:start}
 .event-time{font-size:16px}.event-time small{font-size:10px;white-space:nowrap}.event-info{padding-left:12px;overflow-wrap:anywhere}.event-title{font-size:14px;line-height:1.45}.event-channels{font-size:11px;line-height:1.5}
 .event-action{grid-column:2;justify-self:start;font-size:12px!important;padding:5px 0;border:0;line-height:1.4}.event-action:after{content:none!important}.event-card.unavailable .event-action{color:var(--text3)}
 .app-nav{height:calc(72px + env(safe-area-inset-bottom,0px));padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));gap:4px;align-items:stretch}
 body.paiptv-v2 .app-nav .nav-link{min-width:0;max-width:none;margin:0;flex:1 1 0;justify-content:center;font-size:0;gap:5px;line-height:1.2;padding:6px 2px}
 .app-nav .nav-link span{width:auto;font-size:21px;line-height:1}
 .app-nav .nav-link:after{font-size:11px;line-height:1.2}
 .app-nav .nav-link[data-view=favorites]:after{content:'Favoritos'}.app-nav #vodBtn:after{content:'Pelis y series'}
 .nav-expanded .app-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:70dvh;overflow-y:auto;box-shadow:0 -12px 50px #0009;height:auto;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));gap:8px}
 .nav-expanded .app-nav .nav-link{min-height:60px;width:100%}.nav-expanded .app-nav .nav-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1;padding:0;margin:0;gap:8px}
 .nav-expanded .nav-link[data-view=recent]:after{content:'Recientes'}.nav-expanded #guideBtn:after{content:'Guía TV'}.nav-expanded #downloadsBtn:after{content:'Apps para TV'}.nav-expanded #patchNotesBtn:after{content:'Novedades'}
 .watch-panel{min-width:0;width:100%;overflow:hidden}.watch-panel .watch-heading{padding:12px;gap:8px;align-items:center}.watch-heading .eyebrow{margin:0;font-size:10px;letter-spacing:1px}.watch-heading #theaterBtn{font-size:12px;padding:8px;min-height:44px;margin-left:auto}
 .watch-panel .player-wrap{width:100%;min-height:0;aspect-ratio:16/9;flex:none}.watch-panel .selection-details{padding:12px}.selection-details h2{font-size:18px}.source-options{flex-wrap:wrap}.source-button{min-height:40px;max-width:100%;white-space:normal}
 .catalog-toolbar{flex-wrap:wrap;gap:10px}.channels-list{gap:10px}.channel-play{padding:14px 10px;min-height:150px}.channel-name{overflow-wrap:anywhere}.channel-footer{padding:8px;font-size:10px;gap:4px}
 .app-footer{padding:8px 16px 20px}.app-footer div{gap:8px 16px}.cookie-consent{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.toast,.loading-screen{bottom:calc(90px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 32px)}
 .skip-link{left:16px}
}
/* Hidden notifications must not leave an empty pill over the bottom tabs. */
.toast:not(.show){visibility:hidden;opacity:0;pointer-events:none}
.toast.show{visibility:visible;opacity:1;white-space:normal;text-align:center}
.source-hint{margin:8px 0 6px;color:var(--accent);font-size:13px;font-weight:700}
.channel-variants{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 12px}.variant-button{border:1px solid #3b474c;border-radius:5px;background:#20282b;color:var(--text2);font-size:11px;padding:6px 8px;cursor:pointer}.variant-button:hover,.variant-button.active{border-color:var(--accent);color:var(--accent);background:#2b2522}

/* Compact catalogue and controls that follow interaction, rather than hover alone. */
body.paiptv-v2 .player-wrap .player-overlay{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .18s,visibility .18s}
body.paiptv-v2 .player-wrap.show-controls .player-overlay,
body.paiptv-v2 .player-wrap:has(:focus-visible) .player-overlay{opacity:1;pointer-events:auto;visibility:visible}
body.paiptv-v2 .layout:not(:has(.watch-panel.has-selection)){grid-template-columns:minmax(0,1fr)}
body.paiptv-v2 .watch-panel:not(.has-selection){display:none}
body.paiptv-v2 #channelList{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:14px;align-items:stretch;align-content:start;height:auto;max-height:none;overflow:visible;padding:0}
body.paiptv-v2 .channel-card{display:flex;flex-direction:column;align-self:start;width:100%;height:200px}
body.paiptv-v2 .channel-play{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:3px;min-height:88px;padding:16px 42px 12px 14px;align-content:center;align-items:center}
body.paiptv-v2 .channel-logo{grid-row:1 / 3;width:44px;height:44px;font-size:15px}
body.paiptv-v2 .channel-name{font-size:14px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
body.paiptv-v2 .channel-meta{font-size:11px}
body.paiptv-v2 .channel-variants{align-content:flex-start;overflow:auto;max-height:72px;min-height:0;padding:0 12px 8px;scrollbar-width:thin;overscroll-behavior:contain}
body.paiptv-v2 .variant-button{font-size:11px;padding:7px 8px;line-height:1.3;min-height:30px}
body.paiptv-v2 .channel-footer{margin-top:auto;padding:10px 12px}
body.paiptv-v2 #catalogCategories{flex-wrap:wrap;overflow:visible}
body.paiptv-v2 .workspace-heading{margin-bottom:20px}
@media(max-width:700px){
 body.paiptv-v2 #channelList{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body.paiptv-v2 .channel-card{height:212px}
 body.paiptv-v2 .channel-play{grid-template-columns:32px minmax(0,1fr);gap:6px;padding:12px 30px 10px 10px;min-height:90px}
 body.paiptv-v2 .channel-logo{width:32px;height:32px;font-size:12px}
 body.paiptv-v2 .channel-name{font-size:12px}
 body.paiptv-v2 .channel-variants{padding:0 8px 8px}
 body.paiptv-v2 .variant-button{min-height:36px}
 body.paiptv-v2 .channel-card .fav-toggle{right:2px;top:10px}
 body.paiptv-v2 .channel-footer{font-size:10px;padding:8px}
}
@media(max-width:360px){body.paiptv-v2 #channelList{grid-template-columns:minmax(0,1fr)}}
