/* STEMSphere v12 — Digital Classroom & Teacher Operations */
.ss-classroom-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#121b4d 0%,#5138d7 48%,#19b6d2 100%);color:#fff;border-radius:30px;padding:28px;box-shadow:0 26px 70px rgba(38,35,110,.2)}
.ss-classroom-hero:after{content:"";position:absolute;right:-80px;top:-120px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),rgba(255,255,255,0) 66%)}
.ss-classroom-hero h1{margin:.35rem 0 .6rem;font-size:clamp(2rem,4vw,3.3rem);line-height:1.02;max-width:850px}.ss-classroom-hero p{max-width:760px;color:rgba(255,255,255,.88)}
.ss-live-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:800}.ss-live-dot{width:9px;height:9px;border-radius:50%;background:#6af0a8;box-shadow:0 0 0 6px rgba(106,240,168,.16);animation:ssPulse 1.6s infinite}@keyframes ssPulse{50%{box-shadow:0 0 0 12px rgba(106,240,168,0)}}
.ss-classroom-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px}.ss-classroom-board{background:linear-gradient(145deg,#0f1738,#172354);color:#fff;border-radius:24px;padding:22px;min-height:250px}.ss-classroom-board small{color:#aeb8dd}.ss-board-topic{font-size:1.5rem;font-weight:900;margin:.4rem 0}.ss-board-objectives{display:grid;gap:8px;margin-top:15px}.ss-board-objectives span{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;background:rgba(255,255,255,.07);border-radius:13px}
.ss-roster{display:grid;gap:8px}.ss-roster-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,auto);gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--ss-line,#e7e7f1);border-radius:14px;background:var(--ss-card,#fff)}.ss-roster-person{display:flex;align-items:center;gap:10px;min-width:0}.ss-roster-avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#7457ff,#38c9ff);color:#fff;display:grid;place-items:center;font-weight:900}.ss-att-btn{border:1px solid var(--ss-line,#ddd);background:transparent;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:800}.ss-att-btn.active.present{background:#e8fff1;border-color:#67d792;color:#096b38}.ss-att-btn.active.late{background:#fff8db;border-color:#f2cf56;color:#795e00}.ss-att-btn.active.absent{background:#fff0f1;border-color:#f19a9e;color:#9d2028}.ss-att-btn.active.excused{background:#eef3ff;border-color:#99b0f2;color:#304f99}
.ss-timetable{display:grid;gap:10px}.ss-timetable-day{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start}.ss-timetable-day>strong{padding-top:12px}.ss-timetable-items{display:grid;gap:8px}.ss-period-card{display:grid;grid-template-columns:95px 1fr auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--ss-line,#e7e7f1);border-radius:15px;background:var(--ss-card,#fff)}.ss-period-time{font-weight:900;color:#5b46d8}.ss-period-card.current{border-color:#7b63ff;box-shadow:0 0 0 3px rgba(123,99,255,.1)}
.ss-deadline-card{position:relative;border-left:5px solid #6c4df6}.ss-deadline-card.overdue{border-left-color:#e05263}.ss-deadline-card.soon{border-left-color:#e5a528}.ss-deadline-card.done{border-left-color:#28b16f}.ss-submission-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.78rem;font-weight:900;background:#f0effa;color:#493c9b}.ss-submission-status.done{background:#e8fff1;color:#11703e}.ss-submission-status.late{background:#fff2ef;color:#a93a29}
.ss-marking-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:18px}.ss-submission-list{display:grid;gap:8px;max-height:70vh;overflow:auto}.ss-submission-link{display:block;padding:12px;border:1px solid var(--ss-line,#e7e7f1);border-radius:13px;text-decoration:none;color:inherit}.ss-submission-link.active{border-color:#7457ff;background:linear-gradient(135deg,#f6f3ff,#effaff)}.ss-marking-paper{min-height:420px}.ss-answer-paper{white-space:pre-wrap;background:#fbfbfe;border:1px solid var(--ss-line,#e7e7f1);border-radius:16px;padding:16px;line-height:1.7}.ss-ai-draft{background:linear-gradient(135deg,#f4f0ff,#eefaff);border:1px solid #d8cdfd;border-radius:16px;padding:16px}
.ss-file-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#f2f4fa;text-decoration:none;color:inherit;font-size:.84rem;font-weight:800}.ss-upload-zone{border:2px dashed #c9c7dc;border-radius:16px;padding:18px;background:#fbfbfe}.ss-upload-zone input{width:100%}
.ss-ops-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ss-ops-stat{padding:17px;border-radius:18px;background:linear-gradient(145deg,#fff,#f7f6ff);border:1px solid var(--ss-line,#e7e7f1)}.ss-ops-stat b{display:block;font-size:1.7rem}.ss-ops-stat span{color:var(--ss-muted,#6c6b7d);font-size:.86rem}
.ss-attendance-ring{--p:0;display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:conic-gradient(#34bd77 calc(var(--p)*1%),#ececf4 0);position:relative}.ss-attendance-ring:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;background:var(--ss-card,#fff)}.ss-attendance-ring strong{position:relative;z-index:1;font-size:1.35rem}
@media(max-width:900px){.ss-classroom-grid,.ss-marking-layout{grid-template-columns:1fr}.ss-ops-stats{grid-template-columns:repeat(2,1fr)}.ss-roster-row{grid-template-columns:1fr 1fr 1fr}.ss-roster-person{grid-column:1/-1}.ss-timetable-day{grid-template-columns:1fr}.ss-timetable-day>strong{padding-top:0}.ss-period-card{grid-template-columns:80px 1fr}.ss-period-card>*:last-child{grid-column:1/-1}}
@media(max-width:560px){.ss-ops-stats{grid-template-columns:1fr 1fr}.ss-classroom-hero{padding:21px;border-radius:22px}.ss-period-card{grid-template-columns:1fr}.ss-roster-row{grid-template-columns:repeat(2,1fr)}.ss-roster-person{grid-column:1/-1}}
