/* Minimal Tailwind-compatible utility CSS — only classes used by dashboard */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,sans-serif;line-height:1.5}

/* Layout */
.flex{display:flex}.grid{display:grid}.block{display:block}.hidden{display:none}.inline{display:inline}
.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.flex-1{flex:1 1 0%}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}
.inset-0{top:0;right:0;bottom:0;left:0}.top-4{top:1rem}.right-4{right:1rem}
.z-50{z-index:50}

/* Sizing */
.w-full{width:100%}.h-2{height:.5rem}.h-full{height:100%}
.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-lg{max-width:32rem}.max-w-6xl{max-width:72rem}
.min-h-screen{min-height:100vh}.max-h-\[80vh\]{max-height:80vh}

/* Spacing */
.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}
.mb-1{margin-bottom:.25rem}.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-3{margin-top:.75rem}.mt-4{margin-top:1rem}
.mx-auto{margin-left:auto;margin-right:auto}.ml-2{margin-left:.5rem}

/* Typography */
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.font-mono{font-family:ui-monospace,monospace}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}
.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}

/* Colors */
.text-white{color:#fff}
.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}
.text-green-300{color:#86efac}.text-green-400{color:#4ade80}
.text-red-400{color:#f87171}
.bg-blue-600{background:#2563eb}.bg-blue-500{background:#3b82f6}
.bg-green-600{background:#16a34a}.bg-green-700{background:#15803d}.bg-green-600{background:#16a34a}
.bg-red-600{background:#dc2626}.bg-red-800{background:#991b1b}.bg-red-900{background:#7f1d1d}
.bg-gray-600{background:#4b5563}.bg-gray-700{background:#374151}.bg-gray-800{background:#1f2937}
.bg-purple-600{background:#9333ea}.bg-purple-700{background:#7e22ce}
.bg-blue-700{background:#1d4ed8}

/* Borders & Radius */
.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}
.border{border-width:1px}.border-b{border-bottom-width:1px}
.border-gray-700{border-color:#374151}.border-gray-800{border-color:#1f2937}

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

/* Table */
table{width:100%;border-collapse:collapse}
th,td{text-align:left}

/* Hover */
.hover\:bg-blue-500:hover{background:#3b82f6}
.hover\:bg-blue-600:hover{background:#2563eb}
.hover\:bg-gray-600:hover{background:#4b5563}
.hover\:bg-gray-700:hover{background:#374151}
.hover\:bg-green-600:hover{background:#16a34a}
.hover\:bg-red-800:hover{background:#991b1b}
.hover\:bg-purple-600:hover{background:#9333ea}
.hover\:bg-gray-800\/50:hover{background:rgba(31,41,55,.5)}

/* Responsive */
@media(min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
