.tpm-result-card {
  background: #fff;
  color: #292b35;
  border: 1px solid #e3e4eb;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 4px 16px #2020300a;
}
.tpm-result-header { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 18px 20px; border-bottom: 1px solid #e8e8ef; }
.tpm-result-header .tpm-result-meta { margin-left: auto; }
.tpm-result-meta { display: block; color: #626572; font-size: .78rem; }
.tpm-calendar-table { width: 100%; table-layout: fixed; margin-bottom: 0; --bs-table-bg: #fff; --bs-table-color: #292b35; --bs-table-border-color: #e8e8ef; }
.tpm-calendar-table thead th { background: #f6f6f9; color: #626572; font-size: .78rem; font-weight: 600; padding: 12px 16px; }
.tpm-calendar-table td { padding: 16px; font-size: .9rem; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.tpm-calendar-table th:nth-child(1) { width: 14%; }
.tpm-calendar-table th:nth-child(2) { width: 31%; }
.tpm-calendar-table th:nth-child(3) { width: 10%; }
.tpm-calendar-table th:nth-child(4) { width: 25%; }
.tpm-calendar-table th:nth-child(5) { width: 20%; }
.tpm-calendar-table .has-verification-note td { border-bottom: 0; }
.tpm-result-badge { display: inline-block; border-radius: 7px; padding: 4px 8px; font-size: .72rem; font-weight: 600; }
.tpm-result-badge.is-fail { background: #ffedf0; color: #a42c41; }
.tpm-result-badge.is-pass { background: #edf5ef; color: #27643b; }
.tpm-verifier-name { display: block; font-weight: 600; }
.tpm-verification-cell .btn { border-radius: 10px; padding: 7px 14px; }
.tpm-verification-edit, .tpm-note-toggle { border: 0; background: none; color: #5940c6; padding: 5px 0 0; font-size: .78rem; text-decoration: underline; text-underline-offset: 3px; }
.tpm-calendar-table .tpm-verification-note-row td { padding: 0 16px 16px; }
.tpm-verification-note { border-radius: 12px; background: #f3f1fb; padding: 12px 16px; }
.tpm-note-label { color: #666277; font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 4px; }
.tpm-note-text { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; line-height: 1.5; }
.tpm-note-text.is-collapsed { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#ackGlobalModal .modal-dialog { max-width: 520px; }
#ackGlobalModal .modal-content { border: 1px solid #e5e4ed; border-radius: 27px; background: #fff; color: #292b35; box-shadow: 0 24px 70px #16102233; }
#ackGlobalModal .modal-header { border: 0; padding: 26px 26px 12px; }
#ackGlobalModal .modal-title { font-size: 1.35rem; font-weight: 600; }
#ackGlobalModal .modal-body { padding: 8px 26px 12px; }
#ackGlobalModal .modal-footer { border: 0; padding: 12px 26px 26px; gap: 8px; }
#ackGlobalModal .form-select, #ackGlobalModal .form-control { background-color: #fff; color: #292b35; border: 1px solid #dddde7; border-radius: 12px; padding: 11px 12px; }
#ackGlobalModal .form-label { font-weight: 500; }
#ackGlobalModal .form-text, #ackGlobalModal .verification-required { color: #666875; font-size: .78rem; font-weight: 400; }
#ackGlobalModal textarea { min-height: 110px; }
#ackGlobalModal .btn { border-radius: 11px; padding: 10px 16px; }
.tpm-verification-summary { background: #f5f5f9; padding: 14px 16px; border-radius: 14px; margin-bottom: 22px; }
.tpm-verification-summary p { margin: 7px 0 10px; font-weight: 500; }
#ackGlobal_reported { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
  .tpm-result-header { padding: 16px; }
  .tpm-result-header .tpm-result-meta { margin-left: 0; width: 100%; }
  .tpm-calendar-table thead { display: none; }
  .tpm-calendar-table, .tpm-calendar-table tbody, .tpm-calendar-table tr, .tpm-calendar-table td { display: block; width: 100%; }
  .tpm-calendar-table .tpm-result-row { padding: 12px 16px; }
  .tpm-calendar-table .tpm-result-row:not(.has-verification-note) { border-bottom: 1px solid #e8e8ef; }
  .tpm-calendar-table td[data-label] { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 7px 0; border: 0; }
  .tpm-calendar-table td[data-label]::before { content: attr(data-label); color: #626572; font-size: .78rem; }
  .tpm-result-badge { justify-self: start; align-self: start; }
  #ackGlobalModal .modal-header { padding: 22px 20px 12px; }
  #ackGlobalModal .modal-body { padding: 8px 20px 12px; }
  #ackGlobalModal .modal-footer { padding: 12px 20px 22px; }
}
@media (pointer: coarse) {
  .tpm-verification-edit, .tpm-note-toggle, .tpm-verification-cell .btn { min-height: 44px; }
  #ackGlobalModal textarea, #ackGlobalModal select { font-size: 16px; }
}
