:root{font-family:"Segoe UI",Arial,sans-serif;color:#edf5ff;background:#09111e;color-scheme:dark}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{display:grid;grid-template-rows:64px 1fr 70px}
header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#101d30;border-bottom:1px solid #243753}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#1769d2}
.brand div{display:flex;flex-direction:column}.brand strong{font-size:15px}.brand small{color:#9db1cc;margin-top:3px;max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting-state{display:flex;align-items:center;gap:9px;color:#aebdd1;font-size:13px}.meeting-state b{padding:7px 11px;border-radius:99px;background:#1b2b42;color:white}
#statusDot{width:9px;height:9px;border-radius:50%;background:#efb02e;box-shadow:0 0 12px #efb02e}#statusDot.online{background:#35cb83;box-shadow:0 0 12px #35cb83}
#meeting{min-height:0;background:#050910}#meeting iframe{display:block;border:0;width:100%;height:100%}
nav{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;background:#101d30;border-top:1px solid #243753;overflow-x:auto}
button{min-width:90px;border:1px solid #314866;border-radius:10px;padding:10px 12px;background:#1c2d44;color:#e8f2ff;font-weight:600;cursor:pointer;white-space:nowrap}button:hover{background:#294464}button.active{background:#166a50;border-color:#35cb83}.danger{background:#a93442;border-color:#cf5261}
#error{position:fixed;top:78px;left:50%;transform:translateX(-50%);max-width:720px;background:#8f2934;color:white;border-radius:10px;padding:13px 18px;z-index:5;box-shadow:0 12px 30px #0008}
@media(max-width:760px){body{grid-template-rows:54px 1fr 62px}header{padding:0 10px}.meeting-state span:not(#statusDot){display:none}.brand-mark{width:34px;height:34px}nav{justify-content:flex-start}button{min-width:76px;padding:9px 10px;font-size:12px}}
