/* ================== Tokens / Base ================== */
:root{
  --bg:#f7f7f8;
  --card:#fff;
  --muted:#667085;
  --line:#e5e7eb;
  --ink:#111827;
  --link:#0b5ed7;
  --focus:#2563eb;
  --radius:12px;
  --shadow:0 1px 2px rgba(16,24,40,.06), 0 1px 1px rgba(16,24,40,.04);
  --container:1180px;
}

*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ================== Layout ================== */
.layout{
  display:grid; grid-template-columns:240px 1fr;
  min-height:calc(100vh - 56px);
  background:var(--bg);
}
.layout-no-sidebar{ grid-template-columns:1fr; } /* single column */

.btn-brand {
  background-color: #040B16; /* Deep navy/black */
  color: #fff;
  border: none;
  transition: background-color 0.2s ease-in-out;
}

.btn-brand:hover {
  background-color: #00050C; /* Slightly darker shade */
  color: #fff;
}

/* ================== Badges ================== */
.badge{
  display:inline-block; padding:2px 8px; border-radius:999px; font-size:.85rem; line-height:1.6;
  border:1px solid var(--line); color:var(--ink); background:#fff;
}
.badge-open{      background:#ecfeff; border-color:#c7f3f7 }
.badge-quoted{    background:#f5f3ff; border-color:#e0d7ff }
.badge-booked{    background:#ecfdf5; border-color:#ccebdd }
.badge-completed{ background:#eef2ff; border-color:#d9e0ff }
.badge-cancelled{ background:#fff1f2; border-color:#ffd6db; color:#b42318 }
.badge-draft{     background:#f8fafc; border-color:#e5e7eb; color:#475569 }
.badge-expired{   background:#fff7ed; border-color:#fde68a; color:#92400e }