:root{--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--paper:var(--bg-surface);--wash:var(--schedule-past);--teal:var(--brand-600);--teal-dark:var(--brand-900);--teal-soft:var(--schedule-current);--gold:var(--accent-warm);--shadow:0 18px 50px rgba(22,48,56,.09);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--wash);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.public-header{height:72px;padding:0 clamp(20px,4vw,72px);display:flex;align-items:center;gap:42px;background:var(--bg-surface);border-bottom:1px solid var(--line);position:relative;z-index:30}.public-brand{display:flex;align-items:center;gap:11px;letter-spacing:.02em}.public-brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--teal);color:white;font-size:13px;font-weight:800}.public-brand strong{font-size:17px}.public-header nav{align-self:stretch;display:flex;align-items:center}.public-header nav a{height:100%;display:flex;align-items:center;padding:0 5px;font-size:14px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent}.public-header nav a.is-active{color:var(--ink);border-color:var(--teal)}.public-login{margin-left:auto;padding:10px 15px;border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:750;background:var(--bg-surface)}.public-login:hover{border-color:var(--border-strong);background:var(--bg-raised)}main{min-height:calc(100vh - 145px)}.public-toolbar{background:var(--bg-surface);padding:24px clamp(20px,4vw,72px) 22px;border-bottom:1px solid var(--line)}.public-days{max-width:720px;margin:auto;display:grid;grid-template-columns:34px repeat(7,1fr) 34px;align-items:stretch;gap:5px}.public-day,.public-day-arrow{min-height:54px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);transition:.15s}.public-day small{font-size:11px;text-transform:uppercase;font-weight:750;letter-spacing:.06em}.public-day strong{font-size:17px;margin-top:2px}.public-day:hover{background:var(--wash);color:var(--ink)}.public-day.is-active{background:var(--teal);color:white}.public-day.is-today:not(.is-active) strong{color:var(--teal)}.public-day.is-unavailable{opacity:.35}.public-day-arrow{font-size:25px}.public-day-arrow:hover{background:var(--wash)}.public-control-row{margin:22px auto 0;display:flex;align-items:end;justify-content:space-between;gap:28px;max-width:1780px}.public-window>strong{display:block;font-size:21px;letter-spacing:-.025em;margin-bottom:8px}.public-window nav{display:flex;align-items:center;gap:7px}.public-window nav a{height:31px;min-width:31px;padding:0 9px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--bg-surface);font-weight:700}.public-window nav span{font-size:14px;font-weight:750;padding:0 4px}.public-window nav .is-today{font-size:12px;color:var(--teal);margin-left:3px}.public-window>small{display:block;margin-top:8px;color:var(--muted);font-size:12px}.public-filters{display:flex;align-items:center;gap:8px}.public-filters input,.public-filters select{height:42px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-surface);color:var(--ink);outline:none}.public-filters input{width:min(310px,28vw);padding:0 13px}.public-filters select{min-width:190px;padding:0 36px 0 12px}.public-filters input:focus,.public-filters select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,107,106,.1)}.public-filters button{height:42px;border:0;border-radius:8px;background:var(--teal);color:var(--bg-surface);padding:0 18px;font-weight:750;cursor:pointer}.public-pager{min-height:43px;padding:0 clamp(20px,4vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.public-pager span:last-child{text-align:right}.public-pager a{font-weight:750;color:var(--teal)}.public-guide{margin:20px clamp(12px,2vw,34px) 34px;background:var(--bg-surface);border:1px solid var(--line);border-radius:12px;overflow:auto;box-shadow:var(--shadow)}.public-guide-grid{min-width:1120px}.public-axis,.public-guide-row{display:grid;grid-template-columns:260px minmax(860px,1fr)}.public-axis{height:48px;background:var(--schedule-future);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15}.public-axis>span:first-child{padding:0 20px;display:flex;align-items:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.public-axis-times{position:relative;display:flex;justify-content:space-between;align-items:center;padding:0 18px;border-left:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700}.public-axis-now{position:absolute;top:0;bottom:-200vh;width:1px;background:rgba(23,107,106,.55);z-index:8}.public-axis-now span{position:absolute;top:7px;left:7px;background:var(--teal);color:var(--bg-surface);padding:3px 6px;border-radius:5px;white-space:nowrap;font-style:normal;font-size:10px}.public-guide-row{min-height:72px;border-bottom:1px solid var(--border);position:relative}.public-guide-row:last-child{border:0}.public-channel{position:sticky;left:0;z-index:10;background:var(--bg-surface);display:flex;align-items:center;gap:12px;padding:9px 18px;border-right:1px solid var(--line)}.public-channel:hover strong{color:var(--teal)}.public-channel>span:last-child{min-width:0}.public-channel strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-channel small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.public-channel-logo{width:48px;height:48px;border:1px solid var(--line);border-radius:10px;background:white;display:grid;place-items:center;overflow:hidden;position:relative;flex:0 0 48px}.public-channel-logo img{max-width:84%;max-height:84%;object-fit:contain;position:absolute;background:white}.public-logo-fallback{font-size:12px;font-weight:800;color:var(--text-tertiary)}.public-track{height:72px;position:relative;background-image:linear-gradient(to right,transparent calc(16.666% - 1px),var(--bg-subtle) calc(16.666% - 1px),var(--bg-subtle) 16.666%)}.public-programme{position:absolute;top:8px;height:56px;min-width:2px;border-radius:7px;padding:8px 9px;overflow:hidden;background:var(--schedule-past);border-left:3px solid var(--border-strong);color:var(--text-secondary);z-index:3}.public-programme:hover{z-index:7;filter:brightness(.98)}.public-programme strong{font-size:12px;line-height:1.25;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-programme small{font-size:10px;color:var(--muted);display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-programme.is-current{background:var(--teal-soft);border-color:var(--teal);color:var(--teal-dark)}.public-programme.is-future{background:var(--schedule-future);border-color:var(--border-strong)}.public-programme.is-past{opacity:.58}.public-programme.is-narrow{padding-left:3px;padding-right:2px}.public-now-line{position:absolute;top:0;bottom:0;width:2px;background:var(--teal);z-index:6;pointer-events:none}.public-no-schedule{position:absolute;left:18px;top:27px;color:var(--text-tertiary);font-size:11px}.public-mobile-schedule{display:none}.public-empty{margin:38px auto;padding:54px 24px;text-align:center;max-width:620px}.public-empty strong{display:block;font-size:20px}.public-empty p{color:var(--muted)}.public-empty a{display:inline-block;margin-top:8px;padding:11px 16px;border-radius:8px;background:var(--teal);color:white;font-weight:750}.public-error{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.public-breadcrumb{max-width:1320px;margin:22px auto 0;padding:0 30px;display:flex;gap:9px;font-size:12px;color:var(--muted)}.public-breadcrumb a{color:var(--teal);font-weight:700}.public-channel-hero{max-width:1320px;margin:18px auto 0;padding:22px 30px;display:flex;align-items:center;gap:17px}.public-channel-hero .public-channel-logo{width:68px;height:68px;flex-basis:68px;border-radius:14px}.public-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:850;color:var(--teal);margin:0 0 5px}.public-channel-hero h1{font-size:28px;letter-spacing:-.035em;margin:0}.public-channel-hero p:last-child{font-size:13px;color:var(--muted);margin:6px 0 0}.public-live,.public-agenda,.public-programme-context{max-width:1260px;margin:0 auto}.public-live{background:var(--bg-surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:auto auto 1fr;gap:22px;align-items:start}.public-live>img{width:190px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:var(--wash)}.public-live-label{display:flex;flex-direction:column;gap:7px}.public-live-label span{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}.public-live-label b{font-size:9px;letter-spacing:.08em;background:var(--danger-live);color:white;padding:5px 7px;border-radius:5px}.public-live-heading{display:flex;align-items:start;gap:24px;justify-content:space-between}.public-live h2{font-size:22px;margin:0}.public-live-heading time{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.public-live-subtitle{font-weight:650;margin:7px 0}.public-live-description{color:var(--muted);font-size:13px;line-height:1.6;margin:9px 0}.public-progress{display:flex;align-items:center;gap:10px;margin-top:17px}.public-progress progress{appearance:none;height:5px;border:0;border-radius:5px;overflow:hidden;flex:1}.public-progress progress::-webkit-progress-bar{background:var(--bg-subtle)}.public-progress progress::-webkit-progress-value{background:var(--teal)}.public-progress progress::-moz-progress-bar{background:var(--teal)}.public-progress small{font-size:11px;color:var(--muted)}.public-live.is-empty{display:block}.public-live.is-empty span{color:var(--teal);font-size:11px;font-weight:800;text-transform:uppercase}.public-live.is-empty h2{margin-top:6px}.public-live.is-empty p{color:var(--muted)}.public-programme-context{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}.public-programme-context span{padding:14px 18px;background:var(--bg-surface)}.public-programme-context small{display:block;text-transform:uppercase;color:var(--muted);font-size:9px;letter-spacing:.08em;margin-bottom:4px}.public-programme-context strong{font-size:12px}.public-agenda{margin-top:25px;margin-bottom:50px;background:var(--bg-surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.public-agenda-heading{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.public-agenda-heading h2{font-size:19px;margin:0}.public-detail-days{display:flex;gap:5px;align-items:center}.public-detail-days a,.public-detail-days span{width:46px;height:47px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;color:var(--muted)}.public-detail-days small{font-size:9px;text-transform:uppercase}.public-detail-days strong{font-size:14px}.public-detail-days a:hover{background:var(--wash)}.public-detail-days a.is-active{background:var(--teal);color:var(--bg-surface)}.public-detail-days span{opacity:.3}.public-detail-days .is-today-link{width:auto;padding:0 10px;border:1px solid var(--line);font-size:11px;font-weight:750;color:var(--teal)}.public-agenda-list{padding:7px 24px 18px}.public-agenda-item{display:grid;grid-template-columns:58px 13px 1fr auto;gap:12px;align-items:start;min-height:70px;padding:12px 4px;border-bottom:1px solid var(--border)}.public-agenda-item:last-child{border:0}.public-agenda-item>time{font-size:12px;font-weight:800;margin-top:3px}.public-agenda-item>i{width:9px;height:9px;border:2px solid var(--border-strong);border-radius:50%;margin-top:6px;position:relative}.public-agenda-item>i:after{content:"";position:absolute;top:8px;left:2px;height:57px;width:1px;background:var(--border)}.public-agenda-item:last-child>i:after{display:none}.public-agenda-item span strong{display:block;font-size:13px}.public-agenda-item span small,.public-agenda-item span em{display:block;font-size:11px;color:var(--muted);font-style:normal;margin-top:4px}.public-agenda-item>em{display:none}.public-agenda-item>b{font-size:9px;color:var(--teal);background:var(--teal-soft);border-radius:5px;padding:5px 8px;text-transform:uppercase;letter-spacing:.05em}.public-agenda-item.is-current>i{border-color:var(--teal);background:var(--teal)}.public-agenda-item.is-current span strong{color:var(--teal-dark)}.public-agenda-item.is-past{opacity:.62}.public-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:22px}.public-modal:target{display:flex}.public-modal-backdrop{position:absolute;inset:0;background:rgba(9,25,31,.66);backdrop-filter:blur(3px)}.public-modal article{position:relative;z-index:1;background:var(--bg-surface);border-radius:15px;width:min(560px,100%);max-height:88vh;overflow:auto;padding:28px;box-shadow:0 24px 90px rgba(0,0,0,.28)}.public-modal article>img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:10px;margin-bottom:20px}.public-modal h2{font-size:23px;margin:0 38px 20px 0}.public-modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--wash);font-size:22px}.public-modal dl{margin:0}.public-modal dl div{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.public-modal dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.public-modal dd{font-size:13px;line-height:1.5;margin:0}footer{min-height:74px;padding:0 clamp(20px,4vw,72px);display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);background:var(--bg-surface);color:var(--muted);font-size:12px}footer strong{color:var(--ink)}footer small{margin-left:auto}
@media(max-width:900px){.public-header{gap:24px}.public-control-row{align-items:stretch;flex-direction:column}.public-filters{width:100%}.public-filters label:first-of-type{flex:1}.public-filters input{width:100%}.public-live,.public-agenda,.public-programme-context{margin-left:20px;margin-right:20px}.public-live{grid-template-columns:auto 1fr}.public-live>img{display:none}.public-live>div:last-child{grid-column:2}.public-agenda-heading{align-items:flex-start;flex-direction:column}.public-detail-days{width:100%;justify-content:flex-end}}
@media(max-width:640px){.public-header{height:62px;padding:0 16px;gap:18px}.public-brand strong{display:none}.public-brand span{width:35px;height:35px}.public-header nav a{font-size:13px}.public-login{font-size:0;padding:9px}.public-login:after{content:"Entrar";font-size:12px}.public-toolbar{padding:16px}.public-days{grid-template-columns:27px repeat(5,1fr) 27px}.public-day:nth-of-type(2),.public-day:nth-last-of-type(2){display:none}.public-day{min-height:49px}.public-control-row{margin-top:16px;gap:16px}.public-window>strong{font-size:18px}.public-filters{display:grid;grid-template-columns:1fr auto}.public-filters label:first-of-type{grid-column:1/-1}.public-filters input,.public-filters select{width:100%;min-width:0}.public-filters button{padding:0 14px}.public-pager{padding:0 16px}.public-pager strong{font-size:10px}.public-guide{margin:12px 10px 28px;overflow:visible;border:0;box-shadow:none;background:transparent}.public-guide-grid{min-width:0}.public-axis{display:none}.public-guide-row{display:block;min-height:0;margin-bottom:9px;border:1px solid var(--line)!important;border-radius:11px;background:var(--bg-surface);overflow:hidden}.public-channel{position:static;border:0;padding:11px 13px}.public-channel-logo{width:43px;height:43px;flex-basis:43px}.public-track{display:none}.public-mobile-schedule{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:var(--bg-raised)}.public-mobile-schedule>a,.public-mobile-schedule>div{padding:11px 13px;min-width:0}.public-mobile-schedule>*+*{border-left:1px solid var(--line)}.public-mobile-schedule small,.public-mobile-schedule strong,.public-mobile-schedule span{display:block}.public-mobile-schedule small{font-size:9px;color:var(--teal);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.public-mobile-schedule strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.public-mobile-schedule span{font-size:10px;color:var(--muted);margin-top:3px}.public-breadcrumb{padding:0 16px;margin-top:16px}.public-channel-hero{padding:17px 16px}.public-channel-hero h1{font-size:23px}.public-channel-hero .public-channel-logo{width:58px;height:58px;flex-basis:58px}.public-live,.public-agenda,.public-programme-context{margin-left:10px;margin-right:10px}.public-live{display:block;padding:18px}.public-live-label{flex-direction:row;align-items:center;margin-bottom:12px}.public-live>div:last-child{display:block}.public-live-heading{display:block}.public-live-heading time{display:block;margin-top:6px}.public-live h2{font-size:19px}.public-live-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.public-programme-context{grid-template-columns:1fr}.public-agenda{margin-top:14px;margin-bottom:28px}.public-agenda-heading{padding:17px 16px}.public-detail-days{justify-content:space-between;gap:2px}.public-detail-days a,.public-detail-days span{width:39px}.public-agenda-list{padding:5px 13px 12px}.public-agenda-item{grid-template-columns:45px 10px 1fr auto;gap:9px}.public-modal{padding:10px}.public-modal article{padding:22px 18px}.public-modal dl div{grid-template-columns:80px 1fr}footer{padding:20px 16px;min-height:90px;flex-wrap:wrap}footer small{width:100%;margin-left:0}}
/* Public portal refinement: keep the guide above the fold without reducing type. */
@media(min-width:901px){.public-header{height:62px}.public-brand span{width:34px;height:34px;border-radius:9px}.public-toolbar{padding-top:14px;padding-bottom:13px}.public-days{max-width:650px}.public-day,.public-day-arrow{min-height:46px}.public-control-row{margin-top:12px;align-items:center}.public-window{display:grid;grid-template-columns:auto auto;column-gap:16px;align-items:center}.public-window>strong{margin:0;font-size:19px}.public-window>small{grid-column:1/-1;margin-top:4px}.public-window nav a{height:29px}.public-filters input,.public-filters select,.public-filters button{height:38px}.public-pager{min-height:36px}.public-guide{margin-top:13px}.public-axis-now span{left:auto;right:7px}.public-channel-logo{width:44px;height:44px;flex-basis:44px}.public-guide-row,.public-track{min-height:66px;height:66px}.public-programme{top:6px;height:54px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Public guide layout v3: viewport-anchored guide with one contained scroll. */
:root{--public-max:1840px;--surface:var(--bg-surface);--surface-subtle:var(--bg-subtle);--surface-raised:var(--bg-raised);--line-strong:var(--border-strong);--guide-shadow:0 12px 34px rgba(20,48,56,.1)}
.public-page-home{height:100svh;min-height:620px;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,var(--bg-page) 0,var(--bg-subtle) 100%)}
.public-page-home main{flex:1;min-height:0;display:flex;flex-direction:column}
.public-header{height:64px;flex:0 0 64px;padding:0 24px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);box-shadow:0 2px 12px rgba(23,52,60,.035)}
.public-header-inner{width:min(100%,var(--public-max));height:100%;margin:0 auto;display:flex;align-items:center;gap:38px}
.public-brand span{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 4px 12px rgba(23,107,106,.17)}
.public-header nav{height:100%}
.public-header nav a{position:relative;border:0;padding:0 8px;color:var(--text-secondary)}
.public-header nav a.is-active:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--teal)}
.public-login{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin-left:auto;padding:0 16px;border-color:var(--border-strong);border-radius:10px;box-shadow:0 2px 7px rgba(20,50,57,.035)}
.public-login:focus-visible,.public-header a:focus-visible,.public-day:focus-visible,.public-day-arrow:focus-visible,.public-window a:focus-visible,.public-pager a:focus-visible,.public-channel:focus-visible,.public-programme:focus-visible{outline:3px solid rgba(23,107,106,.22);outline-offset:2px}
.public-toolbar{flex:0 0 auto;padding:11px 24px 13px;background:rgba(255,255,255,.93);border-bottom:1px solid var(--border);box-shadow:0 5px 16px rgba(23,52,60,.035);position:relative;z-index:20}
.public-toolbar-inner{width:min(100%,var(--public-max));margin:0 auto}
.public-days{max-width:620px;gap:6px}
.public-day,.public-day-arrow{min-height:44px;border-radius:9px}
.public-day small{font-size:10px}.public-day strong{font-size:16px}
.public-day.is-active{box-shadow:0 5px 13px rgba(23,107,106,.2)}
.public-day-arrow{font-size:21px}
.public-control-row{max-width:none;margin-top:9px;gap:16px;align-items:center}
.public-window{min-height:46px;display:flex;align-items:center;gap:13px;padding:5px 8px 5px 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface-raised);box-shadow:0 2px 7px rgba(24,49,57,.035)}
.public-window>strong{margin:0;font-size:18px;white-space:nowrap}
.public-window nav{gap:5px}.public-window nav a{height:32px;min-width:32px;border-color:var(--border-strong);background:var(--bg-surface)}
.public-window nav a:hover{border-color:var(--brand-500);color:var(--teal-dark)}
.public-window nav span{min-width:88px;text-align:center;font-size:13px}
.public-window nav .is-today{margin-left:2px;padding:0 10px;background:var(--schedule-current);border-color:var(--schedule-current-border)}
.public-window>small{margin:0 0 0 2px;padding:0 5px 0 13px;border-left:1px solid var(--border);font-size:11px;white-space:nowrap}
.public-filters{min-height:46px;margin-left:auto;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--surface-raised);box-shadow:0 2px 7px rgba(24,49,57,.035)}
.public-filters input,.public-filters select,.public-filters button{height:36px}
.public-filters input{width:min(330px,27vw);border-color:transparent;background:var(--bg-surface)}
.public-filters select{min-width:180px;border-color:transparent;border-left-color:var(--border);border-radius:5px 7px 7px 5px}
.public-filters button{border-radius:7px;padding:0 19px;box-shadow:0 3px 9px rgba(23,107,106,.16)}
.public-filters button:hover{background:var(--teal-dark)}
.public-guide-module{width:min(calc(100% - 36px),var(--public-max));flex:1;min-height:250px;margin:12px auto 10px;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;box-shadow:var(--guide-shadow)}
.public-pager{min-height:40px;flex:0 0 40px;padding:0 18px;border:1px solid var(--line-strong);border-bottom-color:var(--border);border-radius:14px 14px 0 0;background:var(--bg-surface);color:var(--text-secondary)}
.public-pager strong{font-size:11px;letter-spacing:.015em}
.public-pager a{display:inline-flex;align-items:center;min-height:28px;padding:0 7px;border-radius:7px}
.public-pager a:hover{background:var(--teal-soft);color:var(--teal-dark)}
.public-guide{flex:1;min-height:0;width:100%;margin:0;border:1px solid var(--line-strong);border-top:0;border-radius:0 0 14px 14px;background:var(--surface-subtle);box-shadow:none;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--text-tertiary) var(--bg-subtle);scrollbar-width:thin}
.public-guide::-webkit-scrollbar{width:10px;height:10px}.public-guide::-webkit-scrollbar-track{background:var(--bg-subtle)}.public-guide::-webkit-scrollbar-thumb{background:var(--text-tertiary);border:2px solid var(--bg-subtle);border-radius:10px}
.public-guide-grid{min-height:100%;background:var(--bg-subtle)}
.public-axis{height:45px;background:var(--bg-subtle);border-bottom-color:var(--border-strong);box-shadow:0 2px 6px rgba(24,49,57,.045)}
.public-axis>span:first-child{padding:0 18px;color:var(--text-secondary)}
.public-axis-times{align-items:flex-end;border-left-color:var(--border-strong);padding:0 17px 7px;color:var(--text-secondary)}
.public-axis-times>span{transform:translateX(-1px)}
.public-axis-now{bottom:0;background:rgba(16,106,105,.72)}
.public-axis-now span{top:6px;padding:3px 7px;border-radius:5px;box-shadow:0 2px 6px rgba(14,79,80,.18)}
.public-guide-row{min-height:68px;background:var(--bg-surface);border-bottom-color:var(--border)}
.public-guide-row:nth-child(odd){background:var(--bg-surface)}
.public-channel{gap:11px;padding:8px 16px;background:inherit;border-right-color:var(--border);transition:background .15s ease}
.public-channel:hover{background:var(--schedule-current)}.public-channel:hover strong{color:var(--teal-dark)}
.public-channel strong{font-size:13px;font-weight:760;letter-spacing:-.005em}
.public-channel small{margin-top:3px;color:var(--text-secondary);font-size:10px}
.public-channel-logo{width:46px;height:46px;flex-basis:46px;border-color:var(--border);border-radius:10px;background:var(--bg-surface);box-shadow:0 2px 7px rgba(24,49,57,.045)}
.public-track{height:68px;background-color:inherit;background-image:linear-gradient(to right,transparent calc(16.666% - 1px),var(--border) calc(16.666% - 1px),var(--border) 16.666%)}
.public-programme{top:6px;height:56px;padding:8px 9px;border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:8px;background:var(--schedule-past);color:var(--text-primary);box-shadow:0 1px 3px rgba(24,49,57,.045);transition:filter .14s ease,box-shadow .14s ease,border-color .14s ease}
.public-programme:hover{filter:none;border-color:var(--border-strong);box-shadow:0 4px 12px rgba(22,49,57,.11)}
.public-programme strong{font-size:12px;font-weight:760;line-height:1.28}
.public-programme small{margin-top:3px;color:var(--text-secondary)}
.public-programme.is-current{background:var(--schedule-current);border-color:var(--schedule-current-border);border-left-color:var(--teal);color:var(--brand-900);box-shadow:inset 0 0 0 1px rgba(23,107,106,.06)}
.public-programme.is-future{background:var(--schedule-future);border-color:var(--border);border-left-color:var(--border-strong)}
.public-programme.is-past{opacity:.66;background:var(--schedule-past)}
.public-now-line{width:1px;background:rgba(16,106,105,.82);box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.public-no-schedule{top:26px}
.public-page-home footer{min-height:36px;height:36px;flex:0 0 36px;padding:0 24px;font-size:11px;background:var(--bg-raised)}

@media(max-width:1200px){
  .public-header,.public-toolbar{padding-left:18px;padding-right:18px}
  .public-header-inner{gap:28px}
  .public-window{gap:9px}.public-window>small{display:none}
  .public-filters input{width:min(260px,23vw)}.public-filters select{min-width:160px}
  .public-axis,.public-guide-row{grid-template-columns:232px minmax(860px,1fr)}
}
@media(max-width:900px) and (min-width:641px){
  .public-page-home{min-height:680px}
  .public-toolbar{padding-top:10px;padding-bottom:11px}
  .public-days{max-width:580px}
  .public-control-row{margin-top:8px;gap:8px}
  .public-window{width:100%;justify-content:center}
  .public-window>small{display:block;margin-left:auto}
  .public-filters{width:100%;margin-left:0}
  .public-guide-module{width:calc(100% - 24px);margin-top:9px}
}
@media(max-width:640px){
  .public-page-home{height:auto;min-height:100svh;overflow:auto;display:block;background:var(--bg-page)}
  .public-page-home main{display:block;min-height:calc(100svh - 120px)}
  .public-header{height:58px;min-height:58px;padding:0 14px}
  .public-header-inner{gap:15px}.public-header nav a{font-size:12px;padding:0 4px}.public-header nav a.is-active:after{left:4px;right:4px}
  .public-login{min-height:34px;padding:0 10px;font-size:11px}.public-login:after{display:none}
  .public-toolbar{padding:11px 12px 12px}
  .public-days{gap:3px}.public-days .public-day{display:flex}.public-days .public-day.is-mobile-edge{display:none}.public-day,.public-day-arrow{min-height:43px}.public-day strong{font-size:15px}
  .public-control-row{margin-top:9px;gap:9px}
  .public-window{width:100%;min-height:43px;padding:4px 6px 4px 10px;gap:7px;overflow:hidden}
  .public-window>strong{font-size:16px}.public-window nav{margin-left:auto}.public-window nav span{min-width:76px;font-size:12px}.public-window>small{display:none}
  .public-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;width:100%;margin-left:0;padding:4px}
  .public-filters label:first-of-type{grid-column:1/-1}.public-filters input{width:100%}.public-filters select{width:100%;min-width:0;border-left-color:transparent}.public-filters button{padding:0 14px}
  .public-guide-module{width:auto;min-height:0;margin:10px 10px 18px;display:block;overflow:visible;border-radius:11px;box-shadow:none}
  .public-pager{min-height:38px;height:38px;padding:0 10px;border-radius:10px;background:var(--bg-surface);box-shadow:0 4px 14px rgba(22,49,57,.065)}
  .public-pager a{padding:0 3px}.public-pager strong{font-size:10px}
  .public-guide{width:auto;min-height:0;margin:9px 0 0;border:0;border-radius:0;background:transparent;overflow:visible}
  .public-guide-grid{min-height:0;background:transparent}
  .public-guide-row{box-shadow:0 4px 14px rgba(22,49,57,.06)}
  .public-channel{padding:10px 12px}.public-channel-logo{width:42px;height:42px;flex-basis:42px}
  .public-mobile-schedule{background:var(--schedule-future)}
  .public-page-home footer{height:auto;min-height:72px;padding:16px;display:flex}
}

/* Public identity v5: broadcast mark and readable filter labels. */
.public-header:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--teal-dark),var(--teal) 48%,var(--accent-warm) 72%,transparent 92%);opacity:.9}
.public-brand{gap:10px}
.public-brand .public-brand-mark{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,var(--brand-950),var(--brand-600));color:var(--bg-surface);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 5px 14px rgba(15,98,101,.2)}
.public-brand-mark svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.public-brand-mark svg .public-brand-play{fill:var(--bg-surface);stroke:none}.public-brand-mark svg circle{fill:var(--accent-warm);stroke:var(--brand-700);stroke-width:1.5}
.public-brand .public-brand-copy{width:auto;height:auto;display:flex;align-items:baseline;gap:5px;padding:0;border-radius:0;background:none;color:var(--ink);box-shadow:none;letter-spacing:0}
.public-brand-copy strong{font-size:17px;font-weight:850;letter-spacing:.015em}
.public-brand-copy small{font-size:10px;font-weight:850;letter-spacing:.13em;color:var(--teal);text-transform:uppercase}
.public-filters label{position:relative;height:36px;display:block}
.public-filter-label{position:absolute;top:3px;left:13px;z-index:2;color:var(--text-secondary);font-size:8px;font-weight:850;letter-spacing:.08em;line-height:1;text-transform:uppercase;pointer-events:none}
.public-filters input,.public-filters select{padding-top:11px;font-size:13px;font-weight:650}
.public-filters input::placeholder{color:var(--text-tertiary);font-weight:500}
.public-filters select{color:var(--text-primary)}
.public-agenda-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.public-history-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg-raised);color:var(--teal-dark);font-size:11px;font-weight:780;white-space:nowrap}
.public-history-toggle:hover,.public-history-toggle:focus-visible{border-color:var(--brand-500);background:var(--teal-soft);outline:none}
.public-history-toggle.is-active{background:var(--schedule-current);border-color:var(--schedule-current-border)}

@media(max-width:640px){
  .public-brand{gap:7px}.public-brand .public-brand-mark{width:35px;height:35px;flex-basis:35px;border-radius:10px}
  .public-brand .public-brand-copy{display:flex}.public-brand-copy strong{display:inline;font-size:14px}.public-brand-copy small{font-size:8px;letter-spacing:.09em}
  .public-header-inner{gap:11px}.public-header nav a{font-size:11px}.public-login{padding:0 9px}
  .public-filters label{height:40px}.public-filter-label{top:4px}.public-filters input,.public-filters select{height:40px;padding-top:12px}
  .public-filters button{height:40px}
  .public-agenda-actions{width:100%;align-items:stretch;flex-direction:column-reverse;gap:8px}.public-history-toggle{align-self:flex-start}
}

/* Public color system v6. Layout and behaviour remain unchanged. */
:root{
  --brand-950:#102f36;
  --brand-900:#163b43;
  --brand-700:#245f64;
  --brand-600:#2f7275;
  --brand-500:#3f8c8c;
  --accent-warm:#d09a39;
  --bg-page:#f5f7fa;
  --bg-surface:#fff;
  --bg-subtle:#eef3f6;
  --bg-raised:#f9fbfc;
  --text-primary:#17242a;
  --text-secondary:#63747d;
  --text-tertiary:#829198;
  --text-past:#576a73;
  --border:#dce5e9;
  --border-strong:#c9d5da;
  --schedule-past:#edf1f4;
  --schedule-current:#e2f1ef;
  --schedule-current-border:#71a9a5;
  --schedule-current-border-soft:#b9d7d4;
  --schedule-future:#f7fafc;
  --text-on-dark:#dfeaec;
  --danger-live:#ac3d43;
  --focus-ring:rgba(47,114,117,.24);
  --shadow-xs:0 1px 3px rgba(16,47,54,.06);
  --shadow-sm:0 4px 14px rgba(16,47,54,.07);
  --shadow-md:0 12px 34px rgba(16,47,54,.11);
  --radius-sm:7px;
  --radius-md:10px;
  --radius-lg:14px;
  --ink:var(--text-primary);
  --muted:var(--text-secondary);
  --line:var(--border);
  --paper:var(--bg-surface);
  --wash:var(--bg-page);
  --teal:var(--brand-600);
  --teal-dark:var(--brand-900);
  --teal-soft:var(--schedule-current);
  --gold:var(--accent-warm);
  --surface:var(--bg-surface);
  --surface-subtle:var(--bg-subtle);
  --surface-raised:var(--bg-raised);
  --line-strong:var(--border-strong);
  --shadow:var(--shadow-md);
  --guide-shadow:var(--shadow-md);
  --public-brand-dark:var(--brand-950);
  --public-primary:var(--brand-700);
  --public-primary-hover:var(--brand-900);
  --public-temporal-accent:var(--accent-warm);
  --public-page-bg:var(--bg-page);
  --public-surface:var(--bg-surface);
  --public-surface-muted:var(--bg-subtle);
  --public-border:var(--border);
  --public-text:var(--text-primary);
  --public-text-muted:var(--text-secondary);
  --public-program-past:var(--schedule-past);
  --public-program-current:var(--schedule-current);
  --public-program-future:var(--schedule-future)
}
body,.public-page-home{background:var(--bg-page);color:var(--text-primary)}
.public-header{background:rgba(255,255,255,.97);border-color:var(--border);box-shadow:0 2px 12px rgba(16,47,54,.045)}
.public-header:before{background:linear-gradient(90deg,var(--brand-950),var(--brand-600) 66%,var(--accent-warm) 86%,transparent 98%)}
.public-brand .public-brand-mark{background:linear-gradient(145deg,var(--brand-950),var(--brand-600));border-radius:var(--radius-md)}
.public-brand-mark svg circle{fill:var(--accent-warm);stroke:var(--brand-900)}
.public-brand-copy strong{color:var(--brand-950);font-weight:800}
.public-brand-copy small{font-size:11px;font-weight:800;letter-spacing:.07em;color:var(--brand-700)}
.public-header nav a{color:var(--text-secondary);font-weight:650}
.public-header nav a.is-active{color:var(--brand-950)}
.public-header nav a.is-active:after{background:var(--brand-600)}
.public-login{border-color:var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--brand-950);box-shadow:var(--shadow-xs)}
.public-login:hover{border-color:var(--brand-500);background:var(--bg-subtle)}
.public-login:focus-visible,.public-header a:focus-visible,.public-day:focus-visible,.public-day-arrow:focus-visible,.public-window a:focus-visible,.public-pager a:focus-visible,.public-channel:focus-visible,.public-programme:focus-visible,.public-filters input:focus,.public-filters select:focus,.public-filters button:focus-visible,.public-history-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.public-toolbar{background:rgba(255,255,255,.96);border-color:var(--border);box-shadow:0 5px 18px rgba(16,47,54,.045)}
.public-day,.public-day-arrow{color:var(--text-secondary);border-radius:var(--radius-md)}
.public-day:hover,.public-day-arrow:hover{background:var(--bg-subtle);color:var(--brand-950)}
.public-day.is-active{background:var(--brand-700);color:var(--bg-surface);box-shadow:0 5px 14px rgba(36,95,100,.22)}
.public-day.is-today:not(.is-active) strong{color:var(--brand-700)}
.public-window,.public-filters{border-color:var(--border);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-xs)}
.public-window nav a{border-color:var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface)}
.public-window nav a:hover{border-color:var(--brand-500);color:var(--brand-900)}
.public-window nav .is-today{border-color:var(--schedule-current-border-soft);background:var(--schedule-current);color:var(--brand-900)}
.public-window>small{border-color:var(--border);color:var(--text-secondary)}
.public-filters input,.public-filters select{border-color:transparent;background:var(--bg-surface);color:var(--text-primary)}
.public-filters select{border-left-color:var(--border)}
.public-filter-label{color:var(--text-secondary)}
.public-filters input::placeholder{color:var(--text-tertiary)}
.public-filters input:hover,.public-filters select:hover{border-color:var(--border-strong)}
.public-filters input:focus,.public-filters select:focus{border-color:var(--brand-500);box-shadow:none}
.public-filters button{border-radius:var(--radius-sm);background:var(--brand-700);box-shadow:0 3px 9px rgba(36,95,100,.18)}
.public-filters button:hover{background:var(--brand-900)}
.public-guide-module{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.public-pager{border-color:var(--border-strong);background:var(--bg-surface);color:var(--text-secondary)}
.public-pager a{color:var(--brand-700)}.public-pager a:hover{background:var(--schedule-current);color:var(--brand-900)}
.public-guide{border-color:var(--border-strong);background:var(--bg-subtle);scrollbar-color:var(--text-tertiary) var(--bg-subtle)}
.public-guide::-webkit-scrollbar-track{background:var(--bg-subtle)}.public-guide::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-color:var(--bg-subtle)}
.public-guide-grid{background:var(--bg-subtle)}
.public-axis{background:var(--brand-950);border-color:var(--brand-900);color:var(--bg-surface);box-shadow:0 2px 7px rgba(16,47,54,.16)}
.public-axis>span:first-child,.public-axis-times{color:var(--text-on-dark)}
.public-axis-times{border-color:rgba(255,255,255,.14)}
.public-guide-row,.public-guide-row:nth-child(odd){background:var(--bg-surface);border-color:var(--border)}
.public-channel{background:var(--bg-surface);border-color:var(--border-strong)}
.public-channel:hover{background:var(--bg-raised)}.public-channel:hover strong{color:var(--brand-700)}
.public-channel strong{font-weight:650;color:var(--text-primary)}.public-channel small{color:var(--text-secondary)}
.public-channel-logo{border-color:var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs)}
.public-track{background-color:var(--bg-subtle);background-image:linear-gradient(to right,transparent calc(16.666% - 1px),var(--border) calc(16.666% - 1px),var(--border) 16.666%)}
.public-programme{border-color:var(--border);border-left-color:var(--border-strong);border-radius:var(--radius-sm);background:var(--schedule-past);color:var(--text-secondary);box-shadow:none}
.public-programme:hover{border-color:var(--brand-500);box-shadow:var(--shadow-sm)}
.public-programme strong{font-weight:600}.public-programme small{color:var(--text-secondary)}
.public-programme.is-past{opacity:1;background:var(--schedule-past);color:var(--text-past)}
.public-programme.is-current{background:var(--schedule-current);border-color:var(--schedule-current-border);border-left-color:var(--brand-600);color:var(--brand-950);box-shadow:inset 0 0 0 1px rgba(47,114,117,.05)}
.public-programme.is-future{background:var(--schedule-future);border-color:var(--border);border-left-color:var(--border-strong);color:var(--text-primary)}
.public-axis-now,.public-now-line{background:var(--accent-warm)}
.public-now-line{box-shadow:0 0 0 1px rgba(255,255,255,.62)}
.public-axis-now span{background:var(--accent-warm);color:var(--brand-950);font-weight:800;box-shadow:0 2px 7px rgba(16,47,54,.18)}
.public-mobile-schedule{background:var(--bg-raised)}
.public-mobile-schedule small,.public-breadcrumb a,.public-kicker{color:var(--brand-700)}
.public-live,.public-agenda,.public-programme-context{border-color:var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm)}
.public-live-label span{color:var(--brand-700)}.public-live-label b{background:var(--danger-live)}
.public-progress progress::-webkit-progress-bar{background:var(--bg-subtle)}.public-progress progress::-webkit-progress-value{background:var(--brand-600)}.public-progress progress::-moz-progress-bar{background:var(--brand-600)}
.public-programme-context{background:var(--border)}.public-programme-context span{background:var(--bg-surface)}
.public-agenda-heading,.public-agenda-item{border-color:var(--border)}
.public-detail-days a.is-active{background:var(--brand-700)}
.public-detail-days .is-today-link,.public-history-toggle{border-color:var(--border-strong);background:var(--bg-raised);color:var(--brand-900)}
.public-detail-days .is-today-link:hover,.public-history-toggle:hover{border-color:var(--brand-500);background:var(--schedule-current)}
.public-agenda-item.is-current>i{border-color:var(--brand-600);background:var(--brand-600)}
.public-agenda-item.is-current span strong{color:var(--brand-900)}
.public-agenda-item.is-past{opacity:1;color:var(--text-past)}
.public-agenda-item>b{background:var(--schedule-current);color:var(--brand-700)}
.public-modal article,footer{background:var(--bg-surface)}
.public-page-home footer{background:var(--bg-raised);border-color:var(--border)}

/* Public channel detail v8: editorial hierarchy without behavioural changes. */
.public-page-channel{background:radial-gradient(circle at 85% 7%,var(--schedule-current) 0,transparent 28%),var(--bg-page)}
.public-page-channel main{padding-bottom:1px}
.public-page-channel .public-breadcrumb{max-width:1260px;margin-top:18px;padding:0;color:var(--text-secondary)}
.public-page-channel .public-channel-hero{position:relative;max-width:1260px;min-height:148px;margin-top:16px;padding:28px 30px;display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:24px;overflow:hidden;border:1px solid var(--brand-900);border-radius:var(--radius-lg);background:linear-gradient(125deg,var(--brand-950),var(--brand-900) 63%,var(--brand-700));box-shadow:var(--shadow-md);color:var(--bg-surface)}
.public-page-channel .public-channel-hero:after{content:"";position:absolute;right:-75px;bottom:-120px;width:330px;height:250px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025);pointer-events:none}
.public-page-channel .public-channel-hero .public-channel-logo{z-index:1;width:88px;height:88px;flex-basis:88px;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:var(--bg-surface);box-shadow:0 10px 28px rgba(16,47,54,.28)}
.public-channel-identity{z-index:1;align-self:center;min-width:0}
.public-page-channel .public-channel-identity .public-kicker{margin-bottom:7px;color:var(--schedule-current-border-soft)}
.public-page-channel .public-channel-hero h1{max-width:820px;font-size:clamp(29px,3vw,38px);line-height:1.06;letter-spacing:-.04em;color:var(--bg-surface)}
.public-channel-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:13px;color:var(--text-on-dark);font-size:12px;font-weight:550}
.public-channel-meta span+span{position:relative}.public-channel-meta span+span:before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--accent-warm)}
.public-channel-status{z-index:1;align-self:start;display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:0 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.1);color:var(--bg-surface);font-size:10px;font-weight:750;letter-spacing:.025em}
.public-channel-status i{width:7px;height:7px;border-radius:50%;background:var(--schedule-current-border-soft);box-shadow:0 0 0 3px rgba(185,215,212,.13)}
.public-channel-status.is-live i{background:var(--accent-warm);box-shadow:0 0 0 3px rgba(208,154,57,.16)}.public-channel-status.is-empty{color:var(--text-on-dark)}.public-channel-status.is-empty i{background:var(--text-tertiary)}
.public-page-channel .public-live{position:relative;max-width:1260px;min-height:176px;margin-top:16px;padding:28px 30px 25px;display:block;overflow:hidden;border-color:var(--schedule-current-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.public-page-channel .public-live:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand-600)}
.public-page-channel .public-live.has-artwork{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px;align-items:center}
.public-live-content{min-width:0}.public-page-channel .public-live>img{order:2;width:270px;aspect-ratio:16/9;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.public-page-channel .public-live-label{display:flex;align-items:center;flex-direction:row;gap:8px;margin:0 0 13px}
.public-page-channel .public-live-label span{font-size:10px;color:var(--brand-700)}
.public-page-channel .public-live-label b{padding:5px 8px;border-radius:5px;font-size:9px;font-weight:800}
.public-page-channel .public-live-label time{margin-left:auto;color:var(--text-secondary);font-size:12px;font-weight:700}
.public-page-channel .public-live h2{max-width:850px;margin:0;font-size:clamp(23px,2.4vw,30px);line-height:1.12;letter-spacing:-.025em}
.public-page-channel .public-live-subtitle{margin:8px 0 0;color:var(--brand-900);font-size:13px;font-weight:650}
.public-page-channel .public-live-description{max-width:880px;margin:9px 0 0;font-size:13px;line-height:1.55}
.public-page-channel .public-progress{display:grid;grid-template-columns:minmax(180px,430px) auto;gap:13px;margin-top:20px}
.public-page-channel .public-progress progress{width:100%;height:6px}.public-page-channel .public-progress small{font-weight:600}
.public-page-channel .public-live.is-empty{min-height:138px;padding-top:26px}.public-page-channel .public-live.is-empty:before{background:var(--border-strong)}
.public-page-channel .public-programme-context{max-width:1260px;margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;border:0;border-radius:0;background:transparent;box-shadow:none}
.public-context-item{position:relative;min-width:0;padding:18px 20px 17px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs)}
.public-context-item.is-next{border-left:3px solid var(--accent-warm)}.public-context-item.is-previous{background:var(--bg-raised)}
.public-context-item>small{display:block;margin-bottom:8px;color:var(--brand-700);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.public-context-item>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.public-context-item strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.public-context-item time{flex:none;color:var(--text-secondary);font-size:11px;font-weight:650}
.public-context-item p{overflow:hidden;margin:6px 0 0;color:var(--text-secondary);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.public-page-channel .public-agenda{max-width:1260px;margin-top:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.public-page-channel .public-agenda-heading{padding:22px 24px;background:linear-gradient(100deg,var(--bg-raised),var(--bg-surface) 58%)}
.public-page-channel .public-agenda-heading h2{font-size:22px;letter-spacing:-.02em}.public-page-channel .public-agenda-heading .public-kicker{margin-bottom:6px}
.public-page-channel .public-detail-days{padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}
.public-page-channel .public-detail-days a,.public-page-channel .public-detail-days span{height:45px;border-radius:var(--radius-sm)}
.public-page-channel .public-detail-days a.is-active{box-shadow:0 4px 10px rgba(36,95,100,.16)}
.public-page-channel .public-detail-days .is-today-link{margin-left:3px;border-color:var(--border);background:var(--bg-raised)}
.public-page-channel .public-agenda-list{padding:10px 20px 18px}
.public-page-channel .public-agenda-item{min-height:72px;padding:14px 10px;border-radius:var(--radius-sm);transition:background .14s ease,box-shadow .14s ease}
.public-page-channel .public-agenda-item:hover{background:var(--bg-raised)}
.public-page-channel .public-agenda-item.is-current{margin:5px 0;background:var(--schedule-current);box-shadow:inset 3px 0 0 var(--brand-600)}
.public-page-channel .public-agenda-item.is-current:hover{background:var(--schedule-current)}
.public-page-channel .public-agenda-item.is-current>i{box-shadow:0 0 0 4px rgba(47,114,117,.12)}
.public-page-channel .public-agenda-item.is-past{color:var(--text-past)}
.public-page-channel .public-agenda-item>b{align-self:start;margin-top:0}
.public-page-channel .public-history-toggle{min-height:38px;border-radius:var(--radius-sm)}

@media(max-width:900px){
  .public-page-channel .public-breadcrumb{padding:0 20px}
  .public-page-channel .public-channel-hero{margin-left:20px;margin-right:20px}
  .public-page-channel .public-live.has-artwork{grid-template-columns:minmax(0,1fr) 220px}.public-page-channel .public-live>img{display:block;width:220px}
}
@media(max-width:640px){
  .public-page-channel .public-breadcrumb{padding:0 16px;margin-top:15px}
  .public-page-channel .public-channel-hero{min-height:0;margin:14px 10px 0;padding:20px;grid-template-columns:64px minmax(0,1fr);gap:14px;border-radius:12px}
  .public-page-channel .public-channel-hero .public-channel-logo{width:64px;height:64px;flex-basis:64px;border-radius:13px}
  .public-page-channel .public-channel-hero h1{font-size:23px;line-height:1.1}
  .public-channel-meta{gap:5px;margin-top:7px;font-size:10px}.public-channel-meta span+span:before{display:none}.public-channel-meta span{width:100%}
  .public-channel-status{grid-column:1/-1;justify-self:start;min-height:28px;margin-top:1px}
  .public-page-channel .public-live,.public-page-channel .public-live.has-artwork{min-height:0;margin-top:12px;padding:20px 18px;display:flex;flex-direction:column;gap:15px}
  .public-page-channel .public-live>img{order:-1;display:block;width:100%;max-height:180px}
  .public-page-channel .public-live-label{margin-bottom:12px}.public-page-channel .public-live-label time{font-size:11px}
  .public-page-channel .public-live h2{font-size:22px}.public-page-channel .public-live-description{-webkit-line-clamp:3}
  .public-page-channel .public-progress{grid-template-columns:1fr;gap:8px;margin-top:17px}.public-page-channel .public-progress small{text-align:right}
  .public-page-channel .public-programme-context{margin:10px 10px 0;grid-template-columns:1fr}.public-context-item{padding:15px 16px}.public-context-item>div{display:grid;gap:4px}.public-context-item strong{white-space:normal}.public-context-item p{white-space:normal}
  .public-page-channel .public-agenda{margin-top:12px}.public-page-channel .public-agenda-heading{padding:18px 16px}
  .public-page-channel .public-agenda-heading h2{font-size:20px}.public-page-channel .public-detail-days{padding:2px}
  .public-page-channel .public-agenda-list{padding:8px 12px 14px}.public-page-channel .public-agenda-item{padding:13px 6px}
}

/* Public home v9: connected EPG surface and compact broadcast controls. */
.public-page-home{background:linear-gradient(180deg,var(--public-page-bg),var(--public-surface-muted))}
.public-page-home .public-header{border-bottom-color:var(--public-border);box-shadow:0 3px 14px rgba(16,47,54,.05)}
.public-page-home .public-brand .public-brand-mark{width:39px;height:39px;flex-basis:39px}
.public-page-home .public-toolbar{padding-top:9px;padding-bottom:11px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(249,251,252,.96));border-bottom-color:var(--public-border);box-shadow:0 5px 18px rgba(16,47,54,.05)}
.public-page-home .public-days{max-width:650px}
.public-page-home .public-day.is-active{background:var(--public-primary);box-shadow:0 5px 13px rgba(36,95,100,.2)}
.public-page-home .public-day.is-today:not(.is-active){position:relative}.public-page-home .public-day.is-today:not(.is-active):after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--public-temporal-accent)}
.public-page-home .public-window,.public-page-home .public-filters{border-color:var(--public-border);background:var(--public-surface);box-shadow:var(--shadow-xs)}
.public-page-home .public-window{padding-left:14px}.public-page-home .public-window>strong{color:var(--public-brand-dark);font-weight:750}
.public-page-home .public-window nav{padding:2px;border-radius:var(--radius-sm);background:var(--public-surface-muted)}
.public-page-home .public-window nav a{border-color:transparent;box-shadow:none}.public-page-home .public-window nav span{color:var(--public-brand-dark);font-weight:700}
.public-page-home .public-window nav .is-today{border-color:var(--schedule-current-border-soft);background:var(--public-program-current)}
.public-page-home .public-filters{gap:3px}.public-page-home .public-filters label{border-radius:var(--radius-sm);background:var(--public-surface)}
.public-page-home .public-filters button{background:var(--public-primary)}.public-page-home .public-filters button:hover{background:var(--public-primary-hover)}
.public-page-home .public-guide-module{margin-top:10px;border:1px solid var(--border-strong);background:var(--public-surface);box-shadow:0 10px 30px rgba(16,47,54,.1)}
.public-page-home .public-pager{border:0;border-bottom:1px solid var(--public-border);border-radius:0;background:var(--bg-raised)}
.public-page-home .public-pager strong{color:var(--public-brand-dark);font-weight:700}
.public-page-home .public-guide{border:0;border-radius:0;background:var(--public-surface-muted)}
.public-page-home .public-axis{height:46px;background:var(--public-brand-dark);box-shadow:0 2px 8px rgba(16,47,54,.18)}
.public-page-home .public-axis>span:first-child{letter-spacing:.1em}.public-page-home .public-axis-times{border-left-color:rgba(255,255,255,.13)}
.public-page-home .public-axis-now,.public-page-home .public-now-line{background:var(--public-temporal-accent)}
.public-page-home .public-guide-row{background:var(--public-surface);border-bottom-color:var(--public-border)}
.public-page-home .public-channel{background:var(--public-surface);border-right-color:var(--border-strong)}
.public-page-home .public-channel:hover{background:var(--bg-raised)}
.public-page-home .public-channel-logo{border-color:var(--public-border);background:var(--public-surface);box-shadow:0 2px 8px rgba(16,47,54,.055)}
.public-page-home .public-channel-logo img{max-width:80%;max-height:80%}
.public-page-home .public-channel strong{font-weight:650}.public-page-home .public-channel small{color:var(--public-text-muted)}
.public-page-home .public-track{background-color:var(--public-surface-muted)}
.public-page-home .public-programme{border-radius:var(--radius-sm)}
.public-page-home .public-programme.is-past{background:var(--public-program-past);color:var(--text-past)}
.public-page-home .public-programme.is-current{background:var(--public-program-current);border-color:var(--schedule-current-border);border-left-color:var(--public-primary);color:var(--public-brand-dark)}
.public-page-home .public-programme.is-future{background:var(--public-program-future);color:var(--public-text)}
.public-page-home .public-programme:focus-visible{z-index:9}.public-page-home .public-programme:hover{z-index:8}
.public-page-home .public-empty{margin:auto;padding:48px 24px}.public-page-home .public-empty a{background:var(--public-primary)}
.public-page-home .public-mobile-schedule small{color:var(--public-primary)}
.public-modal article{border:1px solid var(--public-border);box-shadow:0 24px 90px rgba(16,47,54,.28)}
.public-modal-close:hover,.public-modal-close:focus-visible{background:var(--public-program-current);color:var(--public-brand-dark);outline:3px solid var(--focus-ring)}

@media(max-width:900px) and (min-width:641px){
  .public-page-home .public-guide-module{margin-top:8px}
}
@media(max-width:640px){
  .public-page-home{background:var(--public-page-bg)}
  .public-page-home .public-header{height:58px}.public-page-home .public-brand .public-brand-mark{width:35px;height:35px;flex-basis:35px}
  .public-page-home .public-toolbar{padding:10px 12px 12px}
  .public-page-home .public-toolbar-inner{display:flex;flex-direction:column}
  .public-page-home .public-control-row{display:contents}
  .public-page-home .public-filters{order:1;margin:0 0 9px}
  .public-page-home .public-days{order:2;width:100%;margin:0 0 8px}
  .public-page-home .public-window{order:3;margin:0}
  .public-page-home .public-guide-module{margin-top:10px;border:0;background:transparent;box-shadow:none}
  .public-page-home .public-pager{border:1px solid var(--public-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}
  .public-page-home .public-guide-row{border-color:var(--public-border)!important;box-shadow:var(--shadow-sm)}
  .public-page-home .public-channel{background:var(--public-surface)}
  .public-page-home .public-mobile-schedule{background:var(--bg-raised)}
  .public-page-home .public-mobile-schedule>a:first-child{box-shadow:inset 3px 0 0 var(--public-primary)}
}

/* Channel identity v10: polished sticky identity without increasing density. */
.public-page-home .public-channel{position:sticky;cursor:pointer;isolation:isolate}
.public-page-home .public-channel:before{content:"";position:absolute;z-index:2;inset:7px auto 7px 0;width:3px;border-radius:0 3px 3px 0;background:var(--public-primary);opacity:0;transform:scaleY(.45);transition:opacity .14s ease,transform .14s ease}
.public-page-home .public-channel:hover:before,.public-page-home .public-channel:focus-visible:before{opacity:1;transform:scaleY(1)}
.public-page-home .public-channel-logo{width:42px;height:42px;flex-basis:42px}
.public-page-home .public-logo-fallback{position:relative;width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,var(--bg-raised),var(--public-surface-muted));color:var(--public-primary);font-size:11px;font-weight:800;letter-spacing:.025em}
.public-page-home .public-logo-fallback:after{content:"";position:absolute;right:6px;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--public-temporal-accent);opacity:.75}
.public-page-home .public-channel>span:last-child{display:grid;gap:3px}.public-page-home .public-channel strong{line-height:1.18}.public-page-home .public-channel small{margin:0;line-height:1.2}

/* Critical landscape mode: one bidirectional EPG scroller, minimal chrome. */
@media (orientation:landscape) and (max-height:500px) and (min-width:641px) and (max-width:1100px){
  .public-page-home{height:100dvh;min-height:0;overflow:hidden}
  .public-page-home .public-header{position:relative;z-index:30;height:42px;min-height:42px;flex:0 0 42px;padding:0 10px}
  .public-page-home .public-header-inner{gap:18px}.public-page-home .public-brand{gap:7px}.public-page-home .public-brand .public-brand-mark{width:30px;height:30px;flex-basis:30px;border-radius:8px}.public-page-home .public-brand-copy strong{font-size:14px}.public-page-home .public-brand-copy small{font-size:8px}
  .public-page-home .public-header nav a{padding:0 4px;font-size:11px}.public-page-home .public-header nav a.is-active:after{left:4px;right:4px;height:2px}
  .public-page-home .public-login{min-height:30px;padding:0 10px;border-radius:7px;font-size:10px}
  .public-page-home main{min-height:0;overflow:hidden}
  .public-page-home .public-toolbar{position:relative;z-index:20;padding:3px 9px 5px;box-shadow:0 3px 10px rgba(16,47,54,.045)}
  .public-page-home .public-toolbar-inner{display:flex;flex-direction:column}
  .public-page-home .public-days{width:min(100%,510px);height:30px;margin:0 auto;gap:3px;grid-template-columns:25px repeat(7,1fr) 25px}
  .public-page-home .public-day,.public-page-home .public-day-arrow{min-height:30px;height:30px;border-radius:6px}.public-page-home .public-day small{font-size:7px}.public-page-home .public-day strong{margin:0;font-size:11px}.public-page-home .public-day-arrow{font-size:16px}.public-page-home .public-day.is-today:not(.is-active):after{bottom:2px;width:3px;height:3px}
  .public-page-home .public-control-row{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(390px,1.15fr);gap:6px;margin-top:3px;align-items:center}
  .public-page-home .public-window,.public-page-home .public-filters{width:100%;min-height:34px;height:34px;margin:0;padding:2px 3px;border-radius:7px}
  .public-page-home .public-window{gap:6px;padding-left:9px}.public-page-home .public-window>strong{font-size:12px}.public-page-home .public-window nav{height:28px;margin-left:auto;gap:2px}.public-page-home .public-window nav a{height:26px;min-width:27px;padding:0 6px}.public-page-home .public-window nav span{min-width:72px;font-size:10px}.public-page-home .public-window nav .is-today{padding:0 7px;font-size:9px}.public-page-home .public-window>small{display:none}
  .public-page-home .public-filters{display:grid;grid-template-columns:minmax(125px,1fr) minmax(135px,.9fr) auto;gap:2px}.public-page-home .public-filters label:first-of-type{grid-column:auto}.public-page-home .public-filters label{height:28px}.public-page-home .public-filters input,.public-page-home .public-filters select,.public-page-home .public-filters button{height:28px}.public-page-home .public-filters input{width:100%;min-width:0}.public-page-home .public-filters select{width:100%;min-width:0}.public-page-home .public-filters button{padding:0 10px;font-size:10px}.public-page-home .public-filter-label{top:3px;left:9px;font-size:6px}.public-page-home .public-filters input,.public-page-home .public-filters select{padding-top:9px;padding-left:9px;font-size:10px}
  .public-page-home .public-guide-module{flex:1;min-height:0;width:auto;margin:5px 8px;overflow:hidden;border-radius:9px}
  .public-page-home .public-pager{min-height:27px;height:27px;flex:0 0 27px;padding:0 10px}.public-page-home .public-pager a{min-height:22px;font-size:9px}.public-page-home .public-pager strong{font-size:9px}
  .public-page-home .public-guide{flex:1;min-height:0;height:auto;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .public-page-home .public-guide-grid{min-width:1020px;min-height:max-content}
  .public-page-home .public-axis,.public-page-home .public-guide-row{grid-template-columns:168px minmax(852px,1fr)}
  .public-page-home .public-axis{position:sticky;top:0;z-index:20;height:33px;min-height:33px}
  .public-page-home .public-axis>span:first-child{position:sticky;left:0;z-index:22;padding:0 10px;background:var(--public-brand-dark);font-size:8px}.public-page-home .public-axis-times{padding:0 10px 4px;font-size:8px}
  .public-page-home .public-guide-row,.public-page-home .public-track{min-height:53px;height:53px}
  .public-page-home .public-channel{left:0;z-index:12;gap:8px;padding:5px 8px;border-right-width:1px}.public-page-home .public-channel-logo{width:36px;height:36px;flex-basis:36px;border-radius:8px}.public-page-home .public-logo-fallback{font-size:9px}.public-page-home .public-channel strong{font-size:10px}.public-page-home .public-channel small{font-size:8px}
  .public-page-home .public-programme{top:4px;height:45px;padding:6px 7px}.public-page-home .public-programme strong{font-size:9px}.public-page-home .public-programme small{font-size:8px}.public-page-home .public-no-schedule{top:20px;font-size:9px}
  .public-page-home .public-axis-now{z-index:21}.public-page-home .public-axis-now span{top:4px;padding:2px 5px;font-size:7px}.public-page-home .public-now-line{z-index:6;pointer-events:none}
  .public-page-home footer{display:none}
}
