/* 渐变调色板补丁 —— 补齐「预编译 Tailwind」中缺失的 from-/via-/to- 颜色类
 *
 * 背景（2026-09-25 排查 /agent 卡片「图标看不见」）：
 *   本站 CSS 是预编译产物（output-v3.css），只有构建时出现过的类才存在。
 *   实测模板用到的 102 个渐变类中，有 23 个从未被编译（如 from-indigo-500）。
 *   后果不是「颜色不对」，而是**整块背景失效**：.bg-gradient-to-br 依赖
 *   var(--tw-gradient-stops)，from-*/to-* 缺失时该变量未定义，linear-gradient()
 *   在计算值阶段非法 → background-image 回退成 none → 元素完全透明。
 *   表现：代理商/厂商列表卡片左侧「首字 logo 方块」整块看不见（只有恰好存在的
 *   from-cyan-500+to-blue-600 能显示），看起来像随机漏图。
 *
 * 为什么是「完整调色板」而不是只补缺失的 23 个：
 *   .from-X 会同时写 --tw-gradient-to:rgba(...,0)（Tailwind 用于未指定 to-* 时的默认透明端）。
 *   若只补缺失的 from-*，本文件位于 output-v3.css 之后，会把其中的 .to-Y 顶掉，
 *   导致渐变「褪到透明」。因此这里按 Tailwind 的既定顺序（全部 from- → 全部 via- → 全部 to-）
 *   完整重声明，让本文件自成一套、结果与加载顺序无关。
 *
 * 引入位置：view/base.html 中紧跟在 output-v3.css 之后。
 * 将来重新构建 Tailwind 后可安全删除本文件。
 * 注：--tw-gradient-*-position 全局空值占位已在 output-v3.css 定义，此处不重复。
 */

.from-amber-400{--tw-gradient-from:#fbbf24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-amber-50{--tw-gradient-from:#fffbeb var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,251,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-100{--tw-gradient-from:#dbeafe var(--tw-gradient-from-position);--tw-gradient-to:rgba(219,234,254,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-blue-700{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,78,216,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,211,238,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-cyan-50{--tw-gradient-from:#ecfeff var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,254,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-cyan-500{--tw-gradient-from:#06b6d4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(6,182,212,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-fuchsia-500{--tw-gradient-from:#d946ef var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,70,239,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-gray-100{--tw-gradient-from:#f3f4f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,244,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-gray-200{--tw-gradient-from:#e5e7eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-gray-300{--tw-gradient-from:#d1d5db var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,213,219,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-gray-500{--tw-gradient-from:#6b7280 var(--tw-gradient-from-position);--tw-gradient-to:rgba(107,114,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-gray-600{--tw-gradient-from:#4b5563 var(--tw-gradient-from-position);--tw-gradient-to:rgba(75,85,99,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-green-600{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:rgba(99,102,241,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-lime-500{--tw-gradient-from:#84cc16 var(--tw-gradient-from-position);--tw-gradient-to:rgba(132,204,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-orange-300{--tw-gradient-from:#fdba74 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,186,116,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-orange-400{--tw-gradient-from:#fb923c var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,146,60,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-pink-50{--tw-gradient-from:#fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,242,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-purple-400{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,113,113,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-red-50{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:rgba(254,242,242,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-red-600{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-rose-500{--tw-gradient-from:#f43f5e var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-sky-400{--tw-gradient-from:#38bdf8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(56,189,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-sky-500{--tw-gradient-from:#0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to:rgba(14,165,233,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-yellow-50{--tw-gradient-from:#fefce8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(254,252,232,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.via-blue-600{--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#2563eb var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-indigo-600{--tw-gradient-to:rgba(79,70,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#4f46e5 var(--tw-gradient-via-position),var(--tw-gradient-to)}
.via-orange-500{--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f97316 var(--tw-gradient-via-position),var(--tw-gradient-to)}
.to-amber-400{--tw-gradient-to:#fbbf24 var(--tw-gradient-to-position)}
.to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}
.to-blue-200{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}
.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}
.to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}
.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}
.to-blue-700{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}
.to-blue-800{--tw-gradient-to:#1e40af var(--tw-gradient-to-position)}
.to-blue-900{--tw-gradient-to:#1e3a8a var(--tw-gradient-to-position)}
.to-cyan-500{--tw-gradient-to:#06b6d4 var(--tw-gradient-to-position)}
.to-cyan-600{--tw-gradient-to:#0891b2 var(--tw-gradient-to-position)}
.to-cyan-700{--tw-gradient-to:#0e7490 var(--tw-gradient-to-position)}
.to-emerald-50{--tw-gradient-to:#ecfdf5 var(--tw-gradient-to-position)}
.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}
.to-emerald-700{--tw-gradient-to:#047857 var(--tw-gradient-to-position)}
.to-gray-100{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}
.to-gray-200{--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}
.to-gray-300{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}
.to-gray-400{--tw-gradient-to:#9ca3af var(--tw-gradient-to-position)}
.to-gray-600{--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}
.to-gray-700{--tw-gradient-to:#374151 var(--tw-gradient-to-position)}
.to-green-100{--tw-gradient-to:#dcfce7 var(--tw-gradient-to-position)}
.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}
.to-green-700{--tw-gradient-to:#15803d var(--tw-gradient-to-position)}
.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}
.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}
.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}
.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}
.to-indigo-700{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}
.to-indigo-800{--tw-gradient-to:#3730a3 var(--tw-gradient-to-position)}
.to-orange-400{--tw-gradient-to:#fb923c var(--tw-gradient-to-position)}
.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}
.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}
.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}
.to-pink-50{--tw-gradient-to:#fdf2f8 var(--tw-gradient-to-position)}
.to-pink-600{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}
.to-purple-100{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}
.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}
.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}
.to-purple-700{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}
.to-red-100{--tw-gradient-to:#fee2e2 var(--tw-gradient-to-position)}
.to-red-50{--tw-gradient-to:#fef2f2 var(--tw-gradient-to-position)}
.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}
.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}
.to-red-700{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}
.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}
.to-sky-600{--tw-gradient-to:#0284c7 var(--tw-gradient-to-position)}
.to-teal-50{--tw-gradient-to:#f0fdfa var(--tw-gradient-to-position)}
.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}
.to-yellow-100{--tw-gradient-to:#fef9c3 var(--tw-gradient-to-position)}
.to-yellow-500{--tw-gradient-to:#eab308 var(--tw-gradient-to-position)}
