/* ============================================
   MurliGanj Local Store - Self-Hosted CSS Framework
   Full TailwindCSS v3 Utility Set
   Works without any CDN dependency
   ============================================ */

/* --- Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,sans-serif}
body{margin:0;line-height:inherit;background:#f9fafb;min-height:100vh;overflow-x:hidden;max-width:100vw}
img{max-width:100%;height:auto;object-fit:contain}
a{color:inherit;text-decoration:inherit}
table{border-collapse:collapse}
button,input,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button{cursor:pointer}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}

/* --- Display --- */
.block{display:block}.inline-block{display:inline-block}.inline{display:inline}
.flex{display:flex}.inline-flex{display:inline-flex}
.grid{display:grid}.hidden{display:none}
@media(min-width:640px){.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:block{display:block}.sm\:inline{display:inline}}
@media(min-width:768px){.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:block{display:block}}
@media(min-width:1024px){.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:block{display:block}}
@media(min-width:1280px){.xl\:flex{display:flex}.xl\:hidden{display:none}}

/* --- Flex --- */
.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}
.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}
.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}
.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}
.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}
.place-items-center{place-items:center}

/* --- Grid --- */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}
.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}
@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-8{grid-template-columns:repeat(8,1fr)}}
@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}}
@media(min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}
.gap-0{gap:0}.gap-0\.5{gap:0.125rem}.gap-1{gap:0.25rem}.gap-1\.5{gap:0.375rem}.gap-2{gap:0.5rem}.gap-2\.5{gap:0.625rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.gap-x-2{column-gap:0.5rem}.gap-y-2{row-gap:0.5rem}.gap-x-3{column-gap:0.75rem}.gap-y-3{row-gap:0.75rem}

/* --- Animation --- */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}
@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}
.space-y-0\.5 > * + *{margin-top:0.125rem}.space-y-1 > * + *{margin-top:0.25rem}.space-y-2 > * + *{margin-top:0.5rem}.space-y-2\.5 > * + *{margin-top:0.625rem}.space-y-3 > * + *{margin-top:0.75rem}.space-y-4 > * + *{margin-top:1rem}.space-y-5 > * + *{margin-top:1.25rem}.space-y-6 > * + *{margin-top:1.5rem}
.space-x-2 > * + *{margin-left:0.5rem}.space-x-3 > * + *{margin-left:0.75rem}.space-x-4 > * + *{margin-left:1rem}

/* --- Width/Height --- */
.w-full{width:100%}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-screen{width:100vw}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-64{width:16rem}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-40{height:10rem}.h-48{height:12rem}.h-56{height:14rem}.h-64{height:16rem}.min-h-screen{min-height:100vh}.min-h-\[80vh\]{min-height:80vh}

/* --- Position --- */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}
.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}
.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}
.top-2{top:0.5rem}.right-2{right:0.5rem}.bottom-2{bottom:0.5rem}.left-2{left:0.5rem}
.top-3{top:0.75rem}.right-3{right:0.75rem}.bottom-3{bottom:0.75rem}.left-3{left:0.75rem}
.top-4{top:1rem}.right-4{right:1rem}.bottom-4{bottom:1rem}.left-4{left:1rem}
.top-14{top:3.5rem}.top-full{top:100%}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.bottom-20{bottom:5rem}
.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[99999\]{z-index:99999}
.transform{transform:translateX(0) translateY(0) translateZ(0)}.-translate-x-1\/2{transform:translateX(-50%)}.-translate-y-1\/2{transform:translateY(-50%)}.translate-x-0{transform:translateX(0)}
.-translate-x-full{transform:translateX(-100%)}.translate-y-full{transform:translateY(100%)}
@media(min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-0{top:0}.lg\:top-24{top:6rem}}

/* --- Overflow --- */
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-visible{overflow:visible}

/* --- Margin --- */
.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:0.5rem;margin-bottom:0.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}
.mt-0{margin-top:0}.mt-0\.5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-1\.5{margin-top:0.375rem}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}
.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:0.125rem}.mb-1{margin-bottom:0.25rem}.mb-1\.5{margin-bottom:0.375rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}
.ml-0{margin-left:0}.ml-1{margin-left:0.25rem}.ml-1\.5{margin-left:0.375rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-auto{margin-left:auto}
.mr-0{margin-right:0}.mr-1{margin-right:0.25rem}.mr-1\.5{margin-right:0.375rem}.mr-2{margin-right:0.5rem}.mr-3{margin-right:0.75rem}
@media(min-width:640px){.sm\:mt-0{margin-top:0}}
@media(min-width:1024px){.lg\:mb-0{margin-bottom:0}}

/* --- Padding --- */
.p-0{padding:0}.p-1{padding:0.25rem}.p-1\.5{padding:0.375rem}.p-2{padding:0.5rem}.p-2\.5{padding:0.625rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}
.px-0{padding-left:0;padding-right:0}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-1\.5{padding-left:0.375rem;padding-right:0.375rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-0{padding-top:0}.pt-1{padding-top:0.25rem}.pt-2{padding-top:0.5rem}.pt-3{padding-top:0.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}
.pb-0{padding-bottom:0}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}
.pl-2{padding-left:0.5rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}
.pr-2{padding-right:0.5rem}.pr-3{padding-right:0.75rem}.pr-4{padding-right:1rem}
@media(min-width:640px){.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.sm\:py-3{padding-top:0.75rem;padding-bottom:0.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:h-10{height:2.5rem}.sm\:h-11{height:2.75rem}.sm\:h-12{height:3rem}.sm\:h-14{height:3.5rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-32{height:8rem}.sm\:h-40{height:10rem}.sm\:w-20{width:5rem}}
@media(min-width:768px){.md\:p-6{padding:1.5rem}.md\:py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:h-48{height:12rem}}
@media(min-width:1024px){.lg\:p-8{padding:2rem}}@media(min-width:640px){.sm\:w-20{width:5rem}}

/* --- Typography --- */
.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}
.text-xs{font-size:0.75rem;line-height:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}
.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}
.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}
.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.leading-none{line-height:1}
.text-truncate,.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-wrap{white-space:normal}.text-nowrap{white-space:nowrap}.break-all{word-break:break-all}
.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}
.tracking-wider{letter-spacing:0.05em}.tracking-widest{letter-spacing:0.1em}
.font-mono{font-family:ui-monospace,SFMono-Regular,monospace}
.list-disc{list-style-type:disc;padding-left:1.5rem}
@media(min-width:640px){.sm\:text-sm{font-size:0.875rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:text-xl{font-size:1.25rem}.sm\:text-2xl{font-size:1.5rem}.sm\:text-3xl{font-size:1.875rem}}
@media(min-width:768px){.md\:text-sm{font-size:0.875rem}.md\:text-lg{font-size:1.125rem}}

/* --- Colors (Tailwind v3 palette) --- */
.text-white{color:#fff}.text-black{color:#000}.text-gray-50{color:#f9fafb}.text-gray-100{color:#f3f4f6}.text-gray-200{color:#e5e7eb}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}
.text-red-400{color:#f87171}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-800{color:#991b1b}
.text-green-400{color:#4ade80}.text-green-500{color:#22c55e}.text-green-600{color:#16a34a}.text-green-700{color:#15803d}.text-green-800{color:#166534}.text-green-900{color:#14532d}
.text-blue-400{color:#60a5fa}.text-blue-500{color:#3b82f6}.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}.text-blue-800{color:#1e40af}
.text-amber-400{color:#fbbf24}.text-amber-500{color:#f59e0b}.text-amber-600{color:#d97706}.text-amber-700{color:#b45309}.text-amber-800{color:#92400e}.text-amber-900{color:#78350f}
.text-orange-400{color:#fb923c}.text-orange-500{color:#f97316}.text-orange-600{color:#ea580c}.text-orange-700{color:#c2410c}
.text-yellow-400{color:#facc15}.text-yellow-500{color:#eab308}.text-yellow-600{color:#ca8a04}.text-yellow-700{color:#a16207}.text-yellow-900{color:#713f12}
.text-purple-400{color:#c084fc}.text-purple-500{color:#a855f7}.text-purple-600{color:#9333ea}.text-purple-700{color:#7e22ce}
.text-pink-500{color:#ec4899}.text-pink-600{color:#db2777}
.text-teal-500{color:#14b8a6}.text-teal-600{color:#0d9488}
.text-indigo-500{color:#6366f1}.text-indigo-600{color:#4f46e5}
.text-primary-50{color:#f0fdf4}.text-primary-100{color:#dcfce7}.text-primary-200{color:#bbf7d0}.text-primary-300{color:#86efac}.text-primary-400{color:#4ade80}.text-primary-500{color:#22c55e}.text-primary-600{color:#16a34a}.text-primary-700{color:#15803d}.text-primary-800{color:#166534}.text-primary-900{color:#14532d}

/* --- Additional Text Colors --- */
.text-sky-400{color:#38bdf8}.text-sky-500{color:#0ea5e9}.text-sky-600{color:#0284c7}
.text-cyan-400{color:#22d3ee}.text-cyan-500{color:#06b6d4}.text-cyan-600{color:#0891b2}
.text-lime-400{color:#a3e635}.text-lime-500{color:#84cc16}.text-lime-600{color:#65a30d}
.text-violet-400{color:#a78bfa}.text-violet-500{color:#8b5cf6}.text-violet-600{color:#7c3aed}
.text-fuchsia-400{color:#e879f9}.text-fuchsia-500{color:#d946ef}.text-fuchsia-600{color:#c026d3}
.text-rose-400{color:#fb7185}.text-rose-500{color:#f43f5e}.text-rose-600{color:#e11d48}
.text-emerald-400{color:#34d399}.text-emerald-500{color:#10b981}.text-emerald-600{color:#059669}.text-emerald-700{color:#047857}
.text-slate-400{color:#94a3b8}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}.text-slate-900{color:#0f172a}
.text-stone-400{color:#a8a29e}.text-stone-500{color:#78716c}.text-stone-600{color:#57534e}
.text-neutral-400{color:#a3a3a3}.text-neutral-500{color:#737373}.text-neutral-600{color:#525252}
.text-zinc-400{color:#a1a1aa}.text-zinc-500{color:#71717a}.text-zinc-600{color:#52525b}
.text-orange-300{color:#fdba74}
.text-blue-300{color:#93c5fd}.text-blue-400{color:#60a5fa}
.text-red-300{color:#fca5a5}.text-red-50{color:#fef2f2}
.text-green-50{color:#f0fdf4}
.text-yellow-300{color:#fde047}
.text-indigo-400{color:#818cf8}.text-indigo-700{color:#4338ca}.text-indigo-800{color:#3730a3}.text-indigo-900{color:#312e81}
.text-purple-300{color:#d8b4fe}.text-purple-800{color:#6b21a8}.text-purple-900{color:#581c87}
.text-pink-400{color:#f472b6}.text-pink-700{color:#be185d}.text-pink-800{color:#9d174d}
.text-teal-400{color:#2dd4bf}.text-teal-700{color:#0f766e}.text-teal-800{color:#115e59}.text-teal-900{color:#134e4a}
.text-amber-300{color:#fcd34d}

/* --- Backgrounds --- */
.bg-transparent{background:transparent}.bg-white{background:#fff}.bg-black{background:#000}.bg-black\/50{background:rgba(0,0,0,0.5)}.bg-black\/60{background:rgba(0,0,0,0.6)}.bg-current{background:currentColor}
.bg-gray-50{background:#f9fafb}.bg-gray-100{background:#f3f4f6}.bg-gray-200{background:#e5e7eb}.bg-gray-300{background:#d1d5db}.bg-gray-400{background:#9ca3af}.bg-gray-500{background:#6b7280}.bg-gray-600{background:#4b5563}.bg-gray-700{background:#374151}.bg-gray-800{background:#1f2937}.bg-gray-900{background:#111827}
.bg-red-50{background:#fef2f2}.bg-red-100{background:#fee2e2}.bg-red-500{background:#ef4444}.bg-red-600{background:#dc2626}
.bg-green-50{background:#f0fdf4}.bg-green-100{background:#dcfce7}.bg-green-200{background:#bbf7d0}.bg-green-500{background:#22c55e}.bg-green-600{background:#16a34a}.bg-green-700{background:#15803d}.bg-green-800{background:#166534}
.bg-blue-50{background:#eff6ff}.bg-blue-100{background:#dbeafe}.bg-blue-200{background:#bfdbfe}.bg-blue-500{background:#3b82f6}.bg-blue-600{background:#2563eb}.bg-blue-700{background:#1d4ed8}
.bg-amber-50{background:#fffbeb}.bg-amber-100{background:#fef3c7}.bg-amber-200{background:#fde68a}.bg-amber-500{background:#f59e0b}.bg-amber-600{background:#d97706}
.bg-yellow-50{background:#fefce8}.bg-yellow-100{background:#fef9c3}.bg-yellow-400{background:#facc15}.bg-yellow-500{background:#eab308}
.bg-orange-50{background:#fff7ed}.bg-orange-100{background:#ffedd5}.bg-orange-500{background:#f97316}.bg-orange-600{background:#ea580c}
.bg-purple-50{background:#faf5ff}.bg-purple-100{background:#f3e8ff}.bg-purple-500{background:#a855f7}.bg-purple-600{background:#9333ea}
.bg-primary-50{background:#f0fdf4}.bg-primary-100{background:#dcfce7}.bg-primary-200{background:#bbf7d0}.bg-primary-400{background:#4ade80}.bg-primary-500{background:#22c55e}.bg-primary-600{background:#16a34a}.bg-primary-700{background:#15803d}.bg-primary-800{background:#166534}.bg-primary-900{background:#14532d}

/* --- Additional Background Colors --- */
.bg-sky-50{background:#f0f9ff}.bg-sky-100{background:#e0f2fe}.bg-sky-400{background:#38bdf8}.bg-sky-500{background:#0ea5e9}.bg-sky-600{background:#0284c7}
.bg-cyan-50{background:#ecfeff}.bg-cyan-100{background:#cffafe}.bg-cyan-400{background:#22d3ee}.bg-cyan-500{background:#06b6d4}.bg-cyan-600{background:#0891b2}
.bg-lime-50{background:#f7fee7}.bg-lime-100{background:#ecfccb}.bg-lime-400{background:#a3e635}.bg-lime-500{background:#84cc16}.bg-lime-600{background:#65a30d}
.bg-violet-50{background:#f5f3ff}.bg-violet-100{background:#ede9fe}.bg-violet-400{background:#a78bfa}.bg-violet-500{background:#8b5cf6}.bg-violet-600{background:#7c3aed}
.bg-fuchsia-50{background:#fdf4ff}.bg-fuchsia-100{background:#fae8ff}.bg-fuchsia-400{background:#e879f9}.bg-fuchsia-500{background:#d946ef}
.bg-rose-50{background:#fff1f2}.bg-rose-100{background:#ffe4e6}.bg-rose-400{background:#fb7185}.bg-rose-500{background:#f43f5e}.bg-rose-600{background:#e11d48}
.bg-emerald-50{background:#ecfdf5}.bg-emerald-100{background:#d1fae5}.bg-emerald-400{background:#34d399}.bg-emerald-500{background:#10b981}.bg-emerald-600{background:#059669}.bg-emerald-700{background:#047857}
.bg-slate-50{background:#f8fafc}.bg-slate-100{background:#f1f5f9}.bg-slate-200{background:#e2e8f0}.bg-slate-300{background:#cbd5e1}.bg-slate-400{background:#94a3b8}.bg-slate-500{background:#64748b}.bg-slate-600{background:#475569}.bg-slate-700{background:#334155}.bg-slate-800{background:#1e293b}.bg-slate-900{background:#0f172a}
.bg-stone-50{background:#fafaf9}.bg-stone-100{background:#f5f5f4}.bg-stone-200{background:#e7e5e4}.bg-stone-300{background:#d6d3d1}.bg-stone-400{background:#a8a29e}.bg-stone-500{background:#78716c}.bg-stone-600{background:#57534e}.bg-stone-700{background:#44403c}.bg-stone-800{background:#292524}.bg-stone-900{background:#1c1917}
.bg-neutral-50{background:#fafafa}.bg-neutral-100{background:#f5f5f5}.bg-neutral-200{background:#e5e5e5}.bg-neutral-300{background:#d4d4d4}.bg-neutral-400{background:#a3a3a3}.bg-neutral-500{background:#737373}.bg-neutral-600{background:#525252}.bg-neutral-700{background:#404040}.bg-neutral-800{background:#262626}.bg-neutral-900{background:#171717}
.bg-zinc-50{background:#fafafa}.bg-zinc-100{background:#f4f4f5}.bg-zinc-200{background:#e4e4e7}.bg-zinc-300{background:#d4d4d8}.bg-zinc-400{background:#a1a1aa}.bg-zinc-500{background:#71717a}.bg-zinc-600{background:#52525b}.bg-zinc-700{background:#3f3f46}.bg-zinc-800{background:#27272a}.bg-zinc-900{background:#18181b}
.bg-orange-200{background:#fed7aa}.bg-orange-300{background:#fdba74}.bg-orange-400{background:#fb923c}.bg-orange-700{background:#c2410c}.bg-orange-800{background:#9a3412}.bg-orange-900{background:#7c2d12}
.bg-blue-300{background:#93c5fd}.bg-blue-400{background:#60a5fa}.bg-blue-800{background:#1e40af}.bg-blue-900{background:#1e3a8a}
.bg-red-200{background:#fecaca}.bg-red-300{background:#fca5a5}.bg-red-400{background:#f87171}.bg-red-700{background:#b91c1c}.bg-red-800{background:#991b1b}.bg-red-900{background:#7f1d1d}
.bg-green-300{background:#86efac}.bg-green-400{background:#4ade80}.bg-green-900{background:#14532d}
.bg-yellow-200{background:#fef08a}.bg-yellow-300{background:#fde047}.bg-yellow-600{background:#ca8a04}.bg-yellow-700{background:#a16207}.bg-yellow-800{background:#854d0e}.bg-yellow-900{background:#713f12}
.bg-indigo-50{background:#eef2ff}.bg-indigo-100{background:#e0e7ff}.bg-indigo-200{background:#c7d2fe}.bg-indigo-300{background:#a5b4fc}.bg-indigo-400{background:#818cf8}.bg-indigo-700{background:#4338ca}.bg-indigo-800{background:#3730a3}.bg-indigo-900{background:#312e81}
.bg-purple-200{background:#e9d5ff}.bg-purple-300{background:#d8b4fe}.bg-purple-400{background:#c084fc}.bg-purple-700{background:#7e22ce}.bg-purple-800{background:#6b21a8}.bg-purple-900{background:#581c87}
.bg-pink-50{background:#fdf2f8}.bg-pink-100{background:#fce7f3}.bg-pink-200{background:#fbcfe8}.bg-pink-300{background:#f9a8d4}.bg-pink-400{background:#f472b6}.bg-pink-700{background:#be185d}.bg-pink-800{background:#9d174d}.bg-pink-900{background:#831843}
.bg-teal-50{background:#f0fdfa}.bg-teal-100{background:#ccfbf1}.bg-teal-200{background:#99f6e4}.bg-teal-300{background:#5eead4}.bg-teal-400{background:#2dd4bf}.bg-teal-700{background:#0f766e}.bg-teal-800{background:#115e59}.bg-teal-900{background:#134e4a}
.bg-amber-300{background:#fcd34d}.bg-amber-400{background:#fbbf24}.bg-amber-700{background:#b45309}.bg-amber-800{background:#92400e}.bg-amber-900{background:#78350f}
.bg-lime-200{background:#d9f99d}.bg-lime-300{background:#bef264}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.from-green-50{--tw-gradient-from:#f0fdf4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(240,253,244,0))}.from-green-400{--tw-gradient-from:#4ade80}.from-green-500{--tw-gradient-from:#22c55e}.from-green-600{--tw-gradient-from:#16a34a}.from-emerald-50{--tw-gradient-from:#ecfdf5}.from-emerald-500{--tw-gradient-from:#10b981}.from-gray-50{--tw-gradient-from:#f9fafb}.from-gray-100{--tw-gradient-from:#f3f4f6}.from-gray-900{--tw-gradient-from:#111827}.from-amber-400{--tw-gradient-from:#fbbf24}.from-amber-500{--tw-gradient-from:#f59e0b}.from-amber-600{--tw-gradient-from:#d97706}.from-orange-50{--tw-gradient-from:#fff7ed}.from-orange-500{--tw-gradient-from:#f97316}.from-blue-50{--tw-gradient-from:#eff6ff}.from-blue-400{--tw-gradient-from:#60a5fa}.from-blue-500{--tw-gradient-from:#3b82f6}.from-green-800{--tw-gradient-from:#166534}.from-red-400{--tw-gradient-from:#f87171}.from-pink-400{--tw-gradient-from:#f472b6}.from-slate-600{--tw-gradient-from:#475569}.from-indigo-50{--tw-gradient-from:#eef2ff}.from-indigo-400{--tw-gradient-from:#818cf8}.from-teal-500{--tw-gradient-from:#14b8a6}.from-rose-400{--tw-gradient-from:#fb7185}.from-violet-500{--tw-gradient-from:#8b5cf6}.from-cyan-400{--tw-gradient-from:#22d3ee}.from-yellow-600{--tw-gradient-from:#ca8a04}.from-green-800{--tw-gradient-from:#166534}
.to-green-500{--tw-gradient-to:#22c55e}.to-green-600{--tw-gradient-to:#16a34a}.to-emerald-50{--tw-gradient-to:#ecfdf5}.to-emerald-500{--tw-gradient-to:#10b981}.to-emerald-600{--tw-gradient-to:#059669}.to-white{--tw-gradient-to:#fff}.to-green-700{--tw-gradient-to:#15803d}.to-green-800{--tw-gradient-to:#166534}.to-orange-500{--tw-gradient-to:#f97316}.to-amber-50{--tw-gradient-to:#fffbeb}.to-amber-600{--tw-gradient-to:#d97706}.to-red-500{--tw-gradient-to:#ef4444}.to-cyan-500{--tw-gradient-to:#06b6d4}.to-emerald-500{--tw-gradient-to:#10b981}.to-rose-500{--tw-gradient-to:#f43f5e}.to-fuchsia-500{--tw-gradient-to:#d946ef}.to-purple-500{--tw-gradient-to:#a855f7}.to-purple-600{--tw-gradient-to:#9333ea}.to-gray-500{--tw-gradient-to:#6b7280}.to-gray-700{--tw-gradient-to:#374151}.to-green-600{--tw-gradient-to:#16a34a}.to-cyan-600{--tw-gradient-to:#0891b2}.to-pink-500{--tw-gradient-to:#ec4899}.to-yellow-500{--tw-gradient-to:#eab308}.to-orange-500{--tw-gradient-to:#f97316}.to-indigo-50{--tw-gradient-to:#eef2ff}.to-green-600{--tw-gradient-to:#16a34a}.to-teal-500{--tw-gradient-to:#14b8a6}
.to-green-800{--tw-gradient-to:#166534}.to-gray-800{--tw-gradient-to:#1f2937}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.05)}
.shadow-green-500\/25{--tw-shadow-color:rgba(34,197,94,0.25)}.shadow-green-500\/30{--tw-shadow-color:rgba(34,197,94,0.3)}.shadow-green-500\/35{--tw-shadow-color:rgba(34,197,94,0.35)}
.shadow-primary-200{--tw-shadow-color:#bbf7d0}

/* --- Borders --- */
.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}
.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}
.border-t-2{border-top-width:2px}.border-b-2{border-bottom-width:2px}
.border-gray-50{border-color:#f9fafb}.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-gray-400{border-color:#9ca3af}.border-gray-500{border-color:#6b7280}.border-gray-600{border-color:#4b5563}
.border-green-100{border-color:#dcfce7}.border-green-200{border-color:#bbf7d0}.border-green-300{border-color:#86efac}.border-green-400{border-color:#4ade80}.border-green-500{border-color:#22c55e}
.border-red-100{border-color:#fee2e2}.border-red-200{border-color:#fecaca}.border-red-400{border-color:#f87171}
.border-blue-100{border-color:#dbeafe}.border-blue-200{border-color:#bfdbfe}.border-blue-500{border-color:#3b82f6}
.border-amber-100{border-color:#fef3c7}.border-amber-200{border-color:#fde68a}
.border-orange-100{border-color:#ffedd5}.border-orange-200{border-color:#fed7aa}
.border-primary-200{border-color:#bbf7d0}.border-primary-500{border-color:#22c55e}
.border-white{border-color:#fff}.border-white\/50{border-color:rgba(255,255,255,0.5)}
.rounded-none{border-radius:0}.rounded-sm{border-radius:0.125rem}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-xl{border-radius:0.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}
.rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}
.rounded-b-xl{border-bottom-left-radius:0.75rem;border-bottom-right-radius:0.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}
.rounded-l-lg{border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem}.rounded-r-lg{border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem}

/* --- Transition & Animation --- */
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color;transition-duration:.15s}
.transition-transform{transition-property:transform;transition-duration:.15s}
.transition-shadow{transition-property:box-shadow;transition-duration:.15s}
.transition-opacity{transition-property:opacity;transition-duration:.15s}
.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}
.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-linear{transition-timing-function:linear}
.hover\:scale-105:hover{transform:scale(1.05)}.hover\:scale-110:hover{transform:scale(1.10)}.active\:scale-95:active{transform:scale(.95)}.active\:scale-\[0\.98\]:active{transform:scale(.98)}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}

/* --- Hover States --- */
.hover\:bg-gray-50:hover{background:#f9fafb}.hover\:bg-gray-100:hover{background:#f3f4f6}.hover\:bg-gray-200:hover{background:#e5e7eb}.hover\:bg-gray-300:hover{background:#d1d5db}.hover\:bg-gray-600:hover{background:#4b5563}.hover\:bg-gray-700:hover{background:#374151}.hover\:bg-gray-800:hover{background:#1f2937}
.hover\:bg-green-50:hover{background:#f0fdf4}.hover\:bg-green-100:hover{background:#dcfce7}.hover\:bg-green-600:hover{background:#16a34a}.hover\:bg-green-700:hover{background:#15803d}.hover\:bg-green-800:hover{background:#166534}
.hover\:bg-blue-50:hover{background:#eff6ff}.hover\:bg-blue-100:hover{background:#dbeafe}.hover\:bg-blue-600:hover{background:#2563eb}.hover\:bg-blue-700:hover{background:#1d4ed8}
.hover\:bg-red-50:hover{background:#fef2f2}.hover\:bg-red-100:hover{background:#fee2e2}.hover\:bg-red-600:hover{background:#dc2626}
.hover\:bg-primary-50:hover{background:#f0fdf4}.hover\:bg-primary-100:hover{background:#dcfce7}.hover\:bg-primary-600:hover{background:#16a34a}.hover\:bg-primary-700:hover{background:#15803d}
.hover\:text-white:hover{color:#fff}.hover\:text-gray-600:hover{color:#4b5563}.hover\:text-gray-700:hover{color:#374151}.hover\:text-gray-900:hover{color:#111827}
.hover\:text-green-600:hover{color:#16a34a}.hover\:text-green-700:hover{color:#15803d}.hover\:text-blue-600:hover{color:#2563eb}.hover\:text-blue-700:hover{color:#1d4ed8}
.hover\:text-primary-600:hover{color:#16a34a}.hover\:text-primary-700:hover{color:#15803d}.hover\:text-orange-600:hover{color:#ea580c}.hover\:text-orange-700:hover{color:#c2410c}
.hover\:text-red-600:hover{color:#dc2626}.hover\:text-red-700:hover{color:#b91c1c}
.hover\:underline:hover{text-decoration:underline}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1)}
.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}
.hover\:opacity-90:hover{opacity:0.9}
.hover\:border-green-300:hover{border-color:#86efac}

/* --- Focus States --- */
.focus\:outline-none:focus{outline:0}.focus\:ring-2:focus{box-shadow:0 0 0 2px rgba(22,163,74,0.25)}.focus\:ring-green-500:focus{--tw-ring-color:#22c55e}.focus\:border-green-500:focus{border-color:#22c55e}.focus\:border-emerald-500:focus{border-color:#10b981}

/* --- Object Fit --- */
.object-contain{object-fit:contain}.object-cover{object-fit:cover}
.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}

/* --- Misc --- */
.opacity-0{opacity:0}.opacity-60{opacity:0.6}.opacity-80{opacity:0.8}.opacity-100{opacity:1}
.invisible{visibility:hidden}.visible{visibility:visible}
.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}
.resize-none{resize:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}
.select-none{-webkit-user-select:none;user-select:none}
.backdrop-blur\[2px\]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.snap-x{scroll-snap-type:x mandatory}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}

/* --- Custom app classes --- */
.gradient-primary{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%)}
.gradient-accent{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)}
.glass-card{background:rgba(255,255,255,0.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2)}
.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
.grid-responsive{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1rem}
.toast{position:fixed;top:20px;right:20px;z-index:9999;transform:translateX(120%);transition:transform 0.3s ease}.toast.show{transform:translateX(0)}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.animate-slide-up{animation:slideUp 0.3s ease-out forwards}
.product-card{transition:all .3s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,0.1)}
.store-card{transition:all .3s ease}.store-card:hover{transform:translateY(-2px)}
.safe-area-pb{padding-bottom:env(safe-area-inset-bottom,0)}

/* --- Peer toggle --- */
.peer:checked ~ .peer-checked\:bg-green-600{background:#16a34a}

/* --- Focus visible --- */
.focus-visible\:outline-none:focus-visible{outline:0}

/* --- Disabled --- */
.disabled\:opacity-50:disabled,.disabled\:opacity-60:disabled,.disabled\:cursor-not-allowed:disabled{opacity:0.5;cursor:not-allowed}

/* --- Mobile touch improvements --- */
@media(max-width:640px){button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}.mobile-padding{padding:0.75rem}.mobile-gap{gap:0.75rem}}

/* ============================================
   Bootstrap 5 Compatibility Classes
   (Self-hosted fallback when Bootstrap CDN is blocked)
   ============================================ */

/* --- Cards --- */
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.75rem}
.card-body{flex:1 1 auto;padding:1.25rem}
.card-header{padding:.75rem 1.25rem;margin-bottom:0;background:#f9fafb;border-bottom:1px solid rgba(0,0,0,.125)}
.card-footer{padding:.75rem 1.25rem;background:#f9fafb;border-top:1px solid rgba(0,0,0,.125)}

/* --- Tables --- */
.table{width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}
.table>:not(caption)>*>*{padding:.5rem;border-bottom-width:1px}
.table-striped>tbody>tr:nth-of-type(odd){background:rgba(0,0,0,.02)}
.table-bordered>:not(caption)>*{border-width:1px 0}

/* --- Buttons --- */
.btn{display:inline-block;font-weight:500;line-height:1.5;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;border:1px solid transparent;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.btn:hover{opacity:.9}
.btn-primary{color:#fff;background:#16a34a;border-color:#16a34a}
.btn-secondary{color:#fff;background:#6b7280;border-color:#6b7280}
.btn-success{color:#fff;background:#16a34a;border-color:#16a34a}
.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}
.btn-warning{color:#000;background:#f59e0b;border-color:#f59e0b}
.btn-info{color:#fff;background:#0ea5e9;border-color:#0ea5e9}
.btn-light{color:#000;background:#f9fafb;border-color:#f9fafb}
.btn-dark{color:#fff;background:#1f2937;border-color:#1f2937}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}
.btn-lg{padding:.5rem 1rem;font-size:1.125rem;border-radius:.5rem}

/* --- Form Controls --- */
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background:#fff;background-clip:padding-box;border:1px solid #d1d5db;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.form-control:focus{color:#212529;background:#fff;border-color:#86efac;outline:0;box-shadow:0 0 0 .2rem rgba(22,163,74,.25)}
.form-label{margin-bottom:.5rem;font-weight:500}
.form-text{display:block;margin-top:.25rem;font-size:.875em;color:#6c757d}
.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px;border:1px solid #d1d5db;border-radius:.375rem;appearance:none}
.form-select:focus{border-color:#86efac;outline:0;box-shadow:0 0 0 .2rem rgba(22,163,74,.25)}

/* --- Alerts --- */
.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem}
.alert-success{color:#155724;background:#d4edda;border-color:#c3e6cb}
.alert-danger{color:#721c24;background:#f8d7da;border-color:#f5c6cb}
.alert-warning{color:#856404;background:#fff3cd;border-color:#ffeeba}
.alert-info{color:#0c5460;background:#d1ecf1;border-color:#bee5eb}

/* --- Badges --- */
.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}
.badge-primary{color:#fff;background:#16a34a}
.badge-secondary{color:#fff;background:#6b7280}
.badge-success{color:#fff;background:#16a34a}
.badge-danger{color:#fff;background:#dc2626}
.badge-warning{color:#000;background:#f59e0b}
.badge-info{color:#fff;background:#0ea5e9}

/* --- Pagination --- */
.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}
.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}
.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}
.page-item.active .page-link{z-index:3;color:#fff;background:#16a34a;border-color:#16a34a}
.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background:#fff;border-color:#dee2e6}
.page-link{position:relative;display:block;padding:.375rem .75rem;margin-left:-1px;line-height:1.25;color:#16a34a;background:#fff;border:1px solid #dee2e6}
.page-link:hover{z-index:2;color:#15803d;text-decoration:none;background:#e9ecef;border-color:#dee2e6}

/* --- Input Group --- */
.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0}
.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background:#e9ecef;border:1px solid #d1d5db;border-radius:.375rem}

/* --- Nav --- */
.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}
.nav-link{display:block;padding:.5rem 1rem;color:#16a34a;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}
.nav-link:hover,.nav-link:focus{color:#15803d}
.nav-tabs{border-bottom:1px solid #dee2e6}
.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}
.nav-tabs .nav-link.active{color:#495057;background:#fff;border-color:#dee2e6 #dee2e6 #fff}
.nav-pills .nav-link.active{color:#fff;background:#16a34a}

/* --- Navbar --- */
.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}
.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}
.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}
.navbar-text{padding-top:.5rem;padding-bottom:.5rem}

/* --- List Group --- */
.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}
.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background:#fff;border:1px solid rgba(0,0,0,.125)}
.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}
.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}
.list-group-item.active{z-index:2;color:#fff;background:#16a34a;border-color:#16a34a}

/* --- Progress --- */
.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background:#e9ecef;border-radius:.25rem}
.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background:#16a34a;transition:width .6s ease}

/* --- Spinner --- */
.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}
@keyframes spinner-border{to{transform:rotate(360deg)}}
.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}
@keyframes spinner-grow{50%{opacity:1}}

/* --- Dropdown --- */
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.375rem}
.dropdown-menu.show{display:block}
.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background:0 0;border:0}
.dropdown-item:hover,.dropdown-item:focus{color:#16181b;background:#f8f9fa}
.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}

/* --- Modal --- */
.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}
.modal.show{display:block}
.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.5rem;outline:0}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.5rem;border-top-right-radius:.5rem}
.modal-body{position:relative;flex:1 1 auto;padding:1rem}
.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6}
.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background:#000}
.modal-backdrop.show{opacity:.5}

/* --- Width/Height --- */
.w-80{width:20rem}.w-96{width:24rem}
.h-80{height:20rem}.h-96{height:24rem}

/* --- Gradient Stops --- */
.from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(156,163,175,0))}
.to-gray-500{--tw-gradient-to:#6b7280}

/* --- Container --- */
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}
@media(min-width:576px){.container{max-width:540px}}
@media(min-width:768px){.container{max-width:720px}}
@media(min-width:992px){.container{max-width:960px}}
@media(min-width:1200px){.container{max-width:1140px}}

/* --- Row/Col --- */
.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}
.col{flex-basis:0;flex-grow:1;max-width:100%}
.col-auto{flex:0 0 auto;width:auto;max-width:100%}
.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}
@media(min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-1{flex:0 0 8.33333%}.col-sm-2{flex:0 0 16.66667%}.col-sm-3{flex:0 0 25%}.col-sm-4{flex:0 0 33.33333%}.col-sm-5{flex:0 0 41.66667%}.col-sm-6{flex:0 0 50%}.col-sm-7{flex:0 0 58.33333%}.col-sm-8{flex:0 0 66.66667%}.col-sm-9{flex:0 0 75%}.col-sm-10{flex:0 0 83.33333%}.col-sm-11{flex:0 0 91.66667%}.col-sm-12{flex:0 0 100%}}
@media(min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-1{flex:0 0 8.33333%}.col-md-2{flex:0 0 16.66667%}.col-md-3{flex:0 0 25%}.col-md-4{flex:0 0 33.33333%}.col-md-5{flex:0 0 41.66667%}.col-md-6{flex:0 0 50%}.col-md-7{flex:0 0 58.33333%}.col-md-8{flex:0 0 66.66667%}.col-md-9{flex:0 0 75%}.col-md-10{flex:0 0 83.33333%}.col-md-11{flex:0 0 91.66667%}.col-md-12{flex:0 0 100%}}
@media(min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-1{flex:0 0 8.33333%}.col-lg-2{flex:0 0 16.66667%}.col-lg-3{flex:0 0 25%}.col-lg-4{flex:0 0 33.33333%}.col-lg-5{flex:0 0 41.66667%}.col-lg-6{flex:0 0 50%}.col-lg-7{flex:0 0 58.33333%}.col-lg-8{flex:0 0 66.66667%}.col-lg-9{flex:0 0 75%}.col-lg-10{flex:0 0 83.33333%}.col-lg-11{flex:0 0 91.66667%}.col-lg-12{flex:0 0 100%}}

/* --- Bootstrap text/bg utility colors --- */
.text-primary{color:#16a34a!important}.text-secondary{color:#6b7280!important}.text-success{color:#16a34a!important}.text-danger{color:#dc2626!important}.text-warning{color:#f59e0b!important}.text-info{color:#0ea5e9!important}.text-light{color:#f9fafb!important}.text-dark{color:#1f2937!important}.text-muted{color:#6c757d!important}.text-body{color:#212529!important}
.bg-primary{background:#16a34a!important}.bg-secondary{background:#6b7280!important}.bg-success{background:#16a34a!important}.bg-danger{background:#dc2626!important}.bg-warning{background:#f59e0b!important}.bg-info{background:#0ea5e9!important}.bg-light{background:#f9fafb!important}.bg-dark{background:#1f2937!important}.bg-transparent{background:transparent!important}

/* --- Utility classes used by admin --- */
.lead{font-size:1.25rem;font-weight:300}
.display-1{font-size:6rem;font-weight:300;line-height:1.2}
.small{font-size:.875em}
.img-fluid{max-width:100%;height:auto}
.figure{display:inline-block}
.blockquote{margin-bottom:1rem;font-size:1.25rem}
pre{display:block;font-size:.875em;color:#212529}
.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
code{font-size:.875em;color:#e83e8c;word-wrap:break-word}
kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background:#212529;border-radius:.2rem}

/* --- Additional Width/Height --- */
.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}
.h-72{height:18rem}.h-80{height:20rem}.h-96{height:24rem}

/* --- Arbitrary Text Sizes --- */
.text-\[6px\]{font-size:6px;line-height:6px}.text-\[7px\]{font-size:7px;line-height:7px}.text-\[8px\]{font-size:8px;line-height:8px}.text-\[9px\]{font-size:9px;line-height:9px}.text-\[10px\]{font-size:10px;line-height:10px}.text-\[11px\]{font-size:11px;line-height:11px}.text-\[12px\]{font-size:12px;line-height:12px}.text-\[13px\]{font-size:13px;line-height:13px}.text-\[14px\]{font-size:14px;line-height:14px}.text-\[15px\]{font-size:15px;line-height:15px}.text-\[18px\]{font-size:18px;line-height:18px}.text-\[22px\]{font-size:22px;line-height:22px}.text-\[26px\]{font-size:26px;line-height:26px}.text-\[32px\]{font-size:32px;line-height:32px}.text-\[38px\]{font-size:38px;line-height:38px}.text-\[42px\]{font-size:42px;line-height:42px}.text-\[48px\]{font-size:48px;line-height:48px}.text-\[54px\]{font-size:54px;line-height:54px}.text-\[64px\]{font-size:64px;line-height:64px}.text-\[72px\]{font-size:72px;line-height:72px}.text-\[80px\]{font-size:80px;line-height:80px}.text-\[100px\]{font-size:100px;line-height:100px}.text-\[120px\]{font-size:120px;line-height:120px}

/* --- Min/Max Width/Height --- */
.min-w-\[18px\]{min-width:18px}.min-w-\[50px\]{min-width:50px}.min-w-\[80px\]{min-width:80px}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[250px\]{min-width:250px}.min-w-\[300px\]{min-width:300px}.min-w-\[400px\]{min-width:400px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.min-w-\[700px\]{min-width:700px}.min-w-\[800px\]{min-width:800px}.min-w-\[900px\]{min-width:900px}
.max-w-\[10px\]{max-width:10px}.max-w-\[18px\]{max-width:18px}.max-w-\[20px\]{max-width:20px}.max-w-\[30px\]{max-width:30px}.max-w-\[40px\]{max-width:40px}.max-w-\[50px\]{max-width:50px}.max-w-\[60px\]{max-width:60px}.max-w-\[70px\]{max-width:70px}.max-w-\[80px\]{max-width:80px}.max-w-\[90px\]{max-width:90px}.max-w-\[100px\]{max-width:100px}.max-w-\[110px\]{max-width:110px}.max-w-\[120px\]{max-width:120px}.max-w-\[130px\]{max-width:130px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[170px\]{max-width:170px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[250px\]{max-width:250px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[320px\]{max-width:320px}.max-w-\[350px\]{max-width:350px}.max-w-\[400px\]{max-width:400px}.max-w-\[450px\]{max-width:450px}.max-w-\[480px\]{max-width:480px}.max-w-\[500px\]{max-width:500px}.max-w-\[600px\]{max-width:600px}
.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[50px\]{min-height:50px}.min-h-\[60px\]{min-height:60px}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[150px\]{min-height:150px}.min-h-\[160px\]{min-height:160px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-\[280px\]{min-height:280px}.min-h-\[300px\]{min-height:300px}.min-h-\[320px\]{min-height:320px}.min-h-\[360px\]{min-height:360px}.min-h-\[400px\]{min-height:400px}.min-h-\[440px\]{min-height:440px}.min-h-\[480px\]{min-height:480px}.min-h-\[500px\]{min-height:500px}.min-h-\[600px\]{min-height:600px}
.max-h-\[40px\]{max-height:40px}.max-h-\[50px\]{max-height:50px}.max-h-\[60px\]{max-height:60px}.max-h-\[80px\]{max-height:80px}.max-h-\[100px\]{max-height:100px}.max-h-\[120px\]{max-height:120px}.max-h-\[150px\]{max-height:150px}.max-h-\[160px\]{max-height:160px}.max-h-\[180px\]{max-height:180px}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[360px\]{max-height:360px}.max-h-\[400px\]{max-height:400px}.max-h-\[440px\]{max-height:440px}.max-h-\[480px\]{max-height:480px}.max-h-\[500px\]{max-height:500px}.max-h-\[600px\]{max-height:600px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95vh\]{max-height:95vh}

/* --- Shadow Utilities --- */
.shadow-\[0_-2px_10px_rgba\(0\,0\,0\,0\.1\)\]{box-shadow:0 -2px 10px rgba(0,0,0,0.1)}.shadow-\[0_-4px_20px_rgba\(0\,0\,0\,0\.15\)\]{box-shadow:0 -4px 20px rgba(0,0,0,0.15)}.shadow-\[0_-4px_20px_rgba\(0\,0\,0\,0\.1\)\]{box-shadow:0 -4px 20px rgba(0,0,0,0.1)}.shadow-\[0_2px_15px_-3px_rgba\(0\,0\,0\,0\.07\)\]{box-shadow:0 2px 15px -3px rgba(0,0,0,0.07)}.shadow-\[0_10px_40px_-10px_rgba\(0\,0\,0\,0\.15\)\]{box-shadow:0 10px 40px -10px rgba(0,0,0,0.15)}

/* --- Ring Utilities --- */
.ring-0{box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1{box-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{box-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{box-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-8{box-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring{box-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}
.ring-inset{--tw-ring-inset:inset}.ring-white{--tw-ring-color:#fff}.ring-black{--tw-ring-color:#000}.ring-gray-200{--tw-ring-color:#e5e7eb}.ring-gray-300{--tw-ring-color:#d1d5db}.ring-green-500{--tw-ring-color:#22c55e}.ring-green-600{--tw-ring-color:#16a34a}.ring-blue-500{--tw-ring-color:#3b82f6}.ring-blue-600{--tw-ring-color:#2563eb}.ring-red-500{--tw-ring-color:#ef4444}.ring-yellow-500{--tw-ring-color:#eab308}
.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-4{--tw-ring-offset-width:4px}.ring-offset-white{--tw-ring-offset-color:#fff}.ring-offset-gray-300{--tw-ring-offset-color:#d1d5db}
.ring-opacity-0{--tw-ring-opacity:0}.ring-opacity-5{--tw-ring-opacity:0.05}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-opacity-20{--tw-ring-opacity:0.2}.ring-opacity-25{--tw-ring-opacity:0.25}.ring-opacity-50{--tw-ring-opacity:0.5}.ring-opacity-75{--tw-ring-opacity:0.75}

/* --- Divide Utilities --- */
.divide-y > * + *{border-top-width:1px}.divide-x > * + *{border-left-width:1px}
.divide-gray-50 > * + *{border-color:#f9fafb}.divide-gray-100 > * + *{border-color:#f3f4f6}.divide-gray-200 > * + *{border-color:#e5e7eb}.divide-gray-300 > * + *{border-color:#d1d5db}
.divide-green-100 > * + *{border-color:#dcfce7}.divide-green-200 > * + *{border-color:#bbf7d0}

/* --- Line Clamp --- */
.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.line-clamp-5{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5}

/* --- Filter & Backdrop --- */
.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}
.blur-0{--tw-blur:blur(0)}.blur-sm{--tw-blur:blur(4px)}.blur{--tw-blur:blur(8px)}.blur-md{--tw-blur:blur(12px)}.blur-lg{--tw-blur:blur(16px)}.blur-xl{--tw-blur:blur(24px)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}
.brightness-0{--tw-brightness:brightness(0)}.brightness-50{--tw-brightness:brightness(.5)}.brightness-75{--tw-brightness:brightness(.75)}.brightness-90{--tw-brightness:brightness(.9)}.brightness-95{--tw-brightness:brightness(.95)}.brightness-100{--tw-brightness:brightness(1)}.brightness-105{--tw-brightness:brightness(1.05)}.brightness-110{--tw-brightness:brightness(1.1)}.brightness-125{--tw-brightness:brightness(1.25)}.brightness-150{--tw-brightness:brightness(1.5)}.brightness-200{--tw-brightness:brightness(2)}
.contrast-0{--tw-contrast:contrast(0)}.contrast-50{--tw-contrast:contrast(.5)}.contrast-75{--tw-contrast:contrast(.75)}.contrast-100{--tw-contrast:contrast(1)}.contrast-125{--tw-contrast:contrast(1.25)}.contrast-150{--tw-contrast:contrast(1.5)}.contrast-200{--tw-contrast:contrast(2)}
.grayscale-0{--tw-grayscale:grayscale(0)}.grayscale{--tw-grayscale:grayscale(100%)}
.invert-0{--tw-invert:invert(0)}.invert{--tw-invert:invert(100%)}
.saturate-0{--tw-saturate:saturate(0)}.saturate-50{--tw-saturate:saturate(.5)}.saturate-100{--tw-saturate:saturate(1)}.saturate-150{--tw-saturate:saturate(1.5)}.saturate-200{--tw-saturate:saturate(2)}
.sepia-0{--tw-sepia:sepia(0)}.sepia{--tw-sepia:sepia(100%)}
.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px rgba(0,0,0,.04)) drop-shadow(0 4px 3px rgba(0,0,0,.1))}
.backdrop-blur-0{--tw-backdrop-blur:blur(0)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px)}
.backdrop-brightness-0{--tw-backdrop-brightness:brightness(0)}.backdrop-brightness-50{--tw-backdrop-brightness:brightness(.5)}.backdrop-brightness-75{--tw-backdrop-brightness:brightness(.75)}.backdrop-brightness-90{--tw-backdrop-brightness:brightness(.9)}.backdrop-brightness-100{--tw-backdrop-brightness:brightness(1)}.backdrop-brightness-110{--tw-backdrop-brightness:brightness(1.1)}.backdrop-brightness-125{--tw-backdrop-brightness:brightness(1.25)}
.backdrop-contrast-0{--tw-backdrop-contrast:contrast(0)}.backdrop-contrast-50{--tw-backdrop-contrast:contrast(.5)}.backdrop-contrast-75{--tw-backdrop-contrast:contrast(.75)}.backdrop-contrast-100{--tw-backdrop-contrast:contrast(1)}.backdrop-contrast-125{--tw-backdrop-contrast:contrast(1.25)}
.backdrop-grayscale-0{--tw-backdrop-grayscale:grayscale(0)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}
.backdrop-invert-0{--tw-backdrop-invert:invert(0)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}
.backdrop-opacity-0{--tw-backdrop-opacity:opacity(0)}.backdrop-opacity-10{--tw-backdrop-opacity:opacity(.1)}.backdrop-opacity-20{--tw-backdrop-opacity:opacity(.2)}.backdrop-opacity-25{--tw-backdrop-opacity:opacity(.25)}.backdrop-opacity-30{--tw-backdrop-opacity:opacity(.3)}.backdrop-opacity-40{--tw-backdrop-opacity:opacity(.4)}.backdrop-opacity-50{--tw-backdrop-opacity:opacity(.5)}.backdrop-opacity-60{--tw-backdrop-opacity:opacity(.6)}.backdrop-opacity-70{--tw-backdrop-opacity:opacity(.7)}.backdrop-opacity-75{--tw-backdrop-opacity:opacity(.75)}.backdrop-opacity-80{--tw-backdrop-opacity:opacity(.8)}.backdrop-opacity-90{--tw-backdrop-opacity:opacity(.9)}.backdrop-opacity-100{--tw-backdrop-opacity:opacity(1)}
.backdrop-saturate-0{--tw-backdrop-saturate:saturate(0)}.backdrop-saturate-50{--tw-backdrop-saturate:saturate(.5)}.backdrop-saturate-100{--tw-backdrop-saturate:saturate(1)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.backdrop-saturate-200{--tw-backdrop-saturate:saturate(2)}
.backdrop-sepia-0{--tw-backdrop-sepia:sepia(0)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}

/* --- Outline --- */
.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0px}.outline-1{outline-width:1px}.outline-2{outline-width:2px}.outline-4{outline-width:4px}.outline-8{outline-width:8px}
.outline-white{outline-color:#fff}.outline-black{outline-color:#000}.outline-gray-200{outline-color:#e5e7eb}.outline-gray-300{outline-color:#d1d5db}.outline-gray-400{outline-color:#9ca3af}.outline-green-500{outline-color:#22c55e}.outline-blue-500{outline-color:#3b82f6}.outline-red-500{outline-color:#ef4444}
.outline-offset-0{outline-offset:0px}.outline-offset-1{outline-offset:1px}.outline-offset-2{outline-offset:2px}.outline-offset-4{outline-offset:4px}

/* --- Order --- */
.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}

/* --- Grow/Shrink/Basis --- */
.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}
.basis-0{flex-basis:0px}.basis-1{flex-basis:0.25rem}.basis-1\/2{flex-basis:50%}.basis-1\/3{flex-basis:33.333333%}.basis-1\/4{flex-basis:25%}.basis-2{flex-basis:0.5rem}.basis-3{flex-basis:0.75rem}.basis-4{flex-basis:1rem}.basis-5{flex-basis:1.25rem}.basis-6{flex-basis:1.5rem}.basis-7{flex-basis:1.75rem}.basis-8{flex-basis:2rem}.basis-10{flex-basis:2.5rem}.basis-12{flex-basis:3rem}.basis-14{flex-basis:3.5rem}.basis-16{flex-basis:4rem}.basis-20{flex-basis:5rem}.basis-24{flex-basis:6rem}.basis-28{flex-basis:7rem}.basis-32{flex-basis:8rem}.basis-36{flex-basis:9rem}.basis-40{flex-basis:10rem}.basis-44{flex-basis:11rem}.basis-48{flex-basis:12rem}.basis-52{flex-basis:13rem}.basis-56{flex-basis:14rem}.basis-60{flex-basis:15rem}.basis-64{flex-basis:16rem}.basis-72{flex-basis:18rem}.basis-80{flex-basis:20rem}.basis-96{flex-basis:24rem}.basis-auto{flex-basis:auto}.basis-full{flex-basis:100%}

/* --- Columns --- */
.columns-1{columns:1}.columns-2{columns:2}.columns-3{columns:3}.columns-4{columns:4}.columns-5{columns:5}.columns-6{columns:6}.columns-7{columns:7}.columns-8{columns:8}.columns-9{columns:9}.columns-10{columns:10}.columns-11{columns:11}.columns-12{columns:12}
.columns-xs{columns:16rem}.columns-sm{columns:24rem}.columns-md{columns:32rem}.columns-lg{columns:48rem}.columns-xl{columns:64rem}.columns-2xl{columns:72rem}.columns-3xl{columns:80rem}.columns-4xl{columns:96rem}.columns-5xl{columns:112rem}

/* --- Overscroll --- */
.overscroll-auto{overscroll-behavior:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}
.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}
.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}

/* --- Gradient Stops (additional) --- */
.from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(156,163,175,0))}
.to-gray-500{--tw-gradient-to:#6b7280}
.from-lime-500{--tw-gradient-from:#84cc16}.to-lime-500{--tw-gradient-to:#84cc16}
.from-sky-500{--tw-gradient-from:#0ea5e9}.to-sky-500{--tw-gradient-to:#0ea5e9}
.from-fuchsia-500{--tw-gradient-from:#d946ef}.to-fuchsia-500{--tw-gradient-to:#d946ef}
.from-rose-500{--tw-gradient-from:#f43f5e}.to-rose-500{--tw-gradient-to:#f43f5e}
.from-cyan-500{--tw-gradient-from:#06b6d4}.to-cyan-500{--tw-gradient-to:#06b6d4}
.from-violet-500{--tw-gradient-from:#8b5cf6}.to-violet-500{--tw-gradient-to:#8b5cf6}

/* --- Break --- */
.break-words{overflow-wrap:break-word}.break-normal{overflow-wrap:normal;word-break:normal}.break-all{word-break:break-all}.break-keep{word-break:keep-all}

/* --- Overflow --- */
.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-hidden{overflow-x:hidden}.overflow-y-scroll{overflow-y:scroll}

/* --- Z-index --- */
.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}
