@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}button,[role=button],[role=tab],.tab,.tabs a,a,label,summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button:focus,[role=button]:focus,[role=tab]:focus{outline:none}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pvt-room{display:flex;flex-direction:column;height:100vh;width:100%;background:#0d1117;color:#e8eaf2;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}.pvt-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#161b27;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;gap:12px}.pvt-topbar-left{display:flex;flex-direction:column}.pvt-session-name{font-size:14px;font-weight:700;color:#e8eaf2}.pvt-session-sub{font-size:11px;color:#6b7591;margin-top:1px}.pvt-topbar-right{display:flex;align-items:center;gap:10px}.pvt-timer{font-size:13px;font-weight:600;color:#a0aec0;font-variant-numeric:tabular-nums;background:#ffffff0f;padding:5px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.08)}.pvt-count{font-size:12px;color:#e8eaf2;font-weight:600;background:#ffffff1f;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.22)}.pvt-main{display:flex;flex:1;overflow:hidden}.pvt-video-area{flex:1;display:flex;flex-direction:column;padding:14px;gap:10px;overflow:hidden;min-width:0}.pvt-video-grid{flex:1;display:grid;gap:8px;overflow:hidden;align-content:center;justify-content:center;width:100%;height:100%}.pvt-grid-1{grid-template-columns:1fr;grid-template-rows:1fr}.pvt-grid-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.pvt-grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.pvt-grid-6{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr}.pvt-grid-9{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.pvt-grid-many{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-auto-rows:1fr}.pvt-tile{background:#1a2035;border-radius:12px;position:relative;overflow:hidden;border:1.5px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.pvt-tile video{width:100%;height:100%;object-fit:contain;background:#111827}.pvt-tile-sm{width:100%;height:130px;flex-shrink:0;border-radius:8px}.pvt-tile-label{position:absolute;bottom:10px;left:10px;display:flex;align-items:center;gap:6px;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;color:#e8eaf2}.pvt-host-badge{font-size:10px;background:#4f7ef7;color:#fff;padding:1px 6px;border-radius:4px;font-weight:600;margin-left:4px}.pvt-placeholder{width:100%;height:100%;background:#111827;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.pvt-placeholder-avatar{width:64px;height:64px;border-radius:50%;background:#2a9da8;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff}.pvt-placeholder-name{font-size:12px;color:#6b7591}.pvt-tile-speaking{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.pvt-tile-pinned{border-color:#4f7ef7;box-shadow:0 0 0 2px #4f7ef74d}.pvt-speaking-dot{color:#22c55e;font-size:8px;animation:pvt-pulse 1.2s ease-in-out infinite}@keyframes pvt-pulse{0%,to{opacity:1}50%{opacity:.4}}.pvt-pin-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:6px;border:none;background:#00000073;color:#a0aec0;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s;z-index:10}.pvt-tile:hover .pvt-pin-btn{opacity:1}.pvt-pin-active{opacity:1;background:#4f7ef74d;color:#4f7ef7}.pvt-muted-bar{position:absolute;top:10px;left:10px;background:#f56565d9;color:#fff;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;z-index:5}.pvt-hand-indicator{position:absolute;top:10px;right:42px;font-size:22px;animation:pvt-hand-wave .6s ease-in-out infinite alternate;z-index:5}@keyframes pvt-hand-wave{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}.pvt-hand-banner{background:#eab30826;color:#eab308;padding:8px 20px;font-size:13px;font-weight:600;text-align:center;border-bottom:1px solid rgba(234,179,8,.2);flex-shrink:0}.pvt-tile-screenshare video{object-fit:contain}.pvt-screen-layout{flex:1;display:flex;gap:6px;overflow:hidden;height:100%}.pvt-screen-main{flex:1;min-width:0;height:100%;border-radius:10px;overflow:hidden;border:2px solid #4f7ef7;background:#0d1117}.pvt-screen-main video{width:100%;height:100%;object-fit:contain}.pvt-screen-strip{display:flex;flex-direction:column;gap:6px;width:180px;flex-shrink:0;overflow-y:auto}.pvt-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#161b27;border-radius:14px;border:1px solid rgba(255,255,255,.08);flex-shrink:0;gap:10px}.pvt-ctrl-left{display:flex;align-items:center;gap:8px}.pvt-ctrl-center{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.pvt-ctrl-right{display:flex;align-items:center;gap:8px}.pvt-ctrl-btn{width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .15s;background:#ffffff1a;color:#e8eaf2;flex-shrink:0}.pvt-ctrl-btn:hover{background:#ffffff29}.pvt-ctrl-off{background:#f56565;color:#fff}.pvt-ctrl-off:hover{background:#e04040}.pvt-ctrl-active{background:#4f7ef733;color:#4f7ef7;border:1px solid rgba(79,126,247,.3)}.pvt-ctrl-active:hover{background:#4f7ef74d}.pvt-leave-btn{display:flex;align-items:center;gap:6px;padding:0 20px;height:48px;border-radius:24px;border:none;cursor:pointer;background:#f5656526;color:#f56565;border:1px solid rgba(245,101,101,.3);font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;font-family:inherit;transition:all .15s}.pvt-leave-btn:hover{background:#f56565;color:#fff}.pvt-end-btn{background:#f5656533}.pvt-sidebar{width:300px;background:#161b27;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.pvt-sidebar-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.pvt-sidebar-tab{flex:1;padding:12px 8px;background:none;border:none;cursor:pointer;font-size:13px;font-weight:500;color:#6b7591;border-bottom:2px solid transparent;transition:all .15s;font-family:inherit}.pvt-sidebar-tab.active{color:#4f7ef7;border-bottom-color:#4f7ef7}.pvt-sidebar-body{flex:1;overflow-y:auto;overflow-x:hidden}.pvt-sidebar-body::-webkit-scrollbar{width:4px}.pvt-sidebar-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.pvt-participants-list{display:flex;flex-direction:column}.pvt-participant-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.04)}.pvt-participant-avatar{width:34px;height:34px;border-radius:50%;background:#2a9da8;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;flex-shrink:0}.pvt-participant-info{flex:1;min-width:0}.pvt-participant-name{font-size:13px;font-weight:500;color:#e8eaf2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvt-participant-role{font-size:11px;color:#6b7591;margin-top:1px}.pvt-participant-icons{display:flex;align-items:center;gap:6px;font-size:14px}.pvt-toast-wrap{position:fixed;top:70px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:500;pointer-events:none}.pvt-toast{background:#1e2435;border:1px solid rgba(255,255,255,.1);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;color:#e8eaf2;box-shadow:0 8px 24px #0006;animation:pvt-toast-in .25s ease}.pvt-toast-warn{border-color:#f565654d;color:#f56565}@keyframes pvt-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pvt-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.pvt-sidebar{display:none}.pvt-ctrl-btn{width:42px;height:42px;font-size:16px}.pvt-controls{padding:10px 12px;gap:6px}.pvt-topbar{padding:10px 14px}.pvt-video-area{padding:10px;gap:8px}.pvt-leave-btn{padding:0 14px;font-size:12px}}@media(max-width:480px){.pvt-ctrl-btn{width:38px;height:38px;font-size:15px}.pvt-grid-2{grid-template-columns:1fr}.pvt-timer{display:none}}.pvt-tile-host-actions{position:absolute;top:8px;left:8px;display:flex;gap:4px;opacity:0;transition:opacity .15s;z-index:15}.pvt-tile:hover .pvt-tile-host-actions{opacity:1}.pvt-tile-action-btn{width:28px;height:28px;border-radius:6px;border:none;background:#00000080;color:#e8eaf2;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s}.pvt-tile-action-btn:hover{background:#f56565cc;color:#fff}.pvt-tile-action-remove{background:#f565654d;color:#f56565}.pvt-tile-action-remove:hover{background:#f56565;color:#fff}.pvt-mute-all-btn{display:flex;align-items:center;gap:6px;padding:0 16px;height:42px;border-radius:21px;border:1px solid rgba(245,101,101,.3);background:#f565651f;color:#f56565;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .15s}.pvt-mute-all-btn:hover{background:#f565654d}.pvt-participant-host-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.pvt-participant-item:hover .pvt-participant-host-actions{opacity:1}.pvt-participant-action-btn{width:26px;height:26px;border-radius:6px;border:none;background:#ffffff14;color:#8b93b0;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s}.pvt-participant-action-btn:hover{background:#f5656533;color:#f56565}.pvt-participant-action-remove:hover{background:#f56565;color:#fff}.pvt-rec-badge{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#f56565;background:#f565651f;padding:4px 10px;border-radius:20px;border:1px solid rgba(245,101,101,.2)}.pvt-rec-dot{width:6px;height:6px;border-radius:50%;background:#f56565;animation:pvt-rec-pulse 1.2s ease-in-out infinite}@keyframes pvt-rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.pvt-remove-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:600;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:pvt-fade-in .15s ease}.pvt-remove-modal{background:#1e2435;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 32px;width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 24px 60px #00000080;animation:pvt-modal-pop .2s cubic-bezier(.34,1.56,.64,1)}@keyframes pvt-modal-pop{0%{opacity:0;transform:scale(.88) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.pvt-remove-avatar{width:54px;height:54px;border-radius:50%;background:#2a9da8;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;margin-bottom:4px}.pvt-remove-title{font-size:15px;font-weight:700;color:#e8eaf2;text-align:center}.pvt-remove-name{font-size:13px;font-weight:600;color:#4f7ef7;text-align:center}.pvt-remove-sub{font-size:12px;color:#6b7591;text-align:center;line-height:1.5;margin-bottom:6px}.pvt-remove-actions{display:flex;gap:10px;width:100%;margin-top:4px}.pvt-remove-cancel{flex:1;padding:9px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#8b93b0;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.pvt-remove-cancel:hover{background:#ffffff1a;color:#e8eaf2}.pvt-remove-confirm{flex:1;padding:9px;border-radius:10px;border:none;background:#f56565;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.pvt-remove-confirm:hover{background:#e04040}.tps,.tps__page{background:#fff;border-radius:14px;box-shadow:0 2px 16px #00000012;padding:28px 32px 36px;margin:20px;min-height:calc(100vh - 120px)}.tps__title{font-size:22px;font-weight:700;color:#1a2a3a;margin:0 0 18px}.tps__loading{text-align:center;padding:60px;color:#64748b}.tps__empty{color:#64748b;font-style:italic;padding:40px 0;text-align:center}.tps__tabs{display:inline-flex;border:2px solid #3b5c7c;border-radius:8px;overflow:hidden;margin-bottom:24px}.tps__tab{padding:9px 32px;background:transparent;color:#3b5c7c;font-size:14px;font-weight:600;border:none;border-right:2px solid #3b5c7c;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .18s,color .18s,transform .1s}.tps__tab:last-child{border-right:none}.tps__tab--active{background:#3b5c7c;color:#fff}.tps__tab:hover:not(.tps__tab--active){background:#3b5c7c14}.tps__tab:active{transform:scale(.97)}.tps__tab-badge{display:inline-flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:50%;margin-left:6px;padding:0 5px}.tps__filters{display:flex;gap:12px;margin-bottom:18px}.tps__filters--right{justify-content:flex-end}.tps__select-wrap{position:relative;display:inline-block}.tps__select{appearance:none;padding:8px 36px 8px 14px;border:2px solid #3b5c7c;border-radius:8px;background:#fff;color:#3b5c7c;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,box-shadow .15s}.tps__select:hover{border-color:#2a4a66;box-shadow:0 2px 8px #3b5c7c1f}.tps__select:focus{outline:none;border-color:#1e3a52;box-shadow:0 0 0 3px #3b5c7c26}.tps__select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#3b5c7c;font-size:14px;pointer-events:none}.tps__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.tps__scard{background:#2c3e54;border-radius:12px;padding:18px 20px 14px;color:#c8d8e8;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:165px;border:2px solid transparent;transition:transform .15s,box-shadow .15s,border-color .15s}.tps__scard:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0000002e;border-color:#ffffff1f}.tps__scard:active{transform:translateY(-1px) scale(.99)}.tps__scard-body{flex:1}.tps__scard-subject{font-size:16px;font-weight:700;color:#fff;margin:0 0 2px}.tps__scard-course{font-size:12px;color:#8aa4bc;margin:0 0 6px}.tps__scard-topic{font-size:12px;color:#8aa4bc;margin:0 0 4px}.tps__scard-student{font-size:13px;color:#a0b8cc;margin:6px 0 0}.tps__scard-footer{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center}.tps__scard-date,.tps__scard-time{font-size:12px;font-weight:600;color:#fff}.tps__pill{display:inline-block;padding:3px 12px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.tps__pill--approved{background:#16a34a;color:#fff}.tps__pill--ongoing{background:#dc2626;color:#fff}.tps__pill--pending{background:#eab308;color:#1a1a1a}.tps__pill--proposed_changes{background:#7c3aed;color:#fff}.tps__pill--completed{background:#16a34a;color:#fff}.tps__pill--declined,.tps__pill--cancelled_by_student,.tps__pill--cancelled_by_teacher{background:#ef4444;color:#fff}.tps__pill--teacher_no_show,.tps__pill--student_no_show{background:#f97316;color:#fff}.tps__pill--expired{background:#6b7280;color:#fff}.tps__pill--withdrawn{background:#7c3aed;color:#fff}.tps__hlist{display:flex;flex-direction:column;gap:10px;flex:1}.tps__hrow{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 20px;cursor:pointer;height:auto;min-height:0;flex-shrink:0;transition:background .12s,box-shadow .15s,transform .12s}.tps__hrow:hover{background:#f1f5f9;box-shadow:0 4px 14px #00000012;transform:translateY(-1px)}.tps__hrow:active{transform:translateY(0)}.tps__hrow-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.tps__hrow-avatar img{width:100%;height:100%;object-fit:cover}.tps__hrow-ph{width:100%;height:100%;background:#94a3b8;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}.tps__hrow-info{flex:1;min-width:0}.tps__hrow-name{font-weight:700;font-size:14px;color:#1e293b;margin:0 0 2px;word-wrap:break-word}.tps__hrow-meta{font-size:12px;color:#64748b;margin:0;word-wrap:break-word}.tps__hrow-dt{text-align:right;font-size:13px;color:#334155;white-space:normal}.tps__hrow-dt p{margin:1px 0}.tps__hrow-gs{font-size:13px;color:#475569;white-space:nowrap}.tps__hrow-st{min-width:110px;text-align:right}.tps__detail-wrapper{padding:20px 20px 0;min-height:calc(100vh - 120px)}.tps__sidebar-back{margin-bottom:12px}.tps__back{background:#3b5c7c;color:#fff;border:none;border-radius:20px;padding:7px 20px;font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .18s,transform .12s,box-shadow .15s;display:inline-flex;align-items:center;gap:4px}.tps__back:hover{background:#2d4a64;box-shadow:0 4px 12px #3b5c7c40;transform:translateY(-1px)}.tps__back:active{transform:scale(.96)}.tps__dheader{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid #e2e8f0;padding-bottom:16px;margin-bottom:22px}.tps__dstatus{font-size:17px;font-weight:700;color:#1e293b;margin:0}.tps__countdown{color:#dc2626;font-weight:600}.tps__dactions{display:flex;gap:8px;flex-wrap:wrap}.tps__abtn{padding:8px 22px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;-webkit-user-select:none;user-select:none;transition:background .15s,transform .1s,box-shadow .15s}.tps__abtn:active{transform:scale(.96)}.tps__abtn--primary{background:#3b5c7c;color:#fff}.tps__abtn--primary:hover{background:#2d4a64;box-shadow:0 4px 12px #3b5c7c40}.tps__abtn--outline{background:transparent;border:2px solid #94a3b8;color:#475569}.tps__abtn--outline:hover{border-color:#64748b;background:#f8fafc}.tps__dbody{display:flex;gap:28px}.tps__dleft{flex:1;min-width:0}.tps__dright{width:250px;flex-shrink:0}.tps__dleft h3{font-size:15px;font-weight:700;color:#1e293b;margin:16px 0 10px}.tps__dleft h4{font-size:14px;font-weight:600;color:#334155;margin:20px 0 8px}.tps__dtable{border-collapse:collapse;margin:0 0 16px}.tps__dtable td{padding:5px 0;font-size:14px;color:#334155;vertical-align:top}.tps__dtable td:first-child{font-weight:600;padding-right:28px;white-space:nowrap;color:#1e293b}.tps__note{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:12px 16px;font-size:13px;color:#334155;line-height:1.55}.tps__note--teacher{background:#eef2ff;border-color:#a5b4fc}.tps__note--cancel{background:#fef2f2;border-color:#fca5a5}.tps__gbox{background:#2c3e54;border-radius:12px;padding:18px 22px;color:#e0e8f0}.tps__gbox h3{font-size:15px;font-weight:600;color:#fff;margin:0 0 14px}.tps__gname{font-size:13px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.08);margin:0;color:#c0d0e0}.tps__gname:last-child{border-bottom:none}.tps__start-wrap{display:flex;justify-content:center;margin-top:32px}.tps__start-btn{padding:14px 48px;border-radius:10px;border:none;background:#16a34a;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s,transform .12s,box-shadow .15s}.tps__start-btn:hover{background:#15803d;box-shadow:0 6px 20px #16a34a4d;transform:translateY(-1px)}.tps__start-btn:active{transform:scale(.97)}.tps__start-btn--disabled{background:#94a3b8;cursor:not-allowed;opacity:.7}.tps__start-btn--disabled:hover{background:#94a3b8;box-shadow:none;transform:none}.tps__accept-wrap{display:flex;justify-content:center;margin-top:32px}.tps__accept-btn{padding:14px 48px;border-radius:10px;border:none;background:#3b5c7c;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background .18s,transform .12s,box-shadow .18s}.tps__accept-btn:hover{background:#2d4a64;box-shadow:0 6px 20px #3b5c7c59;transform:translateY(-2px)}.tps__accept-btn:active{transform:scale(.97)}.tps__accept-btn:disabled{background:#94a3b8;cursor:not-allowed;opacity:.7}.tps__accept-btn:disabled:hover{box-shadow:none;transform:none}.tps__overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:tps-fade-in .2s ease}@keyframes tps-fade-in{0%{opacity:0}to{opacity:1}}.tps__modal{background:#1e3a52;border-radius:14px;padding:28px 32px;width:90%;max-width:430px;color:#e0e8f0;box-shadow:0 24px 64px #00000073;animation:tps-slide-up .25s ease}@keyframes tps-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tps__modal h3{font-size:18px;font-weight:700;color:#fff;margin:0 0 18px;text-align:center}.tps__modal h4{font-size:14px;font-weight:600;color:#e0e8f0;margin:16px 0 6px}.tps__minfo{border-collapse:collapse;width:100%;margin-bottom:14px}.tps__minfo td{padding:4px 0;font-size:13px;color:#b8cce0}.tps__minfo td:first-child{font-weight:600;color:#e0e8f0;padding-right:16px;white-space:nowrap}.tps__minfo-text{font-size:13px;color:#a0b8d0;margin:8px 0}.tps__mtxt{width:100%;min-height:72px;background:#16304a;border:1px solid #3b5c7c;border-radius:8px;padding:10px 14px;color:#e0e8f0;font-size:13px;resize:vertical;font-family:inherit;line-height:1.45;transition:border-color .15s,box-shadow .15s}.tps__mtxt:focus{border-color:#5a8ab4;box-shadow:0 0 0 3px #5a8ab433;outline:none}.tps__mtxt::placeholder{color:#5a7c98}.tps__minput{background:#16304a;border:1px solid #3b5c7c;border-radius:6px;padding:6px 10px;color:#e0e8f0;font-size:13px;width:80px;transition:border-color .15s}.tps__minput:focus{border-color:#5a8ab4;outline:none}.tps__minput-time{background:#3b5c7c;border:none;border-radius:8px;padding:8px 16px;color:#fff;font-size:14px;transition:box-shadow .15s}.tps__minput-time:focus{box-shadow:0 0 0 3px #5a8ab440;outline:none}.tps__mfield{margin:12px 0}.tps__mfield label{display:block;font-size:13px;font-weight:600;color:#b8cce0;margin-bottom:5px}.tps__mwarn{font-size:12px;color:#f87171;margin:14px 0 18px;line-height:1.45}.tps__mbtns{display:flex;justify-content:center;gap:14px}.tps__mbtn{padding:9px 28px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .15s,transform .1s,box-shadow .15s}.tps__mbtn:active{transform:scale(.96)}.tps__mbtn:disabled{opacity:.5;cursor:not-allowed}.tps__mbtn--sec{background:#2c4a64;color:#c8dae8}.tps__mbtn--sec:hover{background:#345676}.tps__mbtn--pri{background:#3b5c7c;color:#fff}.tps__mbtn--pri:hover{background:#2d4a64;box-shadow:0 4px 12px #3b5c7c4d}.tps__mbtn--decline{background:#3b5c7c;color:#fff}.tps__mbtn--decline:hover{background:#2d4a64}.tps__mbtn--accept{background:#16a34a;color:#fff}.tps__mbtn--accept:hover{background:#15803d;box-shadow:0 4px 12px #16a34a4d}.tps__abtn--accept{background:#16a34a;color:#fff;padding:8px 22px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .18s,transform .12s,box-shadow .18s}.tps__abtn--accept:hover{background:#15803d;box-shadow:0 6px 20px #16a34a59;transform:translateY(-1px)}.tps__abtn--accept:active{transform:scale(.97)}.tps__live-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.tps__live-loading p{color:#64748b;font-size:15px}.tps__live-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#3b5c7c;border-radius:50%;animation:tps-spin .8s linear infinite}@keyframes tps-spin{to{transform:rotate(360deg)}}.tps__live-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.tps__live-error h2{color:#1e293b;margin:0 0 8px;font-size:20px}.tps__live-error p{color:#64748b;margin:0 0 24px;max-width:400px}.tps__search-wrap{position:relative;margin-bottom:18px;max-width:360px}.tps__search{width:100%;padding:10px 14px 10px 38px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;background:#fff;transition:border-color .15s,box-shadow .15s}.tps__search:focus{border-color:#3b5c7c;box-shadow:0 0 0 3px #3b5c7c1f;outline:none}.tps__search::placeholder{color:#94a3b8}.tps__search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:16px;pointer-events:none}@media(max-width:768px){.tps,.tps__page{padding:18px 16px;margin:12px}.tps__detail-wrapper{padding:12px 12px 0}.tps__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tps__dbody{flex-direction:column}.tps__dright{width:100%}.tps__hrow{flex-wrap:wrap;gap:8px}.tps__hrow-dt,.tps__hrow-gs{width:100%;text-align:left;padding-left:64px}.tps__filters{flex-wrap:wrap}}@media(max-width:480px){.tps__tabs{display:flex;width:100%}.tps__tab{flex:1;text-align:center;padding:8px 10px;font-size:12px}.tps__grid{grid-template-columns:1fr}.tps__dheader{flex-direction:column;align-items:flex-start}.tps__modal{padding:22px 20px}}.sidebar{width:240px;background:#425f7f;color:#fff;padding:20px 16px;flex-shrink:0;position:relative;z-index:110;transition:transform .3s ease;display:flex;flex-direction:column}.sidebar-logo{display:flex;align-items:center;gap:10px;margin-bottom:40px}.sidebar-logo img{width:42px;height:42px;flex-shrink:0}.sidebar-logo h3{margin:0;font-size:15px;font-weight:700}.sidebar-logo p{font-size:10px;opacity:.75;margin:0;line-height:1.3}.menu-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;font-size:14px;opacity:.9;border-radius:10px;margin-bottom:2px}.menu-item.menu-label{cursor:default}.menu-item.active{background:#ffffff26;font-weight:600;opacity:1}.menu-item:hover{background:#ffffff1a}.menu-icon{font-size:18px}.submenu p{font-size:12px;margin-left:32px;margin-top:6px;opacity:.85;cursor:pointer;line-height:1.4}.submenu p:hover{opacity:1}.sidebar-close{display:none}.sidebar__bottom{margin-top:auto;padding-top:20px}.sidebar__homeBtn{display:flex;align-items:center;gap:12px;padding:10px 12px;font-size:14px;color:#fff;text-decoration:none;opacity:.9;border-radius:10px;cursor:pointer}.sidebar__homeBtn:hover{background:#ffffff1a}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;width:250px;height:100vh;background:#425f7f;transform:translate(-100%);box-shadow:0 18px 40px #00000047;overflow-y:auto;overflow-x:hidden;padding:24px 20px 28px;border-radius:0;z-index:110}.sidebar.sidebar-open{transform:translate(0)}.sidebar-logo{align-items:flex-start;gap:12px;margin-bottom:34px;padding-right:44px}.sidebar-logo img{width:48px;height:48px}.sidebar-logo h3{font-size:17px;font-weight:700}.sidebar-logo p{font-size:11px;opacity:.9}.menu-item{gap:14px;padding:14px 12px;font-size:16px;font-weight:600;border-radius:14px;margin-bottom:8px}.menu-item.active{background:#ffffff29;padding-left:12px;border-radius:14px}.submenu{margin-top:4px}.submenu p{margin-left:40px;margin-top:8px;font-size:13px;opacity:.85}.sidebar-close{display:flex;position:absolute;top:16px;right:12px;width:36px;height:36px;border:none;background:transparent;color:#fff;cursor:pointer;padding:0;align-items:center;justify-content:center;border-radius:8px;z-index:111}.sidebar-close svg{font-size:28px}}@media(min-width:769px){.sidebar-close{display:none}}.header{height:60px;display:flex;justify-content:flex-end;align-items:center;padding:0 24px;background:#b7d3d6;position:relative;z-index:100}.hamburgerBtn{display:none;border:none;background:transparent;padding:0;margin-right:auto;cursor:pointer;color:#1f2d3d;line-height:1}.hamburgerBtn svg{font-size:30px}.profile-menu{position:relative}.profile-img{width:42px;height:42px;border-radius:50%;object-fit:cover;cursor:pointer}.dropdown{position:absolute;top:50px;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;min-width:220px;z-index:120;overflow:hidden;padding:8px 0}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.dropdown-username{font-size:16px;font-weight:600;color:#333}.dropdown-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.dropdown-divider{border:none;border-top:1px solid #e0e0e0;margin:0 16px}.dropdown button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#333}.dropdown button:hover{background:#f5f5f5}.arrow{color:#999;font-size:16px}@media(max-width:768px){.header{justify-content:space-between;padding:0 16px}.hamburgerBtn{display:flex;align-items:center;justify-content:center}.profile-img{width:40px;height:40px}.dropdown{top:52px;right:0;min-width:210px}}.teacherTopSlider{height:52px;background:#075c67;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 10px;width:100%;box-sizing:border-box}.teacherTopSlider__arrow{width:34px;height:34px;border:none;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0}.teacherTopSlider__arrow svg{font-size:28px}.teacherTopSlider__title{flex:1;text-align:center;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}@media(max-width:768px){.teacherTopSlider{height:40px;padding:0 8px}.teacherTopSlider__arrow{width:32px;height:32px}.teacherTopSlider__arrow svg{font-size:26px}.teacherTopSlider__title{font-size:15px}}@media(min-width:769px){.teacherTopSlider{display:none}}.teacher-layout{display:flex;height:100vh;position:relative;overflow-x:hidden;overflow:hidden}.teacher-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh}.teacher-content{background:#b7d3d6;padding:16px;flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.teacher-main:has(.classroom-layout){height:100vh;overflow:hidden}.teacher-content:has(.classroom-layout){flex:1;min-height:0;overflow:hidden!important;padding:14px!important}.sidebar-overlay{position:fixed;inset:0;background:#00000059;z-index:109}@media(max-width:768px){.teacher-layout,.teacher-main{min-height:100dvh}.teacher-content{padding:12px;min-width:0;overflow-x:hidden;overflow-y:auto}}.dashboard{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:2fr 3fr;gap:14px;height:100vh;padding:16px;background:#c9d1de;overflow:hidden;box-sizing:border-box}.dash-live-section{grid-column:1 / 3;grid-row:1;background:#f4f7f8;border-radius:18px;padding:14px 16px;box-shadow:0 6px 14px #0000001f;display:flex;flex-direction:column;overflow:hidden;min-height:0}.dash-live-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-shrink:0}.dash-section-title{font-size:15px;font-weight:600;color:#1f2d3d}.dash-remaining{font-size:11px;font-weight:500;color:#5a6a72}.dash-live-row{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));grid-auto-rows:1fr;gap:12px;padding-bottom:4px;padding-right:4px}.dash-live-row::-webkit-scrollbar{width:4px;height:4px}.dash-live-row::-webkit-scrollbar-thumb{background:#00000026;border-radius:10px}.live-card{background:#13899b;border-radius:14px;overflow:hidden;color:#fff;box-shadow:0 6px 12px #0000002e;display:flex;flex-direction:column;min-width:0}.live-card-body{flex:1;padding:12px 14px;display:flex;flex-direction:column}.live-card-body h5{font-size:.9rem;font-weight:700;margin:0 0 2px}.live-card-body p{font-size:.78rem;margin:0 0 2px;opacity:.9}.live-card-spacer{flex:1;min-height:8px}.live-card-body .starts-in{font-size:.78rem;font-weight:700;margin:0}.live-card-body .time{font-size:.82rem;font-weight:800;margin:0}.calendar{grid-column:3;grid-row:1;background:#f4f7f8;border-radius:18px;padding:14px;box-shadow:0 6px 14px #0000001f;display:flex;flex-direction:column;overflow:hidden;min-height:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-shrink:0}.cal-arrow{cursor:pointer;font-size:14px;color:#343434}.cal-select{border:1px solid #d6d6d6;border-radius:8px;padding:4px 8px;font-size:.8rem;font-weight:600;color:#222;background:#fff;cursor:pointer;outline:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;flex:1;min-height:0;align-content:start}.cal-day-name{font-size:.78rem;font-weight:600;color:#3e3e3e;padding:2px 0}.cal-date{font-size:.8rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0 auto;color:#5b5b5b}.cal-date:hover{background:#13899b14}.cal-today{background:#ff5252;color:#fff;font-weight:700}.cal-today:hover{background:#ef4444}.cal-selected{outline:2.5px solid #13899b;outline-offset:-2px;font-weight:700}.cal-legend{display:flex;justify-content:center;gap:8px;margin-top:6px;flex-wrap:wrap;flex-shrink:0}.cal-legend-item{display:flex;align-items:center;gap:4px;font-size:.72rem;color:#5a5a5a}.cal-legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.dash-card{grid-row:2;background:#f4f7f8;border-radius:18px;padding:16px;display:flex;flex-direction:column;box-shadow:0 6px 14px #0000001f;min-height:0;overflow:hidden}.dashboard>:nth-child(3){grid-column:1;grid-row:2}.dashboard>:nth-child(4){grid-column:2;grid-row:2}.dashboard>:nth-child(5){grid-column:3;grid-row:2}.dash-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-shrink:0}.dash-card-header h4{font-size:.95rem;font-weight:800;color:#111;margin:0}.dash-filter{border:none;border-radius:8px;padding:6px 10px;font-size:.85rem;font-weight:600;color:#222;background:#fff;cursor:pointer;outline:none;box-shadow:0 3px 8px #0000001f}.dash-pills{display:flex;gap:0;background:#d7dfec;border-radius:10px;padding:2px}.dash-pill{border:none;background:transparent;font-size:.85rem;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer}.pill-due{color:#4c5f86}.pill-due.pill-active{background:#6c88b7;color:#fff}.pill-overdue{color:#8394b2}.pill-overdue.pill-active{background:#8ba0c4;color:#fff}.dash-empty{font-size:11px;color:#999;text-align:center;padding:12px 0}.dash-card-body{flex:1;overflow-y:auto;min-height:0}.dash-card-body::-webkit-scrollbar{width:4px}.dash-card-body::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}.acc-item{background:#f7f4f4;border-radius:14px;margin-bottom:14px;overflow:hidden;box-shadow:0 3px 8px #0000001f;border-left:8px solid #59d97f}.acc-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.acc-header:hover{background:#59d97f0a}.acc-id{font-size:1rem;font-weight:700;color:#1b1b1b}.acc-arrow{font-size:18px;color:#2f2f2f;flex-shrink:0}.acc-body{padding:0 16px 16px;border-top:none}.acc-line{font-size:.95rem;color:#2f2f2f;margin:6px 0}.acc-line strong{color:#151515}.btn-view-sub{margin-top:14px;background:#4b9ac8;color:#fff;border:none;border-radius:12px;padding:10px 18px;font-size:.95rem;font-weight:600;cursor:pointer}.btn-view-sub:hover{background:#3f89b4}.act-item{position:relative;background:#f7f4f4;border-radius:14px;padding:14px 12px;display:flex;gap:10px;margin-bottom:12px;align-items:flex-start;box-shadow:0 3px 8px #0000001f}.act-day-badge{position:absolute;top:12px;right:12px;background:#e8ecf1;color:#5a6a72;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:8px}.act-bar{width:8px;min-height:100%;border-radius:10px;flex-shrink:0;align-self:stretch}.act-bar.green{background:#57d982}.act-bar.yellow{background:#f7ef58}.act-bar.purple{background:#94a0eb}.act-bar.orange{background:#ff8a65}.act-bar.red{background:#e85d5d}.act-content{flex:1;min-width:0}.act-date{font-size:.82rem;font-weight:700;color:#232323;margin:0 0 4px}.act-label{font-size:.88rem;font-weight:700;margin:0 0 4px;text-decoration:underline}.act-label.green,.act-label.yellow,.act-label.purple,.act-label.red{color:#111}.act-line{font-size:.85rem;color:#333;margin:2px 0;line-height:1.4}@media(max-width:1200px){.dashboard{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;overflow-y:auto}.dash-live-section{grid-column:1 / -1;grid-row:1;max-height:280px}.calendar{grid-column:1 / -1;grid-row:2}.dash-card{grid-row:auto;grid-column:auto}.dashboard>:nth-child(3){grid-column:1;grid-row:auto}.dashboard>:nth-child(4){grid-column:2;grid-row:auto}.dashboard>:nth-child(5){grid-column:1 / -1;grid-row:auto}}@media(max-width:768px){.dashboard{grid-template-columns:1fr;grid-template-rows:auto;padding:16px;gap:16px;overflow-y:auto}.dash-live-section{grid-column:1;max-height:260px}.dash-live-row{grid-template-columns:repeat(6,minmax(180px,1fr))}.calendar{grid-column:1}.dash-card{grid-column:1;grid-row:auto;max-height:400px}.dashboard>:nth-child(3),.dashboard>:nth-child(4),.dashboard>:nth-child(5){grid-column:1;grid-row:auto}.dash-live-section,.dash-card,.calendar{padding:18px;border-radius:18px}.calendar-grid{gap:6px}.cal-date{width:36px;height:36px;font-size:.9rem}.dash-card-header{gap:12px;align-items:flex-start;flex-direction:column}.dash-pills{width:100%;justify-content:flex-start;flex-wrap:wrap}.dash-filter{width:100%;max-width:180px}.dash-card-body{display:flex;flex-direction:column;gap:12px;flex:unset;overflow:visible;min-height:auto}}.cl-wrapper{background:#bcd6da;height:100%;display:flex;flex-direction:column;gap:12px}.cl-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.cl-back-btn:hover{background:#3d9aa8}.cl-container{background:#f5fbfc;border-radius:20px;padding:24px 28px 32px;min-height:calc(100vh - 108px)}.cl-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d5e6ea;padding-bottom:12px;margin-bottom:22px}.cl-top h2{font-size:18px;font-weight:600;color:#1f2d3d}.cl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.cl-card{background:#f2f0ec;border-radius:12px;padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;cursor:pointer;transition:box-shadow .2s}.cl-card:hover{box-shadow:0 4px 12px #0000001a}.cl-card-name{font-size:15px;font-weight:600;color:#2c2c2c}.cl-card-right{text-align:right;align-self:flex-end}.cl-card-count{font-size:34px;font-weight:700;color:#4ba7b5;display:block;line-height:1}.cl-card-label{font-size:12px;color:#4ba7b5}.classes-wrapper{background:#bcd6da;min-height:100%;overflow-x:hidden;overflow-y:visible}.classes-container{background:#f5fbfc;border-radius:20px;padding:24px 28px;min-height:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:visible;min-width:0}.classes-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d5e6ea;padding-bottom:12px;margin-bottom:16px;flex-shrink:0;gap:12px}.classes-top h2{font-size:18px;font-weight:600;color:#1f2d3d;min-width:0}.search-box{position:relative;flex-shrink:0}.search-box input{width:180px;height:30px;border-radius:20px;border:1px solid #cfdde2;padding:0 30px 0 12px;font-size:13px;outline:none;background:#fff;max-width:100%}.search-box .search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9bb;font-size:14px;pointer-events:none}.classes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;flex:1;min-height:0;width:100%;min-width:0}.subject-card{background:#f0f0f0;border-radius:12px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;box-shadow:2px 2px 2px #00000040;cursor:pointer;min-width:0;overflow:hidden}.subject-title{font-size:15px;font-weight:600;color:#2c2c2c;min-width:0;word-break:break-word}.subject-right{text-align:right;align-self:flex-end;min-width:0}.subject-count{font-size:34px;font-weight:700;color:#4ba7b5;line-height:1;vertical-align:baseline}.subject-label{font-size:12px;color:#4ba7b5;vertical-align:baseline;word-break:break-word}@media(max-width:768px){.classes-container{padding:20px;border-radius:18px}.subject-card{padding:20px}}@media(max-width:480px){.classes-container{padding:16px;border-radius:16px}.classes-top{flex-direction:column;align-items:stretch;gap:12px}.classes-top h2{font-size:17px}.search-box{width:100%}.search-box input{width:100%;height:36px}.classes-grid{gap:12px}.subject-card{padding:18px}.subject-title{font-size:14px}.subject-count{font-size:30px}.subject-label{font-size:11px}}:root{--panel: #ffffff;--stroke: rgba(0,0,0,.1);--shadow: 0 14px 30px rgba(0,0,0,.12);--shadow2: 0 10px 20px rgba(0,0,0,.08);--dark: #0b1620;--brand: #0b5b5b;--brand-soft: #eef6f6;--text: #102a2a;--muted: rgba(16,42,42,.65);--danger: #d92d20;--danger-hover: #b42318;--warn: #f5b301;--warn-bg: #fff8e1;--r20: 20px;--r16: 16px;--r14: 14px;--r12: 12px}.studentLayout__right{height:100vh;display:flex;flex-direction:column;overflow:hidden}.studentLayout__page:has(.classroom-layout){flex:1;min-height:0;overflow:hidden!important;display:flex!important;padding:14px!important}.lk-room-container{flex:1;min-height:0;display:flex}.classroom-layout{flex:1;min-height:0;height:100%;display:grid;grid-template-columns:1fr 360px;gap:14px;align-items:stretch;overflow:hidden;position:relative}.main-stage{min-height:0;position:relative;overflow:hidden}.main-stage.full-width{grid-column:1 / -1}.main-stage video{width:100%;height:100%;min-height:0;object-fit:cover;background:var(--dark);border-radius:var(--r20);box-shadow:var(--shadow)}.main-stage video.lk-screen-share{object-fit:contain}.pip-camera{position:absolute;bottom:90px;right:16px;width:180px;height:120px;border-radius:var(--r14);overflow:hidden;box-shadow:0 8px 24px #00000059;border:2px solid rgba(255,255,255,.25);z-index:25;cursor:grab;transition:transform .15s}.pip-camera:hover{transform:scale(1.04)}.pip-camera video{width:100%;height:100%;object-fit:cover;border-radius:0!important}.video-overlay-actions{position:absolute;top:14px;right:14px;z-index:30;display:flex;gap:8px}.ov-btn{width:38px;height:38px;border:none;background:#0f1720ad;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,transform .15s}.ov-btn:hover{background:#0f1720e0;transform:scale(1.08)}.rh-toasts{position:absolute;top:14px;left:14px;z-index:50;display:flex;flex-direction:column;gap:8px;pointer-events:none}.rh-toast{background:#f5b301f5;color:#102a2a;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;box-shadow:0 6px 18px #00000038;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rhToastIn .3s ease}@keyframes rhToastIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.classroom-layout.fs-mode{position:fixed;inset:0;z-index:9999;width:100vw;height:100vh;background:var(--dark);gap:0;border-radius:0}.classroom-layout.fs-mode .main-stage video{border-radius:0}.classroom-layout.fs-mode .right-sidebar{border-radius:0;border-top:none;border-bottom:none;border-right:none;border-left:1px solid rgba(255,255,255,.08)}.right-sidebar{min-height:0;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r20);box-shadow:var(--shadow2);overflow:hidden;display:flex;flex-direction:column}.right-sidebar>:first-child{padding:12px;max-height:220px;overflow:auto;border-bottom:1px solid var(--stroke)}.right-sidebar>:last-child{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.waiting-screen{height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.waiting-screen h2{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--r16);padding:16px 18px;box-shadow:var(--shadow2);color:var(--text);margin:0}.participants-wrapper{display:flex;flex-direction:column;gap:10px}.participants-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#f3f8f8;border:1px solid rgba(0,0,0,.06);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:900;color:var(--text)}.participants-row{display:flex;flex-direction:column;gap:10px;max-height:180px;overflow-y:auto;padding-right:4px}.participant-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r14);background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 16px #0000000d}.participant-card.hand-raised{border:1px solid var(--warn);background:var(--warn-bg);box-shadow:0 6px 16px #f5b3012e}.participant-avatar{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;background:var(--brand);flex-shrink:0}.participant-name{display:flex;align-items:center;font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.raised-hand-icon{margin-left:8px;font-size:16px}.participant-mute-btn{margin-left:auto;flex-shrink:0;width:30px;height:30px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:#f9fafb;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s}.participant-mute-btn:hover{background:#fee2e2;transform:scale(1.08)}.chat-panel{height:100%;display:flex;flex-direction:column;min-height:0}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:12px;background:linear-gradient(180deg,#fff,#f6fbfb);display:flex;flex-direction:column;gap:8px}.chat-empty{font-size:13px;color:var(--muted);text-align:center;margin-top:20px}.chat-row{display:flex}.chat-row.me{justify-content:flex-end}.chat-row.other{justify-content:flex-start}.chat-bubble{max-width:82%;background:#f2f7f7;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:8px 12px;box-shadow:0 4px 12px #0000000d;color:var(--text)}.chat-bubble.me-bubble{background:var(--brand);color:#fff;border-color:transparent}.chat-bubble.teacher-bubble{background:#0369a1;color:#fff;border-color:transparent}.chat-name{display:block;font-size:10px;font-weight:800;color:var(--muted);margin-bottom:3px;letter-spacing:.2px}.chat-bubble.me-bubble .chat-name,.chat-bubble.teacher-bubble .chat-name{color:#ffffffbf}.teacher-tag{font-weight:600;opacity:.85}.chat-text{font-size:13px;line-height:1.45;word-break:break-word}.chat-time{font-size:10px;opacity:.55;margin-top:4px;text-align:right}.chat-input-area{display:flex;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid var(--stroke);background:var(--panel)}.chat-input-area input{flex:1;padding:11px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.14);outline:none;font-size:13px}.chat-input-area input:focus{border-color:#0b5b5b73;box-shadow:0 0 0 4px #0b5b5b1a}.chat-input-area button{border:none;cursor:pointer;border-radius:999px;padding:10px 12px;font-weight:900;background:var(--brand-soft);display:flex;align-items:center;justify-content:center}.chat-input-area button:last-child{background:var(--brand);color:#fff;padding:10px 14px}.raise-hand-btn{width:42px;height:42px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#fff7e6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.raise-hand-btn:hover{transform:translateY(-1px);background:#fef3c7}.control-bar,.teacher-controls{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0f1720c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;z-index:40;box-shadow:0 10px 24px #00000040}.control-bar button,.teacher-controls .control-btn{border:none;outline:none;min-width:90px;height:44px;padding:0 16px;border-radius:999px;background:#ffffff1f;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.control-bar button:hover,.teacher-controls .control-btn:hover{background:#ffffff38;transform:translateY(-1px)}.control-bar button:active,.teacher-controls .control-btn:active{transform:translateY(0)}.control-btn.off{background:#8b0000!important}.control-bar button:last-child,.teacher-controls .end-call-btn{background:var(--danger)}.control-bar button:last-child:hover,.teacher-controls .end-call-btn:hover{background:var(--danger-hover)}@media(max-width:900px){.classroom-layout{grid-template-columns:1fr}.right-sidebar{position:fixed;right:14px;top:74px;width:min(380px,92vw);height:calc(100vh - 94px);z-index:50}}@media(max-width:768px){.control-bar,.teacher-controls{bottom:14px;width:calc(100% - 24px);max-width:520px;padding:10px;gap:8px;flex-wrap:wrap;justify-content:center;border-radius:18px}.control-bar button,.teacher-controls .control-btn{min-width:90px;height:40px;font-size:13px;padding:0 12px}.video-overlay-actions{top:10px;right:10px}.ov-btn{width:34px;height:34px}}.assignments-page{display:flex;flex-direction:column;gap:12px;height:100%}.assignments-loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:15px;color:#888}.assignments-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0;transition:background .2s ease,transform .1s ease}.assignments-back-btn:hover{background:#3d9aa8}.assignments-back-btn:active{transform:scale(.97)}.assignments-title-container{background:#f5fbfc;border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.assignments-title-left{display:flex;align-items:center;gap:10px}.assignments-title{font-size:22px;font-weight:700;color:#1f2d3d;margin:0}.assignments-count-badge{background:#4ba7b5;color:#fff;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;line-height:1.6}.assignments-search{position:relative}.assignments-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:180px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.assignments-search input:focus{border-color:#4ba7b5;box-shadow:0 0 0 3px #4ba7b51f}.assignments-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.assignments-list-container{background:#f5fbfc;border-radius:16px;padding:28px 32px;flex:1;overflow-y:auto;min-height:0}.assignments-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.assignments-create-btn{background:#4ba7b5;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.assignments-create-btn:hover{background:#3d9aa8;box-shadow:0 4px 12px #4ba7b54d;transform:translateY(-1px)}.assignments-create-btn:active{transform:scale(.97)}.assignments-list{display:flex;flex-direction:column;gap:10px}.assignments-empty{text-align:center;padding:40px 16px;color:#aaa;font-size:14px}.assignment-row{display:flex;align-items:center;background:#fff;border-radius:10px;padding:16px 24px;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s ease,transform .15s ease;cursor:default}.assignment-row:hover{box-shadow:0 4px 14px #00000017;transform:translateY(-2px)}.assignment-row:nth-child(2n){background:#f7f9fa}.assignment-info{display:flex;flex-direction:column;flex:1.5;min-width:0}.assignment-id{font-size:13px;font-weight:600;color:#1f2d3d}.assignment-name{font-size:12px;color:#6b7b8d;margin-top:2px}.assignment-detail{display:flex;flex-direction:column;align-items:center;flex:1}.assignment-label{font-size:11px;color:#6b7b8d}.assignment-value{font-size:13px;color:#1f2d3d;margin-top:2px}.assignment-value.bold{font-weight:700;font-size:15px}.assignment-value.bold.has-submissions{color:#38b89a}.assignment-value.bold.no-submissions{color:#bbb}.assignment-view-btn{background:#4ba7b5;color:#fff;border:none;border-radius:20px;padding:6px 22px;font-size:13px;font-weight:500;cursor:pointer;margin-left:16px;transition:background .2s ease,transform .1s ease}.assignment-view-btn:hover{background:#3d9aa8}.assignment-view-btn:active{transform:scale(.97)}@media(max-width:768px){.assignments-page{gap:10px}.assignments-back-btn{font-size:12px;padding:6px 14px}.assignments-title-container{padding:16px;flex-direction:column;align-items:stretch;gap:12px}.assignments-title{font-size:20px}.assignments-search{width:100%}.assignments-search input{width:100%;height:38px}.assignments-list-container{padding:16px}.assignments-actions{justify-content:stretch;margin-bottom:12px}.assignments-create-btn{width:100%;padding:10px 16px}.assignment-row{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.assignment-info{width:100%;flex:unset;min-width:0}.assignment-id{font-size:13px;word-break:break-word}.assignment-name{font-size:12px;line-height:1.4;word-break:break-word}.assignment-detail{width:100%;flex:unset;display:grid;grid-template-columns:90px 1fr;align-items:start;gap:4px 10px}.assignment-label{font-size:12px;font-weight:600;text-align:left}.assignment-value{font-size:13px;margin-top:0;text-align:left;word-break:break-word}.assignment-value.bold{font-size:14px}.assignment-view-btn{margin-left:0;margin-top:4px;align-self:flex-end;padding:8px 18px;border-radius:10px}}@media(max-width:480px){.assignments-title-container{padding:14px}.assignments-title{font-size:18px}.assignments-list-container{padding:14px}.assignment-row{padding:12px;gap:10px}.assignment-detail{grid-template-columns:80px 1fr;gap:4px 8px}.assignment-label,.assignment-value{font-size:12px}.assignment-value.bold{font-size:13px}.assignment-view-btn{width:100%;align-self:stretch;text-align:center}}.create-assignment-page{display:flex;flex-direction:column;gap:12px;height:100%}.ca-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.ca-back-btn:hover{background:#3d9aa8}.ca-title-container{background:#fff;border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.ca-title{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.ca-search{position:relative}.ca-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:160px;background:#fff}.ca-search input:focus{border-color:#4ba7b5}.ca-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.ca-form-container{background:#fff;border-radius:16px;padding:28px 32px;flex:1;overflow-y:auto;min-height:0}.ca-form{display:flex;flex-direction:column;gap:24px;max-width:520px}.ca-field{display:flex;flex-direction:column;gap:8px}.ca-label{font-size:14px;font-weight:700;color:#1f2d3d}.ca-input{padding:10px 14px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#e0e0e0;color:#333;outline:none}.ca-input:focus{border-color:#4ba7b5;background:#fff}.ca-textarea{padding:10px 14px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#d5d5d5;color:#333;outline:none;resize:vertical;min-height:120px;font-family:inherit}.ca-textarea:focus{border-color:#4ba7b5;background:#fff}.ca-date-wrapper{display:flex;align-items:center;gap:12px}.ca-date-display{padding:8px 16px;border:1px solid #ccc;border-radius:4px;font-size:14px;color:#1f2d3d;background:#fff}.ca-date-icon-wrapper{position:relative;cursor:pointer}.ca-date-icon{font-size:22px;color:#1f2d3d}.ca-date-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.ca-add-file-btn{background:#38b89a;color:#fff;border:none;border-radius:20px;padding:8px 28px;font-size:13px;font-weight:600;cursor:pointer;width:fit-content}.ca-add-file-btn:hover{background:#2ea88a}.ca-actions{display:flex;justify-content:flex-end;margin-top:16px}.ca-create-btn{background:#38b89a;color:#fff;border:none;border-radius:8px;padding:10px 40px;font-size:14px;font-weight:600;cursor:pointer}.ca-create-btn:hover{background:#2ea88a}.ca-file-name{font-size:13px;color:#555}.ca-error{font-size:12px;color:#e74c3c;font-weight:500}.ca-input-error{border-color:#e74c3c!important}.ca-btn-error{outline:2px solid #e74c3c}.assignment-view-page{display:flex;flex-direction:column;gap:12px;height:100%}.av-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.av-back-btn:hover{background:#3d9aa8}.av-header{background:#fff;border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.av-title{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.av-search{position:relative}.av-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:160px;background:#fff}.av-search input:focus{border-color:#4ba7b5}.av-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.av-content-card{background:#fff;border-radius:16px;padding:24px 32px 40px;flex:1;overflow-y:auto;min-height:0}.av-edit-row{display:flex;justify-content:flex-end;margin-bottom:12px}.av-edit-btn{background:#4ba7b5;color:#fff;border:none;border-radius:8px;padding:8px 28px;font-size:13px;font-weight:600;cursor:pointer}.av-edit-btn:hover{background:#3d9aa8}.av-details{display:flex;flex-direction:column;gap:22px;padding:0 60px}.av-detail-line{margin:0;font-size:15px;color:#1f2d3d}.av-label{font-weight:400;color:#1f2d3d}.av-value-bold{font-weight:700;color:#1f2d3d}.av-dates{display:flex;gap:120px}.av-description{font-size:15px;color:#1f2d3d;line-height:1.75}.av-desc-text{white-space:pre-line}.av-file-card{display:flex;align-items:center;gap:24px;background:#e0e0e0;border-radius:12px;padding:14px 28px 14px 14px;width:fit-content;margin:12px auto 0}.av-file-icon-box{background:#c5c5c5;border-radius:10px;width:68px;height:68px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.av-file-icon{font-size:34px;color:#666}.av-file-name{font-size:14px;font-weight:500;color:#1f2d3d}.av-actions{display:flex;justify-content:center;margin-top:16px}.av-view-submission-btn{background:#38b89a;color:#fff;border:none;border-radius:24px;padding:10px 32px;font-size:14px;font-weight:600;cursor:pointer}.av-view-submission-btn:hover{background:#2ea88a}.sv-page{display:flex;flex-direction:column;gap:12px;height:100%}.sv-loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:15px;color:#888}.sv-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0;transition:background .2s ease,transform .1s ease}.sv-back-btn:hover{background:#3d9aa8}.sv-back-btn:active{transform:scale(.97)}.sv-header{background:#fff;border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sv-title{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.sv-search{position:relative}.sv-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:160px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.sv-search input:focus{border-color:#4ba7b5;box-shadow:0 0 0 3px #4ba7b51f}.sv-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.sv-content-card{background:#fff;border-radius:16px;padding:24px 32px 40px;flex:1;overflow-y:auto;min-height:0}.sv-summary{display:flex;justify-content:center;align-items:center;gap:32px;margin-bottom:16px}.sv-stat-chip{display:flex;align-items:baseline;gap:4px;padding:8px 20px;border-radius:10px;cursor:pointer;border:2px solid transparent;transition:background .2s ease,border-color .2s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.sv-stat-chip:hover{transform:translateY(-2px)}.sv-stat-chip:active{transform:scale(.97)}.sv-stat-chip.submitted{background:#f0fdf8;color:#38b89a}.sv-stat-chip.submitted.active{border-color:#38b89a;background:#e0f7f1}.sv-stat-chip.pending{background:#fff5f5;color:#e74c3c}.sv-stat-chip.pending.active{border-color:#e74c3c;background:#fce8e8}.sv-stat-number{font-size:22px;font-weight:800}.sv-stat-slash{font-size:16px;font-weight:600;opacity:.6}.sv-stat-total{font-size:16px;font-weight:600;opacity:.7}.sv-stat-label{font-size:13px;font-weight:600;margin-left:6px;opacity:.85}.sv-clear-filter{background:transparent;border:none;font-size:12px;color:#4ba7b5;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.sv-clear-filter:hover{background:#eef6f8}.sv-progress-bar-track{width:100%;height:6px;background:#f0f0f0;border-radius:99px;overflow:hidden;margin-bottom:6px}.sv-progress-bar-fill{height:100%;background:linear-gradient(90deg,#38b89a,#4ba7b5);border-radius:99px;transition:width .5s ease}.sv-progress-label{text-align:center;font-size:12px;color:#888;margin:0 0 20px}.sv-table{width:100%;border-collapse:collapse;margin-top:8px}.sv-table thead tr{border-bottom:2px solid #e0e0e0}.sv-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#1f2d3d}.sv-table td{padding:14px 16px;font-size:14px;color:#1f2d3d}.sv-table-row{border-bottom:1px solid #f0f0f0;transition:background .2s ease,transform .1s ease}.sv-table-row:hover{background:#f4fafb;transform:scale(1.002)}.sv-name-cell{font-weight:500}.sv-status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.sv-status-badge.submitted{background:#e0f7f1;color:#38b89a}.sv-status-badge.pending{background:#fce8e8;color:#e74c3c}.sv-review-btn{display:inline-block;background:#38b89a;color:#fff;border:none;border-radius:6px;padding:6px 20px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s ease,transform .1s ease}.sv-review-btn:hover{background:#2ea88a}.sv-review-btn:active{transform:scale(.97)}.sv-no-file{color:#bbb}.sv-empty{text-align:center;padding:32px;color:#aaa;font-size:14px}.quizzes-page{display:flex;flex-direction:column;gap:12px;height:100%}.quizzes-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.quizzes-back-btn:hover{background:#3d9aa8}.quizzes-title-container{background:#f5fbfc;border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:12px}.quizzes-title{font-size:22px;font-weight:700;color:#1f2d3d;margin:0}.quizzes-search{position:relative;flex-shrink:0}.quizzes-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:180px;background:#fff}.quizzes-search input:focus{border-color:#4ba7b5}.quizzes-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.quizzes-list-container{background:#f5fbfc;border-radius:16px;padding:28px 32px;flex:1;overflow-y:auto;min-height:0}.quizzes-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.quizzes-create-btn{background:#4ba7b5;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer}.quizzes-create-btn:hover{background:#3d9aa8}.quizzes-list{display:flex;flex-direction:column;gap:10px}.quiz-row{display:flex;align-items:center;background:#fff;border-radius:10px;padding:16px 24px;box-shadow:0 1px 3px #0000000f;gap:12px}.quiz-row:nth-child(2n){background:#f7f9fa}.quiz-info{display:flex;flex-direction:column;flex:1.5;min-width:0}.quiz-id{font-size:13px;font-weight:600;color:#1f2d3d;word-break:break-word}.quiz-creator{font-size:12px;color:#4ba7b5;margin-top:2px;word-break:break-word}.quiz-publish-btn{background:#f0a500;color:#fff;border:none;border-radius:20px;padding:7px 22px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;min-width:100px;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 2px 6px #f0a50059}.quiz-publish-btn:hover{background:#d4920a;transform:translateY(-2px);box-shadow:0 4px 12px #f0a50073}.quiz-publish-btn:active{transform:translateY(0);box-shadow:0 1px 4px #f0a5004d}.quiz-publish-btn.loading{background:#c98e08;cursor:not-allowed;transform:none;box-shadow:none;opacity:.75}.quiz-delete-btn{background:#e74c3c;color:#fff;border:none;border-radius:20px;padding:6px 22px;font-size:13px;font-weight:500;cursor:pointer;flex-shrink:0}.quiz-delete-btn:hover{background:#c0392b}.quiz-name{font-size:12px;color:#6b7b8d;margin-top:2px;word-break:break-word}.quiz-detail{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.quiz-label{font-size:11px;color:#6b7b8d;text-align:center}.quiz-value{font-size:13px;color:#1f2d3d;margin-top:2px;text-align:center;word-break:break-word}.quiz-value.bold{font-weight:700;font-size:15px}.quiz-view-btn{background:#4ba7b5;color:#fff;border:none;border-radius:20px;padding:7px 22px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 2px 6px #4ba7b559}.quiz-view-btn:hover{background:#3a96a4;transform:translateY(-2px);box-shadow:0 4px 12px #4ba7b573}.quiz-view-btn:active{transform:translateY(0);box-shadow:0 1px 4px #4ba7b54d}.quizzes-empty{text-align:center;color:#6b7b8d;font-size:14px;padding:40px 0}@media(max-width:480px){.quiz-row{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:8px 10px;align-items:center;padding:12px 10px}.quiz-info{grid-column:1;min-width:0}.quiz-row .quiz-detail:nth-of-type(1){grid-column:2;text-align:center;min-width:0}.quiz-row .quiz-detail:nth-of-type(2){grid-column:3;text-align:center;min-width:0}.quiz-view-btn{grid-column:1 / -1;justify-self:center;width:110px;max-width:110px;margin-top:6px;min-width:0}.quiz-info,.quiz-detail{font-size:13px;line-height:1.3}}@media(max-width:480px){.quiz-detail{font-size:12px}.quiz-detail strong,.quiz-detail span,.quiz-detail p{margin:0}}.quiz-actions{display:flex;align-items:center;gap:10px;min-width:180px;justify-content:flex-end}.quiz-published-badge{display:inline-flex;align-items:center;justify-content:center;min-width:100px;height:36px;color:green;font-weight:600;font-size:14px}.quiz-published-badge{display:inline-flex;align-items:center;justify-content:center;min-width:100px;height:34px;border-radius:20px;background:#e6f9f0;color:#27ae60;font-weight:700;font-size:13px;border:1.5px solid #27ae60;padding:0 14px}.qz-modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.qz-modal{background:#fff;border-radius:16px;padding:32px 28px;width:320px;text-align:center;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;align-items:center;gap:10px}.qz-modal-icon{font-size:36px}.qz-modal-title{font-size:17px;font-weight:700;color:#1f2d3d;margin:0}.qz-modal-msg{font-size:13px;color:#6b7b8d;margin:0;line-height:1.5}.qz-modal-btn{margin-top:8px;background:#4ba7b5;color:#fff;border:none;border-radius:999px;padding:9px 32px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.qz-modal-btn:hover{background:#3d9aa8}.create-quiz-page{min-height:100vh;width:100%;padding:16px;background:#dce3e8;display:flex;flex-direction:column;gap:10px;box-sizing:border-box}.cq-back-btn{width:fit-content;border:none;background:#6d7f99;color:#fff;font-size:13px;font-weight:600;padding:8px 14px;border-radius:8px;cursor:pointer}.cq-back-btn:hover{background:#5f718c}.cq-shell{width:100%;max-width:none;background:#e9eef2;border:1px solid #c9d0d6;border-radius:22px;overflow:hidden;box-shadow:0 2px 10px #00000014;display:flex;flex-direction:column;height:auto;min-height:0}.cq-title-container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;border-bottom:1px solid #8f969d;flex-wrap:wrap}.cq-title-input{width:260px;height:38px;border:1px solid #c8ccd0;border-radius:8px;background:#fff;padding:0 12px;font-size:14px;outline:none;color:#333}.cq-title-input:focus,.cq-question-input:focus,.cq-option-input:focus,.cq-explanation-input:focus{border-color:#8ea2bd;box-shadow:0 0 0 2px #8ea2bd1f}.cq-created-by{margin:0;font-size:15px;font-weight:500;color:#222;white-space:nowrap}.cq-form-container{padding:18px}.cq-questions-list{background:#efefef;border:1px solid #d1d1d1;border-radius:16px;padding:24px 24px 28px;display:flex;flex-direction:column;gap:20px;max-height:none;overflow:visible}.cq-question-block{display:flex;flex-direction:column;gap:16px;padding:18px 18px 20px;background:#f3f3f3;border:1px solid #dddddd;border-radius:14px}.cq-question-top{display:flex;align-items:center;gap:12px}.cq-qno{font-size:14px;font-weight:700;color:#232323;min-width:32px}.cq-question-input{width:100%;max-width:786px;height:40px;border:1px solid #c8ccd0;border-radius:6px;background:#fff;padding:0 12px;font-size:14px;font-weight:500;color:#333;outline:none}.cq-question-input::placeholder,.cq-option-input::placeholder,.cq-explanation-input::placeholder{color:#777;opacity:1}.cq-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 70px;width:100%;max-width:980px;padding-left:44px}.cq-option-row{display:flex;align-items:center;gap:8px;min-width:0}.cq-option-letter{min-width:16px;font-size:13px;color:#333}.cq-option-input{width:100%;max-width:250px;height:34px;border:1px solid #c8ccd0;border-radius:6px;background:#fff;padding:0 10px;font-size:13px;font-weight:500;color:#333;outline:none}.cq-answer-row{display:flex;align-items:center;gap:10px;padding-left:44px;flex-wrap:wrap}.cq-answer-label{font-size:13px;font-weight:700;color:#2a2a2a;min-width:82px}.cq-answer-choices{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cq-answer-choice{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#2a2a2a;cursor:pointer}.cq-answer-choice input[type=radio]{width:14px;height:14px;accent-color:#687c99;cursor:pointer}.cq-explanation-row{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:start;padding-left:44px}.cq-explanation-input{width:100%;min-height:96px;border:1px solid #c8ccd0;border-radius:8px;background:#fff;padding:10px 12px;font-size:13px;color:#333;outline:none;resize:vertical;box-sizing:border-box;font-family:inherit;line-height:1.4}.cq-bottom-row{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-top:16px}.cq-add-question-btn{border:none;background:#6d7f99;color:#fff;font-size:14px;font-weight:600;padding:11px 20px;border-radius:10px;cursor:pointer}.cq-add-question-btn:hover{background:#5f718c}.cq-create-btn{min-width:138px;border:none;background:#1ec48d;color:#fff;font-size:14px;font-weight:700;padding:11px 20px;border-radius:10px;cursor:pointer}.cq-create-btn:hover{background:#17b17f}.cq-create-btn:disabled{opacity:.7;cursor:not-allowed}.cq-questions-list::-webkit-scrollbar{width:6px}.cq-questions-list::-webkit-scrollbar-thumb{background:#9aa7b7;border-radius:10px}@media(max-width:768px){.create-quiz-page{padding:12px}.cq-title-container{padding:18px;align-items:flex-start}.cq-title-input{width:100%}.cq-form-container{padding:12px}.cq-questions-list{padding:16px}.cq-question-block{padding:16px 14px}.cq-question-top{flex-direction:column;align-items:flex-start}.cq-question-input{max-width:100%}.cq-options-grid{grid-template-columns:1fr;gap:12px;padding-left:0;max-width:100%}.cq-option-input{max-width:100%}.cq-answer-row{padding-left:0}.cq-explanation-row{grid-template-columns:1fr;padding-left:0}.cq-bottom-row{flex-direction:column;align-items:stretch;gap:10px}.cq-add-question-btn,.cq-create-btn{width:100%}}@media(max-width:768px){.dashboard{gap:12px}.dash-top,.dash-bottom,.dash-live-row{display:flex;flex-direction:column;gap:12px}.dash-card{width:100%;min-width:0}.dash-card-header{flex-wrap:wrap;gap:10px}.dash-pills{flex-wrap:wrap}}.cq-timer-picker{display:flex;flex-direction:column;gap:8px;margin-top:12px}.cq-timer-label{font-size:13px;color:#666}.cq-timer-presets{display:flex;gap:8px;flex-wrap:wrap}.cq-timer-btn{padding:6px 14px;border:1px solid #ccc;border-radius:20px;background:#fff;cursor:pointer;font-size:13px;transition:all .15s}.cq-timer-btn.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.cq-timer-custom-input{width:140px;padding:6px 10px;border:1px solid #ccc;border-radius:8px;font-size:14px}.cq-timer-display{font-size:12px;color:#888}.cq-field-error{display:flex;align-items:center;gap:7px;margin-top:6px;padding:6px 11px 6px 8px;background:#fff3f3;border:1px solid #f5c6c6;border-left:3px solid #e74c3c;border-radius:0 6px 6px 0;font-size:12.5px;color:#c0392b;font-weight:500;width:fit-content;max-width:100%;animation:cq-error-in .22s cubic-bezier(.34,1.56,.64,1);transform-origin:left top}.cq-field-error-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e74c3c;color:#fff;font-size:11px;font-weight:700;flex-shrink:0;animation:cq-icon-pulse .6s ease .1s 2}.cq-field-error-close{margin-left:6px;cursor:pointer;color:#c0392b;font-size:14px;line-height:1;opacity:.6;flex-shrink:0;background:none;border:none;padding:0;font-family:inherit}.cq-field-error-close:hover{opacity:1}.cq-input-error{border:1.5px solid #e74c3c!important;background:snow!important;animation:cq-shake .38s cubic-bezier(.36,.07,.19,.97)}@keyframes cq-error-in{0%{opacity:0;transform:scale(.85) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cq-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@keyframes cq-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.cq-title-field{display:flex;flex-direction:column}.qv-loading{padding:40px;color:#666}.quiz-view-page{display:flex;flex-direction:column;gap:12px;height:100%}.qv-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.qv-back-btn:hover{background:#3d9aa8}.qv-header{background:#fff;border-radius:12px;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0;flex-shrink:0}.qv-title{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.qv-search{position:relative}.qv-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:180px;background:#fff}.qv-search input:focus{border-color:#4ba7b5}.qv-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#4ba7b5;font-size:14px}.qv-content-card{background:#fff;border-radius:16px;flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.qv-edit-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px 0}.qv-edit-btn{background:#38b89a;color:#fff;border:none;border-radius:8px;padding:8px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.qv-edit-btn:hover{background:#2ea688}.qv-details{padding:16px 48px 40px;flex:1}.qv-quiz-title{font-size:18px;font-weight:700;color:#1f2d3d;margin:0 0 6px}.qv-teacher-info{font-size:13px;color:#555;margin:0 0 4px}.qv-dates-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.qv-date-text{font-size:13px;font-weight:700;color:#1f2d3d}.qv-question-count{font-size:12px;color:#38b89a;background:#e6f9f5;border-radius:999px;padding:3px 12px;font-weight:600}.qv-questions-list{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.qv-question-block{background:#f0f0f0;border-radius:10px;padding:14px 20px;border:1.5px solid transparent;transition:box-shadow .2s,border-color .2s}.qv-question-block:hover{box-shadow:0 2px 8px #00000012;border-color:#d8d8d8}.qv-question-row{margin-bottom:12px}.qv-question-text{font-size:14px;font-weight:600;color:#1f2d3d;line-height:1.5}.qv-q-num{color:#38b89a;margin-right:5px}.qv-options-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.qv-option{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#444;background:#e8e8e8;border:1.5px solid transparent;border-radius:8px;padding:6px 14px;cursor:default;transition:background .15s,border-color .15s}.qv-option input[type=radio]{accent-color:#38b89a;margin:0;width:14px;height:14px;cursor:default}.qv-option-answer{background:#d4f5ec;border-color:#38b89a;color:#1a7a61;font-weight:600}.qv-check-icon{color:#38b89a;font-size:15px;flex-shrink:0}.qv-answer-pill{display:inline-flex;align-items:center;gap:6px;background:#d4f5ec;color:#1a7a61;font-size:12px;border-radius:8px;padding:5px 14px}.qv-no-results{text-align:center;color:#aaa;font-size:14px;padding:32px 0}.qv-actions{display:flex;justify-content:center;margin-top:8px}.qv-view-submission-btn{background:#38b89a;color:#fff;border:none;border-radius:999px;padding:10px 36px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.qv-view-submission-btn:hover{background:#2ea688}.qsv-page{display:flex;flex-direction:column;gap:12px;height:100%}.qsv-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.qsv-back-btn:hover{background:#3d9aa8}.qsv-content-card{background:#f5fbfc;border-radius:16px;padding:28px 32px 40px;flex:1;overflow-y:auto;min-height:0}.qsv-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 16px}.qsv-title{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.qsv-count{font-size:22px;font-weight:700}.qsv-count-green{color:#38b89a}.qsv-count-red{color:#e74c3c}.qsv-tabs-search-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.qsv-tabs{display:flex;background:#e8e8e8;border-radius:24px;overflow:hidden}.qsv-tab{padding:8px 28px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:#555;border-radius:24px}.qsv-tab-active-pending{background:#38b89a;color:#fff}.qsv-tab-active-submitted{background:#2d3748;color:#fff}.qsv-search{position:relative}.qsv-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:160px;background:#fff}.qsv-search input:focus{border-color:#4ba7b5}.qsv-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.qsv-table{width:100%;border-collapse:collapse}.qsv-table thead tr{border-bottom:2px solid #e0e0e0}.qsv-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#1f2d3d}.qsv-table td{padding:14px 16px;font-size:14px;color:#1f2d3d}.qsv-table tbody tr{border-bottom:1px solid #f0f0f0}.qsv-table tbody tr:hover{background:#eef7f8}.qsv-status-submitted{color:#38b89a;font-weight:600;font-size:13px}.qsv-status-pending{color:#e74c3c;font-weight:600;font-size:13px}.qsv-review-btn{background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 20px;font-size:13px;font-weight:600;cursor:pointer}.qsv-review-btn:hover{background:#3d9aa8}.qrv-page{display:flex;flex-direction:column;gap:12px;height:100%}.qrv-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.qrv-back-btn:hover{background:#3d9aa8}.qrv-card{background:#fff;border-radius:16px;flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.qrv-header{padding:20px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0;flex-shrink:0}.qrv-title{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.qrv-search{position:relative}.qrv-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:160px;background:#fff}.qrv-search input:focus{border-color:#4ba7b5}.qrv-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.qrv-content{padding:28px 48px 40px;flex:1}.qrv-meta-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:20px}.qrv-student-name{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.qrv-date-text{font-size:13px;font-weight:700;color:#1f2d3d;text-decoration:underline}.qrv-score-banner{display:flex;align-items:center;gap:16px;background:#f0faf8;border:1px solid #c6ede5;border-radius:12px;padding:14px 20px;margin-bottom:24px}.qrv-score-circle{width:52px;height:52px;border-radius:50%;background:#38b89a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qrv-score-pct{font-size:14px;font-weight:700;color:#fff}.qrv-score-details{display:flex;flex-direction:column;gap:2px;flex:1}.qrv-score-label{font-size:11px;color:#38b89a;text-transform:uppercase;letter-spacing:.5px}.qrv-score-fraction{font-size:15px;font-weight:700;color:#1f2d3d}.qrv-score-bar-wrap{width:130px;height:6px;background:#d0ede8;border-radius:999px;overflow:hidden;flex-shrink:0}.qrv-score-bar-fill{height:100%;background:#38b89a;border-radius:999px;transition:width .8s ease}.qrv-questions-list{display:flex;flex-direction:column;gap:10px}.qrv-question-block{background:#f0f0f0;border-radius:10px;padding:14px 24px;border:1.5px solid transparent;transition:box-shadow .2s}.qrv-question-block:hover{box-shadow:0 2px 8px #00000012}.qrv-question-block.qrv-correct{border-color:#b2e5d8;background:#f4fdf9}.qrv-question-block.qrv-wrong{border-color:#f5c6c6;background:#fff8f8}.qrv-question-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.qrv-question-text{font-size:14px;font-weight:600;color:#1f2d3d;line-height:1.5}.qrv-q-num{color:#38b89a;margin-right:5px}.qrv-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap;flex-shrink:0}.badge-correct{background:#d4f5ec;color:#1a7a61}.badge-wrong{background:#fde8e8;color:#b03030}.qrv-options-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.qrv-option{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#444;background:#ebebeb;border:1.5px solid transparent;border-radius:8px;padding:6px 14px;cursor:default}.qrv-option input[type=radio]{accent-color:#38b89a;margin:0;width:15px;height:15px}.opt-selected-correct{background:#d4f5ec;border-color:#38b89a;color:#1a7a61;font-weight:600}.opt-selected-wrong{background:#fde8e8;border-color:#e05555;color:#b03030;font-weight:600}.opt-correct-hint{background:#d4f5ec;border-color:#38b89a;color:#1a7a61}.qrv-answer-row{display:flex;align-items:center}.qrv-answer-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;border-radius:8px;padding:5px 12px}.pill-correct{background:#d4f5ec;color:#1a7a61}.pill-wrong{background:#fde8e8;color:#b03030}.qrv-no-results{text-align:center;color:#aaa;font-size:14px;padding:32px 0}.qrv-loading{padding:40px;color:#666}.study-materials-page{display:flex;flex-direction:column;gap:12px;height:100%}.sm-loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:15px;color:#888}.sm-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0;transition:background .2s ease,transform .1s ease}.sm-back-btn:hover{background:#3d9aa8}.sm-back-btn:active{transform:scale(.97)}.sm-title-container{background:#f5fbfc;border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sm-title-left{display:flex;align-items:center;gap:10px}.sm-title{font-size:22px;font-weight:700;color:#1f2d3d;margin:0}.sm-count-badge{background:#4ba7b5;color:#fff;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;line-height:1.6}.sm-search{position:relative}.sm-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:180px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.sm-search input:focus{border-color:#4ba7b5;box-shadow:0 0 0 3px #4ba7b51f}.sm-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.sm-list-container{background:#f5fbfc;border-radius:16px;padding:28px 32px;flex:1;overflow-y:auto;min-height:0}.sm-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.sm-add-btn{background:#4ba7b5;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .1s ease}.sm-add-btn:hover{background:#3d9aa8;box-shadow:0 4px 12px #4ba7b54d;transform:translateY(-1px)}.sm-add-btn:active{transform:scale(.97)}.sm-table-header{display:flex;align-items:center;padding:0 24px 12px;border-bottom:1px solid #e0e8ec;margin-bottom:10px}.sm-table-header .sm-col-name,.sm-table-header .sm-col-date,.sm-table-header .sm-col-files{font-size:14px;font-weight:600;color:#1f2d3d}.sm-col-name{flex:1.2;font-size:14px;color:#1f2d3d;font-weight:500}.sm-col-date{flex:1;font-size:14px;color:#1f2d3d}.sm-col-files{flex:.8}.sm-files-badge{display:inline-block;background:#eef6f8;color:#4ba7b5;font-size:12px;font-weight:600;padding:2px 10px;border-radius:20px}.sm-col-actions{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:10px}.sm-list{display:flex;flex-direction:column;gap:10px}.sm-row{display:flex;align-items:center;background:#fff;border-radius:10px;padding:16px 24px;box-shadow:0 1px 3px #0000000f;transition:box-shadow .2s ease,transform .15s ease}.sm-row:hover{box-shadow:0 4px 14px #00000017;transform:translateY(-2px)}.sm-view-btn{background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:7px 22px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.sm-view-btn:hover{background:#3d9aa8}.sm-view-btn:active{transform:scale(.97)}.sm-delete-btn{background:#e74c3c;color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;transition:background .2s ease,transform .1s ease}.sm-delete-btn:hover{background:#c0392b}.sm-delete-btn:active{transform:scale(.97)}.sm-confirm-row{display:flex;align-items:center;gap:6px;animation:sm-fade-in .15s ease}@keyframes sm-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sm-confirm-label{font-size:12px;font-weight:600;color:#e74c3c}.sm-confirm-yes{background:#e74c3c;color:#fff;border:none;border-radius:5px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.sm-confirm-yes:hover{background:#c0392b}.sm-confirm-yes:disabled{opacity:.6;cursor:not-allowed}.sm-confirm-no{background:#eee;color:#555;border:none;border-radius:5px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.sm-confirm-no:hover{background:#ddd}.sm-empty{text-align:center;color:#6b7b8d;font-size:14px;padding:40px 0}@media(max-width:480px){.sm-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px}.sm-col-name{flex:1 1 100%;font-weight:600}.sm-col-date,.sm-col-files{flex:0 0 auto}.sm-col-actions{width:100%;justify-content:flex-start;gap:8px;margin-top:4px}}body{background:#eaedee}.upload-material-page{display:flex;flex-direction:column;gap:12px;height:100%;padding:16px;background:#c8d0d3}.um-back-btn{display:inline-flex;align-items:center;gap:4px;background:#5a6f8d;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content}.um-main-card{background:#fff;border-radius:16px;flex:1;display:flex;flex-direction:column;overflow:hidden}.um-header{background:transparent;border-radius:0;padding:18px 28px;border-bottom:1px solid #dde1e4}.um-title{font-size:22px;font-weight:700;color:#1f2d3d;margin:0}.um-save-btn{background:#4b6482;color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer}.um-save-btn:hover{background:#3f5670}.um-save-outside{margin-top:10px;align-self:flex-end}.um-form-container{background:transparent;border-radius:0;padding:30px 28px;flex:1;display:flex;justify-content:center;align-items:flex-start}.um-form-card{background:transparent;border-radius:12px;padding:36px 48px;width:100%;max-width:1000px;display:flex;gap:60px;align-items:flex-start}.um-form-left{flex:1;display:flex;flex-direction:column;gap:20px}.um-field{display:flex;align-items:center;gap:16px}.um-label{width:80px;font-size:13px;font-weight:600;color:#1f2d3d}.um-input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:6px;background:#fff;outline:none;font-size:13px;color:#1f2d3d}.um-input:focus{border-color:#4ba7b5}textarea.um-input{border:1px solid #ccc;border-radius:6px;padding:10px 12px;height:80px;resize:none;background:#fff}.um-custom-btn{background:#4b6482;color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.um-custom-btn:hover{background:#3f5670}.um-upload-panel{width:320px;background:#5a6f8d;border-radius:12px;padding:20px;color:#fff;display:flex;flex-direction:column;gap:12px;min-height:420px}.um-upload-title{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:15px}.um-dropzone{border:2px dashed rgba(255,255,255,.45);border-radius:10px;padding:20px 16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .2s}.um-dropzone:hover{background:#ffffff14}.um-dropzone-icon-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff26;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;color:#fff;margin-bottom:4px}.um-dropzone-text{margin:0;font-size:13px;font-weight:500;color:#fff}.um-dropzone-subtext{margin:0;font-size:11px;opacity:.7;color:#fff}.um-file-list{display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto}.um-file-card{background:#ffffff0f;border:1px dashed rgba(255,255,255,.35);padding:10px 12px;border-radius:8px;font-size:12px;display:flex;flex-direction:column;gap:6px}.um-file-card-inner{display:flex;align-items:center;gap:10px}.um-file-doc-icon{font-size:22px;color:#ffffffd9;flex-shrink:0}.um-file-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.um-file-name{font-size:12px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-file-size-row{display:flex;align-items:center;gap:8px;font-size:11px;color:#ffffffb3}.um-file-status-done{display:inline-flex;align-items:center;gap:3px;color:#6fcf97;font-weight:500}.um-file-status-uploading{color:#fff9}.um-file-action-btn{cursor:pointer;color:#ffffffbf;font-size:16px;flex-shrink:0;display:flex;align-items:center;transition:color .15s}.um-file-action-btn:hover{color:#fff}.um-progress-bar{height:5px;background:#fff3;border-radius:10px;overflow:hidden}.um-progress-fill{height:100%;background:#6fcf97;width:0%;transition:width .3s ease}.um-upload-info{font-size:11px;text-align:center;opacity:.8}.sm-table-header{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr auto;align-items:center;padding:10px 20px}.sm-row{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr auto;align-items:center;padding:14px 20px}.sm-col-chapter,.sm-col-topic,.sm-col-date,.sm-col-files{padding-right:10px}.smv-page{display:flex;flex-direction:column;gap:12px;height:100%;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.smv-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0;transition:all .3s ease;position:relative;overflow:hidden}.smv-back-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.smv-back-btn:hover:before{width:200px;height:200px}.smv-back-btn:hover{background:#3d9aa8;transform:translate(-4px);box-shadow:0 4px 12px #4ba7b54d}.smv-back-btn:active{transform:translate(-4px) scale(.95)}.smv-header{background:linear-gradient(135deg,#f5fbfc,#e8f5f7);border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;animation:slideDown .5s ease;box-shadow:0 2px 8px #0000000a;transition:box-shadow .3s ease}.smv-header:hover{box-shadow:0 4px 16px #00000014}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.smv-title{font-size:22px;font-weight:700;color:#1f2d3d;margin:0;position:relative;display:inline-block}.smv-title:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:3px;background:linear-gradient(90deg,#4ba7b5,#3d9aa8);border-radius:2px;transition:width .4s ease}.smv-header:hover .smv-title:after{width:100%}.smv-search{position:relative}.smv-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:160px;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1)}.smv-search input:focus{border-color:#4ba7b5;box-shadow:0 0 0 3px #4ba7b51f;width:200px;transform:translateY(-1px)}.smv-search input::placeholder{transition:opacity .3s ease}.smv-search input:focus::placeholder{opacity:.6}.smv-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px;transition:all .3s ease;pointer-events:none}.smv-search input:focus~.smv-search-icon{color:#4ba7b5;transform:translateY(-50%) scale(1.1) rotate(90deg)}.smv-content-card{background:linear-gradient(135deg,#f5fbfc,#eef8f9);border-radius:16px;padding:32px;flex:1;overflow-y:auto;min-height:0;animation:fadeInUp .6s ease .2s both;box-shadow:0 2px 12px #0000000a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.smv-details{display:flex;flex-direction:column;gap:24px;padding:0 40px}.smv-meta-card{background:#fff;border-radius:12px;padding:20px 24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 4px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;animation:slideIn .5s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.smv-meta-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-3px);border-color:#4ba7b533}.smv-detail-line{margin:0;font-size:15px;color:#1f2d3d;transition:transform .2s ease}.smv-meta-card:hover .smv-detail-line{transform:translate(4px)}.smv-label{font-weight:400;color:#1f2d3d;font-size:15px;position:relative}.smv-value-bold{font-weight:700;color:#1f2d3d;transition:color .3s ease}.smv-meta-card:hover .smv-value-bold{color:#4ba7b5}.smv-files-section{display:flex;flex-direction:column;gap:14px;animation:slideIn .6s ease .1s both}.smv-files-header{display:flex;align-items:center;gap:8px}.smv-files-count-badge{background:linear-gradient(135deg,#4ba7b5,#3d9aa8);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;line-height:1.6;animation:pulse 2s ease-in-out infinite;box-shadow:0 2px 8px #4ba7b54d}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.smv-no-files{color:#6b7b8d;font-size:14px;margin:0;animation:fadeIn .4s ease}.smv-files-list{display:flex;flex-wrap:wrap;gap:16px}.smv-file-card{display:flex;align-items:center;gap:0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);max-width:380px;border:2px solid transparent;animation:cardSlideIn .5s ease backwards;position:relative}.smv-file-card:nth-child(1){animation-delay:.1s}.smv-file-card:nth-child(2){animation-delay:.2s}.smv-file-card:nth-child(3){animation-delay:.3s}.smv-file-card:nth-child(4){animation-delay:.4s}.smv-file-card:nth-child(5){animation-delay:.5s}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.smv-file-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left .5s ease}.smv-file-card:hover:before{left:100%}.smv-file-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px) scale(1.02);border-color:#4ba7b54d}.smv-file-link{display:flex;align-items:center;gap:14px;padding:14px 16px;flex:1;text-decoration:none;min-width:0;transition:padding .3s ease}.smv-file-card:hover .smv-file-link{padding-left:20px}.smv-file-icon-box{border-radius:10px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.smv-file-icon-box:before{content:"";position:absolute;inset:-10px;background:linear-gradient(45deg,transparent,rgba(255,255,255,.5));transform:rotate(0);transition:transform .6s ease}.smv-file-card:hover .smv-file-icon-box{transform:scale(1.15) rotate(5deg);box-shadow:0 4px 12px #00000026}.smv-file-card:hover .smv-file-icon-box:before{transform:rotate(180deg)}.smv-file-icon{font-size:24px;transition:all .3s ease;position:relative;z-index:1}.smv-file-card:hover .smv-file-icon{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.smv-file-info{display:flex;flex-direction:column;gap:3px;min-width:0}.smv-file-name{font-size:13px;font-weight:500;color:#1f2d3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;transition:color .3s ease}.smv-file-card:hover .smv-file-name{color:#4ba7b5}.smv-file-ext{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;transition:all .3s ease;position:relative}.smv-file-card:hover .smv-file-ext{transform:translate(2px);letter-spacing:1px}.smv-copy-btn{background:transparent;border:none;border-left:1px solid #eee;color:#4ba7b5;font-size:12px;font-weight:600;padding:0 14px;height:100%;cursor:pointer;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);align-self:stretch;display:flex;align-items:center;position:relative;overflow:hidden}.smv-copy-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,#eef6f8);transition:left .3s ease}.smv-copy-btn:hover:before{left:0}.smv-copy-btn:hover{background:#eef6f8;color:#3d9aa8;padding:0 18px;font-weight:700}.smv-copy-btn:active{transform:scale(.95)}.smv-copy-btn.copied{color:#38b89a;animation:successPulse .4s ease}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.smv-copy-btn.copied:after{content:"✓";position:absolute;right:4px;animation:checkmark .4s ease}@keyframes checkmark{0%{opacity:0;transform:scale(0) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.smv-loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:12px;height:80px}.smv-content-card::-webkit-scrollbar{width:8px}.smv-content-card::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.smv-content-card::-webkit-scrollbar-thumb{background:#4ba7b5;border-radius:10px;transition:background .3s ease}.smv-content-card::-webkit-scrollbar-thumb:hover{background:#3d9aa8}@media(max-width:768px){.smv-header{flex-direction:column;gap:16px;align-items:flex-start}.smv-search input{width:100%}.smv-details{padding:0 16px}.smv-file-card{max-width:100%}}.sr-page{display:flex;flex-direction:column;gap:12px;height:100%}.sr-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.sr-back-btn:hover{background:#3d9aa8}.sr-content{background:#f5fbfc;border-radius:16px;padding:28px 32px;flex:1;overflow-y:auto;min-height:0;min-width:0}.sr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.sr-title{font-size:22px;font-weight:700;color:#1f2d3d;margin:0;min-width:0}.sr-search{position:relative;flex-shrink:0}.sr-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:180px;background:#fff;max-width:100%}.sr-search input:focus{border-color:#4ba7b5}.sr-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.sr-actions{display:flex;justify-content:flex-end;margin-bottom:24px}.sr-add-btn{background:#4ba7b5;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer}.sr-add-btn:hover{background:#3d9aa8}.sr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;min-width:0}.sr-card{background:#0e9aa7;border-radius:12px;padding:20px;color:#fff;display:flex;flex-direction:column;min-height:160px;min-width:0;overflow:hidden}.sr-card-subject{font-size:15px;font-weight:700;margin:0 0 2px;word-break:break-word}.sr-card-topic{font-size:12px;margin:0 0 16px;opacity:.85;word-break:break-word}.sr-card-teacher{font-size:13px;margin:0;flex:1;word-break:break-word}.sr-card-bottom{display:flex;justify-content:flex-end;align-items:baseline;gap:8px;margin-top:12px;flex-wrap:wrap}.sr-card-date{font-size:12px;opacity:.85}.sr-card-duration{font-size:14px;font-weight:700}@media(max-width:768px){.sr-content{padding:20px}.sr-header{flex-direction:column;align-items:stretch}.sr-search,.sr-search input{width:100%}.sr-actions{justify-content:stretch}.sr-add-btn{width:100%}.sr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sr-card{padding:14px;min-height:140px}.sr-card-subject{font-size:14px}.sr-card-topic{font-size:11px;margin-bottom:12px}.sr-card-teacher{font-size:12px}.sr-card-date{font-size:11px}.sr-card-duration{font-size:13px}}@media(max-width:480px){.sr-content{padding:16px;border-radius:14px}.sr-title{font-size:18px}.sr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sr-card{padding:12px;min-height:130px;border-radius:10px}}.sr-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.sr-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #00000026}.sr-card:active{transform:translateY(-2px)}.ur-page{display:flex;flex-direction:column;gap:12px;height:100%}.ur-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0}.ur-back-btn:hover{background:#3d9aa8}.ur-title-container{background:#f5fbfc;border-radius:16px;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;border-bottom:1px solid #dde6ea}.ur-title{font-size:22px;font-weight:700;color:#1f2d3d;margin:0}.ur-search{position:relative}.ur-search input{padding:6px 32px 6px 12px;border:1px solid #ccc;border-radius:6px;font-size:13px;outline:none;width:160px;background:#fff}.ur-search input:focus{border-color:#4ba7b5}.ur-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}.ur-form-container{background:#f5fbfc;border-radius:16px;padding:40px 32px;flex:1;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;min-height:0}.ur-form-card{background:#f0ece4;border-radius:12px;padding:36px 48px;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:20px}.ur-form-heading{font-size:18px;font-weight:700;color:#1f2d3d;margin:0 0 8px;text-align:center}.ur-field{display:flex;align-items:center;gap:12px;width:100%}.ur-label{font-size:14px;font-weight:600;color:#1f2d3d;white-space:nowrap}.ur-input{flex:1;padding:8px 14px;border:none;border-bottom:1px solid #999;font-size:14px;background:transparent;color:#333;outline:none;text-align:center}.ur-input:focus{border-bottom-color:#4ba7b5}.ur-file-name{font-size:12px;color:#555;background:#e0dbd2;padding:4px 10px;border-radius:4px}.ur-attach-btn{background:transparent;color:#4ba7b5;border:2px solid #4ba7b5;border-radius:20px;padding:8px 24px;font-size:13px;font-weight:600;cursor:pointer}.ur-attach-btn:hover{background:#4ba7b5;color:#fff}.ur-upload-btn{background:#38b89a;color:#fff;border:none;border-radius:8px;padding:10px 36px;font-size:14px;font-weight:600;cursor:pointer}.ur-upload-btn:hover{background:#2ea88a}.live-sessions-page{display:flex;flex-direction:column;gap:16px;height:100%}.live-sessions-back-btn{display:inline-flex;align-items:center;gap:4px;background:#eef6f6;color:#0b5b5b;border:1px solid rgba(11,91,91,.15);border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;width:fit-content;flex-shrink:0;transition:background .15s}.live-sessions-back-btn:hover{background:#d8eeed}.live-sessions-header{background:#fff;border-radius:16px;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 12px #0000000d}.live-sessions-title{font-size:20px;font-weight:800;color:#0b2a2a;margin:0}.live-sessions-search{position:relative}.live-sessions-search input{padding:8px 36px 8px 14px;border:1.5px solid rgba(0,0,0,.12);border-radius:8px;font-size:13px;outline:none;width:200px;background:#fafafa;transition:border-color .15s}.live-sessions-search input:focus{border-color:#0b5b5b;background:#fff}.live-sessions-search-icon{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#888;font-size:14px}.live-sessions-content{background:#fff;border-radius:16px;padding:24px 28px;flex:1;overflow-y:auto;min-height:0;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 12px #0000000d}.live-sessions-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.live-sessions-schedule-btn{background:#0b5b5b;color:#fff;border:none;border-radius:10px;padding:10px 22px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.live-sessions-schedule-btn:hover{background:#0d6e6e;transform:translateY(-1px)}.live-sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.session-card{background:#5a7a9b;border-radius:14px;padding:20px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:180px;border:1.5px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0000001f;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.session-card:before{display:none}.session-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0003;background:#4e6d8c}.session-card:active{transform:scale(.98)}.session-card.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;filter:grayscale(40%)}.session-card-info{flex:1}.session-card-subject{margin:0 0 4px;font-size:15px;font-weight:800;color:#fff}.session-card-course{margin:0 0 12px;font-size:12px;color:#ffffffb3}.session-card-topic{margin:0;font-size:13px;color:#ffffffd9}.session-card-meta{display:flex;align-items:center;gap:8px;margin-top:12px}.session-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:13px;color:#ffffffe6;font-weight:700}.status{font-size:10px;font-weight:800;padding:3px 9px;border-radius:999px;display:inline-block;letter-spacing:.4px;text-transform:uppercase}.status.LIVE{background:#dcfce7;color:#15803d;border:1px solid #86efac}.status.SCHEDULED{background:#fef9c3;color:#a16207;border:1px solid #fde047}.status.COMPLETED{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.status.CANCELLED{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.live-badge{font-size:11px;font-weight:800;color:#15803d;animation:pulse 1.2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.session-cancel-btn{display:inline-flex;align-items:center;gap:4px;background:#ffffff26;color:#fca5a5;border:1px solid rgba(252,165,165,.3);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,color .15s;margin-left:auto}.session-cancel-btn:hover{background:#b91c1c;color:#fff;border-color:#b91c1c}.live-sessions-empty{text-align:center;padding:40px 20px;color:#0b2a2a73;font-size:14px}.lsc-page{padding:28px 32px;max-width:680px}.lsc-back-btn{display:inline-flex;align-items:center;gap:4px;margin-bottom:24px;background:#eef6f6;border:1px solid rgba(11,91,91,.15);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:#0b5b5b;transition:background .15s}.lsc-back-btn:hover{background:#d8eeed}.lsc-card{background:#fff;border-radius:20px;padding:32px 36px;box-shadow:0 4px 24px #00000012;border:1px solid rgba(0,0,0,.06)}.lsc-title{font-size:22px;font-weight:800;color:#0b2a2a;margin:0 0 6px}.lsc-subtitle{font-size:13px;color:#102a2a8c;margin:0 0 28px}.lsc-form{display:flex;flex-direction:column;gap:18px}.lsc-field{display:flex;flex-direction:column;gap:6px}.lsc-label{font-size:12px;font-weight:700;color:#0b2a2a;letter-spacing:.4px;text-transform:uppercase}.lsc-input,.lsc-textarea{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid rgba(0,0,0,.12);font-size:14px;color:#102a2a;background:#fafafa;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.lsc-input:focus,.lsc-textarea:focus{border-color:#0b5b5b;box-shadow:0 0 0 4px #0b5b5b1a;background:#fff}.lsc-textarea{min-height:90px;resize:vertical}.lsc-row{display:flex;gap:16px}.lsc-row>.lsc-field{flex:1}.lsc-divider{border:none;border-top:1px solid rgba(0,0,0,.07);margin:4px 0}.lsc-submit{margin-top:4px;padding:14px;background:#0b5b5b;color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:.2px;transition:background .15s,transform .1s}.lsc-submit:hover:not(:disabled){background:#0d6e6e;transform:translateY(-1px)}.lsc-submit:disabled{opacity:.6;cursor:not-allowed}.lsc-error{display:flex;align-items:center;gap:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:500;margin-bottom:4px}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.profile-page{min-height:100vh;padding:32px 28px;background:linear-gradient(180deg,#d7eaee,#dff0f3);display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}.profile-card{width:100%;background:linear-gradient(180deg,#f9fbfc,#f2f5f7);border-radius:26px;padding:30px 32px;display:flex;gap:26px;border:1px solid rgba(94,130,147,.12);box-shadow:0 18px 38px #14283814,0 3px 10px #1428380a;box-sizing:border-box}.profile-left{width:118px;height:118px;min-width:118px;border-radius:50%;background:linear-gradient(145deg,#e7f2f6,#d6eaf2);border:3px solid #84b9cc;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;box-shadow:inset 0 1px #ffffffd9,0 10px 24px #2e586c1f;transition:transform .18s ease,box-shadow .18s ease;position:relative}.profile-left:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffffd9,0 14px 28px #2e586c29}.avatar-img{width:100%;height:100%;object-fit:cover}.avatar-emoji{font-size:52px;line-height:1}.avatar-plus{font-size:30px;font-weight:700;color:#295366;line-height:1}.avatar-text{display:block;margin-top:4px;font-size:12px;text-align:center;color:#4c6b7a;font-weight:600}.profile-info{flex:1;min-width:0}.profile-name{margin:2px 0 18px;font-size:34px;line-height:1.08;font-weight:700;color:#13283a;letter-spacing:-.02em}.profile-name-input{width:100%;max-width:360px;font-size:26px;font-weight:700;padding:11px 14px;border-radius:12px;border:1px solid #c8d7df;margin-bottom:16px;outline:none;background:#fff;color:#16283a;box-sizing:border-box;box-shadow:inset 0 1px 2px #00000008}.profile-name-input:focus{border-color:#6ba8be;box-shadow:0 0 0 4px #6ba8be24}.profile-detail{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.profile-col{display:flex;flex-direction:column;gap:14px}.profile-col p{margin:0;padding:15px 18px;background:linear-gradient(180deg,#eef4f6,#e8f0f3);border:1px solid rgba(96,132,148,.09);border-radius:15px;font-size:15px;line-height:1.55;color:#233847;box-shadow:inset 0 1px #ffffffb8,0 4px 10px #162a3a08;word-break:break-word}.profile-col strong{font-weight:700;color:#102538;margin-right:4px}.profile-col textarea{display:block;width:100%;margin-top:10px;padding:11px 12px;border-radius:11px;border:1px solid #c7d5dc;font-size:14px;line-height:1.5;background:#fff;color:#243746;resize:vertical;box-sizing:border-box;outline:none;min-height:86px}.profile-col textarea:focus{border-color:#6ba8be;box-shadow:0 0 0 4px #6ba8be24}.modal-overlay{position:fixed;inset:0;background:#0a12186b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:999;padding:20px;box-sizing:border-box}.modal{width:100%;max-width:440px;background:linear-gradient(180deg,#fff,#f7fafb);border-radius:24px;padding:22px;box-shadow:0 24px 60px #00000038,0 6px 18px #00000014;border:1px solid rgba(78,112,130,.1);box-sizing:border-box}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-header h3{margin:0;font-size:21px;font-weight:700;color:#183042}.modal-close{width:38px;height:38px;border:none;border-radius:10px;background:#eef4f6;font-size:18px;cursor:pointer;color:#294659;transition:background .18s ease,transform .18s ease}.modal-close:hover{background:#e2edf1;transform:scale(1.03)}.modal-preview{width:98px;height:98px;border-radius:50%;background:linear-gradient(145deg,#e9f4f8,#d7ebf2);border:2px solid #8dc0d3;display:flex;align-items:center;justify-content:center;margin:10px auto 18px;overflow:hidden;box-shadow:0 10px 22px #325b701a}.preview-img{width:100%;height:100%;object-fit:cover}.preview-emoji{font-size:44px;line-height:1}.preview-text{font-size:13px;color:#56717f;font-weight:600}.modal-label{margin:0 0 8px;font-size:14px;font-weight:700;color:#27495c}.file-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;background:linear-gradient(135deg,#4f92ab,#3c7f99);color:#fff;border-radius:11px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:18px;box-shadow:0 10px 20px #4f92ab38;transition:transform .18s ease,box-shadow .18s ease}.file-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px #4f92ab42}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.emoji-item{font-size:24px;text-align:center;padding:9px 0;cursor:pointer;border-radius:11px;background:#f5fafb;border:1px solid rgba(96,132,148,.08);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.emoji-item:hover{background:#ebf5f8;transform:translateY(-1px);box-shadow:0 8px 14px #162a3a0d}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.btn-cancel{padding:10px 16px;border:1px solid #c8d5db;border-radius:11px;background:#fff;color:#294659;font-size:14px;font-weight:600;cursor:pointer;transition:background .18s ease}.btn-cancel:hover{background:#f3f7f8}.btn-save{padding:10px 16px;border:none;border-radius:11px;background:linear-gradient(135deg,#2e9e63,#268250);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 10px 18px #2e9e632e;transition:transform .18s ease,box-shadow .18s ease}.btn-save:hover{transform:translateY(-1px);box-shadow:0 12px 22px #2e9e6338}.students-page{padding:16px 24px 32px;background:#bcd6da;min-height:100%}.students-loading{padding:40px;text-align:center;color:#666}.students-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:14px;cursor:pointer;margin-bottom:16px}.students-back-btn:hover{background:#3d8f9b}.students-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}.students-title{font-size:20px;font-weight:700;color:#1f2d3d;margin:0}.students-subtitle{font-size:13px;color:#5a6d7e;margin:4px 0 0}.students-search{position:relative;min-width:240px}.students-search input{width:100%;padding:8px 12px 8px 36px;border:1px solid #ccc;border-radius:8px;font-size:14px;background:#fff}.students-search input:focus{outline:none;border-color:#4ba7b5}.students-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#888;font-size:16px}.students-empty{text-align:center;color:#888;padding:40px;font-size:15px}.students-table-wrap{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.students-table{width:100%;border-collapse:collapse;font-size:14px}.students-table thead{background:#f5fbfc}.students-table th{text-align:left;padding:12px 16px;font-weight:600;color:#3a5060;border-bottom:2px solid #e5eef0;font-size:13px;white-space:nowrap}.students-table td{padding:12px 16px;color:#333;border-bottom:1px solid #eef2f3}.students-row{cursor:pointer;transition:background .15s ease}.students-row:hover{background:#f0f8fa}.students-name-cell{display:flex;align-items:center;gap:10px}.students-avatar{width:34px;height:34px;border-radius:50%;background:#4ba7b5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;overflow:hidden;flex-shrink:0}.students-avatar img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.students-page{padding:12px 12px 24px}.students-header{flex-direction:column}.students-search{min-width:100%}.students-table-wrap{overflow-x:auto}.students-table{min-width:600px}}.sd-page{padding:16px 24px 32px;background:#bcd6da;min-height:100%}.sd-back-btn{display:inline-flex;align-items:center;gap:4px;background:#4ba7b5;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:14px;cursor:pointer;margin-bottom:20px}.sd-back-btn:hover{background:#3d8f9b}.sd-empty{text-align:center;color:#888;padding:40px;font-size:15px}.sd-card{background:#fff;border-radius:14px;padding:28px 32px;box-shadow:0 2px 12px #0000000f;max-width:700px}.sd-profile-section{display:flex;align-items:center;gap:20px;margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid #eef2f3}.sd-avatar-large{width:72px;height:72px;border-radius:50%;background:#4ba7b5;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;overflow:hidden;flex-shrink:0}.sd-avatar-large img{width:100%;height:100%;object-fit:cover}.sd-profile-info h2{font-size:22px;font-weight:700;color:#1f2d3d;margin:0 0 6px}.sd-subject-badge{display:inline-block;background:#e8f6f8;color:#3d8f9b;font-size:12px;font-weight:600;padding:3px 12px;border-radius:20px;margin:0}.sd-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sd-detail-item{display:flex;align-items:flex-start;gap:12px}.sd-detail-icon{color:#4ba7b5;font-size:20px;margin-top:2px;flex-shrink:0}.sd-detail-label{display:block;font-size:12px;color:#8a9baa;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.sd-detail-value{display:block;font-size:15px;color:#1f2d3d;font-weight:500}@media(max-width:768px){.sd-page{padding:12px 12px 24px}.sd-card{padding:20px 18px}.sd-details-grid{grid-template-columns:1fr;gap:16px}.sd-profile-section{flex-direction:column;text-align:center}.sd-profile-info h2{font-size:18px}}.qsav-page{display:flex;flex-direction:column;gap:12px;height:100%}.qsav-back-btn{background:none;border:none;color:#2c7a7b;font-weight:500;cursor:pointer;width:fit-content;flex-shrink:0;font-size:13px;padding:6px 10px;border-radius:6px;transition:background .2s,color .2s}.qsav-back-btn:hover{background:#e6f4f4;color:#1a5f5f}.qsav-content-card{background:#fff;border-radius:12px;padding:24px 28px;box-shadow:0 2px 6px #0000000d;flex:1;overflow-y:auto;min-height:0}.qsav-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.qsav-title{font-size:20px;font-weight:600;color:#1f2d3d;margin:0}.qsav-count{font-size:20px;font-weight:700}.qsav-count-green{color:#2f855a}.qsav-table{width:100%;border-collapse:collapse}.qsav-table thead tr{border-bottom:2px solid #e0e0e0}.qsav-table th{text-align:left;padding:10px 14px;color:#555;font-weight:600;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s}.qsav-table th:hover,.qsav-table th.sorted{color:#4aa3a2}.qsav-table td{padding:13px 14px;font-size:13px;color:#1f2d3d}.qsav-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .15s}.qsav-table tbody tr:hover{background:#f0fafa}.qsav-score-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.qsav-score-high{background:#d4f5ec;color:#0f6e56}.qsav-score-mid{background:#faeeda;color:#854f0b}.qsav-score-low{background:#fcebeb;color:#a32d2d}.qsav-review-btn{background:#4aa3a2;border:none;padding:6px 16px;border-radius:16px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s,transform .15s}.qsav-review-btn:hover{background:#3c8b8a;transform:translateY(-1px)}.qsav-review-btn:active{transform:translateY(0)}
