*{box-sizing:border-box} :root{--ink:#20283b;--muted:#7f899d;--line:#e9edf4;--bg:#f7f8fc;--purple:#6658e8;--purple2:#8275ff;--mint:#dff8ed;--coral:#ff9e86;--navy:#202a47}body{margin:0;font-family:'Quicksand',sans-serif;color:var(--ink);background:var(--bg);font-size:14px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:700;letter-spacing:-1.2px;color:var(--ink)}.brand-mark{width:37px;height:37px;border-radius:12px;background:linear-gradient(135deg,#786cff,#5947dc);display:grid;place-items:center;color:white;box-shadow:0 7px 16px #6556e833}.brand-mark svg{width:20px}.brand-dot{color:var(--purple)}.side-label{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#a5adbd;margin:52px 10px 16px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:12px;color:#778197;font-size:13px;font-weight:700;transition:.2s}.sidebar nav a svg{width:18px;height:18px}.sidebar nav a:hover,.sidebar nav a.active{background:#f0efff;color:var(--purple)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;gap:10px}.avatar{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#e6e4ff;color:#5b4ed2;font-weight:700}.avatar.large{width:42px;height:42px;border-radius:50%;background:#ffe2d9;color:#b75d47}.user-meta{display:grid;gap:3px;min-width:0;flex:1}.user-meta b{font-size:12px}.user-meta small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.icon-btn{border:0;background:transparent;color:#9099aa;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px}.icon-btn:hover{background:#f2f3f8;color:var(--purple)}.icon-btn svg{width:17px}.main{margin-left:248px;padding:34px 4.2%;max-width:1700px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.breadcrumb{font-size:11px;color:#9ca5b6;margin-bottom:12px}.breadcrumb span{padding:0 7px;color:#d2d7e1}.topbar h1{font-size:29px;letter-spacing:-1px;margin:0 0 6px;font-weight:700}.muted{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.wave{color:#ffad8e;font-size:23px}.top-actions{display:flex;align-items:center;gap:17px}.online-pill,.status-tag{display:flex;align-items:center;gap:7px;border:1px solid #e8ebf3;background:#fff;padding:9px 12px;border-radius:30px;color:#7e889d;font-size:11px;font-weight:700}.pulse{width:7px;height:7px;display:inline-block;border-radius:50%;background:#44c99b;box-shadow:0 0 0 3px #44c99b20}.welcome-banner{position:relative;overflow:hidden;border-radius:22px;min-height:246px;padding:32px 39px;background:linear-gradient(110deg,#5c50dc,#786df0 62%,#9b8cff);color:white;display:flex;justify-content:space-between;align-items:center;box-shadow:0 16px 34px #6154e51c}.welcome-text{position:relative;z-index:2}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#9690dc}.eyebrow.light{color:#d4d0ff}.welcome-text h2{font-size:27px;line-height:1.22;letter-spacing:-.8px;margin:12px 0 9px}.welcome-text p{font-size:12px;color:#e1deff;margin:0 0 19px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:11px;padding:12px 16px;font-size:12px;font-weight:700;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px)}.btn svg{width:16px;height:16px}.btn.primary{background:var(--purple);color:white;box-shadow:0 6px 15px #6658e82b}.btn.primary:hover{background:#5547d8}.btn.white{background:#fff;color:#5c50dc;padding:12px 16px}.btn.secondary{background:#f0efff;color:var(--purple)}.btn.outline{background:white;border:1px solid var(--line);color:#677188}.btn.danger{background:#ff695f;color:#fff}.btn.small{padding:9px 12px;font-size:11px;border-radius:9px}.btn.full{width:100%;margin-top:6px}.banner-art{width:34%;height:215px;position:absolute;right:20px;top:14px}.art-orbit{position:absolute;border:1px solid #ffffff28;border-radius:50%;width:220px;height:220px;right:12px;top:0}.orbit-two{width:160px;height:160px;right:42px;top:30px}.art-card{position:absolute;right:55px;top:41px;width:160px;height:140px;border:1px solid #ffffff60;border-radius:18px;background:#ffffff25;backdrop-filter:blur(8px);padding:17px;transform:rotate(5deg);box-shadow:0 20px 30px #3e31a62b}.art-card>svg{width:22px}.art-card span{display:block;font-size:15px;font-weight:700;margin-top:9px}.art-card small{font-size:10px;color:#e3dfff}.art-avatars{display:flex;margin-top:13px}.art-avatars b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffb6a4;border:2px solid #8277ed;margin-right:-5px;font-size:8px;color:#754d58}.art-avatars b:nth-child(2){background:#c9f4e5;color:#297e69}.art-avatars b:nth-child(3){background:#fff;color:#6756d8}.art-bubble{position:absolute;display:grid;place-items:center;border-radius:13px;background:#fff;color:#6255dc;width:42px;height:42px;box-shadow:0 10px 25px #30258b22}.art-bubble svg{width:18px}.bubble-one{right:230px;top:45px;transform:rotate(-9deg)}.bubble-two{right:15px;top:142px;background:#ffd0c2;color:#ab5c48;transform:rotate(10deg)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:34px 0 18px}.section-head h2{font-size:20px;letter-spacing:-.5px;margin:6px 0}.section-head .eyebrow{font-size:9px}.meeting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.meeting-card,.panel,.empty-card{background:#fff;border:1px solid #edf0f6;border-radius:17px;padding:20px;box-shadow:0 4px 15px #25345c04}.meeting-card-top{display:flex;justify-content:space-between;align-items:center}.meeting-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f0efff;color:#6556e5}.meeting-icon svg{width:20px}.status-tag{font-size:9px;padding:7px 9px;background:#f3fcf8;border-color:#e0f6ed;color:#4d9b7f}.meeting-card h3{font-size:15px;margin:17px 0 6px}.meeting-card>p{font-size:11px;line-height:1.6;color:var(--muted);min-height:34px;margin:0}.meeting-code{margin-top:18px;background:#f8f9fc;border:1px solid #f0f2f7;border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:8px}.meeting-code span{font-size:8px;letter-spacing:1px;color:#9da5b6;font-weight:700;flex:1}.meeting-code b{font-size:12px;letter-spacing:1px}.meeting-code .icon-btn{width:27px;height:27px;background:#fff;border:1px solid #e9edf4}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:13px;border-top:1px solid #f0f2f7}.card-bottom>span{display:flex;align-items:center;gap:6px;color:#8790a2;font-size:10px}.card-bottom>span svg{width:13px}.bottom-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.panel{padding:23px}.panel-title{display:flex;gap:12px;align-items:center;margin-bottom:22px}.mini-icon{width:41px;height:41px;border-radius:13px;display:grid;place-items:center;flex:none}.mini-icon svg{width:19px}.mini-icon.purple{background:#f0efff;color:#6556e5}.mini-icon.mint{background:#e5f9f0;color:#42a77f}.panel-title h3{font-size:14px;margin:0 0 5px}.panel-title p{font-size:10px;color:var(--muted);margin:0}.field{display:grid;gap:8px;margin-bottom:15px}.field label{font-size:11px;font-weight:700;color:#59647b}.field input,.field textarea,.join-input{width:100%;border:1px solid #e7ebf3;background:#fbfcfe;border-radius:10px;padding:12px 13px;color:var(--ink);outline:none;font-size:12px;resize:vertical}.field input:focus,.field textarea:focus,.join-input:focus-within{border-color:#a59dff;box-shadow:0 0 0 3px #6658e812}.optional{color:#a2aabb;font-weight:500}.join-input{display:flex;align-items:center;gap:9px}.join-input svg{width:16px;color:#979fb0}.join-input input{border:0;background:transparent;outline:0;width:100%;padding:0}.join-help{display:flex;align-items:center;gap:8px;color:#8a94a6;font-size:10px;margin-top:18px}.join-help svg{width:15px;color:#5ebc97}.empty-card{grid-column:1/-1;text-align:center;padding:36px}.empty-icon{margin:0 auto 14px;width:53px;height:53px;border-radius:17px;background:#f0efff;color:#6658e8;display:grid;place-items:center}.empty-icon svg{width:24px}.empty-card h3{margin:0 0 7px}.empty-card p{font-size:12px;color:var(--muted);margin:0 auto 18px;max-width:380px}.alert{padding:12px 14px;border-radius:10px;background:#fff1ef;color:#bb5549;font-size:12px;margin:15px 0}.public-main{min-height:100vh}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.auth-left{background:linear-gradient(145deg,#f1efff,#e7e5ff 58%,#e5f6f1);padding:42px 8%;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-left:after{content:"";position:absolute;width:470px;height:470px;border:1px solid #7668df24;border-radius:50%;right:-180px;bottom:-150px;box-shadow:0 0 0 55px #7668df09,0 0 0 110px #7668df07}.hero-copy{margin:auto 0;position:relative;z-index:1;max-width:510px;padding:45px 0}.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:9px;color:#7165d7;background:#fff9;padding:10px 13px;border-radius:30px}.hero-copy h1{font-size:clamp(37px,4.2vw,59px);line-height:1.12;letter-spacing:-2.4px;margin:25px 0 18px}.hero-copy h1 span{color:#6556e5}.hero-copy p{font-size:15px;line-height:1.8;color:#788098;max-width:410px}.hero-points{display:grid;gap:15px;margin-top:32px}.hero-points span{display:flex;align-items:center;gap:12px;font-weight:700;font-size:12px;color:#5e6680}.hero-points svg{width:18px;color:#7164e4}.hero-footer{display:flex;justify-content:space-between;color:#8990a5;font-size:11px;position:relative;z-index:1}.hero-footer span{color:#6b5de1;font-size:19px}.auth-right{display:grid;place-items:center;padding:45px 8%}.auth-card{width:min(100%,400px)}.auth-heading{margin-bottom:25px}.auth-heading .eyebrow{font-size:9px}.auth-heading h2{font-size:28px;letter-spacing:-1px;margin:11px 0 8px}.auth-heading p{font-size:12px;color:var(--muted);margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f5f6fa;padding:4px;border-radius:11px;margin-bottom:24px}.tab{border:0;background:transparent;border-radius:8px;padding:11px 5px;font-size:11px;font-weight:700;color:#9098a9}.tab.active{background:#fff;color:#5e51dc;box-shadow:0 2px 7px #20283b0b}.input-icon{display:flex;align-items:center;gap:10px;border:1px solid #e6eaf2;background:#fbfcfe;border-radius:10px;padding:0 12px}.input-icon:focus-within{border-color:#a59dff;box-shadow:0 0 0 3px #6658e812}.input-icon svg{width:16px;color:#a2a9b8}.input-icon input{border:0;outline:0;background:transparent;padding:13px 0;width:100%;font-size:12px;color:var(--ink)}.demo-note{display:flex;gap:11px;background:#f4f2ff;border:1px solid #eae7ff;border-radius:12px;padding:13px;margin-top:22px;color:#777f95;font-size:10px;line-height:1.7}.demo-note svg{width:18px;color:#7668e6;flex:none}.demo-note b{color:#5f53d3;font-size:11px}.auth-legal{text-align:center;color:#a6adbb;font-size:9px;line-height:1.7;margin-top:23px}.mobile-brand{display:none}.hidden{display:none!important}.room-topbar{height:76px;display:flex;align-items:center;gap:24px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}.room-title{display:grid;gap:5px;flex:1}.room-title b{font-size:13px}.room-title>span{font-size:10px;color:#8b94a7}.room-title em{padding:0 4px;color:#c4cad6}.room-top-actions{display:flex;gap:9px}.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:17px;padding:20px;max-width:1700px;margin:auto}.video-area{min-width:0;display:flex;flex-direction:column}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-height:400px;flex:1;min-width:0;width:100%;overflow:hidden}.video-tile{position:relative;overflow:hidden;min-width:0;width:100%;border-radius:17px;background:#e8eaf5;min-height:330px;aspect-ratio:4/3}.video-tile video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2}.local-tile{background:linear-gradient(145deg,#dedbff,#c4c2f0)}.remote-tile{background:linear-gradient(145deg,#e5f7f0,#d3eee6)}.video-placeholder,.remote-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:22px;color:#67618d}.video-placeholder{display:none;z-index:3}.video-placeholder span,.remote-empty span{font-size:10px;color:#7e879b;line-height:1.6;max-width:230px}.video-avatar{width:64px;height:64px;font-size:23px;border-radius:22px;background:#fff;color:#6556e5}.remote-empty{color:#557d70;z-index:1;background:linear-gradient(145deg,#e5f7f0,#d3eee6)}.remote-illustration{width:63px;height:63px;border-radius:21px;display:grid;place-items:center;background:#ffffffa8;color:#4fae8c;margin-bottom:5px}.remote-illustration svg{width:28px}.remote-empty strong{color:#5e53d7}.tile-label{position:absolute;bottom:12px;left:12px;background:#20283bcf;color:#fff;border-radius:9px;padding:9px 11px;font-size:10px;display:flex;align-items:center;gap:7px;z-index:1}.tile-label small{color:#d6d9e2;font-size:9px}.mic-indicator svg{width:12px;height:12px}.remote-label{display:none}.video-status{display:flex;justify-content:space-between;gap:10px;padding:14px 3px;color:#8992a4;font-size:10px}.video-status span{display:flex;align-items:center;gap:7px}.video-status svg{width:14px;color:#55b895}.meeting-controls{display:flex;justify-content:center;gap:12px;background:#fff;border:1px solid #edf0f5;border-radius:16px;padding:15px;box-shadow:0 5px 20px #26304b05}.control-btn{min-width:72px;border:0;border-radius:12px;background:#f5f6fa;color:#5f6980;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 10px;font-size:9px;font-weight:700}.control-btn svg{width:19px;height:19px}.control-btn:hover{background:#eeedff;color:#6556e5}.control-btn.off{background:#fff0ee;color:#d95d51}.control-btn.end-call{background:#ff6c62;color:#fff;padding-left:17px;padding-right:17px}.room-sidebar{background:#fff;border:1px solid #edf0f5;border-radius:17px;min-height:650px;display:flex;flex-direction:column;overflow:hidden}.room-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line);padding:0 10px}.room-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;padding:16px 3px;color:#929bad;font-size:10px;font-weight:700;border-bottom:2px solid transparent}.room-tab svg{width:14px}.room-tab.active{color:#6556e5;border-bottom-color:#6556e5}.count{font-size:9px;background:#f0efff;color:#6658e8;padding:3px 5px;border-radius:5px}.room-pane{display:none;flex:1;min-height:0;flex-direction:column;padding:19px}.room-pane.active{display:flex}.pane-heading h3{margin:0 0 5px;font-size:15px}.pane-heading p{margin:0;color:#8c95a7;font-size:10px;line-height:1.6}.chat-messages{flex:1;min-height:300px;max-height:calc(100vh - 310px);overflow:auto;padding:20px 0;display:flex;flex-direction:column;gap:13px}.chat-welcome{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;color:#828ca0}.chat-welcome .mini-icon{margin-bottom:4px}.chat-welcome b{font-size:12px;color:#59647b}.chat-welcome span{font-size:10px;line-height:1.6;max-width:210px}.message{max-width:92%;align-self:flex-start}.message.own{align-self:flex-end}.message-meta{display:flex;align-items:center;gap:8px;margin-bottom:5px}.message-meta b{font-size:10px;color:#4f5a72}.message-meta time{font-size:8px;color:#a2aabb}.message-body{background:#f3f4fa;border-radius:4px 12px 12px 12px;padding:10px 12px;font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.message.own .message-body{background:#efedff;color:#4e43b9;border-radius:12px 4px 12px 12px}.chat-compose{display:flex;align-items:center;gap:8px;border:1px solid #e7ebf3;border-radius:12px;padding:5px 6px 5px 12px;background:#fcfcfe}.chat-compose input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:11px;padding:8px 0}.send-btn{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:#6658e8;color:#fff}.send-btn svg{width:16px}.people-list{display:grid;gap:14px;padding:22px 0;flex:1}.person-row{display:flex;align-items:center;gap:10px}.person-row .avatar{width:35px;height:35px}.person-row>div:nth-child(2){display:grid;gap:4px;flex:1}.person-row b{font-size:11px}.person-row small{font-size:9px;color:#969fb0}.host-tag{font-size:9px;background:#f0efff;color:#6556e5;padding:5px 7px;border-radius:6px}.upload-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;border:1px dashed #c9c7f5;border-radius:13px;background:#faf9ff;padding:20px 12px;margin:20px 0}.upload-box>svg{width:25px;height:25px;color:#7668e6}.upload-box b{font-size:11px}.upload-box span{font-size:9px;color:#929bad;line-height:1.5}.upload-box input[type=file]{font-size:9px;max-width:100%;width:100%;color:#7f899c}.upload-box .btn{width:100%;font-size:10px}.file-list{display:grid;gap:9px}.file-row{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #edf0f6;border-radius:10px}.file-icon{width:34px;height:36px;border-radius:8px;background:#f0efff;color:#6b5de3;display:grid;place-items:center}.file-icon svg{width:17px}.file-info{min-width:0;flex:1;display:grid;gap:4px}.file-info b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info small{font-size:9px;color:#939bad}.file-row>svg{width:15px;color:#9aa2b2}.file-empty{text-align:center;color:#9ba3b2;font-size:10px;padding:20px 0;line-height:1.7}.error-page{min-height:80vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.error-page h1{font-size:27px}.error-page p{color:var(--muted);font-size:12px;margin-bottom:20px}
@media(max-width:1200px){.sidebar{width:215px}.main{margin-left:215px;padding:28px 3%}.meeting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-layout{grid-template-columns:minmax(0,1fr) 320px;padding:12px}.video-grid{min-height:330px}.video-tile{min-height:280px}.room-topbar{padding:0 17px}.room-title{min-width:140px}}@media(max-width:900px){.auth-layout{grid-template-columns:1fr}.auth-left{display:none}.auth-right{min-height:100vh;padding:28px}.mobile-brand{display:flex;margin-bottom:35px}.sidebar{width:68px;padding:23px 10px;align-items:center}.sidebar .brand{font-size:0}.sidebar .brand-mark{width:40px;height:40px}.side-label,.sidebar nav a:not(.active){font-size:0}.sidebar nav{margin-top:40px;width:100%}.sidebar nav a{justify-content:center;padding:13px 0;font-size:0}.sidebar nav a svg{width:20px;height:20px}.sidebar-bottom{width:100%;flex-wrap:wrap;justify-content:center}.user-meta,.sidebar-bottom .icon-btn{display:none}.main{margin-left:68px;padding:24px 3%}.room-layout{grid-template-columns:1fr}.room-sidebar{min-height:500px}.chat-messages{max-height:400px}.room-topbar .brand>span:last-child{display:none}.room-top-actions .btn{font-size:0;padding:10px}.room-top-actions .btn svg{width:17px}.video-grid{min-height:300px}.video-tile{min-height:260px}}@media(max-width:600px){.main{padding:18px 13px}.topbar h1{font-size:24px}.top-actions .online-pill{display:none}.welcome-banner{padding:25px 22px;min-height:255px}.welcome-text h2{font-size:23px}.welcome-text p{max-width:250px;line-height:1.7}.banner-art{opacity:.25;right:-75px;top:40px}.section-head{align-items:flex-start;gap:12px}.section-head h2{font-size:18px}.section-head>.btn{font-size:0;padding:11px}.section-head>.btn svg{width:18px}.meeting-grid,.bottom-panels{grid-template-columns:1fr}.meeting-card>p{min-height:0}.room-topbar{height:65px;padding:0 10px;gap:10px}.room-title b{font-size:11px}.room-title>span{font-size:9px}.room-top-actions{gap:5px}.room-top-actions .btn{padding:9px}.room-layout{padding:9px;gap:10px}.video-grid{grid-template-columns:1fr;min-height:0}.video-tile{aspect-ratio:4/3;min-height:220px}.meeting-controls{gap:5px;padding:9px;justify-content:space-around}.control-btn{min-width:0;padding:10px 9px;flex:1}.control-btn span{font-size:8px}.control-btn.end-call{padding:10px}.video-status{font-size:9px}.room-tabs{padding:0 5px}.room-tab{font-size:9px}.room-tab svg{width:13px}.auth-heading h2{font-size:25px}}

/* Meetly camera defaults and remote participant layout */
.remote-tile video{display:none}.video-tile{isolation:isolate}.remote-empty{z-index:1}.video-tile video[srcObject]{z-index:0}

/* Meetly WebRTC mesh improvements */
.video-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-content:start;overflow:visible;min-height:0}
.video-tile{min-height:250px;aspect-ratio:4/3}
.video-tile video{background:#202433}
.remote-tile .remote-avatar{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center;color:#557d70;background:linear-gradient(145deg,#e5f7f0,#d3eee6)}
.remote-tile .remote-avatar .avatar{width:64px;height:64px;border-radius:22px;background:#fff;color:#398f73;font-size:22px}
.remote-tile .remote-avatar b{font-size:13px;color:#557d70}
.remote-tile .remote-avatar span{font-size:10px;color:#7e879b}
.remote-tile.has-video .remote-avatar{display:none}
.remote-tile:not(.has-video) video{display:none}
.remote-tile.has-video video{display:block;z-index:0}
.remote-wait .remote-empty{position:absolute;inset:0;display:flex}
.remote-wait .remote-empty{background:linear-gradient(145deg,#e5f7f0,#d3eee6)}
.remote-wait .remote-empty b{font-size:13px}
.local-tile .video-placeholder{z-index:3}
.local-tile video{z-index:2}
.tile-label{z-index:4}
.control-btn:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.video-grid{grid-template-columns:1fr}.video-tile{min-height:230px}}

/* Uploaded custom brand logo: put logo.svg, logo.png, logo.webp, logo.jpg or logo.jpeg in public/assets/ */
.brand-logo-img{display:block;max-width:165px;max-height:43px;width:auto;height:auto;object-fit:contain}.auth-left .brand-logo-img{max-width:210px;max-height:58px}.room-topbar .brand-logo-img{max-width:150px;max-height:42px}.sidebar .brand-logo-img{max-width:170px;max-height:42px}.remote-tile audio{display:none}.remote-tile video{object-fit:cover}.video-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-content:start;overflow:visible;min-height:0}.video-tile{min-height:250px;aspect-ratio:4/3}.video-tile video{background:#202433}.remote-tile .remote-avatar{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center;color:#557d70;background:linear-gradient(145deg,#e5f7f0,#d3eee6)}.remote-tile .remote-avatar .avatar{width:64px;height:64px;border-radius:22px;background:#fff;color:#398f73;font-size:22px}.remote-tile .remote-avatar b{font-size:13px;color:#557d70}.remote-tile .remote-avatar span{font-size:10px;color:#7e879b}.remote-tile.has-video .remote-avatar{display:none}.remote-tile:not(.has-video) video{display:none}.remote-tile.has-video video{display:block;z-index:0}.control-btn:disabled{opacity:.6;cursor:wait}@media(max-width:900px){.sidebar .brand-logo-img{max-width:40px;max-height:40px}.room-topbar .brand-logo-img{max-width:95px;max-height:34px}}@media(max-width:600px){.video-grid{grid-template-columns:1fr}.video-tile{min-height:230px}}

.remote-tile audio{display:block;position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:-9999px}

/* MaVisio landing page, guest entrance, confirmation dialog and invite toast */
.mavisio-landing{max-width:1240px;margin:0 auto;padding:28px clamp(18px,4vw,54px) 20px;min-height:100vh;background:radial-gradient(circle at 4% 0%,#f8e7f4 0,transparent 27%),radial-gradient(circle at 96% 16%,#eeebff 0,transparent 30%),#fbfbfe;color:#20283b}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 0 14px}.landing-header .brand-logo-img{max-width:245px;max-height:72px}.landing-header-note{display:flex;align-items:center;gap:9px;font-size:11px;color:#7f899d;font-weight:600;background:#ffffffb8;border:1px solid #eceef4;border-radius:30px;padding:10px 14px}
.landing-intro{text-align:center;padding:32px 0 27px}.landing-intro>.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #edeaf8;border-radius:30px;padding:9px 13px;color:#7061d5;font-size:9px}.landing-intro h1{font-size:clamp(33px,4.4vw,53px);line-height:1.12;letter-spacing:-2.3px;margin:18px 0 12px}.landing-intro h1 span{color:#e743a7}.landing-intro p{max-width:550px;margin:0 auto;font-size:13px;line-height:1.8;color:#7c879b}
.landing-alert{max-width:940px;margin:0 auto 18px;display:flex;align-items:center;gap:10px;background:#fff0ef;color:#b84b50;border:1px solid #ffd8d5;border-radius:12px;padding:12px 15px;font-size:12px}.landing-alert svg{width:18px;flex:none}
.landing-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;max-width:1000px;margin:0 auto}.landing-card{background:#fff;border:1px solid #ebedf5;border-radius:22px;padding:25px clamp(19px,2.5vw,30px);box-shadow:0 14px 45px #292b5310;display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}.landing-card:before{content:"";position:absolute;right:-64px;top:-78px;width:180px;height:180px;border-radius:50%;background:#f4f0ff;z-index:0}.guest-card:before{background:#e5f8f0}.landing-card>*{position:relative;z-index:1}.landing-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;margin-bottom:18px}.landing-card-icon svg{width:23px;height:23px}.account-icon{background:#f0edff;color:#6758e5}.guest-icon{background:#e4f8ef;color:#36a57d}.landing-card-copy .eyebrow{font-size:9px}.landing-card-copy h2{font-size:23px;letter-spacing:-.7px;margin:8px 0 8px}.landing-card-copy p{font-size:11px;line-height:1.7;color:#8791a4;margin:0;max-width:390px;min-height:40px}
.landing-auth-tabs{margin:21px 0 17px;display:grid;grid-template-columns:1fr 1fr;background:#f6f6fb;padding:4px;border-radius:10px}.landing-auth-tabs .tab{font-size:10px;line-height:1.4;padding:10px 6px}.landing-form{margin-top:17px}.landing-auth-tabs+.landing-form{margin-top:0}.landing-form .field{margin-bottom:13px;gap:7px}.landing-form .field label{font-size:11px;color:#505b73}.landing-input{display:flex;align-items:center;gap:10px;width:100%;background:#fbfcfe;border:1px solid #e5eaf2;border-radius:11px;padding:0 12px;min-height:46px;transition:border-color .16s,box-shadow .16s}.landing-input:focus-within{border-color:#a59bff;box-shadow:0 0 0 3px #6758e811}.landing-input>svg{width:16px;height:16px;color:#a0a9b9;flex:none}.landing-input input{outline:0;border:0;background:transparent;min-width:0;width:100%;padding:12px 0;font-size:12px;color:#25304a}.landing-input input::placeholder{color:#a4acba}.landing-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fbfcfe inset}.field-help{font-size:9px;line-height:1.6;color:#9ba3b2;margin-top:-1px}.landing-submit,.guest-join-btn{min-height:46px;border-radius:11px;margin-top:2px}.guest-join-btn{background:#20283b;color:#fff;box-shadow:0 7px 16px #20283b18;display:flex;justify-content:center;align-items:center;gap:10px}.guest-join-btn:hover{background:#303953}.landing-benefits{display:flex;flex-wrap:wrap;gap:13px;margin-top:19px;padding-top:17px;border-top:1px solid #f0f1f6;color:#8791a4;font-size:9px}.landing-benefits span{display:flex;align-items:center;gap:6px}.landing-benefits svg{width:14px;height:14px;color:#43b28b}.guest-note{display:flex;gap:10px;align-items:flex-start;padding:13px;background:#f4fbf7;border:1px solid #e6f7ee;border-radius:12px;margin-top:22px;color:#7f8a9a;font-size:10px;line-height:1.7}.guest-note>svg{width:17px;height:17px;flex:none;color:#40a77f;margin-top:2px}.guest-note b{color:#3f8d71;font-size:11px}.guest-preview{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:20px}.preview-avatar{width:34px;height:34px;border-radius:11px;background:#f9d9ef;color:#ad3685;display:grid;place-items:center;font-size:12px;font-weight:700}.guest-preview>div:nth-child(2){display:grid;gap:4px;flex:1}.guest-preview b{font-size:10px}.guest-preview small{font-size:9px;color:#919bad}.guest-preview>svg{width:18px;color:#40ac82}.landing-footer{max-width:1000px;margin:22px auto 0;display:flex;justify-content:space-between;gap:12px;color:#9ba3b2;font-size:9px;padding:0 2px}.landing-footer b{color:#e743a7;font-size:15px;margin-left:5px}
.mavisio-dialog{width:min(440px,calc(100% - 30px));max-width:none;border:1px solid #e7eaf2;border-radius:22px;padding:27px;background:#fff;color:#20283b;box-shadow:0 26px 90px #1d244536;overflow:visible}.mavisio-dialog::backdrop{background:#17182c75;backdrop-filter:blur(4px)}.mavisio-dialog .dialog-symbol{width:49px;height:49px;border-radius:15px;display:grid;place-items:center;margin-bottom:17px}.dialog-symbol svg{width:23px;height:23px}.mavisio-dialog .dialog-close{position:absolute;right:14px;top:14px;border:0;background:#f5f6fa;color:#818ba0;width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.dialog-close svg{width:16px}.mavisio-dialog .eyebrow{font-size:9px}.mavisio-dialog h2{font-size:23px;line-height:1.25;letter-spacing:-.6px;margin:8px 0 10px}.mavisio-dialog p{color:#7d879b;font-size:12px;line-height:1.75;margin:0 0 20px}.mavisio-dialog .field{margin-bottom:17px}.mavisio-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.mavisio-dialog .btn.outline{border:1px solid #e5e8f0;background:#fff}.camera-warning-icon{background:#fff1e8;color:#d97946}.mavisio-toast{position:fixed;z-index:10000;right:24px;top:24px;max-width:min(390px,calc(100vw - 30px));background:#fff;border:1px solid #e4f2ea;border-radius:15px;box-shadow:0 14px 50px #1b2c2528;padding:13px 16px;display:flex;align-items:center;gap:12px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.mavisio-toast.visible{opacity:1;transform:translateY(0)}.toast-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#e5f8ed;color:#2d9b70;flex:none}.toast-icon svg{width:19px;height:19px}.toast-copy{display:grid;gap:3px}.toast-copy b{font-size:12px;color:#2d3b4e}.toast-copy small{font-size:10px;line-height:1.5;color:#8590a2}
@media(max-width:760px){.mavisio-landing{padding:16px 14px 18px}.landing-header{align-items:flex-start}.landing-header .brand-logo-img{max-width:190px;max-height:57px}.landing-header-note{display:none}.landing-intro{padding:22px 0 22px}.landing-intro h1{font-size:35px;letter-spacing:-1.5px}.landing-intro p{font-size:12px}.landing-cards{grid-template-columns:1fr;gap:15px;max-width:500px}.landing-card{padding:22px 20px}.landing-card-copy h2{font-size:22px}.landing-card-copy p{min-height:0}.guest-card .guest-note{margin-top:18px}.guest-preview{padding-top:16px}.landing-footer{font-size:8px;flex-wrap:wrap}.mavisio-toast{right:12px;top:12px}}


/* MaVisio — brand block arrondi et invitation par choix */
.brand:has(.brand-logo-img){padding:4px 8px;border-radius:16px;background:#fff;border:1px solid #f0e8f0;box-shadow:0 5px 20px #25283b0a;gap:8px;flex-shrink:0}.brand-logo-img{max-width:185px;max-height:50px;border-radius:12px;object-fit:contain}.room-topbar .brand:has(.brand-logo-img){padding:4px 9px;border-radius:15px}.room-topbar .brand-logo-img{max-width:175px;max-height:47px}.sidebar .brand:has(.brand-logo-img){padding:5px 7px;border-radius:16px}.sidebar .brand-logo-img{max-width:175px;max-height:46px}.auth-left .brand-logo-img{max-width:220px;max-height:62px}.invite-symbol{background:#fce8f4;color:#d63898}.invite-dialog .invite-option{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:13px;border:1px solid #e9eaf3;border-radius:14px;background:#fff;color:#25304a;margin:5px 0 18px;transition:border-color .15s,background .15s}.invite-dialog .invite-option:hover{border-color:#e7acd3;background:#fff9fd}.invite-option-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;flex:none}.invite-option-icon svg{width:19px;height:19px}.copy-option-icon{background:#f0edff;color:#6556e8}.invite-option>span:nth-child(2){display:grid;gap:4px;flex:1}.invite-option b{font-size:12px}.invite-option small{font-size:10px;line-height:1.5;color:#8d96a8}.invite-option>svg{width:17px;color:#9aa2b1}.invite-divider{display:flex;align-items:center;gap:10px;margin:3px 0 17px;color:#9ba3b2;font-size:8px;font-weight:700;letter-spacing:1px}.invite-divider:before,.invite-divider:after{content:"";height:1px;flex:1;background:#edf0f5}.invite-email-form .field{margin-bottom:13px}.invite-email-status{font-size:10px;line-height:1.6;color:#8c96a8;margin:12px 0 0}.invite-email-status.success{color:#258b67}.invite-email-status.error{color:#bd4d51}.invite-email-form .btn{min-height:44px}.invite-email-form .btn svg{width:16px;height:16px}.invite-dialog[open]{animation:invitePop .18s ease-out}@keyframes invitePop{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:600px){.room-topbar .brand:has(.brand-logo-img){padding:3px 5px}.room-topbar .brand-logo-img{max-width:115px;max-height:37px}.sidebar .brand:has(.brand-logo-img){padding:3px}.sidebar .brand-logo-img{max-width:42px;max-height:42px}}
