:root{
  --navy:#071527;--navy2:#0a1a2f;--panel:#0d2035;--panel2:#112a43;
  --line:#24435f;--blue:#1e6bff;--sky:#37c1ff;--teal:#00c2bc;
  --text:#eef6ff;--muted:#91a8bc;--green:#34d06f;--amber:#ffb636;
  --red:#ef4c59;--surface:#081726;--shadow:0 12px 28px rgba(0,0,0,.22)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 75% 0,#12385c 0,transparent 28%),#050e19;color:var(--text);font:14px Inter,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}
.sidebar{background:linear-gradient(180deg,#071525,#06101c);border-right:1px solid #173653;padding:20px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:10}
.brand{color:#fff;text-decoration:none;border-bottom:1px solid #1c3a54;padding:4px 5px 20px}
.brand img{width:190px;display:block;max-width:100%}.brand span{display:block;margin-top:11px;font:12px Orbitron,Arial;letter-spacing:1.3px}.brand b{color:var(--sky)}
nav{padding:18px 0;display:grid;gap:6px}nav a{color:#c9d7e4;text-decoration:none;padding:13px;border-radius:6px}nav a:hover,nav a.active{background:#12366a;color:#fff}.nav-icon{display:inline-block;width:22px;text-align:center;margin-right:4px}
.side-foot{margin-top:auto;border-top:1px solid #1c3a54;padding:17px 9px;color:var(--teal)}.side-foot small{display:block;color:var(--muted);margin-top:5px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--teal);margin-right:7px}
main{min-width:0}header{min-height:90px;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1b3a56;background:#071321e8;position:sticky;top:0;z-index:8;backdrop-filter:blur(12px)}
h1{margin:0;font:25px Orbitron,Arial;letter-spacing:1px}h1 span{font-weight:400;color:#cbd8e4}header p{margin:5px 0 0;color:var(--muted)}
.header-actions{display:flex;gap:10px;align-items:center}.mode{background:#10356c;border:1px solid #2763b5;padding:9px 17px;text-align:center;font-weight:bold}.mode small{display:block;font-size:9px;margin-top:3px}.clock{border:1px solid #24445f;padding:8px 14px;text-align:right;min-width:140px}
.connection{border:1px solid #755923;background:#30240f;color:var(--amber);padding:12px 14px;font-weight:850;cursor:pointer}.connection.connected{border-color:#278252;background:#0c3322;color:#78f0a8}.connection.error{border-color:#913943;background:#3c151a;color:#ff8c96}
.packbar{display:flex;align-items:center;gap:28px;padding:14px 28px;background:#0a1b2d;border-bottom:1px solid #24445f;position:sticky;top:90px;z-index:7}.packbar div span{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;margin-bottom:5px}.packbar button,.import{background:#112b45;color:#fff;border:1px solid #31516c;padding:9px 12px;cursor:pointer;border-radius:4px}.packbar #exportBtn{margin-left:auto}.import{margin-left:-18px}.import input{display:none}.draft{color:var(--amber)}.ready{color:var(--green)}.error-text{color:var(--red)}
.workspace{display:grid;grid-template-columns:205px minmax(620px,1fr) 245px;min-height:calc(100vh - 191px)}
.section-nav{padding:18px 12px;background:#081725;border-right:1px solid #1b3b56;display:flex;flex-direction:column;gap:4px;position:sticky;top:153px;height:calc(100vh - 153px);overflow:auto}
.section-nav button{background:transparent;border:0;color:#a9bed0;text-align:left;padding:12px;border-radius:5px;cursor:pointer}.section-nav button.active,.section-nav button:hover{background:#123153;color:#fff;border-left:3px solid var(--blue)}
.editor{padding:23px;min-width:0}.section{display:none}.section.active{display:block}.section-title{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #24445e;padding-bottom:16px;margin-bottom:18px}.section-title>div>span{font-size:10px;color:var(--sky);letter-spacing:1.3px}.section-title h2{font:25px Orbitron,Arial;margin:6px 0}.section-title p{color:var(--muted);margin:0;max-width:850px;line-height:1.45}
.score{width:90px;height:90px;border:7px solid var(--teal);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.score strong{font-size:21px}.score span{font-size:8px;color:var(--text)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cards article,.principle,.brand-preview,.status-panel{background:linear-gradient(180deg,#10283f,#0b1c2e);border:1px solid #23445f;border-radius:7px;padding:16px}.cards h3{margin-top:0;font-size:12px;color:#a9bfd1}.cards b{display:block;margin:9px 0}.cards p{color:var(--muted);font-size:12px}.good{color:var(--green)}.warn{color:var(--amber)}.muted-status{color:var(--muted)}
.principle{margin-top:16px;border-left:4px solid var(--blue)}.principle h3{margin-top:0;color:var(--sky)}.principle p{color:#b8c9d8;margin-bottom:0;line-height:1.5}.warning-principle{border-left-color:var(--amber)}.warning-principle h3{color:var(--amber)}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.status-panel span{color:var(--sky);font-size:10px;letter-spacing:1px}.status-panel strong,.status-panel small{display:block}.status-panel strong{margin:10px 0 6px}.status-panel small{color:var(--muted)}
.toolbar{display:flex;gap:8px;margin-bottom:16px}.segmented button{background:#0a1d31;border:1px solid #31516c;color:#a9bed0;padding:11px 18px;cursor:pointer}.segmented button.active{background:#1258bb;border-color:#247df5;color:#fff}
.control-strip{display:flex;gap:12px;align-items:end;background:#0a1d31;border:1px solid #24445e;border-radius:7px;padding:13px;margin-bottom:14px}.control-strip label{color:#b8c9d8;font-size:11px;min-width:160px;flex:1}.control-strip input,.control-strip select,.form-grid input,.form-grid select,.form-grid textarea,.sponsor-card input,.sponsor-card select,.playlist-row input,.playlist-row select{display:block;width:100%;margin-top:6px;background:var(--surface);border:1px solid #31536d;color:#fff;padding:9px 10px;border-radius:4px}.control-strip input[type=search]{min-width:220px}.button-group{display:flex;gap:7px}.button-group button,.sortable-actions button,.upload-button,.remove-logo,.deploy-actions button,.inspector button{padding:9px 11px;background:#102941;border:1px solid #31516c;color:#fff;border-radius:4px;cursor:pointer;white-space:nowrap}.button-group button:hover,.sortable-actions button:hover,.deploy-actions button:hover{border-color:var(--sky)}
.list-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0;color:var(--muted);font-size:12px}.list-summary b{color:var(--text)}
.sortable-list{display:grid;gap:6px;max-height:590px;overflow:auto;padding-right:4px}.sortable-list.compact{max-height:630px}.sortable-row{display:grid;grid-template-columns:auto 42px minmax(180px,1fr) auto;gap:10px;align-items:center;background:#0c1f32;border:1px solid #24445e;border-radius:5px;padding:9px 10px}.sortable-row.disabled{opacity:.58}.sortable-row .rank{color:var(--sky);font-weight:800;text-align:center}.sortable-row b{display:block}.sortable-row small{color:var(--muted);display:block;margin-top:3px}.sortable-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.sortable-actions{display:flex;gap:4px}.sortable-actions button{width:31px;height:31px;padding:0}.empty-state{min-height:120px;display:grid;place-items:center;color:var(--muted);border:1px dashed #31516c;border-radius:6px}.sortable-list:not(.empty-state){min-height:0;border:0}
.notice{background:#10283f;border-left:4px solid var(--sky);padding:12px 15px;color:#c5d7e5;margin-bottom:15px}.sponsor-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px}.sponsor-card{background:#0c1f32;border:1px solid #24445e;border-radius:7px;padding:15px;box-shadow:var(--shadow)}.sponsor-card header{position:static;min-height:0;background:transparent;padding:0 0 12px;border-bottom:1px solid #24445e;display:flex}.sponsor-card h3{margin:0}.sponsor-card .slot-status{color:var(--muted);font-size:11px}.sponsor-preview{height:130px;background:repeating-conic-gradient(#0a1929 0 25%,#0c2137 0 50%) 50%/24px 24px;border:1px solid #31516c;margin:12px 0;display:grid;place-items:center;overflow:hidden;position:relative}.sponsor-preview img{width:100%;height:100%;object-fit:contain;padding:10px}.sponsor-preview .no-logo{color:var(--muted);font-weight:800}.sponsor-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sponsor-fields label{color:#b8c9d8;font-size:11px}.sponsor-fields .wide{grid-column:1/-1}.sponsor-actions{display:flex;gap:8px;margin-top:12px}.upload-button{background:#1258bb;position:relative;overflow:hidden}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.remove-logo{background:#351920;border-color:#73313a}.slot-switch{display:flex;align-items:center;gap:8px}.slot-switch input{accent-color:var(--green)}
.map-view-strip label:first-child{max-width:190px}.map-editor-grid{display:grid;grid-template-columns:minmax(330px,1.35fr) minmax(280px,.65fr);gap:15px}.map-style-panel{background:#0c1f32;border:1px solid #24445e;border-radius:7px;padding:15px;height:max-content;position:sticky;top:173px}.map-style-panel h3{margin:4px 0 12px;color:#bcd0e1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{color:#b8c9d8;font-size:12px}.form-grid textarea{min-height:100px}.wide{grid-column:1/-1}.compact-form{gap:9px}.compact-form input{margin-top:5px}.switch-row{display:flex!important;align-items:center;gap:9px;color:#c4d4e1;font-size:12px;margin:12px 0}.switch-row input{width:18px!important;height:18px;accent-color:var(--blue);margin:0!important}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-grid label{display:flex;gap:8px;align-items:center;background:#0a1929;border:1px solid #29445c;padding:9px;color:#c1d2df}.check-grid input{accent-color:var(--blue)}.label-preview{min-height:120px;margin-top:15px;background:#6a6c6e;display:grid;place-items:center;border:1px solid #31516c}.label-preview span{font-weight:800;padding:4px 9px;background:rgba(236,237,235,.9);color:#101820;border:1px solid rgba(75,84,94,.75)}
.playlist-tools{flex-wrap:wrap}.playlist-tools label{min-width:170px}.inline-switch{flex:0 0 auto!important;align-self:center;margin:0!important}.playlist-head,.playlist-row{display:grid;grid-template-columns:50px minmax(250px,1.5fr) 80px 86px minmax(170px,.8fr) minmax(140px,.7fr);gap:8px;align-items:center}.playlist-head{padding:9px 10px;background:#112b45;color:#91a8bc;font-size:9px;letter-spacing:.9px;border:1px solid #24445e;border-radius:5px 5px 0 0}.playlist-list{max-height:680px;overflow:auto;border:1px solid #24445e;border-top:0}.playlist-row{padding:9px 10px;background:#0c1f32;border-bottom:1px solid #1f3d57}.playlist-row:last-child{border-bottom:0}.playlist-row.disabled{opacity:.6}.playlist-row input,.playlist-row select{margin:0;padding:8px}.playlist-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.playlist-name b,.playlist-name small{display:block}.playlist-name small{color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.condition-value.hidden{visibility:hidden}
.brand-preview{margin-top:18px;text-align:center;background:linear-gradient(120deg,var(--preview-primary,#1e6bff),#07182c 42%,var(--preview-accent,#00c2bc))}.brand-preview span{font:25px Orbitron,Arial}.brand-preview h3{font-size:19px;margin:9px}.brand-preview p{margin:0;color:#cce9f4}
.validation-results{display:grid;gap:8px}.validation-results div{padding:12px;background:#0d2135;border-left:4px solid var(--green);display:flex;gap:10px}.validation-results div.warning{border-left-color:var(--amber)}.validation-results div.error{border-left-color:var(--red)}.validation-results div.neutral{border-left-color:#5b748b}.validation-results span{color:#bdcedb}.deploy-actions{display:flex;gap:10px;margin-top:18px;align-items:center}.primary{background:#1258bb!important;border-color:#247df5!important;color:#fff}.button-link{padding:11px 14px;background:#102941;border:1px solid #31516c;color:#fff;border-radius:4px;text-decoration:none}.button-link.disabled{pointer-events:none;opacity:.45}
.inspector{background:#081725;border-left:1px solid #1b3b56;padding:20px 15px;position:sticky;top:153px;height:calc(100vh - 153px)}.inspector h3{font-size:11px;color:#a9bfd1;letter-spacing:1px}.kv{display:grid;grid-template-columns:1fr;gap:4px}.kv span{font-size:10px;color:var(--muted);margin-top:8px}.kv b{font-size:12px}.teal{color:var(--teal)}.inspector hr{border:0;border-top:1px solid #24445e;margin:20px 0}.changes{background:#0d2135;border:1px solid #24445e;padding:12px;margin-bottom:12px}.changes span{display:block;color:var(--muted);font-size:11px;margin-top:5px;line-height:1.4}.save{width:100%;background:#1258bb!important;margin-bottom:8px}.inspector>button:last-child{width:100%}.inspector button:disabled,.deploy-actions button:disabled{opacity:.45;cursor:not-allowed}
footer{padding:14px 26px;border-top:1px solid #1b3a56;color:#69b7f3}footer b{float:right;color:#70879a}
.toast{position:fixed;right:25px;bottom:25px;background:#123557;border:1px solid #2c78d1;padding:13px 18px;border-radius:5px;opacity:0;transform:translateY(15px);transition:.2s;z-index:40;max-width:460px}.toast.show{opacity:1;transform:none}.toast.error{background:#441820;border-color:var(--red)}
dialog{border:0;padding:0;background:transparent;color:var(--text)}dialog::backdrop{background:rgba(1,7,14,.78);backdrop-filter:blur(4px)}.dialog-card{width:min(470px,calc(100vw - 30px));background:#0b1d30;border:1px solid #31516c;border-radius:8px;padding:24px;box-shadow:0 24px 70px #000}.dialog-card>span{color:var(--sky);font-size:10px;letter-spacing:1.4px}.dialog-card h2{font:22px Orbitron,Arial;margin:7px 0}.dialog-card p{color:var(--muted);line-height:1.5}.dialog-card label{display:block;color:#c4d4e1}.dialog-card input{display:block;width:100%;margin-top:7px;background:#061321;border:1px solid #31536d;color:#fff;padding:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.dialog-actions button{padding:10px 15px;border:1px solid #31516c;background:#102941;color:#fff;cursor:pointer}.dialog-error{color:#ff8a94;min-height:18px;margin-top:9px}
@media(max-width:1350px){.workspace{grid-template-columns:185px minmax(600px,1fr)}.inspector{display:none}.cards{grid-template-columns:1fr 1fr}.sponsor-grid{grid-template-columns:1fr}}
@media(max-width:950px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}header,.packbar{position:static}.header-actions .clock,.header-actions .mode{display:none}.workspace{grid-template-columns:1fr}.section-nav{position:static;height:auto;display:flex;overflow:auto;flex-direction:row}.section-nav button{white-space:nowrap}.editor{padding:16px}.map-editor-grid{grid-template-columns:1fr}.map-style-panel{position:static}.playlist-head{display:none}.playlist-row{grid-template-columns:42px 1fr 72px 78px}.playlist-row select,.playlist-row .condition-value{grid-column:2/-1}.control-strip{flex-wrap:wrap}.packbar{overflow:auto}.packbar>div{white-space:nowrap}}
@media(max-width:650px){header{padding:15px}.header-actions{display:none}.packbar{padding:11px 15px}.cards,.overview-grid,.form-grid,.sponsor-fields{grid-template-columns:1fr}.wide{grid-column:auto}.sortable-row{grid-template-columns:auto 35px 1fr}.sortable-actions{grid-column:3}.sponsor-grid{grid-template-columns:1fr}.section-title{display:block}.score{margin-top:12px}.check-grid{grid-template-columns:1fr}.playlist-row{grid-template-columns:36px 1fr}.playlist-row input:not([type=checkbox]),.playlist-row select,.playlist-row .condition-value{grid-column:2}.deploy-actions{align-items:stretch;flex-direction:column}footer b{float:none;display:block;margin-top:5px}}

/* Customization Manager v0.3: cameras, custom METAR sites, and map titles. */
.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.danger-button{background:#351920!important;border-color:#73313a!important;color:#ffadb3!important}
.camera-list{display:grid;gap:6px;max-height:650px;overflow:auto}
.camera-list:not(.empty-state){min-height:0;border:0}
.camera-row{display:grid;grid-template-columns:auto 42px minmax(170px,.65fr) minmax(260px,1.35fr) auto;gap:10px;align-items:center;background:#0c1f32;border:1px solid #24445e;border-radius:5px;padding:9px 10px}
.camera-row.disabled{opacity:.58}
.camera-row .rank{color:var(--sky);font-weight:800;text-align:center}
.camera-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}
.rundown-list{display:grid;gap:7px;max-height:690px;overflow:auto}
.rundown-list:not(.empty-state){min-height:0;border:0}
.rundown-row{display:grid;grid-template-columns:42px 92px minmax(260px,1fr) 130px auto;gap:12px;align-items:center;background:#0c1f32;border:1px solid #24445e;border-left:4px solid var(--sky);border-radius:5px;padding:11px 12px}
.rundown-row.disabled{opacity:.55;border-left-color:#526273}
.rundown-row .rank{color:var(--sky);font-weight:900;text-align:center;font-size:16px}
.rundown-type{display:inline-block;text-align:center;padding:6px 8px;border-radius:4px;background:#153652;color:#bfe4ff;font-size:10px;font-weight:900;letter-spacing:.8px}
.rundown-name b,.rundown-name small{display:block}.rundown-name small{color:var(--muted);margin-top:4px}.rundown-name label{display:block;margin-top:7px;color:#9fb7c9;font-size:10px;font-weight:800;letter-spacing:.35px}.rundown-name .rundown-title{display:block;width:min(100%,520px);margin-top:4px;padding:8px 9px;background:#061321;border:1px solid #31536d;border-radius:4px;color:#fff;font-size:12px;font-weight:700}
.rundown-toggle{display:flex;align-items:center;justify-content:center;gap:7px;color:#dce8f1;font-size:10px;font-weight:800;letter-spacing:.35px}.rundown-toggle input{width:18px;height:18px;accent-color:var(--green)}.rundown-toggle.fixed{color:#7f96a9}
.camera-name b,.camera-name small{display:block}
.camera-name small{color:var(--muted);margin-top:3px}
.camera-url{color:#8eacc3;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.playlist-name .product-title{margin-top:7px;padding:7px 8px;font-size:11px}
.dialog-card.wide-dialog{width:min(650px,calc(100vw - 30px))}
.dialog-card select{display:block;width:100%;margin-top:7px;background:#061321;border:1px solid #31536d;color:#fff;padding:12px}
.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dialog-grid .wide{grid-column:1/-1}
@media(max-width:950px){.camera-row{grid-template-columns:auto 36px 1fr auto}.camera-url{grid-column:3/-1}}
@media(max-width:650px){.dialog-grid{grid-template-columns:1fr}.dialog-grid .wide{grid-column:auto}.camera-row{grid-template-columns:auto 35px 1fr}.camera-row .sortable-actions,.camera-url{grid-column:3}}
@media(max-width:950px){.rundown-row{grid-template-columns:42px 82px 1fr auto}.rundown-toggle{grid-column:3}}
@media(max-width:650px){.rundown-row{grid-template-columns:38px 76px 1fr}.rundown-row .sortable-actions,.rundown-toggle{grid-column:3}}

/* Customization Manager v0.4: paired weather, asset overlays, source modes, and widgets. */
.weather-policy-strip{display:flex;gap:22px;align-items:center;background:#0a1d31;border:1px solid #24445e;border-radius:7px;padding:10px 14px;margin-bottom:14px}.weather-policy-strip label{color:#b8c9d8;font-size:12px}.weather-policy-strip input[type=number]{width:78px;margin:0 5px;background:var(--surface);border:1px solid #31536d;color:#fff;padding:7px;border-radius:4px}
.weather-list{display:grid;gap:7px;max-height:650px;overflow:auto}.weather-list:not(.empty-state){min-height:0;border:0}.weather-row{display:grid;grid-template-columns:auto 42px minmax(170px,.7fr) minmax(210px,1fr) auto;gap:10px;align-items:center;background:#0c1f32;border:1px solid #24445e;border-radius:5px;padding:10px}.weather-row.disabled{opacity:.58}.weather-row .rank{color:var(--sky);font-weight:800;text-align:center}.weather-location b,.weather-location small{display:block}.weather-location small{color:var(--muted);margin-top:3px}.weather-toggles{display:flex;gap:8px;flex-wrap:wrap}.weather-toggles label{display:flex;align-items:center;gap:6px;padding:7px 9px;background:#081726;border:1px solid #29445c;color:#c5d7e5;font-size:11px;border-radius:4px}.weather-toggles input{accent-color:var(--blue)}
.camera-row{grid-template-columns:auto 42px minmax(170px,.55fr) minmax(250px,1fr) auto}.camera-details{grid-column:3/-1;display:grid;grid-template-columns:minmax(180px,1fr) 150px 100px 100px auto;gap:8px;align-items:end;border-top:1px solid #203d55;padding-top:9px}.camera-details label{font-size:10px;color:#a9bfd1}.camera-details input,.camera-details select{display:block;width:100%;margin-top:5px;background:#061321;border:1px solid #31536d;color:#fff;padding:8px;border-radius:4px}.camera-overlay-preview{width:70px;height:42px;background:#071321;border:1px solid #31516c;display:grid;place-items:center;overflow:hidden}.camera-overlay-preview img{max-width:100%;max-height:100%}.camera-overlay-preview span{font-size:8px;color:var(--muted)}
.manager-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 15px}.manager-actions span{color:var(--muted);font-size:11px}.manager-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:13px}.manager-grid a{display:block;text-decoration:none;color:var(--text);padding:17px;background:linear-gradient(180deg,#10283f,#0b1c2e);border:1px solid #23445f;border-radius:7px}.manager-grid a:hover{border-color:var(--sky);transform:translateY(-1px)}.manager-grid b,.manager-grid span{display:block}.manager-grid b{color:#fff;margin-bottom:7px}.manager-grid span{color:var(--muted);line-height:1.45}
.asset-editor{margin-top:18px;padding:16px;background:#0c1f32;border:1px solid #24445e;border-radius:7px}.asset-editor h3{margin:0 0 5px}.asset-editor p{color:var(--muted);margin:0 0 12px}.asset-preview{height:150px;margin:12px 0;background:repeating-conic-gradient(#0a1929 0 25%,#0c2137 0 50%) 50%/24px 24px;border:1px solid #31516c;display:grid;place-items:center;overflow:hidden}.asset-preview img{max-width:100%;max-height:100%;padding:12px}.asset-preview span{color:var(--muted);font-weight:800}.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;padding:15px;background:#0a1d31;border:1px solid #24445e;border-radius:7px}.policy-grid label{color:#b8c9d8;font-size:12px}.policy-grid select{display:block;width:100%;margin-top:6px;background:var(--surface);border:1px solid #31536d;color:#fff;padding:9px 10px;border-radius:4px}
.playlist-head,.playlist-row{grid-template-columns:50px minmax(230px,1.35fr) minmax(145px,.65fr) 72px 78px minmax(160px,.75fr) minmax(130px,.65fr)}.source-control{display:grid;gap:5px}.source-control select,.source-control input{margin:0!important}.source-url.hidden{display:none}.source-note{display:block;color:var(--muted);font-size:9px;line-height:1.2}
.widget-head,.widget-row{display:grid;grid-template-columns:50px minmax(230px,1.3fr) 72px 78px minmax(160px,.75fr) minmax(130px,.65fr) 92px;gap:8px;align-items:center}.widget-head{padding:9px 10px;background:#112b45;color:#91a8bc;font-size:9px;letter-spacing:.9px;border:1px solid #24445e;border-radius:5px 5px 0 0}.widget-list{max-height:680px;overflow:auto;border:1px solid #24445e;border-top:0}.widget-list:not(.empty-state){min-height:0;border-radius:0}.widget-row{padding:10px;background:#0c1f32;border-bottom:1px solid #1f3d57}.widget-row.disabled{opacity:.6}.widget-row input,.widget-row select{display:block;width:100%;margin:0;background:var(--surface);border:1px solid #31536d;color:#fff;padding:8px;border-radius:4px}.widget-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.widget-name b,.widget-name small{display:block}.widget-name small{color:var(--muted);margin-top:3px}.data-required{font-size:10px;color:#bcd0e1;text-align:center}
@media(max-width:1150px){.weather-row{grid-template-columns:auto 36px 1fr auto}.weather-toggles{grid-column:3/-1}.camera-details{grid-template-columns:1fr 1fr 1fr}.playlist-head{display:none}.playlist-row{grid-template-columns:42px 1fr 130px 65px 72px}.playlist-row .product-condition,.playlist-row .condition-value{grid-column:auto}.widget-head{display:none}.widget-row{grid-template-columns:42px 1fr 70px 75px}.widget-row .widget-condition,.widget-row .widget-condition-value,.widget-row .data-required{grid-column:2/-1}.manager-grid{grid-template-columns:1fr}}
@media(max-width:650px){.weather-policy-strip{align-items:flex-start;flex-direction:column}.weather-row{grid-template-columns:auto 35px 1fr}.weather-row .sortable-actions,.weather-toggles{grid-column:3}.camera-details{grid-template-columns:1fr;grid-column:1/-1}.policy-grid{grid-template-columns:1fr}.widget-row{grid-template-columns:36px 1fr}.widget-row>*:not([type=checkbox]){grid-column:2}}

/* Customization Manager v0.5: web-based severe-weather policy. */
.severe-global-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:13px;margin-bottom:15px}.severe-control-card{background:linear-gradient(180deg,#10283f,#0b1c2e);border:1px solid #23445f;border-radius:7px;padding:15px}.severe-control-card h3{margin:0 0 12px;color:#d8e9f5}.severe-control-card>label:not(.switch-row){display:block;color:#b8c9d8;font-size:11px;margin-top:12px}.severe-control-card input[type=number],.severe-control-card select{display:block;width:100%;margin-top:6px;background:var(--surface);border:1px solid #31536d;color:#fff;padding:9px 10px;border-radius:4px}.field-help{color:var(--muted);font-size:11px;line-height:1.45}.source-badge{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding:10px;background:#071a2b;border:1px solid #245273;border-radius:5px}.source-badge b{color:var(--green);font-size:10px;letter-spacing:.8px}.source-badge span{color:#a8bfd0;font-size:10px}.severe-tools{flex-wrap:wrap}.severe-tools .button-group{align-items:center}.severe-import{display:inline-flex;align-items:center;padding:9px 11px}.alert-policy-head,.alert-policy-row{display:grid;grid-template-columns:minmax(270px,1.45fr) 54px 62px 56px 56px minmax(130px,.65fr) minmax(140px,.72fr) 72px minmax(105px,.55fr);gap:8px;align-items:center}.alert-policy-head{padding:9px 10px;background:#112b45;color:#91a8bc;font-size:9px;letter-spacing:.8px;border:1px solid #24445e;border-radius:5px 5px 0 0}.alert-policy-list{max-height:720px;overflow:auto;border:1px solid #24445e;border-top:0}.alert-policy-list:not(.empty-state){min-height:0;border-radius:0}.alert-policy-row{padding:10px;background:#0c1f32;border-bottom:1px solid #1f3d57}.alert-policy-row.disabled{opacity:.58}.alert-policy-row>input[type=checkbox]{width:18px;height:18px;justify-self:center;accent-color:var(--blue)}.alert-policy-row>input[type=color]{width:43px;height:38px;padding:2px;background:#061321;border:1px solid #31536d;border-radius:4px}.alert-policy-row>input[type=number],.alert-policy-row>select,.alert-rule-name input,.alert-rule-name textarea{display:block;width:100%;margin:0;background:var(--surface);border:1px solid #31536d;color:#fff;padding:8px;border-radius:4px}.alert-rule-name{display:grid;grid-template-columns:16px 1fr;gap:7px;align-items:center;min-width:0}.alert-rule-name>span:nth-child(2){min-width:0}.alert-rule-name b,.alert-rule-name small{display:block}.alert-rule-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-rule-name small{color:var(--muted);margin-top:3px;text-transform:uppercase}.alert-rule-name input,.alert-rule-name details{grid-column:2;margin-top:5px}.alert-rule-name details{color:var(--sky);font-size:10px}.alert-rule-name summary{cursor:pointer}.alert-rule-name textarea{margin-top:5px;resize:vertical;font-size:11px;line-height:1.35}.alert-swatch{width:14px;height:42px;border-radius:3px;grid-row:1/span 4}.notice a{color:var(--sky)}
@media(max-width:1450px){.alert-policy-head{display:none}.alert-policy-row{grid-template-columns:minmax(250px,1fr) 54px repeat(3,48px) minmax(125px,.6fr) minmax(135px,.7fr) 70px minmax(105px,.55fr)}}
@media(max-width:1100px){.severe-global-grid{grid-template-columns:1fr}.alert-policy-row{grid-template-columns:minmax(240px,1fr) 50px 44px 44px 44px}.alert-policy-row>select,.alert-policy-row>input[type=number]{grid-column:span 1}.alert-policy-row .alert-map-mode{grid-column:1/3}.alert-policy-row .alert-takeover-mode{grid-column:3/6}.alert-policy-row .alert-social-mode{grid-column:1/6}}
@media(max-width:650px){.alert-policy-row{grid-template-columns:1fr 50px 42px}.alert-policy-row>*{grid-column:auto}.alert-rule-name{grid-column:1/-1}.alert-policy-row .alert-map-mode,.alert-policy-row .alert-takeover-mode,.alert-policy-row .alert-social-mode{grid-column:1/-1}.severe-tools .button-group{flex-wrap:wrap}}
.alert-rule-name details label{display:block;margin-top:7px;color:var(--muted);font-size:10px}.alert-rule-name details select{display:block;width:100%;margin-top:4px;background:var(--surface);border:1px solid #31536d;color:#fff;padding:7px;border-radius:4px}.alert-rule-name textarea{margin-top:7px}.alert-rule-name textarea:disabled{opacity:.45;cursor:not-allowed}
.playlist-head,.playlist-row{grid-template-columns:50px 58px minmax(250px,1.35fr) minmax(145px,.65fr) 72px 78px minmax(160px,.75fr) minmax(130px,.65fr)}
.playlist-category{margin:20px 0 9px;padding:8px 10px;border-left:4px solid var(--blue);background:#0a1d30;color:#9fd8ff;font-size:11px;letter-spacing:1.1px;text-transform:uppercase}
.playlist-category:first-child{margin-top:8px}
.playlist-family{margin-bottom:14px;border:1px solid #24445e;border-radius:6px;overflow:hidden;background:#091a2b}
.playlist-family>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 12px;background:#102a43;border-bottom:1px solid #31536d}
.playlist-family>header h3{margin:0;color:#fff;font-size:13px;letter-spacing:.25px}
.playlist-family>header span{color:#91a8bc;font-size:9px;letter-spacing:.75px;text-transform:uppercase}
.playlist-family .playlist-row{border-left:0;border-right:0}
.playlist-family .playlist-row:last-child{border-bottom:0}
.playlist-row input.product-automatic{width:18px;height:18px;justify-self:center;accent-color:var(--green)}
.automatic-note{display:block;margin-top:4px;color:#85b49a;font-size:9px;letter-spacing:.35px;text-transform:uppercase}
.automatic-interval{display:flex;align-items:center;gap:6px;margin-top:7px;color:#a9becf;font-size:10px;text-transform:uppercase;letter-spacing:.35px}.playlist-row .automatic-interval input.product-check-minutes{display:inline-block;width:64px;margin:0;padding:5px 7px;text-align:center}
@media(max-width:1150px){.playlist-head{display:none}.playlist-row{grid-template-columns:54px 64px minmax(230px,1fr) minmax(135px,.6fr) 72px 78px}.playlist-row .product-condition,.playlist-row .condition-value{grid-column:span 3}.playlist-family>header{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:720px){.playlist-row{grid-template-columns:54px 64px 1fr}.playlist-row>*{min-width:0}.playlist-row .product-title,.playlist-row .product-source,.playlist-row .product-order,.playlist-row .product-duration,.playlist-row .product-condition,.playlist-row .condition-value{grid-column:1/-1}.playlist-family>header span{line-height:1.35}}
