:root{--bg: #f8fafc;--panel: #ffffff;--panel2: #f1f5f9;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--blue: #089c35;--blue-hover: #06862d;--green: #10b981;--green-hover: #059669;--red: #ef4444;--red-hover: #dc2626;--indigo: #6366f1;--indigo-hover: #4f46e5;--ring: rgba(8, 156, 53, .2)}*{box-sizing:border-box;transition:background-color .2s,border-color .2s,box-shadow .2s}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);height:100vh;-webkit-font-smoothing:antialiased}#app{height:100vh;display:flex;flex-direction:column}header{padding:12px 20px;background:var(--panel);display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border);box-shadow:0 1px 2px #0000000d}header label{color:var(--muted);font-size:13px;font-weight:500}header input,header select{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);outline:none;min-width:140px;font-size:14px}header input:focus,header select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--ring)}header button{padding:8px 16px;border-radius:8px;border:1px solid transparent;cursor:pointer;background:var(--blue);color:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px}header button:hover{background:var(--blue-hover)}header button.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--border)}header button.secondary:hover{background:#e2e8f0}header button.secondary.active{background:var(--green);color:#fff;border-color:var(--green-hover)}header button.secondary.inactive{background:var(--red);color:#fff;border-color:var(--red-hover)}header #screenBtn.active{background:var(--indigo);border-color:var(--indigo-hover)}header #screenBtn.inactive{background:var(--panel2);color:var(--text);border-color:var(--border)}header #screenBtn.inactive:hover{background:#e2e8f0}header button.danger{background:var(--red);color:#fff}header button.danger:hover{background:var(--red-hover)}header button:disabled{opacity:.5;cursor:not-allowed}#statusBar{padding:8px 20px;font-size:13px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center;justify-content:space-between;color:var(--muted)}#main{display:flex;flex:1;min-height:0;overflow:hidden;background:var(--bg)}#videosWrap{flex:3;display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border)}#sidebar{flex:1;display:flex;flex-direction:column;background:var(--panel);min-width:320px;max-width:400px}#videosHeader{padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel);display:flex;gap:10px;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:600}#videos{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:min-content;grid-auto-flow:dense;gap:16px;padding:16px;overflow:auto;align-content:start}.tile{position:relative;background:#000;border-radius:12px;overflow:hidden;border:1px solid var(--border);aspect-ratio:16 / 9;box-shadow:0 4px 6px -1px #0000001a;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.tile.screen-tile,.tile.teacher-tile{grid-column:span 2;grid-row:span 2}.tile.teacher-tile{border:2px solid #089c35}@media (max-width: 768px){.tile.screen-tile,.tile.teacher-tile{grid-column:span 1;grid-row:span 1}}.tile video{width:100%;height:100%;object-fit:cover;display:block}.badge{position:absolute;left:12px;bottom:12px;background:#0009;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#chat{flex:1;display:flex;flex-direction:column;border-bottom:1px solid var(--border);min-height:0}#participants{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--panel)}#participantsHeader{padding:12px 16px;border-bottom:1px solid var(--border);font-weight:700;display:flex;justify-content:space-between;align-items:center;color:var(--text)}#chatHeader{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--panel);font-weight:700;display:flex;justify-content:space-between;align-items:center;color:var(--text)}#messages{flex:1;padding:16px;overflow:auto;font-size:14px;display:flex;flex-direction:column;gap:12px;min-height:0;background:var(--panel2)}.msg{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:10px 14px;box-shadow:0 1px 2px #0000000d;max-width:90%}.msg .meta{font-size:12px;color:var(--muted);margin-bottom:4px;font-weight:600}#participantsContent{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.participant-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;transition:background .2s}.participant-item:hover{background:var(--panel2)}.pi-avatar{width:36px;height:36px;border-radius:50%;background:var(--panel2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--accent);border:1px solid var(--border)}.pi-info{flex:1;min-width:0}.pi-name{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pi-status{font-size:12px;color:var(--muted)}.teacher-badge{font-size:10px;background:#089c351a;color:#089c35;padding:2px 6px;border-radius:4px;font-weight:800;text-transform:uppercase;margin-left:4px;vertical-align:middle}.msg.me{align-self:flex-end;background:#eff6ff;border-color:#bfdbfe}#chatInput{display:flex;gap:8px;border-top:1px solid var(--border);padding:12px;background:var(--panel)}#chatInput input{flex:1;padding:10px 14px;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:20px;outline:none;font-size:14px}#chatInput input:focus{border-color:var(--blue);background:var(--panel);box-shadow:0 0 0 3px var(--ring)}#chatInput button{width:40px;height:40px;padding:0;border:none;background:var(--blue);color:#fff;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s,background-color .2s}#chatInput button:hover{background:var(--blue-hover);transform:scale(1.05)}#chatInput button:active{transform:scale(.95)}#chatInput button svg{width:20px;height:20px;fill:currentColor}.small{font-size:12px;color:var(--muted)}:root{--admin-bg: #ffffff;--admin-card: #ffffff;--admin-accent: #089c35;--admin-accent-hover: #06862d;--admin-text: #0f172a;--admin-text-muted: #64748b;--glass-border: #e2e8f0;--purple-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--blue-gradient: linear-gradient(135deg, #3b82f6 0%, #2dd4bf 100%);--green-gradient: linear-gradient(135deg, #10b981 0%, #34d399 100%)}.admin-container{min-height:100vh;background-color:var(--admin-bg);color:var(--admin-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;flex-direction:column}.admin-nav{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:100}.admin-nav .logo{font-size:1.25rem;font-weight:800;letter-spacing:-.025em;color:var(--admin-text)}.admin-nav .logo span{color:var(--admin-accent)}.admin-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.admin-header{margin-bottom:3rem}.admin-header h1{font-size:2.25rem;font-weight:800;margin-bottom:.5rem;color:var(--admin-text)}.admin-header p{color:var(--admin-text-muted);font-size:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.admin-container .glass{background:var(--admin-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stat-card{padding:1.5rem;display:flex;align-items:center;gap:1.5rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0003}.stat-icon{font-size:2.5rem;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.stat-info .stat-value{font-size:2rem;font-weight:800;line-height:1;color:var(--admin-text)}.stat-info .stat-label{color:var(--admin-text-muted);font-size:.875rem;font-weight:500;margin-top:.25rem}.purple{border-left:4px solid #a855f7!important}.blue{border-left:4px solid #3b82f6!important}.green{border-left:4px solid #10b981!important}.admin-section h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--admin-text)}.card{padding:1.5rem}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:1rem;color:var(--admin-text-muted);font-weight:600;border-bottom:1px solid var(--glass-border);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.admin-table td{padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.teacher-name{font-weight:600;color:var(--admin-text)}.count-badge{background:#3b82f61a;color:#60a5fa;padding:.25rem .75rem;border-radius:9999px;font-weight:500;font-size:.875rem}.level-pill{padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.level-pill.high{background:#10b98133;color:#34d399}.level-pill.medium{background:#f59e0b33;color:#fbbf24}.level-pill.low{background:#6b728033;color:#9ca3af}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;display:flex;align-items:center;justify-content:center;z-index:200}.login-card{width:100%;max-width:400px;padding:2.5rem;text-align:center}.login-card h2{margin-bottom:.5rem;color:var(--admin-text)}.login-card p{color:var(--admin-text-muted);margin-bottom:2rem;font-size:.9rem}.input-group{text-align:left;margin-bottom:1.25rem}.input-group label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:.5rem;color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.025em}.input-group input{width:100%;background:#fff;border:1px solid var(--glass-border);border-radius:.75rem;padding:.85rem 1rem;color:var(--admin-text);outline:none;transition:all .2s;font-size:1rem}.input-group input:focus{border-color:var(--admin-accent);background:#fff;box-shadow:0 0 0 4px #089c3526}.primary-btn{width:100%;background:var(--admin-accent);color:#fff;border:none;padding:.85rem;border-radius:.75rem;font-weight:700;cursor:pointer;transition:all .2s;font-size:1rem;margin-top:1rem}.primary-btn:hover{background:var(--admin-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #089c354d}.primary-btn:active{transform:translateY(0)}.logout-btn{background:transparent;border:1px solid var(--glass-border);color:var(--admin-text-muted);padding:.5rem 1.25rem;border-radius:.75rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.logout-btn:hover{background:#f1f5f9;color:var(--admin-text);border-color:#cbd5e1}.admin-status{text-align:center;color:var(--admin-accent);font-weight:600;margin-bottom:1rem}.empty-msg{text-align:center;color:var(--admin-text-muted);padding:4rem 0!important}@media (max-width: 768px){.admin-nav{padding:0 1.25rem}.admin-content{padding:1.5rem 1.25rem}.admin-header h1{font-size:1.75rem}.stats-grid{grid-template-columns:1fr}}
