:root{font-family:system-ui,sans-serif;color:#18202a;background:#f4f6f8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;padding:1rem max(1rem,calc((100% - 70rem)/2));background:#152536;color:#fff}header a{color:#fff;text-decoration:none;font-weight:700}nav{display:flex;gap:1rem;align-items:center}nav form{margin:0}main{max-width:70rem;margin:2rem auto;padding:0 1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.card{background:#fff;border:1px solid #dce1e7;border-radius:.65rem;padding:1.25rem;margin:1rem 0;box-shadow:0 1px 3px #0001}.narrow{max-width:34rem;margin:2rem auto}label{display:block;font-weight:600;margin-top:.8rem}input{width:100%;padding:.7rem;border:1px solid #aab4c0;border-radius:.35rem;margin-top:.25rem}input[type=checkbox]{width:auto;margin-right:.4rem}button,.button{display:inline-block;border:0;border-radius:.4rem;padding:.7rem 1rem;background:#1261a0;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.secondary{background:#526273}.danger{background:#a21b2d}.link{padding:0;background:none}button:disabled{opacity:.5}.message{padding:.8rem 1rem;border-radius:.4rem;background:#dceeff;margin:.5rem 0}.message.error,.error{color:#8b1322;background:#ffe7ea}.muted{color:#5d6875}.selection-summary{display:inline-block;margin:.2rem 0 .6rem;padding:.55rem .8rem;border-radius:.45rem;background:#e4f0fa;color:#173b59}.actions{display:flex;gap:.5rem;flex-wrap:wrap;position:sticky;top:0;background:#f4f6f8;padding:.6rem 0;z-index:2}.search-input{width:min(26rem,100%);margin:0 0 0 auto}.group summary{cursor:pointer}.group-filter{display:flex;align-items:center;gap:.75rem;margin:.8rem 0 .3rem}.group-search{width:min(24rem,100%);margin:0}.group-search-status{font-size:.85rem;white-space:nowrap}.channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.4rem;padding-top:.7rem}.channels label{font-weight:400;margin:0}.channel-item{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.channel-item label{min-width:0}.preview-button{padding:.25rem .45rem;font-size:.75rem;white-space:nowrap;background:#526273}.player-dialog{width:var(--player-w,min(64rem,94vw));height:var(--player-h,min(46rem,86vh));border:0;border-radius:.7rem;padding:1rem;background:#101820;color:#fff;box-shadow:0 1rem 4rem #0008;overflow:hidden;max-width:98vw;max-height:94vh}.player-dialog[open]{display:flex;flex-direction:column}.player-dialog::backdrop{background:#000b}.player-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.player-dialog video{display:block;width:100%;flex:1 1 auto;min-height:0;background:#000;object-fit:contain}.player-dialog .muted{color:#d5dbe1}.account-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e5e9ed}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem;margin:1rem 0}.usage-grid div{background:#f4f7fa;border:1px solid #dce1e7;border-radius:.45rem;padding:.8rem}.usage-grid strong{display:block;font-size:1.15rem}.usage-grid span{color:#5d6875;font-size:.85rem}.usage-table{width:100%;border-collapse:collapse;margin:0.6rem 0 1rem;font-size:.92rem}.usage-table th,.usage-table td{text-align:left;padding:.45rem .35rem;border-bottom:1px solid #e5e9ed;vertical-align:top}.usage-table th{color:#5d6875;font-weight:600}.active-session td{color:#704f00;background:#fff8df}.row-actions,.row-actions form,.impersonation-banner,.impersonation-banner form{display:flex;align-items:center;gap:.5rem;margin:0}.impersonation-banner{justify-content:center;padding:.65rem 1rem;background:#fff0b8;border-bottom:1px solid #d8bd55}.impersonation-banner button{padding:.4rem .7rem;background:#704f00}ul.errorlist{color:#a21b2d;padding-left:1.2rem}@media(max-width:600px){header{align-items:flex-start}nav{flex-wrap:wrap;justify-content:flex-end}h1{font-size:1.65rem}.search-input{margin:.3rem 0 0;width:100%}.group-filter{align-items:flex-start;flex-direction:column}.group-search{width:100%}}.guide-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.8rem 0}.guide-days{display:flex;gap:.3rem;flex-wrap:wrap}.guide-day{display:inline-block;padding:.45rem .7rem;border-radius:.4rem;background:#fff;border:1px solid #dce1e7;color:#18202a;text-decoration:none;font-size:.85rem;font-weight:600}.guide-day:hover{border-color:#1261a0}.guide-day.is-current{background:#1261a0;border-color:#1261a0;color:#fff}.guide-search{width:min(15rem,100%);margin:0}.guide-zoom{display:flex;gap:.3rem;margin-left:auto}.guide-zoom button{padding:.45rem .75rem;font-size:.85rem}
.guide-scroll{overflow:auto;max-height:calc(100vh - 15rem);border:1px solid #dce1e7;border-radius:.65rem;background:#fff;box-shadow:0 1px 3px #0001;overscroll-behavior-x:contain}.guide{width:max-content;min-width:100%;--px-per-hour:180px;--channel-width:12rem}.guide-track{position:relative;flex:none;width:calc(var(--day-hours) * var(--px-per-hour))}
.guide-ruler{display:flex;position:sticky;top:0;z-index:4;background:#eef2f6;border-bottom:1px solid #dce1e7}.guide-corner{flex:none;width:var(--channel-width);position:sticky;left:0;z-index:5;background:#eef2f6;border-right:1px solid #dce1e7;padding:.55rem .75rem;font-weight:700;font-size:.85rem}.guide-ruler .guide-track{height:2.3rem}.guide-tick{position:absolute;left:calc(var(--s) * var(--px-per-hour));top:0;height:100%;display:flex;align-items:center;padding-left:.45rem;border-left:1px solid #d3dae1;font-size:.78rem;font-variant-numeric:tabular-nums;color:#5d6875;white-space:nowrap}
.guide-body{position:relative}.guide-row{display:flex;border-bottom:1px solid #eef1f4}.guide-row:last-child{border-bottom:0}.guide-channel{flex:none;width:var(--channel-width);position:sticky;left:0;z-index:2;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-right:1px solid #dce1e7;font-size:.88rem;font-weight:600}.guide-channel img{flex:none;width:2.1rem;height:1.5rem;object-fit:contain}.guide-channel span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guide-row .guide-track{min-height:3.6rem;background:repeating-linear-gradient(to right,#e8ecf0 0 1px,transparent 1px calc(var(--px-per-hour) / 2))}.guide-blank{position:sticky;left:calc(var(--channel-width) + .8rem);width:max-content;display:flex;align-items:center;min-height:3.6rem;margin:0;color:#5d6875;font-size:.85rem}
.guide-programme{position:absolute;top:.25rem;bottom:.25rem;left:calc(var(--s) * var(--px-per-hour));width:calc(var(--d) * var(--px-per-hour) - 3px);display:flex;flex-direction:column;justify-content:center;gap:.1rem;overflow:hidden;padding:.35rem .5rem;text-align:left;background:#fff;color:#18202a;border:1px solid #dce1e7;border-radius:.35rem;font-weight:400}.guide-programme:hover,.guide-programme:focus-visible{border-color:#1261a0;box-shadow:0 1px 6px #00000022;z-index:1}.guide-time{font-size:.72rem;color:#5d6875;font-variant-numeric:tabular-nums}.guide-title{font-size:.85rem;font-weight:600;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.guide-programme.is-past{background:#f7f9fa;color:#7a8794}.guide-programme.is-past .guide-title{font-weight:500}.guide-programme.is-now{background:#e8f2fb;border-color:#1261a0;box-shadow:inset .2rem 0 0 #1261a0}
.guide-now{position:absolute;top:0;bottom:0;left:calc(var(--channel-width) + var(--s) * var(--px-per-hour));width:2px;background:#a21b2d;z-index:3;pointer-events:none}.guide-now::before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;border-radius:50%;background:#a21b2d}
.guide-dialog{width:min(42rem,94vw);border:0;border-radius:.7rem;padding:1.25rem;background:#fff;color:#18202a;box-shadow:0 1rem 4rem #0004}.guide-dialog::backdrop{background:#0b1420cc}.guide-dialog img{display:block;width:100%;max-height:15rem;object-fit:cover;border-radius:.45rem;margin-bottom:.9rem;background:#eef2f6}.guide-dialog h2{margin:0 0 .15rem}.guide-subtitle{margin:0 0 .3rem;font-weight:600;color:#3d4b5a}.guide-meta{margin:0 0 .7rem;color:#5d6875;font-size:.9rem}.guide-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .8rem;padding:0;list-style:none}.guide-tags li{padding:.2rem .6rem;border-radius:1rem;background:#eef2f6;color:#3d4b5a;font-size:.78rem}.guide-dialog-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.1rem}.guide-dialog-actions .preview-button{padding:.7rem 1rem;font-size:1rem;background:#1261a0}
@media(max-width:600px){.guide{--px-per-hour:130px;--channel-width:8.5rem}.guide-scroll{max-height:calc(100vh - 18rem)}.guide-zoom{margin-left:0}.guide-search{width:100%}}
.guide-find{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:1rem 0 .4rem}.guide-find input{flex:1 1 18rem;margin:0}.guide-find button,.guide-find .button{flex:none}
.guide-results{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.6rem}.guide-result{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid #dce1e7;border-radius:.65rem;padding:1rem;box-shadow:0 1px 3px #0001}.guide-result.is-past{background:#f7f9fa;color:#6c7784}.guide-result-when{flex:none;width:8.5rem;display:flex;flex-direction:column;gap:.1rem;font-variant-numeric:tabular-nums}.guide-result-when strong{font-size:.95rem}.guide-result-when span{font-size:.85rem;color:#5d6875}.guide-result-body{min-width:0}.guide-result-body h3{margin:0 0 .15rem;font-size:1.02rem}.guide-result-body p{margin:0 0 .35rem}.guide-result-episode{font-size:.75rem;font-weight:600;color:#3d4b5a;background:#eef2f6;border-radius:1rem;padding:.15rem .55rem;vertical-align:.1rem}.guide-result-link{display:inline-block;margin-top:.15rem;color:#1261a0;font-weight:600;font-size:.88rem;text-decoration:none}.guide-result-link:hover{text-decoration:underline}
.guide-tip{position:fixed;z-index:20;max-width:24rem;padding:.65rem .8rem;border-radius:.5rem;background:#101820;color:#fff;box-shadow:0 .5rem 1.5rem #0006;pointer-events:none;font-size:.85rem;line-height:1.4}.guide-tip strong{display:block;font-size:.95rem}.guide-tip-meta{display:block;margin-top:.1rem;color:#aeb9c4;font-size:.78rem;font-variant-numeric:tabular-nums}.guide-tip em{display:block;margin-top:.3rem;color:#e3e9ee}.guide-tip p{margin:.4rem 0 0;color:#d5dbe1}
.guide-programme.is-focused{outline:2px solid #a21b2d;outline-offset:1px;z-index:1}
@media(max-width:600px){.guide-result{flex-direction:column;gap:.35rem}.guide-result-when{flex-direction:row;gap:.5rem;width:auto}.guide-tip{max-width:min(20rem,90vw)}}
.guide-find-inline{margin:0;flex:1 1 14rem;min-width:10rem}.guide-find-inline input{width:100%;margin:0}.guide-toolbar .guide-search{flex:1 1 11rem;min-width:8rem;width:auto}.guide-filter-status{margin:0 0 .6rem;font-size:.88rem;color:#5d6875}.guide-filter-status a{color:#1261a0;font-weight:600;text-decoration:none}.guide-filter-status a:hover{text-decoration:underline}
@media(max-width:700px){.guide-find-inline,.guide-toolbar .guide-search{flex:1 1 100%}.guide-zoom{margin-left:0}}
.guide-pager{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.7rem 0 .2rem;font-size:.88rem;color:#5d6875}.guide-pager-count strong{color:#18202a}.guide-pager-sizes,.guide-pager-nav{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.guide-pager-nav{margin-left:auto}.guide-size{display:inline-block;min-width:2.1rem;padding:.3rem .5rem;text-align:center;border:1px solid #dce1e7;border-radius:.35rem;background:#fff;color:#18202a;text-decoration:none;font-weight:600;font-size:.82rem}.guide-size:hover{border-color:#1261a0}.guide-size.is-current{background:#1261a0;border-color:#1261a0;color:#fff}.guide-page-step{padding:.3rem .55rem;border-radius:.35rem;color:#1261a0;font-weight:600;text-decoration:none}.guide-page-step:hover{text-decoration:underline}.guide-pager-page{font-variant-numeric:tabular-nums}
@media(max-width:700px){.guide-pager-nav{margin-left:0}}
.guide-channel-filter{margin:0;flex:1 1 11rem;min-width:8rem;display:flex}.guide-channel-filter input[type=search]{width:100%;margin:0}
.guide-groups{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.9rem 0 .2rem}.guide-groups-label{margin-right:.25rem;font-size:.82rem;font-weight:600;color:#5d6875;text-transform:uppercase;letter-spacing:.03em}.guide-group{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border:1px solid #dce1e7;border-radius:1rem;background:#fff;color:#18202a;text-decoration:none;font-size:.84rem;font-weight:600}.guide-group:hover{border-color:#1261a0}.guide-group span{padding:.05rem .4rem;border-radius:.8rem;background:#eef2f6;color:#5d6875;font-size:.74rem;font-variant-numeric:tabular-nums}.guide-group.is-current{background:#1261a0;border-color:#1261a0;color:#fff}.guide-group.is-current span{background:#0d4d80;color:#e8f2fb}
.sync-diff summary{cursor:pointer;font-weight:600;color:#1261a0}.sync-diff ul{margin:.3rem 0 .5rem;padding-left:1.1rem;max-height:14rem;overflow:auto}.sync-diff li{font-size:.85rem}.sync-diff-head{margin:.5rem 0 .1rem;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;color:#5d6875}
.guide-source{margin-top:1rem;padding:.9rem;border:1px solid #dce1e7;border-radius:.5rem;background:#f7f9fa}.guide-source label{margin-top:.5rem;font-size:.82rem}.guide-source label:first-of-type{margin-top:0}.guide-source input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.guide-source-warning{margin:0 0 .3rem;color:#8b1322;font-size:.83rem;font-weight:600}.guide-source .muted{margin:.5rem 0 0;font-size:.83rem}
.guide-source-row{display:flex;gap:.4rem;align-items:center}.guide-source-row input{flex:1 1 auto;min-width:0}.guide-source-row button{flex:none;padding:.55rem .8rem;font-size:.85rem}.guide-source label em{font-style:normal;font-weight:700}
.player-stats{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.player-stats span{padding:.2rem .55rem;border-radius:.35rem;background:#1d2935;color:#cfd7df;font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}.player-stats span[data-stat=net]{background:#123a5c;color:#d8ecfb;font-weight:600}.player-heading button{padding:.4rem .7rem;font-size:.85rem}
.guide-status-link{padding:0;background:none;border:0;color:#1261a0;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.guide-status-link:hover{text-decoration:none}
.player-heading{flex:none}.player-stats{flex:none}.player-dialog #player-status{flex:none;margin:.5rem 0 0}@media(max-width:600px){.player-dialog{--player-w:96vw;--player-h:70vh}.player-sizes{display:none}}
.player-sizes{display:flex;gap:.25rem;margin-left:auto;margin-right:.5rem}.player-sizes button{padding:.35rem .6rem;font-size:.8rem;background:#2b3a4a}.player-sizes button[aria-pressed=true]{background:#1261a0}
