/* Ticketing report: a status ledger, comparable workloads and the dispatch log. */
.ta-workspace { min-width: 0; }
.ta-toolbar, .ta-source, .ta-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ta-toolbar { flex-wrap: wrap; margin: 22px 0; }
.ta-toolbar h2, .ta-source h2, .ta-section-head h3, .ta-dispatch-card > h3 { margin: 0; color: var(--ink); font: 650 24px/1.2 var(--font-label); }
.ta-toolbar p, .ta-section-head p { margin: 6px 0 0; color: var(--ink-3); font-size: 13px; line-height: 1.5; }
.ta-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.ta-filters label { display: grid; gap: 6px; color: var(--ink-3); font: 600 13px/1.2 var(--font-label); letter-spacing: .06em; }
.ta-filters select { min-width: 148px; max-width: 240px; font: 400 13px/1.3 var(--font-body); letter-spacing: normal; }
.ta-source { align-items: center; margin: 25px 0 14px; }
.ta-eyebrow { display: block; margin-bottom: 5px; color: var(--ink-3); font: 600 11px/1.2 var(--font-label); letter-spacing: .12em; text-transform: uppercase; }
.ta-source h2 { font-size: 21px; }
.ta-source-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; color: var(--ink-3); font-size: 12px; }
.ta-metric-wrap { overflow-x: auto; border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--surface); }
.ta-metric-grid { width: 100%; min-width: 620px; border-collapse: collapse; }
.ta-metric-grid caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ta-metric-grid th, .ta-metric-grid td { padding: 17px 18px; border-bottom: 1px solid var(--rule); text-align: right; }
.ta-metric-grid thead th { background: var(--surface-2); color: var(--ink-3); font: 600 13px/1.2 var(--font-label); letter-spacing: .06em; }
.ta-metric-grid th:first-child { text-align: left; }
.ta-metric-grid tbody th { width: 24%; color: var(--ink-2); font-size: 13px; font-weight: 500; }
.ta-metric-grid tbody td { color: var(--ink); font: 650 27px/1.1 var(--font-label); font-variant-numeric: tabular-nums; }
.ta-metric-grid tbody td.ta-delayed { color: var(--danger); }
.ta-metric-grid tr:last-child > * { border-bottom: 0; }
.ta-metric-grid thead th small { display: block; margin-top: 4px; font: 500 11px/1.2 var(--font-label); letter-spacing: 0; text-transform: none; }
.ta-crosscheck { max-width: 850px; margin: 14px 0 0; }
.ta-crosscheck p { margin: 4px 0 0; }
.ta-definition { max-width: 850px; margin: 12px 0 22px; color: var(--ink-3); font-size: 12px; line-height: 1.55; }
.ta-period-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 24px 0 12px; }
.ta-period-heading h3 { margin: 0; color: var(--ink); font: 650 23px/1.2 var(--font-label); }
.ta-period-heading span { color: var(--ink-3); font-size: 12px; }
.ta-rankings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.ta-ranking, .ta-clients, .ta-dispatch-card { min-width: 0; overflow: hidden; border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--surface); }
.ta-ranking { padding: 19px; }
.ta-section-head h3 { font-size: 20px; }
.ta-rank-list { display: grid; gap: 17px; margin: 22px 0 0; padding: 0; list-style: none; }
.ta-rank-label { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 7px; color: var(--ink-2); font-size: 13px; }
.ta-rank-label span { overflow-wrap: anywhere; }
.ta-rank-label strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.ta-rank-list meter { display: block; width: 100%; height: 6px; appearance: none; border: none; border-radius: var(--radius-full); background: var(--fill); }
.ta-rank-list meter::-webkit-meter-bar { border: none; border-radius: var(--radius-full); background: var(--fill); }
.ta-rank-list meter::-webkit-meter-optimum-value { background: var(--info); border-radius: var(--radius-full); }
.ta-rank-list meter::-moz-meter-bar { background: var(--info); border-radius: var(--radius-full); }
.ta-warning meter::-webkit-meter-optimum-value { background: var(--warning); }
.ta-warning meter::-moz-meter-bar { background: var(--warning); }
.ta-clients > .ta-section-head { padding: 18px 20px; }
.ta-table-wrap { max-width: 100%; overflow-x: auto; }
.ta-table-wrap table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ta-table-wrap th, .ta-table-wrap td { padding: 12px 18px; border-top: 1px solid var(--rule); text-align: right; font-variant-numeric: tabular-nums; }
.ta-table-wrap thead th { color: var(--ink-3); background: var(--surface-2); font: 600 13px/1.2 var(--font-label); letter-spacing: .04em; }
.ta-table-wrap th:first-child, .ta-table-wrap tbody th { text-align: left; }
.ta-table-wrap tbody th { color: var(--ink); font-weight: 500; }
.ta-empty { margin: 20px 0 4px; color: var(--ink-3); font-size: 13px; line-height: 1.5; }
.ta-clients > .ta-empty { margin: 0; padding: 0 20px 20px; }
.ta-notes { display: grid; gap: 5px; margin: 12px 0 0; padding-left: 18px; color: var(--ink-3); font-size: 12px; line-height: 1.6; }
.ta-dispatch-card { margin-top: 26px; padding: 20px; }
.ta-dispatch-card .notice { margin-top: 15px; }
.ta-dispatch-times { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 20px; color: var(--ink-3); font-size: 12px; }
.ta-dispatch-times strong { margin-left: 5px; color: var(--ink-2); font-weight: 500; }
.ta-dispatch-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 20px 0 0; padding-top: 17px; border-top: 1px solid var(--rule); }
.ta-dispatch-counts dt { color: var(--ink-3); font-size: 12px; }
.ta-dispatch-counts dd { margin: 7px 0 0; color: var(--ink); font: 650 27px/1.1 var(--font-label); font-variant-numeric: tabular-nums; }
.ta-dispatch-recent { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--rule); }
.ta-dispatch-recent summary { color: var(--ink-2); font-size: 13px; }
.ta-dispatch-recent summary span { margin-left: 7px; color: var(--ink-3); }
.ta-dispatch-recent .ta-table-wrap { margin: 16px -20px -20px; max-width: none; }
.ta-dispatch-recent .ta-table-wrap th, .ta-dispatch-recent .ta-table-wrap td { text-align: left; }
.ta-dispatch-recent td small { display: block; margin-top: 4px; max-width: 260px; color: var(--ink-3); line-height: 1.5; }
@media (max-width: 1050px) {
  .ta-rankings { grid-template-columns: 1fr; }
  .ta-rank-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
}
@media (max-width: 640px) {
  .ta-toolbar, .ta-source, .ta-dispatch-card > .ta-section-head { flex-direction: column; gap: 12px; }
  .ta-filters { width: 100%; }
  .ta-filters label { min-width: 0; flex: 1 1 130px; }
  .ta-filters select { width: 100%; min-width: 0; max-width: none; }
  .ta-source-meta { justify-content: flex-start; }
  .ta-rank-list { grid-template-columns: 1fr; }
  .ta-dispatch-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ta-dispatch-times { flex-direction: column; }
}
