.class-entry-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}
.class-entry-nav a{padding:12px 16px;background:var(--white);color:var(--ink);border:1px solid var(--border-mid);border-radius:10px;font-size:14px;font-weight:700;text-decoration:none}
.class-device-panel{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.5rem;padding:1.5rem;background:var(--white);border:1px solid var(--border-mid);border-radius:16px;margin-bottom:1.5rem}
.class-device-panel h2{font-size:21px;margin-bottom:.75rem}
.class-device-panel p,.class-hint{font-size:13px;line-height:1.7;color:var(--ink-soft);margin-bottom:.75rem}
.class-device-panel .prev-box{margin:0;min-height:170px}
.class-device-panel .prev-actions{flex-wrap:wrap;gap:.5rem}
.class-device-panel label{display:block;font-size:12px;margin-top:.75rem}
#classMicLevel{width:100%;max-width:280px;height:16px}
#deviceStatus,#scheduleStatus{font-size:13px;line-height:1.7;color:var(--ink);margin:.75rem 0}
.class-section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.class-schedule-row{padding:1rem 0;border-top:1px solid var(--border-mid);overflow-wrap:anywhere}
.class-schedule-row h4{font-size:15px;margin-bottom:.5rem}
.class-schedule-row time{font-size:13px;font-weight:700;color:var(--ink)}
.class-schedule-row p{font-size:12px;color:var(--ink-soft);margin:.5rem 0}
.class-schedule-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.class-save-schedule{background:var(--white);color:var(--ink);border:1px solid var(--border-mid);margin-top:.75rem}
.class-tool-picker{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--border)}
.class-tool-picker label{font-size:12px;font-weight:700;white-space:nowrap}
.class-tool-picker select{min-width:0;flex:1;padding:10px;border:1px solid var(--border-mid);border-radius:8px;background:var(--white);color:var(--ink);font:inherit;font-size:13px}
#classCreate,#classJoin,#deviceCheck{scroll-margin-top:90px}
.prev-btn{min-height:44px;cursor:pointer}
.prev-btn:disabled{opacity:.6;cursor:wait}
.ctrl:focus-visible .tip{opacity:1}
.stabs{scrollbar-width:thin}
.stab{min-height:44px}
@media(max-width:700px){.class-device-panel{grid-template-columns:minmax(0,1fr);padding:1rem}.class-device-panel .prev-box{max-height:220px}.class-entry-nav a{flex:1;min-width:140px}.class-schedule-actions .prev-btn{flex:1}.ctrl-bar{justify-content:flex-start}.ctrl{min-width:44px;min-height:44px}.sidebar{height:480px;max-height:75dvh}}

#ctrlMic,#ctrlCam,#ctrlScreen,#ctrlHand{width:auto;min-width:64px;height:58px;padding:6px 10px;display:flex;flex-direction:column;gap:4px}
#ctrlMic .tip,#ctrlCam .tip,#ctrlScreen .tip,#ctrlHand .tip{position:static;transform:none;opacity:1;background:none;border:0;padding:0;font-size:10px;color:inherit}
