.owner-settings{width:min(880px,94vw);max-width:880px}.owner-settings section{margin:22px 0}.owner-settings input:not([type=checkbox]):not([type=color]),.owner-settings textarea{display:block;width:100%;box-sizing:border-box}.owner-settings input,.owner-settings select,.owner-settings textarea{padding:10px;margin-top:7px;border:1px solid #737883;background:#121c29;color:#fff;border-radius:3px}.owner-settings input[type=color]{width:70px;height:42px}.owner-settings textarea{font:12px/1.6 monospace;tab-size:2;resize:vertical}.owner-settings label{display:block;margin:15px 0}.owner-settings button{cursor:pointer}.owner-settings code{overflow-wrap:anywhere;color:#f5d477}.owner-tabs,.owner-actions{display:flex;flex-wrap:wrap;gap:9px}.owner-tabs{padding:16px 0;border-bottom:1px solid #666}.owner-tabs button[aria-pressed=true]{background:#f5d477;color:#101b2b}.owner-settings li{margin:12px 0;line-height:1.65}.owner-settings .owner-checkbox{display:flex;align-items:center;gap:8px;font-size:12px}.owner-settings .owner-checkbox input{margin:0}.owner-settings h3{margin-top:26px}.owner-settings #settings-status{position:sticky;bottom:0;background:#13243a;color:#f5d477;padding:12px;border-radius:3px}.owner-settings #settings-status:empty{display:none}.owner-settings a{color:inherit;text-decoration:underline}.remote{flex-wrap:wrap}.remote .tv-guide-key{font:inherit;font-size:11px;color:inherit;text-decoration:none;align-self:center;padding:8px}.remote #picture-key[aria-pressed=true]{color:#f5d477}#tv-controls label{display:block;margin:18px 0}#tv-controls select{display:block;margin-top:8px;width:100%;padding:10px}#owner-media-list{padding-left:18px}
.owner-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.owner-wide{grid-column:1/-1}.owner-settings .owner-actions label{flex:1;min-width:150px}.owner-settings .owner-actions{align-items:center}.owner-settings details{margin:20px 0;padding:14px;border:1px solid #727b8d}.owner-settings summary{cursor:pointer;color:#f5d477}@media(max-width:600px){.owner-field-grid{grid-template-columns:1fr}}
.owner-settings button{width:auto;margin:0;font:inherit;font-size:12px;padding:10px 14px}.owner-settings .owner-tabs button{flex:1;min-width:150px}.owner-settings .dialog-close{position:absolute;width:auto;padding:4px;background:none}.owner-settings form{margin:0 0 22px}.owner-settings p,.owner-settings li{font-size:13px}.owner-settings .owner-tabs{margin-top:22px}.owner-settings label{font-size:12px}#tv-controls button.dialog-close{width:auto}

/* Keep checkboxes out of the full-width text-input rules inherited from dialogs. */
#settings label.owner-checkbox{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;font:13px/1.5 var(--sans);letter-spacing:0;text-transform:none}
#settings label.owner-checkbox input[type=checkbox]{display:inline-block;flex:0 0 18px;width:18px;min-width:18px;max-width:18px;height:18px;padding:0;margin:0;appearance:auto;accent-color:#f5d477}
/* A reserved title strip keeps retro close buttons clear of dialog contents. */
dialog{padding-top:72px!important;position:fixed}dialog::before{content:attr(data-network-title);position:absolute;top:0;left:0;right:0;height:42px;padding:11px 66px 8px 15px;background:linear-gradient(90deg,#142c70,#356ca4);border-bottom:2px solid #09182d;color:#fff;font:700 11px/18px var(--mono);letter-spacing:1px;text-align:left}
dialog .dialog-close,#settings .dialog-close,#tv-controls .dialog-close{position:absolute;top:7px;right:9px;left:auto;display:grid;place-items:center;width:30px;height:28px;padding:0;margin:0;background:#b92c24;color:white;border:2px solid;border-color:#ffc6ad #5e0c09 #5e0c09 #ffc6ad;border-radius:0;box-shadow:1px 1px 0 #000;font:bold 22px/1 Arial,sans-serif;z-index:5;cursor:pointer}
dialog .dialog-close:hover,#settings .dialog-close:hover{background:#e43d30}dialog .dialog-close:active{border-color:#5e0c09 #ffc6ad #ffc6ad #5e0c09;transform:translate(1px,1px)}dialog .dialog-close:focus-visible{outline:2px solid #ffe849;outline-offset:2px}

.network-logo{width:48px;height:45px;object-fit:contain;flex:0 0 auto}.footer-brand{display:flex;align-items:center;gap:9px}.footer-brand .network-logo{width:30px;height:30px}.owner-logo-preview{display:block;max-width:160px;max-height:95px;object-fit:contain;margin:16px 0}.owner-branding-note{border-left:3px solid #f5d477;padding:10px 14px;background:#18364a}.strip-monogram{font:700 20px/1.3 var(--mono);letter-spacing:normal;flex-shrink:0;overflow-wrap:anywhere;max-width:170px}.self-host-promo{margin:30px 0;padding:24px;border:1px solid #4b7290;background:#142c3a;display:flex;align-items:center;justify-content:space-between;gap:24px}.self-host-promo p{max-width:650px}.self-host-promo a{color:#ffe849;border:1px solid #ffe849;padding:12px;max-width:280px}.self-host-promo .eyebrow{color:#8ed8dd}@media(max-width:760px){.self-host-promo{display:block}.self-host-promo a{display:inline-block}.masthead nav{flex-wrap:wrap}}
.hosting-intro{background:#142c3a;border:1px solid #527b91;padding:24px;margin-bottom:25px}.hosting-download{display:inline-block;background:#ffe849;color:#15252b;padding:13px 20px;font-weight:bold}.hosting-step{border:1px solid #527b91;margin:15px 0;background:#10232f}.hosting-step summary{cursor:pointer;padding:20px;font:700 18px/1.4 var(--sans);color:#ffe849}.hosting-step>div{padding:0 24px 24px}.hosting-step li{margin:15px 0;line-height:1.8}.hosting-step p{line-height:1.8}.hosting-step a{text-decoration:underline;color:#81d7e0}.hosting-step code{font-size:12px;overflow-wrap:anywhere}.hosting-step pre{overflow:auto;padding:18px;background:#07131f;border-left:3px solid #ffe849;white-space:pre-wrap}.hosting-step ol{padding-left:24px}

.network-notice{border:1px solid #587088;border-left:4px solid #ffe849;padding:18px 22px;margin:15px 0 25px;background:#132937;font-size:13px}.network-notice p{margin:10px 0;line-height:1.7}.network-notice code{overflow-wrap:anywhere}.network-notice a{color:#ffe849;text-decoration:underline}

/* Custom station palette retains the colour-service structure. */
body{background-color:var(--network-background,#07131f);color:var(--network-text,#e9edda)}
dialog,.epg-detail,.epg-listings,.epg-toolbar,.epg-channel,.epg-cell,.channel,.channel-panel,.self-host-promo,.network-notice,.hosting-intro,.hosting-step{background-color:var(--network-surface,#10232d);color:var(--network-text,#e9edda)}
.intro h1,.intro h1 em,dialog h2,.epg-heading h1,.channel-number,.epg-channel-number,.epg-toolbar strong,.epg-time,.hosting-step summary,.programme-info .eyebrow,.owner-settings code,.self-host-promo a{color:var(--network-highlight,#ffda43)}
.programme-info h2,.epg-cell strong,.channel-name{color:var(--network-text,#e9edda)}
.programme-info a,.epg-detail-actions a,.hosting-step a{color:var(--network-link,#81d7e0)}
.test-pattern{background-image:var(--holding-image,url('/test-card-f.jpg'))}
body[data-cabinet=charcoal] .receiver{background:linear-gradient(135deg,#49545a,#20272c 45%,#343d42);border-color:#6d7c83;box-shadow:inset 0 0 0 3px #13191d,0 16px 35px #0007}
body[data-cabinet=ivory] .receiver{background:linear-gradient(135deg,#e7ddbb,#afa68c 50%,#d1c8aa);border-color:#b9b093;box-shadow:inset 0 0 0 3px #786f58,0 16px 35px #0007}

/* Window chrome stays visible while only the dialog body scrolls. */
dialog{padding:0!important;overflow:hidden;max-height:90vh}dialog::before{display:none}.dialog-chrome{display:flex;align-items:center;justify-content:space-between;gap:15px;height:42px;padding:6px 8px 6px 15px;background:linear-gradient(90deg,#142c70,#356ca4);border-bottom:2px solid #09182d;color:#fff}.dialog-caption{font:700 11px/18px var(--mono);letter-spacing:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-body{padding:30px 34px;max-height:calc(90vh - 48px);overflow:auto;overscroll-behavior:contain}dialog .dialog-close,#settings .dialog-close,#tv-controls .dialog-close{position:static;flex:0 0 30px}dialog .dialog-body form{max-width:100%}@media(max-width:600px){.dialog-body{padding:24px 20px}.owner-settings{width:95vw}}
