/* Student classwork and recording surfaces only. Teacher Class Hub styles live in teacher-class-hub.css. */
.classRecordingOpening{position:relative;overflow:hidden;pointer-events:none;filter:brightness(1.04)}
.classRecordingOpening:after{content:"";position:absolute;inset:-40% -55%;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.72) 50%,transparent 70%);animation:classRecordingBtnShine .72s linear infinite}
@keyframes classRecordingBtnShine{from{transform:translateX(-65%)}to{transform:translateX(65%)}}
.classRecordingPlayerOverlay{position:fixed;inset:0;z-index:999999;background:rgba(16,32,61,.88);display:grid;grid-template-rows:auto minmax(0,1fr);padding:10px;gap:8px}
.classRecordingPlayerBar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid rgba(255,208,229,.7);border-radius:16px;background:linear-gradient(135deg,#fff,#fff7fb);padding:8px;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.classRecordingPlayerTitle{font-size:15px;font-weight:950;color:#10203d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.classRecordingPlayerBtn{height:38px;border:1.5px solid #ffd0e5;border-radius:999px;background:#fff;color:#9d1457;padding:0 13px;font-size:12px;font-weight:950;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.classRecordingPlayerBtn.close{width:38px;padding:0;font-size:20px}
.classRecordingPlayerStage{position:relative;min-height:0;border:1px solid rgba(255,208,229,.66);border-radius:16px;background:#071121;overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.26)}
.classRecordingPlayerStage iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.classRecordingPlayerStage.blocked{display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.16),transparent 34%),linear-gradient(135deg,#071121,#10203d 55%,#2b1235)}
.classRecordingPlayerLaunch{min-width:210px;min-height:54px;border:1.5px solid rgba(255,208,229,.9);border-radius:999px;background:linear-gradient(135deg,#fff,#fff4fb);color:#9d1457;font-size:18px;font-weight:950;box-shadow:0 16px 30px rgba(0,0,0,.25);display:inline-flex;align-items:center;justify-content:center;gap:8px}
.classRecordingPlayerLaunch:active{transform:translateY(1px) scale(.99)}
.classRecordingPlayerLoading{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#071121,#10203d);color:#fff;font-size:14px;font-weight:950}
.classRecordingPlayerLoading.hide{display:none}
@media(max-width:520px){.classRecordingPlayerOverlay{padding:8px}.classRecordingPlayerBar{border-radius:14px}.classRecordingPlayerBtn{height:36px;padding:0 10px;font-size:11px}.classRecordingPlayerTitle{font-size:14px}}
.studentClassworkList{display:grid;gap:10px}
.studentClassworkCard{position:relative;display:grid;gap:9px;border:1.5px solid #ffd166;border-radius:16px;background:radial-gradient(circle at 9% 12%,rgba(255,209,102,.22) 0 28px,transparent 29px),linear-gradient(135deg,#fff 0%,#fff8dd 50%,#fff7fb 100%);padding:10px;box-shadow:0 14px 28px rgba(157,20,87,.12),inset 0 0 0 1px rgba(255,255,255,.72);overflow:hidden}
.studentClassworkCard.latest{box-shadow:0 16px 30px rgba(157,20,87,.14),inset 0 0 0 1px rgba(255,255,255,.72)}
.studentClassworkTop{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.studentClassworkTitle{font-size:16px;font-weight:950;color:#10203d;line-height:1.15}
.studentClassworkHero{width:100%;border:1px solid #ffe1ee;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 18px rgba(16,32,61,.08)}
.studentClassworkHero img{display:block;width:100%;max-height:188px;object-fit:contain;background:#fff}
.studentClassworkHeroBtn{display:block;width:100%;padding:0;border:none;background:transparent;cursor:pointer}
.studentClassworkHeroEmpty{min-height:120px;display:grid;place-items:center;color:#8a1952;font-size:13px;font-weight:950;background:#fff7fb}
.studentClassworkChipRow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.studentClassworkChip{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffd0e5;border-radius:999px;background:#fff;color:#8a1952;padding:5px 8px;font-size:11px;font-weight:950;line-height:1.1}
.studentClassworkClassChip{border-color:#ffd166;background:#fff4d6;color:#10203d}
.studentClassworkActions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.studentClassworkLinkBtn{border:1px solid #ffc4df;border-radius:999px;background:#fff;color:#10203d;padding:8px 11px;font-size:12px;font-weight:950;cursor:pointer;box-shadow:0 8px 16px rgba(255,115,181,.08)}
.studentClassworkLinkBtn.primary{border-color:#0f8a7d;background:linear-gradient(180deg,#18b7a8,#0f8a7d);color:#fff}
.studentClassworkLinkBtn.teal{border-color:#0f766e;background:linear-gradient(180deg,#0f8a7d,#075e54);color:#fff}
.studentClassworkCompactList{display:grid;gap:6px}
.studentClassworkCompactRow{display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:min-content min-content;column-gap:10px;row-gap:4px;align-items:center;border:1px solid #ffe1ee;border-radius:13px;background:linear-gradient(135deg,#fff,#fff9e6 58%,#fff7fb);padding:6px;box-shadow:0 8px 16px rgba(157,20,87,.08)}
.studentClassworkCompactThumb{grid-row:1/3;width:132px;height:96px;border:1px solid #ffd0e5;border-radius:10px;background:#fff;overflow:hidden;display:grid;place-items:center;padding:0;cursor:pointer}
.studentClassworkCompactThumb img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.studentClassworkCompactThumb.empty{color:#9d1457;font-size:16px;font-weight:950}
.studentClassworkCompactTitle{font-size:12px;font-weight:950;color:#10203d;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studentClassworkCompactMeta{font-size:10px;font-weight:900;color:#8a1952;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studentClassworkCompactRow>div{grid-column:2;grid-row:1;align-self:end}
.studentClassworkCompactRow>.studentClassworkLinkBtn{grid-column:2;grid-row:2;justify-self:start;align-self:start;padding:6px 10px;font-size:11px;white-space:nowrap}
.studentClassworkInline{display:grid;gap:9px;margin-top:10px;border:1.5px solid #ffd0e5;border-radius:17px;background:linear-gradient(135deg,#fff7fb 0%,#fff 44%,#fff8dd 100%);padding:10px;box-shadow:0 12px 24px rgba(157,20,87,.1),inset 0 0 0 1px rgba(255,255,255,.72)}
.studentClassworkInline.mode-all .studentClassworkTitle,.studentClassworkInline.mode-all .studentClassworkCompactTitle{display:none}
.studentClassworkInline.mode-all .studentClassworkCompactMeta{font-size:12px;color:#10203d;line-height:1.2}
@media(max-width:390px){.studentClassworkCompactRow{grid-template-columns:118px minmax(0,1fr)}.studentClassworkCompactThumb{width:118px;height:90px}.studentClassworkCompactRow>.studentClassworkLinkBtn{padding:6px 9px;font-size:10px}}
.studentClassworkContractError{border:1px solid #fecaca;border-radius:12px;background:#fff7f7;color:#991b1b;padding:12px;font-size:13px;font-weight:900;line-height:1.4}
