/* AI4Sport Phase C — platform operations surfaces. */

.sr-only {
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.admin-view {
  --admin-ink: #1e3354;
  --admin-muted: #7d8da6;
  --admin-line: #dfe9f5;
}

.admin-page:not(.hidden) {
  animation: adminPageEnter 320ms cubic-bezier(0.2, 0.76, 0.25, 1) both;
}

.admin-table-card,
.admin-catalog-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(249, 252, 255, 0.95));
  padding: 27px;
}

.admin-table-card .section-heading,
.admin-catalog-card .section-heading {
  align-items: flex-start;
  margin-bottom: 22px;
}

.admin-table-card .section-count {
  min-width: 38px;
}

.admin-table-toolbar,
.admin-catalog-toolbar {
  align-items: center;
  background: linear-gradient(105deg, #f7faff, #fafdff);
  border: 1px solid #e4edf8;
  border-radius: 16px;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 12px 13px 12px 16px;
}

.admin-catalog-toolbar {
  margin-bottom: 20px;
}

.admin-toolbar-summary,
.admin-catalog-toolbar > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 150px;
}

.toolbar-kicker {
  color: #9aabc0;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.16em;
}

.admin-toolbar-summary strong,
.admin-catalog-toolbar strong {
  color: #4a5d79;
  font-size: 12px;
  font-weight: 750;
}

.admin-toolbar-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.admin-filter-field {
  align-items: center;
  display: inline-flex;
  min-width: 212px;
  position: relative;
}

.admin-filter-field > .ui-icon {
  color: #9aaac0;
  height: 15px;
  left: 11px;
  pointer-events: none;
  position: absolute;
  width: 15px;
  z-index: 1;
}

.admin-filter-field input,
.admin-filter-select {
  background: #fff;
  border: 1px solid #dfe8f3;
  border-radius: 10px;
  color: #50627d;
  font-size: 12px;
  font-weight: 650;
  height: 36px;
  outline: 0;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.admin-filter-field input {
  padding: 0 12px 0 33px;
  width: 100%;
}

.admin-filter-select {
  cursor: pointer;
  min-width: 112px;
  padding: 0 29px 0 11px;
}

.admin-filter-field input::placeholder {
  color: #a5b2c3;
  font-weight: 550;
}

.admin-filter-field input:focus,
.admin-filter-select:focus {
  background: #fbfdff;
  border-color: #a9c6f6;
  box-shadow: 0 0 0 3px rgba(36, 99, 233, 0.09);
}

.admin-table-wrap {
  background: rgba(250, 252, 255, 0.7);
  border: 1px solid #e5edf7;
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  overflow-x: auto;
}

.admin-table {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 800px;
}

.admin-table thead th {
  background: #f5f9fe;
  border-bottom: 1px solid #e4edf7;
  color: #8d9db3;
  font-size: 9px;
  padding: 13px 14px;
}

.admin-table thead th:first-child {
  border-radius: 15px 0 0 0;
}

.admin-table thead th:last-child {
  border-radius: 0 15px 0 0;
}

.admin-table tbody tr {
  transition: background 160ms ease;
}

.admin-table tbody tr:hover {
  background: #f8fbff;
}

.admin-table td {
  border-top-color: #edf2f8;
  color: #73839a;
  font-size: 12px;
  padding: 15px 14px;
}

.admin-table tbody tr:first-child td {
  border-top: 0;
}

.admin-table td:first-child {
  color: #40536f;
}

.health-row-icon {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.health-row-icon::before {
  content: none !important;
}

.health-row-icon .ui-icon {
  height: 16px;
  width: 16px;
}

.admin-table td:nth-child(3),
.admin-table td:nth-child(4),
.admin-table td:nth-child(5) {
  font-variant-numeric: tabular-nums;
}

.table-person {
  min-width: 185px;
}

.table-person strong {
  color: #3d5270;
  font-size: 13px;
  font-weight: 750;
}

.table-person small {
  color: #97a6b8;
  display: block;
  font-size: 10px;
  margin-top: 3px;
  max-width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table-action {
  align-items: center;
  background: #f5f8fc;
  border: 1px solid #e1e9f3;
  border-radius: 9px;
  color: #72829a;
  display: inline-flex;
  font-size: 11px;
  font-weight: 750;
  gap: 5px;
  min-height: 30px;
  padding: 0 9px;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.table-action .ui-icon {
  height: 13px;
  width: 13px;
}

.table-action:hover:not(:disabled) {
  background: #eef4ff;
  border-color: #cddfff;
  color: var(--color-primary);
  transform: translateY(-1px);
}

.table-action:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.status-chip {
  align-items: center;
  gap: 5px;
}

.status-chip::before {
  background: currentColor;
  border-radius: 50%;
  content: "";
  height: 5px;
  opacity: 0.7;
  width: 5px;
}

.role-chip {
  font-size: 10px;
  letter-spacing: 0.01em;
}

.admin-empty-row,
.admin-table-empty {
  color: #9aa9bb;
  font-size: 12px;
  min-height: 168px;
}

.admin-empty-row::before,
.admin-table-empty::before {
  border: 1px dashed #b9cbe2;
  border-radius: 10px;
  content: "";
  height: 28px;
  margin-bottom: 10px;
  opacity: 0.65;
  width: 36px;
}

.admin-catalog-list {
  gap: 22px;
}

.catalog-stat-grid {
  gap: 13px;
}

.catalog-stat-grid > div {
  background:
    radial-gradient(circle at 100% 0, rgba(36, 99, 233, 0.09), transparent 5rem),
    linear-gradient(135deg, #f8fbff, #f0f7ff);
  border-color: #dfeafa;
  border-radius: 16px;
  min-height: 112px;
  padding: 17px;
  position: relative;
  overflow: hidden;
}

.catalog-stat-grid > div::after {
  border: 1px solid rgba(36, 99, 233, 0.12);
  border-radius: 50%;
  content: "";
  height: 70px;
  position: absolute;
  right: -26px;
  top: -28px;
  width: 70px;
}

.catalog-stat-grid > div:nth-child(2) {
  background:
    radial-gradient(circle at 100% 0, rgba(8, 181, 210, 0.1), transparent 5rem),
    linear-gradient(135deg, #f6fdff, #effbfe);
  border-color: #d8eff5;
}

.catalog-stat-grid > div:nth-child(3) {
  background:
    radial-gradient(circle at 100% 0, rgba(134, 92, 246, 0.09), transparent 5rem),
    linear-gradient(135deg, #fbf9ff, #f7f3ff);
  border-color: #e7ddff;
}

.catalog-stat-grid span,
.catalog-stat-grid small,
.catalog-stat-grid strong {
  position: relative;
  z-index: 1;
}

.catalog-stat-grid strong {
  font-size: 33px;
}

.catalog-list-grid {
  gap: 15px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.catalog-template-card {
  background: linear-gradient(145deg, #fff, #fbfdff);
  border-color: #e2eaf5;
  box-shadow: 0 8px 18px rgba(43, 82, 134, 0.035);
  min-height: 188px;
  padding: 19px;
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.catalog-template-card::before {
  background: linear-gradient(90deg, #2463e9, #6cd7ed, transparent);
  border-radius: 99px;
  content: "";
  height: 2px;
  left: 19px;
  position: absolute;
  right: 48%;
  top: 0;
}

.catalog-template-card:hover {
  border-color: #cbdcff;
  box-shadow: 0 16px 30px rgba(38, 88, 154, 0.09);
  transform: translateY(-3px);
}

.catalog-template-top {
  margin-bottom: 18px;
}

.template-code {
  background: #fff6e9;
  border-color: #ffe5bf;
  color: #d98227;
  font-size: 9px;
  min-height: 24px;
}

.catalog-template-card h4 {
  align-items: center;
  color: #334b6c;
  display: flex;
  font-size: 17px;
  gap: 8px;
  letter-spacing: -0.02em;
}

.catalog-template-icon {
  align-items: center;
  background: #eef4ff;
  border: 1px solid #dce8ff;
  border-radius: 8px;
  color: var(--color-primary);
  display: inline-flex;
  flex: 0 0 auto;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.catalog-template-icon .ui-icon {
  height: 15px;
  width: 15px;
}

.catalog-template-card p {
  color: #8494aa;
  font-size: 12px;
  margin: 9px 0 24px;
}

.catalog-template-card footer {
  color: #8b9bb0;
  font-size: 11px;
  padding-top: 13px;
}

@keyframes adminPageEnter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 820px) {
  .admin-table-toolbar,
  .admin-catalog-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-toolbar-controls {
    justify-content: flex-start;
    width: 100%;
  }

  .admin-filter-field {
    flex: 1 1 200px;
  }
}

@media (max-width: 760px) {
  .admin-table-card,
  .admin-catalog-card {
    padding: 19px;
  }

  .admin-table-card .section-heading,
  .admin-catalog-card .section-heading {
    gap: 14px;
  }

  .admin-toolbar-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-filter-field,
  .admin-filter-select {
    min-width: 0;
    width: 100%;
  }

  .catalog-stat-grid {
    grid-template-columns: 1fr;
  }

  .catalog-stat-grid > div {
    min-height: 96px;
  }
}

.ball-profile-command {
  padding: clamp(22px, 2.4vw, 32px);
}

.ball-profile-form {
  display: grid;
  gap: 22px;
  margin-top: 22px;
}

.ball-profile-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ball-profile-option {
  position: relative;
  display: grid;
  min-height: 206px;
  gap: 14px;
  padding: 20px;
  border: 1px solid #d8e5f4;
  border-radius: 18px;
  background: linear-gradient(155deg, #ffffff 0%, #f5f9ff 100%);
  color: var(--admin-ink);
  cursor: pointer;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.ball-profile-option:hover {
  border-color: #94b9eb;
  box-shadow: 0 12px 28px rgba(45, 91, 155, 0.10);
  transform: translateY(-1px);
}

.ball-profile-option.is-selected {
  border-color: var(--brand-600);
  box-shadow: 0 0 0 3px rgba(41, 111, 211, 0.10), 0 14px 30px rgba(41, 91, 160, 0.12);
  background: linear-gradient(155deg, #ffffff 0%, #edf5ff 100%);
}

.ball-profile-option input {
  position: absolute;
  inset: 18px 18px auto auto;
  width: 18px;
  height: 18px;
  accent-color: var(--brand-600);
}

.ball-profile-option-head {
  display: grid;
  gap: 5px;
  padding-right: 30px;
}

.ball-profile-option-head strong {
  font-size: 20px;
  line-height: 1.2;
}

.ball-profile-option-head small {
  color: var(--brand-700);
  font-size: 13px;
  font-weight: 700;
}

.ball-profile-option p {
  margin: 0;
  color: var(--admin-muted);
  font-size: 14px;
  line-height: 1.65;
}

.ball-profile-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: auto;
}

.ball-profile-metrics span {
  display: grid;
  gap: 3px;
  padding: 9px 8px;
  border: 1px solid #e1ebf7;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--admin-muted);
  font-size: 11px;
  text-align: center;
}

.ball-profile-metrics b {
  color: var(--admin-ink);
  font-size: 14px;
}

.ball-profile-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--admin-line);
}

.ball-profile-reason {
  display: grid;
  gap: 8px;
  color: var(--admin-ink);
  font-size: 14px;
  font-weight: 700;
}

.ball-profile-reason textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid #cfddec;
  border-radius: 12px;
  background: #ffffff;
  color: var(--admin-ink);
  padding: 11px 13px;
  font: inherit;
  font-weight: 500;
  line-height: 1.55;
}

.ball-profile-reason textarea:focus {
  border-color: var(--brand-600);
  box-shadow: 0 0 0 3px rgba(41, 111, 211, 0.10);
  outline: none;
}

.ball-profile-reason-hint,
.ball-profile-evidence {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

.ball-profile-reason-hint.is-valid {
  color: #16734a;
}

.ball-profile-evidence {
  margin: 10px 2px 0;
}

.ball-profile-save {
  display: grid;
  justify-items: end;
  gap: 9px;
}

.ball-profile-save small {
  color: var(--admin-muted);
  font-size: 12px;
}

.ball-profile-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid var(--admin-line);
  background: var(--admin-line);
}

.ball-profile-notes > div {
  display: grid;
  gap: 6px;
  padding: 18px 20px;
  background: #f8fbff;
}

.ball-profile-notes strong {
  color: var(--admin-ink);
  font-size: 14px;
}

.ball-profile-notes span {
  color: var(--admin-muted);
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .ball-profile-options,
  .ball-profile-notes {
    grid-template-columns: 1fr;
  }

  .ball-profile-option {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .ball-profile-footer {
    grid-template-columns: 1fr;
  }

  .ball-profile-save {
    justify-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-page:not(.hidden) {
    animation: none;
  }
}

/* Versioned tracking-review workspace. */
.tracking-review-command {
  background: linear-gradient(135deg, #ffffff 0%, #f5f9ff 100%);
  padding: 15px 18px;
}

.tracking-review-topbar {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
  margin-bottom: 10px;
}

.tracking-review-topbar > .tracking-review-command,
.tracking-review-topbar > .tracking-review-list-card {
  margin: 0;
  min-width: 0;
}

.tracking-review-source-row {
  align-items: end;
  display: grid;
  gap: 9px;
  grid-template-columns: minmax(150px, 0.58fr) minmax(250px, 1fr) auto;
  margin-top: 10px;
}

.tracking-review-source-row label,
.tracking-edit-panel label {
  color: #657893;
  display: grid;
  font-size: 12px;
  font-weight: 750;
  gap: 7px;
  min-width: 0;
}

.tracking-review-source-row select,
.tracking-review-source-row input,
.tracking-edit-panel select,
.tracking-edit-panel input,
.tracking-edit-panel textarea {
  background: #fff;
  border: 1px solid #d9e5f3;
  border-radius: 10px;
  color: #173052;
  font: inherit;
  min-height: 42px;
  outline: none;
  padding: 9px 11px;
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  width: 100%;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.tracking-edit-panel textarea {
  min-height: 76px;
  resize: vertical;
}

.tracking-review-source-row select:focus,
.tracking-review-source-row input:focus,
.tracking-edit-panel select:focus,
.tracking-edit-panel input:focus,
.tracking-edit-panel textarea:focus {
  border-color: #4f88db;
  box-shadow: 0 0 0 3px rgba(42, 108, 205, 0.12);
}

.tracking-review-layout {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: 292px minmax(0, 1fr);
}

.tracking-review-list-card,
.tracking-review-workspace {
  padding: 14px;
}

.tracking-review-list-card {
  max-height: calc(100vh - 150px);
  position: sticky;
  top: 92px;
}

.tracking-review-topbar > .tracking-review-list-card {
  max-height: none;
  position: static;
}

.tracking-review-topbar .tracking-review-list {
  max-height: 126px;
}

.tracking-review-panel-title,
.tracking-review-section-title,
.tracking-review-detail-head,
.tracking-review-actions,
.tracking-review-panel-title > div,
.tracking-review-section-title > div {
  align-items: center;
  display: flex;
}

.tracking-review-panel-title,
.tracking-review-section-title,
.tracking-review-detail-head {
  justify-content: space-between;
}

.tracking-review-panel-title > div,
.tracking-review-section-title > div {
  align-items: flex-start;
  flex-direction: column;
  gap: 3px;
}

.tracking-review-panel-title small,
.tracking-review-section-title small {
  color: #7790b0;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.tracking-review-panel-title strong,
.tracking-review-section-title strong {
  color: #1a3458;
  font-size: 15px;
}

.tracking-review-panel-title > span {
  align-items: center;
  background: #edf4ff;
  border-radius: 999px;
  color: #2868bf;
  display: inline-flex;
  font-size: 12px;
  font-weight: 850;
  height: 28px;
  justify-content: center;
  min-width: 28px;
}

.tracking-review-list {
  display: grid;
  gap: 7px;
  margin-top: 9px;
  max-height: calc(100vh - 255px);
  overflow: auto;
  padding-right: 3px;
}

.tracking-review-list-item {
  background: #f8fbff;
  border: 1px solid #e1eaf5;
  border-radius: 12px;
  color: #627691;
  cursor: pointer;
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tracking-review-list-item:hover,
.tracking-review-list-item.is-active {
  border-color: #78a8e7;
  box-shadow: 0 8px 24px rgba(36, 87, 151, 0.1);
  transform: translateY(-1px);
}

.tracking-review-list-item.is-active {
  background: #f2f7ff;
}

.tracking-review-list-item > span,
.tracking-review-list-item footer,
.tracking-issue > span,
.tracking-issue footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.tracking-review-list-item > .tracking-review-list-meta {
  gap: 7px;
  justify-content: flex-start;
  min-width: 0;
  white-space: nowrap;
}

.tracking-review-list-meta i,
.tracking-review-list-meta time {
  color: #7387a1;
  font-size: 10px;
  font-style: normal;
}

.tracking-review-list-meta time {
  margin-left: auto;
}

.tracking-review-list-item b {
  color: #2868bf;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.tracking-review-list-item strong {
  color: #1b3558;
  font-size: 13px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-review-list-item small,
.tracking-review-list-item footer {
  font-size: 10px;
}

.tracking-review-status {
  background: #eef3fa;
  border-radius: 999px;
  color: #677b96;
  display: inline-flex;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  padding: 3px 6px;
}

.tracking-review-status.is-pending_review { background: #fff5df; color: #a3680b; }
.tracking-review-status.is-published { background: #e8f8f1; color: #1c805c; }
.tracking-review-status.is-archived { background: #f0f2f5; color: #7a8491; }

.tracking-review-empty {
  align-items: center;
  color: #7d8da4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 460px;
  text-align: center;
}

.tracking-review-empty svg {
  color: #77a7e6;
  height: 52px;
  margin-bottom: 14px;
  width: 52px;
}

.tracking-review-empty strong { color: #233e62; font-size: 18px; }
.tracking-review-empty p { font-size: 12px; max-width: 360px; }

.tracking-review-detail-head {
  border: 0;
  gap: 16px;
  padding: 0;
}

.tracking-review-detail-head h3 {
  color: #173052;
  font-size: 20px;
  margin: 0 0 3px;
}

.tracking-review-detail-head p {
  color: #7a8ca4;
  font-size: 11px;
  margin: 0;
}

.tracking-review-actions {
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  padding: 0;
}

.tracking-review-validation {
  background: #ecf8f2;
  border: 1px solid #bfe7d5;
  border-radius: 10px;
  color: #216c52;
  font-size: 11px;
  margin-bottom: 12px;
  padding: 10px 12px;
}

.tracking-review-validation.is-invalid {
  background: #fff0f0;
  border-color: #f2c8c8;
  color: #a33f48;
}

.tracking-validation-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.tracking-validation-head strong {
  font-size: 12px;
}

.tracking-validation-head span {
  color: inherit;
  opacity: 0.78;
}

.tracking-conflict-list {
  border-top: 1px solid rgba(176, 70, 79, 0.17);
  display: grid;
  gap: 7px;
  margin-top: 8px;
  padding-top: 8px;
}

.tracking-conflict-row {
  align-items: center;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(218, 133, 140, 0.36);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(150px, 0.72fr) minmax(0, 1.28fr);
  padding: 7px 8px;
}

.tracking-conflict-row > div:first-child {
  display: grid;
  gap: 2px;
}

.tracking-conflict-row strong {
  align-items: center;
  color: #913c45;
  display: flex;
  font-size: 11px;
  gap: 6px;
}

.tracking-conflict-row strong i {
  background: #ff765f;
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

.tracking-conflict-row strong i.is-team_a {
  background: #38d7eb;
}

.tracking-conflict-row > div:first-child > span {
  color: #a35159;
  font-size: 10px;
  font-weight: 730;
}

.tracking-conflict-resolve {
  background: #fff;
  border: 1px solid #dfa5aa;
  border-radius: 6px;
  color: #9a454d;
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  justify-self: start;
  margin-top: 2px;
  min-height: 23px;
  padding: 0 7px;
}

.tracking-conflict-resolve:hover {
  background: #fff3f3;
  border-color: #c97981;
}

.tracking-conflict-tracks {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tracking-conflict-tracks button {
  align-items: center;
  background: #fff;
  border: 1px solid #ebc8cb;
  border-radius: 7px;
  color: #794148;
  cursor: pointer;
  display: flex;
  gap: 5px;
  justify-content: space-between;
  min-width: 0;
  padding: 5px 7px;
}

.tracking-conflict-tracks button:hover {
  background: #fff8f8;
  border-color: #d9959c;
}

.tracking-conflict-tracks button b {
  flex: 0 0 auto;
  font-size: 10px;
}

.tracking-conflict-tracks button span {
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-review-timeline-section,
.tracking-review-audit {
  border: 1px solid #e5edf7;
  border-radius: 13px;
  margin-top: 6px;
  padding: 14px;
}

.tracking-review-section-title > span {
  color: #8797ac;
  font-size: 10px;
}

.tracking-overlay-legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  justify-content: flex-end;
}

.tracking-review-section-title > .tracking-overlay-legend {
  align-items: center;
  flex-direction: row;
  gap: 6px 12px;
}

.tracking-overlay-legend span {
  align-items: center;
  color: #667a95;
  display: inline-flex;
  font-size: 10px;
  font-weight: 750;
  gap: 5px;
  white-space: nowrap;
}

.tracking-overlay-legend span::before {
  background: #38d7eb;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(56, 215, 235, 0.13);
  content: "";
  height: 7px;
  width: 7px;
}

.tracking-overlay-legend .team-b::before {
  background: #ff765f;
  box-shadow: 0 0 0 3px rgba(255, 118, 95, 0.13);
}

.tracking-overlay-legend .unknown::before {
  background: #ff003d;
  box-shadow: 0 0 0 3px rgba(255, 0, 61, 0.13);
}

.tracking-overlay-hint {
  color: #7890ab;
  font-size: 11px;
  line-height: 1.55;
  margin: 9px 0 0;
}

.tracking-review-timeline {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  max-height: 260px;
  overflow: auto;
}

.tracking-review-video-shell {
  aspect-ratio: var(--tracking-video-aspect, 16 / 9);
  background: #eaf0f7;
  border-radius: 11px;
  cursor: crosshair;
  display: block;
  margin-top: 8px;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.tracking-review-video-shell video,
.tracking-review-video-shell canvas {
  height: 100%;
  max-height: none;
  width: 100%;
}

.tracking-review-video-shell video {
  background: #dfe7f0;
  display: block;
  object-fit: fill;
  position: relative;
  z-index: 1;
}

.tracking-review-video-shell canvas {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.tracking-quick-editor {
  align-items: center;
  backdrop-filter: blur(10px);
  background: rgba(250, 253, 255, 0.94);
  border: 1px solid rgba(129, 163, 203, 0.72);
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(26, 59, 98, 0.2);
  display: flex;
  gap: 5px;
  left: clamp(76px, var(--tracking-quick-left, 50%), calc(100% - 76px));
  padding: 5px;
  position: absolute;
  top: min(var(--tracking-quick-top, 50%), calc(100% - 102px));
  transform: translate(-50%, 7px);
  transition: opacity 120ms ease, transform 120ms ease;
  z-index: 5;
}

.tracking-quick-editor.hidden {
  display: none;
}

.tracking-quick-editor.is-saving {
  opacity: 0.68;
}

.tracking-quick-editor input {
  background: #fff;
  border: 1px solid #bfd0e4;
  border-radius: 7px;
  color: #173a63;
  font-size: 14px;
  font-weight: 800;
  height: 30px;
  outline: none;
  padding: 0 7px;
  text-align: center;
  width: 48px;
}

.tracking-quick-editor input:focus {
  border-color: #4389dd;
  box-shadow: 0 0 0 2px rgba(67, 137, 221, 0.18);
}

.tracking-quick-editor > div {
  display: flex;
  gap: 4px;
}

.tracking-quick-editor button {
  border: 2px solid rgba(255, 255, 255, 0.86);
  border-radius: 7px;
  box-shadow: 0 0 0 1px rgba(31, 56, 84, 0.14);
  color: #092d45;
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  height: 28px;
  padding: 0;
  width: 28px;
}

.tracking-quick-editor button.team-a {
  background: #38d7eb;
}

.tracking-quick-editor button.team-b {
  background: #ff765f;
  color: #4b1711;
}

.tracking-quick-editor button.is-active {
  box-shadow: 0 0 0 2px #1d5f9f, 0 3px 8px rgba(18, 63, 105, 0.25);
  transform: translateY(-1px);
}

.tracking-timeline-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 86px minmax(120px, 1fr) 56px;
  min-height: 24px;
}

.tracking-timeline-row > span,
.tracking-timeline-row > small {
  color: #61758f;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-timeline-row > div {
  background: #eef3f8;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
  position: relative;
}

.tracking-timeline-row i {
  border-radius: 999px;
  height: 100%;
  min-width: 4px;
  position: absolute;
}

.tracking-timeline-row i.team-a { background: #3377cc; }
.tracking-timeline-row i.team-b { background: #d36c6c; }
.tracking-timeline-row i.unknown { background: #96a3b3; }

.tracking-review-editor-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1.08fr) minmax(310px, 0.92fr);
  margin-top: 14px;
}

.tracking-review-editor-grid > section {
  border: 1px solid #e5edf7;
  border-radius: 13px;
  min-width: 0;
  padding: 14px;
}

.tracking-review-issues {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  max-height: 520px;
  overflow: auto;
}

.tracking-issue {
  background: #fbfcfe;
  border: 1px solid #e4ebf4;
  border-left: 3px solid #d8a14a;
  border-radius: 10px;
  color: #687b93;
  cursor: pointer;
  padding: 10px 11px;
  text-align: left;
}

.tracking-issue.is-critical,
.tracking-issue.is-high { border-left-color: #d95a66; }
.tracking-issue.is-medium { border-left-color: #d79a37; }
.tracking-issue.is-resolved { border-left-color: #41a67d; opacity: 0.62; }
.tracking-issue b { color: #263f60; font-size: 12px; }
.tracking-issue em { color: #a45a58; font-size: 9px; font-style: normal; font-weight: 850; }
.tracking-issue small { display: block; font-size: 9px; margin-top: 5px; }
.tracking-issue p { color: #506884; font-size: 11px; line-height: 1.45; margin: 7px 0; }
.tracking-issue footer { font-size: 9px; }
.tracking-issue footer span { color: #2b6fc8; font-weight: 800; }

.tracking-edit-panel form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  min-width: 0;
}

.tracking-propagation-preview {
  background: #eef5ff;
  border: 1px solid #cfdef2;
  border-radius: 9px;
  color: #55708f;
  display: grid;
  font-size: 10px;
  gap: 4px;
  padding: 9px 10px;
}

.tracking-propagation-preview strong { color: #275f9f; font-size: 11px; }
.tracking-propagation-preview p { line-height: 1.45; margin: 2px 0 0; }

.tracking-edit-time {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.tracking-review-edits {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
  max-height: 324px;
  overflow-y: auto;
  padding-right: 3px;
  scrollbar-color: #b9cadc transparent;
  scrollbar-width: thin;
}

.tracking-edit-row {
  align-items: start;
  background: #f8fafd;
  border: 1px solid #e4ebf4;
  border-radius: 9px;
  display: grid;
  gap: 7px 9px;
  grid-template-columns: 26px minmax(0, 1fr);
  min-height: 90px;
  padding: 10px 11px;
}

.tracking-edit-row > span {
  color: #2c70c9;
  font-size: 10px;
  font-weight: 850;
}

.tracking-edit-row strong { color: #294364; font-size: 12px; }
.tracking-edit-row p { color: #62758d; font-size: 11px; line-height: 1.45; margin: 4px 0; }
.tracking-edit-row small { color: #8293a8; font-size: 10px; }
.tracking-edit-row code {
  color: #627790;
  font-size: 10px;
  grid-column: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 780px) {
  .tracking-review-edits { grid-template-columns: 1fr; }
}

.tracking-review-inline-empty,
.tracking-review-list-empty {
  color: #8393a8;
  font-size: 11px;
  padding: 18px 8px;
  text-align: center;
}

@media (max-width: 1120px) {
  .tracking-review-topbar { grid-template-columns: minmax(0, 1fr) 320px; }
  .tracking-review-layout { grid-template-columns: 240px minmax(0, 1fr); }
  .tracking-review-editor-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .tracking-review-topbar,
  .tracking-review-source-row,
  .tracking-review-layout { grid-template-columns: 1fr; }
  .tracking-review-topbar .tracking-review-list { max-height: 230px; }
  .tracking-review-list-card { max-height: none; position: static; }
  .tracking-review-list { max-height: 260px; }
  .tracking-review-source-row > *,
  .tracking-edit-panel form > *,
  .tracking-edit-time,
  .tracking-edit-time > * { min-width: 0; max-width: 100%; width: 100%; }
  .tracking-review-source-row .button { justify-content: center; }
  .tracking-edit-row { grid-template-columns: 24px minmax(0, 1fr); }
  .tracking-edit-row code { grid-column: 2; }
}
.health-value--failed {
  color: #b42318 !important;
}

.health-value--warning {
  color: #b54708 !important;
}
.admin-action-card {
  max-width: 520px;
}

.admin-action-summary {
  background: #eef5ff;
  border: 1px solid #d7e5fb;
  border-radius: 12px;
  color: #274468;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
  padding: 12px 14px;
}

.admin-action-notice {
  color: #667892;
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
}
.admin-page-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.admin-check-column { width: 42px; }
.admin-row-check { accent-color: var(--brand-600); height: 16px; width: 16px; }
.admin-editor-readonly { border: 1px solid var(--border-soft); border-radius: 10px; background: #f5f8fc; color: var(--text-muted); padding: 10px 12px; }

.admin-heading-actions,
.admin-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-editor-card { width: min(680px, calc(100vw - 28px)); }
.admin-editor-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-editor-fields > label,
.admin-editor-fields > p { min-width: 0; }
.admin-editor-fields > label:has(textarea),
.admin-editor-context { grid-column: 1 / -1; }
.admin-editor-result { padding: 12px; border: 1px solid #b9d5ff; border-radius: 12px; background: #eef6ff; color: var(--brand-800); overflow-wrap: anywhere; }
.admin-table td small { display: block; margin-top: 3px; color: var(--text-muted); }
.catalog-template-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.catalog-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0 18px; }
.catalog-directory-grid section { padding: 14px; border: 1px solid var(--border-soft); border-radius: 14px; background: #f8fbff; }
.catalog-directory-grid section > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.catalog-directory-grid button { cursor: pointer; }

@media (max-width: 620px) {
  .admin-editor-fields { grid-template-columns: 1fr; }
  .catalog-directory-grid { grid-template-columns: 1fr; }
  .admin-page-actions { justify-content: stretch; }
  .admin-page-actions .button { width: 100%; }
  .admin-table tr:has(.admin-row-check) td:first-child::before { content: "选择"; }
  .admin-table tr:has(.admin-row-check) td:nth-child(2)::before { content: "用户 / 队伍"; }
  .admin-table tr:has(.admin-row-check) td:nth-child(3)::before { content: "身份 / 项目"; }
  .admin-table tr:has(.admin-row-check) td:nth-child(4)::before { content: "成员 / 队伍"; }
  .admin-table tr:has(.admin-row-check) td:nth-child(5)::before { content: "任务 / 访问"; }
  .admin-table tr:has(.admin-row-check) td:nth-child(6)::before { content: "状态"; }
  .admin-table tr:has(.admin-row-check) td:nth-child(7)::before { content: "操作"; }
}

/* Track-number labeling replaces the former generic repair console. */
.tracking-number-command .section-heading {
  margin-bottom: 0;
}

.tracking-number-summary-row {
  align-items: start;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 8px 0 10px;
}

.tracking-number-summary {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.tracking-number-stat {
  background: linear-gradient(145deg, #f8fbff, #f1f7ff);
  border: 1px solid #deE9f6;
  align-items: center;
  border-radius: 10px;
  display: grid;
  gap: 2px 8px;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  padding: 7px 9px;
}

.tracking-number-stat span,
.tracking-number-stat small {
  color: #7a8da7;
  font-size: 11px;
}

.tracking-number-stat strong {
  color: #1e3c64;
  font-size: 19px;
  grid-row: 1 / span 2;
  line-height: 1;
}

.tracking-number-stat.is-3 strong {
  color: #c3575f;
}

.tracking-number-stage {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 2.55fr) minmax(264px, 0.46fr);
}

.tracking-number-video-panel,
.tracking-number-editor,
.tracking-number-browser {
  border: 1px solid #e2ebf6;
  border-radius: 15px;
  min-width: 0;
  padding: 11px;
}

.tracking-number-video-panel {
  margin: 0;
}

.tracking-number-editor {
  background: linear-gradient(155deg, #fbfdff, #f5f9ff);
  padding: 9px;
  position: sticky;
  top: 92px;
}

.tracking-number-editor form {
  display: grid;
  gap: 7px;
  margin-top: 7px;
}

.tracking-number-editor label,
.tracking-number-editor fieldset {
  border: 0;
  color: #60738e;
  display: grid;
  font-size: 12px;
  font-weight: 750;
  gap: 7px;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.tracking-number-editor legend {
  margin-bottom: 8px;
}

.tracking-number-editor input,
.tracking-number-editor textarea {
  background: #fff;
  border: 1px solid #d7e3f1;
  border-radius: 10px;
  box-sizing: border-box;
  color: #193657;
  font: inherit;
  min-height: 37px;
  outline: none;
  padding: 9px 11px;
  resize: vertical;
  width: 100%;
}

.tracking-number-editor input:focus,
.tracking-number-editor textarea:focus {
  border-color: #6d9ee2;
  box-shadow: 0 0 0 3px rgba(52, 120, 207, 0.12);
}

.tracking-team-options {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tracking-team-options label {
  cursor: pointer;
}

.tracking-team-options input {
  height: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.tracking-team-options label > span {
  background: #fff;
  border: 1px solid #dce6f2;
  border-radius: 9px;
  color: #61748d;
  display: grid;
  font-size: 11px;
  gap: 2px;
  justify-content: center;
  min-height: 44px;
  padding: 5px 6px;
  text-align: center;
}

.tracking-team-options label > span > b {
  align-items: center;
  display: inline-flex;
  font-size: 11px;
  gap: 5px;
  justify-content: center;
  white-space: nowrap;
}

.tracking-team-options label > span > small {
  color: #8a9aae;
  display: block;
  font-size: 9px;
  font-weight: 650;
  line-height: 1.2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-team-options label > span > b > i {
  background: #909bab;
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

.tracking-team-options .team-a i { background: #3478cf; }
.tracking-team-options .team-b i { background: #d96b72; }
.tracking-team-options input:checked + span {
  background: #edf5ff;
  border-color: #6e9fe0;
  box-shadow: 0 0 0 2px rgba(52, 120, 207, 0.1);
  color: #235eaa;
}

.tracking-selected-tracks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  max-height: 156px;
  min-height: 30px;
  overflow: auto;
  padding-right: 2px;
}

.tracking-selected-tracks > p {
  color: #8b9aaf;
  font-size: 11px;
  margin: 7px 0;
}

.tracking-selected-tracks > button {
  align-items: center;
  background: #fff;
  border: 1px solid #dce6f2;
  border-radius: 9px;
  color: #657891;
  cursor: pointer;
  display: grid;
  gap: 7px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  max-width: 100%;
  min-height: 34px;
  padding: 4px 8px;
}

.tracking-selected-tracks small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-selected-tracks b {
  color: #9aa8b9;
  font-size: 16px;
}

.tracking-identity-badge {
  background: #eef2f6;
  border-radius: 7px;
  color: #65758a;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 850;
  justify-content: center;
  min-width: 42px;
  padding: 5px 7px;
}

.tracking-identity-badge.is-team_a { background: #eaf3ff; color: #286cc1; }
.tracking-identity-badge.is-team_b { background: #fff0f1; color: #bd525c; }

.tracking-aggregation-preview {
  background: #eef6ff;
  border: 1px solid #d2e3f6;
  border-radius: 9px;
  color: #547292;
  font-size: 11px;
  line-height: 1.5;
  padding: 7px 9px;
}

.tracking-aggregation-preview.is-warning {
  background: #fff3f2;
  border-color: #efc9c9;
  color: #a6464d;
}

.tracking-number-browser {
  margin-top: 10px;
}

.tracking-track-toolbar {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin: 0;
}

.tracking-track-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tracking-track-filters button {
  background: #f4f7fb;
  border: 1px solid #e1e8f1;
  border-radius: 999px;
  color: #74849a;
  cursor: pointer;
  font-size: 11px;
  font-weight: 750;
  min-height: 31px;
  padding: 0 11px;
}

.tracking-track-filters button.is-active {
  background: #eaf3ff;
  border-color: #bfd6f4;
  color: #286cc1;
}

.tracking-track-search {
  align-items: center;
  display: flex;
  min-width: min(260px, 100%);
  position: relative;
}

.tracking-track-search .ui-icon {
  color: #91a1b5;
  left: 10px;
  position: absolute;
}

.tracking-track-search input {
  background: #fff;
  border: 1px solid #dbe5f1;
  border-radius: 9px;
  box-sizing: border-box;
  color: #405873;
  min-height: 36px;
  padding: 0 11px 0 32px;
  width: 100%;
}

.tracking-track-list {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 8px;
  max-height: 420px;
  overflow: auto;
  padding-right: 3px;
}

.tracking-track-item {
  align-items: center;
  background: #fbfcfe;
  border: 1px solid #e2eaf4;
  border-radius: 11px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  padding: 9px 10px;
}

.tracking-track-item.is-selected {
  background: #f1f7ff;
  border-color: #77a8e7;
  box-shadow: inset 3px 0 #3478cf;
}

.tracking-track-item > label {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 8px;
  min-width: 0;
}

.tracking-track-item input {
  accent-color: #3478cf;
  flex: 0 0 auto;
  height: 16px;
  width: 16px;
}

.tracking-track-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.tracking-track-copy strong {
  color: #294665;
  font-size: 12px;
}

.tracking-track-copy small {
  color: #8b9aaf;
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-track-item > button {
  background: transparent;
  border: 0;
  color: #6f8198;
  cursor: pointer;
  display: grid;
  font-size: 10px;
  gap: 2px;
  justify-items: end;
  padding: 4px;
}

.tracking-track-item > button small {
  color: #9aa8b9;
  font-size: 9px;
}

.tracking-review-video-shell canvas {
  cursor: crosshair;
  pointer-events: none;
}

.tracking-review-workspace-head {
  align-items: center;
  border-bottom: 1px solid #e7edf5;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 0 1px 8px;
}

.tracking-source-search-box {
  align-items: center;
  display: flex;
  position: relative;
}

.tracking-source-search-box .ui-icon {
  color: #8da0b8;
  left: 10px;
  pointer-events: none;
  position: absolute;
}

.tracking-source-search-box input {
  padding-left: 33px;
}

.tracking-video-head-tools {
  align-items: center;
  display: flex;
  gap: 9px;
}

.tracking-review-fullscreen {
  align-items: center;
  background: linear-gradient(135deg, #2569d8, #168dbf);
  border: 1px solid #1e6fc5;
  border-radius: 10px;
  box-shadow: 0 7px 16px rgba(35, 103, 190, 0.2);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 11px;
  font-weight: 820;
  gap: 5px;
  justify-content: center;
  min-height: 44px;
  padding: 0 10px;
  width: 112px;
}

.tracking-review-fullscreen:hover,
.tracking-review-fullscreen.is-active {
  background: linear-gradient(135deg, #1d5fc9, #0d7fae);
  border-color: #155ca9;
  box-shadow: 0 9px 20px rgba(31, 91, 167, 0.28);
  transform: translateY(-1px);
}

.tracking-selection-tools {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
}

.tracking-selection-tools > button {
  align-items: center;
  background: #fff;
  border: 1px solid #d8e4f2;
  border-radius: 8px;
  color: #45617f;
  cursor: pointer;
  display: inline-flex;
  font-size: 10px;
  font-weight: 760;
  justify-content: center;
  min-height: 31px;
  padding: 0 7px;
}

.tracking-selection-tools > button:hover:not(:disabled) {
  background: #edf5ff;
  border-color: #a9c8ed;
  color: #2868b7;
}

.tracking-selection-tools > button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.tracking-selected-tracks.is-empty {
  display: none;
}

.tracking-correction-context {
  display: grid;
  gap: 7px;
  margin-top: 7px;
}

.tracking-correction-toolbar {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tracking-correction-trigger {
  align-items: center;
  background: #edf5ff;
  border: 1px solid #a9c8ed;
  border-radius: 8px;
  color: #2868b7;
  cursor: pointer;
  display: inline-flex;
  font-size: 11px;
  font-weight: 820;
  justify-content: center;
  min-height: 29px;
  padding: 0 7px;
  width: 100%;
}

.tracking-correction-trigger:hover:not(:disabled) {
  background: #deedff;
  border-color: #78a9e4;
}

.tracking-correction-trigger:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.tracking-correction-popover {
  background: #f8fbff;
  border: 1px solid #cbdcf0;
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(49, 81, 119, 0.11);
  color: #49627f;
  display: grid;
  gap: 8px;
  padding: 9px;
}

.tracking-correction-head {
  align-items: start;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.tracking-correction-head > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.tracking-correction-head strong {
  color: #294b71;
  font-size: 12px;
}

.tracking-correction-head span,
.tracking-correction-head em {
  color: #7b8ea5;
  font-size: 9px;
  font-style: normal;
  line-height: 1.35;
}

.tracking-correction-head em {
  background: #eaf3ff;
  border-radius: 999px;
  color: #527ba9;
  flex: 0 0 auto;
  padding: 3px 6px;
}

.tracking-correction-tracks,
.tracking-correction-keep {
  display: grid;
  gap: 5px;
}

.tracking-correction-track {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe6f2;
  border-radius: 8px;
  color: #60758e;
  cursor: pointer;
  display: grid;
  gap: 3px 7px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 6px 7px;
  text-align: left;
}

.tracking-correction-track > span {
  align-items: center;
  color: #385877;
  display: flex;
  font-size: 10px;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
}

.tracking-correction-track > span i {
  border: 2px solid #93a8bf;
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

.tracking-correction-track small {
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-correction-track b {
  color: #7890a9;
  font-size: 9px;
  font-weight: 760;
  grid-column: 2;
  grid-row: 1 / span 2;
}

.tracking-correction-track.is-active {
  background: #edf5ff;
  border-color: #8db5e5;
  box-shadow: inset 3px 0 #3478cf;
}

.tracking-correction-track.is-active > span i {
  background: #3478cf;
  border-color: #3478cf;
}

.tracking-correction-track.is-active b {
  color: #2868b7;
}

.tracking-correction-choice,
.tracking-correction-actions {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tracking-correction-choice button,
.tracking-correction-actions button,
.tracking-correction-keep button {
  background: #fff;
  border: 1px solid #d9e5f2;
  border-radius: 7px;
  color: #61758d;
  cursor: pointer;
  font-size: 10px;
  font-weight: 760;
  min-height: 30px;
  padding: 5px 7px;
}

.tracking-correction-choice button.is-active,
.tracking-correction-keep button.is-active {
  background: #eaf3ff;
  border-color: #87b0e2;
  color: #2868b7;
}

.tracking-correction-keep {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tracking-correction-keep button {
  display: grid;
  gap: 2px;
  text-align: left;
}

.tracking-correction-keep button b {
  font-size: 10px;
}

.tracking-correction-keep button span {
  font-size: 8px;
  font-weight: 600;
  line-height: 1.3;
}

.tracking-correction-popover > p {
  color: #7b8da3;
  font-size: 9px;
  line-height: 1.45;
  margin: 0;
}

.tracking-correction-actions button.is-primary {
  background: #3478cf;
  border-color: #3478cf;
  color: #fff;
}

.tracking-correction-choice button:disabled,
.tracking-correction-actions button:disabled,
.tracking-correction-track:disabled,
.tracking-correction-keep button:disabled {
  cursor: wait;
  opacity: 0.55;
}

.tracking-team-cues {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tracking-team-option-prior {
  align-items: center;
  display: inline-flex;
  gap: 4px;
  justify-content: center;
  min-width: 0;
}

.tracking-team-option-prior img {
  border-radius: 3px;
  height: 14px;
  max-width: 34px;
  object-fit: cover;
}

.tracking-team-option-prior em {
  color: inherit;
  font-size: 9px;
  font-style: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-team-cue {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe8f3;
  border-radius: 9px;
  display: flex;
  gap: 7px;
  justify-content: space-between;
  min-height: 39px;
  min-width: 0;
  padding: 5px 7px;
}

.tracking-team-cue-label {
  align-items: center;
  color: #546a84;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 820;
  gap: 5px;
}

.tracking-team-cue-label i {
  background: #38d7eb;
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

.tracking-team-cue.is-team_b .tracking-team-cue-label i { background: #ff765f; }

.tracking-team-color-copy {
  display: grid;
  gap: 1px;
  min-width: 0;
  text-align: right;
}

.tracking-team-color-copy b {
  color: #234363;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tracking-team-color-copy small,
.tracking-team-prior small {
  color: #8798ad;
  font-size: 8px;
  white-space: nowrap;
}

.tracking-team-prior {
  align-items: center;
  display: flex;
  gap: 5px;
  min-width: 0;
}

.tracking-team-prior img {
  border-radius: 4px;
  height: 32px;
  max-width: 72px;
  object-fit: contain;
  width: auto;
}

.tracking-optional-fields {
  border: 1px solid #dfe8f3;
  border-radius: 9px;
  background: #fff;
}

.tracking-optional-fields summary {
  color: #61758f;
  cursor: pointer;
  font-size: 11px;
  font-weight: 750;
  list-style: none;
  padding: 9px 10px;
}

.tracking-optional-fields summary::-webkit-details-marker { display: none; }
.tracking-optional-fields summary::after { content: "+"; float: right; font-size: 15px; line-height: 12px; }
.tracking-optional-fields[open] summary::after { content: "−"; }
.tracking-optional-fields > div { border-top: 1px solid #e5edf6; display: grid; gap: 8px; padding: 9px; }

.tracking-track-toolbar-title {
  color: #1a3458;
  flex: 0 0 auto;
  font-size: 14px;
  margin-right: 2px;
}

#tracking-track-result-count {
  color: #7d8fa6;
  flex: 0 0 auto;
  font-size: 10px;
  white-space: nowrap;
}

#tracking-review-workspace:fullscreen {
  background: #f5f8fc;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  height: 100vh;
  margin: 0;
  max-width: none;
  overflow: auto;
  padding: 10px 12px;
  width: 100vw;
}

#tracking-review-workspace:fullscreen .tracking-number-stage {
  grid-template-columns: minmax(0, 2.85fr) minmax(264px, 0.44fr);
}

#tracking-review-workspace:fullscreen .tracking-number-editor {
  top: 8px;
}

.tracking-review-audit {
  margin-top: 14px;
}

.tracking-review-audit > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  list-style: none;
}

.tracking-review-audit > summary::-webkit-details-marker { display: none; }
.tracking-review-audit > summary span { display: grid; gap: 3px; }
.tracking-review-audit > summary small { color: #7790b0; font-size: 10px; letter-spacing: .14em; }
.tracking-review-audit > summary strong { color: #1a3458; font-size: 14px; }
.tracking-review-audit > summary em { color: #7890ad; font-size: 11px; font-style: normal; }

.tracking-review-audit > summary em::after {
  background: #edf4fc;
  border-radius: 999px;
  color: #52739b;
  content: "展开";
  font-size: 10px;
  margin-left: 7px;
  padding: 3px 7px;
}

.tracking-review-audit[open] > summary {
  border-bottom: 1px solid #e5edf6;
  padding-bottom: 10px;
}

.tracking-review-audit[open] > summary em::after { content: "收起"; }

@media (max-width: 1260px) {
  .tracking-number-stage { grid-template-columns: minmax(0, 1fr) 280px; }
  .tracking-track-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .tracking-review-topbar { grid-template-columns: 1fr; }
  .tracking-review-topbar .tracking-review-list { max-height: 190px; }
  .tracking-number-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tracking-number-stage { grid-template-columns: 1fr; }
  .tracking-number-editor { position: static; }
  .tracking-track-list { grid-template-columns: 1fr; }
  .tracking-review-workspace-head { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
  .tracking-review-command,
  .tracking-review-list-card,
  .tracking-review-workspace { padding: 15px; }
  .tracking-number-summary { gap: 7px; }
  .tracking-number-stat { padding: 11px; }
  .tracking-number-stat strong { font-size: 22px; }
  .tracking-number-video-panel,
  .tracking-number-editor,
  .tracking-number-browser { border-radius: 12px; padding: 11px; }
  .tracking-number-video-panel .tracking-review-section-title { align-items: flex-start; flex-direction: column; gap: 9px; }
  .tracking-number-video-panel .tracking-overlay-legend { justify-content: flex-start; }
  .tracking-team-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tracking-number-summary-row { gap: 6px; }
  .tracking-review-fullscreen { min-height: 44px; padding: 0; width: 44px; }
  .tracking-review-fullscreen span { display: none; }
  .tracking-track-toolbar { align-items: stretch; flex-direction: column; }
  .tracking-track-search { min-width: 0; width: 100%; }
  .tracking-track-item { grid-template-columns: 1fr; }
  .tracking-track-item > button { grid-auto-flow: column; justify-content: space-between; justify-items: start; }
  .tracking-review-detail-head { align-items: flex-start; }
  .tracking-review-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tracking-review-actions .button { justify-content: center; min-width: 0; width: 100%; }
  .tracking-validation-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .tracking-conflict-row { grid-template-columns: 1fr; }
  .tracking-conflict-tracks { grid-template-columns: 1fr; }
}
