:root { --transition-medium: 200ms ease-out; }
.tabular-nums { font-variant-numeric: tabular-nums; }
.card {
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.04);
  transition: box-shadow var(--transition-medium);
}
.card:hover { box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08); }

.tab-item {
  position: relative;
  padding: 10px 16px;
  color: #6B7280;
  transition: color var(--transition-medium);
  cursor: pointer;
}
.tab-item[aria-selected="true"] { color: #0E6AAD; }
.tab-item::after {
  content: '';
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 2px;
  background: #0E6AAD;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--transition-medium);
}
.tab-item[aria-selected="true"]::after { transform: scaleX(1); }

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid transparent;
}
.badge--ok      { background: rgba(31,157,143,0.08); color: #1F9D8F; border-color: rgba(31,157,143,0.25); }
.badge--warn    { background: rgba(224,155,58,0.10); color: #8A5A1A; border-color: rgba(224,155,58,0.30); }
.badge--unknown { background: rgba(107,114,128,0.08); color: #4B5563; border-color: rgba(107,114,128,0.20); }

.dropzone {
  border: 2px dashed #CBD5E1;
  border-radius: 16px;
  transition: all var(--transition-medium);
}
.dropzone--hover { border-color: #0E6AAD; background: rgba(14,106,173,0.04); }

@keyframes subtle-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(14,106,173,0.0); }
  50%     { box-shadow: 0 0 0 4px rgba(14,106,173,0.10); }
}
.dropzone--hover { animation: subtle-pulse 1.2s ease-in-out infinite; }

[contenteditable="true"] { outline: none; }
.report-section {
  padding: 12px 16px;
  border-radius: 8px;
  transition: background var(--transition-medium);
}
.report-section:focus-within { background: rgba(14,106,173,0.04); }
