:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#f3f6ff;background:#090f1d;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 15% 0%,#1e3354 0%,#0a1121 40%,#080c16 100%)}.mast{padding:22px max(20px,calc((100vw - 1100px)/2));border-bottom:1px solid #31405b;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:15px;align-items:center}.wave{font-size:28px;color:#fa4c5c;letter-spacing:-4px}.brand h1{font-size:clamp(20px,3vw,31px);margin:0;font-weight:950;letter-spacing:-1px}.brand h1 span{color:#ffb73d}.brand h1 b{color:#ef4556}.brand p{margin:4px 0 0;color:#9facc4;font-size:10px;letter-spacing:2px}.admin-link{color:#b8c6e0;font-size:13px;text-decoration:none}.admin-link:hover,a:hover{color:#fff}.shell{max-width:1100px;margin:0 auto;padding:38px 20px 80px}.narrow{max-width:800px}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.intro h2{font-size:clamp(25px,4vw,42px);letter-spacing:-1px;margin:8px 0}.intro p{color:#aebbd1}.eyebrow{font-size:12px;color:#ffbd45!important;letter-spacing:2px;font-weight:bold}.onair{background:#351e2d;border:1px solid #a34357;color:#ffd5dc;padding:14px 20px;border-radius:14px;font-weight:bold;max-width:260px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.days button{border:1px solid #364764;background:#172239;color:#c7d2e4;border-radius:10px;padding:16px 5px;cursor:pointer;font-weight:800}.days button.selected{background:#ec485a;border-color:#ec485a;color:#fff}.section-head{display:flex;justify-content:space-between;align-items:center;margin-top:32px}.section-head h3{font-size:25px}.shows{display:grid;gap:14px}.show{display:flex;gap:20px;align-items:center;border:1px solid #2c3a54;border-radius:15px;padding:14px;background:#121d30}.show.live{border-color:#e65b6b}.art{flex:none;width:150px;height:125px;border-radius:9px;overflow:hidden;background:#263750}.art img{width:100%;height:100%;object-fit:cover}.art-fallback{height:100%;display:grid;place-items:center;font-size:55px;color:#f8bd50}.show h4{font-size:22px;margin:7px 0}.show p{color:#b4c1d4;margin:6px 0;line-height:1.5}.show .presenter,.time{color:#f4b949;font-size:12px;letter-spacing:1px;font-weight:800}.live-tag{background:#ec485a;color:#fff;padding:4px 8px;border-radius:5px;margin-left:8px}.show a{color:#f7c66a}.empty,.panel{padding:25px;background:#121d30;border:1px solid #34415b;border-radius:14px}.message{color:#ffca77;min-height:20px}.panel{margin:24px 0}.panel h3{margin-top:0}label{display:block;margin:14px 0;font-weight:650;font-size:14px}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:7px;padding:12px;border-radius:8px;background:#091425;border:1px solid #4b5c77;color:#fff;font:inherit}input[type=file]{padding:10px}.check{display:flex;align-items:center;gap:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}button{cursor:pointer}form button,.toolbar button{padding:11px 18px;border:0;border-radius:8px;background:#ed4d5e;color:white;font-weight:750}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.toolbar .secondary,.secondary{background:#31415e}.toolbar .danger{background:#802c3b}.admin-row{padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #34415b}.admin-row small{display:block;color:#a8b6cd;margin-top:6px}.preview{width:180px;max-height:140px;object-fit:cover;margin:10px 0;border-radius:8px}button:disabled{opacity:.6;cursor:wait}footer{text-align:center;color:#7e90ae;font-size:11px;letter-spacing:1.5px;padding:25px;border-top:1px solid #24334b}@media(max-width:650px){.mast,.intro{align-items:flex-start;flex-direction:column}.intro{gap:10px}.onair{max-width:100%}.days{gap:4px}.days button{padding:12px 0;font-size:11px}.show{align-items:flex-start;gap:12px}.art{width:100px;height:100px}.show h4{font-size:18px}.two{grid-template-columns:1fr}.admin-row{align-items:flex-start;flex-direction:column}}


/* Public programme guide redesign. Administration styling remains unchanged. */
:root{color-scheme:light}
body.public-guide{background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif}
.public-guide .mast{max-width:1500px;margin:auto;padding:18px 32px 8px;border-bottom:0;align-items:center}
.public-guide .brand-logo{display:block;width:440px;max-width:70%;height:auto;border-radius:9px;overflow:hidden}
.public-guide .brand-logo img{display:block;width:100%;height:auto}
.public-guide .admin-link{font-weight:700;color:#222;font-size:14px;text-decoration:none;border-bottom:3px solid #b9000c;padding-bottom:6px}
.public-guide .admin-link:hover,.public-guide a:hover{color:#ae0010}
.public-guide .shell{max-width:1500px;padding:16px 32px 70px}
.public-guide .intro{margin:0 0 24px;align-items:center}
.public-guide .intro h1{font-size:clamp(28px,3.7vw,48px);letter-spacing:-1.4px;margin:0 0 10px;font-weight:850}
.public-guide .intro p{color:#161616;font-size:clamp(15px,1.55vw,21px);line-height:1.4;margin:0}
.public-guide .onair{background:#fff5f5;border:1px solid #e5b9b9;color:#a9000d;max-width:280px;font-size:12px;flex-shrink:0}
.public-guide .days{gap:12px;margin:0 0 32px}
.public-guide .days button{background:linear-gradient(#fff,#f4f4f4);color:#111;border:1px solid #d2d2d2;border-radius:8px;font-size:16px;font-weight:500;padding:16px 5px;box-shadow:0 1px 2px #0000000b}
.public-guide .days button.selected{background:#b9000d;border-color:#b9000d;color:white;font-weight:700}
.public-guide .days button:focus-visible{outline:3px solid #333;outline-offset:3px}
.public-guide .schedule-panel{border:1px solid #ddd;border-radius:10px;overflow:hidden;box-shadow:0 2px 3px #00000010}
.public-guide .section-head{margin:0;padding:10px 26px;background:#b9000d;color:#fff}
.public-guide .section-head h2{font-size:clamp(23px,2.3vw,32px);margin:0}
.public-guide .shows{display:block}
.public-guide .show{display:grid;grid-template-columns:175px 135px minmax(190px,1fr) minmax(230px,1.3fr);gap:20px;align-items:center;background:#fff;border:0;border-bottom:1px solid #ddd;border-radius:0;padding:10px 22px;min-height:118px}
.public-guide .show:last-child{border-bottom:0}
.public-guide .show.live{background:#fff9f9;box-shadow:inset 5px 0 #b9000d}
.public-guide .time{grid-column:1;grid-row:1;color:#111;font-size:16px;font-weight:800;letter-spacing:0}
.public-guide .art{grid-column:2;grid-row:1;width:130px;height:100px;border-radius:7px;background:#f2f2f2}
.public-guide .art-fallback{color:#b9000d}
.public-guide .show-copy{display:contents}
.public-guide .show h4{grid-column:3;grid-row:1;margin:0;font-size:21px;line-height:1.2;color:#111;align-self:center}
.public-guide .show .presenter{grid-column:3;grid-row:1;align-self:center;margin:53px 0 0;font-size:14px;letter-spacing:0;color:#222;font-weight:400}
.public-guide .show p:not(.presenter){grid-column:4;grid-row:1;color:#222;margin:0;font-size:15px;line-height:1.4}
.public-guide .show a{grid-column:4;grid-row:2;color:#a5000b;font-weight:700}
.public-guide .live-tag{background:#b9000d;color:#fff;font-size:10px}
.public-guide .empty{border:0;background:white;color:#333;border-radius:0}
.public-guide .message{color:#a0000b}
.public-guide footer{border-top:1px solid #eee;color:#777}
@media(max-width:1050px){.public-guide .show{grid-template-columns:135px 110px minmax(140px,1fr) minmax(180px,1.2fr);gap:12px}.public-guide .art{width:105px;height:90px}.public-guide .show h4{font-size:18px}.public-guide .show .presenter{margin-top:48px}}
@media(max-width:700px){.public-guide .mast{flex-direction:row;align-items:center;padding:14px 16px}.public-guide .brand-logo{max-width:68%}.public-guide .admin-link{font-size:11px}.public-guide .shell{padding:16px 14px 48px}.public-guide .intro{align-items:flex-start}.public-guide .onair{max-width:100%}.public-guide .days{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:20px}.public-guide .days button{font-size:12px;padding:12px 3px}.public-guide .section-head{padding:10px 14px}.public-guide .show{grid-template-columns:76px 86px minmax(0,1fr);gap:9px;padding:12px;align-items:start}.public-guide .time{font-size:12px;grid-column:1;grid-row:1}.public-guide .art{grid-column:2;grid-row:1;width:82px;height:78px}.public-guide .show h4{grid-column:3;grid-row:1;font-size:16px}.public-guide .show .presenter{grid-column:3;grid-row:1;margin-top:42px;font-size:12px}.public-guide .show p:not(.presenter){grid-column:1/-1;grid-row:2;font-size:13px}.public-guide .show a{grid-column:1/-1;grid-row:3;font-size:13px}}

