.home-container{min-height:100vh;background:#fff;padding:40px 20px}.home-header{color:#333;margin-bottom:40px}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;flex-wrap:wrap;gap:20px}.header-title h1{font-size:48px;margin-bottom:12px;color:#2c3e50}.header-title p{font-size:18px;color:#7f8c8d}.header-actions{display:flex;gap:12px}.btn-users,.btn-recordings{padding:12px 24px;border:2px solid #2196f3;border-radius:8px;background:#fff;color:#2196f3;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-users:hover,.btn-recordings:hover{background:#2196f3;color:#fff;transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 24px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e0e0e0}.modal-header h2{font-size:24px;color:#2c3e50;margin:0}.btn-close{background:none;border:none;font-size:24px;color:#7f8c8d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.btn-close:hover{background:#e0e0e0;color:#2c3e50}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#7f8c8d}.no-data{text-align:center;color:#7f8c8d;padding:40px;font-size:16px}.users-list{display:flex;flex-direction:column;gap:16px}.user-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:16px;transition:border-color .2s}.user-card:hover{border-color:#2196f3}.user-info{margin-bottom:12px}.user-info h3{font-size:18px;color:#2c3e50;margin-bottom:4px}.user-email{color:#7f8c8d;font-size:14px;margin-bottom:8px}.user-role{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.role-student{background:#e3f2fd;color:#1976d2}.role-instructor{background:#f3e5f5;color:#7b1fa2}.user-meta{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid #e0e0e0}.user-courses,.user-joined{font-size:13px;color:#7f8c8d}.home-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#fff;color:#333}.loader{width:50px;height:50px;border:5px solid #e0e0e0;border-top-color:#2196f3;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;max-width:1400px;margin:0 auto}.course-card{background:#fff;border-radius:12px;padding:24px;border:2px solid #e0e0e0;transition:transform .3s,box-shadow .3s,border-color .3s;box-shadow:0 2px 8px #00000014}.course-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f;border-color:#2196f3}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.course-header h3{flex:1;font-size:20px;color:#2c3e50;margin-right:12px}.course-status{padding:4px 12px;border-radius:12px;font-size:12px;color:#fff;font-weight:600;text-transform:capitalize;white-space:nowrap}.course-description{color:#7f8c8d;font-size:14px;line-height:1.6;margin-bottom:16px}.course-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:16px;border-top:1px solid #e0e0e0;margin-bottom:16px}.course-instructor{font-size:14px;color:#555;font-weight:500}.course-join-section{display:flex;flex-direction:column;gap:12px}.btn-host-join{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;background:#fff;color:#4361ee;border:1px solid #dadce0;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #00000014}.btn-host-join:hover{background:#f8f9fa;border-color:#4361ee;box-shadow:0 4px 8px #4361ee33;transform:translateY(-2px)}.btn-host-join:active{transform:translateY(0)}.btn-host-join:focus{outline:2px solid #4361EE;outline-offset:2px}.btn-user-join{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;background:#fff;color:#2196f3;border:1px solid #dadce0;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #00000014}.btn-user-join:hover{background:#f8f9fa;border-color:#2196f3;box-shadow:0 4px 8px #2196f333;transform:translateY(-2px)}.btn-user-join:active{transform:translateY(0)}.btn-user-join:focus{outline:2px solid #2196f3;outline-offset:2px}.btn-userid-join{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;background:#fff;color:#4caf50;border:1px solid #dadce0;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #00000014}.btn-userid-join:hover{background:#f8f9fa;border-color:#4caf50;box-shadow:0 4px 8px #4caf5033;transform:translateY(-2px)}.btn-userid-join:active{transform:translateY(0)}.btn-userid-join:focus{outline:2px solid #4caf50;outline-offset:2px}@media (max-width: 768px){.header-content{flex-direction:column;align-items:stretch}.header-title{text-align:center}.header-title h1{font-size:32px}.header-actions{justify-content:center}.courses-grid{grid-template-columns:1fr}.modal-content{max-height:90vh}}.host-home-container{min-height:100vh;background:#fff;padding:20px}.host-home-header{background:#fff;border-radius:0;padding:30px 20px;margin-bottom:30px;border-bottom:1px solid #e0e0e0}.header-content{max-width:1200px;margin:0 auto}.header-title{text-align:left}.header-title h1{margin:0 0 10px;font-size:2rem;color:#2c3e50}.header-title p{margin:0;color:#7f8c8d;font-size:1rem}.courses-list{display:flex;flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:0 10px}.course-list-item{display:flex;background:#fff;border-radius:12px;padding:20px;border:1px solid #e0e0e0;transition:box-shadow .2s;gap:20px;align-items:flex-start}.course-list-item:hover{box-shadow:0 4px 12px #0000001a}.course-thumbnail{flex-shrink:0;width:180px;height:120px;border-radius:8px;overflow:hidden;background:#f5f5f5}.course-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e8e8e8;color:#757575}.course-details{flex:1;min-width:0}.course-title{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#2c3e50}.course-host{margin:0 0 8px;font-size:.9rem;color:#7f8c8d}.course-description{margin:0 0 12px;font-size:.9rem;color:#555;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-meta{display:flex;flex-direction:row;align-items:center;gap:16px}.meta-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.meta-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#555}.meta-icon-svg{width:16px;height:16px;stroke:#757575;flex-shrink:0}.course-actions{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.course-status{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:capitalize}.course-status.status-scheduled{background:#e3f2fd;color:#1976d2}.course-status.status-active{background:#e8f5e9;color:#388e3c}.course-status.status-completed{background:#f5f5f5;color:#757575}.btn-join-host{display:flex;align-items:center;justify-content:center;padding:12px 24px;background:#fff;color:#4361ee;border:1px solid #dadce0;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 4px #00000014}.btn-join-host:hover{background:#f8f9fa;border-color:#4361ee;box-shadow:0 4px 8px #4361ee33;transform:translateY(-2px)}.btn-join-host:active{transform:translateY(0)}.btn-join-host:focus{outline:2px solid #4361EE;outline-offset:2px}.no-courses{text-align:center;padding:60px 20px;color:#7f8c8d}.no-courses p:first-child{font-size:1.5rem;margin-bottom:8px}.no-courses .hint{font-size:.9rem;color:#999}.host-home-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.host-home-loading p{color:#2c3e50;font-size:1.2rem;margin-top:20px}.loader{border:4px solid #e0e0e0;border-top:4px solid #2196f3;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}.add-course-container{display:flex;justify-content:center;padding:24px 10px 40px;max-width:1200px;margin:0 auto}.btn-add-course{display:flex;align-items:center;gap:8px;padding:14px 28px;background:#fff;color:#4285f4;border:1px solid #dadce0;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #00000014}.btn-add-course:hover{background:#f8f9fa;border-color:#4285f4;box-shadow:0 2px 6px #4285f433}.btn-add-course:active{transform:translateY(1px)}.btn-add-course:focus{outline:2px solid #4285F4;outline-offset:2px}.add-course-icon{width:20px;height:20px;stroke:#4285f4}@media (max-width: 768px){.host-home-container{padding:15px}.host-home-header{padding:20px 15px;margin-bottom:20px}.header-title h1{font-size:1.5rem}.header-title p{font-size:.9rem}.course-list-item{flex-direction:column;padding:16px}.course-thumbnail{width:100%;height:180px}.course-details{width:100%}.course-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between;margin-top:12px}.course-status{order:1}.btn-join-host{order:2;padding:14px 24px;justify-content:center}.meta-row{gap:12px}.meta-item{font-size:.8rem}}@media (max-width: 480px){.header-title h1{font-size:1.3rem}.course-title{font-size:1.1rem}.meta-row{flex-direction:column;gap:8px}.btn-add-course{width:100%;justify-content:center}}.chat-container{display:flex;flex-direction:column;height:100%;background:#202124b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.chat-container.chat-mobile{position:fixed;bottom:0;left:0;right:0;height:50vh;max-height:50vh;z-index:1001;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 20px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-header{padding:20px 16px;background:#202124e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e8eaed;border-bottom:1px solid #3c4043;display:flex;justify-content:space-between;align-items:center}.chat-close-btn{background:transparent;border:none;color:#9aa0a6;font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.chat-close-btn:hover{color:#e8eaed}.chat-header h3{margin:0;font-size:16px;font-weight:500;letter-spacing:.2px}.chat-messages{flex:1;overflow-y:auto;padding:16px;background:transparent}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#5f6368;text-align:center;font-size:14px}.chat-message{margin-bottom:12px;padding:10px 12px;background:#292a2dcc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:8px;border:1px solid rgba(60,64,67,.6)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.message-user{font-weight:500;font-size:13px;color:#8ab4f8}.message-time{font-size:11px;color:#9aa0a6}.message-text{font-size:14px;color:#e8eaed;line-height:1.5;word-wrap:break-word}.chat-input-form{display:flex;padding:16px;background:#202124e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #3c4043;gap:8px;position:relative;z-index:10}.chat-input{flex:1;padding:10px 16px;background:#292a2d;border:1px solid #3c4043;border-radius:24px;font-size:14px;color:#e8eaed;outline:none;transition:border-color .2s;min-height:44px;touch-action:manipulation}.chat-input:focus{border-color:#1a73e8}.chat-input::-moz-placeholder{color:#5f6368}.chat-input::placeholder{color:#5f6368}.chat-send-btn{padding:10px 20px;background:#1a73e8;color:#fff;border:none;border-radius:24px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;min-height:44px;min-width:80px;touch-action:manipulation}.chat-send-btn:hover:not(:disabled){background:#1765cc}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#292a2d}.chat-messages::-webkit-scrollbar-thumb{background:#5f6368;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#80868b}@media (orientation: landscape) and (max-width: 915px){.chat-container.chat-mobile{height:60vh;max-height:60vh;z-index:2002}.chat-input-form{padding:12px 16px}.chat-input{font-size:16px}.chat-send-btn{padding:10px 24px}}.participants-container{display:flex;flex-direction:column;height:100%;background:#202124;overflow:hidden}.participants-container.participants-mobile{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.participants-header{padding:20px 16px;background:#202124;color:#e8eaed;border-bottom:1px solid #3c4043;display:flex;flex-direction:column;gap:12px}.participants-back-btn{background:transparent;border:none;color:#8ab4f8;font-size:16px;font-weight:500;cursor:pointer;padding:8px 0;text-align:left;transition:color .2s}.participants-back-btn:hover{color:#aac9ff}.participants-header h3{margin:0;font-size:16px;font-weight:500;letter-spacing:.2px}.participants-list{flex:1;overflow-y:auto;padding:12px}.participants-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#5f6368;text-align:center;font-size:14px}.participant-item{display:flex;align-items:center;padding:10px 12px;margin-bottom:6px;background:#292a2d;border-radius:8px;transition:background .2s;border:1px solid transparent}.participant-item:hover{background:#3c4043;border-color:#5f6368}.participant-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:14px;flex-shrink:0;margin-right:12px}.participant-info{flex:1;min-width:0}.participant-name{font-weight:500;font-size:14px;color:#e8eaed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-role{font-size:12px;color:#9aa0a6;text-transform:capitalize;margin-top:2px}.host-badge{font-size:18px;margin-left:8px}.participants-list::-webkit-scrollbar{width:6px}.participants-list::-webkit-scrollbar-track{background:#292a2d}.participants-list::-webkit-scrollbar-thumb{background:#5f6368;border-radius:3px}.participants-list::-webkit-scrollbar-thumb:hover{background:#80868b}.timer{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#00000080;border-radius:.5rem;font-family:Courier New,monospace;font-size:1rem;font-weight:600;color:#fff}.timer-label{font-size:.875rem;opacity:.8}.timer-display{font-size:1.25rem;letter-spacing:.05em}.timer-warning{background:#ffa500b3;animation:pulse-warning 2s ease-in-out infinite}.timer-critical{background:#dc3545cc;animation:pulse-critical 1s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.6}}.host-dashboard{--navbar-height: 73px;--controls-height: 85px;--navbar-height-mobile: 55px;--controls-height-mobile: 85px;height:100vh;background:#202124;position:relative;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.top-navbar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#202124;color:#fff;border-bottom:1px solid #3c4043;box-shadow:none;z-index:1000;transition:opacity .3s ease,transform .3s ease;box-sizing:border-box}.top-navbar.visible{opacity:1;transform:translateY(0);pointer-events:auto}.top-navbar.hidden{opacity:0;transform:translateY(-100%);pointer-events:none}.nav-toggle-btn{padding:8px 16px;background:#3c4043;color:#e8eaed;border:none;border-radius:24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.nav-toggle-btn:hover{background:#5f6368}.course-title{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.course-title h2{margin:0;font-size:18px;font-weight:500;color:#e8eaed;letter-spacing:.2px}.status-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.status-badge.active{background:#ea4335;color:#fff;animation:pulse 2s infinite}.status-badge.inactive{background:#3c4043;color:#9aa0a6}.session-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#202124f2;display:flex;align-items:center;justify-content:center;z-index:1000}.session-card{background:#292a2d;padding:48px 64px;border-radius:12px;text-align:center;max-width:440px;border:1px solid #3c4043;box-shadow:0 8px 24px #0006}.session-card h2{font-size:28px;margin-bottom:12px;color:#e8eaed;font-weight:500}.session-card p{color:#9aa0a6;margin-bottom:32px;font-size:15px;line-height:1.5}.btn-start-session{padding:14px 40px;background:#1a73e8;color:#fff;border:none;border-radius:24px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000004d}.btn-start-session:hover{background:#1765cc;box-shadow:0 2px 8px #1a73e866}.dashboard-layout{display:grid;grid-template-columns:280px 1fr 320px;height:calc(100vh - var(--navbar-height) - var(--controls-height));gap:0;flex:1;min-height:0;margin-top:var(--navbar-height);margin-bottom:var(--controls-height);box-sizing:border-box}.dashboard-layout:not(:has(.sidebar-left)){grid-template-columns:1fr 320px}.dashboard-layout:not(:has(.sidebar-right)){grid-template-columns:280px 1fr}.dashboard-layout:not(:has(.sidebar-left)):not(:has(.sidebar-right)){grid-template-columns:1fr}.sidebar{background:#202124b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:100%;overflow:hidden}.sidebar-left{border-right:1px solid #3c4043}.sidebar-right{border-left:1px solid #3c4043}.main-content{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.local-video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#000;transform:scaleX(-1);border-radius:16px;box-shadow:0 8px 32px #00000080}.local-video.portrait{-o-object-fit:contain;object-fit:contain;max-width:60%;margin:0 auto}.local-video.landscape{-o-object-fit:contain;object-fit:contain}.controls-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:12px;padding:16px 32px;background:#202124;border-top:1px solid #3c4043;transition:opacity .3s ease,transform .3s ease;z-index:1000;flex-shrink:0;box-sizing:border-box}.controls-bar.visible{opacity:1;transform:translateY(0);pointer-events:auto}.controls-bar.hidden{opacity:0;transform:translateY(100%);pointer-events:none}.control-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 20px;background:#3c4043;border:2px solid transparent;border-radius:12px;color:#e8eaed;cursor:pointer;transition:all .3s ease;min-width:90px;position:relative;box-shadow:0 2px 4px #0003}.control-btn svg{width:24px;height:24px}.control-btn span{font-size:11px;font-weight:500;white-space:nowrap;color:#9aa0a6;transition:color .3s ease}.control-btn:hover{background:#5f6368;border-color:#80868b;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.control-btn:hover span{color:#e8eaed}.control-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0003}.control-btn.active{background:linear-gradient(135deg,#1a73e8,#1765cc);color:#fff;border-color:#1557b0;box-shadow:0 4px 12px #1a73e866}.control-btn.active span{color:#fff}.control-btn.active:hover{background:linear-gradient(135deg,#1765cc,#1557b0);box-shadow:0 6px 16px #1a73e880}.btn-leave{background:linear-gradient(135deg,#ea8600,#d67c00);color:#fff;border-color:#bf6a00;box-shadow:0 4px 12px #ea86004d}.btn-leave span{color:#fff}.btn-leave:hover{background:linear-gradient(135deg,#d67c00,#bf6a00);box-shadow:0 6px 16px #ea860066}.btn-rejoin{background:linear-gradient(135deg,#34a853,#2d8e47);color:#fff;border-color:#277a3c;box-shadow:0 4px 12px #34a8534d}.btn-rejoin span{color:#fff}.btn-rejoin:hover{background:linear-gradient(135deg,#2d8e47,#277a3c);box-shadow:0 6px 16px #34a85366}.btn-end{background:linear-gradient(135deg,#ea4335,#d33b2c);color:#fff;border-color:#bb3326;box-shadow:0 4px 12px #ea43354d}.btn-end span{color:#fff}.btn-end:hover{background:linear-gradient(135deg,#d33b2c,#bb3326);box-shadow:0 6px 16px #ea433566}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .3s ease-out}@media (max-width: 1200px){.dashboard-layout{grid-template-columns:240px 1fr 280px}.pip-video{width:180px;height:135px}.pip-video.portrait{width:135px;height:180px}.course-title h2{font-size:18px}.nav-toggle-btn{padding:6px 12px;font-size:14px}.control-btn{min-width:80px;padding:10px 16px}.control-btn svg{width:20px;height:20px}}@media (max-width: 968px){.top-navbar{padding:10px 12px}.course-title h2{font-size:16px}.nav-toggle-btn{padding:6px 10px;font-size:12px}.dashboard-layout{grid-template-columns:1fr;grid-template-rows:1fr;height:calc(100vh - var(--navbar-height-mobile) - var(--controls-height-mobile));margin-top:var(--navbar-height-mobile);margin-bottom:var(--controls-height-mobile)}.sidebar{height:auto;max-height:200px}.sidebar-left{border-right:none;border-bottom:2px solid #e0e0e0}.sidebar-right{border-left:none;border-top:2px solid #e0e0e0;max-height:300px}.main-content{height:100%;display:flex;flex-direction:column;position:relative}.video-container{flex:1;display:flex;align-items:center;justify-content:center;background:#000;padding:0}.controls-bar{position:fixed;bottom:0;left:0;right:0;flex-wrap:wrap;gap:8px;padding:12px;background:#202124;border-top:1px solid #3c4043;z-index:1000}.controls-bar.visible{opacity:1;transform:translateY(0)}.controls-bar.hidden{opacity:0;transform:translateY(100%)}.control-btn{min-width:70px;padding:10px 12px}.control-btn svg{width:20px;height:20px}.control-btn span{font-size:10px}.pip-video{width:120px;height:90px;bottom:110px;right:10px}.pip-video.portrait{width:90px;height:120px;bottom:110px}}@media (max-width: 480px){.top-navbar{padding:8px}.course-title h2{font-size:14px}.status-badge{font-size:10px;padding:2px 8px}.nav-toggle-btn{padding:4px 8px;font-size:11px}.controls-bar{gap:6px;padding:10px 8px}.control-btn{min-width:65px;padding:8px 10px}.control-btn svg{width:18px;height:18px}.control-btn span{font-size:9px}.pip-video{width:90px;height:68px;bottom:100px;right:8px}.pip-video.portrait{width:68px;height:90px;bottom:100px}}@media (orientation: landscape) and (max-width: 915px){.host-dashboard{height:100vh;overflow:hidden}.top-navbar{position:fixed;top:0;left:0;right:0;background:#202124d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;padding:8px 12px;border-bottom:1px solid rgba(60,64,67,.5)}.top-navbar.visible{opacity:1;transform:translateY(0)}.top-navbar.hidden{opacity:0;transform:translateY(-100%)}.course-title h2{font-size:14px}.status-badge{font-size:9px;padding:3px 8px}.nav-toggle-btn{padding:6px 10px;font-size:12px;min-height:44px}.dashboard-layout{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;grid-template-columns:1fr;grid-template-rows:1fr;gap:0}.sidebar{display:none}.main-content{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:1}.video-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;padding:0;margin:0;background:#000}.local-video,.screen-video{position:absolute;top:0;left:0;width:100vw;height:100vh;-o-object-fit:cover;object-fit:cover;border-radius:0;box-shadow:none}.local-video.portrait,.local-video.landscape{max-width:100%;margin:0;-o-object-fit:cover;object-fit:cover}.pip-video{position:fixed;bottom:80px;right:12px;width:120px;height:90px;z-index:150;border-radius:8px}.pip-video.portrait{width:90px;height:120px}.video-placeholder{position:absolute;top:0;left:0;width:100vw;height:100vh;border-radius:0;background:#000}.controls-bar{position:fixed;bottom:0;left:0;right:0;width:100vw;background:#202124d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(60,64,67,.5);z-index:90;padding:10px 8px;gap:6px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}.controls-bar.visible{opacity:1;transform:translateY(0)}.controls-bar.hidden{opacity:0;transform:translateY(100%)}.control-btn{min-width:70px;min-height:44px;padding:8px 10px;flex-shrink:0}.control-btn svg{width:20px;height:20px}.control-btn span{font-size:10px}.session-overlay{position:fixed;z-index:2000}.mobile-overlay{z-index:1999}}.user-view{--navbar-height: 73px;--controls-height: 85px;--navbar-height-mobile: 55px;--controls-height-mobile: 85px;height:100vh;background:#202124;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.user-top-bar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#202124;color:#fff;border-bottom:1px solid #3c4043;box-shadow:none;z-index:1000;transition:opacity .3s ease,transform .3s ease;box-sizing:border-box}.user-top-bar.visible{opacity:1;transform:translateY(0);pointer-events:auto}.user-top-bar.hidden{opacity:0;transform:translateY(-100%);pointer-events:none}.course-info h3{margin:0;font-size:18px;font-weight:500;color:#e8eaed;letter-spacing:.2px}.course-info{display:flex;flex-direction:column;gap:8px}.session-status-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-badge{padding:4px 12px;border-radius:16px;font-size:11px;font-weight:500;display:inline-flex;align-items:center;gap:6px;letter-spacing:.3px}.status-badge.live{background:#ea4335;color:#fff;animation:pulse 2s infinite}.status-badge.waiting{background:#3c4043;color:#9aa0a6}.chat-toggle-btn{padding:8px 16px;background:#3c4043;color:#e8eaed;border:none;border-radius:24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.chat-toggle-btn:hover{background:#5f6368}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#202124;color:#e8eaed}.loader{width:50px;height:50px;border:4px solid #3c4043;border-top-color:#1a73e8;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.session-ended-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#202124f2;display:flex;align-items:center;justify-content:center;z-index:1000}.session-ended-card{background:#292a2d;padding:48px 64px;border-radius:12px;text-align:center;max-width:440px;border:1px solid #3c4043;box-shadow:0 8px 24px #0006}.session-ended-card h2{font-size:28px;margin-bottom:12px;color:#e8eaed;font-weight:500}.session-ended-card p{color:#9aa0a6;margin-bottom:32px;font-size:15px;line-height:1.5}.btn-home{padding:14px 40px;background:#1a73e8;color:#fff;border:none;border-radius:24px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000004d}.btn-home:hover{background:#1765cc;box-shadow:0 2px 8px #1a73e866}.user-layout{display:grid;grid-template-columns:1fr 320px;height:calc(100vh - var(--navbar-height) - var(--controls-height));flex:1;margin-top:var(--navbar-height);margin-bottom:var(--controls-height);box-sizing:border-box}.user-layout:not(:has(.sidebar-chat)){grid-template-columns:1fr}.main-content{display:flex;flex-direction:column;height:100%;background:#202124;min-height:0;overflow:hidden}.sidebar-chat{background:#202124b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:100%;border-left:1px solid #3c4043;overflow:hidden}.video-container{flex:1;background:#202124;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px;min-height:0}.host-video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#000;border-radius:16px;box-shadow:0 8px 32px #00000080;transform:scaleX(-1)}.screen-video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#000;border-radius:16px;box-shadow:0 8px 32px #00000080}.host-video.portrait{-o-object-fit:contain;object-fit:contain;max-width:60%;margin:0 auto}.host-video.landscape{-o-object-fit:contain;object-fit:contain}.pip-video{position:absolute;bottom:120px;right:40px;width:240px;height:180px;-o-object-fit:cover;object-fit:cover;border-radius:12px;border:2px solid #3c4043;box-shadow:0 4px 16px #0009;z-index:10;transform:scaleX(-1)}.pip-video.portrait{width:180px;height:240px}.pip-video.landscape{width:240px;height:180px}.video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa0a6;text-align:center;background:#292a2d;border-radius:16px;padding:60px;box-shadow:0 8px 32px #00000080}.placeholder-icon{font-size:72px;margin-bottom:16px;opacity:.6}.video-placeholder p{font-size:16px;opacity:.8;color:#e8eaed}.user-controls{position:fixed;bottom:0;left:0;right:0;background:#202124;padding:24px 32px;border-top:1px solid #3c4043;display:flex;justify-content:center;gap:16px;transition:opacity .3s ease,transform .3s ease;z-index:1000;box-sizing:border-box}.user-controls.visible{opacity:1;transform:translateY(0);pointer-events:auto}.user-controls.hidden{opacity:0;transform:translateY(100%);pointer-events:none}.btn-leave-course{padding:14px 32px;background:#ea4335;color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;box-shadow:0 1px 3px #0000004d}.btn-leave-course:hover{background:#d33b2c;box-shadow:0 2px 8px #ea433566}.audio-unlock-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;animation:fadeIn .3s ease-out}.audio-unlock-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 48px;background:#1a73e8f2;color:#fff;border:none;border-radius:16px;cursor:pointer;transition:all .2s;box-shadow:0 8px 32px #1a73e880;animation:pulse-glow 2s infinite}.audio-unlock-btn:hover{background:#1765cc;transform:scale(1.05);box-shadow:0 12px 40px #1a73e899}.audio-unlock-icon{font-size:48px;margin-bottom:12px}.audio-unlock-text{font-size:18px;font-weight:500;letter-spacing:.3px}@keyframes pulse-glow{0%,to{box-shadow:0 8px 32px #1a73e880}50%{box-shadow:0 8px 48px #1a73e8b3}}.btn-enable-audio{padding:14px 32px;background:#1a73e8;color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;box-shadow:0 1px 3px #0000004d;animation:pulse-btn 2s infinite}.btn-enable-audio:hover{background:#1765cc;box-shadow:0 2px 8px #1a73e866}@keyframes pulse-btn{0%,to{opacity:1}50%{opacity:.8}}.audio-status-indicator{padding:12px 24px;background:#34a85333;color:#34a853;border-radius:24px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}.coming-soon-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#202124;color:#e8eaed}.coming-soon-card{background:#292a2d;padding:48px 64px;border-radius:16px;text-align:center;max-width:480px;border:1px solid #3c4043;box-shadow:0 8px 32px #0006}.coming-soon-icon{font-size:72px;margin-bottom:16px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-card h2{font-size:32px;margin-bottom:12px;color:#e8eaed;font-weight:500}.coming-soon-card .course-title{color:#8ab4f8;font-size:18px;margin-bottom:8px;font-weight:500}.coming-soon-card .instructor-name{color:#9aa0a6;font-size:14px;margin-bottom:24px}.coming-soon-card .status-message{color:#9aa0a6;margin-bottom:24px;font-size:14px;line-height:1.6}.auto-refresh-indicator{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px;padding:12px 20px;background:#1a73e81a;border-radius:24px;font-size:13px;color:#8ab4f8}.refresh-icon{animation:slowSpin 2s linear infinite}@keyframes slowSpin{to{transform:rotate(360deg)}}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;animation:fadeIn .3s ease-out}@media (max-width: 968px){.user-top-bar{padding:10px 12px}.course-info h3{font-size:16px}.chat-toggle-btn{padding:6px 12px;font-size:14px}.user-layout{grid-template-columns:1fr;grid-template-rows:1fr auto;height:calc(100vh - var(--navbar-height-mobile) - var(--controls-height-mobile));margin-top:var(--navbar-height-mobile);margin-bottom:var(--controls-height-mobile)}.sidebar-chat{height:300px;border-left:none;border-top:2px solid #e0e0e0}.main-content{height:100%}.video-container{min-height:0;flex:1}.pip-video{width:120px;height:90px;bottom:110px;right:10px}.pip-video.portrait{width:90px;height:120px;bottom:110px}.coming-soon-card{padding:32px 24px;max-width:90%;margin:0 16px}.coming-soon-icon{font-size:56px}.coming-soon-card h2{font-size:24px}.coming-soon-card .course-title{font-size:16px}.pip-video.landscape{width:120px;height:90px}.audio-unlock-btn{padding:20px 36px}.audio-unlock-icon{font-size:40px;margin-bottom:8px}.audio-unlock-text{font-size:16px}.btn-enable-audio{padding:12px 24px;font-size:14px}.audio-status-indicator{padding:10px 16px;font-size:12px}}@media (max-width: 480px){.user-top-bar{padding:8px}.course-info h3{font-size:14px}.chat-toggle-btn{padding:4px 8px;font-size:12px}.video-container{min-height:0}.pip-video{width:90px;height:68px;bottom:100px;right:8px}.pip-video.portrait{width:68px;height:90px;bottom:100px}.pip-video.landscape{width:90px;height:68px}.btn-leave-course{padding:10px 24px;font-size:14px}.audio-unlock-btn{padding:16px 24px}.audio-unlock-icon{font-size:32px;margin-bottom:6px}.audio-unlock-text{font-size:14px}.btn-enable-audio{padding:10px 20px;font-size:13px}.audio-status-indicator{padding:8px 12px;font-size:11px}}@media (orientation: landscape) and (max-width: 915px){.user-view{height:100vh;overflow:hidden}.user-top-bar{position:fixed;top:0;left:0;right:0;background:#202124d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;padding:8px 12px;border-bottom:1px solid rgba(60,64,67,.5)}.user-top-bar.visible{opacity:1;transform:translateY(0)}.user-top-bar.hidden{opacity:0;transform:translateY(-100%)}.course-info h3{font-size:14px}.status-badge{font-size:9px;padding:3px 8px}.chat-toggle-btn{padding:6px 10px;font-size:12px;min-height:44px}.user-layout{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;grid-template-columns:1fr;grid-template-rows:1fr;gap:0}.sidebar-chat{display:none}.main-content{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#000;z-index:1}.video-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;padding:0;margin:0;background:#000;min-height:100vh}.host-video{position:absolute;top:0;left:0;width:100vw;height:100vh;-o-object-fit:cover;object-fit:cover;border-radius:0;box-shadow:none;transform:scaleX(-1)}.screen-video{position:absolute;top:0;left:0;width:100vw;height:100vh;-o-object-fit:cover;object-fit:cover;border-radius:0;box-shadow:none}.host-video.portrait,.host-video.landscape{max-width:100%;margin:0;-o-object-fit:cover;object-fit:cover}.pip-video{position:fixed;bottom:80px;right:12px;width:120px;height:90px;z-index:150;border-radius:8px}.pip-video.portrait{width:90px;height:120px}.video-placeholder{position:absolute;top:0;left:0;width:100vw;height:100vh;border-radius:0;background:#000}.user-controls{position:fixed;bottom:0;left:0;right:0;width:100vw;background:#202124d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(60,64,67,.5);z-index:90;padding:12px 16px}.user-controls.visible{opacity:1;transform:translateY(0)}.user-controls.hidden{opacity:0;transform:translateY(100%)}.btn-leave-course{min-height:44px;padding:12px 28px;font-size:14px}.session-ended-overlay{position:fixed;z-index:3000}.mobile-overlay{z-index:2001}}.usersdash-page-container{min-height:100vh;background:#fff;padding:40px 20px}.usersdash-page-header{color:#333;margin-bottom:40px}.usersdash-page-header .header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;flex-wrap:wrap;gap:20px}.usersdash-page-header .header-title{text-align:left}.usersdash-page-header .header-title h1{font-size:48px;margin-bottom:12px;color:#2c3e50}.usersdash-page-header .header-title p{font-size:18px;color:#7f8c8d}.usersdash-page-header .header-actions{display:flex;gap:12px}.usersdash-page-header .btn-home{padding:12px 24px;border:2px solid #2196f3;border-radius:8px;background:#fff;color:#2196f3;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.usersdash-page-header .btn-home:hover{background:#2196f3;color:#fff;transform:translateY(-2px)}.usersdash-page-content{max-width:800px;margin:0 auto}.usersdash-page-container .join-section{display:flex;justify-content:center;align-items:center;padding:40px 20px}.usersdash-page-container .join-card{background:#fff;border-radius:16px;padding:48px;border:2px solid #e0e0e0;text-align:center;max-width:500px;width:100%;box-shadow:0 4px 16px #00000014;transition:transform .3s,box-shadow .3s}.usersdash-page-container .join-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f}.usersdash-page-container .join-icon{font-size:64px;margin-bottom:24px}.usersdash-page-container .join-card h2{font-size:28px;color:#2c3e50;margin-bottom:16px}.usersdash-page-container .join-card p{color:#7f8c8d;font-size:16px;line-height:1.6;margin-bottom:32px}.usersdash-page-container .btn-join-userid,.usersdash-page-container .btn-join-course{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;background:#4caf50;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #4caf504d}.usersdash-page-container .btn-join-userid:hover,.usersdash-page-container .btn-join-course:hover{background:#43a047;transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.usersdash-page-container .btn-join-userid:active,.usersdash-page-container .btn-join-course:active{transform:translateY(0)}.usersdash-page-container .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.usersdash-page-container .modal-content{background:#fff;border-radius:12px;max-width:450px;width:100%;box-shadow:0 4px 24px #0003}.usersdash-page-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #e0e0e0}.usersdash-page-container .modal-header h2{font-size:24px;color:#2c3e50;margin:0}.usersdash-page-container .btn-close{background:none;border:none;font-size:24px;color:#7f8c8d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.usersdash-page-container .btn-close:hover{background:#e0e0e0;color:#2c3e50}.usersdash-page-container .modal-body{padding:24px}.usersdash-page-container .form-group{margin-bottom:24px}.usersdash-page-container .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#2c3e50}.usersdash-page-container .form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .2s}.usersdash-page-container .form-group input:focus{outline:none;border-color:#4caf50}.usersdash-page-container .form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.usersdash-page-container .error-message{color:#e53935;margin-top:8px;font-size:14px}.usersdash-page-container .form-actions{display:flex;gap:12px;justify-content:flex-end}.usersdash-page-container .btn-cancel{padding:12px 24px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#7f8c8d;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.usersdash-page-container .btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#bdbdbd}.usersdash-page-container .btn-cancel:disabled{opacity:.6;cursor:not-allowed}.usersdash-page-container .btn-submit{padding:12px 24px;border:none;border-radius:8px;background:#4caf50;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.usersdash-page-container .btn-submit:hover:not(:disabled){background:#43a047}.usersdash-page-container .btn-submit:disabled{opacity:.6;cursor:not-allowed}.usersdash-page-container .checking-status{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0}.usersdash-page-container .loader-small{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#4caf50;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.usersdash-page-container .checking-status p{color:#7f8c8d;margin:0}.usersdash-page-container .live-course-info{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;padding:16px;background:#e8f5e9;border-radius:12px}.usersdash-page-container .live-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#c8e6c9;border-radius:20px;font-size:14px;font-weight:600;color:#2e7d32}.usersdash-page-container .live-course-info .course-title{font-size:18px;font-weight:600;color:#2c3e50;margin:0}.usersdash-page-container .no-live-course{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.usersdash-page-container .coming-soon-icon{font-size:64px}.usersdash-page-container .coming-soon-message{font-size:18px;font-weight:600;color:#ff9800;margin:0;text-align:center}.usersdash-page-container .refresh-note{font-size:14px;color:#9e9e9e;margin:0}.usersdash-page-container .btn-join-userid:disabled,.usersdash-page-container .btn-join-course:disabled{opacity:.7;cursor:not-allowed;transform:none}.usersdash-page-container .btn-join-userid:disabled:hover,.usersdash-page-container .btn-join-course:disabled:hover{transform:none;box-shadow:0 4px 12px #4caf504d}@media (max-width: 768px){.usersdash-page-header .header-content{flex-direction:column;align-items:stretch}.usersdash-page-header .header-title{text-align:center}.usersdash-page-header .header-title h1{font-size:32px}.usersdash-page-header .header-actions{justify-content:center}.usersdash-page-container .join-card{padding:32px 24px}.usersdash-page-container .join-icon{font-size:48px}.usersdash-page-container .join-card h2{font-size:24px}.usersdash-page-container .btn-join-userid,.usersdash-page-container .btn-join-course{width:100%;padding:14px 24px;font-size:16px}}.usersss-page-container{min-height:100vh;background:#fff;padding:40px 20px}.usersss-page-header{color:#333;margin-bottom:40px}.usersss-page-header .header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;flex-wrap:wrap;gap:20px}.usersss-page-header .header-title{text-align:left}.usersss-page-header .header-title h1{font-size:48px;margin-bottom:12px;color:#2c3e50}.usersss-page-header .header-title p{font-size:18px;color:#7f8c8d}.usersss-page-header .header-actions{display:flex;gap:12px}.usersss-page-header .btn-home{padding:12px 24px;border:2px solid #2196f3;border-radius:8px;background:#fff;color:#2196f3;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.usersss-page-header .btn-home:hover{background:#2196f3;color:#fff;transform:translateY(-2px)}.usersss-page-content{max-width:800px;margin:0 auto}.usersss-page-container .join-section{display:flex;justify-content:center;align-items:center;padding:40px 20px}.usersss-page-container .join-card{background:#fff;border-radius:16px;padding:48px;border:2px solid #e0e0e0;text-align:center;max-width:500px;width:100%;box-shadow:0 4px 16px #00000014;transition:transform .3s,box-shadow .3s}.usersss-page-container .join-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f}.usersss-page-container .join-icon{font-size:64px;margin-bottom:24px}.usersss-page-container .join-card h2{font-size:28px;color:#2c3e50;margin-bottom:16px}.usersss-page-container .join-card p{color:#7f8c8d;font-size:16px;line-height:1.6;margin-bottom:32px}.usersss-page-container .error-message{color:#e53935;margin-bottom:16px;padding:12px;background:#ffebee;border-radius:8px;font-size:14px}.usersss-page-container .btn-user-join{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;background:#2196f3;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #2196f34d}.usersss-page-container .btn-user-join:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 6px 16px #2196f366}.usersss-page-container .btn-user-join:active{transform:translateY(0)}.usersss-page-container .btn-user-join:disabled{opacity:.7;cursor:not-allowed;transform:none}.usersss-page-container .btn-user-join:disabled:hover{transform:none;box-shadow:0 4px 12px #2196f34d}@media (max-width: 768px){.usersss-page-header .header-content{flex-direction:column;align-items:stretch}.usersss-page-header .header-title{text-align:center}.usersss-page-header .header-title h1{font-size:32px}.usersss-page-header .header-actions{justify-content:center}.usersss-page-container .join-card{padding:32px 24px}.usersss-page-container .join-icon{font-size:48px}.usersss-page-container .join-card h2{font-size:24px}.usersss-page-container .btn-user-join{width:100%;padding:14px 24px;font-size:16px}}.userkrishna-page-container{min-height:100vh;background:#fff;padding:40px 20px}.userkrishna-page-header{color:#333;margin-bottom:40px}.userkrishna-page-header .header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;flex-wrap:wrap;gap:20px}.userkrishna-page-header .header-title{text-align:left}.userkrishna-page-header .header-title h1{font-size:48px;margin-bottom:12px;color:#2c3e50}.userkrishna-page-header .header-title p{font-size:18px;color:#7f8c8d}.userkrishna-page-header .header-actions{display:flex;gap:12px}.userkrishna-page-header .btn-home{padding:12px 24px;border:2px solid #2196f3;border-radius:8px;background:#fff;color:#2196f3;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.userkrishna-page-header .btn-home:hover{background:#2196f3;color:#fff;transform:translateY(-2px)}.userkrishna-page-content{max-width:800px;margin:0 auto}.userkrishna-page-container .join-section{display:flex;justify-content:center;align-items:center;padding:40px 20px}.userkrishna-page-container .join-card{background:#fff;border-radius:16px;padding:48px;border:2px solid #e0e0e0;text-align:center;max-width:500px;width:100%;box-shadow:0 4px 16px #00000014;transition:transform .3s,box-shadow .3s}.userkrishna-page-container .join-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f}.userkrishna-page-container .join-icon{font-size:64px;margin-bottom:24px}.userkrishna-page-container .join-card h2{font-size:28px;color:#2c3e50;margin-bottom:16px}.userkrishna-page-container .join-card p{color:#7f8c8d;font-size:16px;line-height:1.6;margin-bottom:32px}.userkrishna-page-container .btn-join-users{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;background:#9c27b0;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #9c27b04d}.userkrishna-page-container .btn-join-users:hover{background:#7b1fa2;transform:translateY(-2px);box-shadow:0 6px 16px #9c27b066}.userkrishna-page-container .btn-join-users:active{transform:translateY(0)}.userkrishna-page-container .btn-join-users:disabled{opacity:.7;cursor:not-allowed;transform:none}.userkrishna-page-container .joined-status{display:flex;flex-direction:column;align-items:center;gap:24px}.userkrishna-page-container .welcome-message{display:flex;align-items:center;gap:12px;padding:16px 24px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:12px;margin-bottom:8px}.userkrishna-page-container .welcome-icon{font-size:32px}.userkrishna-page-container .welcome-text{font-size:20px;color:#2e7d32;margin:0}.userkrishna-page-container .welcome-text strong{color:#1b5e20}.userkrishna-page-container .live-course-section{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:#e3f2fd;border-radius:12px;width:100%}.userkrishna-page-container .live-badge-container{display:flex;justify-content:center}.userkrishna-page-container .live-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f44336;border-radius:20px;font-size:14px;font-weight:700;color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.userkrishna-page-container .course-title{font-size:20px;font-weight:600;color:#1565c0;margin:0}.userkrishna-page-container .course-instructor{font-size:14px;color:#5c6bc0;margin:0}.userkrishna-page-container .btn-host-live-join{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;background:#4caf50;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #4caf504d;margin-top:8px}.userkrishna-page-container .btn-host-live-join:hover{background:#43a047;transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.userkrishna-page-container .btn-host-live-join:active{transform:translateY(0)}.userkrishna-page-container .no-live-course-section{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;background:#fff8e1;border-radius:12px;width:100%}.userkrishna-page-container .waiting-icon{font-size:64px}.userkrishna-page-container .waiting-message{font-size:18px;font-weight:600;color:#f57c00;margin:0;text-align:center}.userkrishna-page-container .refresh-note{font-size:14px;color:#9e9e9e;margin:0}@media (max-width: 768px){.userkrishna-page-header .header-content{flex-direction:column;align-items:stretch}.userkrishna-page-header .header-title{text-align:center}.userkrishna-page-header .header-title h1{font-size:32px}.userkrishna-page-header .header-actions{justify-content:center}.userkrishna-page-container .join-card{padding:32px 24px}.userkrishna-page-container .join-icon{font-size:48px}.userkrishna-page-container .join-card h2{font-size:24px}.userkrishna-page-container .btn-join-users,.userkrishna-page-container .btn-host-live-join{width:100%;padding:14px 24px;font-size:16px}}.recordings-container{min-height:100vh;background:#fff;padding:20px}.recordings-header{background:#fff;border-radius:0;padding:20px;margin-bottom:30px;border-bottom:1px solid #e0e0e0}.recordings-header .header-content{display:flex;align-items:center;gap:20px;max-width:1200px;margin:0 auto}.recordings-header .header-title{flex:1}.recordings-header .header-title h1{margin:0 0 4px;font-size:2rem;color:#2c3e50}.recordings-header .header-title p{margin:0;color:#7f8c8d;font-size:1rem}.recordings-list{display:flex;flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:0 10px}.recording-list-item{display:flex;background:#fff;border-radius:12px;padding:20px;border:1px solid #e0e0e0;transition:box-shadow .2s;gap:20px;align-items:center}.recording-list-item:hover{box-shadow:0 4px 12px #0000001a}.recording-thumbnail{flex-shrink:0;width:180px;height:120px;border-radius:8px;overflow:hidden;background:#f5f5f5;position:relative}.recording-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.recording-thumbnail .thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e8e8e8;color:#757575}.thumbnail-tv-icon{width:48px;height:48px;stroke:#757575}.recording-details{flex:1;min-width:0}.recording-title{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:#2c3e50}.recording-date{margin:0 0 12px;font-size:.9rem;color:#7f8c8d}.recording-meta{display:flex;flex-direction:column;gap:8px}.recording-meta .meta-row{display:flex;flex-wrap:wrap;gap:16px}.recording-meta .meta-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#555}.recording-meta .meta-icon{font-size:1rem}.recording-actions{flex-shrink:0;display:flex;flex-direction:column;gap:8px}.recording-actions .btn-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#fff;border:1px solid #dadce0;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 4px #00000014}.recording-actions .btn-action:hover{transform:translateY(-2px)}.recording-actions .btn-action:active{transform:translateY(0)}.recording-actions .btn-action:focus{outline:2px solid currentColor;outline-offset:2px}.recording-actions .btn-play{color:#4caf50}.recording-actions .btn-play:hover{background:#f8f9fa;border-color:#4caf50;box-shadow:0 4px 8px #4caf5033}.recording-actions .btn-download{color:#2196f3}.recording-actions .btn-download:hover{background:#f8f9fa;border-color:#2196f3;box-shadow:0 4px 8px #2196f333}.recording-actions .btn-delete{color:#f44336}.recording-actions .btn-delete:hover{background:#f8f9fa;border-color:#f44336;box-shadow:0 4px 8px #f4433633}.no-recordings,.error-container{text-align:center;padding:60px 20px;color:#7f8c8d;max-width:1200px;margin:0 auto}.no-recordings p:first-child{font-size:1.5rem;margin-bottom:8px}.no-recordings .hint{font-size:.9rem;color:#999}.error-message{color:#f44336;font-size:1.1rem;margin-bottom:16px}.btn-retry{padding:10px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-retry:hover{background:#45a049}.recordings-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.recordings-loading .loader{border:4px solid #e0e0e0;border-top:4px solid #2196f3;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}.recordings-loading p{color:#2c3e50;font-size:1.2rem;margin-top:20px}.player-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}.player-container{background:#000;border-radius:12px;overflow:hidden;max-width:90vw;max-height:90vh;width:1000px;box-shadow:0 10px 40px #00000080}.player-header{background:#1e1e1e;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333}.player-header h3{margin:0;color:#fff;font-size:1.1rem;font-weight:600}.player-header .btn-close{background:none;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.player-header .btn-close:hover{background:#333;color:#fff}.video-player{width:100%;max-height:calc(90vh - 60px);display:block;background:#000}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.recordings-container{padding:15px}.recordings-header{padding:15px;margin-bottom:20px}.recordings-header .header-content{flex-direction:column;align-items:flex-start;gap:12px}.recordings-header .header-title h1{font-size:1.5rem}.recording-list-item{flex-direction:column;padding:16px}.recording-thumbnail{width:100%;height:180px}.recording-details{width:100%}.recording-actions{width:100%;flex-direction:row;flex-wrap:wrap}.recording-actions .btn-action{flex:1}.player-container{max-width:100vw;max-height:100vh;border-radius:0}}@media (max-width: 480px){.recordings-header .header-title h1{font-size:1.3rem}.recording-title{font-size:1.1rem}}.recording-placeholder{opacity:.8;background:#f5f5f5;border-color:#e0e0e0}.recording-placeholder:hover{box-shadow:0 4px 12px #0000001a}.placeholder-badge{position:absolute;bottom:8px;left:8px;background:#ff9800f2;color:#fff;font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px #0003}.recording-placeholder .btn-play{color:#9e9e9e}.recording-placeholder .btn-play:hover{border-color:#9e9e9e;box-shadow:0 4px 8px #9e9e9e33}.placeholder-modal{background:#fff;border-radius:12px;max-width:450px;width:90%;box-shadow:0 10px 40px #0000004d;animation:fadeIn .2s ease-in-out}.placeholder-modal-header{background:#fff3e0;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffe0b2;border-radius:12px 12px 0 0}.placeholder-modal-header h3{margin:0;color:#e65100;font-size:1.1rem;font-weight:600}.placeholder-modal-header .btn-close{background:none;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.placeholder-modal-header .btn-close:hover{background:#ffecb3;color:#333}.placeholder-modal-content{padding:1.5rem}.placeholder-modal-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#333}.placeholder-modal-reason{margin:0 0 1rem;font-size:.9rem;color:#666;line-height:1.5}.placeholder-modal-info{margin:0;font-size:.85rem;color:#888;line-height:1.5;background:#f5f5f5;padding:.75rem;border-radius:6px}.placeholder-modal-actions{padding:1rem 1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end}.placeholder-modal-actions .btn-ok{background:#ff9800;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.placeholder-modal-actions .btn-ok:hover{background:#f57c00}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */.visible{visibility:visible}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.resize{resize:both}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;height:100%}
