.guide-topics{display:flex;gap:8px;overflow:auto;padding:3px 1px 14px;margin:-4px 0 10px;scroll-snap-type:x proximity}.guide-topics button{scroll-snap-align:start;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#111720;color:var(--muted);padding:9px 12px;font-weight:850;cursor:pointer}.guide-topics button small{color:#778493;margin-left:4px}.guide-topics button.active{background:var(--lime);border-color:var(--lime);color:#071000}.guide-topics button.active small{color:#314500}
.timeline-controls{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr));gap:10px;align-items:end;margin:0 0 10px}
.timeline-search{grid-column:auto}
.timeline-controls label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.timeline-controls select,.timeline-controls input,.timeline-controls button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 13px}
.timeline-controls select,.timeline-controls input{background:#0c1017;color:var(--text)}
.timeline-controls button{background:var(--lime);color:#071000;font-weight:850;cursor:pointer}
.timeline-controls button.secondary{background:#171e29;color:var(--text)}
.timeline-file{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 13px;background:#171e29;color:var(--text)!important;cursor:pointer;display:flex!important;align-items:center!important;justify-content:center;text-align:center}
.timeline-file input{display:none}
.guide-options{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;background:#111720}
.guide-options summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:850;padding:12px 14px;list-style-position:inside}
.guide-options[open] summary{border-bottom:1px solid var(--line);color:var(--text)}
.guide-options-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;align-items:end;padding:12px}
.timeline-note{color:var(--muted);font-size:13px;min-height:20px}
.guide-search-results{margin:12px 0 20px;padding:18px;border:1px solid #405266;background:linear-gradient(145deg,#111b27,#0c121b);border-radius:16px}.guide-search-results .section-heading{margin:0 0 12px}.guide-search-results .section-heading h2{margin:0}.guide-search-results .section-heading button{border:1px solid var(--line);border-radius:9px;background:#182230;color:var(--text);padding:8px 11px;cursor:pointer}.guide-search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.guide-search-card{display:grid;gap:3px;min-width:0;border:1px solid var(--line);border-radius:11px;background:#0b1017;padding:12px}.guide-search-card:hover{border-color:var(--lime)}.guide-search-card small{color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.08em}.guide-search-card b,.guide-search-card span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-search-card span{color:var(--muted);font-size:12px}.guide-search-card.programme-match{border-left:3px solid var(--lime)}.guide-search-empty{grid-column:1/-1;color:var(--muted);text-align:center;padding:20px}
.timeline-health-summary{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.timeline-health-summary span{border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);font-size:11px;font-weight:800}.timeline-health-summary span[data-state=live]{color:var(--lime);border-color:#496d1d}.timeline-health-summary span[data-state=dead],.timeline-health-summary span[data-state=blocked]{color:#ff879b;border-color:#733444}
.timeline-viewport{--channel-width:230px;overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:14px;background:#090d13}
.timeline-grid{--slot-width:170px;--channel-width:230px;position:relative;display:grid;grid-template-columns:var(--channel-width) repeat(var(--slots),var(--slot-width));grid-auto-rows:68px;min-width:max-content}
.timeline-corner,.timeline-time{position:sticky;top:0;z-index:6;background:#101720;border-bottom:1px solid var(--line);padding:13px 12px;color:var(--cyan);font-size:12px;font-weight:850}
.timeline-corner{left:0;z-index:8;color:var(--muted);letter-spacing:.09em}
.timeline-time{border-left:1px solid var(--line)}
.timeline-channel{position:sticky;left:0;z-index:4;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;min-width:0;background:#111822;border-right:1px solid var(--line);border-bottom:1px solid #1d2632;padding:7px 8px}
.timeline-channel-main{display:flex;align-items:center;gap:9px;min-width:0}
.timeline-channel img{width:58px;height:42px;object-fit:cover;border-radius:7px;background:#080b10}
.timeline-channel span{display:grid;min-width:0}
.timeline-channel b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-channel-actions{display:flex;gap:3px}.timeline-channel-actions button{width:24px;height:24px;border:1px solid var(--line);border-radius:6px;background:#1a2230;color:var(--muted);cursor:pointer;padding:0}.timeline-channel-actions button.is-favorite{color:#ffd85a;border-color:#8e7530}.timeline-channel-actions button:hover{color:var(--text)}
.device-health{color:var(--muted);font-size:10px}
.device-health[data-state=live]{color:var(--lime)}
.device-health[data-state=dead],.device-health[data-state=blocked]{color:#ff879b}
.timeline-lane{position:relative;border-bottom:1px solid #1d2632;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--slot-width) - 1px),#202936 calc(var(--slot-width) - 1px),#202936 var(--slot-width));overflow:hidden}
.timeline-programme{position:absolute;top:6px;bottom:6px;display:grid;align-content:center;min-width:40px;overflow:hidden;border:1px solid #334052;border-radius:8px;background:linear-gradient(145deg,#182230,#111823);padding:6px 9px}
.timeline-programme.is-now{border-color:#638d2d;background:linear-gradient(145deg,#1d2b16,#111a11)}
.timeline-programme.is-search-match{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #4ce8ff55}
.timeline-programme b,.timeline-programme small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-programme small{color:var(--muted);font-size:10px}
.timeline-unscheduled{left:6px;width:calc(100% - 12px);color:var(--muted);border-style:dashed}
.timeline-now-line{position:absolute;top:0;bottom:0;z-index:5;width:2px;background:#ff496c;box-shadow:0 0 10px #ff496c;pointer-events:none}
.timeline-now-line:before{content:"NOW";position:sticky;top:2px;display:block;transform:translateX(-50%);width:max-content;background:#ff496c;color:white;font-size:9px;font-style:normal;font-weight:900;padding:2px 4px;border-radius:3px}
.timeline-load-more{display:block;margin:14px auto 0;border:1px solid var(--line);border-radius:10px;padding:12px 20px;background:#171e29;color:var(--text);font-weight:850;cursor:pointer}.timeline-load-more[hidden]{display:none}
.timeline-viewport[data-density=compact] .timeline-grid{grid-auto-rows:50px}.timeline-viewport[data-density=compact] .timeline-channel img{width:38px;height:30px}.timeline-viewport[data-density=compact] .timeline-programme{top:4px;bottom:4px}.timeline-viewport[data-density=compact] .timeline-programme small{display:none}
@media(max-width:980px){.timeline-controls{grid-template-columns:1fr 1fr}.timeline-search{grid-column:span 2}.timeline-controls button{width:100%}.guide-options-grid{grid-template-columns:1fr 1fr}.guide-search-grid{grid-template-columns:1fr 1fr}.timeline-viewport{--channel-width:180px}.timeline-grid{--channel-width:180px;--slot-width:145px}.timeline-channel img{width:38px;height:32px}.timeline-channel{padding:6px}.timeline-channel b{font-size:11px}.timeline-channel-actions button{width:21px;height:21px}}
@media(max-width:520px){.timeline-controls{grid-template-columns:1fr}.timeline-search{grid-column:auto}.guide-options-grid,.guide-search-grid{grid-template-columns:1fr}.timeline-viewport{margin-inline:-10px;border-radius:10px}.guide-search-results{padding:13px}}

/* v3.3 imported-playlist guide */
.guide-topics[hidden],.guide-search-results[hidden],.timeline-health-summary[hidden],.mobile-now-list[hidden],.timeline-viewport[hidden],.timeline-load-more[hidden],.imported-guide[hidden],.guide-options[hidden]{display:none!important}
.guide-hero-row{display:flex;justify-content:space-between;align-items:end;gap:24px}.guide-hero-row>div{max-width:820px}
.guide-import-button{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-width:250px;border-radius:13px;background:var(--lime);color:#071000;padding:14px 16px}.guide-import-button>span{grid-row:1/3;font-size:25px}.guide-import-button small{font-weight:700;color:#294000}
.guide-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;background:#111720;padding:13px;margin:0 0 18px}.guide-flow span{display:flex;align-items:center;gap:7px;font-weight:850}.guide-flow span b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#24331a;color:var(--lime)}.guide-flow i{color:var(--muted);font-style:normal}
.imported-guide{margin:14px 0}.imported-guide-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:12px}.imported-guide-head h2,.imported-guide-head p{margin:0}.imported-guide-head>div{display:grid;gap:5px}.imported-guide-head>div>p:last-child{color:var(--muted)}.imported-guide-head label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.imported-guide-head select{min-height:44px;min-width:240px;border:1px solid var(--line);border-radius:10px;background:#0c1017;color:var(--text);padding:9px 12px}
.imported-guide-list{display:grid;border:1px solid var(--line);border-radius:15px;background:#090d13;overflow:hidden}.imported-guide-row{display:grid;grid-template-columns:64px minmax(150px,.7fr) minmax(300px,1.3fr) auto;gap:12px;align-items:center;padding:11px;border-bottom:1px solid var(--line)}.imported-guide-row:last-child{border-bottom:0}.imported-guide-row>img,.imported-guide-logo{width:64px;height:44px;object-fit:contain;border-radius:8px;background:#121923}.imported-guide-logo{display:grid;place-items:center;color:var(--lime);font-weight:950}.imported-guide-channel{display:grid;min-width:0}.imported-guide-channel b,.imported-guide-channel small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imported-guide-channel small{color:var(--muted)}.imported-guide-channel em{font-style:normal;color:var(--muted);font-size:10px;font-weight:850}.imported-guide-channel em[data-state=live]{color:var(--lime)}.imported-guide-channel em[data-state=dead],.imported-guide-channel em[data-state=blocked]{color:#ff879b}
.imported-guide-shows{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}.imported-guide-shows span{display:grid;min-width:0;border-left:2px solid var(--line);padding-left:9px}.imported-guide-shows span:first-child{border-color:var(--lime)}.imported-guide-shows small{color:var(--muted);font-size:9px;font-weight:900}.imported-guide-shows b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imported-guide-actions{display:flex;gap:6px}.imported-guide-actions .primary-action,.imported-guide-actions button{min-height:40px;border-radius:9px;padding:8px 11px;font-weight:850;white-space:nowrap}.imported-guide-actions button{border:1px solid var(--line);background:#17202c;color:var(--text);cursor:pointer}.imported-guide-empty{display:grid;justify-items:center;gap:9px;padding:50px 20px;text-align:center}.imported-guide-empty h2,.imported-guide-empty p{margin:0}.imported-guide-empty p{color:var(--muted)}
@media(max-width:900px){.guide-hero-row{display:grid}.guide-import-button{width:max-content}.imported-guide-row{grid-template-columns:54px minmax(0,1fr) auto}.imported-guide-row>img,.imported-guide-logo{width:54px}.imported-guide-shows{grid-column:2/4}.imported-guide-actions{grid-column:2/4}}
@media(max-width:600px){.guide-import-button{width:100%;min-width:0}.guide-flow{display:grid;justify-content:stretch}.guide-flow i{display:none}.imported-guide-head{display:grid}.imported-guide-head select{width:100%;min-width:0}.imported-guide-row{grid-template-columns:46px minmax(0,1fr);gap:9px}.imported-guide-row>img,.imported-guide-logo{width:46px;height:38px}.imported-guide-shows,.imported-guide-actions{grid-column:1/-1}.imported-guide-shows{grid-template-columns:1fr}.imported-guide-actions{display:grid;grid-template-columns:1fr 1fr}}

/* v3.3.14 guide health badges */
.guide-health-badge{display:inline-block;width:max-content;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:900;letter-spacing:.05em;margin-top:2px;line-height:1.5}
.guide-health-badge[data-state=live]{color:var(--lime);border:1px solid #496d1d;background:#12200c}
.guide-health-badge[data-state=dead]{color:#ff879b;border:1px solid #733444;background:#241014}
.guide-health-badge[data-state=geo]{color:#ffd85a;border:1px solid #8e7530;background:#241d0c}
.guide-health-badge[data-state=blocked]{color:#d9a0ff;border:1px solid #7a4a9e;background:#221230}
.guide-health-badge[data-state=degraded]{color:#ffb45a;border:1px solid #8e5a30;background:#241a0c}
.guide-health-badge[data-state=unknown]{color:var(--muted);border:1px solid var(--line);background:#111720}
.timeline-channel.is-offline{opacity:.45}
.timeline-channel.is-offline .timeline-programme{opacity:.55}
.timeline-check{display:flex!important;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 13px;background:#171e29;color:var(--text)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
.timeline-check input{min-height:0!important;width:16px;height:16px;accent-color:var(--lime)}

/* v3.3.14 mobile vertical cards: health badges + offline dimming */
.mobile-now-card .guide-health-badge{width:max-content;margin:2px 0 0}
.mobile-now-card.is-offline{opacity:.5}
.mobile-now-card.is-offline .guide-health-badge{opacity:1}
