/* jobs.css: machine plan upload + student dashboard */
.jobs-card { max-width: 720px; text-align: right; }
.jobs-meta { display: grid; grid-template-columns: max-content 1fr; gap: 8px 24px; margin: 0 0 16px; }
.jobs-meta dt { color: #5b6672; }
.jobs-meta dd { margin: 0; font-weight: 500; }
.jobs-form { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; text-align: right; margin-bottom: 16px; }
.jobs-form input[type=file] { max-width: 100%; font-family: inherit; }
.jobs-hint, .jobs-mute { color: #5b6672; font-size: 0.9em; }
.jobs-status { color: #1f3343; }
.jobs-missing, .mb-alert { color: #b42318; font-weight: 500; }
.mb-status { color: #1f3343; }
.mb-status.mb-alert { color: #b42318; }
.jobs-est { font-size: 0.9em; margin-inline-start: 8px; color: #5b6672; }
.jobs-link { font-size: 0.9em; margin-inline-start: 8px; }
.jobs-upload-btn { margin-inline-start: 8px; }
.jobs-alert, .jobs-ok, .jobs-warn { border: 1px solid #e3e6ea; }
.jobs-alert h2, .jobs-alert h3 { color: #b42318; }
.mb-summary { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); grid-auto-rows: 1fr; gap: 12px; margin-bottom: 24px; }
.mb-stat { background: #fff; border: 1px solid #e3e6ea; border-radius: 8px; padding: 12px 16px; min-height: 76px; }
.mb-stat b { display: block; font-size: 1.5em; font-weight: 500; color: #1f3343; }
.mb-stat span { color: #5b6672; font-size: 0.9em; }
.mb-section { margin-top: 32px; }
.mb-past td { color: #5b6672; }
@media (max-width: 640px) { .jobs-meta { grid-template-columns: 1fr; } }
