@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#080910;--panel:#141520;--panel2:#1b1b2a;--text:#f7f7fc;--muted:#9a9aaa;--line:#282837;--pink:#ff567d;--pink2:#e93372;--purple:#8b5cf6;--accent:#ff557e}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Inter',system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.muted{color:var(--muted)}.small{font-size:12px}.fine-print{font-size:11px;line-height:1.65}.tv-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{background:#10111a;border-right:1px solid #232431;padding:31px 18px;display:flex;flex-direction:column;gap:34px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.8px;font-size:16px}.brand-icon{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;position:relative;color:#fff;background:linear-gradient(145deg,#ff6591,#a83aeb);font:900 21px 'Barlow Condensed',sans-serif;box-shadow:0 5px 24px #df368343}.brand-icon span,.mark span{color:#ffee96}.brand-accent{color:var(--pink)}.brand small{display:block;font:700 9px 'Inter',sans-serif;letter-spacing:4px;color:#888598;margin-top:4px}.side-label,.eyebrow,.little-label{font-weight:800;font-size:10px;letter-spacing:2px;color:#9292a9}.side-label{margin:9px 9px -25px}.channel-nav{display:grid;gap:7px}.channel-option{border:1px solid transparent;background:transparent;text-align:left;padding:13px 12px;border-radius:12px;color:#a7a6b8;display:flex;align-items:center;gap:12px;width:100%}.channel-option strong{display:block;font-size:13px;color:#e5e3ef}.channel-option small{display:block;font-size:10px;margin-top:5px;color:#79798c}.channel-option.selected{border-color:#65374e;background:linear-gradient(100deg,#3d1c33,#211a29);color:#fff}.channel-symbol{font:800 18px 'Barlow Condensed',sans-serif;border:1px solid #464151;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;background:#1d1c28;color:var(--pink)}.sidebar-footer{margin-top:auto;font-size:10px;font-weight:800;letter-spacing:1px;color:#ddd}.sidebar-footer small{display:block;margin:8px 0 21px 15px;letter-spacing:1px;color:#8d8a9c}.sidebar-footer a{display:block;border-top:1px solid var(--line);padding-top:20px;color:#a8a3b7;letter-spacing:0;font-weight:600;font-size:12px}.red-dot,.live-led{display:inline-block;width:7px;height:7px;background:var(--pink);border-radius:50%;box-shadow:0 0 12px #ff4775;vertical-align:middle;margin-right:5px}.topbar{height:78px;border-bottom:1px solid #22232e;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,60px)}.broadcast{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#9d9aab}.top-actions{display:flex;align-items:center;gap:25px;color:#9e9caf;font-size:12px}.icon-btn{border:1px solid #353443;border-radius:10px;background:#191922;color:#eee;padding:10px 14px}.tv-content{max-width:1380px;margin:0 auto;padding:34px clamp(20px,4vw,60px)}.intro{margin-bottom:23px}.intro h1{font:900 clamp(34px,4.2vw,58px)/.98 'Barlow Condensed',Impact,sans-serif;letter-spacing:.6px;margin:11px 0}.intro h1 span{color:var(--pink)}.intro p{margin:8px 0;line-height:1.5}.screen-area{width:100%;background:#000;border-radius:14px;border:1px solid #3d3444;padding:6px;overflow:hidden;box-shadow:0 18px 70px #0008,0 0 50px #ba39621c}.player-shell{aspect-ratio:16/9;min-height:250px;position:relative;background:radial-gradient(ellipse at center,#322036,#0c0b12 70%);border-radius:9px;overflow:hidden}.player-shell #player,.player-shell #player iframe{height:100%!important;width:100%!important;display:block}.player-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;pointer-events:none;text-align:center;background:radial-gradient(ellipse at 50% 35%,#381c3c,#0e0b18 65%)}.player-placeholder strong{font:800 26px 'Barlow Condensed',sans-serif}.player-placeholder small{color:#a5a1b0;font-size:12px}.mark{font:900 52px 'Barlow Condensed',sans-serif;color:#ff648e;text-shadow:0 0 50px #fb3b8a7a}.now-playing{display:flex;gap:18px;align-items:center;margin-top:22px}.now-art{width:65px;height:65px;background:linear-gradient(145deg,#d74776,#8849d2);display:grid;place-items:center;font-size:32px;border-radius:13px;flex:none}.song-info{min-width:0;flex:1}.song-title{font:800 clamp(20px,2vw,28px) 'Barlow Condensed',sans-serif;letter-spacing:.2px;margin:5px 0;overflow-wrap:anywhere}.song-artist{font-size:13px;color:var(--muted)}.player-actions{display:flex;gap:9px}.btn{border-radius:10px;padding:12px 18px;border:1px solid transparent;display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap;font-weight:800;font-size:12px;letter-spacing:.2px;transition:filter .15s}.btn:hover,.icon-btn:hover{filter:brightness(1.15)}.btn.primary{color:#fff;background:linear-gradient(120deg,#f34f82,#9d47d6)}.btn.subtle{background:#272536;border-color:#3a3547;color:#e7dfee}.btn.outline{background:transparent;border-color:#494257;color:#ddd}.player-message{font-size:12px;color:#d5b5be;margin:12px 0 4px;min-height:16px}.below-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin-top:25px}.panel{background:linear-gradient(150deg,#171722,#13141e);border:1px solid #2a2838;border-radius:14px;padding:24px;min-width:0}.panel h2{font:800 22px 'Barlow Condensed',sans-serif;letter-spacing:.1px;margin:0 0 17px}.section-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.section-row h2{margin:0 0 15px}.pill{color:#c8a7c6;background:#382333;border-radius:6px;padding:6px 8px;font-size:9px;font-weight:900;letter-spacing:1px}.upcoming-list{display:grid}.upcoming-item{display:flex;gap:12px;align-items:center;border-top:1px solid #292838;padding:12px 0}.upcoming-item .index{color:#79758a;font:800 17px 'Barlow Condensed';width:20px}.upcoming-item img{object-fit:cover;width:62px;aspect-ratio:16/9;border-radius:5px}.upcoming-item .songname{font-weight:750;font-size:12px}.upcoming-item .artist{font-size:11px;color:#9291a5;margin-top:4px}.more-info h2 span{color:#fbb25f}.more-info p{line-height:1.9;color:#b6b1c0;font-size:13px}.info-divider{height:1px;background:var(--line);margin:25px 0}.info-stats{display:flex;justify-content:space-around;gap:10px}.info-stats div{text-align:center}.info-stats b{display:block;font:800 30px 'Barlow Condensed';color:#ff7198}.info-stats small{font-size:9px;font-weight:750;color:#9190a1;letter-spacing:1px}.tv-footer{border-top:1px solid #262630;color:#787789;padding:20px clamp(20px,4vw,60px);display:flex;justify-content:space-between;gap:20px;font-size:10px}.tv-footer span{max-width:60%;text-align:right}
.center-body{min-height:100vh;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 0,#3e1c43 0,#090911 60%);padding:25px}.auth-card{width:min(420px,100%);padding:35px;background:#181725;border:1px solid #443247;border-radius:18px;box-shadow:0 20px 80px #0009}.auth-card h1{font:900 34px 'Barlow Condensed',sans-serif;margin:10px 0}.auth-card>p{color:#aba4b9;line-height:1.8}.mini-home{display:block;color:#aba2b7;font-size:12px;margin-bottom:25px}.auth-card form{display:grid;gap:20px;margin:20px 0}label{font-weight:700;font-size:12px;color:#d8d4df;display:grid;gap:9px}label small{font-weight:400;color:#a7a2b4}input{width:100%;min-width:0;background:#0e0f19;border:1px solid #383649;border-radius:9px;color:#fff;padding:12px 13px;outline:none}input:focus{border-color:#c9589b;box-shadow:0 0 0 2px #bb4d8730}.alert{padding:12px 14px;border-radius:8px;margin:14px 0;font-size:12px}.alert.bad{background:#52202f;color:#ffd6e0}.alert.good{background:#18382f;color:#b1e4cd}
.admin-body{background:#0d0d15}.admin-header{padding:20px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#15151f;gap:15px}.header-actions,.admin-header .header-actions form{display:flex;gap:12px;align-items:center;margin:0}.admin-main{max-width:1440px;margin:0 auto;padding:20px clamp(20px,4vw,64px) 90px}.page-top{margin:19px 0 29px}.page-top h1{font:900 46px 'Barlow Condensed';margin:5px 0}.admin-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}.admin-col{display:grid;gap:22px;align-content:start}.admin-channels{display:flex;gap:9px;flex-wrap:wrap}.admin-channels button{border:1px solid #494053;color:#dfd3e5;background:#201c2b;border-radius:8px;padding:11px 15px;font-weight:800;font-size:12px}.admin-channels button.active{border-color:#f56596;color:#fff;background:#553044}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.field-grid .wide{grid-column:1/-1}.video-list{display:grid;gap:9px;max-height:800px;overflow:auto;padding-right:2px}.video-row{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #302e3f;border-radius:9px;padding:10px;background:#1b1a27}.video-row.muted-row{opacity:.5}.video-row img{width:75px;aspect-ratio:16/9;object-fit:cover;border-radius:5px}.video-row strong{font-size:12px;display:block;overflow-wrap:anywhere}.video-row small{font-size:10px;color:#a6a3b7;margin-top:5px;display:block}.mini-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:end}.mini-actions button{border:1px solid #494356;background:#282537;color:#eee;border-radius:6px;padding:6px;font-size:11px;min-width:27px}.mini-actions button.danger{color:#ff88a4}.search-row{display:flex;gap:8px}.search-result{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #393044}.search-result img{width:90px;aspect-ratio:16/9;object-fit:cover;border-radius:5px}.search-result .meta{flex:1;min-width:0}.search-result strong{font-size:12px;display:block;overflow-wrap:anywhere}.search-result small{color:#aba5b8;display:block;margin-top:5px}.search-result button{border:1px solid #7c4163;background:#512a47;color:#ffe0f0;padding:9px;border-radius:7px;font-weight:750;font-size:11px}.inline-message{font-size:12px;margin-top:12px;min-height:16px;color:#dfb8cd}#keyForm{display:grid;gap:12px}
@media(max-width:1050px){.tv-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:28px 12px}.below-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:700px){.tv-shell{display:block}.sidebar{height:auto;min-height:0;position:static;padding:14px 16px;gap:17px}.sidebar .brand small{display:none}.side-label{display:none}.channel-nav{display:flex;overflow:auto}.channel-option{min-width:130px;padding:8px;flex:none}.channel-symbol{height:34px;width:34px}.channel-option small{display:none}.sidebar-footer{display:none}.topbar{height:52px;padding:0 16px}.icon-btn{padding:7px}.icon-btn span{display:none}.tv-content{padding:23px 13px}.intro h1{font-size:36px}.intro{margin-bottom:16px}.player-shell{min-height:190px}.now-playing{gap:10px;flex-wrap:wrap}.now-art{width:52px;height:52px}.player-actions{width:100%;justify-content:stretch}.player-actions .btn{flex:1}.panel{padding:18px}.tv-footer{display:block;text-align:center}.tv-footer span{display:block;text-align:center;max-width:100%;margin-top:10px}.admin-header{padding:13px}.admin-header .btn{padding:10px;font-size:11px}.admin-header .brand{font-size:13px}.admin-main{padding:18px 13px}.page-top h1{font-size:36px}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.video-row{grid-template-columns:65px 1fr;gap:8px}.video-row img{width:65px}.mini-actions{grid-column:2;justify-content:flex-start}.auth-card{padding:25px}}
/* 1.1 - teljes felületet váltó képernyők: a YouTube iframe-et soha nem fedjük le. */
.media-layer{width:100%;height:100%;position:absolute;inset:0;background:#07060d}
.media-layer[hidden],section[hidden]{display:none!important}
.media-layer #player,.media-layer #player iframe,.media-layer video{width:100%!important;height:100%!important;display:block}
.media-layer video{object-fit:contain;background:#000}
.player-placeholder{position:absolute;inset:0}
.mini-local-art{display:grid;place-items:center;width:62px;aspect-ratio:16/9;color:#8fdacb;font-size:20px;border-radius:5px;background:#2b253a;flex:none}
.local-thumb{display:grid;place-items:center;width:75px;aspect-ratio:16/9;border-radius:5px;background:#2b253a;color:#8fdacb;font-size:22px}
.consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.6;margin:12px 0 18px;cursor:pointer;font-weight:500;color:#c9c5d4}
.consent input{width:auto;min-width:17px;height:17px;margin-top:2px;accent-color:#f34f82}
code{color:#cdb6ed}
@media(max-width:700px){.local-thumb{width:65px}}

/* 1.2 admin-only program scheduler */
.sched-form{display:grid;gap:12px}
.sched-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:10px 0}
.sched-controls label{min-width:145px;flex:1}
.sched-controls .btn{margin-bottom:0}
.sched-rows{display:grid;gap:1px;max-height:400px;overflow:auto;margin-top:14px;border:1px solid #302e3f;border-radius:9px;background:#262332}
.sched-row{display:flex;gap:12px;align-items:center;padding:9px 12px;background:#181721;min-width:0}
.sched-row .sched-hour{width:48px;flex:none;color:#ff99bf;font-weight:900;font-size:12px;font-variant-numeric:tabular-nums}
.sched-track{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere}
.sched-track strong,.sched-track small{display:block}.sched-track small{margin-top:4px;color:#9893ab}
.sched-repeat{font-size:9px;color:#d7c9f7;white-space:nowrap}

/* 1.3 remote control and discovery */
.tv-pair-box{display:grid;gap:7px;margin-top:auto}.tv-pair-box button{width:100%;white-space:normal}.tv-pair-box p{min-height:24px;word-break:break-word;color:#c5b6c9}
.remote-body{align-items:flex-start;padding:28px 12px}.remote-panel{width:min(480px,100%);padding:25px}.remote-panel h1{font:900 35px 'Barlow Condensed',sans-serif}.remote-panel h2{font:800 20px 'Barlow Condensed',sans-serif;margin-top:25px}.pair-form{display:grid;gap:12px;margin:20px 0}.pair-form input{text-align:center;letter-spacing:8px;font-size:23px}.remote-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.remote-grid button{white-space:normal}.remote-channels{display:flex;gap:8px;flex-wrap:wrap}.remote-channels .btn{flex:1 1 80px}.remote-panel [hidden]{display:none!important}
.discover-list{display:grid;gap:10px;margin-top:12px}.discover-result{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:12px;background:#1b1a27;border:1px solid #322b3d;border-radius:10px}.discover-result img{width:90px;border-radius:6px;aspect-ratio:16/9;object-fit:cover}.discover-inputs{display:grid;gap:8px;min-width:0}.discover-inputs small{color:#a5a2b5}.discover-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.discover-actions a{color:#ffc3df;font-size:11px}.discover-actions .btn{padding:9px;font-size:11px}
@media(max-width:700px){.tv-pair-box{margin:0}.tv-pair-box button{max-width:210px}.tv-pair-box p{min-height:0}.discover-result{grid-template-columns:1fr}.discover-result img{width:120px}.search-row{flex-wrap:wrap}.search-row input{flex:1 1 100%}}

/* 1.4 Network devices */
.network-row{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:6px}
.network-row:last-child{border-bottom:0}.network-row small{opacity:.78}.network-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.network-controls input{min-width:160px;max-width:230px}.network-controls select{min-width:120px}.discover-result .bulk-check{flex:0 0 20px;width:20px;height:20px;align-self:center;accent-color:#ff557e}

/* 1.4.3 – TV-üzemmód: kizárólag a saját MP4/WebM és átvezető érintéses kezelését tiltjuk.
   YouTube iframe-et NEM fedünk le és nem akadályozzuk az interakcióit. */
#localLayer video, #identLayer video { pointer-events:none; -webkit-user-select:none; user-select:none; }

/* 1.4.4 - mobilos TV nézet és PWA telepítés. A YouTube iframe változatlan és elérhető marad. */
.install-app-button{display:none}
.install-app-button[hidden]{display:none!important}
.install-tip{margin:10px clamp(16px,4vw,60px) 0;background:#272035;border:1px solid #6e3b63;
 color:#ffe5f2;border-radius:10px;padding:12px 15px;font-size:12px;line-height:1.55}
.install-tip[hidden]{display:none!important}
.more-info summary{display:list-item;list-style:none;cursor:pointer;font:800 22px 'Barlow Condensed',sans-serif;margin:0 0 17px}
.more-info summary::-webkit-details-marker{display:none}
.more-info summary::after{content:' ▾';color:#ff7198;font:700 14px sans-serif}
.more-info[open] summary::after{content:' ▴'}
.more-info summary span{color:#fbb25f}
@media(max-width:700px){
 .tv-shell{min-height:100svh}
 .sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;align-items:center;padding:12px 12px 9px;
  position:static;height:auto;min-height:unset}
 .brand{font-size:14px;min-width:0;gap:8px}
 .brand-icon{height:38px;width:38px;border-radius:10px;font-size:19px}
 .brand small{display:block;font-size:7px;letter-spacing:2.5px;margin-top:2px}
 .channel-nav{grid-row:2;grid-column:1/-1;gap:7px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;padding:0 1px 6px;scrollbar-width:none}
 .channel-nav::-webkit-scrollbar{display:none}
 .channel-option{scroll-snap-align:start;min-width:113px;min-height:48px;width:auto;border-radius:11px;padding:7px;gap:7px}
 .channel-option strong{font-size:12px}
 .channel-option small{display:block;font-size:9px;margin-top:2px}
 .channel-symbol{width:32px;height:32px;font-size:15px;border-radius:8px;flex:none}
 .sidebar .side-label,.sidebar-footer{display:none}
 .tv-pair-box{grid-column:2;grid-row:1;margin:0;min-width:0}
 .tv-pair-box button{font-size:11px;padding:9px 10px;width:auto;min-height:40px;max-width:155px;white-space:normal}
 .tv-pair-box p{grid-column:1/-1;max-width:155px;font-size:10px;margin:0}
 .topbar{height:auto;min-height:49px;padding:8px 12px;gap:8px}
 .broadcast{letter-spacing:.7px;font-size:9px;min-width:0}
 .top-actions{gap:9px;flex:none;font-size:11px}
 .install-app-button{display:inline-flex;align-items:center;gap:4px;padding:8px 9px;min-height:36px;font-size:11px;border-color:#694157;background:#322133}
 .install-app-button span{display:inline}
 .top-actions #currentTime{display:none}
 .icon-btn{min-height:36px;padding:8px 10px}
 .tv-content{padding:15px 10px 24px}
 .intro{margin-bottom:13px}
 .intro .eyebrow{font-size:9px;letter-spacing:1.4px;margin:0}
 .intro h1{font-size:30px;line-height:1.05;margin:5px 0}
 .intro p{font-size:12px;line-height:1.4;margin:4px 0}
 .screen-area{border-radius:11px;padding:3px}
 .player-shell{aspect-ratio:16/9;min-height:200px;border-radius:7px}
 .player-placeholder strong{font-size:21px}
 .now-playing{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 10px;margin-top:14px}
 .now-art{height:48px;width:48px;font-size:25px;border-radius:10px}
 .song-title{font-size:23px;margin:3px 0}
 .song-artist{font-size:11px}
 .little-label{font-size:9px;letter-spacing:1.4px}
 .player-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:3px}
 .player-actions .btn{font-size:12px;min-height:46px;padding:11px 8px;white-space:normal}
 .player-message{font-size:11px;margin-top:9px;line-height:1.45}
 .below-grid{grid-template-columns:1fr;margin-top:15px;gap:12px}
 .panel{padding:16px;border-radius:12px}
 .panel h2{font-size:22px}
 .upcoming-item{padding:9px 0}
 .more-info summary{font-size:21px;margin:0}
 .more-info:not([open]){padding:14px 16px}
 .more-info[open] summary{margin-bottom:12px}
 .more-info p{font-size:12px;line-height:1.6}
 .info-divider{margin:14px 0}
 .tv-footer{padding:15px 12px;font-size:9px}
 .install-tip{margin:8px 10px 0}
}
@media(max-width:360px){
 .brand{font-size:12px}
 .brand small{letter-spacing:1.5px}
 .tv-pair-box button{font-size:10px;padding:8px 6px}
 .broadcast{font-size:8px}
 .install-app-button{font-size:10px}
 .intro h1{font-size:27px}
 .song-title{font-size:21px}
}
