body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#10b981;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#059669}.focus\:ring-green-500:focus{box-shadow:0 0 0 3px #10b9814d;outline:2px solid #0000;outline-offset:2px}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.text-green-600{color:#10b981}.text-green-800{color:#065f46}.bg-green-600{background-color:#10b981}.bg-green-100{background-color:#d1fae5}.bg-green-600:hover,.hover\:bg-green-700:hover{background-color:#059669}.border-green-500:focus{border-color:#10b981}.bg-blue-100{background-color:#dbeafe}.text-blue-800{color:#1e40af}.rounded-full{border-radius:9999px}.gap-2{gap:.5rem}.flex-wrap{flex-wrap:wrap}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.text-xs{font-size:.75rem;line-height:1rem}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid{display:grid}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-300{border-color:#d1d5db}.border-red-200{border-color:#fecaca}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-4{padding-left:1rem;padding-right:1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.ml-2{margin-left:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.max-w-7xl{max-width:80rem}.w-full{width:100%}.h-48{height:12rem}.h-12{height:3rem}.w-12{width:3rem}.h-4{height:1rem}.w-4{width:1rem}.min-h-screen{min-height:100vh}.flex{display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-gray-900{color:#111827}.text-gray-800{color:#1f2937}.text-gray-700{color:#374151}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.text-white{color:#fff}.text-red-700{color:#b91c1c}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-red-50{background-color:#fef2f2}.object-cover{object-fit:cover}.inline-flex{display:inline-flex}.block{display:block}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:border-transparent:focus{border-color:#0000}.hover\:underline:hover{text-decoration:underline}.hover\:text-green-800:hover{color:#065f46}@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}