@import url('vendor/inter/inter.css'); /* fonte Inter hospedada no próprio site */

body {
  font-family: 'Inter', sans-serif;
  background-color: #f8fafc;
  margin: 0;
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

@keyframes scale-in {
  from { transform: scale(0.95); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
.animate-scale-in { animation: scale-in 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; }

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.animate-fade-in { animation: fade-in 0.5s ease-out forwards; }

@keyframes slide-up {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.animate-slide-up { animation: slide-up 0.4s ease-out forwards; }

@keyframes shake {
  10%, 90% { transform: translateX(-1px); }
  20%, 80% { transform: translateX(2px); }
  30%, 50%, 70% { transform: translateX(-4px); }
  40%, 60% { transform: translateX(4px); }
}
.animate-shake { animation: shake 0.5s; }

/* Manchas coloridas de fundo (tela de Login) — flutuam bem devagar para dar
   um ar mais moderno, sem chamar atenção demais. */
@keyframes blob-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(4%, -6%) scale(1.08); }
  66% { transform: translate(-3%, 4%) scale(0.95); }
}
.animate-blob { animation: blob-float 14s ease-in-out infinite; }
.animation-delay-2000 { animation-delay: 2s; }
.animation-delay-4000 { animation-delay: 4s; }
@media (prefers-reduced-motion: reduce) {
  .animate-blob { animation: none; }
}
/* ================================================================
   Cor do tema — overrides gerados para recolorir as classes
   Tailwind "blue-*" usadas no painel, por tema escolhido em
   Ajustes > Cor do Tema. Aplicado via atributo data-theme na <html>.
   Gerado automaticamente — ver web/app.js (THEME_COLORS).
   ================================================================ */

/* indigo */
html[data-theme="indigo"] .bg-blue-50 { background-color: #eef2ff !important; }
html[data-theme="indigo"] .bg-blue-100 { background-color: #e0e7ff !important; }
html[data-theme="indigo"] .bg-blue-500 { background-color: #6366f1 !important; }
html[data-theme="indigo"] .bg-blue-600 { background-color: #4f46e5 !important; }
html[data-theme="indigo"] .bg-blue-600\/30 { background-color: rgb(79 70 229 / 0.3) !important; }
html[data-theme="indigo"] .border-blue-100 { border-color: #e0e7ff !important; }
html[data-theme="indigo"] .border-blue-400\/30 { border-color: rgb(129 140 248 / 0.3) !important; }
html[data-theme="indigo"] .border-blue-600 { border-color: #4f46e5 !important; }
html[data-theme="indigo"] .focus\:ring-blue-500:focus { --tw-ring-color: #6366f1 !important; }
html[data-theme="indigo"] .hover\:bg-blue-50:hover { background-color: #eef2ff !important; }
html[data-theme="indigo"] .hover\:bg-blue-100:hover { background-color: #e0e7ff !important; }
html[data-theme="indigo"] .hover\:bg-blue-500:hover { background-color: #6366f1 !important; }
html[data-theme="indigo"] .hover\:bg-blue-600:hover { background-color: #4f46e5 !important; }
html[data-theme="indigo"] .hover\:bg-blue-700:hover { background-color: #4338ca !important; }
html[data-theme="indigo"] .hover\:border-blue-100:hover { border-color: #e0e7ff !important; }
html[data-theme="indigo"] .hover\:border-blue-200:hover { border-color: #c7d2fe !important; }
html[data-theme="indigo"] .hover\:text-blue-600:hover { color: #4f46e5 !important; }
html[data-theme="indigo"] .shadow-blue-100 { --tw-shadow-color: #e0e7ff !important; }
html[data-theme="indigo"] .shadow-blue-200 { --tw-shadow-color: #c7d2fe !important; }
html[data-theme="indigo"] .shadow-blue-500\/20 { --tw-shadow-color: rgb(99 102 241 / 0.2) !important; }
html[data-theme="indigo"] .shadow-blue-500\/30 { --tw-shadow-color: rgb(99 102 241 / 0.3) !important; }
html[data-theme="indigo"] .shadow-blue-600\/30 { --tw-shadow-color: rgb(79 70 229 / 0.3) !important; }
html[data-theme="indigo"] .text-blue-400 { color: #818cf8 !important; }
html[data-theme="indigo"] .text-blue-500 { color: #6366f1 !important; }
html[data-theme="indigo"] .text-blue-600 { color: #4f46e5 !important; }
html[data-theme="indigo"] .text-blue-800 { color: #3730a3 !important; }
html[data-theme="indigo"] .to-blue-950 { --tw-gradient-to: #1e1b4b !important; }

/* violet */
html[data-theme="violet"] .bg-blue-50 { background-color: #f5f3ff !important; }
html[data-theme="violet"] .bg-blue-100 { background-color: #ede9fe !important; }
html[data-theme="violet"] .bg-blue-500 { background-color: #8b5cf6 !important; }
html[data-theme="violet"] .bg-blue-600 { background-color: #7c3aed !important; }
html[data-theme="violet"] .bg-blue-600\/30 { background-color: rgb(124 58 237 / 0.3) !important; }
html[data-theme="violet"] .border-blue-100 { border-color: #ede9fe !important; }
html[data-theme="violet"] .border-blue-400\/30 { border-color: rgb(167 139 250 / 0.3) !important; }
html[data-theme="violet"] .border-blue-600 { border-color: #7c3aed !important; }
html[data-theme="violet"] .focus\:ring-blue-500:focus { --tw-ring-color: #8b5cf6 !important; }
html[data-theme="violet"] .hover\:bg-blue-50:hover { background-color: #f5f3ff !important; }
html[data-theme="violet"] .hover\:bg-blue-100:hover { background-color: #ede9fe !important; }
html[data-theme="violet"] .hover\:bg-blue-500:hover { background-color: #8b5cf6 !important; }
html[data-theme="violet"] .hover\:bg-blue-600:hover { background-color: #7c3aed !important; }
html[data-theme="violet"] .hover\:bg-blue-700:hover { background-color: #6d28d9 !important; }
html[data-theme="violet"] .hover\:border-blue-100:hover { border-color: #ede9fe !important; }
html[data-theme="violet"] .hover\:border-blue-200:hover { border-color: #ddd6fe !important; }
html[data-theme="violet"] .hover\:text-blue-600:hover { color: #7c3aed !important; }
html[data-theme="violet"] .shadow-blue-100 { --tw-shadow-color: #ede9fe !important; }
html[data-theme="violet"] .shadow-blue-200 { --tw-shadow-color: #ddd6fe !important; }
html[data-theme="violet"] .shadow-blue-500\/20 { --tw-shadow-color: rgb(139 92 246 / 0.2) !important; }
html[data-theme="violet"] .shadow-blue-500\/30 { --tw-shadow-color: rgb(139 92 246 / 0.3) !important; }
html[data-theme="violet"] .shadow-blue-600\/30 { --tw-shadow-color: rgb(124 58 237 / 0.3) !important; }
html[data-theme="violet"] .text-blue-400 { color: #a78bfa !important; }
html[data-theme="violet"] .text-blue-500 { color: #8b5cf6 !important; }
html[data-theme="violet"] .text-blue-600 { color: #7c3aed !important; }
html[data-theme="violet"] .text-blue-800 { color: #5b21b6 !important; }
html[data-theme="violet"] .to-blue-950 { --tw-gradient-to: #2e1065 !important; }

/* rose */
html[data-theme="rose"] .bg-blue-50 { background-color: #fff1f2 !important; }
html[data-theme="rose"] .bg-blue-100 { background-color: #ffe4e6 !important; }
html[data-theme="rose"] .bg-blue-500 { background-color: #f43f5e !important; }
html[data-theme="rose"] .bg-blue-600 { background-color: #e11d48 !important; }
html[data-theme="rose"] .bg-blue-600\/30 { background-color: rgb(225 29 72 / 0.3) !important; }
html[data-theme="rose"] .border-blue-100 { border-color: #ffe4e6 !important; }
html[data-theme="rose"] .border-blue-400\/30 { border-color: rgb(251 113 133 / 0.3) !important; }
html[data-theme="rose"] .border-blue-600 { border-color: #e11d48 !important; }
html[data-theme="rose"] .focus\:ring-blue-500:focus { --tw-ring-color: #f43f5e !important; }
html[data-theme="rose"] .hover\:bg-blue-50:hover { background-color: #fff1f2 !important; }
html[data-theme="rose"] .hover\:bg-blue-100:hover { background-color: #ffe4e6 !important; }
html[data-theme="rose"] .hover\:bg-blue-500:hover { background-color: #f43f5e !important; }
html[data-theme="rose"] .hover\:bg-blue-600:hover { background-color: #e11d48 !important; }
html[data-theme="rose"] .hover\:bg-blue-700:hover { background-color: #be123c !important; }
html[data-theme="rose"] .hover\:border-blue-100:hover { border-color: #ffe4e6 !important; }
html[data-theme="rose"] .hover\:border-blue-200:hover { border-color: #fecdd3 !important; }
html[data-theme="rose"] .hover\:text-blue-600:hover { color: #e11d48 !important; }
html[data-theme="rose"] .shadow-blue-100 { --tw-shadow-color: #ffe4e6 !important; }
html[data-theme="rose"] .shadow-blue-200 { --tw-shadow-color: #fecdd3 !important; }
html[data-theme="rose"] .shadow-blue-500\/20 { --tw-shadow-color: rgb(244 63 94 / 0.2) !important; }
html[data-theme="rose"] .shadow-blue-500\/30 { --tw-shadow-color: rgb(244 63 94 / 0.3) !important; }
html[data-theme="rose"] .shadow-blue-600\/30 { --tw-shadow-color: rgb(225 29 72 / 0.3) !important; }
html[data-theme="rose"] .text-blue-400 { color: #fb7185 !important; }
html[data-theme="rose"] .text-blue-500 { color: #f43f5e !important; }
html[data-theme="rose"] .text-blue-600 { color: #e11d48 !important; }
html[data-theme="rose"] .text-blue-800 { color: #9f1239 !important; }
html[data-theme="rose"] .to-blue-950 { --tw-gradient-to: #4c0519 !important; }

/* red */
html[data-theme="red"] .bg-blue-50 { background-color: #fef2f2 !important; }
html[data-theme="red"] .bg-blue-100 { background-color: #fee2e2 !important; }
html[data-theme="red"] .bg-blue-500 { background-color: #ef4444 !important; }
html[data-theme="red"] .bg-blue-600 { background-color: #dc2626 !important; }
html[data-theme="red"] .bg-blue-600\/30 { background-color: rgb(220 38 38 / 0.3) !important; }
html[data-theme="red"] .border-blue-100 { border-color: #fee2e2 !important; }
html[data-theme="red"] .border-blue-400\/30 { border-color: rgb(248 113 113 / 0.3) !important; }
html[data-theme="red"] .border-blue-600 { border-color: #dc2626 !important; }
html[data-theme="red"] .focus\:ring-blue-500:focus { --tw-ring-color: #ef4444 !important; }
html[data-theme="red"] .hover\:bg-blue-50:hover { background-color: #fef2f2 !important; }
html[data-theme="red"] .hover\:bg-blue-100:hover { background-color: #fee2e2 !important; }
html[data-theme="red"] .hover\:bg-blue-500:hover { background-color: #ef4444 !important; }
html[data-theme="red"] .hover\:bg-blue-600:hover { background-color: #dc2626 !important; }
html[data-theme="red"] .hover\:bg-blue-700:hover { background-color: #b91c1c !important; }
html[data-theme="red"] .hover\:border-blue-100:hover { border-color: #fee2e2 !important; }
html[data-theme="red"] .hover\:border-blue-200:hover { border-color: #fecaca !important; }
html[data-theme="red"] .hover\:text-blue-600:hover { color: #dc2626 !important; }
html[data-theme="red"] .shadow-blue-100 { --tw-shadow-color: #fee2e2 !important; }
html[data-theme="red"] .shadow-blue-200 { --tw-shadow-color: #fecaca !important; }
html[data-theme="red"] .shadow-blue-500\/20 { --tw-shadow-color: rgb(239 68 68 / 0.2) !important; }
html[data-theme="red"] .shadow-blue-500\/30 { --tw-shadow-color: rgb(239 68 68 / 0.3) !important; }
html[data-theme="red"] .shadow-blue-600\/30 { --tw-shadow-color: rgb(220 38 38 / 0.3) !important; }
html[data-theme="red"] .text-blue-400 { color: #f87171 !important; }
html[data-theme="red"] .text-blue-500 { color: #ef4444 !important; }
html[data-theme="red"] .text-blue-600 { color: #dc2626 !important; }
html[data-theme="red"] .text-blue-800 { color: #991b1b !important; }
html[data-theme="red"] .to-blue-950 { --tw-gradient-to: #450a0a !important; }

/* orange */
html[data-theme="orange"] .bg-blue-50 { background-color: #fff7ed !important; }
html[data-theme="orange"] .bg-blue-100 { background-color: #ffedd5 !important; }
html[data-theme="orange"] .bg-blue-500 { background-color: #f97316 !important; }
html[data-theme="orange"] .bg-blue-600 { background-color: #ea580c !important; }
html[data-theme="orange"] .bg-blue-600\/30 { background-color: rgb(234 88 12 / 0.3) !important; }
html[data-theme="orange"] .border-blue-100 { border-color: #ffedd5 !important; }
html[data-theme="orange"] .border-blue-400\/30 { border-color: rgb(251 146 60 / 0.3) !important; }
html[data-theme="orange"] .border-blue-600 { border-color: #ea580c !important; }
html[data-theme="orange"] .focus\:ring-blue-500:focus { --tw-ring-color: #f97316 !important; }
html[data-theme="orange"] .hover\:bg-blue-50:hover { background-color: #fff7ed !important; }
html[data-theme="orange"] .hover\:bg-blue-100:hover { background-color: #ffedd5 !important; }
html[data-theme="orange"] .hover\:bg-blue-500:hover { background-color: #f97316 !important; }
html[data-theme="orange"] .hover\:bg-blue-600:hover { background-color: #ea580c !important; }
html[data-theme="orange"] .hover\:bg-blue-700:hover { background-color: #c2410c !important; }
html[data-theme="orange"] .hover\:border-blue-100:hover { border-color: #ffedd5 !important; }
html[data-theme="orange"] .hover\:border-blue-200:hover { border-color: #fed7aa !important; }
html[data-theme="orange"] .hover\:text-blue-600:hover { color: #ea580c !important; }
html[data-theme="orange"] .shadow-blue-100 { --tw-shadow-color: #ffedd5 !important; }
html[data-theme="orange"] .shadow-blue-200 { --tw-shadow-color: #fed7aa !important; }
html[data-theme="orange"] .shadow-blue-500\/20 { --tw-shadow-color: rgb(249 115 22 / 0.2) !important; }
html[data-theme="orange"] .shadow-blue-500\/30 { --tw-shadow-color: rgb(249 115 22 / 0.3) !important; }
html[data-theme="orange"] .shadow-blue-600\/30 { --tw-shadow-color: rgb(234 88 12 / 0.3) !important; }
html[data-theme="orange"] .text-blue-400 { color: #fb923c !important; }
html[data-theme="orange"] .text-blue-500 { color: #f97316 !important; }
html[data-theme="orange"] .text-blue-600 { color: #ea580c !important; }
html[data-theme="orange"] .text-blue-800 { color: #9a3412 !important; }
html[data-theme="orange"] .to-blue-950 { --tw-gradient-to: #431407 !important; }

/* emerald */
html[data-theme="emerald"] .bg-blue-50 { background-color: #ecfdf5 !important; }
html[data-theme="emerald"] .bg-blue-100 { background-color: #d1fae5 !important; }
html[data-theme="emerald"] .bg-blue-500 { background-color: #10b981 !important; }
html[data-theme="emerald"] .bg-blue-600 { background-color: #059669 !important; }
html[data-theme="emerald"] .bg-blue-600\/30 { background-color: rgb(5 150 105 / 0.3) !important; }
html[data-theme="emerald"] .border-blue-100 { border-color: #d1fae5 !important; }
html[data-theme="emerald"] .border-blue-400\/30 { border-color: rgb(52 211 153 / 0.3) !important; }
html[data-theme="emerald"] .border-blue-600 { border-color: #059669 !important; }
html[data-theme="emerald"] .focus\:ring-blue-500:focus { --tw-ring-color: #10b981 !important; }
html[data-theme="emerald"] .hover\:bg-blue-50:hover { background-color: #ecfdf5 !important; }
html[data-theme="emerald"] .hover\:bg-blue-100:hover { background-color: #d1fae5 !important; }
html[data-theme="emerald"] .hover\:bg-blue-500:hover { background-color: #10b981 !important; }
html[data-theme="emerald"] .hover\:bg-blue-600:hover { background-color: #059669 !important; }
html[data-theme="emerald"] .hover\:bg-blue-700:hover { background-color: #047857 !important; }
html[data-theme="emerald"] .hover\:border-blue-100:hover { border-color: #d1fae5 !important; }
html[data-theme="emerald"] .hover\:border-blue-200:hover { border-color: #a7f3d0 !important; }
html[data-theme="emerald"] .hover\:text-blue-600:hover { color: #059669 !important; }
html[data-theme="emerald"] .shadow-blue-100 { --tw-shadow-color: #d1fae5 !important; }
html[data-theme="emerald"] .shadow-blue-200 { --tw-shadow-color: #a7f3d0 !important; }
html[data-theme="emerald"] .shadow-blue-500\/20 { --tw-shadow-color: rgb(16 185 129 / 0.2) !important; }
html[data-theme="emerald"] .shadow-blue-500\/30 { --tw-shadow-color: rgb(16 185 129 / 0.3) !important; }
html[data-theme="emerald"] .shadow-blue-600\/30 { --tw-shadow-color: rgb(5 150 105 / 0.3) !important; }
html[data-theme="emerald"] .text-blue-400 { color: #34d399 !important; }
html[data-theme="emerald"] .text-blue-500 { color: #10b981 !important; }
html[data-theme="emerald"] .text-blue-600 { color: #059669 !important; }
html[data-theme="emerald"] .text-blue-800 { color: #065f46 !important; }
html[data-theme="emerald"] .to-blue-950 { --tw-gradient-to: #022c22 !important; }

/* cyan */
html[data-theme="cyan"] .bg-blue-50 { background-color: #ecfeff !important; }
html[data-theme="cyan"] .bg-blue-100 { background-color: #cffafe !important; }
html[data-theme="cyan"] .bg-blue-500 { background-color: #06b6d4 !important; }
html[data-theme="cyan"] .bg-blue-600 { background-color: #0891b2 !important; }
html[data-theme="cyan"] .bg-blue-600\/30 { background-color: rgb(8 145 178 / 0.3) !important; }
html[data-theme="cyan"] .border-blue-100 { border-color: #cffafe !important; }
html[data-theme="cyan"] .border-blue-400\/30 { border-color: rgb(34 211 238 / 0.3) !important; }
html[data-theme="cyan"] .border-blue-600 { border-color: #0891b2 !important; }
html[data-theme="cyan"] .focus\:ring-blue-500:focus { --tw-ring-color: #06b6d4 !important; }
html[data-theme="cyan"] .hover\:bg-blue-50:hover { background-color: #ecfeff !important; }
html[data-theme="cyan"] .hover\:bg-blue-100:hover { background-color: #cffafe !important; }
html[data-theme="cyan"] .hover\:bg-blue-500:hover { background-color: #06b6d4 !important; }
html[data-theme="cyan"] .hover\:bg-blue-600:hover { background-color: #0891b2 !important; }
html[data-theme="cyan"] .hover\:bg-blue-700:hover { background-color: #0e7490 !important; }
html[data-theme="cyan"] .hover\:border-blue-100:hover { border-color: #cffafe !important; }
html[data-theme="cyan"] .hover\:border-blue-200:hover { border-color: #a5f3fc !important; }
html[data-theme="cyan"] .hover\:text-blue-600:hover { color: #0891b2 !important; }
html[data-theme="cyan"] .shadow-blue-100 { --tw-shadow-color: #cffafe !important; }
html[data-theme="cyan"] .shadow-blue-200 { --tw-shadow-color: #a5f3fc !important; }
html[data-theme="cyan"] .shadow-blue-500\/20 { --tw-shadow-color: rgb(6 182 212 / 0.2) !important; }
html[data-theme="cyan"] .shadow-blue-500\/30 { --tw-shadow-color: rgb(6 182 212 / 0.3) !important; }
html[data-theme="cyan"] .shadow-blue-600\/30 { --tw-shadow-color: rgb(8 145 178 / 0.3) !important; }
html[data-theme="cyan"] .text-blue-400 { color: #22d3ee !important; }
html[data-theme="cyan"] .text-blue-500 { color: #06b6d4 !important; }
html[data-theme="cyan"] .text-blue-600 { color: #0891b2 !important; }
html[data-theme="cyan"] .text-blue-800 { color: #155e75 !important; }
html[data-theme="cyan"] .to-blue-950 { --tw-gradient-to: #083344 !important; }
