#up-visio-root{position:fixed;z-index:2147482000;inset:0;display:none;align-items:stretch;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:rgba(1,10,20,.95);backdrop-filter:blur(22px);pointer-events:none}
.up-visio-launch-card[hidden]{display:none!important}
#up-visio-root.active{display:flex;pointer-events:auto}
#up-visio-card{width:100%;height:100%;max-height:100%;overflow:auto;background:linear-gradient(145deg,rgba(4,24,38,.97),rgba(7,39,53,.97));border:1px solid rgba(120,239,255,.35);border-radius:0;box-shadow:0 15px 50px rgba(0,0,0,.58),0 0 25px rgba(49,217,245,.18);color:#f1fdff;padding:clamp(16px,3vw,40px);box-sizing:border-box}
#up-visio-card *{box-sizing:border-box}
.up-visio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.up-visio-head h2{margin:0;font-size:clamp(1.1rem,2.5vw,1.6rem)}.up-visio-head p{margin:5px 0 0;color:#b6dfe6}.up-visio-close{flex:none;border:1px solid #7bcbd3;border-radius:50%;background:#143542;color:#fff;width:38px;height:38px;font-size:1.3rem;cursor:pointer}
.up-visio-progress{display:flex;gap:6px;margin:17px 0}.up-visio-progress span{height:5px;flex:1;border-radius:5px;background:#31606e}.up-visio-progress span.current{background:#64e8ee;box-shadow:0 0 10px #4cdde9}.up-visio-pane[hidden]{display:none!important}.up-visio-pane h3{margin:8px 0 12px}.up-visio-field{display:grid;gap:6px;margin:12px 0}.up-visio-field input,.up-visio-field select{width:100%;min-height:42px;border:1px solid #6baeba;border-radius:11px;padding:9px 12px;background:#092b39;color:#fff;font:inherit}.up-visio-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.up-visio-actions button,.up-visio-launch{border:1px solid #85e9ee;border-radius:12px;padding:10px 15px;background:linear-gradient(120deg,#0b6175,#145075);color:#fff;cursor:pointer;font:inherit}.up-visio-actions button.secondary{background:#153543}.up-visio-actions button:disabled{opacity:.5;cursor:not-allowed}.up-visio-info{color:#c5e8ed;line-height:1.5}.up-visio-error{color:#ffd3cf;min-height:1.5em}.up-visio-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);gap:12px;margin-top:14px}.up-visio-main-video,.up-visio-people{min-width:0;min-height:240px;border:1px solid rgba(136,233,240,.25);border-radius:16px;background:#071c2b;overflow:hidden}.up-visio-main-video{display:grid;place-items:center;position:relative}.up-visio-main-video video{width:100%;height:100%;max-height:55vh;object-fit:contain}.up-visio-main-video strong{position:absolute;left:10px;bottom:10px;background:#062430;border-radius:8px;padding:5px 9px}.up-visio-people{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;padding:8px;overflow:auto;max-height:55vh}.up-visio-person{width:calc(50% - 3px);min-width:100px;border-radius:10px;background:#103c49;overflow:hidden;position:relative;min-height:90px;display:grid;place-items:center}.up-visio-person video{width:100%;height:100%;object-fit:cover;max-height:145px}.up-visio-person span{position:absolute;bottom:3px;left:3px;right:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(0,0,0,.68);padding:2px 5px;border-radius:5px;font-size:.75rem}.up-visio-audio{display:none}.up-visio-launch-card{border:1px solid rgba(110,224,232,.35);border-radius:18px;padding:15px;margin:16px 0;background:linear-gradient(120deg,rgba(8,49,65,.8),rgba(8,28,50,.8));color:#effcff}.up-visio-launch-card h2{margin:0 0 6px;font-size:1.1rem}.up-visio-launch-card p{margin:0 0 12px;line-height:1.5}.up-visio-live-note{font-size:.9rem;color:#aee7ef}
@media(max-width:650px){#up-visio-card{padding:16px}.up-visio-stage{grid-template-columns:1fr}.up-visio-main-video{min-height:180px}.up-visio-main-video video{max-height:36vh}.up-visio-people{min-height:80px;max-height:140px;flex-wrap:nowrap}.up-visio-person{flex:0 0 105px;width:105px;min-height:75px}.up-visio-person video{max-height:120px}}

/* Salle immersive : la barre supérieure reste accessible, seule la barre inférieure se masque. */
html.unipay-bottom-ready body.up-visio-room-fullscreen #fut-bottombar,html body.up-visio-room-fullscreen #fut-bottombar,html body.up-visio-room-fullscreen .fut-bottombar{display:none!important}
body:has(#up-visio-root.active) #unipay-menu-up,body:has(#up-visio-root.active) #unipay-shell-brand,body:has(#up-visio-root.active) #unipay-menu-up-toggle{z-index:2147483500!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#up-visio-root.active{top:var(--up-visio-top,60px);background:rgba(1,10,20,.84)}
body.up-visio-room-fullscreen #up-visio-root.active{top:0;padding:0 8px 8px;background:rgba(1,8,20,.96)}
body.up-visio-room-fullscreen #up-visio-card{padding-top:max(var(--up-visio-top,60px),env(safe-area-inset-top))!important}
body.up-visio-room-fullscreen #up-visio-card{padding:12px 18px}
body.up-visio-room-fullscreen #up-visio-card{background:radial-gradient(circle at 50% 35%,rgba(25,119,154,.26),transparent 52%),linear-gradient(145deg,#031425,#09263d);border-color:rgba(108,231,250,.68);box-shadow:inset 0 0 35px rgba(37,174,221,.13),0 0 34px rgba(62,211,249,.2)}
body.up-visio-room-fullscreen .up-visio-main-video{border:1px solid rgba(123,237,251,.66);box-shadow:inset 0 0 42px rgba(45,173,224,.1),0 0 25px rgba(48,189,236,.18);background:radial-gradient(circle at center,#123d58,#020d19 78%)}
body.up-visio-room-fullscreen .up-visio-dashboard{border-top:1px solid rgba(121,232,246,.36);padding-top:12px}
body.up-visio-room-fullscreen .up-visio-stage{height:min(67vh,720px);grid-template-columns:minmax(0,1fr) minmax(230px,300px)}
body.up-visio-room-fullscreen .up-visio-main-video,body.up-visio-room-fullscreen .up-visio-participant-rail{height:100%;max-height:100%}
body.up-visio-room-fullscreen .up-visio-main-video video{max-height:100%;height:100%}
.up-visio-participant-rail{min-width:0;min-height:240px;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(136,233,240,.3);border-radius:16px;background:linear-gradient(145deg,#071d2e,#0d3144)}
.up-visio-participant-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#e6fbff;font-size:.82rem}
.up-visio-participant-head span,.up-visio-participant-help{color:#a9d2dc;font-size:.72rem;margin:0}
.up-visio-participant-rail .up-visio-people{flex:1;min-height:100px;border:0;background:transparent;padding:0}
.up-visio-person{cursor:pointer;border:1px solid transparent}
.up-visio-person.is-featured,.up-visio-person:focus-visible{border-color:#77eaff;box-shadow:0 0 12px rgba(77,229,255,.42)}
.up-visio-person-avatar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.up-visio-person video{position:relative;z-index:1}
.up-visio-person span{z-index:2}
.up-visio-person-detail{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:8px;border:1px solid rgba(114,223,235,.3);border-radius:11px;background:rgba(5,30,48,.88);font-size:.73rem}
.up-visio-person-detail[hidden],.up-visio-device-panel[hidden]{display:none!important}
.up-visio-person-detail strong{width:100%;font-size:.85rem}
.up-visio-detail-avatar{position:static;width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover;pointer-events:none}
.up-visio-person-detail p{width:100%;margin:0;color:#b5dbe5}
.up-visio-person-detail a,.up-visio-person-detail button{padding:6px 8px;border:1px solid rgba(113,223,236,.4);border-radius:8px;background:rgba(15,68,88,.85);color:#e8fbff;text-decoration:none;font:inherit;cursor:pointer}
body.up-visio-messaging-open #conv-box-root.active,body.up-visio-messaging-open #conv-dialog-root.active,body.up-visio-messaging-open #up-messaging-unified-shell:not([hidden]){z-index:2147482600!important}
.up-visio-device-panel{margin-top:12px;padding:12px;border:1px solid rgba(110,224,232,.35);border-radius:14px;background:rgba(5,28,44,.86)}
.up-visio-device-panel h3{margin:0 0 9px;font-size:.93rem}
.up-visio-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.up-visio-device-grid label{display:grid;gap:5px;font-size:.78rem}
.up-visio-device-grid select{width:100%;min-width:0;min-height:36px;border:1px solid rgba(120,229,240,.5);border-radius:9px;background:#082b3b;color:#fff}
#up-visio-device-help{font-size:.72rem;color:#b2d7e0;margin:8px 0 0}
.up-visio-modal-logo{width:46px;height:46px;flex:none;filter:drop-shadow(0 0 11px rgba(75,225,255,.65))}
.up-visio-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}
.up-visio-control-group{min-width:0;border:1px solid rgba(98,224,245,.38);border-radius:15px;background:linear-gradient(145deg,rgba(8,49,73,.88),rgba(5,25,47,.94));box-shadow:inset 0 1px rgba(198,251,255,.1),0 0 17px rgba(25,190,230,.08);padding:9px 11px;color:#e9faff}
.up-visio-control-group[hidden]{display:none!important}
.up-visio-control-primary{grid-column:span 3;display:flex;align-items:center;gap:12px}
.up-visio-control-label{font:800 .68rem/1.2 ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:#78edff}
.up-visio-control-group summary{cursor:pointer;list-style:none;font-weight:800;font-size:.8rem;letter-spacing:.03em;min-height:27px;display:flex;align-items:center;justify-content:space-between}
.up-visio-control-group summary::-webkit-details-marker{display:none}
.up-visio-control-group summary::after{content:'⌄';color:#70e9fb;font-size:1rem;transition:transform .2s ease}
.up-visio-control-group[open] summary::after{transform:rotate(180deg)}
.up-visio-control-group .up-visio-actions{margin-top:8px;gap:6px}
.up-visio-control-group .up-visio-actions button,.up-visio-exit-actions button{min-height:34px;padding:6px 9px;font-size:.74rem;border-radius:9px}
.up-visio-control-primary .up-visio-actions{margin:0}
.up-visio-exit-actions{grid-column:span 3;justify-content:flex-end;margin-top:0}
.up-visio-exit-actions button:last-child:not([hidden]){border-color:#ff9d91;background:linear-gradient(120deg,#743445,#55243d)}
.up-visio-preflight{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid rgba(111,225,239,.3);border-radius:12px;background:rgba(7,42,57,.55)}
.up-visio-preflight button,.up-visio-music-controls button{border:1px solid #85e9ee;border-radius:9px;padding:8px 11px;background:#0b6175;color:#fff;font:inherit;cursor:pointer}
.up-visio-preflight p{margin:0;font-size:.75rem;color:#bce6eb}
.up-visio-tool-status{font-size:.72rem;color:#bde4ec;line-height:1.45;margin:8px 0 0}
.up-visio-mic-level{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.7rem;color:#a8e6ee}
.up-visio-mic-level progress{width:min(200px,100%);height:10px;accent-color:#59ecca}
.up-visio-music-controls{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-top:8px}
.up-visio-music-controls label{display:grid;gap:4px;font-size:.7rem;color:#c7edf4}
.up-visio-music-controls select{max-width:160px;min-height:34px;border:1px solid rgba(120,229,240,.5);border-radius:8px;background:#082b3b;color:#fff}
.up-visio-music-controls input{width:96px;accent-color:#6be7ee}
.up-visio-music-controls input[type=file]{width:min(290px,100%);min-height:34px;color:#e8fbff;font-size:.72rem}
.up-visio-music-controls label:has(input[type=file]){flex:1 1 220px;min-width:0}
.up-visio-music-controls small,.up-visio-timing small{max-width:38ch;color:#aad4df;line-height:1.4}
@media(max-width:900px){.up-visio-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.up-visio-control-primary,.up-visio-exit-actions{grid-column:span 2}}
@media(max-width:650px){.up-visio-dashboard{grid-template-columns:1fr;gap:7px}.up-visio-control-primary,.up-visio-exit-actions{grid-column:1}.up-visio-control-primary{display:block}.up-visio-control-primary .up-visio-actions{margin-top:7px}.up-visio-control-group{padding:8px}.up-visio-control-group .up-visio-actions button{flex:1 1 42%}.up-visio-exit-actions button{flex:1}.up-visio-modal-logo{width:36px;height:36px}}
@media(max-width:650px){#up-visio-root.active{top:var(--up-visio-top,54px)}body.up-visio-room-fullscreen #up-visio-root.active{top:0}.up-visio-participant-rail{min-height:0}.up-visio-participant-rail .up-visio-people{min-height:78px;max-height:125px}.up-visio-device-grid{grid-template-columns:1fr}.up-visio-person-detail{max-height:105px;overflow:auto}body.up-visio-room-fullscreen .up-visio-stage{height:auto;grid-template-columns:1fr}body.up-visio-room-fullscreen .up-visio-main-video{height:68dvh;min-height:280px}body.up-visio-room-fullscreen .up-visio-participant-rail{height:auto}}
body.up-visio-native-pip #up-visio-root.active{inset:0!important;padding:0!important;background:#020b17!important}
body.up-visio-native-pip #up-visio-card{padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important}
body.up-visio-native-pip #up-visio-card>*:not(#up-visio-room){display:none!important}
body.up-visio-native-pip #up-visio-room{display:block!important;height:100%!important;margin:0!important;padding:0!important}
body.up-visio-native-pip #up-visio-room>*:not(.up-visio-stage){display:none!important}
body.up-visio-native-pip .up-visio-stage{display:block!important;width:100%!important;height:100%!important;margin:0!important}
body.up-visio-native-pip .up-visio-main-video{width:100%!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important}
body.up-visio-native-pip .up-visio-main-video video{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
body.up-visio-native-pip .up-visio-participant-rail{display:none!important}
body.up-visio-native-pip #unipay-menu-up,body.up-visio-native-pip #unipay-shell-brand,body.up-visio-native-pip #fut-bottombar{display:none!important}
