@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito-sans.ttf") format("truetype");font-weight:200 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:#1b2027;color:#e9edf1;font:12px "Segoe UI",Arial,sans-serif;overflow:hidden}button{font:inherit;color:#e8edf2;background:#343b44;border:1px solid #59616b;border-radius:2px}header{height:28px;background:#242a31;display:flex;align-items:center;border-bottom:1px solid #090b0d;padding:0 8px}.logo{font-size:16px;margin-right:22px}.logo span{color:#20c5c8}header nav{color:#bfc5ca;font-size:11px}.clock{margin-left:auto;font:20px Consolas;color:white}.toolbar{height:42px;background:linear-gradient(#3a414a,#2b3138);border-bottom:1px solid #111;display:flex;align-items:center;gap:4px;padding:5px}.toolbar button{height:29px;min-width:32px}.toolbar i{width:1px;height:25px;background:#606872;margin:0 5px}.toolbar b{color:#38d87c}.toolbar span{margin-left:auto;color:#b9c2ca;margin-right:8px}main{height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(650px,1.8fr) minmax(380px,1fr);grid-template-rows:1fr 210px;gap:3px;padding:3px;background:#11151a}.left{min-width:0;display:grid;grid-template-rows:104px 1fr;gap:3px}.carts{display:flex;gap:3px;align-items:stretch;min-width:0}.cart{width:260px;flex:0 0 260px}.studio-status{flex:1;min-width:0;background:#292f36;border:1px solid #555d66;display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:8px 12px}.studio-status div{text-align:right}.studio-status small{display:block;color:#8f9ba5;font-size:9px}.studio-status b{display:block;font:15px Consolas;color:#dce4ea;margin-top:4px}.studio-status .ok{color:#48d984}.cart{background:#30363e;border:1px solid #565e68;position:relative;padding:5px}.ct{display:grid;grid-template-columns:32px 1fr;grid-template-rows:22px 17px}.ct>b{grid-row:1/3;background:#13a8d8;font-size:21px;text-align:center;padding-top:5px;margin-right:6px}.cart.b .ct>b{background:#32b85a}.ct strong{font-size:13px;white-space:nowrap;overflow:hidden}.ct small{color:#b7c0c8}.display{position:absolute;right:5px;top:5px;display:grid;grid-template-columns:auto 58px;line-height:18px}.display em{font-style:normal;font-size:9px;color:#8ea0af}.display span{font:14px Consolas;color:#60e2e5;text-align:right}.wave{position:absolute;left:44px;right:8px;top:50px;height:18px;background:repeating-linear-gradient(90deg,#15aee8 0 2px,transparent 2px 4px);clip-path:polygon(0 48%,4% 15%,8% 70%,12% 30%,16% 80%,20% 22%,25% 66%,30% 18%,35% 74%,40% 35%,46% 62%,52% 25%,58% 78%,64% 22%,70% 65%,77% 30%,84% 75%,91% 25%,100% 50%,100% 58%,0 58%)}.alt{filter:hue-rotate(75deg)}.controls{position:absolute;left:5px;bottom:5px;display:flex;gap:3px}.controls button{width:42px;height:27px;font-size:14px}.controls .play{background:#e7edf2;color:#15191d}.playlist{background:#30363e;border:1px solid #555d66;overflow:hidden}.title,.aside-title{height:25px;background:#252b32;border-bottom:1px solid #565e68;padding:5px 7px;font-weight:bold}.title span{float:right;color:#9fa9b2;font-weight:normal}.cols,.r{display:grid;grid-template-columns:68px 54px 1fr 45px 45px;align-items:center}.cols{height:22px;background:#252b32;color:#98a4ae;font-size:9px;padding:0 6px}.r{height:27px;padding:0 6px;border-top:1px solid #474e56}.r:nth-child(even){background:#343b43}.r.current{background:#0b6e98}.r time,.r em,.r>span{font-style:normal;font-family:Consolas}.r i{font-style:normal;font-size:9px;color:#69d7ff}.r.jing i{color:#ffd64d}.r.vt i{color:#d48cff}.r.ad i{color:#ff8178}.r p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r em,.r>span{text-align:right;color:#d1d7dc}aside{min-width:0;display:grid;grid-template-rows:minmax(174px,42%) 1fr;gap:3px}.jgrid{height:calc(100% - 25px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:71px;align-content:start;gap:3px;padding:3px;background:#292f36;overflow-y:auto}.jp{background:#30363e;border:1px solid #59616a;padding:4px}.jp header{height:22px;padding:0;background:#20262c}.jp header b{background:#16a6d2;width:20px;height:20px;text-align:center;padding:3px}.jp header span{margin-left:5px;font-size:9px}.jp header em{margin-left:auto;font:12px Consolas;color:#53e3e6}.db{background:#30363e;border:1px solid #555d66;overflow:hidden}.db .aside-title button{float:right;height:18px}.db input{width:calc(100% - 8px);height:26px;margin:4px;background:#20262c;border:1px solid #555d66;color:#eee;padding:4px}.dbbody{display:grid;grid-template-columns:125px 1fr;height:calc(100% - 59px)}.tree{border-right:1px solid #555d66;padding:6px;line-height:21px;color:#d0d5da}.tracks{padding:4px;overflow:hidden}.tracks b,.tracks small{display:block;padding:3px 4px}.tracks b{border-top:1px solid #464e56}.tracks small{color:#9ba6af}.mix{grid-column:1/3;background:#30363e;border:1px solid #555d66;overflow:hidden}.mixhead{height:26px;background:#252b32;padding:5px 7px}.mixhead span{margin-left:20px;color:#98a4ae}.mixhead button{float:right}.ticks{height:22px;margin-left:75px;color:#87939e;font:10px Consolas;padding:5px;border-bottom:1px solid #4a525a}.lane{height:49px;display:grid;grid-template-columns:70px 1fr;align-items:center;border-bottom:1px solid #4a525a;padding:4px}.lane label{font-size:9px;color:#aeb7bf}.clip{height:30px;padding:8px 10px;font-size:10px;border-radius:2px}.c1{width:56%;background:#167b91}.c2{width:31%;margin-left:44%;background:#744e87}.c3{width:54%;margin-left:32%;background:#2b7a51}footer{height:22px;background:#242a31;border-top:1px solid #535b64;padding:4px 8px;color:#9da7b0;font-size:10px}footer b{color:#e6ebef}footer span{float:right;color:#45d685}@media(max-width:1100px){header nav{display:none}.display{display:none}.wave{right:8px}.r{grid-template-columns:62px 45px 1fr 40px 40px}}

.modal{display:none;position:fixed;inset:0;background:#0009;z-index:50;align-items:center;justify-content:center}.modal.show{display:flex}.modalbox{width:650px;background:#30363e;border:1px solid #707985;box-shadow:0 18px 60px #000}.modalhead{height:34px;background:#242a31;border-bottom:1px solid #59616b;padding:7px 9px}.modalhead button{float:right}.modalbody{padding:16px}.modalbody p{margin-top:0;color:#c7d0d7}.settingrow{display:grid;grid-template-columns:1fr 50px 110px 210px;gap:6px;align-items:center;padding:12px;background:#272d34;border:1px solid #535c66}.settingrow b{font:18px Consolas;text-align:center;color:#58e1e4}.settingrow button{height:30px}.modalbody small{display:block;margin-top:10px;color:#9faab3}/* v0.2.3 layout corrections */
header .clock{margin-left:auto;min-width:190px;text-align:right;font:700 30px/1 Consolas,monospace;color:#fff;letter-spacing:1px;padding-right:6px}
.left{grid-template-rows:104px minmax(0,1fr)}
.carts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:100%;min-width:0}
.cart{width:auto;min-width:0;max-width:none;flex:none;height:104px}
.studio-status{display:none}
aside{min-width:360px;grid-template-rows:minmax(174px,42%) minmax(0,1fr)}
.jgrid{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;grid-auto-flow:row;grid-auto-rows:71px;gap:3px;min-width:0}
.jp{width:auto !important;min-width:0;max-width:none;margin:0}
.jp header{display:flex;width:100%;min-width:0}

@media(max-width:1100px){
 main{grid-template-columns:minmax(560px,1.65fr) minmax(330px,1fr)}
 header .clock{font-size:26px;min-width:165px}
 .carts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .jgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* Players styled after the supplied MultiPlayer reference. */
.left{grid-template-rows:166px minmax(0,1fr)}
.cart{height:166px;padding:5px;background:#484848;border:1px solid #646464;display:flex;flex-direction:column;gap:4px}
.player-display{height:49px;flex:none;display:grid;grid-template-columns:22px minmax(0,1fr) 60px 38px;gap:5px;align-items:center;background:linear-gradient(#181818,#050505);padding:4px;color:#aebbc2}
.player-letter{align-self:start;background:#14aede;color:white;font-size:16px;text-align:center;border-radius:2px;line-height:22px}
.cart.b .player-letter{background:#31cb30}
.runtime small,.intro small{display:block;font-size:10px;color:#26a5cb;font-weight:bold;margin-bottom:1px}
.cart.b .runtime small,.cart.b .intro small{color:#32bf31}
.runtime span{font:26px/1 Consolas,monospace;white-space:nowrap;letter-spacing:-1px}
.intro span{font:24px/1 Consolas,monospace}.intro sup{font-size:13px}.air-status{font:8px/1.6 Arial;text-align:right;color:#737c81}.air-status b{color:#9ca8ae}
.progress{height:7px;flex:none;background:#050505;border:1px solid #222}.progress span{height:100%;display:block;background:#19b9e9}
.cart .controls{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;height:29px;flex:none}
.cart .controls button{width:auto;height:29px;border:1px solid #8b8b8b;background:linear-gradient(#e7e7e7,#bcbcbc);color:#252b30;font-size:18px;border-radius:2px;box-shadow:inset 0 1px #fff8}.cart.a .controls .play{color:#169adc;background:#b4c7d1}
.track-info{display:grid;grid-template-rows:1fr 1fr;gap:3px;min-width:0}.track-info>div{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;min-height:25px;background:#303030;border:1px solid #5d5d5d;padding:3px 5px}.track-info small{color:#9b9b9b;font-size:8px}.track-info span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eee}
aside{grid-template-rows:360px minmax(0,1fr)}.jingle-panel{min-height:0;overflow:hidden;border:1px solid #555d66}.jgrid{height:calc(100% - 25px);grid-auto-rows:166px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.jp{padding:0;border:0}.jp .cart{width:100%;height:166px}.jp .runtime span{font-size:22px}.jp .player-display{grid-template-columns:20px minmax(0,1fr) 42px 30px;gap:3px}.jp .intro span{font-size:20px}.jp .track-info span{font-size:10px}.jp .controls button{width:auto;height:29px}
body>header{height:42px}main{height:calc(100vh - 106px)}body>header .clock{font-size:32px}
@media(max-width:1100px){.runtime span{font-size:24px}.jp .runtime span{font-size:19px}}

/* Compact OmniPlayer-style playlist with separate artist and title columns. */
.left{grid-template-rows:132px minmax(0,1fr)}.cart,.jp .cart{height:132px}.track-info{display:block;min-height:22px;background:#333;border:1px solid #616161;padding:4px 5px;overflow:hidden}.track-info .player-track{display:block;font-size:11px;text-overflow:ellipsis}
.playlist{background:#4b4b4b;border-color:#686868}.playlist .title{background:linear-gradient(#525252,#383838);color:#ddd;height:24px;font-size:11px}.playlist .cols,.playlist .r{grid-template-columns:66px 43px minmax(100px,.9fr) minmax(140px,1.5fr) 40px 42px;gap:6px;padding:0 6px}.playlist .cols{background:#353535;border-bottom:1px solid #626262;color:#b9b9b9;height:22px;font-size:9px}.playlist .r{height:25px;border-top:0;background:#4b4b4b;color:#eee;font-size:12px}.playlist .r:nth-child(even){background:#505050}.playlist .r.current{background:#087ba2;color:white}.playlist .r time{color:#f4a134;font-weight:bold;font-size:11px}.playlist .r i{font-size:8px}.playlist .r p{font-weight:normal;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.playlist .r em,.playlist .r>span{font:11px Consolas,monospace;color:#ddd}.playlist .r:hover{box-shadow:inset 0 0 0 1px #8ca5af}.jgrid{grid-auto-rows:132px}aside{grid-template-rows:292px minmax(0,1fr)}
@media(max-width:1100px){.playlist .cols,.playlist .r{grid-template-columns:62px 36px minmax(90px,.9fr) minmax(120px,1.5fr) 34px 38px;gap:4px}}

/* Each jingle player occupies its own column in one horizontal row. */
.jgrid{--jingle-columns:4;display:grid!important;grid-template-columns:repeat(var(--jingle-columns),minmax(190px,1fr))!important;grid-template-rows:132px;grid-auto-flow:column;grid-auto-columns:max(190px,calc((100% - 9px)/4));grid-auto-rows:132px;align-content:start;overflow-x:auto;overflow-y:hidden}
aside{grid-template-rows:174px minmax(0,1fr)}
@media(max-width:1100px){.jgrid{grid-template-columns:repeat(var(--jingle-columns),minmax(190px,1fr))!important}}

/* Equal left and right workspace widths. */
main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
aside{min-width:0}.left{min-width:0}
@media(max-width:1100px){main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Studio split: playlist 35%, jingle players and database 65%. */
main{grid-template-columns:minmax(0,35fr) minmax(0,65fr)}
@media(max-width:1100px){main{grid-template-columns:minmax(0,35fr) minmax(0,65fr)}}
.playlist .cols,.playlist .r{grid-template-columns:60px 34px minmax(0,.85fr) minmax(0,1.25fr) 32px 34px;gap:4px}
.carts .runtime span{font-size:clamp(17px,1.7vw,26px)}
.carts .player-display{grid-template-columns:20px minmax(0,1fr) 40px 30px;gap:3px}

/* Waveform overview in the mix editor only. */
main{grid-template-rows:minmax(0,1fr) 282px}.mix .ticks{height:22px;margin-left:75px;background:repeating-linear-gradient(90deg,transparent 0 49px,#444a52 50px 51px);padding-top:4px}
.mix .lane{height:75px;background:#23272c;grid-template-columns:70px minmax(0,1fr);padding:3px 4px}.mix .clip{position:relative;height:66px;padding:0;border:1px solid #54828c;border-radius:0;overflow:hidden;background:#173e47}.mix .c2{background:#37273e;border-color:#796184}.mix .c3{background:#1d3b2c;border-color:#49785b}.clip-name{position:absolute;z-index:2;top:3px;left:6px;font-size:10px;color:#eaf4f5;background:#172127b0;padding:1px 4px;max-width:95%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waveform-svg{display:block;width:100%;height:100%}.wave-peaks{stroke:#38b9d2;stroke-width:2;fill:none}.c2 .wave-peaks{stroke:#c58ade}.c3 .wave-peaks{stroke:#68ce85}.wave-center{stroke:#ffffff25;stroke-width:1}.fade-line{stroke:#ffdb64;stroke-width:2;fill:none;vector-effect:non-scaling-stroke}.cue-line{stroke:#fff8;stroke-width:1;vector-effect:non-scaling-stroke}

/* Configurable database columns. */
.db{position:relative;display:flex;flex-direction:column;min-height:0}.db>.aside-title{flex:none}.db>input{flex:none}.db .dbbody{flex:1;min-height:0;height:auto;grid-template-columns:115px minmax(0,1fr)}.db .tracks{overflow:auto;padding:0}.database-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px;color:#e5e5e5}.database-table th{position:sticky;top:0;background:#252b32;color:#b9c5ce;text-align:left;font-size:10px;border-bottom:1px solid #69717a;padding:6px 8px;z-index:1}.database-table td{padding:6px 8px;border-bottom:1px solid #4a5158;border-right:1px solid #41484f;max-width:250px;overflow:hidden;text-overflow:ellipsis}.database-table tr:nth-child(even){background:#363d44}.database-table tbody tr:hover{background:#185a75}.database-table [data-column="duration"],.database-table [data-column="intro"],.database-table [data-column="year"]{font-family:Consolas,monospace;text-align:right}.database-table [hidden]{display:none!important}.db .aside-title button{height:20px;margin-top:-3px;padding:0 8px}.column-picker{position:absolute;z-index:8;right:4px;top:25px;width:190px;padding:8px;background:#252b32;border:1px solid #707985;box-shadow:0 6px 18px #0009}.column-picker label{display:flex;align-items:center;gap:7px;padding:6px;cursor:pointer}.db .column-picker input{width:14px;height:14px;margin:0;accent-color:#18aac8}.column-picker[hidden]{display:none}

/* Uploaded JamieRadio logo in the studio header. */
body>header .logo-image{position:relative;flex:0 0 184px;width:184px;height:38px;overflow:hidden;background:#fff;border-radius:3px;margin-right:18px}body>header .logo-image img{display:block;width:184px;height:auto;max-width:none;position:absolute;left:0;top:50%;transform:translateY(-50%)}

/* Clean list view without spreadsheet grid lines. */
.database-table td,.database-table th{border:0}.database-table tbody tr{background:#30363e}.database-table tbody tr:nth-child(even){background:#343b43}.database-table tbody tr:hover{background:#185a75}

.database-actions{display:flex;gap:4px;padding:5px;flex-wrap:wrap;background:#282e35}.database-actions button{padding:4px 7px;font-size:10px}.database-actions button:disabled{opacity:.45;cursor:default}.empty-state{padding:22px 12px;color:#9faab5;font-size:12px;line-height:1.8}.database-table tr.selected{background:#087ba2!important}.database-table td{cursor:pointer}.tree button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:5px;color:#ccc}.tree button.active{background:#125b76;color:white}.tree{overflow:auto}.audio-location{padding:12px;background:#252b32;border:1px solid #535c66;margin-bottom:16px}.audio-location p{margin:8px 0}.track-form{display:grid;gap:10px}.track-form label{display:grid;grid-template-columns:135px 1fr;align-items:center}.track-form input{height:30px;background:#20262c;border:1px solid #626c76;color:white;padding:5px}.track-form button{height:30px}.track-form #trackPath{font-size:11px;overflow-wrap:anywhere;color:#a9b4be}.track-form small{margin:0}.empty-clip{opacity:.45}.playlist .r.selected{outline:1px solid #19a8ca;outline-offset:-1px}.db .tracks{position:relative}footer{display:flex;align-items:center;gap:12px}footer #appStatus{float:none;flex:1;color:#bbc7d1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}footer .version{float:none}.toolbar b{color:#78b5c6}.playlist .title span{font-size:10px}.jp.drag-over{outline:2px solid #19bddc}.waveform-svg{position:relative}.playlist #playlistRows{overflow:auto;height:calc(100% - 46px)}

.import-status{padding:5px 8px;font-size:11px;background:#25313b;color:#b9d4df;flex:none;line-height:1.5;white-space:normal}.db>input{margin-top:4px}

.icon-toolbar{height:58px;display:flex;align-items:center;gap:5px;padding:5px 8px;background:#232a32;border-bottom:1px solid #10151b}.icon-button{width:49px;height:48px;padding:4px;background:#2b333d;border:1px solid #495360;border-radius:5px;cursor:pointer}.icon-button img{width:100%;height:100%;object-fit:contain}.icon-button:hover{background:#3b4755;border-color:#22c6e5}.icon-button:focus-visible{outline:2px solid #22c6e5;outline-offset:1px}main{height:calc(100vh - 164px)}

.controls button,.controls button.play{padding:0;border:0;background:transparent;box-shadow:none;height:29px;min-width:0}.controls button img{display:block;width:100%;height:100%;object-fit:fill}.controls button:hover img{filter:brightness(1.2)}.controls button:active img{transform:translateY(1px)}

.cart .controls button,.cart.a .controls button.play{padding:0;border:0;background:transparent;box-shadow:none;min-width:0}

/* Keep jingle text within its fixed column, including long unbroken filenames. */
.jgrid>.jp,.jp .cart,.jp .track-info,.jp .player-display,.jp .runtime{min-width:0;max-width:100%}.jp .cart{overflow:hidden}.jp .track-info{width:100%;overflow:hidden}.jp .track-info .player-track{width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Four vertical jingle banks, each with its own scrollable library. */
aside{grid-template-rows:minmax(290px,48%) minmax(0,1fr)}
.jgrid{height:calc(100% - 25px);grid-template-rows:minmax(0,1fr);grid-auto-rows:minmax(0,1fr)}
.jgrid>.jp{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#30363e;border-right:1px solid #171d23}.jp .cart{flex:0 0 132px}
.jingle-library{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.jingle-add{flex:none;margin:4px;padding:4px;font-size:10px}.jingle-items{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.jingle-row{display:flex;min-width:0;background:#454b53}.jingle-row:nth-child(even){background:#3b424a}.jingle-track{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:5px 7px;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:2px 4px;cursor:pointer}.jingle-track strong,.jingle-track span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.jingle-track strong{font-weight:normal}.jingle-track span{grid-row:2;color:#b4bec7;font-size:10px}.jingle-track small{grid-column:2;grid-row:1/3;align-self:center;font-family:Consolas;color:#e0e7ed}.jingle-track:hover{background:#086f91}.jingle-remove{border:0;background:transparent;flex:0 0 20px;color:#aeb9c2;cursor:pointer}.jingle-empty{padding:8px;font-size:10px;color:#a5b1ba;line-height:1.5}

.jingle-track{align-items:center;padding:5px 6px;min-height:25px}.jingle-track small{grid-row:1}.jingle-track strong{font-size:10px}.jingle-track:focus{background:#087ba2;outline:0}
.cart .controls .play img{filter:grayscale(1) brightness(.8)}.cart .controls .play:hover img{filter:grayscale(1) brightness(1)}

.cart .controls .play{position:relative}.playing-triangle{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}.playing-triangle path{fill:#18b5ff;stroke:#8eeaff;stroke-width:3;stroke-linejoin:round}.cart.is-playing .playing-triangle{opacity:1}

.planner-shortcuts{margin-left:auto;display:flex;gap:5px;flex:none}.icon-toolbar{width:100%}

/* Jingle displays contain only elapsed time and intro time. */
.jp .player-display{grid-template-columns:minmax(0,1fr) 48px;gap:6px;padding:6px;height:49px;overflow:hidden}
.jp .player-letter,.jp .air-status,.jp .runtime small,.jp .intro small{display:none}
.jp .runtime{grid-column:1;overflow:hidden}.jp .intro{grid-column:2;min-width:0;text-align:right;overflow:hidden}
.jp .runtime span{font-size:21px;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.jp .intro span{font-size:21px;line-height:1;white-space:nowrap;color:#32bf31}
#icon-settings img{clip-path:polygon(38% 3%,62% 3%,65% 13%,73% 13%,79% 10%,91% 22%,86% 34%,95% 38%,98% 44%,98% 60%,88% 64%,85% 72%,90% 79%,78% 90%,65% 84%,62% 97%,39% 97%,36% 85%,27% 85%,20% 90%,9% 78%,14% 65%,3% 61%,3% 40%,14% 36%,15% 28%,10% 22%,22% 10%,35% 16%)}

.context-menu{position:fixed;z-index:200;background:#303943;border:1px solid #6c7988;box-shadow:0 4px 16px #0008;padding:3px;min-width:180px}.context-menu[hidden]{display:none}.context-menu button{width:100%;border:0;text-align:left;padding:8px;background:transparent;cursor:pointer}.context-menu button:hover,.context-menu button:focus{background:#087ba2}.category-modal{width:380px;max-width:calc(100vw - 24px)}.category-modal label{display:block;margin-bottom:8px}.category-modal input{width:100%;padding:8px;background:#20262c;color:#fff;border:1px solid #626c76}.category-modal #categoryError{color:#ffaaa0;min-height:18px}.category-modal #saveCategory{padding:7px 15px}

/* One shared time/intro layout for every player; Intro is the rightmost field. */
.cart .player-display,.carts .player-display,.jp .player-display{grid-template-columns:minmax(0,1fr) 52px;gap:6px;padding:6px;height:49px;align-items:center}
.cart .player-letter,.cart .air-status,.cart .runtime small{display:none}
.cart .runtime{grid-column:1;min-width:0;overflow:hidden}
.cart .intro{grid-column:2;min-width:0;text-align:right;overflow:hidden}
.cart .intro small,.jp .intro small{display:block;text-align:right;font-size:9px;margin-bottom:2px}
.cart .runtime span,.carts .runtime span,.jp .runtime span{font:21px/1 Consolas,monospace;letter-spacing:-1px;white-space:nowrap}
.cart .intro span,.jp .intro span{font:21px/1 Consolas,monospace;white-space:nowrap}
.jingle-row{position:relative}.jingle-track{grid-template-columns:minmax(0,1fr) 39px;width:100%;padding:5px 6px}.jingle-track .jingle-intro{text-align:right;color:#76dd78}.jingle-remove{display:none}

.jingle-remove{position:absolute;left:0;top:0;width:20px;height:25px;background:#3b424a}.jingle-row:hover .jingle-remove,.jingle-row:focus-within .jingle-remove{display:block}.jingle-row:hover .jingle-track,.jingle-row:focus-within .jingle-track{padding-left:23px}

/* Explicit jingle layout, without the legacy generic div/button rules. */
.jp .player-display{display:grid;grid-template-columns:minmax(0,1fr) 52px;width:100%}
.jp .runtime,.jp .intro{display:block}.jp .intro{justify-self:end;width:52px;text-align:right}.jp .intro small{display:block}
.jp .jingle-items{display:block;width:100%}.jp .jingle-row{display:flex;width:100%}
.jp .jingle-track{display:grid;width:100%;height:auto;min-height:27px;grid-template-columns:minmax(0,1fr) 39px}
.jp .jingle-track strong{display:block;width:auto;height:auto;padding:0;min-width:0;line-height:17px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.carts .player-display{grid-template-columns:22px minmax(0,1fr) 52px}
.carts .player-letter{display:block;grid-column:1;grid-row:1;align-self:center}
.carts .runtime{grid-column:2;grid-row:1}.carts .intro{grid-column:3;grid-row:1}

.cart .runtime small,.jp .runtime small,.cart .intro small,.jp .intro small{display:block;text-align:center;font-size:9px;margin:0 0 3px;line-height:11px}
.cart .runtime span,.cart .intro span{display:block;text-align:center}

.jp .player-display{grid-template-columns:22px minmax(0,1fr) 52px;gap:3px}.jp .player-letter{display:block;grid-column:1;grid-row:1;align-self:center}.jp .runtime{grid-column:2;grid-row:1}.jp .intro{grid-column:3;grid-row:1}
.track-editor{width:900px;max-width:calc(100vw - 28px);height:min(790px,calc(100vh - 36px));display:flex;flex-direction:column}.track-editor .modalhead{flex:none;display:flex;align-items:center;gap:12px}.track-editor .modalhead b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-tabs{display:flex;gap:2px;background:#252b32;padding:5px 5px 0;flex:none;overflow-x:auto}.track-tabs button{padding:6px 10px;white-space:nowrap;cursor:pointer}.track-tabs [aria-selected=true]{background:#087ba2;color:#fff;border-bottom-color:#087ba2}.track-editor-body{flex:1;min-height:0;overflow:auto;padding:10px;background:#424a53}.track-tab-panel[hidden]{display:none}.track-editor fieldset{border:1px solid #67717d;margin:0 0 10px;padding:9px;min-width:0}.track-editor legend{padding:0 6px;font-weight:bold;color:#dce5ee}.detail-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px;align-items:center;min-height:32px}.detail-row>span{color:#d5dee7;font-size:11px}.track-editor input:not([type=checkbox]),.track-editor select,.track-editor textarea{font:12px 'Segoe UI',Arial;color:#f0f5f9;background:#303943;border:1px solid #707b88;min-width:0;padding:5px;width:100%}.track-editor output{overflow-wrap:anywhere;padding:5px;color:#eaf2f9}.detail-area{display:grid;gap:5px;margin:6px 0}.track-editor textarea{resize:vertical;min-height:90px}.track-editor small{color:#aab9c7}.year-lookup{display:flex;align-items:center;gap:9px;margin:5px 0 5px 188px}.track-editor-footer{flex:none;display:flex;align-items:center;gap:10px;padding:8px;background:#252c34}.track-editor-footer span{flex:1;color:#ffb0a0}.track-editor-footer button{padding:7px 22px}.criteria-top{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.criteria-top .detail-row{grid-template-columns:1fr;gap:3px;margin-bottom:8px}.check-label{display:flex;align-items:center;gap:6px;padding:4px;font-size:11px;min-width:0;overflow-wrap:anywhere}.check-label input{accent-color:#10b6d0;flex:none}.criterion-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.criterion-options{min-height:200px;max-height:430px;overflow:auto}.criterion-add{display:flex;gap:3px;margin-top:6px}.criterion-add button{width:26px;flex:none}.week-actions{display:flex;gap:5px;margin-bottom:8px}.week-matrix{display:grid;grid-template-columns:80px repeat(24,minmax(18px,1fr));gap:2px;overflow-x:auto}.week-matrix button{padding:3px;font-size:9px;border:0;background:#303943}.week-matrix input{appearance:none;width:100%;height:18px;margin:0;border:1px solid #818c99;background:#303943;cursor:pointer}.week-matrix input:checked{background:#0b96ae}.week-matrix input:focus-visible{outline:2px solid #fff}.editor-actions{display:flex;gap:8px;padding:8px 0}.track-editor #trackPath{font-size:11px}.track-editor #track-tab-lyrics textarea{min-height:400px}@media(max-width:700px){.criteria-top{grid-template-columns:1fr}.criterion-columns{grid-template-columns:repeat(5,minmax(125px,1fr));overflow-x:auto}.detail-row{grid-template-columns:120px minmax(0,1fr)}.year-lookup{margin-left:128px}}
.database-search-row{display:flex;align-items:center;gap:5px;padding:4px;flex:none}.db .database-search-row input{flex:1;width:auto;margin:0;min-width:0}.database-search-row>button{padding:5px 8px;white-space:nowrap;font-size:10px}.advanced-search{padding:8px;background:#252f39;flex:none}.advanced-search[hidden]{display:none}.advanced-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.advanced-fields label{display:grid;gap:4px;font-size:10px;color:#b9cbd9}.advanced-fields select,.category-select{width:100%;min-width:0;background:#343e49;border:1px solid #647483;color:#eef5fc;padding:4px;font:11px 'Segoe UI',Arial}.advanced-search-footer{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:10px;color:#b9cbd9}.advanced-search-footer button{margin-left:auto;padding:4px 8px}.database-table .category-cell{position:relative;padding-right:26px}.category-edit{position:absolute;right:3px;top:3px;width:20px;height:20px;border:0;background:transparent;color:#a6c5d8;cursor:pointer}.category-edit:hover{background:#087ba2;color:white}.database-table .category-select{max-width:220px}.database-table .category-cell:has(.category-select){padding:3px 6px}@media(max-width:900px){.advanced-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}

.context-menu button[hidden]{display:none}.category-modal #categoryParentHint{color:#b9cbd9;font-size:12px;overflow-wrap:anywhere}

#categoryTree button.category-drop{background:#087ba2;color:#fff;outline:2px solid #30d4ed;outline-offset:-2px}

#trackSaveStatus{font-size:11px;color:#b9cbd9;white-space:nowrap}

.playlist.playlist-drop{outline:2px solid #30d4ed;outline-offset:-2px}.playlist .r.drop-before{box-shadow:inset 0 2px #30d4ed}.playlist .r.drop-after{box-shadow:inset 0 -2px #30d4ed}.cart.drag-blocked{outline:2px solid #e66161;outline-offset:-2px}

.audio-wave-editor #editorWaveStatus{font-size:11px;color:#b9cbd9;margin-bottom:8px}.editor-wave{height:230px;position:relative;background:linear-gradient(#626b75,#242c35);cursor:crosshair;overflow:hidden}.editor-wave svg{width:100%;height:100%;display:block}.editor-wave path{stroke-width:1.5;stroke:#00b5ef;fill:none}.editor-wave #editorPurple{stroke:#00b5ef}.editor-cursor,.editor-marker{position:absolute;top:0;bottom:0;width:2px;background:white;pointer-events:none}.editor-marker{background:#f7d747}.editor-marker[hidden]{display:none}.editor-marker span{position:absolute;top:4px;left:4px;white-space:nowrap;font-size:10px;color:#fff;background:#27303b;padding:3px}.outro-marker span{top:auto;bottom:4px;left:auto;right:4px}.editor-timeline{display:flex;justify-content:space-between;font:10px Consolas;padding:5px 0}.track-editor #editorSeek{padding:0;accent-color:#15bedf}.editor-transport{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.editor-transport button{padding:6px 10px;cursor:pointer}.editor-transport output{font:14px Consolas;margin-right:auto}.editor-transport button:disabled{opacity:.45;cursor:default}#editorSetIntro,#editorSetOutro{border-color:#c4b353}

.playlist .cols,.playlist .r{grid-template-columns:84px 43px minmax(100px,.9fr) minmax(140px,1.5fr) 40px 42px}.playlist .r time{font:700 15px Consolas,monospace;color:#ffb34e;white-space:nowrap}

.cart .progress{cursor:ew-resize;touch-action:none}.cart .progress:focus-visible{outline:2px solid #f7d747;outline-offset:2px}

.cart .intro span{font-size:14px;font-variant-numeric:tabular-nums}

#icon-airplane.automation-on{animation:automation-blink 1s steps(2,end) infinite;border-color:#39dcaa}@keyframes automation-blink{0%,100%{background:#145d4d;box-shadow:0 0 8px #39dcaa}50%{background:#2b333d;box-shadow:none}}

.playlist-link{width:17px;height:20px;border:0;background:transparent;color:#9aa4ad;padding:0;margin-right:3px;font-size:12px;cursor:pointer}.playlist-link.linked{color:#3ded77;text-shadow:0 0 4px #35d970}.playlist-link:focus-visible{outline:1px solid #3ded77}

.playlist .cols,.playlist .r{grid-template-columns:84px 43px minmax(100px,.9fr) minmax(140px,1.5fr) 40px 42px 24px}.playlist .r>.playlist-link{width:24px;margin:0}

.playlist-grid{height:calc(100% - 24px);overflow:auto}.playlist .cols{position:sticky;top:0;z-index:2}.playlist #playlistRows{height:auto;overflow:visible}.playlist .cols,.playlist .r{grid-template-columns:var(--playlist-columns,84px 43px minmax(100px,.9fr) minmax(140px,1.5fr) 40px 42px 24px);min-width:var(--playlist-min-width,0px)}.playlist .cols>b{position:relative}.playlist-resizer{position:absolute;right:-4px;top:-6px;bottom:-6px;width:8px;cursor:col-resize;touch-action:none}.playlist-resizer:hover{background:#20bed8}

.playlist .cols,.playlist .r{grid-template-columns:var(--playlist-columns,84px minmax(100px,.9fr) minmax(140px,1.5fr) 40px 42px 24px)}

.format-planner{width:1100px;max-width:calc(100vw - 28px);height:min(820px,calc(100vh - 30px));display:flex;flex-direction:column}.format-layout{display:grid;grid-template-columns:135px minmax(0,1fr);min-height:0;flex:1}.format-nav{display:flex;flex-direction:column;background:#29333d;padding:8px;gap:6px}.format-nav button{text-align:left;padding:10px;cursor:pointer}.format-nav button.active{background:#087ba2}.format-content{padding:12px;overflow:auto;background:#424a53}.format-top{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.format-content label{display:grid;gap:5px;margin-bottom:10px}.format-content input,.format-content select{background:#303943;border:1px solid #707b88;color:#eef5fc;padding:6px;min-width:0}.format-content button{padding:6px 10px;cursor:pointer}.format-hour-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(350px,1.4fr);gap:14px}.format-rules{height:440px;overflow:auto;background:#303943;margin-bottom:8px}.format-rule{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #414c59;line-height:1.7}.format-rule.active{background:#087ba2}.format-criteria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.format-content .check-label{display:flex}.format-criteria select{width:100%}.format-preview{max-height:400px;overflow:auto;background:#303943}.format-preview div{padding:7px;border-bottom:1px solid #414c59}.format-content pre{white-space:pre-wrap;color:#ffc574}.format-footer{padding:9px;background:#252c34;color:#b9cbd9}.format-day-row{display:grid;grid-template-columns:100px 1fr 35px;gap:8px;margin:5px 0}.format-info-row{display:grid;grid-template-columns:160px 1fr 50px;align-items:center;gap:10px;padding:8px}.format-info-row meter{width:100%;height:18px}.format-content small{color:#b9cbd9}

.format-limit-row{display:grid;grid-template-columns:110px 1fr repeat(3,110px) 35px;gap:7px;align-items:end;margin:10px 0}.format-limit-row input{width:100%}.format-limit-row label{font-size:10px}.format-content label select[multiple]{min-height:80px}

.format-limit-row{grid-template-columns:100px 1fr 110px repeat(3,95px) 30px}.format-night-row{display:grid;grid-template-columns:1.5fr 180px 1fr 65px 30px;gap:6px;margin:8px 0}.format-night-row input{width:100%}

.format-day-row{grid-template-columns:100px 110px 1fr 35px}

.format-content [hidden]{display:none!important}

.format-calendar-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:12px;height:360px;margin-top:10px}.format-calendar-layout>#formatCalendar{overflow:auto;background:#303943;padding:8px}.format-calendar-toolbar{display:flex;align-items:center;gap:10px}.format-month{margin-bottom:16px}.format-month>b{display:block;text-transform:capitalize;margin-bottom:6px}.format-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.format-calendar-grid button{padding:5px 1px;border:0;background:#424d59;color:#e7eef7;border-radius:2px}.format-calendar-grid button.selected{background:#08a9c4;color:#fff}.format-calendar-grid small{padding:3px 0}.format-plan-table{overflow:auto;background:#303943}.format-calendar-row,.format-calendar-heading{display:grid;grid-template-columns:130px minmax(120px,1fr) 115px 28px;gap:7px;align-items:center;padding:7px}.format-calendar-heading{background:#414c58;font-size:11px;font-weight:bold}.format-calendar-row select{width:100%}.format-calendar-row button{font-size:10px;padding:5px}.format-week-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.format-loose-planning{margin:14px 0}.format-loose-planning summary{cursor:pointer;color:#b9cbd9;margin-bottom:10px}.format-day-row,.format-day-heading{display:grid;grid-template-columns:82px 100px 90px minmax(0,1fr) 30px;gap:7px;align-items:start}.format-day-heading{font-size:11px;color:#b9cbd9;margin-top:16px}.format-slot-settings{display:flex;gap:5px;flex-wrap:wrap}.format-slot-settings select{flex:1;min-width:105px}.format-slot-settings input{width:80px}.format-slot-settings input[type=number]{width:60px}@media(max-width:760px){.format-calendar-layout{grid-template-columns:190px minmax(0,1fr)}.format-calendar-row,.format-calendar-heading{grid-template-columns:100px minmax(90px,1fr) 90px 25px}.format-week-days{grid-template-columns:1fr}.format-layout{grid-template-columns:105px minmax(0,1fr)}}

.track-editor{width:1100px;height:min(910px,calc(100vh - 30px))}.editor-wave{height:300px;touch-action:none}.editor-marker{pointer-events:auto;width:3px;cursor:ew-resize;touch-action:none}.editor-marker:before{content:"";position:absolute;inset:0 -5px}.editor-marker span{pointer-events:none;font-size:9px}.marker-cueStart,.marker-cueEnd{background:#f3b54a}.marker-outroTime{background:#ff775e}.marker-intro,.marker-outroCue{background:#fff}.marker-fadeOutStart{background:#d1cc56}.marker-cue1,.marker-cue2,.marker-cue3{background:#65d6bd}.marker-outroTime span,.marker-cueEnd span,.marker-fadeOutStart span{top:auto;bottom:3px;left:auto;right:4px}.marker-outroCue span{top:25px}.marker-cue1 span{top:45px}.marker-cue2 span{top:65px}.marker-cue3 span{top:85px}.editor-wave #editorFadeCurve{stroke:#f5cc53;stroke-width:2;fill:none;pointer-events:none}.editor-view-controls{display:flex;align-items:center;gap:7px;margin:8px 0;flex-wrap:wrap}.track-editor .editor-view-controls select{width:70px}.editor-view-controls label,.editor-transport label{display:flex;align-items:center;gap:5px;font-size:11px}.editor-scroll-label{display:flex;gap:8px;align-items:center;font-size:10px}.editor-point-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-point-row{display:grid;grid-template-columns:minmax(125px,1fr) 28px 100px 45px;gap:6px;align-items:center;padding:4px 0}.editor-point-row span{font-size:11px}.editor-point-row button{padding:5px}.editor-help{font-size:11px;color:#b9cbd9;line-height:1.5}@media(max-width:760px){.editor-point-columns{grid-template-columns:1fr}}

.mix{height:auto;min-height:230px;overflow:hidden}.mixhead{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mixhead span{flex:1}.mixhead button,.mix-controls button{padding:5px 8px;font-size:10px;cursor:pointer}.mix-timeline{display:flex;justify-content:space-between;margin-left:74px;padding:7px;font:10px Consolas;color:#b9cbd9}.mix-wave-area{position:relative}.mix-lane{display:flex;height:70px;margin:4px 0}.mix-lane>label{width:74px;flex:none;display:flex;align-items:center;padding:8px;font-size:10px;color:#a9bac9;background:#29333e}.mix-lane-audio{position:relative;flex:1;overflow:hidden;background:#222c37}.mix-audio-clip{position:absolute;height:100%;background:#176077;border:1px solid #21bbd9;min-width:1px}.mix-audio-clip svg{width:100%;height:100%;display:block;pointer-events:none}.mix-audio-clip svg path{stroke:#3accde;stroke-width:1;fill:none}.mix-clip-label{position:absolute;left:5px;top:3px;font-size:10px;white-space:nowrap;pointer-events:none;text-shadow:0 1px #111}.mix-draggable{cursor:grab;touch-action:none;background:#205767}.mix-draggable.dragging{cursor:grabbing}.mix-controls{display:flex;align-items:center;gap:6px;padding:6px;flex-wrap:wrap}.mix-controls output{font-size:10px;color:#ffc16d}#mixStatus{font-size:10px;color:#b9cbd9;padding:5px}.mix-cursor{position:absolute;top:0;bottom:0;width:2px;background:white;pointer-events:none}.mix-cursor[hidden]{display:none}
.mix-pair-label{font-size:11px;padding:5px 8px;color:#dce8ef;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.editor-edit-point{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0}.track-editor .editor-edit-point select{width:200px}.editor-marker{width:12px;margin-left:-6px;background:transparent!important;pointer-events:none}.editor-marker:before{inset:0 5px;width:2px;background:#f4d66d;pointer-events:auto}.editor-marker span{pointer-events:auto;cursor:ew-resize;padding:5px 8px;border:1px solid #7894a9;border-radius:3px;touch-action:none}.editor-marker span:before{content:"↔ ";color:#fff}.editor-marker.unset-point:before{background:repeating-linear-gradient(to bottom,#d4dce4 0 6px,transparent 6px 10px)}.editor-marker.active-point span{background:#845134;border-color:#ffc16d}.marker-outroTime:before{background:#ff775e}.marker-outroTime span{bottom:32px;right:8px;border-color:#ff775e}.marker-cueEnd span{bottom:4px;right:8px}.marker-intro span{top:4px}.marker-cueStart span{top:32px}.marker-outroCue span{top:60px}.marker-fadeOutStart span{bottom:60px}.marker-cue1 span{top:88px}.marker-cue2 span{top:116px}.marker-cue3 span{top:144px}

.mix-fade-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.mix-fade-svg path{stroke:#ffd165;stroke-width:2;fill:none}.mix-fade-marker{position:absolute;top:5px;transform:translateX(-100%);background:#7b5631;border:1px solid #ffd165;color:white;padding:4px 7px;font-size:10px;cursor:ew-resize;touch-action:none;z-index:3}.mix-fade-end{top:auto;bottom:4px}.mix-fade-marker[hidden]{display:none}.mix-controls label{font-size:11px;display:flex;align-items:center;gap:5px}

.mix-beat-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.mix-beat-grid path{stroke:#e1ecfa;stroke-width:1;opacity:.28;fill:none}.mix-bpm-label{font-size:10px;color:#f2c46d;padding:2px 8px}

.format-calendar-menu{position:fixed;z-index:10000;padding:5px;background:#263646;border:1px solid #90a6b8;box-shadow:0 5px 18px #0008;border-radius:5px}.format-calendar-menu[hidden]{display:none}.format-calendar-menu button{color:#eef7fd;padding:10px 14px;text-align:left;width:100%;cursor:pointer}.format-calendar-menu button:hover{background:#087ba2}
/* Commercialplanner: customer, campaign and weekly block workflow */
.commercial-modal[hidden]{display:none}.commercial-modal{z-index:1100;background:#060b12c9}.commercial-dialog{width:min(1240px,96vw);height:min(910px,94vh);display:flex;flex-direction:column;background:#202832;border:1px solid #566679;border-radius:12px;overflow:hidden;box-shadow:0 24px 80px #0009;color:#e6eef5;font:13px 'Segoe UI',Arial,sans-serif}.commercial-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:linear-gradient(110deg,#253c4c,#222b36)}.commercial-head h2{margin:0 0 5px;font-size:22px}.commercial-head span{color:#9fb2c2}.commercial-head>button{font-size:20px;padding:4px 12px}.commercial-dialog button{cursor:pointer;padding:7px 12px;border:1px solid #536374;background:#303e4b;color:#e9f1f8;border-radius:5px;font:inherit}.commercial-dialog button:hover{background:#42556a}.commercial-dialog button:disabled{opacity:.3;cursor:default}.commercial-dialog button.active,.commercial-dialog button.on{background:#10778c;border-color:#299fb6;color:#fff}.commercial-nav,.commercial-tabs{display:flex;gap:7px;padding:10px 20px;background:#19212b;flex-shrink:0}.commercial-nav button{padding:10px 22px}.commercial-layout{display:flex;flex:1;min-height:0}.commercial-sidebar{width:230px;flex-shrink:0;padding:15px;background:#18222d;border-right:1px solid #354555;overflow:auto;display:flex;flex-direction:column;gap:12px}.commercial-sidebar>button{background:#0c7288}.commercial-records{display:flex;flex-direction:column;gap:5px}.commercial-records button{text-align:left;padding:12px}.commercial-records strong,.commercial-records small{display:block;overflow-wrap:anywhere}.commercial-records small{margin-top:6px;color:#b4c5d3}.commercial-content{padding:20px 24px;overflow:auto;flex:1;min-width:0;background:radial-gradient(ellipse at top right,#2c3b48,#202a35 65%)}.commercial-content h3{font-size:15px;margin:20px 0 10px}.commercial-content p{color:#afc1ce;line-height:1.55}.commercial-content .commercial-tabs{padding:0 0 15px;background:transparent}.commercial-title{display:flex;gap:12px;justify-content:space-between;align-items:center}.commercial-title h3{margin:0 0 15px;font-size:19px}.commercial-title small{font-size:12px;color:#98b2c3;font-weight:normal;margin-left:8px}.commercial-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:15px 0 24px}.commercial-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#b8cbd9}.commercial-dialog input:not([type=checkbox]),.commercial-dialog select,.commercial-dialog textarea{padding:8px 10px;border:1px solid #4c6274;border-radius:5px;background:#17232e;color:#eef4f9;font:13px 'Segoe UI',Arial;width:100%;min-width:0;box-sizing:border-box}.commercial-dialog input[type=checkbox]{accent-color:#13a7bf;width:17px;height:17px}.commercial-form .wide{grid-column:1/-1}.commercial-form textarea{min-height:90px;resize:vertical}.commercial-form .commercial-check{flex-direction:row;align-items:center}.commercial-stat{padding:12px;background:#153b48;border-radius:7px;display:flex;gap:10px;align-items:center}.commercial-stat strong{font-size:25px;color:#58e4e8}.commercial-stat span{color:#adc8d7;font-size:12px}.commercial-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}.commercial-actions label{width:180px}.commercial-empty{padding:60px 20px;text-align:center;color:#a7bfcd}.commercial-dialog footer{padding:10px 20px;background:#151e28;color:#8fd6df;flex-shrink:0}.commercial-dialog .error{color:#ffa99c}.commercial-dialog table{width:100%;border-collapse:collapse;text-align:left}.commercial-dialog th{font-size:11px;color:#90aabd;padding:10px 9px;background:#18232e;position:sticky;top:0;z-index:1}.commercial-dialog td{padding:10px 9px;border:0}.commercial-dialog tbody tr:nth-child(even){background:#ffffff03}.commercial-table,.commercial-spotrows{overflow:auto}.commercial-week{overflow:auto;max-height:500px;border-radius:6px;background:#17232d}.commercial-week table{min-width:730px}.commercial-week td,.commercial-week th{padding:4px}.commercial-week td>div{display:flex;gap:3px}.commercial-week button{padding:4px 5px;font-size:10px;min-width:13px;border:0}.commercial-period{display:flex;flex-wrap:wrap;gap:5px;max-height:190px;overflow:auto;padding:8px;background:#19232d;border-radius:6px}.commercial-period button{padding:7px 9px;min-width:58px}.commercial-period small{display:block;font-size:9px;margin-bottom:3px}.commercial-drop{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:49px;padding:7px 10px;border:1px dashed #5c798e;border-radius:5px;min-width:210px;background:#1a3440}.commercial-drop.drag-over{background:#0b697e;border-color:#69e8ee}.commercial-drop span{overflow-wrap:anywhere}.commercial-suggestions{display:flex;gap:6px;flex-wrap:wrap}.commercial-track-browser{max-height:300px;overflow:auto;margin-top:10px}.commercial-track-browser tr{cursor:grab}.commercial-track-browser tr:hover{background:#ffffff0b}.commercial-track-browser td:last-child{max-width:250px;overflow-wrap:anywhere;color:#9fb7c7;font-size:11px}.commercial-listsettings{display:grid;grid-template-columns:1fr 1fr;gap:30px}.commercial-listsettings section>div{display:flex;gap:5px;margin-bottom:8px}.commercial-jingles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.commercial-jingles section{padding:12px;background:#18242e;border-radius:6px}.commercial-jingles label{margin-bottom:8px}.commercial-hours{display:flex;gap:4px;flex-wrap:wrap;margin:16px 0}.commercial-hours a{padding:7px;color:#99b2c4;background:#18232e;text-decoration:none;border-radius:3px}.commercial-hours a.on{background:#146d82;color:#fff}.commercial-dayblock{padding:15px;margin-bottom:15px;background:#182b37;border-radius:8px}.commercial-planreport{padding:12px 0}.commercial-dialog button:focus-visible,.commercial-dialog a:focus-visible{outline:2px solid #62e4ee;outline-offset:2px}@media(max-width:850px){.commercial-form{grid-template-columns:1fr 1fr}.commercial-sidebar{width:180px}.commercial-nav button{padding:8px 12px}.commercial-jingles{grid-template-columns:1fr 1fr}}@media(max-width:600px){.commercial-form{grid-template-columns:1fr}.commercial-sidebar{width:135px;padding:8px}.commercial-content{padding:14px}.commercial-nav{overflow:auto;padding:8px}.commercial-nav button{white-space:nowrap}.commercial-listsettings,.commercial-jingles{grid-template-columns:1fr}}
/* Isolate the commercial dialog from the studio's main/aside layout. */
.commercial-dialog{max-height:calc(100dvh - 24px)}.commercial-head{flex-shrink:0}.commercial-layout{overflow:hidden;min-width:0}.commercial-content{display:block;height:auto;min-height:0;max-height:100%;overflow-y:auto;overflow-x:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.commercial-sidebar{min-width:0;min-height:0;grid-template-rows:none}.commercial-dialog footer{height:auto;min-height:34px}.commercial-week{max-height:none;overflow-x:auto;overflow-y:visible;margin-bottom:16px}.commercial-week table{min-width:980px;table-layout:fixed}.commercial-week th:first-child{width:62px}.commercial-week td,.commercial-week th{padding:3px 1px;text-align:center}.commercial-week td>div{gap:1px;justify-content:center}.commercial-week button{width:5px;min-width:5px;height:23px;padding:0;border-radius:1px;font-size:0}.commercial-week button:disabled{background:#394654;opacity:.55}.commercial-form{grid-template-columns:repeat(2,minmax(0,340px));gap:12px 24px}.commercial-jingle-table{min-width:900px;table-layout:fixed}.commercial-jingle-table th:first-child{width:85px}.commercial-jingle-table select{font-size:11px;padding:6px}.commercial-title .commercial-actions{margin:0 0 10px}.commercial-planreport{scroll-margin-top:8px}@media(max-width:600px){.commercial-form{grid-template-columns:1fr}}
/* Planner workspace: table at left, selected item at right, one scroll area. */
.format-planner{width:min(1240px,96vw);height:min(900px,94dvh);border-radius:8px;overflow:hidden}.format-planner .modalhead{height:44px;padding:12px 15px;flex-shrink:0}.format-content{min-height:0;min-width:0;overscroll-behavior:contain;scrollbar-gutter:stable;background:#29333e;padding:16px}.format-layout{overflow:hidden}.format-nav{padding:12px 7px;background:#1c2732}.format-nav button{min-height:43px;padding:10px 8px}.format-top{padding:12px;background:#202b36;border-radius:5px}.format-top label{margin:0;min-width:160px}.format-hour-grid{grid-template-columns:minmax(380px,1.3fr) minmax(280px,1fr)}.format-rule-heading,.format-rule{display:grid;grid-template-columns:30px 65px 38px minmax(0,1fr);gap:6px;align-items:center;padding:7px 8px}.format-rule-heading{background:#17232d;color:#a2bacb;font-size:11px}.format-rule{line-height:1.35;border-bottom:1px solid #ffffff0a;font-size:12px}.format-rule span{min-width:0;overflow:hidden;text-overflow:ellipsis}.format-rule span:last-child{white-space:nowrap}.format-rules{height:calc(75dvh - 180px);min-height:230px;max-height:540px}.format-criteria{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.format-criteria>label{padding:10px;background:#202b36;border-radius:4px}.format-day-heading{background:#17232d;padding:8px;font-weight:bold;color:#adc3d3}.format-day-row{padding:5px 8px;margin:0;border-bottom:1px solid #ffffff0a}.format-day-row:nth-child(even){background:#ffffff03}.format-day-row input,.format-day-row select{padding:5px}.format-day-row .format-slot-settings{flex-wrap:wrap}.format-week-days{grid-template-columns:1fr;max-width:650px}.format-week-days>label{display:grid;grid-template-columns:125px minmax(0,1fr);align-items:center;padding:8px;margin:0;border-bottom:1px solid #ffffff0a}.format-calendar-layout{height:calc(77dvh - 180px);min-height:350px;max-height:600px;grid-template-columns:230px minmax(0,1fr)}.format-calendar-toolbar{padding:8px;background:#202b36}.format-help{margin:12px 0;color:#b8cad7}.format-help summary{cursor:pointer;font-size:12px}.format-content pre:empty{display:none}.format-content [data-format-panel=settings]>label{display:inline-grid;width:calc(50% - 12px);padding:10px;margin:5px;background:#202b36}.format-content [data-format-panel=settings]>p{line-height:1.6;max-width:850px;color:#aebfcb}.format-footer{flex-shrink:0;min-height:32px}.mix{overflow-y:auto;overscroll-behavior:contain}.mixhead{height:auto;min-height:30px;padding:6px}.mix-lane{height:85px}.mix-audio-clip svg path{stroke:#63e4ef;stroke-width:.75}.mix-clip-label{top:auto;bottom:3px;background:#152631c9;padding:3px;border-radius:3px}.mix-lane-audio{min-height:85px}.mix-controls{background:#26333f;position:sticky;bottom:0;z-index:5}.mix-status{min-height:24px}body>main{grid-template-rows:minmax(0,1fr) 282px}@media(max-width:800px){.format-hour-grid{grid-template-columns:1fr}.format-rules{height:260px}.format-calendar-layout{grid-template-columns:180px minmax(0,1fr)}}
/* Full marker lines and labels can both be grabbed in the song editor. */
.editor-marker{width:18px;margin-left:-9px;pointer-events:auto;cursor:ew-resize;z-index:4;touch-action:none}.editor-marker:before{left:8px;right:auto;width:2px;pointer-events:none}.editor-marker span{font-size:11px;padding:6px 9px;box-shadow:0 2px 5px #0005}.editor-marker:hover:before,.editor-marker:focus-visible:before{width:4px;background:#fff}.editor-marker:focus-visible{outline:none}.editor-marker:focus-visible span,.editor-marker:hover span{border-color:#fff;background:#456272}.editor-marker.active-point span{background:#875633}.editor-marker.unset-point span{border-style:dashed}.marker-outroTime span{bottom:39px}.marker-fadeOutStart span{bottom:77px}.marker-cueEnd span{bottom:3px}.editor-wave{overflow:hidden}
/* Put related format controls alongside their overview, as in the reference. */
.format-hour-grid{grid-template-columns:minmax(360px,.95fr) minmax(420px,1.3fr)}.format-criteria{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.format-criteria select{font-size:11px;padding:4px}.format-planning-workspace{display:grid;grid-template-columns:minmax(570px,1.5fr) minmax(280px,.8fr);gap:16px;align-items:start}.format-planning-calendar,.format-planning-result{min-width:0}.format-planning-workspace .format-calendar-layout{grid-template-columns:160px minmax(0,1fr);height:calc(72dvh - 170px);max-height:580px}.format-planning-workspace .format-calendar-row,.format-planning-workspace .format-calendar-heading{grid-template-columns:100px minmax(90px,1fr) 90px 25px;gap:5px;font-size:11px}.format-planning-result{background:#202b36;border-radius:5px;padding:12px}.format-planning-result h3{margin:0 0 12px}.format-planning-result .format-preview{height:calc(61dvh - 170px);max-height:480px;min-height:240px}.format-planning-result p{font-size:11px;color:#a7bdcd;line-height:1.5}.format-planning-result button{margin:4px 0}.format-day-row .format-slot-settings{flex-wrap:nowrap;overflow:auto;padding-bottom:2px}.format-day-row .format-slot-settings select{min-width:130px}.format-day-row .format-slot-settings input{flex-shrink:0}@media(max-width:1050px){.format-planning-workspace{grid-template-columns:1fr}.format-planning-result .format-preview{height:280px}.format-hour-grid{grid-template-columns:minmax(250px,.9fr) minmax(320px,1fr)}.format-criteria{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.format-hour-grid{grid-template-columns:1fr}.format-planning-workspace .format-calendar-layout{grid-template-columns:160px minmax(0,1fr)}}
.studio-settings{width:min(950px,94vw);height:min(570px,88dvh);display:flex;flex-direction:column;border-radius:8px;overflow:hidden}.studio-settings .modalhead{height:44px;padding:12px 16px;flex-shrink:0}.studio-settings-layout{display:grid;grid-template-columns:155px minmax(0,1fr);min-height:0;flex:1}.studio-settings-nav{display:flex;flex-direction:column;gap:7px;padding:15px 10px;background:#1c2732}.studio-settings-nav button{padding:12px;text-align:left;cursor:pointer}.studio-settings-nav button.active{background:#087b91}.studio-settings-content{padding:22px;min-height:0;overflow:auto;background:#293541}.studio-settings-content [hidden]{display:none!important}.studio-settings-content h3{margin:0 0 17px;font-size:17px}.studio-settings-content p{color:#b2c6d5;line-height:1.7;max-width:620px;margin:15px 0 25px}.studio-settings-content button{padding:9px 13px;cursor:pointer}.studio-settings-cards{display:flex;gap:15px;margin-bottom:25px}.studio-settings-cards>div{background:#1b2a36;padding:16px;border-radius:5px;min-width:170px}.studio-settings-cards small{display:block;color:#94afc2;margin-bottom:7px}.studio-settings-cards strong{font-size:20px}.studio-settings-check{display:flex;align-items:center;gap:9px;margin-bottom:8px}.studio-settings-check input{accent-color:#16b6cc}.studio-settings-actions{display:flex;gap:10px;flex-wrap:wrap}.studio-settings .settingrow{grid-template-columns:minmax(120px,1fr) 45px 95px 130px;background:#1e2e3b;padding:12px;border-radius:5px}.studio-settings .settingrow button{height:auto;font-size:11px}.studio-settings-content .audio-location{padding:0;background:transparent;border:0}.studio-settings-content .audio-location button{margin:0}@media(max-width:650px){.studio-settings-layout{grid-template-columns:120px minmax(0,1fr)}.studio-settings-content{padding:15px}.studio-settings-cards{flex-wrap:wrap}.studio-settings .settingrow{grid-template-columns:1fr 45px}.studio-settings .settingrow button{grid-row:2}}
.studio-settings{width:min(1220px,96vw);height:min(850px,94dvh)}.studio-settings-layout{grid-template-columns:175px minmax(0,1fr)}.studio-settings-nav{overflow:auto;gap:4px}.studio-settings-nav>small{color:#7f9cad;font-size:9px;font-weight:bold;margin:14px 5px 4px;letter-spacing:1px}.studio-settings-nav>small:first-child{margin-top:2px}.studio-settings-nav button{padding:9px;font-size:12px}.studio-settings-fields{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0 16px}.studio-settings-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;flex:1;min-width:150px}.studio-settings-content input:not([type=checkbox]),.studio-settings-content select,.studio-settings-content textarea{background:#172632;border:1px solid #546b7d;border-radius:4px;color:#edf6fb;padding:8px;min-width:0;width:100%;font:12px 'Segoe UI',Arial}.studio-export-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.studio-export-heading span{font-size:11px;color:#65d7e4}.studio-export-table{height:160px;overflow:auto;margin:15px 0;background:#1c2b37}.studio-export-table table{width:100%;border-collapse:collapse;text-align:left}.studio-export-table th{padding:9px;background:#13212c;color:#9ebccd;position:sticky;top:0}.studio-export-table td{padding:8px;cursor:pointer}.studio-export-table tr.selected{background:#126778}.studio-export-table input[type=checkbox]{accent-color:#1bd6dc}.studio-export-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}.studio-export-editor textarea{height:230px;resize:vertical;font:12px Consolas,monospace;line-height:1.5}.studio-export-editor pre{white-space:pre-wrap;overflow:auto;overflow-wrap:anywhere;max-height:170px;min-height:80px;background:#142632;padding:12px;margin:8px 0;color:#b7e9ed}.studio-export-editor iframe{width:100%;height:230px;background:white;border:1px solid #617b8c}.studio-export-editor h4{margin:5px 0 15px}.studio-export-help{margin-top:16px;color:#a9c4d4}.studio-export-help summary{cursor:pointer}.studio-criteria-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px}.studio-criteria-tabs button.active{background:#087b91}.studio-criteria-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.studio-criteria-list>div{background:#1d2c39;padding:10px;border-radius:4px;overflow-wrap:anywhere}#onairExportFolder{align-self:center;color:#95c6d4;font-size:12px}@media(max-width:800px){.studio-export-editor{grid-template-columns:1fr}.studio-settings-layout{grid-template-columns:145px minmax(0,1fr)}.studio-criteria-list{grid-template-columns:1fr 1fr}}
.studio-export-presets{align-self:center;position:relative}.studio-export-presets summary,.studio-export-source summary{cursor:pointer;color:#a6cfdd;padding:8px 0}.studio-export-presets[open]{display:flex;gap:5px}.studio-export-source textarea{margin-top:8px}.track-stat-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:8px 0 18px}.track-stat-cards>div{padding:15px;background:#263945;border-radius:6px}.track-stat-cards small{display:block;color:#aac3d1;margin-bottom:8px}.track-stat-cards strong{font:28px Consolas;color:#64e2e8}.track-stat-details{display:grid;grid-template-columns:1fr 1fr;gap:6px 15px}.track-stat-chart{height:140px;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:7px;align-items:end;background:#273640;padding:12px;border-radius:6px}.track-stat-chart>div{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;height:115px}.track-stat-chart i{display:block;width:80%;background:#1ab6c9;border-radius:3px 3px 0 0}.track-stat-chart b{font-size:11px}.track-stat-chart small{font-size:10px;color:#b8ceda}.track-stat-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.track-stat-history>div{padding:8px;background:#2b3d49;border-radius:4px;font-size:11px}#dtsExportPreview{padding:12px;background:#182834;border-radius:5px;color:#8adfe4}@media(max-width:700px){.track-stat-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.track-stat-details{grid-template-columns:1fr}}
.aeron-import-dialog{width:min(1100px,95vw);height:min(650px,92dvh);display:flex;flex-direction:column}.aeron-import-dialog .modalhead{height:44px;flex:none;padding:12px}.aeron-import-body{padding:20px;overflow:auto;min-height:0}.aeron-import-body p{color:#b8ccd9;line-height:1.6}.aeron-import-body input:not([type=file]){padding:9px;background:#202e3a;color:#edf6fc;border:1px solid #617486}.aeron-import-body button{padding:9px 13px;cursor:pointer}.aeron-import-preview{height:320px;overflow:auto;margin:15px 0;background:#243340}.aeron-import-preview table{width:100%;border-collapse:collapse;text-align:left}.aeron-import-preview th{padding:9px;background:#192933;position:sticky;top:0}.aeron-import-preview td{padding:7px;font-size:11px}.aeron-import-preview td:last-child{overflow-wrap:anywhere;max-width:300px}

/* Compact bottom mix desk with solid, clearly visible audio envelopes. */
.mix{grid-row:2;min-height:0}.mix-lane{height:65px}.mix-lane-audio{min-height:65px}.mix-audio-clip{background:#15323c}.mix-audio-clip svg path{fill:#53cfdf;stroke:none}.mix-lane-audio:after{content:attr(data-state);position:absolute;left:10px;top:22px;color:#e0c897;font-size:12px;pointer-events:none}.mix-clip-label{z-index:2}.mix-timeline{padding:4px 7px}.mix-controls{padding:4px 6px}

.vt-dialog{width:min(800px,95vw);max-height:90vh;overflow:auto;background:#25333f;color:#edf4f7;border:1px solid #657987;border-radius:7px;padding:20px}.vt-dialog::backdrop{background:#0009}.vt-head,.vt-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.vt-head h2{font-size:20px;margin:0}.vt-dialog label{display:grid;gap:6px;font-size:14px}.vt-settings{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:14px;margin:18px 0}.vt-dialog input,.vt-dialog textarea{background:#17232e;color:white;border:1px solid #657987;padding:9px;width:100%;font:inherit}.vt-dialog button{padding:9px 12px;cursor:pointer}.vt-dialog button:disabled{opacity:.5;cursor:default}.vt-actions{justify-content:flex-start;margin:15px 0}.vt-dialog audio{width:100%;margin:10px 0}.vt-note{font-size:12px;color:#a9c1d0;line-height:1.6}#vtStatus{font-size:14px;line-height:1.6}#vtAttach{background:#156b82}.mix-voice-lane,.mix-voice-lane .mix-lane-audio{height:44px;min-height:44px}.mix-voice-lane .mix-audio-clip{background:#273247;border-color:#ad9be8}.mix-voice-lane svg path{fill:#b8a8eb}.mix-voice-lane .mix-lane-audio:after{top:12px}.mix-lane{height:54px}.mix-lane-audio{min-height:54px}body>main{grid-template-rows:minmax(0,1fr) 330px}@media(max-width:650px){.vt-settings{grid-template-columns:1fr}}

.vt-connection{padding:14px;background:#1b2935;border:1px solid #547082;border-radius:5px;margin:12px 0}.vt-connection p{font-size:12px;color:#a9c1d0;margin:0}.vt-connection .vt-actions{margin:10px 0}#vtConnectionStatus{font-size:14px;color:#88d5df}

.vt-dialog{width:min(1140px,96vw)}.vt-settings{grid-template-columns:1fr;max-width:450px}.vt-audition{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.vt-audition button{background:#17677c}#vtMixHost{margin:14px 0}#vtMixHost .mix{height:330px;grid-column:auto;grid-row:auto}#vtMixHost .mixhead span{display:none}

#mixRecord{color:#ff4d5c;font-size:22px;padding:0 10px;line-height:28px}#mixRecord.recording{background:#9b2434;color:white}#vtMixHost .mix-controls button{min-width:35px;height:33px;font-size:14px}#vtMixHost .mix-controls{position:static}.vt-audition{margin:6px 0}#vtDownloadRecording{display:inline-block;color:#90e5f2;font-size:14px}#vtDownloadRecording[hidden]{display:none}

.mix-view-controls{display:flex;gap:8px;align-items:center;padding:4px 8px;font-size:12px}.mix-view-controls button{padding:3px 10px}.mix-view-controls label{display:flex;align-items:center;gap:6px}.mix-view-controls input{width:90px}.mix-view-controls .mix-pan-label{flex:1}.mix-pan-label input{flex:1}.mix-db-marker{position:absolute;top:0;bottom:0;width:2px;background:#fff2b1;z-index:3;pointer-events:none}.mix-db-outroTime{background:#ffae79}.mix-audio-clip{overflow:hidden}.mix-audio-clip svg{transform-origin:center}.mix-lane,.mix-lane-audio{height:72px;min-height:72px}.mix-voice-lane,.mix-voice-lane .mix-lane-audio{height:46px;min-height:46px}body>main{grid-template-rows:minmax(0,1fr) 410px}.vt-dialog #vtMixHost .mix{height:410px}

.track-editor .editor-point-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.track-editor .editor-point-columns fieldset{margin:0;padding:8px;min-width:0}.track-editor .editor-point-row{grid-template-columns:minmax(80px,1fr) 24px 78px 38px;gap:4px;padding:3px 0}.track-editor .editor-point-row input{width:100%;min-width:0;padding:5px}.track-editor .editor-point-row button{padding:4px}.track-editor .editor-point-columns .detail-row{grid-template-columns:minmax(80px,1fr) 90px;padding:3px 0;gap:4px}.track-editor .editor-point-columns input{min-width:0}.track-editor .editor-wave{height:clamp(240px,37vh,420px);background:#25333f}.track-editor .editor-marker span{display:none}.track-editor .editor-marker.unset-point{display:none}.track-editor .editor-marker:before{background:#e4d091}.track-editor .marker-outroTime:before{background:#ffae79}.track-editor .editor-edit-point{margin:4px 0;font-size:12px}.track-editor .editor-level-info{display:flex;justify-content:flex-end;gap:20px;padding:4px;color:#70d7de;font:12px Consolas}.track-editor #editorWaveStatus:empty{display:none}.track-editor .editor-view-controls{margin:4px 0}.editor-notes{font-size:12px;margin-top:8px}.editor-notes summary{cursor:pointer}.track-editor .audio-wave-editor{padding:8px;margin-bottom:8px}#editorBpmStatus{display:block;font-size:11px;margin:4px 0}@media(max-width:950px){.track-editor .editor-point-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.track-editor .editor-point-columns{grid-template-columns:1fr}}

.track-editor #editorPosition{font:700 25px Consolas,monospace;color:#6ee3ee;letter-spacing:.4px}.track-editor .editor-timeline{font-size:13px;padding:7px 0}.track-editor .editor-point-row input[data-audio-time]{font:600 15px Consolas,monospace;padding:6px 3px;color:#f1f7fc}.track-editor .editor-point-row{grid-template-columns:minmax(74px,1fr) 22px 86px 36px}.track-editor .editor-view-controls output{font-size:14px}

.editor-level-info #editorFileInfo{margin-right:auto;color:#d4e0e8}.editor-vu{position:relative;padding-right:76px;margin:4px 0 7px}.editor-vu-scale{display:flex;justify-content:space-between;font:11px Consolas;color:#cad9df;padding-bottom:3px}.editor-vu-track{height:15px;background:#142028;border:1px solid #425363;overflow:hidden}.editor-vu-track i{display:block;height:100%;width:0;background:linear-gradient(to right,#229b6e 0%,#53bd42 65%,#d8c144 82%,#f2a439 92%,#e94b40 100%);background-size:calc(100vw - 200px) 100%}.editor-vu output{position:absolute;right:0;bottom:0;font:12px Consolas;color:#cddce4}.editor-vu.clipping output{color:#ff6659}.editor-gain-line{position:absolute;left:0;right:0;height:12px;margin-top:-6px;z-index:3;cursor:ns-resize;touch-action:none}.editor-gain-line:before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:#f6d254}.editor-gain-line:hover:before,.editor-gain-line:focus-visible:before{height:3px;background:#ffe28a}.editor-cursor{z-index:2}.track-editor .editor-marker{z-index:4}

#settingsLanguagesBlock{display:grid;gap:8px;margin:10px 0}#settingsLanguagesBlock[hidden]{display:none}#settingsLanguages{width:100%;background:#172631;color:#e3edf4;padding:8px;font:14px inherit;border:1px solid #526574}

.mix-fade-marker{top:15%;bottom:auto;width:10px;height:10px;padding:0;transform:translate(-50%,-50%);background:#ffd165;border:1px solid #614c25;border-radius:2px}.mix-fade-marker:before{content:"";position:absolute;inset:-4px;background:transparent}.mix-fade-marker:hover{background:#ffe8a6;border-color:#fff}.mix-fade-end{top:90%;bottom:auto}

.editor-vu{padding-right:0;margin:2px 0 4px}.editor-vu-scale{padding-left:20px;padding-right:76px}.editor-vu-row{display:grid;grid-template-columns:16px minmax(0,1fr) 72px;gap:4px;align-items:center;margin:2px 0;font:11px Consolas}.editor-vu-row .editor-vu-track{height:11px}.editor-vu-row output{position:static;padding:0;text-align:right}.editor-vu-track i{transition:width 70ms linear}.track-editor .editor-actions{display:flex;gap:5px}.track-editor.is-audio-editor{height:min(840px,calc(100dvh - 16px));width:min(1180px,calc(100vw - 24px))}.is-audio-editor .track-editor-body{overflow:hidden;padding:6px}.is-audio-editor #track-tab-editor{height:100%;display:flex;flex-direction:column;gap:4px}.is-audio-editor .audio-wave-editor{flex:1;min-height:0;display:flex;flex-direction:column;margin:0;padding:5px 8px}.is-audio-editor .editor-wave{flex:1;height:auto;min-height:85px}.is-audio-editor .editor-point-columns{flex:none;grid-template-columns:repeat(3,minmax(0,1fr))}.is-audio-editor .editor-point-columns fieldset{padding:3px 7px}.is-audio-editor .editor-point-row{padding:1px 0}.is-audio-editor .editor-point-row input[data-audio-time]{padding:4px 2px}.is-audio-editor .editor-point-columns .detail-row{min-height:25px;padding:1px 0}.is-audio-editor .editor-edit-point{margin:3px 0}.is-audio-editor .editor-timeline{padding:4px 0}.is-audio-editor .editor-level-info{padding:2px 0}.is-audio-editor .editor-transport{margin-top:3px}.is-audio-editor .editor-notes{margin:0}.is-audio-editor .editor-notes[open]{max-height:100px;overflow:auto}.is-audio-editor .editor-scroll-label{font-size:11px}.is-audio-editor .editor-view-controls button{padding:4px 6px}.is-audio-editor .editor-transport button{padding:4px 7px}.is-audio-editor #editorBpmStatus{font-size:10px;margin:2px 0}@media(max-width:760px),(max-height:550px){.is-audio-editor .track-editor-body{overflow:auto}.is-audio-editor #track-tab-editor{height:auto}.is-audio-editor .editor-wave{height:180px;flex:none}.is-audio-editor .editor-point-columns{grid-template-columns:1fr}}

body,button,input,select,textarea{font-family:"Nunito Sans","Segoe UI",sans-serif}.track-editor,.track-editor input:not([type=checkbox]),.track-editor select,.track-editor textarea,.track-editor button,.track-editor output,.track-editor .editor-timeline,.track-editor .editor-point-row input[data-audio-time],.track-editor .editor-vu-scale,.track-editor .editor-vu-row,.track-editor .editor-vu-row output,.track-editor .editor-level-info,.track-editor #editorPosition{font-family:"Nunito Sans","Segoe UI",sans-serif;font-variant-numeric:tabular-nums}.track-editor .editor-point-row input[data-audio-time]{font-size:15px;font-weight:700}.track-editor #editorPosition{font-size:24px;font-weight:800}.track-editor .editor-timeline{font-size:13px;font-weight:600}.track-editor .editor-point-row>span,.track-editor .detail-row>span{font-size:12px}.editor-vu-scale{display:block;position:relative;height:24px;margin-left:20px;margin-right:76px;padding:0;font-size:14px!important;font-weight:700}.editor-vu-scale span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.editor-vu-scale span:first-child{transform:none}.editor-vu-scale span:last-child{transform:translateX(-100%)}.editor-vu-scale span:after{content:"";position:absolute;left:50%;bottom:-3px;height:3px;width:1px;background:#9cb1bc}.editor-vu-row{font-size:12px}.editor-vu-row .editor-vu-track{height:13px}@media(max-width:900px){.track-editor .editor-vu-scale{font-size:12px!important}}

#editorWave{touch-action:none}#editorWave.is-panning{cursor:grabbing}

.track-delete-options{display:grid;gap:8px}.track-delete-options button{text-align:left;padding:12px}.track-delete-options button:last-child{color:#ffb9b9}

.mix-track-caption{position:absolute;bottom:3px;left:6px;right:6px;z-index:4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;background:#152631ce;padding:3px;pointer-events:none}#mixLaneA,#mixClipB{touch-action:none;cursor:grab}#mixLaneA:active,#mixClipB:active{cursor:grabbing}
main{position:relative;grid-template-columns:minmax(0,var(--studio-left,35fr)) minmax(0,var(--studio-right,65fr));grid-template-rows:minmax(0,1fr) var(--studio-mix-height,410px)}main>aside{position:relative;grid-template-rows:var(--studio-jingle-height,minmax(290px,48%)) minmax(0,1fr)}.studio-divider{position:absolute;z-index:12;background:#71839455;touch-action:none;border:0;padding:0}.studio-divider:hover,.studio-divider:focus{background:#25c8e0}.studio-divider.vertical{top:0;bottom:var(--studio-mix-height,410px);left:calc(var(--studio-left-percent,35%) - 3px);width:7px;cursor:col-resize}.studio-divider.horizontal{left:0;right:0;height:7px;cursor:row-resize}.studio-divider.database-split{top:calc(var(--studio-jingle-divider,48%) - 3px)}.studio-divider.mix-split{bottom:calc(var(--studio-mix-height,410px) - 3px)}

.mix,.mix button,.mix input,.mix output,.mix label,.mix .mix-timeline,.mix #mixZoomLabel,.mix #mixPoint,.mix #mixBpmLabel{font-family:"Nunito Sans","Segoe UI",sans-serif!important;font-variant-numeric:tabular-nums}.mix-timeline{font-size:13px!important}.mix{display:flex;flex-direction:column;overflow:hidden}.mix-wave-area{overflow-y:auto;overflow-x:hidden;flex:1;min-height:120px}.mix-extra-lane .mix-audio-clip{background:#24403a;border-color:#60cfaa}.mix-extra-lane svg path{fill:#66d9af!important}.mix-extra-remove{position:absolute;right:3px;top:3px;z-index:5;padding:2px 7px}.mix-extra-lane{height:72px;min-height:72px}

.mix .mix-timeline{position:relative;margin-left:74px;padding:0;height:26px;flex:none;display:block}.mix-timeline span{position:absolute;top:4px;transform:translateX(-50%);white-space:nowrap}.mix-timeline span:after{content:"";position:absolute;left:50%;bottom:-5px;height:4px;width:1px;background:#9bb4c1}.db.is-expanded{position:fixed;inset:164px 8px 8px;z-index:35;box-shadow:0 12px 40px #0008}.db.is-expanded .database-table td{font-size:13px;padding-top:8px;padding-bottom:8px}body>main{grid-template-rows:minmax(0,1fr) var(--studio-mix-height,300px)}.studio-divider.vertical{bottom:var(--studio-mix-height,300px)}.studio-divider.mix-split{bottom:calc(var(--studio-mix-height,300px) - 3px)}main>aside{grid-template-rows:var(--studio-jingle-height,200px) minmax(0,1fr)}.studio-divider.database-split{top:calc(var(--studio-jingle-divider,200px) - 3px)}

main>.left{position:relative;grid-template-rows:var(--studio-players-height,132px) minmax(0,1fr)}.carts>.cart{height:100%;min-height:132px}.carts .player-display{flex:1;min-height:40px}.studio-divider.players-split{top:calc(var(--studio-players-height,132px) - 3px)}.dbbody{position:relative;grid-template-columns:var(--studio-category-width,150px) minmax(0,1fr)}.dbbody .tree{width:var(--studio-category-width,150px);flex:none}.studio-divider.category-split{top:0;bottom:0;left:calc(var(--studio-category-width,150px) - 3px)}.mix{width:100%;min-width:0}.mix-controls,.mix-view-controls{min-width:0;flex-wrap:wrap}.carts .controls{min-width:0}.mix-audio-clip{max-width:none}

.db .dbbody{grid-template-columns:minmax(0,var(--studio-category-width,150px)) minmax(0,1fr)}.db .dbbody .tree{width:auto;min-width:0}.db .dbbody .tracks{min-width:0;max-width:100%;overflow:auto}

main>section.mix{height:100%;min-height:0;max-height:none;align-self:stretch}.mix>.mixhead,.mix>.mix-view-controls,.mix>.mix-timeline,.mix>.mix-controls,.mix>#mixStatus{flex:none}.mix .mix-wave-area{display:flex;flex-direction:column;min-height:60px;flex:1;overflow:auto}.mix .mix-wave-area>.mix-lane,.mix .mix-extra-lane{flex:1 0 48px;height:auto;min-height:48px;margin:3px 0}.mix .mix-wave-area>.mix-voice-lane{flex:.65 0 32px;min-height:32px;height:auto}.mix .mix-lane-audio{height:auto;min-height:0;min-width:0;align-self:stretch}.mix #mixExtraTracks{display:contents}.mix .mix-audio-clip{height:100%}.mix .mix-audio-clip svg{height:100%;width:100%}.mix .mixhead span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.mix[data-mode=transitions] .mix-voice-lane,.mix[data-mode=transitions] #mixRecord,.mix[data-mode=transitions] #mixPairLabel,.mix[data-mode=transitions] #mixBpmLabel,.mix[data-mode=transitions] #mixReload,.mix[data-mode=transitions] .mix-view-controls,.mix[data-mode=transitions] #mixPoint,.mix[data-mode=transitions] #mixBeatAlign,.mix[data-mode=transitions] .mix-controls>label{display:none!important}.mix[data-mode=transitions] #mixStatus{height:18px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mix[data-mode=transitions] .mix-lane>label{width:54px}.mix[data-mode=transitions] .mix-timeline{margin-left:54px}.mix-transition-marker{position:absolute;top:0;bottom:0;width:3px;background:#ffb34b;z-index:6;cursor:ew-resize;touch-action:none}.mix-transition-marker:before{content:"";position:absolute;top:0;left:-5px;width:13px;height:10px;background:#ffb34b;border-radius:2px}.mix-transition-marker:after{content:"";position:absolute;inset:0 -5px}.mix[data-mode=transitions] .mixhead{padding:5px 8px}.mix[data-mode=transitions] .mix-controls{padding:4px 8px}.mix[data-mode=transitions] .mix-controls button{min-width:34px;font-size:12px}

.mix[data-mode=transitions] .mix-beat-grid{display:none}.mix[data-mode=transitions] .mix-controls #mixReset{margin-left:auto}

#mixClipA{background:#123d43;border-color:#55d4dc}#mixClipA svg path{fill:#57dbe5!important}#mixClipB{background:#104323;border-color:#28da69}#mixClipB svg path{fill:#39e678!important}#mixLaneB>.mix-track-caption{background:#123421e8}

.mix[data-mode=transitions] .mixhead>span{display:none}.mix[data-mode=transitions] .mixhead b{margin-right:auto}

.mix .mix-track-caption,#mixLaneB>.mix-track-caption{top:0;bottom:auto;left:0;right:0;height:16px;line-height:14px;padding:1px 5px;font-size:10px;font-weight:500;text-align:center;background:#4b5966;color:#f0f5f8;border-radius:0}.mix .mix-lane:not(.mix-voice-lane) .mix-audio-clip{top:16px;height:calc(100% - 16px)}.mix .mix-extra-remove{top:17px}

.mix .mix-controls{order:10;flex:none;border-top:1px solid #596773;background:#28323d;gap:5px;padding:6px 8px;min-height:42px}.mix #mixStatus{order:11}.mix[data-mode=transitions] .mixhead{min-height:24px}.mix .mix-controls>button{height:28px;min-width:30px;border:1px solid #586572;background:#34404d;color:#f0f5fa;border-radius:3px}.mix .mix-controls>button:hover:not(:disabled){background:#456073}.mix .mix-controls>button:disabled{opacity:.4}.mix #mixVoice{font-size:15px}.mix #mixReset{padding:0 10px}.mix #mixPrevious,.mix #mixNext{font-size:15px}.mix #mixZoomIn,.mix #mixZoomOut{font-size:19px}.mix[data-mode=transitions] .mix-view-controls{display:none!important}

.mix .mix-lane>label{display:none}.mix .mix-timeline,.mix[data-mode=transitions] .mix-timeline{margin-left:0}.mix .mix-lane-audio{width:100%}

/* Compact native sprite buttons from the supplied toolbar. */
.mix .mix-controls .mix-sprite-button{position:relative;width:36px;height:36px;min-width:36px;padding:0;font-size:0;border:0;background:transparent;overflow:hidden}
.mix-sprite-button::before{content:"";display:block;width:30px;height:30px;margin:3px;border-radius:7px;background-image:url('assets/mix-toolbar.png');background-size:359.3px 119.65px;background-position:var(--sprite-x) -43px;background-repeat:no-repeat}
#mixNext::before{transform:scaleX(-1)}
.mix-sprite-button:disabled{opacity:.4}
#mixPlay.is-playing::before{filter:brightness(1.35);box-shadow:0 0 5px #32cff8}
#categoryTree button{display:flex;align-items:center;gap:5px;text-align:left;min-width:0}
.category-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 12px;color:#c5d4df;cursor:pointer}
.category-folder{flex:0 0 17px;font-size:13px}
.category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.mix .mix-track-caption,#mixLaneB>.mix-track-caption{top:auto;bottom:0;pointer-events:auto;cursor:pointer}
.mix .mix-lane:not(.mix-voice-lane) .mix-audio-clip{top:0;height:calc(100% - 16px)}

main.custom-layout{display:block;position:relative;overflow:hidden}
main.custom-layout>.left,main.custom-layout>aside,main.custom-layout>.studio-divider{display:none}
.studio-floating-panel{position:absolute;min-width:180px;min-height:110px;overflow:hidden;border:1px solid #455766;background:#1c2732;z-index:2;display:flex;flex-direction:column}
.studio-panel-grip{height:20px;flex:none;line-height:20px;padding:0 8px;background:#263744;color:#c3d5e1;font-size:10px;touch-action:none}
.layout-editing .studio-panel-grip{cursor:move;background:#34536b}
.layout-editing .studio-floating-panel{resize:both;border-color:#65bdd4}
.studio-floating-panel>section,.studio-floating-panel>.carts{flex:1;min-height:0;min-width:0;width:100%;height:calc(100% - 20px);margin:0}
.studio-floating-panel>.db{display:flex;flex-direction:column}
.studio-floating-panel .dbbody{flex:1;min-height:0}
.studio-floating-panel>.playlist{display:flex;flex-direction:column}
.studio-floating-panel .playlist-grid{flex:1;min-height:0;overflow:auto}
.studio-floating-panel>.jingle-panel{display:flex;flex-direction:column;overflow:hidden}
.studio-floating-panel .jgrid{flex:1;min-height:0;overflow:auto}
.studio-floating-panel>.carts{overflow:auto}

.mix .mix-controls .mix-sprite-button{width:42px;height:46px;min-width:42px;background:transparent!important;overflow:visible}
.mix-sprite-button::before{width:40px;height:44px;margin:1px;border-radius:0;background-image:url('assets/mix-toolbar-transparent.png');background-size:409.6px 136.4px;background-position:var(--sprite-x) -45px}
.mix[data-mode=transitions] .mix-controls #mixReset{margin-left:0}
#icon-down{--sprite-x:-370.2px;width:44px;height:46px;padding:0;background:transparent;overflow:visible}
#icon-down img{display:none}
#categoryTree .category-toggle{color:#c5d4df}
#categoryTree button.active{background:#314b60;color:#edf5fa}
#categoryTree button:hover{background:#304151;color:#edf5fa}

.mix .mix-controls .mix-sprite-button,#icon-down{width:34px;height:34px;min-width:34px;padding:0;border:0!important;border-radius:5px;overflow:hidden;background:transparent!important}
.mix-sprite-button::before{width:32px;height:32px;margin:1px;border-radius:5px;background-size:364.089px 118.609px;background-position:var(--sprite-x) -41.565px}
#icon-down{--sprite-x:-329.778px}
.mix[data-mode=transitions] #mixNormalize,.mix[data-mode=transitions] #mixVoice,.mix[data-mode=transitions] #mixReload{display:none}
#categoryTree .category-folder{position:relative;display:inline-block;flex:0 0 16px;width:16px;height:11px;margin-top:3px;background:linear-gradient(#ffe58a,#e9b637);border:1px solid #bf8d20;border-radius:1px;font-size:0}
#categoryTree .category-folder::before{content:"";position:absolute;left:-1px;top:-4px;width:8px;height:4px;background:#f8d365;border:1px solid #bf8d20;border-bottom:0;border-radius:2px 2px 0 0}
.category-all{flex:0 0 16px;text-align:center}

.mix-sprite-button::before{display:none!important;content:none!important}
.mix .mix-controls .mix-sprite-button,#icon-down{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border:0!important;box-shadow:none!important;padding:0!important;background:none!important;overflow:hidden}
.mix-sprite-button>svg{display:block;flex:none;width:32px;height:32px;overflow:hidden;border-radius:5px;pointer-events:none}
#mixNext>svg{transform:scaleX(-1)}
#mixPlay.is-playing>svg{filter:brightness(1.2)}

.mix-trim-handle{position:absolute;top:1px;bottom:17px;width:7px;transform:translateX(-50%);background:#f4cd65;border:1px solid #9b7d2c;border-radius:2px;z-index:7;cursor:ew-resize;touch-action:none}
.mix-trim-handle::after{content:"";position:absolute;left:2px;top:35%;height:30%;border-left:1px solid #655125}

.mix-hook-selection{position:absolute;top:0;bottom:17px;background:#71c9f344;border:1px solid #b4e7ff;z-index:6;cursor:grab}
.mix-hook-selection:active{cursor:grabbing}

.cart .controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 24px;align-items:center;gap:3px}
.player-vu{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:24px;height:29px;flex:none;padding:0 2px}
.player-vu-channel{display:flex;flex-direction:column;min-width:0;height:29px}
.player-vu-rail{position:relative;height:22px;overflow:hidden;border:1px solid #5d6971;background:#0d151b;border-radius:1px}
.player-vu-rail>span{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(to top,#38cf72 0%,#38cf72 72%,#ffd554 93.75%,#f25b4d 93.75%);background-size:100% 22px;background-position:bottom;box-shadow:inset 0 0 0 1px #ffffff15}
.player-vu-rail>span.clipping{background:#ff403c}
.player-vu small{height:7px;font-size:6px;line-height:7px;text-align:center;color:#c1d3db;font-family:'Nunito Sans',sans-serif}

.mix .mix-wave-area{overflow-x:hidden;overscroll-behavior-x:none}
.mix .mix-timeline{overflow:hidden;cursor:ew-resize;touch-action:pan-x}

.mix-controls>.mix-vu{width:32px;height:34px;margin-left:5px;padding:0 3px;gap:4px}
.mix-vu .player-vu-channel{height:34px}
.mix-vu .player-vu-rail{height:27px}
.mix-vu .player-vu-rail>span{background-size:100% 27px}
.mix-vu small{font-size:7px}

.mix-controls>.mix-vu{display:flex;flex-direction:column;width:170px;max-width:30vw;height:34px;gap:4px;padding:2px 0;margin-left:6px;flex:none}
.mix-vu .player-vu-channel{display:flex;flex-direction:row-reverse;align-items:center;gap:4px;height:13px;min-height:13px}
.mix-vu small{flex:none;width:10px;height:13px;line-height:13px;font-size:9px}
.mix-vu .player-vu-rail{flex:1;height:13px;width:auto}
.mix-vu .player-vu-rail>span{top:0;bottom:0;left:0;right:auto;width:0;height:100%;background:linear-gradient(to right,#38cf72 0%,#38cf72 72%,#ffd554 93.75%,#f25b4d 93.75%);background-size:154px 100%;background-position:left}
.mix-vu .player-vu-rail>span.clipping{background:#ff403c}

.mix[data-mode=transitions] .mix-controls #mixBeatAlign{display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;padding:0;border-radius:5px;background:#17362b;border-color:#52736b}
#mixBeatAlign svg{width:28px;height:28px;pointer-events:none}
.mix[data-beat-mix=on] .mix-beat-grid{display:block!important;opacity:.45}

#mixBassSwap{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;padding:0;border-radius:5px;background:#34382b;border-color:#5a6251}
#mixBassSwap svg{width:28px;height:28px;pointer-events:none}
#mixBassSwap[aria-pressed=true]{background:#615024;border-color:#dfbc5b}

.log-dialog{width:calc(100vw - 32px);max-width:none;height:calc(100dvh - 32px);max-height:none;margin:auto;padding:0;border:1px solid #47546a;border-radius:8px;background:#1b2433;color:#e3eaf5;font-family:'Nunito Sans',sans-serif}.log-dialog::backdrop{background:#050a14bb}.log-dialog[open]{display:flex;flex-direction:column}.log-head,.log-toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #39465a}.log-head b{flex:1;font-size:18px}.log-toolbar span{flex:1}.log-dialog button,.log-dialog input,.log-dialog select{font:inherit;color:inherit;background:#253247;border:1px solid #44556d;border-radius:4px;padding:6px 8px}.log-dialog button{cursor:pointer}.log-dialog button:disabled{opacity:.4;cursor:default}.log-dialog button:hover:not(:disabled){background:#364961}.log-workspace{flex:1;min-height:0;display:grid;grid-template-columns:190px 190px minmax(400px,1fr) minmax(240px,28%);gap:8px;padding:8px}.log-calendar-panel,.log-hours-panel,.log-list-panel,.log-browser{min-height:0;min-width:0;background:#202c3d;border:1px solid #3a485e;border-radius:4px;display:flex;flex-direction:column;gap:8px;padding:8px}.log-month{display:flex;align-items:center;justify-content:space-between;font-size:14px}.log-month button{padding:3px 8px}.log-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:14px}.log-calendar button{border:0;padding:6px 1px}.log-calendar span{font-size:12px;padding:4px 0;color:#a6b7cc}.log-calendar .outside{opacity:.35}.log-calendar .has-log{box-shadow:inset 0 -2px #e5bb49}.log-dialog .selected{background:#325c85!important}.log-calendar-panel label{display:grid;gap:5px;font-size:14px;margin-top:8px}.log-calendar-panel input{width:100%;box-sizing:border-box}.log-hours-panel> b{font-size:14px}#logHours{overflow:auto;flex:1} .log-hour{width:100%;display:grid;grid-template-columns:65px 1fr 25px;gap:4px;text-align:left;border:0!important;background:transparent!important;font-size:14px!important;min-height:30px}.log-hour span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-list-head{display:flex;align-items:center;gap:8px;min-height:32px;font-size:14px}.log-list-head b{flex:1}.log-list-head input{width:38%;min-width:100px}.log-row{display:grid;grid-template-columns:80px minmax(100px,1fr) minmax(150px,1.5fr) 50px 58px 40px;gap:8px;align-items:center;min-height:33px;padding:0 6px;font-size:14px;cursor:default}.log-row span,.log-db-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-columns{color:#a7b8cf;border-bottom:1px solid #46546a;font-size:13px;min-height:30px}.log-chain{border:0!important;background:transparent!important;color:#63dc8e!important;padding:3px!important}#logRows{flex:1;overflow:auto;min-height:0}.log-row:not(.log-columns):hover,.log-db-row:not(.log-columns):hover{background:#293d55}.log-summary{border-top:1px solid #46546a;padding:8px 0 0;font-size:14px;color:#ebc268}.log-db-row{display:grid;grid-template-columns:minmax(70px,1fr) minmax(95px,1.4fr) 48px;gap:8px;padding:4px;font-size:14px;min-height:28px;align-items:center}#logDatabase{flex:1;min-height:0;overflow:auto}.log-dialog footer{min-height:26px;padding:7px 14px;font-size:14px;color:#a9bfd9}.log-drop{box-shadow:inset 0 2px #e6bd56}.log-empty{font-size:14px;color:#91a4bd;padding:20px 6px}.log-dialog #logCopyDialog{background:#243248;color:#e3eaf5;border:1px solid #62748d;border-radius:6px;padding:20px;min-width:280px}.log-dialog #logCopyDialog form{display:grid;gap:14px}.log-dialog #logCopyDialog label{display:grid;gap:6px}.log-dialog #logCopyDialog form>div{display:flex;justify-content:flex-end;gap:8px}@media(max-width:1100px){.log-workspace{grid-template-columns:165px minmax(380px,1fr) 260px}.log-calendar-panel{display:none}.log-toolbar{flex-wrap:wrap}.log-hour{grid-template-columns:62px 1fr 24px}}@media(max-width:800px){.log-workspace{grid-template-columns:105px minmax(0,1fr)}.log-browser{display:none}.log-row{grid-template-columns:65px minmax(70px,1fr) minmax(90px,1.3fr) 45px 50px 28px;gap:4px;font-size:13px}.log-hours-panel{padding:3px}.log-hour{grid-template-columns:62px 25px}.log-hour span:nth-child(2){display:none}.log-list-head{flex-wrap:wrap}.log-dialog{width:calc(100vw - 8px);height:calc(100dvh - 8px)}}
.log-hour{padding:3px 4px!important;min-height:26px;line-height:20px}.log-db-row.selected{background:#325c85}
.audio-output-grid{display:grid;grid-template-columns:120px minmax(180px,1fr) 100px;gap:7px 12px;align-items:center;max-width:780px}.audio-output-grid select{width:100%;min-width:0}.audio-output-grid label{margin:0}.audio-output-grid p{margin:4px 0 12px}

#aeronFormatsImport{border-top:1px solid #3a4755;margin-top:20px;padding-top:12px}#logDayDialog{width:min(650px,90vw);max-height:90vh;background:#17202d;color:#fff;border:1px solid #546577;border-radius:8px;padding:20px}.log-day-load-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.log-day-load-hours{max-height:50vh;overflow:auto;margin-top:12px}.log-day-load-hours>div{display:grid;grid-template-columns:80px 1fr 90px;padding:6px 4px;border-bottom:1px solid #2c3948}

/* Hide the redundant text toolbar controls; icon shortcuts remain available. */
.toolbar>[hidden]{display:none!important}

.log-aeron-import{margin:14px 0;padding:10px;border:1px solid #566371}.log-aeron-import label{display:block;margin:8px 0}.log-aeron-import input[type=checkbox]{width:auto}.log-missing{color:#ffc281}

.time-skipped{color:#ffad45!important;font-weight:700;letter-spacing:2px}

#logMissingDialog{width:min(1100px,95vw);max-height:90vh;background:#17202d;color:#fff;border:1px solid #546577;padding:18px}.log-missing-scroll{max-height:65vh;overflow:auto}#logMissingDialog table{width:100%;border-collapse:collapse;text-align:left}#logMissingDialog th{position:sticky;top:0;background:#263341;padding:8px}#logMissingDialog td{padding:8px;border-bottom:1px solid #394658;vertical-align:top;overflow-wrap:anywhere}#logMissingDialog td:nth-child(3){max-width:400px}#logMissingDialog small{color:#96aabc}#logMissingDialog td button{display:block;margin-bottom:4px}#logDayDialog{overflow:auto}

.playlist .playlist-missing p:nth-child(3){color:#ffbb55}.player-nonstop-dialog{width:min(480px,90vw);background:#202c39;color:#f0f5fa;border:1px solid #607084;padding:20px;border-radius:8px}.player-nonstop-dialog label{display:block}.player-nonstop-dialog select{display:block;width:100%;margin:8px 0;padding:8px;background:#182331;color:white}.player-nonstop-dialog p{line-height:1.6;color:#b6c6d5}.playlist-grid{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#7b848e #252c34}.playlist-grid::-webkit-scrollbar{width:14px;height:14px}.playlist-grid::-webkit-scrollbar-track{background:#252c34}.playlist-grid::-webkit-scrollbar-thumb{background:#7b848e;border:3px solid #252c34;border-radius:6px}.playlist-grid::-webkit-scrollbar-thumb:hover{background:#a2acb7}

.playlist-grid::-webkit-scrollbar{width:10px;height:10px}.playlist-grid::-webkit-scrollbar-thumb{border-width:2px;background:#69747e}.playlist-grid::-webkit-scrollbar-button{background:#252c34;height:0;width:0}.playlist-grid::-webkit-scrollbar-corner{background:#252c34}

.db .tracks,.db .tree{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#69747e #252c34}.db .tracks::-webkit-scrollbar,.db .tree::-webkit-scrollbar{width:10px;height:10px}.db .tracks::-webkit-scrollbar-track,.db .tree::-webkit-scrollbar-track,.db .tracks::-webkit-scrollbar-corner,.db .tree::-webkit-scrollbar-corner{background:#252c34}.db .tracks::-webkit-scrollbar-thumb,.db .tree::-webkit-scrollbar-thumb{background:#69747e;border:2px solid #252c34;border-radius:6px}.db .tracks::-webkit-scrollbar-thumb:hover,.db .tree::-webkit-scrollbar-thumb:hover{background:#a2acb7}.db .tracks::-webkit-scrollbar-button,.db .tree::-webkit-scrollbar-button{height:0;width:0;background:#252c34}

.audio-problems-dialog{width:min(1100px,92vw);max-height:85vh;background:#202c39;color:#eef4fa;border:1px solid #607084;border-radius:8px;padding:18px}.audio-problems-dialog>div:first-child{display:flex;justify-content:space-between;gap:20px}.audio-problems-scroll{overflow:auto;max-height:55vh}.audio-problems-dialog table{width:100%;border-collapse:collapse}.audio-problems-dialog th,.audio-problems-dialog td{text-align:left;padding:9px;vertical-align:top;overflow-wrap:anywhere}.audio-problems-dialog td{border-bottom:1px solid #394552}.playlist .playlist-missing{background:#624424}

.playout-log-rows{max-height:55vh;overflow:auto;white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.6;background:#121a26;padding:12px;border-radius:8px;}
.player-settings-tabs{display:flex;gap:5px;margin:12px 0;border-bottom:1px solid #607084;padding-bottom:8px}.player-settings-tabs button[aria-selected=true]{background:#087b9c;color:white}.player-nonstop-dialog{width:min(660px,94vw);max-height:92vh;overflow:auto}.player-view-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0}.player-view-fields input[type=number]{display:block;width:100%;padding:8px}.player-view-fields input[type=checkbox]{margin-left:10px}.player-view-status{font-size:12px;text-align:center;color:#b7c9d5;padding:3px}.player-view-status.red-countdown{color:#ff5757;font-weight:700}.category-export-off .category-name{opacity:.65}.carts .runtime span,.carts .intro span{font-size:var(--player-time-font,21px)}.playlist .r{font-size:var(--playlist-font,12px);height:calc(var(--playlist-font,12px) * 2.2)}.playlist .r time,.playlist .r em,.playlist .r>span{font-size:var(--playlist-font,12px)}.playlist-title-first .r>p:nth-child(2){grid-column:3;grid-row:1}.playlist-title-first .r>p:nth-child(3){grid-column:2;grid-row:1}.playlist-title-first .cols>b:nth-child(2){grid-column:3;grid-row:1}.playlist-title-first .cols>b:nth-child(3){grid-column:2;grid-row:1}
.carts .player-track{font-size:var(--player-time-font,21px);line-height:1.2}.player-nonstop-dialog [hidden]{display:none!important}.player-nonstop-dialog .audio-output-grid{grid-template-columns:100px minmax(0,1fr) 85px}.player-view-fields select{margin-bottom:0}.player-nonstop-dialog button{cursor:pointer}
.carts .player-track{font-size:calc(var(--player-time-font,21px) * .65)}
.connection-section{border:1px solid #47596c;border-radius:5px;margin:10px 0;padding:10px}.connection-section summary{cursor:pointer;font-weight:700;padding:3px 0}.connection-section[open] summary{margin-bottom:12px}.connection-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.connection-fields input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:8px;background:#182331;color:white;border:1px solid #657588}.connection-section button{margin:5px}.connection-section p{font-size:12px}
.carts>.cart>.track-info{display:none}.recently-played{display:flex;align-items:center;gap:10px;min-height:28px;padding:4px 8px;background:#263340;min-width:0;box-sizing:border-box}.recently-played small{color:#9aafbf;white-space:nowrap}.recently-played span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-grid{height:calc(100% - 60px)}.carts .cart{min-width:0}.playlist .r p{font-size:inherit;min-width:0}.playlist .r time{font-size:var(--playlist-font,12px);min-width:0}#icon-down{border:1px solid #60758a!important;background:linear-gradient(#35485b,#172331)!important;border-radius:6px;box-shadow:inset 0 1px #718597!important;box-sizing:border-box}

.carts .runtime span,.carts .intro span{font-family:inherit;letter-spacing:0;line-height:1.15;min-width:0}
/* Intro owns its natural width; both time fields fit within the existing three columns. */
.carts .player-display{container-type:inline-size;box-sizing:border-box;width:100%;min-width:0;grid-template-columns:22px minmax(0,1fr) max-content}
.carts .intro{min-width:max-content}
.carts .runtime span,.carts .intro span{font-variant-numeric:tabular-nums;font-size:min(var(--player-time-font,21px),max(10px,calc((100cqi - 34px)/6.7)))}

.log-dialog{position:fixed;inset:auto;left:22vw;top:8vh;margin:0;width:min(1000px,74vw);height:76vh;min-width:min(760px,96vw);min-height:360px;max-width:96vw;max-height:92vh;resize:both;overflow:hidden;z-index:250;box-shadow:0 14px 48px #0009}.log-head{cursor:move;user-select:none;flex:none}.log-head button{cursor:pointer}.log-toolbar{flex-wrap:wrap;flex:none}.log-dialog .log-workspace{grid-template-columns:110px 92px minmax(240px,1fr) minmax(170px,22%)}

.icon-toolbar #icon-down{width:49px;height:48px;min-width:49px;border:1px solid #718597!important;background:linear-gradient(#35485b,#172331)!important;border-radius:5px;box-shadow:inset 0 1px #8aa0b4!important}

.carts .player-display{padding-right:14px}
.source-editor{width:min(960px,96vw);max-height:92vh;overflow:auto;background:#17202d;color:#e8f0fa;border:1px solid #42546c;border-radius:12px;padding:18px;font-family:'Nunito Sans',sans-serif}.source-editor::backdrop{background:#0008}.source-editor header,.source-editor footer{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.source-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.source-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px}.source-fields input,.source-fields select{min-width:0;width:100%;padding:8px;background:#101927;color:#edf5ff;border:1px solid #43546d;border-radius:6px;font:inherit}.source-fields input[type=checkbox]{width:auto;align-self:start}.source-editor button,.spotify-panel button{padding:8px 12px;background:#24364d;border:1px solid #4b6585;color:#f0f5ff;border-radius:6px;font:inherit;cursor:pointer}.source-editor footer{margin-top:20px}.spotify-panel{height:100%;display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;background:#132a24;color:#eef8f0;font-size:14px;overflow:auto}.spotify-panel label{display:flex;flex-direction:column;gap:4px}.spotify-panel input,.spotify-panel select{min-width:0;width:100%;padding:7px;background:#122119;border:1px solid #456654;border-radius:5px;color:white;font:inherit}.spotify-panel input[type=checkbox]{width:auto}.spotify-result{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-bottom:1px solid #385143}.spotify-result a{color:#70eba9}.jp.has-spotify>.cart,.jp.has-spotify>.jingle-library{display:none}.spotify-panel p{font-size:13px;color:#c7d9cf}.mix-controls button:has(+button){flex-shrink:0}@media(max-width:900px){.source-fields{grid-template-columns:repeat(2,minmax(0,1fr));}}



.duplicate-popup{position:fixed;z-index:500;right:20px;bottom:20px;width:min(360px,calc(100vw - 40px));height:auto;padding:12px 14px;background:#263440;color:#eef4fa;border:1px solid #8797a4;border-radius:8px;box-shadow:0 6px 24px #0008;font:14px "Nunito Sans",sans-serif}.duplicate-popup[hidden]{display:none!important}.duplicate-popup>b{display:block;margin-bottom:6px}.duplicate-popup>div{margin-top:5px}.duplicate-popup>button{float:right;background:transparent;border:0;color:inherit;font-size:20px;cursor:pointer}

.mix-audio-clip[data-live=true]{background:rgba(41,156,211,.24);border:1px solid #299cd3;min-height:70px}.mix-live-label{display:block;padding:24px 12px;color:#e6f5ff;white-space:nowrap;position:sticky;left:12px;font-weight:600}
.toplist-dialog{width:min(1120px,96vw);max-height:92vh;margin:auto;overflow:auto;padding:20px;background:#1b2433;color:#e3eaf5;border:1px solid #53657a;border-radius:8px;font-family:'Nunito Sans',sans-serif;box-sizing:border-box}
.toplist-dialog::backdrop{background:#050a14bb}
.toplist-dialog header{height:auto;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding:0;background:none;gap:12px}
.toplist-dialog header b{font-size:18px}
.toplist-dialog button,.toplist-dialog input,.toplist-dialog select,.toplist-dialog textarea{font:inherit;color:inherit;background:#253247;border:1px solid #53657a;border-radius:4px;padding:8px;box-sizing:border-box}
.toplist-dialog button{cursor:pointer}.toplist-dialog button:disabled{opacity:.45;cursor:default}
.toplist-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.toplist-fields label,.toplist-text-label{display:grid;gap:6px}.toplist-fields input,.toplist-fields select,.toplist-dialog textarea{width:100%;min-width:0}
.toplist-dialog textarea{font-family:Consolas,monospace;resize:vertical}.toplist-text-label{margin:16px 0}
.toplist-folder,.toplist-review,.toplist-dialog footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}
.toplist-review label{display:flex;align-items:center;gap:6px}.toplist-dialog input[type=checkbox]{width:auto}
.toplist-dialog [data-errors]{color:#ffba91}.toplist-dialog [data-errors] p{margin:5px 0}
.toplist-table-wrap{max-height:48vh;overflow:auto}.toplist-dialog table{width:100%;border-collapse:collapse;table-layout:fixed}.toplist-dialog th,.toplist-dialog td{text-align:left;padding:9px 7px;border-bottom:1px solid #3a495c;overflow-wrap:anywhere;vertical-align:top}
.toplist-dialog th{position:sticky;top:0;background:#253247;z-index:1}.toplist-dialog th:first-child{width:65px}.toplist-dialog th:nth-child(2){width:27%}.toplist-dialog th:last-child{width:130px}
.toplist-dialog td select,.toplist-dialog td input{width:100%;min-width:0;margin-bottom:5px}.toplist-dialog [data-state=matched]{color:#7edca4}.toplist-dialog [data-state=unresolved]{color:#ffbf74}
.toplist-dialog footer{justify-content:space-between;margin-top:20px}.toplist-dialog [data-create]{background:#087b9c;border-color:#28a7c9}
.playlist .playlist-rank-heading{display:none}.playlist.has-toplist-ranks .playlist-rank-heading{display:block}.playlist.has-toplist-ranks .cols,.playlist.has-toplist-ranks .r{grid-template-columns:var(--playlist-columns,84px minmax(100px,.9fr) minmax(140px,1.5fr) 40px 42px 24px) 54px}
.playlist .r>.playlist-rank{color:#ffd16b;text-align:center;font-weight:700;white-space:nowrap}
@media(max-width:700px){.toplist-fields{grid-template-columns:1fr}.toplist-dialog{padding:12px}.toplist-dialog table{min-width:640px}}

#categoryTree .category-folder{background:var(--folder-color,linear-gradient(#ffe58a,#e9b637));border-color:var(--folder-color,#bf8d20)}
#categoryTree .category-folder::before{background:var(--folder-color,#f8d365);border-color:var(--folder-color,#bf8d20)}
.category-color-controls{padding:8px;border-top:1px solid #69747f}.category-color-controls label{display:flex;align-items:center;justify-content:space-between;gap:16px}.category-color-controls input{width:46px;height:28px;padding:2px;cursor:pointer}

.database-table th[data-column]{cursor:pointer}.database-table th[aria-sort=ascending]::after{content:' ▲';font-size:10px;color:#1879bc}

#recentlyPlayedText{cursor:grab}#recentlyPlayedText:active{cursor:grabbing}

.database-table{table-layout:fixed}.database-table td{max-width:none}.database-column-resizer{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:col-resize;touch-action:none;z-index:3;border-right:1px solid #60758a}.database-column-resizer:hover{background:#20bed8}.database-table th{padding-right:14px}.playlist-resizer{z-index:3;border-right:1px solid #60758a}

/* Shared header/row cell alignment, including resized and title-first columns. */
.playlist .cols,.playlist .r{column-gap:4px;padding-left:6px;padding-right:6px;align-items:center}
.playlist .cols>b,.playlist .r>p,.playlist .r>time,.playlist .r>em,.playlist .r>span{min-width:0;margin:0;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.playlist .cols>b:nth-child(2),.playlist .cols>b:nth-child(3),.playlist .r>p{text-align:left}
.playlist .cols>b:nth-child(4),.playlist .cols>b:nth-child(5),.playlist .r>em,.playlist .r>span:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}
.playlist .cols>b:first-child,.playlist .r>time{text-align:left}

.bulk-track-editor{width:min(980px,96vw);max-height:92vh;overflow:auto;background:#26323e;color:#ecf4fa;border:1px solid #71889c;padding:22px}.bulk-track-editor::backdrop{background:#0009}.bulk-track-editor h2{margin:0 0 10px}.bulk-note{color:#b7d3e8;line-height:1.5}.bulk-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.bulk-field{padding:12px;background:#202a34;border:1px solid #4b6173;border-radius:4px;min-width:0}.bulk-toggle{display:flex;gap:8px;align-items:center;font-weight:600;margin-bottom:10px}.bulk-toggle input{accent-color:#20b7d0}.bulk-field-value{display:grid;gap:7px}.bulk-field-value input,.bulk-field-value select,.bulk-field-value textarea{width:100%;min-width:0;background:#344452;border:1px solid #6b8296;color:#f0f6fb;padding:7px;font:inherit}.bulk-field-value :disabled{opacity:.45}.bulk-error{color:#ffaaaa;min-height:18px}.bulk-track-editor footer{justify-content:flex-end}.bulk-track-editor button{padding:9px 14px}.bulk-track-editor button[type=submit]{background:#087f9b}.bulk-history{margin-top:22px;border-top:1px solid #597083;padding-top:8px}.bulk-history p{padding:6px;background:#202a34;margin:4px 0}.bulk-history button{margin-top:10px;background:#973f42}.bulk-track-editor details ul{max-height:160px;overflow:auto;padding-left:22px}@media(max-width:850px){.bulk-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.bulk-fields{grid-template-columns:1fr}}

#categoryTree .category-station .category-name{font-weight:700}

.editor-station-heading{display:block;width:100%;font-weight:700;margin:8px 0 4px}

/* Instellingen: horizontale tabs, inhoud eronder. */
.studio-settings-layout{display:flex;flex-direction:column;min-height:0}.studio-settings-nav{flex-direction:row;flex-wrap:wrap;gap:5px;padding:10px 14px;overflow:visible;flex-shrink:0}.studio-settings-nav>small{display:none}.studio-settings-nav button{text-align:center;padding:9px 12px;white-space:nowrap}.studio-settings-content{flex:1;min-height:0;width:100%;box-sizing:border-box}
/* Elke instellingentab gebruikt de volledige beschikbare schermruimte. */
#settingsModal{padding:0}.studio-settings.modalbox{width:min(1100px,90vw);height:min(720px,85dvh);max-width:none;max-height:none;margin:0;border-radius:8px}.studio-settings-content{padding:20px;max-width:none}.studio-settings-content>section{width:100%;min-height:100%;box-sizing:border-box}.studio-settings-content p{max-width:none}
/* Verstelbare dialoogvensters: sleep de rechteronderhoek. */
.modal .modalbox,dialog{resize:both;overflow:auto;min-width:min(320px,90vw);min-height:160px;max-width:100vw;max-height:100dvh;box-sizing:border-box}
.modal.window-maximized{padding:0}.modalhead [data-maximize-window]{margin-left:auto;margin-right:6px}.modalhead [data-maximize-window]+button{margin-left:0}
.modal .modalhead{cursor:move;touch-action:none}.modal.window-maximized .modalhead{cursor:default}.modal .modalhead button{cursor:pointer}
.modal .modalbox{position:relative}.window-resize-bottom{position:absolute;bottom:0;left:12px;right:12px;height:8px;cursor:ns-resize;touch-action:none;z-index:10;background:linear-gradient(transparent,#3599d344);border-radius:0 0 5px 5px}.window-maximized .window-resize-bottom{display:none}
/* Onderwerptitels gebruiken het oranje van de playlisttijd. */
.studio-settings-content h3,.studio-settings-content h4,.studio-settings-content legend,.studio-settings-content b,.studio-settings-content strong{color:#ffb34e}
#emergencyMusicHeading{margin-top:22px}.studio-settings-fields.emergency-music-fields{max-width:520px;margin:0 0 12px}.emergency-music-fields label{margin:0}.emergency-music-fields select{display:block;width:100%}
.emergency-station-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;max-width:1000px;margin:0 0 12px}.emergency-station-sources label{display:flex;flex-direction:column;gap:7px;margin:0;padding:12px;background:#1d2c39;border-radius:4px}.emergency-station-sources select{width:100%}

/* Left aligned jingle columns; unused space is available to other layout blocks. */
.jgrid{grid-template-columns:repeat(var(--jingle-columns,4),minmax(150px,calc((100% - 9px)/4)))!important;justify-content:start;align-content:start}
.studio-floating-panel .jgrid{grid-template-columns:repeat(var(--jingle-columns,4),minmax(150px,1fr))!important}
.jingle-count-menu{position:fixed;z-index:12000;display:grid;min-width:170px;max-height:80vh;overflow:auto;background:#263340;border:1px solid #7c95a8;padding:4px;box-shadow:0 5px 18px #0008}
.jingle-count-menu[hidden]{display:none}.jingle-count-menu button{text-align:left;padding:5px 10px;border:0;background:transparent}.jingle-count-menu button:hover,.jingle-count-menu button:focus,.jingle-count-menu button[aria-checked="true"]{background:#365b75}
.custom-layout .studio-floating-panel>.jingle-panel .jgrid{grid-template-rows:minmax(180px,1fr);grid-auto-rows:minmax(180px,1fr)}
.custom-layout .studio-floating-panel>.carts{grid-template-rows:minmax(132px,1fr)}
.custom-layout .studio-floating-panel>.carts>.cart{height:100%}

.layout-editing .studio-floating-panel{resize:none}
.studio-resize-handle{display:none;position:absolute;z-index:5;padding:0;border:0;border-radius:0;background:#64bed480;touch-action:none}
.layout-editing .studio-resize-handle{display:block}.studio-resize-handle.resize-x{right:0;top:20px;bottom:14px;width:7px;cursor:ew-resize}.studio-resize-handle.resize-y{bottom:0;left:0;right:14px;height:7px;cursor:ns-resize}.studio-resize-handle.resize-xy{right:0;bottom:0;width:15px;height:15px;background:#8ad5e7;cursor:nwse-resize}
main button,main [role=button],.studio-panel-grip{user-select:none;-webkit-user-select:none}
main .studio-block-selected{outline:1px solid #64bed4;outline-offset:-1px}

/* Independently adjustable logeditor panels, including on smaller displays. */
.log-dialog .log-workspace{gap:0;overflow:auto;align-items:stretch;flex:1 1 0;min-height:0}
.log-dialog .log-workspace>.log-calendar-panel,.log-dialog .log-workspace>.log-hours-panel,.log-dialog .log-workspace>.log-list-panel,.log-dialog .log-workspace>.log-browser{display:flex;overflow:hidden}
.log-dialog .log-calendar-panel{overflow:auto!important}
.log-panel-divider{cursor:col-resize;touch-action:none;user-select:none;position:relative;outline:none}
.log-panel-divider::after{content:'';position:absolute;top:12px;bottom:12px;left:4px;width:2px;border-radius:2px;background:#52647d}
.log-panel-divider:hover::after,.log-panel-divider:focus-visible::after,.log-panel-divider.dragging::after{background:#ebc268;width:4px;left:3px}

.category-import-option{display:flex;align-items:center;gap:8px;margin:18px 0}.category-import-option input{width:auto}.import-folder-settings{margin:18px 0;padding:14px;border:1px solid #52647d;border-radius:5px}.import-folder-settings h3{color:#e9b637}.import-folder-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr) auto;align-items:center;gap:10px;margin:10px 0}.import-folder-row input{width:100%;min-width:0;box-sizing:border-box}.import-folder-status{overflow-wrap:anywhere}@media(max-width:700px){.import-folder-row{grid-template-columns:1fr}.import-folder-row input{width:100%}}

#studioStationSelect,#studioStationSelect option{background:#465164;color:#fff}.nonstop-station-select,.editor-station-heading,.nonstop-database-drag strong{text-transform:uppercase}

/* Manual voicetracking directly between the A and B lanes. */
.mix[data-mode=transitions] #mixRecord{display:inline-flex!important}.mix[data-mode=transitions].has-voice .mix-voice-lane{display:flex!important}.mix[data-mode=voice] .mix-voice-lane{display:flex!important}.mix #mixStopRecording{width:auto;min-width:120px;color:#fff;background:#a32d3d;border-color:#ec6571;font-weight:700}.mix #mixStopRecording[hidden]{display:none}.mix-voice-level{display:flex!important;align-items:center;gap:6px;color:#d4e4f7;font-size:12px}.mix-voice-level input{width:90px}.mix-voice-level output{min-width:44px}.mix #mixVoiceClip{cursor:move;touch-action:none;background:#365d8055;border:1px solid #64b9e8}.mix #mixVoiceClip svg{transform-origin:center;pointer-events:none}.mix .mix-voice-lane.is-recording{box-shadow:inset 0 0 0 2px #f45b73;background:#562737}.mix #mixLaneA,.mix #mixClipB{touch-action:none}.mix #mixRecord.recording{box-shadow:0 0 0 2px #f45b73;background:#922e42}.mix #mixRecord{position:relative}.mix #mixRecord::after{content:'REC';position:absolute;right:1px;bottom:0;font-size:8px;line-height:9px;color:#fff;background:#983547}

.mix .mix-controls{flex-wrap:wrap}.mix #mixVoiceClip:focus-visible{outline:2px solid #e9b637;outline-offset:-2px}


.mix[data-mode=transitions].has-voice .mix-controls>.mix-voice-level{display:flex!important}

.mix #mixStartB[hidden]{display:none}.mix #mixStartB{width:auto;min-width:95px;background:#23566e;border-color:#5db5d5;font-weight:700}

/* Clean three-lane editor with fixed captions and editable volume envelopes. */
.mix .mix-view-controls,.mix #mixBpmLabel,.mix #mixPoint,.mix .mix-controls>label:not(.mix-microphone-choice):not(.mix-voice-level),.mix .mix-db-marker,.mix .mix-beat-grid{display:none!important}
.mix .mix-track-caption,.mix #mixLaneB>.mix-track-caption{left:0;right:0;top:auto;bottom:0;text-align:right;height:20px;line-height:18px;font-size:12px;padding:1px 8px;z-index:9;pointer-events:none;background:#34404dbf}
.mix .mix-volume-curve{position:absolute;inset:0;width:100%;height:calc(100% - 20px);z-index:7;overflow:hidden;pointer-events:none;touch-action:none}.mix-volume-line{fill:none;stroke:#ffd46c;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:crosshair}.mix-volume-point{fill:#f0a33d;stroke:#152332;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:all;cursor:move}.mix-volume-point:focus{stroke:white;stroke-width:2}
.mix .mix-controls>.mix-microphone-choice{display:flex!important;align-items:center;gap:6px;font-size:12px}.mix-microphone-choice select{max-width:220px;background:#354458;color:white;border:1px solid #65768b;padding:4px}.mix #mixIntroCountdown{font-size:19px;font-weight:800;color:#76e5ed;padding:3px 10px;min-width:125px}
.playlist-voice-label{grid-column:1 / -1;grid-row:2;display:block;padding:3px 8px 4px 38px;color:#96d9f4;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-user-setting{display:grid;gap:8px;margin:16px 0}.voice-user-setting input{max-width:320px;padding:7px}

.mix .mixhead,.mix #mixPairLabel,.mix #mixBpmLabel,.mix .mix-view-controls,.mix .mix-timeline{display:none!important}

.playlist .r.has-voicetrack{height:auto;min-height:47px;grid-template-rows:25px 20px}.playlist .r.has-voicetrack .playlist-voice-label{line-height:18px;margin:0;padding-top:0;padding-bottom:0}

.mix .mix-lane .mix-audio-clip{height:calc(100% - 20px)}.mix .mix-voice-lane .mix-track-caption{pointer-events:none}

.log-voice-dialog{width:96vw;max-width:1600px;height:86vh;max-height:94vh;background:#1b2433;color:#e8f0fa;border:1px solid #52647d;border-radius:7px;padding:0}.log-voice-dialog[open]{display:flex;flex-direction:column}.log-voice-dialog>section.mix{flex:1;min-height:0;height:auto}.log-voice-dialog::backdrop{background:#060b17aa}

.log-voice-name{grid-column:1 / -1;grid-row:2;color:#96d9f4;font-size:12px;padding:2px 4px 5px}

.mix[data-beat-mix=on] .mix-beat-grid{display:none!important}.vt-mode-workspace{display:grid;flex:1;min-height:0;overflow:hidden;padding:6px}.vt-mode-workspace>section.mix{height:100%;min-width:0;min-height:0}.vt-mode-divider{cursor:col-resize;background:#435268;touch-action:none}.vt-mode-divider:hover,.vt-mode-divider:focus-visible{background:#e9b637}.vt-mode-playlist{min-width:0;min-height:0;display:flex;flex-direction:column;background:#253142;padding:8px}.vt-mode-playlist>b{padding:6px;color:#e9b637}.vt-mode-rows{overflow:auto;flex:1;min-height:0}.vt-mode-row{display:grid;grid-template-columns:66px minmax(0,1fr);gap:3px 7px;width:100%;padding:7px;text-align:left;background:#303f52;border:0;border-bottom:1px solid #526278;border-radius:0;color:#e8f0fa}.vt-mode-row time{grid-row:1/3;color:#ffb34e;font-size:12px}.vt-mode-row span,.vt-mode-row strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.vt-mode-row small{grid-column:1/-1;color:#96d9f4}.vt-mode-row.selected{background:#146083}.vt-mode-row.incoming{box-shadow:inset 4px 0 #45c581}.vt-mode-row:hover{background:#42627d}.vt-mode-row:disabled{opacity:.6}

.mix-volume-hit{fill:none;stroke:transparent;stroke-width:14;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:crosshair}

/* Independent panel edges: resizing one panel never changes its neighbours. */
.custom-layout .studio-floating-panel>.studio-resize-handle{display:block!important;position:absolute;z-index:30;background:transparent;border:0;padding:0;min-width:0;min-height:0;opacity:1}
.custom-layout .edge-n,.custom-layout .edge-s{left:8px;right:8px;width:calc(100% - 16px);height:7px;cursor:ns-resize}
.custom-layout .edge-n{top:0;bottom:auto}.custom-layout .edge-s{bottom:0;top:auto}
.custom-layout .edge-w,.custom-layout .edge-e{top:8px;bottom:8px;height:calc(100% - 16px);width:7px;cursor:ew-resize}
.custom-layout .edge-w{left:0;right:auto}.custom-layout .edge-e{right:0;left:auto}
.custom-layout .edge-nw,.custom-layout .edge-ne,.custom-layout .edge-sw,.custom-layout .edge-se{width:12px;height:12px}
.custom-layout .edge-nw{left:0;top:0;cursor:nwse-resize}.custom-layout .edge-ne{right:0;top:0;cursor:nesw-resize}.custom-layout .edge-sw{left:0;bottom:0;cursor:nesw-resize}.custom-layout .edge-se{right:0;bottom:0;cursor:nwse-resize}
.custom-layout .studio-divider{display:none!important}
/* Dragging controls must not select text or paint blue blocks across players. */
main{user-select:none;-webkit-user-select:none}
main input,main textarea,main [contenteditable=true]{user-select:text;-webkit-user-select:text}
main .studio-block-selected{outline:none}
.mix[data-mode=voice] .mix-track-caption,.mix[data-mode=voice] #mixLaneB>.mix-track-caption{text-align:left}

/* One understated level line, confined to a saved voicetrack. */
.mix .mix-volume-line{stroke:#c2b681;stroke-width:1.5px;cursor:ns-resize}
.mix .mix-volume-hit{cursor:ns-resize}
.mix .mix-volume-point{display:none!important}

/* Aeron-style existing duck handles; clicks never insert points. */
.mix .mix-volume-point{display:block!important;fill:#ffb451;stroke:#573b1c;stroke-width:1px;cursor:move;pointer-events:all}
.mix .mix-volume-line{stroke:#ffb451;stroke-width:1.5px}

/* Squares indicate curve corners only; all dragging stays on the lines. */
.mix .mix-volume-point{pointer-events:none!important;cursor:inherit}

/* VT is a self-contained one-row workspace, independent of the studio grid. */
.log-voice-dialog{background:#30363e!important;color:#e9edf1!important;color-scheme:dark;overflow:hidden;resize:both}
.log-voice-dialog .log-head{display:flex;align-items:center;gap:12px;background:#242a31;color:#e9edf1;padding:9px;flex:none}
.log-voice-dialog .log-head>b{flex:1}.log-voice-dialog .log-head button{padding:6px 10px}
.vt-log-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px;background:#343b44;flex:none;border-bottom:1px solid #59616b}
.vt-log-toolbar label{display:flex;align-items:center;gap:6px}.vt-log-toolbar select{padding:6px;background:#242a31;color:#fff;border:1px solid #65717e;min-width:150px}.vt-log-toolbar button{padding:6px 12px}.vt-log-toolbar output{color:#d9e3ed;flex:1;min-width:180px}
.log-voice-dialog .vt-mode-workspace{display:grid;grid-template-rows:minmax(0,1fr);background:#30363e;min-width:0;min-height:0;flex:1;padding:6px;overflow:hidden}
.log-voice-dialog .vt-mode-workspace>section.mix{grid-column:1!important;grid-row:1!important;align-self:stretch;height:100%;min-width:0;min-height:0;background:#30363e;color:#e9edf1;border:1px solid #59616b}
.log-voice-dialog .vt-mode-divider{grid-column:2;grid-row:1;background:#59616b}.log-voice-dialog .vt-mode-divider:hover,.log-voice-dialog .vt-mode-divider:focus-visible{background:#70afc7}
.log-voice-dialog .vt-mode-playlist{grid-column:3;grid-row:1;display:flex;min-height:0;background:#30363e;color:#e9edf1}.log-voice-dialog .vt-mode-playlist>b{color:#e9edf1}
.log-voice-dialog .vt-mode-rows{overflow:auto;min-height:0;flex:1}.log-voice-dialog .vt-mode-row{background:#343b44;color:#e9edf1}.log-voice-dialog .vt-mode-row.selected{background:#146083}.log-voice-dialog .vt-mode-row:hover{background:#42627d}

/* Reference layout: ordinary white playlist on the left, mixeditor on the right. */
.log-voice-dialog{max-width:none;width:98vw;height:92vh}
.log-voice-dialog .vt-mode-workspace>section.mix{grid-column:3!important;grid-row:1!important}
.log-voice-dialog .vt-mode-playlist{grid-column:1;grid-row:1;padding:0;background:#fff!important;color:#17212b!important;border:1px solid #788896;overflow:hidden}
.log-voice-dialog .vt-mode-playlist>b{display:block;flex:none;background:#e0e5e9;color:#25313d;padding:7px 8px}
.vt-mode-columns,.log-voice-dialog .vt-mode-row{display:grid;grid-template-columns:68px minmax(80px,1fr) minmax(100px,1.4fr) 40px 42px 18px;gap:4px;align-items:center}
.vt-mode-columns{padding:6px;background:#d0d7de;color:#283746;font-size:10px;font-weight:bold;flex:none;border-bottom:1px solid #a9b4bf}
.log-voice-dialog .vt-mode-row{min-height:28px;padding:5px 6px;background:#fff;color:#17212b;border-bottom:1px solid #e1e6eb;line-height:18px}
.log-voice-dialog .vt-mode-row:nth-child(even){background:#f2f5f7}.log-voice-dialog .vt-mode-row:hover{background:#e0f0f8}.log-voice-dialog .vt-mode-row.selected{background:#bfe5f5}.log-voice-dialog .vt-mode-row.incoming{box-shadow:inset 3px 0 #3eb771}
.log-voice-dialog .vt-mode-row time{grid-row:auto;color:#a76614;font-size:11px;font-family:Consolas,monospace}
.log-voice-dialog .vt-mode-row span,.log-voice-dialog .vt-mode-row strong{font-size:11px;font-weight:normal}
.log-voice-dialog .vt-mode-row small{grid-column:2/-1;color:#176782;line-height:17px}
.log-voice-dialog .vt-mode-row .vt-intro,.log-voice-dialog .vt-mode-row .vt-duration{font-family:Consolas,monospace;text-align:right}
.log-voice-dialog .vt-mode-row .vt-link{color:#20a459;font-size:13px;text-align:center}
.log-voice-dialog .vt-mode-row:disabled{opacity:1;color:#6d7780}

/* Restore the original transition/end grips independently of voicetrack envelopes. */
.mix .mix-transition-marker{background:#ffad43;z-index:11;bottom:20px}
.mix .mix-transition-marker::before{background:#ffad43;border-color:#ac6925}
.mix .mix-trim-handle{background:#ffad43;border-color:#ac6925;z-index:11;bottom:20px}
.mix .mix-fade-marker{background:#ffad43;border-color:#ac6925;z-index:12}
.mix .mix-fade-svg{height:calc(100% - 20px);z-index:6}
.mix .mix-controls>label:has(#mixFadeEnabled){display:flex!important}

.log-station-choice{display:flex;align-items:center;gap:12px;margin-right:auto}.log-station-badge{display:inline-flex;align-items:center;gap:10px}.log-station-badge img{width:110px;height:48px;object-fit:contain;background:white;border-radius:4px;padding:4px}.log-station-badge strong{font-size:15px;color:white}.log-station-choice select{background:#465164;color:white;padding:8px;border:1px solid #8291a3;border-radius:4px;max-width:230px}.log-head{flex-wrap:wrap}.mix .mix-intro-end-marker{position:absolute;top:0;bottom:20px;width:2px;background:white;box-shadow:0 0 2px #000;z-index:12;pointer-events:none}.mix .mix-intro-end-marker[hidden]{display:none!important}

/* VT playlist follows the grey studio palette. */
.log-voice-dialog .vt-mode-playlist{background:#303b48!important;color:#ecf1f6!important}.log-voice-dialog .vt-mode-playlist>b{background:#435263;color:#fff}.log-voice-dialog .vt-mode-columns{background:#48586a;color:#e8f0fa;border-color:#667689}.log-voice-dialog .vt-mode-row{background:#354251;color:#f1f4f8;border-color:#4d5e70}.log-voice-dialog .vt-mode-row:nth-child(even){background:#3b4958}.log-voice-dialog .vt-mode-row:hover{background:#4a6179}.log-voice-dialog .vt-mode-row.selected{background:#285f83}.log-voice-dialog .vt-mode-row small{color:#a9d8f5}.log-voice-dialog .vt-mode-row time{color:#ffb85d}.log-voice-dialog .vt-mode-row:disabled{color:#aab5c2}.carts .runtime .mix-countdown{font-size:12px;line-height:16px;color:#ffb85d;white-space:nowrap;text-transform:none;letter-spacing:normal}header>.clock{margin-left:auto}

.commercial-block-hidden{display:none!important}.commercial-block-summary{position:relative!important;min-height:30px!important}.commercial-block-summary>:not(.commercial-block-label){visibility:hidden}.commercial-block-label{display:block;grid-column:1/-1;padding:5px 10px;background:#526475;color:#fff;font-size:12px;font-weight:bold;cursor:pointer;line-height:20px;text-align:left;border:1px solid #8292a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commercial-block-summary>.commercial-block-label{position:absolute;inset:0;visibility:visible}.log-voice-dialog .vt-mode-row.is-jingle,.log-voice-dialog .vt-mode-row.is-jingle:nth-child(even){background:#f0d66d;color:#282719}.log-voice-dialog .vt-mode-row.is-jingle time{color:#5b3d00}.log-voice-dialog .vt-mode-row.is-jingle small{color:#3d4c43}.log-voice-dialog .vt-mode-row.is-jingle.selected{background:#ffe58a;outline:2px solid #ed9b30;outline-offset:-2px}.log-voice-dialog .vt-mode-row.is-jingle:hover{background:#ffe6a0}

/* Yellow typography, keeping the normal grey rows and selection. */
.log-voice-dialog .vt-mode-row.is-jingle{background:#354251;color:#f0d66d;outline:none}.log-voice-dialog .vt-mode-row.is-jingle:nth-child(even){background:#3b4958}.log-voice-dialog .vt-mode-row.is-jingle.selected{background:#285f83;outline:none}.log-voice-dialog .vt-mode-row.is-jingle:hover{background:#4a6179}.log-voice-dialog .vt-mode-row.is-jingle time,.log-voice-dialog .vt-mode-row.is-jingle small,.log-voice-dialog .vt-mode-row.is-jingle strong,.log-voice-dialog .vt-mode-row.is-jingle span{color:#f0d66d}.commercial-block-label{color:#f0d66d;background:#435263}.vt-station-choice{display:flex;align-items:center;gap:7px;font-weight:700}.vt-station-choice select{min-width:180px;color:white;background:#465164;padding:7px;border:1px solid #8291a3;border-radius:4px}

.player-view-status.red-countdown{color:#f0d66d}

.commercial-countdown-window{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:7px 18px;margin:3px 4px;background:linear-gradient(#34414e,#26323e);border:1px solid #b3a35c;border-radius:5px;box-shadow:inset 0 1px #ffffff12;color:#f0d66d}.commercial-countdown-window[hidden]{display:none!important}.commercial-countdown-window strong{font-size:15px;letter-spacing:1.5px}.commercial-countdown-window time{font:700 28px Consolas,monospace;color:#f0d66d}.custom-layout .studio-floating-panel>.carts.has-commercial-countdown,.carts.has-commercial-countdown{grid-template-rows:minmax(132px,1fr) 56px;overflow:auto}.carts.has-commercial-countdown>.cart{grid-row:1}

.playlist .r.has-auto-end{position:relative;height:auto;min-height:64px;padding-top:32px}.playlist .r.has-auto-end.commercial-block-summary>.commercial-block-label{top:32px}.auto-end-row{position:absolute;inset:0 0 auto;display:flex!important;align-items:center;gap:7px;height:31px;padding:3px 6px;background:#274654;color:#f0d66d;font-size:11px;border-bottom:1px solid #78909c;visibility:visible!important;z-index:3}.auto-end-row input{min-width:0;width:178px;max-width:35%;background:#23343d;color:white;border:1px solid #71838d;font:11px Consolas}.auto-end-row select{min-width:0;max-width:35%;background:#344953;color:white;font-size:11px}.auto-end-row button{margin-left:auto}.playlist .r.commercial-block-summary>.auto-end-row{visibility:visible}.auto-end-row strong{white-space:nowrap}

@keyframes commercial-window-pulse{0%,100%{color:#f0d66d;border-color:#9d914f;box-shadow:inset 0 1px #ffffff12}50%{color:#fff2a4;border-color:#f0d66d;box-shadow:0 0 10px #f0d66d55,inset 0 1px #ffffff24}}.commercial-countdown-window:not([hidden]){animation:commercial-window-pulse 1.2s ease-in-out infinite}.commercial-countdown-window time{color:inherit}@media(prefers-reduced-motion:reduce){.commercial-countdown-window:not([hidden]){animation:none}}

/* AUTO END is a removable display card; scheduling belongs to the planner. */
.playlist .r.has-auto-end{min-height:85px;padding-top:53px}.playlist .r.has-auto-end.commercial-block-summary>.commercial-block-label{top:53px}.auto-end-row{height:52px;background:#f0d66d;color:#245a83;border:2px solid #ffea96;border-radius:4px;padding:9px 12px;font-size:15px}.auto-end-row strong{color:#245a83;letter-spacing:.4px}.auto-end-row button{background:transparent;color:#245a83;border:1px solid #a9954e;border-radius:4px;width:28px;height:28px}

/* Compact trigger and explicit full-row summary positioning. */
.playlist .r.has-auto-end{min-height:64px;padding-top:32px;box-sizing:border-box}
.playlist .r>.auto-end-row{grid-area:auto;left:0;right:0;top:0;bottom:auto;height:32px;box-sizing:border-box;margin:0;padding:3px 9px;font-size:12px;text-align:left;border-width:1px;border-radius:2px}
.playlist .r>.auto-end-row strong{font-size:12px;letter-spacing:0}
.playlist .r>.auto-end-row button{height:23px;width:23px;padding:0;line-height:20px;flex:none}
.playlist .r>.commercial-block-label,.log-voice-dialog .vt-mode-row>.commercial-block-label{grid-area:auto;text-align:left!important;justify-self:stretch;margin:0;padding:5px 9px;box-sizing:border-box}
.playlist .r.commercial-block-summary>.commercial-block-label,.log-voice-dialog .vt-mode-row.commercial-block-summary>.commercial-block-label{position:absolute;left:0;right:0;top:0;bottom:0;width:auto}
.playlist .r.has-auto-end.commercial-block-summary>.commercial-block-label{top:32px}
.playlist .r:not(.commercial-block-summary)>.commercial-block-label,.log-voice-dialog .vt-mode-row:not(.commercial-block-summary)>.commercial-block-label{grid-column:1/-1}
/* Match the reference: two ordinary-height playlist lines, without a large card. */
.playlist .r.has-auto-end{min-height:54px;padding-top:27px}
.playlist .r>.auto-end-row{height:27px;padding:2px 9px;border-radius:0;border-width:0 0 1px;font-size:12px}
.playlist .r.has-auto-end.commercial-block-summary>.commercial-block-label{top:27px;padding:3px 9px;line-height:20px}
.playlist .r>.auto-end-row button{width:20px;height:20px;line-height:18px;border:0}
/* Commercial summary matches the playlist text size and is centered. */
.playlist .r>.commercial-block-label,.log-voice-dialog .vt-mode-row>.commercial-block-label{font-size:var(--playlist-font,12px);font-weight:400;text-align:center!important}
/* Matching centered clock rows for the trigger and the complete break. */
.playlist .r>.auto-end-row{justify-content:center;padding-left:32px;padding-right:32px;text-align:center}
.playlist .r>.auto-end-row strong{flex:1;text-align:center;font-weight:700;font-size:calc(var(--playlist-font,12px) + 1px)}
.playlist .r>.auto-end-row button{position:absolute;right:6px;top:3px;margin:0}
.playlist .r>.commercial-block-label,.log-voice-dialog .vt-mode-row>.commercial-block-label{display:flex;align-items:center;justify-content:center;min-height:27px;height:27px;padding:2px 8px;font-size:calc(var(--playlist-font,12px) + 1px);font-weight:700;line-height:21px;text-align:center!important;background:#4b5969;color:#ffe282;border-color:#b6a466;letter-spacing:.3px}
.playlist .r.commercial-block-summary{min-height:27px}
.playlist .r.has-auto-end.commercial-block-summary{min-height:54px}
.playlist .r.has-auto-end.commercial-block-summary>.commercial-block-label{top:27px;height:27px;padding:2px 8px}
.auto-end-row.auto-end-imminent{animation:auto-end-flash 1s steps(2,end) infinite}
@keyframes auto-end-flash{0%,100%{background:#f0d66d;color:#245a83}50%{background:#fff3af;color:#0c436e;box-shadow:inset 0 0 0 2px #fff9d4}}
@media(prefers-reduced-motion:reduce){.auto-end-row.auto-end-imminent{animation:none;box-shadow:inset 0 0 0 2px #fff9d4}}

#mixIntroCountdown[hidden]{display:none!important}
.playlist .r>.auto-end-row,.playlist .r>.auto-end-row strong,.playlist .r>.auto-end-row button{color:#fff;text-shadow:0 1px 2px #66551c,0 0 2px #66551c}
.playlist .r>.auto-end-row{background:#b72b32;border-color:#e8686d}
@keyframes auto-end-flash{0%,100%{background:#b72b32}50%{background:#df4148;box-shadow:inset 0 0 0 2px #ffc4c7}}
.playlist .r>.commercial-block-label,.log-voice-dialog .vt-mode-row>.commercial-block-label{background:#c7a534;color:#fff;border-color:#ead27d;text-shadow:0 1px 2px #68531c,0 0 2px #68531c}
.playlist .r>.auto-end-row{border:1px solid #fff;box-sizing:border-box}
.playlist .r>.commercial-block-label,.log-voice-dialog .vt-mode-row>.commercial-block-label{border:1px solid #fff;box-sizing:border-box}
.playlist .r.has-auto-end{padding-top:31px;min-height:58px}
.playlist .r.has-auto-end.commercial-block-summary{min-height:58px}
.playlist .r.has-auto-end.commercial-block-summary>.commercial-block-label{top:31px}
/* Both bars use the row edges, independent of playlist grid columns or expansion. */
.playlist .r.commercial-block-head,.log-voice-dialog .vt-mode-row.commercial-block-head{position:relative;box-sizing:border-box}
.playlist .r.commercial-block-head>.commercial-block-label,.log-voice-dialog .vt-mode-row.commercial-block-head>.commercial-block-label{position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:27px;margin:0;grid-area:auto}
.playlist .r.has-auto-end.commercial-block-head>.commercial-block-label{top:31px}
.playlist .r.commercial-block-head:not(.commercial-block-summary),.log-voice-dialog .vt-mode-row.commercial-block-head:not(.commercial-block-summary){height:auto;min-height:58px;padding-top:31px}
.playlist .r.has-auto-end.commercial-block-head:not(.commercial-block-summary){min-height:89px;padding-top:62px}
.playlist .r.commercial-block-summary,.log-voice-dialog .vt-mode-row.commercial-block-summary{height:27px!important;min-height:27px!important;padding-top:0!important}
.playlist .r.has-auto-end.commercial-block-summary{height:58px!important;min-height:58px!important}
/* Strong, compact broadcast clock emphasis, matching the supplied reference. */
.playlist .r>.auto-end-row{background:#961b25;border-radius:0;text-shadow:0 1px 1px #490911}
.playlist .r>.auto-end-row strong{font-size:calc(var(--playlist-font,12px) + 2px);font-weight:800;letter-spacing:.35px;color:#fff}
.playlist .r>.commercial-block-label,.log-voice-dialog .vt-mode-row>.commercial-block-label{font-size:calc(var(--playlist-font,12px) + 2px);font-weight:800;letter-spacing:.35px;border-radius:0}
@keyframes auto-end-flash{0%,100%{background:#961b25}50%{background:#dc2939;box-shadow:inset 0 0 0 1px #fff}}
.playlist .r>.commercial-block-label,.log-voice-dialog .vt-mode-row>.commercial-block-label{background:#173955;color:#fff;border-color:#fff;text-shadow:0 1px 1px #081c2e}
/* Compact centered labels with about one centimetre of colour on each side. */
.playlist .r>.auto-end-row,
.playlist .r.commercial-block-head>.commercial-block-label,
.playlist .r.has-auto-end.commercial-block-head.commercial-block-summary>.commercial-block-label,
.log-voice-dialog .vt-mode-row.commercial-block-head>.commercial-block-label{
 left:50%;right:auto;width:max-content;max-width:100%;transform:translateX(-50%);padding:2px 1cm;white-space:nowrap;margin:0;box-sizing:border-box
}
.playlist .r>.auto-end-row strong{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Clock bars span the Artist and Title columns and follow column resizing. */
.playlist .r>.auto-end-row,
.playlist .r.commercial-block-head>.commercial-block-label,
.playlist .r.has-auto-end.commercial-block-head.commercial-block-summary>.commercial-block-label,
.log-voice-dialog .vt-mode-row.commercial-block-head>.commercial-block-label{
 grid-column:2 / 4;left:0;right:0;width:auto;max-width:none;transform:none;padding:2px 8px;justify-content:center;text-align:center!important
}
