/* ============ Denning records pages (.pg-records) · Exams, Subjects, Requests, Jobs ============ */

.pg-records .page-header h2 { margin-bottom: 2px; }
.pg-records .tabs { margin-bottom: 16px; }
.rc-source { background: var(--accent-tint); color: var(--accent); flex: none; }
.pg-records .rc-back { margin-bottom: 12px; }
.pg-records .rc-section-title { margin: 26px 0 10px; font-size: 16px; }

/* cards */
.pg-records .rc-card-head { align-items: flex-start; gap: 10px; margin-bottom: 10px; flex-wrap: nowrap; }
.pg-records .rc-card-head h3 { font-size: 15.5px; line-height: 1.35; margin: 0; }
.pg-records .rc-card .btn { margin-top: 12px; }
.rc-dl { display: grid; gap: 6px 14px; grid-template-columns: minmax(96px, max-content) 1fr; margin: 0; }
.rc-dl > div { display: contents; }
.rc-dl dt { color: var(--text-3); font-size: 12.5px; }
.rc-dl dd { margin: 0; font-size: 13.5px; overflow-wrap: anywhere; white-space: pre-wrap; }
.rc-dl a { color: var(--accent); font-weight: 600; }

/* exams */
.pg-records .rc-exam { margin-bottom: 16px; }
.pg-records .rc-subj { font-weight: 600; }
.pg-records .rc-extra { margin-top: 2px; }
.pg-records .rc-marks { font-weight: 700; white-space: nowrap; }

/* subjects */
.pg-records .rc-subject { display: flex; flex-direction: column; gap: 4px; border-left: 4px solid var(--cc); color: inherit; text-decoration: none; }
.pg-records .rc-code { font-size: 11.5px; font-weight: 800; letter-spacing: .05em; color: var(--text-3); }
.pg-records .rc-title { font-weight: 700; font-size: 15px; line-height: 1.3; }
.pg-records .rc-cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; color: var(--accent); font-weight: 600; }
.pg-records .rc-subject-grid { align-items: start; }
.pg-records .rc-answer { padding: 12px 0; border-top: 1px solid var(--line); display: grid; gap: 6px; }
.pg-records .rc-answer:first-child { border-top: 0; padding-top: 0; }
.pg-records .rc-q { margin: 0; white-space: pre-wrap; font-size: 13.5px; }
.pg-records .rc-reply { background: var(--surface-2); border-radius: var(--r-sm); padding: 8px 10px; }
.pg-records .rc-reply p { margin: 2px 0 0; white-space: pre-wrap; font-size: 13.5px; }

/* lecture videos */
.pg-records .rc-videos { padding: 6px; margin-top: 12px; }
.pg-records .rc-video { width: 100%; background: none; border: 0; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.pg-records .rc-play { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-tint); color: var(--accent); flex: none; }
.rc-player { position: relative; aspect-ratio: 16 / 9; background: var(--n-900); border-radius: var(--r-md); overflow: hidden; margin-bottom: 10px; }
.rc-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* requests */
.pg-records .rc-form { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.pg-records .rc-form-ic { width: 38px; height: 38px; border-radius: var(--r-sm); display: grid; place-items: center; background: var(--accent-tint); color: var(--accent); flex: none; }
.pg-records .rc-form-ic svg { width: 20px; height: 20px; }
.pg-records .rc-form .rc-title { flex: 1; }

/* profile card (rendered inside .pg-profile) */
.rc-profile .rc-photos { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.rc-profile .rc-photos img { height: 96px; border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--surface-2); }
.rc-profile .rc-dl { margin-top: 10px; }
.rc-houses-title { margin: 16px 0 6px; font-size: 13px; color: var(--text-2); }
.rc-houses { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: h; }
.rc-houses li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 10px; border-radius: var(--r-sm); background: var(--surface-2); font-size: 13.5px; counter-increment: h; }
.rc-houses li span::before { content: counter(h) ". "; color: var(--text-3); }
.rc-houses li.mine { background: var(--warning-tint); font-weight: 700; }

/* Manage > Denning records */
.rc-admin .rc-switch { display: flex; align-items: center; gap: 10px; margin: 10px 0; font-size: 14px; cursor: pointer; }
.rc-admin .rc-switch input { width: 18px; height: 18px; accent-color: var(--accent); }
.rc-admin .rc-counts { margin-top: 14px; }
.rc-admin .rc-check-when { margin: 14px 0 6px; }
.rc-admin .rc-check-row { border-top: 1px solid var(--line); padding: 8px 0; }
.rc-admin .rc-check-row summary { display: flex; align-items: center; gap: 10px; cursor: pointer; flex-wrap: wrap; }
.rc-admin .rc-pre { background: var(--surface-2); border-radius: var(--r-sm); padding: 10px; font-size: 11.5px; overflow: auto; max-height: 320px; margin: 8px 0 0; }

@media (max-width: 760px) {
  .rc-dl { grid-template-columns: 1fr; gap: 2px; }
  .rc-dl dd { margin-bottom: 6px; }
}

/* long addresses and IDs must wrap rather than widen the page on phones */
.pg-records .grid > * { min-width: 0; }
.rc-admin .form-hint, .rc-admin p, .rc-admin .rc-check-row summary { overflow-wrap: anywhere; }
