/* Exam results and registration lookup: the lookup form, the record tables, a result's questions. */
.result-lookup { max-width: 640px; }
.result-lookup > .vk-alert, .result-notice { margin: 0 0 20px; }
.result-notice p { margin: 0; color: var(--vk-warning-70); font-size: 14px; line-height: 1.7; }

.result-table { min-width: 1040px; }
.result-table td:first-child { white-space: nowrap; }
.result-outcome { font-weight: 700; }
.result-outcome.is-pass { color: var(--vk-success-60); }
.result-outcome.is-fail { color: var(--vk-danger-60); }
.result-pending { color: var(--vk-gray-50); font-size: 14px; }
.result-leave { margin-top: 20px; text-align: right; }
.registration-table { min-width: 860px; }
.registration-table tr[data-href] { cursor: pointer; }
.registration-table tr[data-href]:hover td { background: var(--vk-gray-5); }
.registration-scope { margin: 12px 0 0; color: var(--vk-gray-70); font-size: 14px; }

/* One result, question by question */
.result-detail { max-width: 880px; }
.result-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
.result-summary div { border: 1px solid var(--vk-gray-20); border-radius: var(--vk-radius-lg); padding: 16px 18px; }
.result-summary dt { color: var(--vk-gray-70); font-size: 13px; }
.result-summary dd { margin: 4px 0 0; font-size: 18px; font-weight: 700; }
.result-detail > .vk-alert { margin-bottom: 20px; }
.result-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.result-filter { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; cursor: pointer; }
.result-filter input { width: 20px; height: 20px; margin: 0; accent-color: var(--vk-primary-60); }
.result-detail:has(.result-filter input:checked) .result-question:not(.is-wrong) { display: none; }
.result-questions { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.result-question { border: 1px solid var(--vk-gray-20); border-radius: var(--vk-radius-lg); padding: 24px; }
.result-question.is-wrong { border-color: var(--vk-danger-20); }
.result-question-head { display: flex; align-items: center; gap: 10px; }
.result-number { display: grid; min-width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--vk-gray-10); padding: 0 6px; font-size: 14px; font-weight: 700; }
.result-question-head code { color: var(--vk-gray-70); font-size: 14px; }
.result-badge { margin-left: auto; }
.result-question-text { margin: 16px 0 0; font-size: 16px; font-weight: 700; line-height: 1.6; }
.result-figure { display: block; max-width: min(100%, 520px); max-height: 420px; margin: 16px 0 0; border: 1px solid var(--vk-gray-20); border-radius: var(--vk-radius-md); background: #fff; padding: 12px; }
.result-choices { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.result-choices li { display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--vk-gray-20); border-radius: var(--vk-radius-md); padding: 12px 14px; font-size: 15px; line-height: 1.55; }
.result-choices li > span { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.result-choices li.is-answer { border-color: var(--vk-success-60); background: #f3faf4; }
.result-choices li.is-chosen-wrong { border-color: var(--vk-danger-60); background: var(--vk-danger-5); }
.result-choices li.is-chosen-wrong .result-tag.is-chosen { background: #fbd5dd; color: var(--vk-danger-60); }
.result-unanswered, .result-letters, .result-credit { margin: 14px 0 0; color: var(--vk-gray-70); font-size: 14px; }
.result-credit { margin-top: 24px; font-size: 13px; }

/* Email code step */
#code-step { margin-top: 24px; }
.result-lookup .submit-request:disabled, .verify-row .vk-btn:disabled { opacity: .5; }
.verify-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.vk-field .verify-label label { margin: 0 0 8px; color: var(--vk-gray-90); font-size: 15px; font-weight: 700; }
.verify-timer { color: var(--vk-primary-60); font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.verify-timer.is-expired { color: var(--vk-danger-60); }
.verify-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.verify-row input { letter-spacing: .2em; }
.verify-foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.verify-text-button { flex: none; margin-top: 8px; border: 0; background: none; padding: 0; color: var(--vk-primary-60); font-size: 13px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.verify-text-button:disabled { color: var(--vk-gray-50); text-decoration: none; cursor: not-allowed; }
.verify-back { margin: 0; font-size: 14px; }
.verify-back a { color: var(--vk-gray-70); }

/* File request dialog (.vk-modal--sm) */
.result-modal form { position: relative; padding: 32px; }
.result-modal h2 { margin: 0 40px 0 0; font-size: 22px; line-height: 1.4; }
.result-modal-lead { margin: 10px 0 0; color: var(--vk-gray-70); font-size: 15px; line-height: 1.6; }
.result-modal .submit-request { margin-top: 20px; }
.result-modal .submit-request:disabled { cursor: progress; opacity: .5; }
.result-modal .vk-help { margin-top: 16px; }
.result-modal-sent { margin: 20px 0 0; border-radius: var(--vk-radius-md); background: var(--vk-success-5); padding: 14px 16px; color: var(--vk-success-60); font-size: 15px; font-weight: 700; line-height: 1.5; }
.result-modal-close { position: absolute; top: 20px; right: 20px; }

@media (max-width: 640px) {
  .result-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-question { padding: 18px 16px; }
  .result-choices li { flex-wrap: wrap; }
  .result-choices li > span { flex-basis: calc(100% - 30px); }
  .result-leave { text-align: left; }
}
