:root{
  --bg:#0b0f12;--panel:#141b20;--panel2:#1d272d;--line:#33424a;--text:#edf4f7;--muted:#91a0a8;--accent:#f0a51e;--green:#42d982;--red:#e8515e;--blue:#4da3ff;
  font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);
}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 5%,#26343a 0,transparent 28%),linear-gradient(135deg,#0b0f12,#070a0c);min-height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}
button{cursor:pointer}.shell{height:100vh;display:grid;grid-template-columns:320px 1fr 360px;gap:0}.sidebar{background:#0e1418;border-right:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:14px}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:54px;height:54px;border-radius:16px;background:#10171b;border:2px solid var(--accent);display:grid;place-items:center;color:var(--accent);font-weight:1000;box-shadow:0 0 0 5px #0005 inset,0 12px 30px #0008}.brand h1{font-size:21px;margin:0}.brand small{display:block;color:var(--muted);margin-top:3px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px #0005}.login{width:min(440px,calc(100vw - 24px));margin:auto;padding:30px}.login h1{margin:18px 0 8px}.login p{color:var(--muted);line-height:1.45}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field span{font-size:12px;color:var(--muted);font-weight:800}.field input,.field textarea,.field select{width:100%;background:#0a0f12;border:1px solid #35464e;color:var(--text);border-radius:13px;padding:13px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f0a51e22}.btn{border:1px solid #33444c;border-radius:13px;background:#1b262c;color:#f1f7fa;padding:12px 14px;font-weight:900;box-shadow:inset 0 1px #ffffff14,0 4px 0 #0a0e10}.btn:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff14,0 2px 0 #0a0e10}.btn.primary{background:var(--accent);border-color:#d89116;color:#11100a}.btn.green{background:#166036;border-color:#2ca65f}.btn.red{background:#76252e;border-color:#aa3b48}.btn.blue{background:#174f86;border-color:#337dc0}.btn.full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.notice{padding:12px 14px;border-radius:14px;background:#231908;border:1px solid #5e4413;color:#ffd98a;font-size:13px;line-height:1.45}.error{padding:12px 14px;border-radius:14px;background:#2a1014;border:1px solid #74313a;color:#ffc3c9;font-size:13px}.room-list{display:grid;gap:10px;overflow:auto;padding-right:4px}.room-item{padding:14px;border-radius:16px;border:1px solid #2c3a42;background:#121a1f;text-align:left;color:var(--text);display:grid;gap:4px}.room-item:hover,.room-item.active{border-color:var(--accent);background:#1a252b}.room-item b{font-size:15px}.room-item small{color:var(--muted)}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#10171b}.topbar h2{margin:0;font-size:22px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.status-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#121b20;border:1px solid #31424a;color:#cfd9de;padding:8px 11px;font-size:12px;font-weight:900}.led{width:10px;height:10px;border-radius:50%;background:#52636c;box-shadow:0 0 0 3px #0005 inset}.led.on{background:var(--green);box-shadow:0 0 12px #42d982}.led.warn{background:var(--accent);box-shadow:0 0 12px #f0a51e}.stage{flex:1;display:grid;grid-template-rows:1fr auto;min-height:0}.video-grid{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-rows:minmax(190px,1fr);gap:14px;overflow:auto;align-content:start}.tile{background:#06090b;border:1px solid #283740;border-radius:18px;position:relative;overflow:hidden;min-height:210px;display:grid;place-items:center}.tile video{width:100%;height:100%;object-fit:contain;background:#000}.tile.audio{background:linear-gradient(145deg,#10181d,#080c0f)}.tile .empty-icon{font-size:54px;color:#445762}.tile footer{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.name-tag{background:#000b;border:1px solid #ffffff22;backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.expand{background:#000b;border:1px solid #ffffff33;color:#fff;border-radius:10px;padding:7px 9px}.controls{border-top:1px solid var(--line);background:#0d1418;padding:15px 18px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;align-items:end}.control-box{background:#111a1f;border:1px solid #2e3d45;border-radius:17px;padding:14px}.control-box h3{font-size:12px;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}.control-actions{display:flex;gap:10px;flex-wrap:wrap}.ptt-pad{height:74px;min-width:150px;border-radius:18px;background:#243139;border:1px solid #4a5b64;color:#f6fbfd;font-size:18px;font-weight:1000;box-shadow:inset 0 2px #ffffff12,0 7px 0 #080d10}.ptt-pad.down{background:#f0a51e;color:#100e08;border-color:#ffc353;box-shadow:0 0 25px #f0a51e66,inset 0 2px #ffffff45,0 3px 0 #6c4300}.meter{height:13px;border-radius:999px;background:#0b1013;border:1px solid #2c3a42;overflow:hidden}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--accent),var(--red));transition:.08s linear}.rightbar{background:#0e1418;border-left:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;min-width:0}.rightbar header{padding:18px;border-bottom:1px solid var(--line)}.rightbar h2{font-size:18px;margin:0}.participants{padding:14px;display:grid;align-content:start;gap:9px;overflow:auto}.participant{display:flex;align-items:center;gap:10px;padding:10px;background:#121a1f;border:1px solid #283740;border-radius:14px}.avatar{width:36px;height:36px;border-radius:12px;background:#25313a;color:var(--accent);display:grid;place-items:center;font-weight:1000}.participant b{display:block;font-size:13px}.participant small{display:block;color:var(--muted);font-size:11px}.chat{border-top:1px solid var(--line);display:grid;grid-template-rows:210px auto}.messages{overflow:auto;padding:12px;display:grid;align-content:start;gap:8px}.msg{font-size:13px;line-height:1.35}.msg b{color:#ffd27a}.chat-form{display:flex;gap:8px;padding:12px}.chat-form input{flex:1;background:#0a0f12;border:1px solid #35464e;color:white;border-radius:12px;padding:11px}.hidden{display:none!important}.modal{position:fixed;inset:0;background:#000c;z-index:100;display:grid;place-items:center;padding:18px}.modal-card{width:min(1100px,calc(100vw - 28px));height:min(720px,calc(100vh - 28px));background:#050709;border:1px solid #485962;border-radius:18px;overflow:hidden;position:relative}.modal-card video{width:100%;height:100%;object-fit:contain;background:#000}.modal-card button{position:absolute;right:14px;top:14px}.mobile-tabs{display:none}@media(max-width:1100px){body{overflow:auto}.shell{height:auto;min-height:100vh;grid-template-columns:1fr}.sidebar,.rightbar{display:none}.mobile-tabs{display:flex;gap:8px;padding:10px;background:#0e1418;border-bottom:1px solid var(--line)}.controls{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.video-grid{grid-template-columns:1fr}.login{margin:20px auto}.sidebar.open,.rightbar.open{display:grid;position:fixed;inset:0;z-index:50}.rightbar.open{grid-template-rows:auto 1fr auto}}

/* v0.1.1 - melhorias de reunião, tela, áudio e painel de configuração */
.topbar{min-height:92px;height:auto;gap:18px}.room-title-wrap{min-width:0}.status-row .btn{white-space:nowrap}.stage{grid-template-rows:minmax(0,1fr) auto}.video-grid{grid-auto-rows:minmax(210px,auto);padding-bottom:10px}.meet-bottom{border-top:1px solid var(--line);background:linear-gradient(180deg,#0f171b,#0a1013);padding:14px 18px;display:grid;gap:12px}.quick-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quick-controls .btn{min-width:138px}.settings-panel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:stretch}.settings-panel.hidden{display:none!important}.settings-panel .control-box{min-height:100%}.check{display:flex;align-items:center;gap:8px;color:#cbd7dd;font-size:13px;margin:8px 0}.check input{accent-color:var(--accent)}.remote-audio{display:none!important}.participant{position:relative;justify-content:space-between}.participant.online{border-color:rgba(66,217,130,.34);background:#121d18}.participant.offline{opacity:.62}.participant-info{min-width:0;flex:1}.participant-info b{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot{width:9px;height:9px;border-radius:50%;background:#5d6c73;display:inline-block;box-shadow:0 0 0 3px rgba(255,255,255,.04)}.dot.on{background:var(--green);box-shadow:0 0 12px rgba(66,217,130,.75),0 0 0 3px rgba(66,217,130,.10)}.mute-icons{display:flex;align-items:center;gap:6px;color:#ffd98a;font-size:13px;white-space:nowrap}.participant.offline .mute-icons{opacity:.55}.btn.red,.btn.red:disabled{background:#76252e;border-color:#aa3b48;color:#fff}.btn.green,.btn.green:disabled{background:#166036;border-color:#2ca65f;color:#eafff2}.btn.blue,.btn.blue:disabled{background:#174f86;border-color:#337dc0;color:#eef7ff}.btn:disabled{opacity:.45}.ptt-pad{width:100%}.ptt-pad.down{background:#f0a51e!important;color:#100e08!important}.field input[type=range]{accent-color:var(--accent)}#screenAudioControl{border:1px solid rgba(240,165,30,.25);background:rgba(240,165,30,.08);border-radius:14px;padding:10px}.tile footer{z-index:3}.tile video{max-height:100%}.expand:hover{border-color:var(--accent);color:#ffd98a}.led.on + span,.led.warn + span{font-weight:900}.modal-card audio{display:none}.messages{min-height:0}.chat{min-height:0}.rightbar{min-height:0}@media(max-width:1280px){.shell{grid-template-columns:290px 1fr 320px}.settings-panel{grid-template-columns:1fr 1fr}.quick-controls .btn{min-width:120px}}@media(max-width:1100px){.settings-panel{grid-template-columns:1fr}.quick-controls{align-items:stretch}.quick-controls .btn{width:100%;min-width:0}.sidebar.open,.rightbar.open{display:grid;position:fixed;inset:0;z-index:50}.sidebar.open{grid-template-rows:auto auto auto auto 1fr auto}.rightbar.open{grid-template-rows:auto 1fr auto}.video-grid{grid-auto-rows:minmax(180px,auto)}}
