:root{color-scheme:dark;--bg:#080b12;--panel:#111725;--edge:#263248;--text:#f5f7fc;--muted:#8898b1;--red:#f04358;--blue:#4a9df8;--green:#50d1a1}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 17% 0%,#211323 0,transparent 35%),radial-gradient(ellipse at 80% 0%,#10213d 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #32405b;background:#1b2639;color:#ecf2ff;padding:10px 13px;border-radius:9px;font-weight:650;transition:.15s}button:hover{filter:brightness(1.22)}button:disabled{opacity:.4;cursor:not-allowed}.primary,.accent{border-color:#c63851;background:linear-gradient(135deg,#bd263e,#ed4c62);color:#fff}.secondary{background:#172842;border-color:#31517f}.ghost{background:transparent;border-color:#344055}.small{padding:6px 10px;font-size:12px}.top{min-height:80px;padding:16px 27px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--edge);background:#0a0e19cc}.identity{display:flex;align-items:center;gap:12px}.emblem{font-size:31px;background:#311521;border:1px solid #673041;border-radius:13px;width:49px;height:49px;display:grid;place-items:center}.identity strong{font-size:23px;letter-spacing:1.2px}.identity strong span{color:var(--red)}.identity small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.top-right{display:flex;align-items:center;gap:20px}#clock{font-size:23px;font-weight:700;font-variant-numeric:tabular-nums}.status{font-size:12px;color:#ffbd7f;border:1px solid #6c4e31;border-radius:20px;padding:8px 12px}.nav{display:flex;gap:7px;padding:12px 26px;border-bottom:1px solid var(--edge);overflow-x:auto}.tab{background:transparent;border:0;color:#8e9aaf;white-space:nowrap}.tab.active{background:#2a1b30;color:#fff;box-shadow:inset 0 -2px var(--red)}main{padding:12px 25px 35px;max-width:1800px;margin:auto;min-height:80vh}.page{display:none}.page.active{display:block}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:11px 0 20px}.section-head h1{margin:0;font-size:26px}.section-head h1 span{color:var(--red)}.section-head p,p.hint{color:var(--muted);font-size:13px}.controls{display:flex;gap:8px;flex-wrap:wrap}.console-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(260px,.76fr) minmax(0,1.12fr);gap:13px}.panel{background:linear-gradient(155deg,#151c2c,#0d1320);border:1px solid var(--edge);border-radius:14px;padding:18px;min-width:0;box-shadow:0 14px 30px #0002}.panel-title{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:850;letter-spacing:1px;margin-bottom:18px;min-height:30px}.panel-title>button{margin-left:auto}.deck-mark{background:#591b2b;color:#ff95a1;border:1px solid #903249;border-radius:7px;padding:7px 11px}.deck-mark.blue{background:#192e56;color:#95c1ff;border-color:#345a97}.meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:auto;font-size:11px}.wave{height:116px;width:100%;background:#0b111e;border:1px solid #293249;border-radius:9px;cursor:pointer}.time-row,.inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.time-row{font-variant-numeric:tabular-nums;color:#d2dae8;margin:9px 0 1px}input[type=range]{width:100%;accent-color:var(--red);cursor:pointer}.bluewave+*{accent-color:var(--blue)}.transport{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:15px 0}.transport button{padding:10px 3px;font-size:12px}.panel label{display:block;color:#aebad1;margin:16px 0 9px;font-size:12px}.panel label output{float:right;color:white}.footer-mini{font-size:11px;color:var(--muted);margin-top:20px;overflow-wrap:anywhere}.vu-label{font-size:11px;color:var(--muted)}.meter{height:16px;background:#080e16;border:1px solid var(--edge);border-radius:5px;overflow:hidden;margin:9px 0 25px}.meter div{height:100%;width:0;background:linear-gradient(90deg,#33a89a,#e7d55c,#ef5061)}.xfader{border-bottom:1px solid var(--edge);padding-bottom:16px}.xfader .inline{font-size:11px;color:#a5b4ca}.xfader strong{color:var(--red)}.mic{margin:25px 0 16px;padding:16px;background:#0d1625;border-radius:10px}.mic button{width:100%;margin:12px 0 0}.mic small,.panel>small{color:var(--muted);font-size:11px}.muted{color:var(--muted)}.sysinfo{display:flex;flex-wrap:wrap;gap:9px;color:#8db7d4;font-size:10px}.sysinfo span{border:1px solid #29405c;padding:6px;border-radius:5px}.lower-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:13px;margin-top:14px}.pad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pad{min-height:69px;display:flex;flex-direction:column;justify-content:center;gap:5px;background:#281b35;border-color:#59385b}.pad:nth-child(4n+2){background:#152b47;border-color:#2f527d}.pad:nth-child(4n+3){background:#243025;border-color:#485b3d}.pad:nth-child(4n){background:#39271d;border-color:#67482c}.pad small{opacity:.7;font-weight:400}.pad.playing{outline:2px solid #fdd06a}.queue-list,.library-list,.schedule-list,#rundownList,#logs{margin:12px 0;max-height:450px;overflow-y:auto}.queue-item,.library-item,.schedule-item,.rundown-item,.logline{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 6px;border-bottom:1px solid #273044}.queue-item strong,.library-item strong{display:block;max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item small,.library-item small{color:var(--muted)}.item-actions{display:flex;gap:5px;flex-wrap:wrap}.item-actions button{padding:5px 8px;font-size:11px}.search,.formgrid input,.formgrid select{background:#0b1220;border:1px solid #34435c;color:#f1f5fc;padding:12px;border-radius:8px;width:100%}.search{max-width:440px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:17px}.formgrid label{margin:0}.formgrid input,.formgrid select{margin-top:8px}.notice{padding:13px;background:#372719;border:1px solid #75512d;color:#ffd69b;border-radius:10px;margin-top:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stat{display:flex;flex-direction:column;gap:13px}.stat>span{color:var(--muted)}.stat strong{font-size:18px}.logline{font-size:12px;color:#a4b5ce;justify-content:flex-start}footer{border-top:1px solid var(--edge);text-align:center;color:#74839c;font-size:11px;padding:18px}dialog{max-width:480px;background:#141b2b;color:white;border:1px solid #495570;border-radius:12px;padding:25px}dialog::backdrop{background:#000a}dialog p{line-height:1.6;color:#b4c3d6}@media(max-width:1000px){.console-grid{grid-template-columns:1fr 1fr}.central{grid-column:1/-1;grid-row:2}.lower-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}@media(max-width:650px){main{padding:12px}.top{padding:12px;flex-wrap:wrap;gap:10px}.top-right{gap:8px;flex-wrap:wrap}#clock{font-size:17px}.console-grid,.formgrid{grid-template-columns:1fr}.central{grid-column:auto;grid-row:auto}.section-head{align-items:start;flex-direction:column}.pad-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr 1fr}.transport{grid-template-columns:repeat(2,1fr)}.identity strong{font-size:19px}}

/* V0.2 : cartouchiers audio multi-banques */
.pad-wrap{position:relative;min-width:0}.pad-wrap>.pad{width:100%;min-height:92px;text-align:left;padding-bottom:30px}.pad-wrap .pad.has-file{border-color:#376b91}.pad-tools{position:absolute;bottom:7px;right:7px;display:flex;gap:5px}.pad-tools button{font-size:11px;padding:5px 9px;border-radius:6px;background:#253349;color:#eef3ff;border:1px solid #3f536e;cursor:pointer}.pad-tools button:hover{background:#394f6c}.pad-bottom{margin-top:12px;flex-wrap:wrap;gap:10px}#padBank{background:#14233c;color:#fff;border:1px solid #30445f;border-radius:8px;padding:7px;max-width:155px}.pad-wrap .pad.playing{border-color:#ee456b;box-shadow:0 0 0 2px #ee456b55}

/* Voice FX / microphone */
.voicefx{border:1px solid #3b3659;border-radius:10px;padding:13px;margin-top:16px;background:linear-gradient(130deg,#211428,#111c35)}
.voicefx .inline{margin-bottom:8px}.voicefx b{letter-spacing:.8px}.voicefx select{width:100%;padding:10px 9px;border-radius:8px;background:#0b1220;border:1px solid #425273;color:#fff}.voicefx label{margin:10px 0 5px}.voicefx button{margin-top:10px!important}.voicefx small{display:block;margin-top:10px;line-height:1.45}.fx-indicator{font-size:10px;color:#a7d7ff;border:1px solid #355278;border-radius:8px;padding:5px 7px}.voicefx select:focus-visible,.voicefx button:focus-visible{outline:2px solid #f04358;outline-offset:2px}

.fx-custom,.fx-monitor{border-top:1px solid #3c4260;margin-top:14px;padding-top:13px}.fx-custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}.fx-custom>b,.fx-custom>small{grid-column:1/-1}.fx-custom label{min-width:0}.fx-custom input[type=range],.fx-monitor input[type=range]{width:100%}.monitor-toggle{display:flex!important;align-items:center;gap:9px;font-weight:650;color:#e5edfa}.monitor-toggle input{width:17px;height:17px;accent-color:#ef405b}.fx-monitor small{display:block;color:#aebfd7}.voicefx output{float:right;color:#ff7587}@media(max-width:560px){.fx-custom{grid-template-columns:1fr}}

/* V0.5 - Console compacte et studio vocal en fenêtre modale */
.mic{margin-bottom:15px}.mic .micro-meter{display:grid;grid-template-columns:74px 1fr 38px;gap:9px;align-items:center;margin:13px 0;font-size:11px;color:#acbad0}.micro-meter-track{height:11px;background:#080d16;border:1px solid #364158;border-radius:6px;overflow:hidden}.micro-meter-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#41ccae,#ffd455,#ed4567);transition:width .1s}.micro-meter strong{text-align:right;color:#e7eefb}.mic-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.mic-actions button{font-size:11px;padding:10px 5px;margin:0}.mic-summary{font-size:11px;line-height:1.55;color:#9daec9;border-top:1px solid #29364f;padding-top:10px}.mic-summary b{color:#ff7e96}.fx-dialog{position:fixed;inset:0;margin:auto;width:min(800px,calc(100vw - 26px));max-width:800px;max-height:90vh;overflow-y:auto;background:#101625;padding:17px;border:1px solid #405273;border-radius:14px;box-shadow:0 24px 90px #000b}.fx-dialog::backdrop{background:#02040cd9;backdrop-filter:blur(4px)}.fx-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.fx-dialog-head h2{margin:0 0 4px;font-size:20px}.fx-dialog-head small{color:#9eb0c8}.fx-dialog .voicefx{margin:0}.fx-dialog .voicefx button{width:auto}.fx-accordion{border-top:1px solid #35415d;margin-top:13px;padding-top:12px}.fx-accordion summary{cursor:pointer;font-weight:700;color:#e3eafb;padding:7px 0}.fx-accordion .fx-custom,.fx-accordion .fx-monitor{border:0;margin-top:5px;padding-top:0}.fx-dialog label{display:block;font-size:12px;color:#b9c8dd;margin:12px 0 8px}.fx-dialog label output{float:right}.fx-dialog select{width:100%}@media(max-width:600px){.mic-actions{grid-template-columns:1fr}.fx-dialog{padding:10px}.fx-dialog-head h2{font-size:17px}}

/* V0.6 - Push-to-talk + verrouillage volontaire */
.micro-control-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 4px}.micro-control-row button{margin:0;font-size:11px;padding:10px 6px}.micro-control-row #micTalk.talking{box-shadow:0 0 0 3px #ef405b88;background:#e73351}.micro-latch{display:flex!important;align-items:center;gap:8px;padding:4px 0;margin:7px 0!important;font-size:11px!important;color:#d6e3f6!important}.micro-latch input{width:17px;height:17px;accent-color:#f04358}.mic-live-state{border:1px solid #34445a;background:#111a27;color:#abbad0;border-radius:8px;padding:9px;font-size:11px;font-weight:700}.mic-live-state.open{border-color:#ea4660;color:#ffadbc;background:#351727}@media(max-width:520px){.micro-control-row{grid-template-columns:1fr}}

/* V0.7 - automatisation A/B */
.autoplay-box{margin:14px 0 5px;border:1px solid #3a4960;border-radius:10px;padding:12px;background:#0b1728}.autoplay-box .autoplay-toggle{display:flex;align-items:center;gap:9px;margin:0;color:#edf4ff;font-weight:700;cursor:pointer;line-height:1.4}.autoplay-toggle input{width:17px;height:17px;flex-shrink:0}.autoplay-toggle span{flex:1}.autoplay-toggle strong{font-size:11px;border:1px solid #85505c;border-radius:8px;color:#ff9a9f;padding:3px 7px}.autoplay-toggle strong.enabled{color:#75e3ae;border-color:#317b61}.autoplay-help{font-size:11px;color:#a9b8d0;line-height:1.5;margin-top:8px}

#micTestStatus {display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#aab9d0}#micTestStatus audio {height:32px;max-width:245px}#micTest:disabled{opacity:.48;cursor:not-allowed}

/* V1.0 : retour direct visible et jauge juste sous le titre */
.mic .micro-meter{margin:10px 0 15px;grid-template-columns:74px minmax(0,1fr) 36px}
.mic .micro-meter-track{height:14px}
.mic .monitor-quick-volume{display:block;margin:9px 0 12px}
.mic .monitor-quick-volume input{display:block;margin-top:6px}
.mic #quickListen.listen-on{background:#203e37;border-color:#4ad2a7;color:#c2ffdf}
.mic #quickListen{min-height:45px}


/* V1.1 compact microphone UI */

.mic{margin-top:10px;padding-top:2px}
.mic-top-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px;align-items:center;margin-bottom:8px}
.mic-top-row .inline{min-width:0}
.mic .micro-meter.compact{margin:0;grid-template-columns:minmax(0,1fr) 40px;font-size:11px}
.mic .micro-meter.compact .micro-meter-track{height:12px}
.mic-inline-options{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:6px 0}
.noise-toggle{display:flex!important;align-items:center;gap:8px;margin:0!important;font-size:11px!important;color:#d6e3f6!important}
.noise-toggle input{width:17px;height:17px;accent-color:#f04358}
.compact-select{background:#0c1320;border:1px solid #36445d;color:#edf2fb;border-radius:10px;padding:8px 10px;font-size:11px;min-width:120px}
.compact-actions{grid-template-columns:repeat(3,1fr)}
.compact-actions button{padding:9px 6px;font-size:11px}
.mic-tools{margin-top:8px;border-top:1px solid #2b3750;padding-top:8px}
.mic-tools summary{cursor:pointer;color:#cfd9e8;font-weight:700;font-size:11px}
.mic-tools-inner{display:grid;gap:8px;padding-top:8px}
.compact-note{margin:0;font-size:11px;line-height:1.4}
.monitor-quick-volume{margin:8px 0 10px!important}
.monitor-quick-volume input{display:block;margin-top:5px}
.mic-summary{margin-top:8px;padding-top:8px}
#quickListen{padding:9px 10px;font-size:11px;white-space:nowrap}
#quickListen.listen-on{background:#203e37;border-color:#4ad2a7;color:#c2ffdf}
@media(max-width:720px){.mic-top-row{grid-template-columns:1fr}.mic-inline-options{grid-template-columns:1fr}.compact-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.compact-actions{grid-template-columns:1fr}.compact-select{width:100%}}

.manual-handoff{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 3px}.manual-handoff button{padding:9px 5px;font-size:12px;font-weight:700}


/* V1.3 - layout plus pro et harmonisé */
.studio-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(290px,.78fr) minmax(0,1.14fr);gap:14px;align-items:start}
.studio-col{display:grid;gap:14px;align-content:start;min-width:0}
.left-col .pads,.right-col .queue{margin-top:0}
.panel.deck,.panel.central,.panel.pads,.panel.queue{height:auto}
.queue .inline{margin-top:12px}
.queue small,.pads .hint{display:block}
.queue-list{min-height:120px}
.pads .panel-title,.queue .panel-title{margin-bottom:12px}
.pads .hint{margin:0 0 12px}
.sysinfo{margin-top:14px;padding-top:12px;border-top:1px solid #253146}
@media(max-width:1100px){.studio-layout{grid-template-columns:1fr 1fr}.middle-col{grid-column:1/-1;order:-1}.left-col,.right-col{grid-template-columns:1fr}.queue-list{min-height:0}}
@media(max-width:650px){.studio-layout{grid-template-columns:1fr}}

/* V1.5 cartouchier compact et couleurs */
.pad-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pad-wrap>.pad{min-height:70px;padding:9px 7px 26px;font-size:11px;gap:2px;line-height:1.1}
.pad-wrap>.pad strong{font-size:11px;line-height:1.15;overflow-wrap:anywhere}
.pad-wrap>.pad small{font-size:9px}
.pad-tools{bottom:4px;right:4px;gap:3px}.pad-tools button{font-size:9px;padding:3px 5px}
.pad.tone-0{background:#422034;border-color:#a14770}.pad.tone-1{background:#1d3052;border-color:#3e76b9}.pad.tone-2{background:#203b35;border-color:#348c74}.pad.tone-3{background:#42311f;border-color:#9a6a32}
.pad.tone-4{background:#33234a;border-color:#7855ac}.pad.tone-5{background:#243947;border-color:#3b879e}.pad.tone-6{background:#433027;border-color:#aa594d}.pad.tone-7{background:#31394a;border-color:#687eab}
.pad.has-file{box-shadow:inset 3px 0 #65d4a4}.pad.playing{background:#8b263f!important;border-color:#ff738b!important;box-shadow:0 0 0 2px #f04358,0 0 16px #f0435855}
.library-item.in-queue{border-left:3px solid #50d1a1;padding-left:12px}.library-item.in-queue strong,.library-item.in-queue small{color:#75e5b7}
.automation-settings{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.automation-settings label{margin:0;display:flex;align-items:center;gap:5px;font-size:11px}
.automation-settings select{background:#101b2d;color:#fff;border:1px solid #445a7a;border-radius:7px;padding:5px}
.automation-settings input{accent-color:#f04358}

/* V1.6 : banques de cartouches et volumes */
.pad-bank-tabs{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap}
.pad-bank-tabs button{font-size:12px;padding:8px 13px;flex:1;min-width:85px;background:#14243a}
.pad-bank-tabs button.active{background:#4a2033;border-color:#ed4666;color:#fff;box-shadow:inset 0 -2px #ed4666}
.pads-volume{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:5px 0 12px}
.pads-volume label{margin:0;flex:1;max-width:300px;font-size:12px}
.pads-volume label input{margin-top:4px}
.pads-volume small{font-size:10px;color:#8498b6}
.pad-volume-dialog{width:min(420px,90vw);background:#121b2b;color:#fff;border:1px solid #4b617c;border-radius:13px;padding:22px}
.pad-volume-dialog::backdrop{background:#000b}
.pad-volume-dialog label{display:block;margin:18px 0;color:#c6d6eb}
.pad-volume-dialog output{float:right}
.pad-tools{right:4px;left:4px;justify-content:end}
.pad-tools button{padding:3px 4px}
.duck-depth{display:flex!important;align-items:center;gap:7px;margin:0!important;font-size:11px!important}
.duck-depth input{width:80px!important;margin:0}
.duck-depth output{float:none!important;white-space:nowrap;min-width:34px}
@media(max-width:700px){.pads-volume{flex-wrap:wrap}.pad-bank-tabs button{flex:1}.duck-depth{width:100%}}

/* V1.7 - file de diffusion / sortie casque */
.queue-actions{display:flex;gap:4px;flex-shrink:0}.queue-actions button{padding:5px 8px;font-size:12px}
.queue-caption{font-size:11px;color:#9cabc3;margin:2px 0 8px}.queue-name{min-width:0;flex:1}
.queue .queue-item{gap:5px}.cue-monitor{width:100%;margin:3px 0 0;padding:8px 10px;font-size:11px}
.pfl-dialog{width:min(480px,calc(100vw - 32px));max-width:480px;background:#111a2b;color:#f0f4ff;border:1px solid #45618c;border-radius:14px;padding:18px}
.pfl-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pfl-header h2{margin:0;font-size:18px}
.pfl-dialog .hint{line-height:1.5;color:#aebed7}.pfl-dialog label{display:block;margin:12px 0 6px;font-size:12px}
.pfl-dialog select{display:block;width:100%;padding:10px;border-radius:8px;background:#0b1220;border:1px solid #415b83;color:white}
.pfl-dialog #pflRefresh{margin-top:10px}.pfl-transport{display:flex;gap:8px;margin:18px 0}.pfl-transport button{flex:1}

/* 1.8 : studio compact, progression contrastée et playlists */
.mic-advanced{border-top:1px solid #303e54;padding:8px 0;margin-top:8px}
.mic-advanced summary{cursor:pointer;font-size:12px;color:#b6c8dc;font-weight:750}
.mic-advanced-body{padding-top:8px}
.mic-advanced:not([open]){padding-bottom:2px}
.studio-layout .panel.central .mic{padding:10px;margin-top:10px}
.studio-layout .mic-top-row{margin-bottom:6px}
.azura-playlists .playlist-row{display:flex;gap:8px;align-items:center}
.azura-playlists select{flex:1;min-width:0;border:1px solid #394b6a;background:#101b2e;color:#e5eefd;border-radius:8px;padding:10px}
.azura-playlists .hint{font-size:11px;line-height:1.4}
.badge-readonly{margin-left:auto;font-size:10px;color:#9ac5e6;border:1px solid #345775;padding:5px;border-radius:7px}
@media(max-width:600px){.azura-playlists .playlist-row{flex-wrap:wrap}}

/* V2.0 Pré-écoute universelle */
.pfl-monitor-option{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #324762;border-radius:9px;margin:12px 0;color:#d6e5f9}.pfl-monitor-option input{width:18px;height:18px}.pad-tools{gap:3px}.pad-tools button{padding:4px 6px}.queue-actions{flex-wrap:wrap}.library-item button[data-op="preview"]{border-color:#3c7294;color:#b8e9ff}#pflTitle{font-weight:650;color:#d8e8ff}

/* V2.1 */
.mode-panel{border:1px solid #334662;background:#101c2c;border-radius:11px;padding:11px;margin:10px 0 13px}
.mode-header,.mode-controls{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.mode-header strong{font-size:11px;color:#d8e5fa}.mode-controls{margin-top:10px}
.mode-controls label{margin:0!important;display:flex!important;gap:7px;align-items:center}
.mode-controls select{border:1px solid #3b5277;color:#fff;background:#0f1b2c;border-radius:7px;padding:7px;max-width:180px}
.mode-controls button{padding:8px 10px;font-size:11px}
.mode-panel small{display:block;color:#91a9c6;font-size:10px;margin-top:8px;line-height:1.4}
.studio-layout.layout-edit .panel[data-module]{cursor:grab;outline:2px dashed #4976b0;outline-offset:-5px}
.studio-layout.layout-edit .panel.dragging{opacity:.4}
.studio-layout.layout-edit .studio-col{min-height:200px;border:1px dashed #56647a;border-radius:10px;padding:3px}
.studio-layout.layout-edit .studio-col.drag-target{background:#26344a}
@media(max-width:950px){.mode-controls{align-items:stretch}.mode-controls button{width:100%}}

/* V2.2: cartouchier on-air, non-destructive controls */
.pad-tools,.pad-edit-actions{display:none!important}
.pads.pad-editing .pad-tools,.pads.pad-editing .pad-edit-actions{display:flex!important}
.pad-wrap>.pad{padding:10px;min-height:76px;height:100%;border-width:2px;box-shadow:inset 0 -3px 0 #ffffff16;text-align:center;align-items:center;justify-content:center}
.pad-wrap>.pad strong{font-size:12px;letter-spacing:.2px;line-height:1.1}
.pad-wrap>.pad small{font-size:9px}
.pad-wrap>.pad.tone-0{background:#702645;border-color:#db527f}.pad-wrap>.pad.tone-1{background:#1b4779;border-color:#438fe1}.pad-wrap>.pad.tone-2{background:#155841;border-color:#32b98d}.pad-wrap>.pad.tone-3{background:#70421c;border-color:#e49b3e}.pad-wrap>.pad.tone-4{background:#522d84;border-color:#ac79ee}.pad-wrap>.pad.tone-5{background:#12576a;border-color:#2fbad4}.pad-wrap>.pad.tone-6{background:#80252d;border-color:#ed636a}.pad-wrap>.pad.tone-7{background:#364c79;border-color:#829cf2}
.pad-wrap>.pad.playing{outline:3px solid #fff;box-shadow:0 0 18px #f74a77bb;animation:pad-pulse 1s ease-in-out infinite alternate}
@keyframes pad-pulse{to{filter:brightness(1.48)}}
.pad-wrap>.pad:hover{filter:brightness(1.23)}.pad-edit-actions{gap:6px;flex-wrap:wrap}.pads.pad-editing .pad-wrap>.pad{min-height:87px;padding-bottom:38px}
.workspace-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:9px 12px;border:1px solid #2e3c56;border-radius:10px;background:#101b2d}
.workspace-toolbar>span{margin-left:auto;font-size:11px;color:#94a6c0}.workspace-toolbar button{padding:8px 12px}
.offline-test{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.offline-test p{font-size:12px;color:#9eacc4;margin:5px 0 0}.offline-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:750px){.offline-test{display:block}.offline-actions{margin-top:12px}.workspace-toolbar>span{display:none}}

/* V2.3 : le micro est un module indépendant et prioritaire. */
.mic-module{border-color:#32445e;background:linear-gradient(155deg,#182236,#10192a)}
.mic-module .panel-title{margin-bottom:7px}
.mic-module .mic{margin:0;padding:3px 0;background:transparent}
.mic-module .mic .micro-control-row{margin-top:9px}
.mic-module .mic .mic-advanced{margin-top:8px}
.mic-module .mic .mic-top-row{margin-bottom:8px}
.azura-items{display:grid;gap:6px;margin-top:10px;max-height:280px;overflow:auto}
.azura-item{padding:8px 10px;border:1px solid #32435f;border-radius:8px;background:#0b1525;display:flex;align-items:center;justify-content:space-between;gap:8px}
.azura-item b{font-size:12px;overflow-wrap:anywhere}
.azura-item small{font-size:10px;color:#97abc9}
.azura-actions{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}
.layout-edit .mic-module,.layout-edit .azura-playlists{outline:2px dashed #4a9df8;outline-offset:3px;cursor:grab}

/* V2.5 — actions de lecture des médias AzuraCast */
.azura-media-item{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:10px 12px}.azura-media-item b{overflow-wrap:anywhere}.azura-media-actions{display:flex;flex-wrap:wrap;gap:6px}.azura-media-actions button{padding:8px 10px;min-width:88px;font-size:12px}.azura-actions{flex-wrap:wrap}.azura-actions>button{max-width:100%}

/* V2.6 : distinction explicite entre répétition locale et future émission réelle */
.broadcast-mode-picker{display:inline-flex;align-items:center;gap:7px;color:#b7c8e3;font-weight:700;font-size:12px}
.broadcast-mode-picker select{border:1px solid #41618c;background:#132840;color:#f0f6ff;border-radius:9px;padding:8px 9px;max-width:275px;font:inherit}
.broadcast-mode-picker option:disabled{color:#8c9daf}
.pad.playing{outline:3px solid #ffe18a;outline-offset:1px;box-shadow:0 0 0 2px #101725,0 0 16px #f2c35266}
@media(max-width:840px){.broadcast-mode-picker{flex-wrap:wrap}.broadcast-mode-picker select{max-width:210px}}

/* V2.7 : tailles de liste ajustables et recherches rapides */
.module-height-control{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 7px!important;color:#c9daf1!important}
.module-height-control input{flex:1;min-width:110px;max-width:100%}
.module-height-control output{min-width:52px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;color:#fff}
.module-size-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.module-size-options .module-height-control{flex:1}
.module-search{display:block;max-width:none!important;width:100%;margin:10px 0 7px;font-size:13px}
.search-count{font-size:11px;color:#a9bad6;margin:6px 0 9px}
.azura-items{min-height:140px;overscroll-behavior:contain}
.queue-list{min-height:160px;overscroll-behavior:contain}


/* V2.8 — Taille du module COMPLET : contrôle indépendant des listes V2.7 */
.studio-layout .panel[data-module]{position:relative;box-sizing:border-box;max-width:100%;min-width:0}
.studio-layout.resize-modules .panel[data-module]{outline:2px solid #f29e38;outline-offset:2px;overflow:auto;min-height:170px;scrollbar-gutter:stable}
.studio-layout .module-resize-grip{display:none;position:absolute;right:0;bottom:0;width:34px;height:34px;z-index:15;cursor:nwse-resize;touch-action:none;border-radius:9px 0 11px 0;border:1px solid #db9856;background:#473122;color:#ffdc9a;align-items:center;justify-content:center;font-size:19px;user-select:none}
.studio-layout.resize-modules .module-resize-grip{display:flex}
.studio-layout.resize-modules .panel[data-module]>.panel-title{padding-right:16px}
.studio-layout.resize-modules .panel[data-module] .module-resize-grip:hover{background:#875021}
@media(max-width:650px){.studio-layout.resize-modules .panel[data-module]{max-width:100%!important}}


/* V2.9 — boutons du cartouchier adaptatifs suivant les dimensions du module */
.panel.pads{container-type:inline-size}
.panel.pads .pad-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(3px,1cqw,8px)}
.panel.pads .pad-wrap>.pad{min-width:0;min-height:clamp(38px,12cqw,76px);padding:clamp(3px,1.5cqw,10px);overflow:hidden}
.panel.pads .pad-wrap>.pad strong{font-size:clamp(8px,2.5cqw,14px);line-height:1.12;overflow-wrap:anywhere}
.panel.pads .pad-wrap>.pad small{font-size:clamp(7px,1.65cqw,10px);line-height:1.1}
.panel.pads.pads-tight .pad-grid{gap:4px}
.panel.pads.pads-tight .pad-wrap>.pad{min-height:40px;padding:3px}
.panel.pads.pads-tight .pad-wrap>.pad strong{font-size:clamp(8px,2.1cqw,11px)}
.panel.pads.pads-tight .pad-wrap>.pad small{display:none}
.panel.pads.pads-very-tight .pad-wrap>.pad{min-height:31px;padding:2px}
.panel.pads.pads-narrow .pad-wrap>.pad{min-height:36px}
.panel.pads.pads-narrow .pad-wrap>.pad strong{font-size:clamp(8px,2.45cqw,11px)}
.panel.pads.pad-editing .pad-wrap>.pad{min-height:85px;padding-bottom:35px}
.panel.pads.pad-editing .pad-wrap>.pad small{display:block}

/* Lecteurs : identité de l'artiste et titre, faciles à lire même à distance */
.deck-track-identity{margin:0 0 12px;padding:12px 13px;border:1px solid #344767;border-radius:10px;background:#111e31;display:flex;flex-direction:column;gap:4px;min-width:0}
.deck-track-identity .track-artist{font-weight:800;font-size:clamp(13px,1.2vw,18px);color:#dfeaff;overflow-wrap:anywhere}
.deck-track-identity .track-title{font-weight:900;font-size:clamp(17px,1.7vw,25px);color:#fff;line-height:1.17;overflow-wrap:anywhere}
#deckA .deck-track-identity{border-left:4px solid #f04358}
#deckB .deck-track-identity{border-left:4px solid #4a9df8}

/* Accordéons — clic sur l'intitulé, sans masquer les réglages d'organisation */
.studio-layout .panel[data-module]>.panel-title{cursor:pointer;user-select:none}
.studio-layout .panel[data-module]>.panel-title button{cursor:pointer}
.panel-fold-toggle{margin-left:auto;flex-shrink:0;border:1px solid #3d5474;background:#172841;font-size:17px;padding:2px 10px;min-width:34px;height:30px;line-height:1}
.studio-layout .panel.module-collapsed{height:auto!important;min-height:0!important;overflow:visible!important}
.studio-layout .panel.module-collapsed> :not(.panel-title):not(.module-resize-grip){display:none!important}
.studio-layout .panel.module-collapsed>.panel-title{margin-bottom:0!important}
.studio-layout .panel.module-collapsed>.module-resize-grip{display:none!important}
@media(max-width:650px){.deck-track-identity .track-title{font-size:20px}}

/* V3.0 — lignes AzuraCast compactes comme la file d'attente. */
.azura-items{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;display:block;margin-top:7px}
.queue-list{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
.azura-media-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;padding:6px 5px;border:0;border-bottom:1px solid #283348;border-radius:0;background:transparent;min-height:38px}
.azura-compact-name{flex:1;min-width:0;overflow:hidden}
.azura-compact-name strong{display:block;font-size:11px;font-weight:650;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.azura-media-actions{display:flex;flex:0 0 auto;gap:4px;flex-wrap:nowrap}
.azura-media-actions button{min-width:0!important;width:27px;height:27px;padding:1px!important;border-radius:6px;font-size:11px;line-height:1;font-weight:750}
.azura-playlists .search-count{margin:5px 0 5px}
.deck-track-identity{padding:9px 11px;gap:3px;margin-bottom:10px}
.deck-track-identity .track-artist{font-size:clamp(12px,1vw,15px);font-weight:700}
.deck-track-identity .track-title{font-size:clamp(15px,1.3vw,20px);font-weight:800;line-height:1.2}
@media(max-width:650px){.deck-track-identity .track-title{font-size:17px}.azura-media-actions button{width:25px;height:25px}}

/* V3.1: palette personnalisable */
body{background:var(--bg) !important;color:var(--text)}
.panel{background:var(--panel) !important;border-color:var(--edge)}
.workspace-toolbar{background:var(--panel);border-color:var(--edge)}
.top,.nav{border-color:var(--edge)}
.primary,.accent{background:var(--red);border-color:var(--red);color:#fff}
.secondary{border-color:var(--edge)}
.deck-track-identity{border-left-color:var(--red)}
#deckB .deck-track-identity{border-left-color:var(--blue)}
.theme-dialog{width:min(510px,94vw);max-width:94vw;background:var(--panel);color:var(--text);border-color:var(--edge)}
.theme-head,.theme-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.theme-head h2{margin:0;font-size:19px}
.theme-colors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.theme-colors label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--text);background:#ffffff0b;border:1px solid var(--edge);padding:12px;border-radius:9px}
.theme-colors input[type=color]{width:100%;height:40px;padding:2px;border:0;background:transparent;cursor:pointer}
@media(max-width:480px){.theme-colors{grid-template-columns:1fr}}
.autoplay-help[hidden],#padInfo[hidden]{display:none!important}

/* V3.2 : poignées dédiées, tri réel, taille du mixeur même après accordéon. */
.queue-item{min-width:0}.queue-item .queue-name{flex:1;min-width:0}
.drag-handle{flex:0 0 auto;cursor:grab;touch-action:pan-y;user-select:none;padding:5px 8px;border:1px dashed #6580a3;background:#21324d;color:#d9eaff;font-size:17px;line-height:1}
.drag-handle:active{cursor:grabbing}
.queue-item.drag-source,.pad-wrap.drag-source{opacity:.5}
.queue-item.drop-target,.pad-wrap.drop-target{outline:2px dashed #f1ab4e;outline-offset:-2px;background:#33506a55}
.panel.pads .pad-wrap>.pad-drag{display:none}
.panel.pads.pad-editing .pad-wrap>.pad-drag{display:flex;position:absolute;z-index:5;top:3px;left:3px;align-items:center;justify-content:center;width:29px;height:28px;padding:2px;border-radius:7px}
.panel.pads.pad-editing .pad-wrap>.pad{padding-top:29px}
.studio-layout.resize-modules .panel.central{min-height:170px!important;max-height:none}
.studio-layout.resize-modules .panel.central.module-collapsed{height:auto!important}

/* MAXX-IA-RÉGIE V3.3 : statut station et outils repliables */
.onair-dashboard{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:0 0 10px}
.dash-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--edge,#30405b);background:var(--panel,#121b2c);border-radius:9px;padding:9px 12px;min-height:38px;color:var(--text,#f5f7fc);font-size:12px}
.dash-pill b{font-size:11px;letter-spacing:.02em;color:#b4c9e4}
.dash-pill strong{font-size:16px;color:var(--text,#fff);font-variant-numeric:tabular-nums}
.dash-separator{opacity:.45;padding:0 2px}
.workspace-tools-accordion{margin-bottom:14px;border:1px solid var(--edge,#2d425d);border-radius:12px;background:var(--panel,#121b2c);overflow:hidden}
.workspace-tools-accordion>summary{display:flex;gap:14px;align-items:center;cursor:pointer;padding:12px 15px;font-weight:800;user-select:none}
.workspace-tools-accordion>summary::marker{color:#a9c5e4}
.tools-summary-hint{font-size:11px;font-weight:400;opacity:.65}
.workspace-tools-accordion .workspace-toolbar{margin:0;border:0;border-top:1px solid var(--edge,#2d425d);border-radius:0}
@media(max-width:650px){.onair-dashboard{gap:6px}.dash-pill{padding:8px}.tools-summary-hint{display:none}}

/* V3.4: les données de station n'occupent plus de hauteur hors de l'accordéon. */
.workspace-tools-accordion .workspace-dashboard{padding:11px 14px 2px;border-top:1px solid var(--edge,#2d425d)}
.workspace-tools-accordion .onair-dashboard{padding:0 0 9px}
.workspace-tools-accordion .dash-pill{flex:0 1 auto}
.workspace-tools-accordion .workspace-toolbar{border-top:1px solid var(--edge,#2d425d)}

/* V3.5 -- personnalisation indépendante par platine */
#deckA .deck-track-identity{background:var(--deckA-identity,#15243a)!important}
#deckB .deck-track-identity{background:var(--deckB-identity,#15243a)!important}
#deckA canvas.wave{border-color:var(--deckA-edge,#34465f)!important}
#deckB canvas.wave{border-color:var(--deckB-edge,#34465f)!important}
#playA{background:var(--deckA-play,#e03551)!important;border-color:var(--deckA-play,#e03551)!important}
#playB{background:var(--deckB-play,#e03551)!important;border-color:var(--deckB-play,#e03551)!important}
.deck-color-section{margin:14px 0;border:1px solid var(--edge);padding:12px;border-radius:9px}
.deck-color-section summary{cursor:pointer;font-weight:bold}
.deck-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.deck-color-grid fieldset{border:1px solid var(--edge);min-width:0;border-radius:8px}
.deck-color-grid label{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px;font-size:12px}
.deck-color-grid input[type=color]{width:62px;height:29px;border:0}
.server-bank{margin:18px 14px;padding:15px;max-width:none}
.server-bank-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0}
.server-bank-controls label{display:grid;gap:4px}
.server-bank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.server-bank-pad{padding:12px 5px;text-align:center;border:2px solid #526483;border-radius:10px;background:#21324a;color:#fff;min-height:70px;cursor:pointer;overflow:hidden}
.server-bank-pad strong,.server-bank-pad small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.server-bank-pad small{font-size:11px;margin-top:5px}
.server-bank-pad[data-status=red]{border-color:#ef4455;background:#522331}
.server-bank-pad[data-status=orange]{border-color:#ed9d2b;background:#503a1d}
.server-bank-pad[data-status=green]{border-color:#31c881;background:#174638}
.server-bank-pad:disabled{opacity:.55;cursor:not-allowed}
#serverBankForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0}
#serverBankForm label{display:grid;gap:5px;font-size:12px}
#serverBankForm input,#serverBankForm select{width:100%;min-width:0}
#serverBankEdit summary{cursor:pointer;font-weight:700}
@media(max-width:700px){.server-bank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-color-grid,#serverBankForm{grid-template-columns:1fr}}

/* V3.8 — en-tête compact et informations visibles même panneau fermé */
.workspace-tools-accordion>summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.workspace-tools-accordion .tools-summary-title{font-weight:900;white-space:nowrap}
.dashboard-always{display:flex;flex:1 1 600px;min-width:0}
.dashboard-always .onair-dashboard{width:100%;padding:0;margin:0;gap:7px;display:flex;flex-wrap:wrap}
.dashboard-always .dash-pill{padding:7px 9px;min-height:32px}
.tools-chevron{margin-left:auto}
.workspace-tools-accordion .workspace-toolbar{border-top:1px solid var(--edge,#34465f)}
.workspace-tools-accordion:not([open]) .workspace-toolbar{display:none}
/* Les seuls titres A/B : dans leur en-tête, en gras et sans bandeau redondant */
.deck .panel-title .meta{display:none!important}
.deck .panel-title{flex-wrap:wrap;gap:8px}
.deck .deck-track-identity{background:transparent!important;border:0!important;padding:0!important;margin:0!important;min-height:0!important;box-shadow:none!important;flex:1 1 180px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.deck .deck-track-identity .track-artist{font-size:12px!important;line-height:1.25;font-weight:650;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deck .deck-track-identity .track-title{font-size:clamp(14px,1.15vw,19px)!important;line-height:1.25;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.server-bank-key,.server-bank-foot{display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:12px;margin-top:9px}
.server-bank-key strong{margin-left:auto;color:#eac59c}
.server-bank-pad .server-bank-locked{font-size:11px}
.server-bank-pad[data-status=red]{background:#612331!important}
.server-bank-pad[data-status=orange]{background:#70501d!important}
.server-bank-pad[data-status=green]{background:#176a45!important}
.server-test-log{margin-top:10px;max-height:180px;overflow:auto;font-size:12px;border:1px solid var(--edge);border-radius:7px;padding:8px}
.server-test-log div{padding:5px;border-bottom:1px solid var(--edge)}
@media(max-width:800px){.dashboard-always{flex-basis:100%}.deck .panel-title .deck-track-identity{flex-basis:160px}}

/* V3.8.1 : layout stable, scroll dans la liste, vu-mètres toujours accessibles. */
html,body{max-width:100%;overflow-x:hidden}
.studio-layout .studio-col{display:flex!important;flex-direction:column!important;align-items:stretch;gap:14px;min-height:0;align-content:initial!important}
.studio-layout .studio-col>.panel{flex:0 0 auto;align-self:flex-start;max-width:100%}
.studio-layout .panel.mic-panel,.studio-layout .panel[data-module="mic"]{height:auto!important;min-height:0!important;overflow:visible!important}
.studio-layout .panel[data-module="mic"] .mic-advanced[open]{display:block;position:static;max-height:none;overflow:visible}
.studio-layout .panel[data-module="mic"] .mic-advanced-body{position:static}
.studio-layout .panel[data-module="central"]{overflow:hidden}
.studio-layout .panel[data-module="central"].module-collapsed{overflow:visible}
.master-peek{display:flex;align-items:center;gap:5px;flex:0 1 125px;min-width:58px;margin-left:auto;letter-spacing:0}
.master-peek-track{height:11px;flex:1;background:#070d16;border:1px solid #324156;border-radius:6px;overflow:hidden}
.master-peek-track i{height:100%;width:0;display:block;background:linear-gradient(90deg,#37bc9b,#e4cb56,#f14d61);transition:width .09s linear}
.master-peek span{font-size:10px;color:#c7d9ed;min-width:27px;text-align:right}
.studio-layout .panel[data-module="central"].module-collapsed .panel-title .master-peek{display:flex!important}
.micro-meter-track{background:#070d16!important;border:1px solid #394657!important;overflow:hidden;border-radius:5px}
.micro-meter-track i{display:block;background:linear-gradient(90deg,#3ebeaa,#e3d456,#ee5264)!important;transition:width .09s linear}
.server-bank.server-bank-collapsed{padding-bottom:13px}
.server-bank.server-bank-collapsed>:not(.server-bank-title){display:none!important}
.server-bank.server-bank-collapsed .server-bank-title{margin-bottom:0}
.server-bank-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;user-select:none}
.server-bank-title>span:first-child{flex:1;min-width:170px}
.server-bank-title .panel-fold-toggle{margin-left:auto}
.azura-playlists{display:flex;flex-direction:column;min-height:180px;max-width:100%;overflow:hidden!important}
.azura-playlists .azura-items{display:block!important;min-height:0!important;max-height:none!important;height:auto!important;flex:1 1 auto;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:#55779b #101827;overscroll-behavior:contain;padding-right:5px}
.azura-playlists .azura-media-item{width:100%;box-sizing:border-box;min-width:0}
.azura-playlists .azura-media-actions{flex-shrink:0}
.azura-playlists .azura-compact-name{min-width:0}
.azura-playlists:not([style*="height"]) .azura-items{max-height:320px!important;flex:0 1 auto}
.azura-playlists[style*="height"] .azura-items{max-height:none!important}
.queue-transfer{margin:8px 0;background:#121e32;border:1px solid #385274;border-radius:9px;padding:8px 10px;font-size:12px}
.queue-transfer[hidden]{display:none!important}
.queue-transfer progress{width:100%;height:10px;display:block;margin-top:6px;accent-color:#49b1ed}
.queue-transfer-label{color:#d8e7f8}
.page-console-nav{display:flex;gap:9px;flex-wrap:wrap;padding:9px 0 14px;margin:0 0 4px}
.page-console-nav .tab{font-size:13px;padding:10px 13px}
@media(max-width:720px){.master-peek{flex-basis:75px}.page-console-nav .tab{font-size:12px;padding:8px 10px}}

.studio-layout .studio-col>.panel{width:100%}

/* V3.8.2 : queue contenue et pied de page final */
.studio-layout .panel[data-module="queue"],.studio-layout .panel.queue-panel{display:flex!important;flex-direction:column!important;min-height:0;overflow:hidden!important;box-sizing:border-box}
.studio-layout .panel[data-module="queue"] .queue-list,.studio-layout .panel.queue-panel .queue-list{overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;max-height:none!important;flex:1 1 auto;height:auto!important;overscroll-behavior:contain}
.studio-layout .panel[data-module="queue"]>.inline,.studio-layout .panel.queue-panel>.inline{flex:0 0 auto;position:static!important;margin-top:8px;padding-bottom:0;z-index:1}
.studio-layout .panel[data-module="queue"].module-collapsed{display:block!important}
.studio-layout .panel[data-module="queue"] .queue-item{min-width:0}
.studio-layout .panel[data-module="queue"] .queue-item strong{max-width:100%;min-width:0}
body>footer{position:static!important;clear:both;margin-top:24px;display:block;width:100%}
/* Sponsors: état de progression directement sur chaque cartouche serveur */
.server-bank-pad[data-status=red]{background:#632331!important;border-color:#f04458!important}
.server-bank-pad[data-status=orange]{background:#73501a!important;border-color:#f5a52e!important}
.server-bank-pad[data-status=green]{background:#176c48!important;border-color:#3ade8e!important}
.server-bank-pad small{white-space:normal!important;line-height:1.25;font-size:11px;font-weight:650}

/* V3.8.3 : CUE éditable et chargement lisible */
.deck .cue-settings{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 10px;padding:7px 9px;background:#12243a;border:1px solid #45668e;border-radius:9px}
.deck .cue-settings label{display:flex;align-items:center;gap:8px;flex:1;min-width:160px;font-size:12px;margin:0}
.deck .cue-settings input[type=number]{max-width:85px;min-width:65px;padding:7px;color:#fff;background:#081527;border:1px solid #6689ae;border-radius:6px;font-size:13px}
.deck .cue-settings button{padding:8px 10px;white-space:nowrap}
.queue-transfer{background:#10334b!important;border:2px solid #ffcf44!important;color:#fff!important}
.queue-transfer progress{height:16px!important;accent-color:#ffdb3d!important;background:#293d57!important;border-radius:12px;overflow:hidden}
.queue-transfer progress::-webkit-progress-bar{background:#293d57;border-radius:12px}
.queue-transfer progress::-webkit-progress-value{background:#ffdc38;border-radius:12px}
.queue-transfer progress::-moz-progress-bar{background:#ffdc38;border-radius:12px}
.azura-media-item button.is-loading{background:#ffce36!important;color:#111827!important;border-color:#fff19c!important;opacity:1!important;box-shadow:0 0 0 2px #ffdf4e!important;animation:maxx-loading-pulse .8s ease-in-out infinite alternate}
@keyframes maxx-loading-pulse{from{filter:brightness(1)}to{filter:brightness(1.25)}}

/* V3.8.4 : CUE repliable, sans perdre son point de lecture */
.deck .cue-accordion{margin:8px 0 10px;border:1px solid #395678;border-radius:9px;background:#111d30;overflow:hidden}
.deck .cue-accordion summary{cursor:pointer;list-style:none;padding:9px 12px;font-size:12px;font-weight:700;color:#d3e5ff;display:flex;align-items:center;justify-content:space-between;user-select:none}
.deck .cue-accordion summary::-webkit-details-marker{display:none}
.deck .cue-accordion summary::after{content:'▾';font-size:14px;transition:transform .15s ease}
.deck .cue-accordion[open] summary::after{transform:rotate(180deg)}
.deck .cue-accordion[open] summary{border-bottom:1px solid #395678}
.deck .cue-accordion .cue-settings{margin:0;border:0;border-radius:0;background:transparent}

.deck .cue-accordion .cue-extra{padding:0 9px 9px;background:transparent}.deck .cue-accordion .cue-extra label{display:block;font-size:12px;margin:0;color:#d7e6fa}.deck .cue-accordion .cue-extra label output{float:right}.deck .cue-accordion .cue-extra label input[type=range]{margin-top:6px}.deck .cue-accordion .cue-extra .cue-monitor{margin-top:8px}

/* Guide animateur V3.9 */
.guide-dialog{color:#edf4ff;background:#101a2b;border:1px solid #446181;border-radius:14px;width:min(880px,96vw);max-width:880px;max-height:90vh;padding:20px}.guide-dialog::backdrop{background:#030712cf}.guide-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.guide-head h2{margin:0 0 7px}.guide-head p{margin:0 0 12px;color:#aabbce}.guide-find{display:block;margin:12px 0;color:#c1d3ec}.guide-find input{display:block;width:100%;margin-top:6px;padding:12px;background:#081525;color:white;border:1px solid #4c6991;border-radius:8px}.guide-content{overflow-y:auto;max-height:55vh;padding-right:8px}.guide-entry{border:1px solid #2c415f;border-radius:8px;padding:11px 14px;margin:9px 0;background:#152138}.guide-entry h3{font-size:14px;margin:0 0 6px;color:#e7f1ff}.guide-entry p{font-size:13px;line-height:1.6;margin:0;color:#c4d4e9}.guide-entry[hidden]{display:none}.guide-actions{display:flex;justify-content:end;gap:10px;margin-top:12px}@media print{body>*:not(.guide-dialog){display:none!important}.guide-dialog{position:static;display:block;max-height:none;max-width:none;width:100%;color:#000;background:white;border:0}.guide-content{max-height:none;overflow:visible}.guide-entry{break-inside:avoid;background:white;color:#000}.guide-entry p,.guide-entry h3{color:#000}.guide-head button,.guide-find,.guide-actions{display:none}}

.accounts-dialog{width:min(710px,94vw);max-height:88vh;overflow:auto;color:#f5f8ff;background:#101827;border:1px solid #56708b;border-radius:14px;padding:20px}.accounts-dialog::backdrop{background:#000b}.accounts-dialog .accounts-head{display:flex;justify-content:space-between;align-items:center}.accounts-dialog form{display:grid;gap:12px}.accounts-dialog label{display:grid;gap:5px;font-size:13px}.accounts-dialog input:not([type=checkbox]),.accounts-dialog select{padding:10px;background:#0b1424;color:white;border:1px solid #465e7c;border-radius:7px}.accounts-dialog label:has(input[type=checkbox]){display:flex;align-items:center;gap:7px}.accounts-permissions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.account-item{padding:9px;border-bottom:1px solid #314156;font-size:12px;overflow-wrap:anywhere}
.invitation-panel{margin:12px 0;padding:12px;border:1px solid #355172;border-radius:10px;background:#142137}.invitation-panel summary{cursor:pointer;font-weight:700;color:#dbeafe}.invitation-panel form{margin-top:12px}.invitation-panel label{display:block;margin:9px 0}.invitation-panel input[type=email],.invitation-panel input[type=text]{width:100%;max-width:100%}
/* V3.9.2 Gestion équipe */
.team-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0}.team-filter label{flex:1;min-width:180px}.team-list{max-height:46vh;overflow:auto;border:1px solid #3c5477;border-radius:12px;padding:8px;background:#0d1929}.team-card{border:1px solid #36506d;border-radius:9px;margin-bottom:7px;background:#15243a}.team-card-title{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-weight:700;flex-wrap:wrap}.team-state{font-size:11px;color:#c5daec}.team-body{padding:12px;border-top:1px solid #36506d;display:grid;gap:9px}.team-note{font-size:12px;opacity:.85}.team-slots{display:grid;gap:6px}.team-slot{display:flex;gap:6px;flex-wrap:wrap}.team-slot select,.team-slot input{min-width:110px;flex:1}.team-perms{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px}.team-perms label{font-size:12px;display:flex;align-items:center;gap:6px;margin:0}.team-actions{display:flex;flex-wrap:wrap;gap:8px}.team-card button{padding:8px 12px;font-size:12px}

/* V3.9.9 : administration des animateurs adaptée aux écrans PC */
.accounts-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 48px));max-width:1120px;height:min(850px,calc(100dvh - 44px));max-height:calc(100dvh - 44px);padding:0!important;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#101827;}
.accounts-dialog .accounts-head{position:sticky;top:0;z-index:12;display:flex;gap:16px;justify-content:space-between;align-items:center;background:#14233a;padding:16px 22px;border-bottom:1px solid #39526e;}
.accounts-dialog .accounts-head h2{margin:0;font-size:20px;}
.accounts-dialog>.team-filter,.accounts-dialog>#adminUsers,.accounts-dialog>.team-note,.accounts-dialog>.invitation-panel,.accounts-dialog>#adminMessage,.accounts-dialog>p{margin-left:22px;margin-right:22px;}
.accounts-dialog>.team-filter{margin-top:15px;}
.accounts-dialog .team-list{max-height:36vh;}
.accounts-dialog .invitation-panel{margin-top:14px;margin-bottom:14px;padding:15px 18px;}
.accounts-dialog .invitation-panel[open]>summary{margin-bottom:12px;}
.accounts-dialog #inviteForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;align-items:start;}
.accounts-dialog #inviteForm>label{min-width:0;margin:0;}
.accounts-dialog #inviteForm>label:first-child{grid-column:1;}
.accounts-dialog #inviteForm>.accounts-permissions,.accounts-dialog #inviteForm>button,.accounts-dialog #inviteForm>#inviteStatus{grid-column:1/-1;}
.accounts-dialog #inviteForm>.accounts-permissions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;}
.accounts-dialog #inviteForm>.accounts-permissions label{min-width:0;display:flex;gap:8px;align-items:start;margin:0;padding:9px 10px;background:#101a2b;border:1px solid #2c405c;border-radius:8px;line-height:1.4;}
.accounts-dialog #inviteForm>button{justify-self:start;min-width:240px;}
.accounts-dialog #inviteStatus{min-height:0;}
.accounts-dialog .team-card-title{padding:10px 14px;}
.accounts-dialog .team-perms{grid-template-columns:repeat(3,minmax(0,1fr));}
.accounts-dialog .accounts-head button{flex-shrink:0;}
@media(max-width:850px){.accounts-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 20px);height:calc(100dvh - 20px);}.accounts-dialog #inviteForm{grid-template-columns:1fr;}.accounts-dialog #inviteForm>label:first-child{grid-column:auto;}.accounts-dialog #inviteForm>.accounts-permissions{grid-template-columns:repeat(2,minmax(0,1fr));}.accounts-dialog .team-perms{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.accounts-dialog>.team-filter,.accounts-dialog>#adminUsers,.accounts-dialog>.team-note,.accounts-dialog>.invitation-panel,.accounts-dialog>#adminMessage,.accounts-dialog>p{margin-left:10px;margin-right:10px;}.accounts-dialog .accounts-head{padding:12px;}.accounts-dialog .accounts-head h2{font-size:16px;}.accounts-dialog #inviteForm>.accounts-permissions,.accounts-dialog .team-perms{grid-template-columns:1fr;}.accounts-dialog #inviteForm>button{width:100%;min-width:0;}}

/* V3.9.10 : fenêtre administration organisée en trois onglets */
.accounts-dialog .admin-tabs{display:flex;position:sticky;top:60px;z-index:11;gap:8px;padding:12px 22px;background:#101827;border-bottom:1px solid #334864;overflow-x:auto;}
.accounts-dialog .admin-tabs button{flex:0 0 auto;background:#192a42;color:#cedef1;border:1px solid #3b5677;border-radius:8px;padding:11px 17px;font-weight:750;}
.accounts-dialog .admin-tabs button.active{background:#294b75;border-color:#6aa5f5;color:#fff;box-shadow:inset 0 -3px #68b0ff;}
.accounts-dialog .admin-tab-panel{padding:12px 22px 24px;min-width:0;}
.accounts-dialog .admin-tab-panel[hidden]{display:none!important;}
.accounts-dialog .admin-tab-panel .team-filter{margin-top:4px;}
.accounts-dialog .admin-tab-panel .invitation-panel{margin:0;padding:18px;}
.accounts-dialog .admin-intro{margin:12px 22px 0;color:#b5c8e1;}
@media(max-width:650px){.accounts-dialog .admin-tabs{top:55px;padding:9px;gap:4px;}.accounts-dialog .admin-tabs button{padding:9px;font-size:12px;}.accounts-dialog .admin-tab-panel{padding:10px;}.accounts-dialog .admin-intro{margin-left:10px;margin-right:10px;}}

/* V4.0 : sas de préparation LIVE, sans émission */
.live-sim-panel{margin:10px 15px 14px;padding:14px;background:#0f1f33;border:1px solid #466482;border-radius:12px;color:#e3edfb}.live-sim-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.live-sim-tag{font-size:11px;font-weight:850;padding:6px 9px;border-radius:8px;background:#603322;color:#ffdec0}.live-sim-panel p{margin:11px 0;line-height:1.5}.live-sim-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.live-sim-panel small{color:#a6bad4}.live-sim-panel button:disabled{opacity:.4;cursor:not-allowed}

/* V4.0.1 — LIVE partagé (simulation) */
.live-status-band{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin:12px 0;border:1px solid #516076;border-radius:10px;background:#142036;color:#fff}
.live-status-band strong{font-size:17px;letter-spacing:.03em}
.live-status-band[data-state="mine"]{background:#103628;border-color:#28ad72}.live-status-band[data-state="mine"] strong{color:#80ffd0}
.live-status-band[data-state="occupied"]{background:#3b1d2a;border-color:#e75b6a}.live-status-band[data-state="occupied"] strong{color:#ff9aa8}
.live-status-band[data-state="off"] strong{color:#c4d0dc}
.live-status-band #liveSimDuration{margin-left:auto;color:#afc1d6;font-size:12px}
.live-sim-actions .live-start{background:#138151;color:#fff;border-color:#27b275}
.live-sim-actions .live-force{background:#802d39;color:white;border-color:#dc6073}
.live-sim-actions button:disabled{opacity:.45;cursor:not-allowed}
.live-sim-audit{margin:12px 0 8px;border:1px solid #314962;border-radius:9px;padding:10px;max-height:175px;overflow-y:auto}
.live-sim-audit strong{display:block;margin-bottom:8px;font-size:12px}.live-event{font-size:11px;padding:5px 0;border-top:1px solid #263d50}.live-event time{color:#a9b7cf}

/* V4.0.2 — boutons LIVE et historique */
.live-sim-actions .live-leave{background:#bd253f!important;border:1px solid #ed4d63!important;color:#fff!important;font-weight:750}.live-sim-actions .live-leave:hover:not(:disabled){background:#ec3552!important}.live-sim-actions .live-leave:disabled{opacity:.4;cursor:not-allowed}.live-history-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.live-history-header strong{margin:0}.live-clear{background:#45202a;color:#fff;border:1px solid #a64959;border-radius:7px;padding:6px 10px;font-weight:700;font-size:11px}.live-clear:hover{background:#782a3d}

/* V4.0.3 : état LIVE toujours visible, même quand Outils d’interface est fermé */
.workspace-tools-accordion{position:relative}
.workspace-tools-accordion>summary{padding-right:205px!important}
.workspace-tools-accordion .live-header-pill{font-weight:800;white-space:nowrap;max-width:min(380px,36vw);overflow:hidden;text-overflow:ellipsis}
.workspace-tools-accordion .live-header-pill[data-state=mine]{color:#a6fbd2;border-color:#239567;background:#113e30}
.workspace-tools-accordion .live-header-pill[data-state=occupied]{color:#ffbdc4;border-color:#b94957;background:#4a222e}
.workspace-tools-accordion .live-header-pill[data-state=off]{color:#cad8e9}
.workspace-tools-accordion>.live-header-exit:not([hidden]){display:inline-flex;position:absolute;right:43px;top:10px;z-index:5;align-items:center;justify-content:center;border:1px solid #ff6576;border-radius:8px;background:#cf304c;color:white;font-weight:800;cursor:pointer;padding:9px 12px;white-space:nowrap;font-size:12px}
.workspace-tools-accordion>.live-header-exit:hover{background:#ec405c}
@media(max-width:900px){.workspace-tools-accordion>summary{padding-right:170px!important}.workspace-tools-accordion>.live-header-exit:not([hidden]){right:25px;padding:7px;font-size:11px}.workspace-tools-accordion .live-header-pill{max-width:190px}}
@media(max-width:600px){.workspace-tools-accordion>summary{padding-right:145px!important}.workspace-tools-accordion>.live-header-exit:not([hidden]){right:18px;top:8px;font-size:10px;padding:6px}.workspace-tools-accordion .live-header-pill{max-width:140px}}

/* V4.0.4 — Contrôle d'antenne repliable avant la barre d'outils */
.workspace-tools-accordion>.live-sim-accordion{margin:10px 15px 12px;padding:0;overflow:hidden}
.live-sim-accordion>.live-sim-head{cursor:pointer;user-select:none;list-style:none;display:flex;align-items:center;padding:13px 15px;gap:10px;min-height:50px}
.live-sim-accordion>.live-sim-head::-webkit-details-marker{display:none}
.live-sim-accordion .live-sim-tag{margin-left:auto}
.live-sim-accordion .live-sim-chevron{font-size:15px;color:#d9ebff;transition:transform .15s}
.live-sim-accordion[open] .live-sim-chevron{transform:rotate(180deg)}
.live-sim-accordion[open]>.live-sim-head{border-bottom:1px solid #466482}
.live-sim-accordion>.live-sim-content{padding:0 14px 14px}
.live-sim-accordion:not([open])>.live-sim-content{display:none}

/* V4.1 émetteur réel */
.real-live-control{margin:12px 16px;padding:14px;border:1px solid #b14745;border-radius:12px;background:#211825;color:#f9e5e5}.real-live-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.real-live-header strong{font-size:14px}.real-live-header span{font-weight:700;color:#ffbd91}.real-live-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.real-live-actions button{min-width:175px}.real-live-actions .real-stop{background:#b11d33;color:white;font-weight:800}.real-live-actions .real-stop:disabled{opacity:.4}.real-live-control p{font-size:12px;color:#f0b5ad;margin:8px 0}.real-live-control[data-state=connected]{border-color:#3ce897;background:#102c24}.real-live-control[data-state=connected] .real-live-header span{color:#7dffc8}

/* V4.1.2 : commandes d'antenne accessibles en permanence dans la console SOLO */
.antenna-quickbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;margin:9px 0;border-radius:12px;background:linear-gradient(110deg,#111f30,#1d1a2c);border:1px solid #35465d;box-shadow:0 4px 18px #0003}
.antenna-quick-title{font-size:12px;font-weight:800;letter-spacing:.08em;color:#e8f3ff;margin-right:4px}
.antenna-quickbar button{min-height:36px;border-radius:8px;font-weight:750;font-size:12px;padding:7px 11px}
.antenna-quickbar button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.45)}
.antenna-quickbar .quick-antenna-reserve{background:#113b2c;border:1px solid #2a9e63;color:#eaffef}
.antenna-quickbar .quick-antenna-start{background:#a6293b;border:1px solid #f06979;color:white}
.antenna-quickbar .quick-antenna-quit{background:#343342;border:1px solid #aa7681;color:#fff}
.quick-antenna-status{font-size:12px;color:#c9d5e7;margin-left:auto;max-width:360px}
@media(max-width:760px){.antenna-quickbar{gap:6px}.antenna-quickbar button{flex:1 1 auto}.quick-antenna-status{width:100%;max-width:none;margin-left:0}}

/* MAXX-IA-RÉGIE — raccourcis d'administration et déconnexion en en-tête (v400) */
.regie-account-shortcuts{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.regie-account-shortcuts button{white-space:nowrap;font-weight:650}
.regie-account-shortcuts #headerTeamManage,.regie-account-shortcuts #headerInviteAnimator{border-color:#6b4963}
.regie-account-shortcuts #headerSignOut{border:1px solid #97505b;color:#ffd8df;background:rgba(126,31,53,.16)}
.regie-account-shortcuts button[hidden]{display:none!important}
@media(max-width:800px){.top-right{flex-wrap:wrap}.regie-account-shortcuts{width:100%;justify-content:flex-end}.regie-account-shortcuts button{font-size:12px;padding:8px 10px}}
