/* Tailwind base placeholder file per design_tasks.md Phase 1.
   Note: This project may not have Tailwind compilation enabled yet.
   We define CSS that mirrors intended utility using regular CSS so nothing breaks. */

/* Base typography and links */
body {
  color: #0f172a; /* slate-900 */
  background-color: #f8fafc; /* slate-50 */
  font-size: 0.875rem; /* text-sm */
}

a { color: #2563eb; text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3 { color: #0f172a; font-weight: 700; }
h1 { font-size: 1.5rem; }
h2 { font-size: 1.25rem; }
h3 { font-size: 1.125rem; }

/* Components */
.btn { display: inline-flex; align-items: center; gap: 0.375rem; border-radius: 0.5rem; padding: 0.5rem 0.75rem; font-weight: 600; }
.btn-primary { background: #2563eb; color: #fff; border: 1px solid #1d4ed8; }
.btn-primary:hover { background: #1d4ed8; }
.btn-secondary { background: #e2e8f0; color: #0f172a; border: 1px solid #cbd5e1; }
.btn-secondary:hover { background: #cbd5e1; }
.btn-danger { background: #ef4444; color: #fff; border: 1px solid #dc2626; }
.btn-danger:hover { background: #dc2626; }

.card { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 0.75rem; }
.card-header { padding: 0.75rem 1rem; border-bottom: 1px solid #e5e7eb; font-weight: 600; color: #0f172a; }
.card-body { padding: 1rem; }

.table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.875rem; }
.table th { text-align: left; font-weight: 600; color: #475569; padding: 0.5rem 0.75rem; border-bottom: 1px solid #e5e7eb; background: #f8fafc; }
.table td { padding: 0.5rem 0.75rem; border-bottom: 1px solid #e5e7eb; }
.table .numeric { text-align: right; }

.badge { display: inline-block; padding: 0.125rem 0.5rem; border-radius: 999px; font-size: 0.75rem; }
.badge.success { background: #dcfce7; color: #166534; }
.badge.warning { background: #fef9c3; color: #854d0e; }
.badge.danger { background: #fee2e2; color: #991b1b; }
.badge.info { background: #dbeafe; color: #1e3a8a; }

.input, .select, .textarea { width: 100%; border: 1px solid #e5e7eb; border-radius: 0.5rem; padding: 0.5rem 0.75rem; }
.form-label { display: block; color: #334155; font-size: 0.75rem; margin-bottom: 0.25rem; }
.form-help { color: #64748b; font-size: 0.75rem; margin-top: 0.25rem; }
.form-error { color: #b91c1c; font-size: 0.75rem; margin-top: 0.25rem; }

/* Shell sizing per spec */
.app-shell { background-color: #f8fafc; }
.app-shell__content { padding: 1.5rem; }
.container-7xl { max-width: 80rem; margin-left: auto; margin-right: auto; }
.w-64 { width: 16rem; }
