:root{
  --brand-50:#f5f8fc; --brand-100:#e9f0fb; --brand-200:#d3e1f7;
  --brand-300:#b6cef1; --brand-400:#86aee6; --brand-500:#4f86d9;
  --brand-600:#2e6fcf; --brand-700:#2359a8; --brand-800:#1d457f; --brand-900:#17355f;
  --ink-900:#0f172a; --ink-700:#334155; --ink-500:#64748b; --ink-100:#f1f5f9;
  --radius-sm:.5rem; --radius-lg:1.25rem; --shadow-sm:0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 4px 14px rgba(2,6,23,.08); --focus:0 0 0 3px rgba(79,134,217,.25);
}
body{ background:linear-gradient(180deg,var(--brand-50),#fff 22%); }
.card{ border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); border-color:#eef2f7; }
.card:hover{ box-shadow:var(--shadow-md); transition:.2s ease; background-color:#E4E4EF; }
.btn-primary{ background:var(--brand-700); border-color:var(--brand-700); }
.btn-primary:hover{ background:var(--brand-800); border-color:var(--brand-800); }
.table-sm th{ background:var(--ink-100); color:var(--ink-700); font-weight:600; }
.form-control,.form-select{ border-radius:var(--radius-sm); }
.form-control:focus,.form-select:focus{ box-shadow:var(--focus); border-color:var(--brand-500); }
.empty{ border:1px dashed #cbd5e1; border-radius:var(--radius-lg); padding:2rem; color:var(--ink-500); }
