/* Manifest Ingestion workspace — isolated from clearance desk styles */

.manifest-workspace {
  max-width: 56rem;
  margin: 0 auto;
}

.manifest-mode-toggle {
  display: inline-flex;
  padding: 0.25rem;
  border-radius: 0.75rem;
  border: 1px solid rgb(226 232 240);
  background: rgb(248 250 252);
}

.manifest-mode-btn {
  border: none;
  background: transparent;
  color: rgb(100 116 139);
  font-size: 12px;
  font-weight: 700;
  padding: 0.55rem 1rem;
  border-radius: 0.55rem;
  cursor: pointer;
  transition: all 0.18s ease;
}

.manifest-mode-btn.active {
  background: white;
  color: rgb(15 23 42);
  box-shadow: 0 1px 3px rgb(15 23 42 / 0.08);
}

.manifest-region-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.375rem;
  background: rgb(238 242 255);
  color: rgb(67 56 202);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.manifest-dropzone {
  position: relative;
  border: 2px dashed rgb(203 213 225);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(248 250 252) 100%);
  padding: 2.5rem 1.5rem;
  text-align: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.manifest-dropzone.is-dragover {
  border-color: rgb(99 102 241);
  box-shadow: 0 0 0 4px rgb(99 102 241 / 0.12);
  transform: translateY(-1px);
}

.manifest-dropzone.has-file {
  border-color: rgb(16 185 129);
  background: linear-gradient(180deg, rgb(240 253 244) 0%, rgb(255 255 255) 100%);
}

.manifest-progress-card {
  border-radius: 1rem;
  border: 1px solid rgb(226 232 240);
  background: white;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 4px 6px -1px rgb(15 23 42 / 0.06);
}

.manifest-progress-card.is-active {
  border-color: rgb(99 102 241 / 0.35);
}

.manifest-progress-card.is-success {
  border-color: rgb(16 185 129 / 0.45);
  background: linear-gradient(180deg, rgb(240 253 244) 0%, rgb(255 255 255) 100%);
}

.manifest-progress-card.is-failed {
  border-color: rgb(239 68 68 / 0.45);
  background: linear-gradient(180deg, rgb(254 242 242) 0%, rgb(255 255 255) 100%);
}

.manifest-progress-bar {
  height: 0.5rem;
  border-radius: 999px;
  background: rgb(226 232 240);
  overflow: hidden;
}

.manifest-progress-bar-fill {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgb(99 102 241), rgb(14 165 233));
  transition: width 0.35s ease;
}

.manifest-progress-card.is-success .manifest-progress-bar-fill {
  background: linear-gradient(90deg, rgb(16 185 129), rgb(52 211 153));
  width: 100% !important;
}

.manifest-metric-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  border: 1px solid rgb(226 232 240);
  background: rgb(248 250 252);
  padding: 0.35rem 0.75rem;
  font-size: 11px;
  font-weight: 600;
  color: rgb(71 85 105);
}

.manifest-error-box {
  border-radius: 0.75rem;
  border: 1px solid rgb(254 202 202);
  background: rgb(254 242 242);
  padding: 0.875rem 1rem;
  color: rgb(153 27 27);
  font-size: 13px;
  line-height: 1.5;
}

.manifest-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.75rem;
  border: none;
  background: linear-gradient(135deg, rgb(16 185 129), rgb(5 150 105));
  color: white;
  font-size: 13px;
  font-weight: 700;
  padding: 0.75rem 1.25rem;
  cursor: pointer;
  box-shadow: 0 4px 14px rgb(16 185 129 / 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.manifest-download-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgb(16 185 129 / 0.32);
}

.manifest-download-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.manifest-history-table thead th {
  padding: 0.65rem 0.75rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(100 116 139);
  border-bottom: 1px solid rgb(226 232 240);
}

.manifest-history-table tbody td {
  padding: 0.85rem 0.75rem;
  border-bottom: 1px solid rgb(241 245 249);
  color: rgb(51 65 85);
  vertical-align: middle;
}

.manifest-history-table tbody tr:last-child td {
  border-bottom: none;
}

.manifest-status-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.25rem 0.65rem;
  font-size: 11px;
  font-weight: 700;
  text-transform: capitalize;
}

.manifest-status-badge.is-completed {
  background: rgb(220 252 231);
  color: rgb(21 128 61);
}

.manifest-status-badge.is-processing,
.manifest-status-badge.is-queued {
  background: rgb(254 243 199);
  color: rgb(180 83 9);
}

.manifest-status-badge.is-failed {
  background: rgb(254 226 226);
  color: rgb(185 28 28);
}

.manifest-history-download-btn {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0.25rem 0.35rem;
  border-radius: 0.375rem;
  transition: background 0.15s ease;
}

.manifest-history-download-btn:hover {
  background: rgb(240 253 244);
}
