/*!
 | LEADHUB — Tailwind utility supplements for app blade views.
 |
 | The generated tw-utilities.css was compiled from an older snapshot of the
 | blades; these are the utility classes used by CURRENT blades that are
 | missing from it. Values follow Tailwind v4's own emission shape and
 | resolve against Filament's runtime palette (the panel injects
 | --primary-50…950 inline; green/red/amber come from tw-utilities.css).
 |
 | Dark variants use Filament's class strategy: :where(.dark, .dark *).
 | Regenerate the "missing" list with scripts/css/missing-tw.php.
 */

/* ── Palette aliases (success/danger/warning + missing primary shades) ── */
:root {
  --color-success-50: var(--color-green-50);
  --color-success-400: var(--color-green-400);
  --color-success-700: var(--color-green-700);
  --color-success-900: var(--color-green-900);
  --color-danger-400: var(--color-red-400);
  --color-danger-700: var(--color-red-700);
  --color-danger-900: var(--color-red-900);
  --color-warning-400: var(--color-amber-400);
  --color-warning-700: var(--color-amber-700);
  --color-warning-900: var(--color-amber-900);
  --color-primary-50: var(--primary-50);
}

/* ── Colors ──────────────────────────────────────────────────────────── */
.bg-primary-50\/50 { background-color: color-mix(in oklab, var(--color-primary-50) 50%, transparent); }
.bg-success-50 { background-color: var(--color-success-50); }
.text-primary-600 { color: var(--color-primary-600); }
.text-primary-700 { color: var(--color-primary-700); }
.text-danger-700 { color: var(--color-danger-700); }
.text-success-700 { color: var(--color-success-700); }
.text-warning-700 { color: var(--color-warning-700); }

/* Tailwind v4 fill utility (currentColor default). Harmless on HTML: the
   only .fill user in blades is the .lh-fa-bar bar div, whose own rules in
   public/css/filament/forms-analytics.css take precedence. */
.fill { fill: currentColor; }

.hover\:text-gray-700:hover { color: var(--color-gray-700); }
.focus\:border-primary-500:focus { border-color: var(--color-primary-500); }
.focus\:ring-primary-500:focus { --tw-ring-color: var(--color-primary-500); }

.dark\:text-primary-400:where(.dark, .dark *) { color: var(--color-primary-400); }
.dark\:text-success-400:where(.dark, .dark *) { color: var(--color-success-400); }
.dark\:bg-primary-500\/20:where(.dark, .dark *) { background-color: color-mix(in oklab, var(--color-primary-500) 20%, transparent); }
.dark\:bg-success-900\/20:where(.dark, .dark *) { background-color: color-mix(in oklab, var(--color-success-900) 20%, transparent); }
.dark\:bg-danger-900\/20:where(.dark, .dark *) { background-color: color-mix(in oklab, var(--color-danger-900) 20%, transparent); }
.dark\:bg-warning-900\/20:where(.dark, .dark *) { background-color: color-mix(in oklab, var(--color-warning-900) 20%, transparent); }
.dark\:bg-white\/5:where(.dark, .dark *) { background-color: #ffffff0d; }
.dark\:border-primary-500\/20:where(.dark, .dark *) { border-color: color-mix(in oklab, var(--color-primary-500) 20%, transparent); }
.dark\:divide-white\/5:where(.dark, .dark *) > :not(:last-child) { border-color: #ffffff0d; }
.dark\:divide-gray-800:where(.dark, .dark *) > :not(:last-child) { border-color: var(--color-gray-800); }

/* ── Spacing / sizing ────────────────────────────────────────────────── */
.pr-4 { padding-right: calc(var(--spacing) * 4); }
.pt-3 { padding-top: calc(var(--spacing) * 3); }
.py-6 { padding-block: calc(var(--spacing) * 6); }
.mt-1\.5 { margin-top: calc(var(--spacing) * 1.5); }
.w-10 { width: calc(var(--spacing) * 10); }
.max-w-2xl { max-width: 42rem; }
.max-h-\[26rem\] { max-height: 26rem; }
.overflow-y-auto { overflow-y: auto; }

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (width >= 40rem) {
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm\:flex-row { flex-direction: row; }
  .sm\:items-end { align-items: flex-end; }
}

@media (width >= 48rem) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (width >= 64rem) {
  .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ── Typography (prose) — minimal subset used by settings lede text ──── */
.prose { font-size: 0.875rem; line-height: 1.65; }
.prose-sm { font-size: 0.8125rem; line-height: 1.6; }
.prose :where(h1, h2, h3, h4) { margin: 0.9em 0 0.45em; font-weight: 600; }
.prose :where(p, ul, ol) { margin: 0.5em 0; }
.prose :where(ul) { padding-left: 1.25em; list-style: disc; }
.prose :where(ol) { padding-left: 1.25em; list-style: decimal; }
.prose :where(a) { text-decoration: underline; }
.dark\:prose-invert:where(.dark, .dark *) { color: var(--color-gray-300); }
