/* KerrBrindes — shared design tokens & base components.
   Loaded by every layout (site, admin, auth) so the whole app speaks the
   same visual language. Page-specific stylesheets (site.css/admin.css/
   auth.css) build on these tokens instead of redefining their own. */

:root{
  --brand:#3730a3;
  --brand-dark:#2c2680;
  --brand-light:#eef2ff;
  --accent:#f97316;
  --accent-dark:#ea580c;
  --accent-light:#fff7ed;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --soft:#f8fafc;
  --panel:#ffffff;
  --success:#16a34a;
  --success-soft:#dcfce7;
  --warning:#f59e0b;
  --warning-soft:#fef3c7;
  --danger:#dc2626;
  --danger-soft:#fee2e2;
  --info:#0ea5e9;
  --info-soft:#e0f2fe;
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:28px;
  --shadow-sm:0 8px 24px rgba(15,23,42,.06);
  --shadow:0 16px 44px rgba(15,23,42,.09);
  --shadow-lg:0 28px 70px rgba(15,23,42,.14);
  --font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}

body{
  font-family:var(--font-sans);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:var(--brand)}

/* Buttons — layered on top of Bootstrap's .btn */
.btn{font-weight:700;letter-spacing:-.01em}
.btn-brand{background:var(--brand);border:1px solid var(--brand);color:#fff}
.btn-brand:hover,.btn-brand:focus{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.btn-accent{background:var(--accent);border:1px solid var(--accent);color:#fff}
.btn-accent:hover,.btn-accent:focus{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.btn-soft{background:#fff;border:1px solid var(--line);font-weight:700;color:var(--brand)}
.btn-soft:hover{background:var(--soft);border-color:#cbd5e1;color:var(--brand)}
.btn-dark{background:var(--ink);border-color:var(--ink)}
.btn-dark:hover,.btn-dark:focus{background:#020617;border-color:#020617}
.btn-outline-dark{color:var(--ink);border-color:var(--line)}
.btn-outline-dark:hover{background:var(--ink);border-color:var(--ink)}

/* Forms */
.form-control,.form-select{
  border-radius:var(--radius-sm);
  border-color:var(--line);
}
.form-control:focus,.form-select:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 .2rem rgba(55,48,163,.14);
}
.form-label{font-weight:700;color:#344054}

/* Badges */
.badge-soft{border-radius:999px;padding:5px 11px;font-size:.72rem;font-weight:800;background:#f1f2f8;color:#344054}
.badge-soft.success{background:var(--success-soft);color:#166534}
.badge-soft.warning{background:var(--warning-soft);color:#92400e}
.badge-soft.danger{background:var(--danger-soft);color:#991b1b}
.badge-soft.info{background:var(--info-soft);color:#0369a1}

/* Alerts */
.alert{border-radius:16px;border-width:1px;font-size:.9rem}
.alert-success{background:var(--success-soft);border-color:#bbf7d0;color:#14532d}
.alert-danger{background:var(--danger-soft);border-color:#fecaca;color:#7f1d1d}

/* Tables */
.table>:not(caption)>*>*{vertical-align:middle}
.table thead th{
  font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);font-weight:800;border-bottom-width:1px;
}
.table tbody tr:hover{background:var(--soft)}

.money{font-weight:800;color:#027a48;font-variant-numeric:tabular-nums}

/* Misc shared helpers */
.text-brand{color:var(--brand)!important}
.text-accent{color:var(--accent)!important}
.bg-brand{background:var(--brand)!important}
.bg-accent{background:var(--accent)!important}
