/* Student and administration workspaces; teacher styling stays in its own scope. */
.st-hero{position:relative;overflow:hidden;isolation:isolate;border-radius:25px;min-height:365px;background:#eef5ff;border:1px solid #e1eaf5;margin-bottom:20px;box-shadow:0 10px 30px #142c5408}
.st-hero picture{position:absolute;inset:0;display:block;z-index:-2}.st-hero img{width:100%;height:100%;object-fit:cover;object-position:left center}.st-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,#f4f8ffff 0%,#f4f8fff2 37%,#f4f8ffb0 51%,#f4f8ff00 69%)}
.st-hero-copy{width:60%;padding:30px 35px;position:relative;margin-left:auto}.st-hero-kicker{display:inline-flex;border:1px solid #f2dfa1;background:#fff7d7;color:#7e5d15;border-radius:99px;padding:6px 13px;font-size:11px;font-weight:800}.st-hero h1{font-size:clamp(21px,2.1vw,29px);color:#162e55;line-height:1.7;margin:12px 0 0;overflow-wrap:anywhere}.st-hero-role{display:block;color:#6a7d98;font-size:11px;margin:2px 0 10px}.st-hero h2{font-size:clamp(28px,2.9vw,40px);line-height:1.45;color:#162e55;margin:9px 0 12px}.st-hero h2 em{color:#0866ed;font-style:normal}.st-hero p{font-size:12px;line-height:2;color:#4e6381;margin:0 0 20px}.st-hero-actions{display:flex;gap:9px;flex-wrap:wrap}.st-hero-actions button{min-height:45px;font-size:12px}
.st-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 27px}.st-tools.admin{grid-template-columns:repeat(4,minmax(0,1fr))}.st-tool{display:flex;align-items:center;gap:13px;text-align:right;min-width:0;min-height:118px;padding:20px 18px;background:var(--p1-surface);color:var(--p1-ink);border:1px solid var(--p1-line);border-radius:19px;font:inherit;cursor:pointer;box-shadow:0 4px 16px #142c5405;transition:transform .18s,box-shadow .18s}.st-tool-icon{width:46px;height:46px;border-radius:14px;background:#eaf3ff;color:#0866ed;flex-shrink:0;display:grid;place-items:center}.st-tool-copy{display:flex;flex-direction:column;flex:1;min-width:0;gap:4px}.st-tool-copy b{font-size:13px;line-height:1.8}.st-tool-copy small{font-size:10px;color:var(--p1-muted);line-height:1.9}.st-tool>.p1-icon{width:16px;color:#94a6bf}.st-tool:is(.review,.trophy) .st-tool-icon{background:#fff4dc;color:#b97813}.st-tool:is(.video,.attendance) .st-tool-icon{background:#e5f7f0;color:#058b7b}.st-tool.tasks .st-tool-icon{background:#f1eaff;color:#7544c7}.st-tool.user .st-tool-icon{background:#e9f7fc;color:#08799e}
.st-dashboard .p1-metrics{margin:19px 0 24px}.st-dashboard.student .p1-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.st-dashboard .p1-metric{border-radius:18px;min-width:0}.st-next-step{padding:20px 23px;border-radius:22px;border:1px solid var(--p1-line);background:var(--p1-surface);margin:23px 0}.st-next-step .p1-section-head{margin:0 0 17px}.st-next-step .p1-empty{grid-column:1/-1;box-shadow:none;background:var(--p1-bg);border-radius:17px}.st-next-step .p1-task{box-shadow:none;border-radius:17px}.st-dashboard .ac-utilities{margin:0 0 18px;justify-content:flex-end}.st-dashboard .ac-utilities button{flex:0 1 auto;font-size:11px;min-height:39px}.st-follow{display:flex;align-items:center;gap:15px;background:linear-gradient(110deg,#f6fcff,#edf9f3);border:1px solid #e1efe8;border-radius:19px;margin:20px 0;padding:20px 23px}.st-follow>div{flex:1;min-width:0}.st-follow h2{font-size:17px;color:#183655}.st-follow p{font-size:12px;color:#627b8e}.st-dashboard .p1-motion-card{opacity:1;transform:none}
.hw-upload-status{padding:13px 15px;background:#edf5ff;border:1px solid #dce9fc;border-radius:13px;margin:15px 0;color:#275383;font-size:12px;line-height:1.9}.hw-upload-status progress{display:block;width:100%;height:7px;margin-top:9px;accent-color:#0866ed}.hw-upload-status[hidden]{display:none}.p1-image-preview.hw-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:15px 0}.hw-preview-item{min-width:0;border:1px solid #e2e9f4;border-radius:13px;overflow:hidden;background:#fff}.hw-preview-item img{display:block;width:100%;height:125px;object-fit:contain;background:#f6f8fc}.hw-preview-item>div{padding:8px}.hw-preview-item b{font-size:10px;font-weight:600;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#263e5e}.hw-preview-item small{display:block;color:#69809a;font-size:9px}.hw-preview-item button{width:100%;min-height:34px;border:0;border-radius:8px;background:#fff0f2;color:#b54455;font:inherit;font-size:10px;margin-top:6px;cursor:pointer}.hw-preview-item button:disabled{opacity:.5;cursor:wait}.p1-solve .p1-upload input{max-width:100%;min-width:0;width:100%;font-size:11px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.st-tool:hover{transform:translateY(-3px);box-shadow:0 10px 23px #142c5410}}
@media(prefers-reduced-motion:no-preference){.st-dashboard .p1-motion-card.p1-motion-visible{animation:stCardReveal .32s ease-out both;animation-delay:var(--p1-card-delay,0ms)}}@keyframes stCardReveal{from{opacity:.85;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:1150px){.st-tools.admin{grid-template-columns:repeat(2,minmax(0,1fr))}.st-hero-copy{width:64%;padding:27px}.st-tool{padding:17px 14px;gap:10px}.st-tool>.p1-icon{display:none}.st-tool-copy b{font-size:12px}}
@media(max-width:600px){.st-hero{min-height:358px;border-radius:21px;margin-bottom:17px}.st-hero-copy{width:100%;padding:23px 21px;min-height:358px}.st-hero img{object-position:23% center}.st-hero:after{background:linear-gradient(270deg,#f4f8fff5 0%,#f4f8ffe8 35%,#f4f8ffb5 65%,#f4f8ff40 100%)}.st-hero-kicker{font-size:10px}.st-hero h1{font-size:22px;margin-top:13px}.st-hero-role{font-size:10px}.st-hero h2{font-size:29px;margin:10px 0;line-height:1.4}.st-hero p{font-size:11px;line-height:1.95;margin-bottom:17px}.st-hero-actions{gap:8px}.st-hero-actions button{flex:1;font-size:10px;min-height:43px;padding:9px 10px}.st-hero-actions .p1-icon{width:17px}
.st-tools,.st-tools.admin{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:19px 0 22px}.st-tool{flex-direction:column;align-items:flex-start;gap:11px;min-height:141px;padding:16px 13px;border-radius:16px}.st-tool-icon{width:40px;height:40px;border-radius:12px}.st-tool-icon .p1-icon{width:23px;height:23px}.st-tool-copy b{font-size:12px}.st-tool-copy small{font-size:9px}.st-dashboard .p1-metrics{gap:9px}.st-dashboard.student .p1-metric{padding:13px 9px;gap:5px}.st-dashboard.student .p1-metric strong{font-size:23px}.st-dashboard.student .p1-metric div>span{font-size:9px;line-height:1.7}.st-next-step{padding:18px 15px;margin:21px 0;border-radius:18px}.st-next-step .p1-section-head h2{font-size:18px}.st-next-step .p1-task-grid{gap:13px}.st-follow{padding:18px 17px;flex-wrap:wrap;gap:11px}.st-follow h2{font-size:15px}.st-follow p{font-size:10px}.st-follow button{margin-right:55px;min-height:40px;font-size:11px}.st-dashboard .ac-utilities button{font-size:10px}.p1-image-preview.hw-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hw-preview-item img{height:130px}.hw-upload-status{font-size:11px;padding:11px 13px}}
body.dark .hw-upload-status{background:#1e3452;border-color:#3a5071;color:#c2d8f4}body.dark .hw-preview-item{background:#1c2d44;border-color:#3a5071}body.dark .hw-preview-item b{color:#d8e6fa}body.dark .hw-preview-item img{background:#132338}body.dark .hw-preview-item small{color:#b1c6de}
.p1-solve .p1-upload:has(input[name=images]){position:relative;cursor:pointer}.p1-solve .p1-upload input[name=images]{position:absolute;width:1px;height:1px;padding:0;margin:0;opacity:0;clip-path:inset(50%)}.p1-solve .p1-upload:focus-within{outline:3px solid #65a8ff;outline-offset:3px}.hw-pick-action{display:block;margin-top:12px;border:1px solid #d7e7fc;border-radius:11px;background:#fff;color:#0866ed;font-size:12px;font-weight:700;padding:10px 17px;min-height:43px}.p1-solve .p1-upload:has(input:disabled){opacity:.7;cursor:wait}
@media(max-width:600px){.st-next-step .p1-task{padding:17px}.st-next-step .p1-task-top{margin-bottom:8px}.st-next-step .p1-task h3{font-size:15px}.st-next-step .p1-task p{font-size:11px;line-height:1.8}.st-next-step .p1-task .p1-task-meta{font-size:10px}.st-next-step .p1-task>.p1-btn{min-height:41px}.hw-pick-action{font-size:11px}}
@media(prefers-reduced-motion:reduce){.st-tool,.st-dashboard .p1-motion-card{animation:none!important;transition:none!important}}
