:root{
  --bs-primary:#4f46e5;
  --bs-primary-rgb:79,70,229;
  --brand:#4f46e5;
  --brand-2:#7c3aed;
  --accent:#0ea5e9;
  --ink:#1f2430;
  --surface:#ffffff;
  --surface-2:#f6f7fb;
  --line:#e6e8ef;
}
body{background:var(--surface-2);color:var(--ink);}
a{color:var(--brand);}
.app-nav{background:var(--surface);border-bottom:1px solid var(--line);}
.brand-badge{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));}
.navbar-brand{color:var(--ink);}
.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#4338ca;--bs-btn-hover-border-color:#4338ca;--bs-btn-active-bg:#3730a3;}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);}
.text-primary{color:var(--brand)!important;}
.chip{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);font-weight:600;padding:.4rem .7rem;border-radius:999px;}
.ic{vertical-align:-2px;}
.card,.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;}
.feature-card{padding:1.25rem;box-shadow:0 6px 20px -14px rgba(31,36,48,.35);transition:transform .2s ease,box-shadow .2s ease;}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(79,70,229,.45);}
.feature-ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));}
.app-footer{border-top:1px solid var(--line);margin-top:2rem;}
.auth-card{max-width:420px;margin:2rem auto;}
.med-card{border-radius:16px;}
.stat-tile{border-radius:14px;border:1px solid var(--line);background:var(--surface);padding:1rem 1.2rem;}
.stat-tile .val{font-size:1.6rem;font-weight:700;line-height:1;}
