/* Enhanced responsive CSS (handcrafted Tailwind-like utilities subset) */
:root{--primary:#07C98B;--accent:#065F46;--muted:#6b7280;--bg:#f8fafc;--card:#ffffff}
*{box-sizing:border-box}html,body{height:100%}body{font-family:Inter,system-ui,Arial,sans-serif;margin:0;background:var(--bg);color:#0f172a;-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:16px}
.header{background:var(--primary);color:#fff;padding:12px 16px}
.grid{display:grid;gap:16px}
.cols-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1024px){ .cols-3{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .cols-3{grid-template-columns:1fr} .container{padding:12px} }
.card{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 6px 18px rgba(2,6,23,0.06)}
.text-sm{font-size:0.875rem;color:var(--muted)}
.text-lg{font-size:1.125rem}
.btn{display:inline-block;padding:10px 14px;border-radius:8px;background:var(--primary);color:#fff;font-weight:600}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid #f1f5f9;text-align:left}
.table th{font-size:0.775rem;color:#64748b;text-transform:uppercase;letter-spacing:0.03em}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eefbf5;color:#064e3b;font-weight:600;font-size:0.75rem}
.flex{display:flex;align-items:center}
.justify-between{justify-content:space-between}
.center{display:flex;align-items:center;justify-content:center}
.mt-4{margin-top:1rem}
.mb-4{margin-bottom:1rem}
.p-4{padding:1rem}
.rounded{border-radius:8px}
.shadow{box-shadow:0 8px 24px rgba(2,6,23,0.08)}
.progress{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden}
.progress > span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#06b27f);}
/* mobile table -> card stack */
@media (max-width:640px){
  .table-responsive{display:block}
  .table tr{display:block;margin-bottom:12px;border-radius:8px;background:#fff;padding:10px;box-shadow:0 4px 10px rgba(2,6,23,0.04)}
  .table td{display:flex;justify-content:space-between;padding:6px 0;border-bottom:none}
  .table th{display:none}
}
/* utilities */
.text-right{text-align:right}
.bad{color:#b91c1c}
.small{font-size:0.75rem;color:#94a3b8}