/* Student dashboard, forms and tables. */
.dash-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); margin-bottom: 1rem; }
.dash-grid.two { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.next-card { border-left: 5px solid var(--teal); }
ul.plain { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
ul.plain li { padding-bottom: 0.5rem; border-bottom: 1px solid var(--line); }
ul.plain li:last-child { border-bottom: 0; }
.timeline { list-style: none; margin: 0; padding: 0 0 0 1rem; border-left: 3px solid var(--line); display: grid; gap: 0.75rem; }
.timeline li { position: relative; }
.timeline li::before { content: ""; position: absolute; left: -1.5rem; top: 0.45rem; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--teal); }
.timeline time { display: block; font-size: 0.8rem; color: var(--muted); }
.note-unread { font-weight: 700; }

fieldset { border: 1px solid var(--line); border-radius: 10px; margin: 0 0 1.25rem; padding: 1rem; }
legend { font-weight: 700; padding: 0 0.4rem; color: var(--navy); }

.status-tag { display: inline-block; padding: 0.1rem 0.6rem; border-radius: 999px; font-size: 0.8rem; font-weight: 700; border: 1.5px solid currentColor; }
.st-verified, .st-paid, .st-approved, .st-passed, .st-completed { color: #0b6b3a; }
.st-ai_checked, .st-uploaded, .st-pending, .st-pending_verification, .st-submitted, .st-in_review, .st-active { color: #8a5a00; }
.st-needs_correction, .st-rejected, .st-failed, .st-missing, .st-not_passed { color: var(--danger); }
.row-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
.row-actions input[type="file"] { max-width: 220px; min-height: 40px; padding: 0.4rem; }
.row-actions input[type="date"] { min-height: 40px; padding: 0.4rem; width: auto; }
