/* FundAhead — Filament 5 TW4 panel CSS does not emit classes from app blades.
   Provide the layout/size utilities those blades rely on. */

/* --- icon sizes --- */
svg.w-3, .w-3 { width: 0.75rem !important; height: 0.75rem !important; }
svg.w-4, .w-4 { width: 1rem !important; height: 1rem !important; }
svg.w-5, .w-5 { width: 1.25rem !important; height: 1.25rem !important; }
svg.w-6, .w-6 { width: 1.5rem !important; height: 1.5rem !important; }
svg.w-8, .w-8 { width: 2rem !important; height: 2rem !important; }
svg.w-12, .w-12 { width: 3rem !important; height: 3rem !important; }
.h-3 { height: 0.75rem !important; }
.h-4 { height: 1rem !important; }
.h-5 { height: 1.25rem !important; }
.h-6 { height: 1.5rem !important; }
.h-8 { height: 2rem !important; }
.h-12 { height: 3rem !important; }

/* --- layout --- */
.flex { display: flex !important; }
.inline-flex { display: inline-flex !important; }
.grid { display: grid !important; }
.hidden { display: none !important; }
.flex-1 { flex: 1 1 0% !important; }
.flex-shrink-0 { flex-shrink: 0 !important; }
.items-center { align-items: center !important; }
.items-start { align-items: flex-start !important; }
.justify-between { justify-content: space-between !important; }
.justify-center { justify-content: center !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-3 { gap: 0.75rem !important; }
.gap-4 { gap: 1rem !important; }
.min-w-0 { min-width: 0 !important; }
.truncate { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.overflow-y-auto { overflow-y: auto !important; }
.max-h-96 { max-height: 24rem !important; }
.space-y-2 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.5rem !important; }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem !important; }
.space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem !important; }

/* --- spacing --- */
.p-3 { padding: 0.75rem !important; }
.p-4 { padding: 1rem !important; }
.px-1 { padding-left: 0.25rem !important; padding-right: 0.25rem !important; }
.px-2 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
.px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
.py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
.py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mt-2 { margin-top: 0.5rem !important; }
.mt-6 { margin-top: 1.5rem !important; }
.mt-8 { margin-top: 2rem !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 0.75rem !important; }
.mb-4 { margin-bottom: 1rem !important; }
.mr-2 { margin-right: 0.5rem !important; }
.mr-3 { margin-right: 0.75rem !important; }
.mr-4 { margin-right: 1rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.ml-4 { margin-left: 1rem !important; }
.pt-6 { padding-top: 1.5rem !important; }

/* --- type / color (light mode; panel has darkMode false on FundAhead) --- */
.text-xs { font-size: 0.75rem !important; line-height: 1rem !important; }
.text-sm { font-size: 0.875rem !important; line-height: 1.25rem !important; }
.text-lg { font-size: 1.125rem !important; line-height: 1.75rem !important; }
.font-medium { font-weight: 500 !important; }
.font-semibold { font-weight: 600 !important; }
.font-bold { font-weight: 700 !important; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important; }
.text-gray-400 { color: #9ca3af !important; }
.text-gray-500 { color: #6b7280 !important; }
.text-gray-600 { color: #4b5563 !important; }
.text-gray-900 { color: #111827 !important; }
.text-white { color: #fff !important; }
.text-red-500 { color: #ef4444 !important; }
.text-green-600 { color: #16a34a !important; }
.text-blue-600 { color: #2563eb !important; }
.text-blue-700 { color: #1d4ed8 !important; }
.text-blue-900 { color: #1e3a8a !important; }
.text-purple-700 { color: #7e22ce !important; }
.text-purple-900 { color: #581c87 !important; }
.text-amber-800 { color: #92400e !important; }
.bg-gray-50 { background-color: #f9fafb !important; }
.bg-gray-100 { background-color: #f3f4f6 !important; }
.bg-blue-50 { background-color: #eff6ff !important; }
.bg-blue-100 { background-color: #dbeafe !important; }
.bg-green-50 { background-color: #f0fdf4 !important; }
.bg-purple-50 { background-color: #faf5ff !important; }
.bg-purple-100 { background-color: #f3e8ff !important; }
.bg-amber-50 { background-color: #fffbeb !important; }
.bg-primary-600 { background-color: #d97706 !important; }
.border { border-width: 1px !important; border-style: solid !important; }
.border-t { border-top-width: 1px !important; border-top-style: solid !important; }
.border-gray-200 { border-color: #e5e7eb !important; }
.border-green-200 { border-color: #bbf7d0 !important; }
.border-blue-200 { border-color: #bfdbfe !important; }
.border-purple-200 { border-color: #e9d5ff !important; }
.border-amber-200 { border-color: #fde68a !important; }
.rounded { border-radius: 0.25rem !important; }
.rounded-lg { border-radius: 0.5rem !important; }
.rounded-full { border-radius: 9999px !important; }
.w-8 { width: 2rem !important; }
.w-24 { width: 6rem !important; }
.select-all { user-select: all !important; }
.transition { transition: all 0.15s ease !important; }

/* Test-data list rows — hard guarantee row layout */
.fa-test-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: 0.75rem !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 0.5rem !important;
}
.fa-test-row__main {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
.fa-test-row__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 9999px !important;
  background: #dbeafe !important;
  color: #2563eb !important;
  flex-shrink: 0 !important;
}
.fa-test-row__icon svg {
  width: 1rem !important;
  height: 1rem !important;
}
.fa-test-row__meta { min-width: 0 !important; flex: 1 1 auto !important; }
.fa-test-row__title {
  margin: 0 !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #111827 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.fa-test-row__sub {
  margin: 0.125rem 0 0 !important;
  font-size: 0.75rem !important;
  color: #6b7280 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.fa-test-row__action { flex-shrink: 0 !important; }
.fa-test-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  max-height: 24rem !important;
  overflow-y: auto !important;
}
.fa-test-head {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin: 0 0 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #111827 !important;
}
.fa-test-head svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  color: #6b7280 !important;
  flex-shrink: 0 !important;
}
.fa-test-gen-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: 1rem !important;
  background: #f9fafb !important;
  border-radius: 0.5rem !important;
}
