.portal-options{grid-template-columns:repeat(3,1fr)}
.portal-section-head{display:flex;align-items:end;justify-content:space-between;margin:35px 0 16px}
.portal-section-head small{font-size:10px;color:var(--blue);font-weight:700;letter-spacing:.12em}
.portal-section-head h3{font:600 24px var(--font-display);margin:6px 0 0}
.portal-section-head>span{font-size:11px;color:var(--muted)}
.assignment-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px}
.assignment-card{background:white;border:1px solid var(--line);padding:20px;min-height:300px}
.assignment-card.urgent{border-top:3px solid #ff914d}
.assignment-card.closed{border-top:3px solid #a8abb3}
.assignment-card.delivered{border-top:3px solid #35bc7c}
.assignment-top{display:flex;justify-content:space-between;gap:12px;font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.assignment-top i{font-style:normal;color:#e36a28}
.closed .assignment-top i{color:#8c9099}.delivered .assignment-top i{color:#168b55}
.assignment-card h3{font:600 19px var(--font-display);margin:20px 0 8px}
.assignment-card>p{color:var(--muted);font-size:12px;line-height:1.5}
.deadline{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-size:10px}
.deadline b{color:var(--muted)}
.upload-zone{display:grid;place-items:center;text-align:center;border:1px dashed #b8bbc3;padding:15px;cursor:pointer;background:#fafafa}
.upload-zone:hover{border-color:var(--blue);background:#f4f6ff}
.upload-zone>span{color:var(--blue);font-size:22px}.upload-zone b{font-size:12px}.upload-zone small{font-size:9px;color:var(--muted);margin-top:3px}
.selected-file{padding:8px;background:#eaf8ef;color:#197a4c;font-size:10px;margin-top:8px}
.submit-assignment,.publish-feedback{width:100%;border:0;background:var(--blue);color:white;padding:12px;margin-top:10px;font-weight:700;cursor:pointer}
.submit-assignment:disabled{background:#c8cad0;cursor:not-allowed}.submitted{background:#168b55!important}
.closed-state{margin-top:32px;background:#eee;color:#777;padding:16px;text-align:center;font-size:12px;font-weight:700}
.feedback-mini{display:flex;gap:12px;align-items:center;background:#f0f3ff;padding:15px;margin-top:35px}
.feedback-mini>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue);color:white}
.feedback-mini b,.feedback-mini small{display:block;font-size:10px}.feedback-mini small{margin-top:5px;color:var(--muted)}
.teacher-layout{display:grid;grid-template-columns:.85fr 1.4fr;border:1px solid var(--line);background:white;margin-top:28px;min-height:460px}
.inbox{border-right:1px solid var(--line)}
.inbox-tools{padding:16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.inbox-tools select{border:1px solid var(--line);padding:7px;font:10px var(--font-body)}
.inbox-item{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:0;border-bottom:1px solid var(--line);background:white;padding:15px;text-align:left;cursor:pointer}
.inbox-item.active,.inbox-item:hover{background:#f1f4ff;box-shadow:inset 3px 0 var(--blue)}
.avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e8ebf5;color:var(--blue);font-size:10px;font-weight:700}
.inbox-item b,.inbox-item small{display:block}.inbox-item b{font-size:12px}.inbox-item small,.inbox-item time{font-size:9px;color:var(--muted);margin-top:4px}
.review-pane{padding:25px}.review-meta{display:flex;justify-content:space-between;color:#168b55;font-size:9px;font-weight:700}.review-meta small{color:var(--muted)}
.review-pane h3{font:600 25px var(--font-display);margin:18px 0 5px}.review-pane>p{font-size:11px;color:var(--muted)}
.submission-file{display:grid;grid-template-columns:42px 1fr 32px;gap:12px;align-items:center;border:1px solid var(--line);padding:12px;margin:18px 0}
.submission-file>span{display:grid;place-items:center;background:#1c2130;color:white;height:40px;font-size:9px;font-weight:700}.submission-file b,.submission-file small{display:block;font-size:10px}.submission-file small{color:var(--muted);margin-top:4px}.submission-file button{border:0;background:none;font-size:18px;cursor:pointer}
.review-pane label{font-size:10px;font-weight:700}.video-drop{display:flex;align-items:center;gap:12px;border:1px dashed #aeb2bc;padding:13px;margin-top:7px;cursor:pointer}.video-drop>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:white}.video-drop b,.video-drop small{display:block;font-size:10px}.video-drop small{color:var(--muted);margin-top:3px}
.grade-row{display:grid;grid-template-columns:100px 1fr;gap:12px;margin-top:16px}.grade-row input,.grade-row textarea{width:100%;display:block;border:1px solid var(--line);margin-top:7px;padding:10px;font:11px var(--font-body)}.grade-row textarea{height:70px;resize:none}
@media(max-width:850px){.portal-options,.assignment-grid{grid-template-columns:1fr}.teacher-layout{grid-template-columns:1fr}.inbox{border-right:0}.portal-section-head{display:block}.portal-section-head>span{display:block;margin-top:8px}}
