/* Professional accounting SaaS theme (Bootstrap-friendly) */
:root{
  --bg: #f6f7fb;
  --card: #ffffff;
  --ink: #0b1220;
  --muted: #64748b;
  --line: rgba(2,6,23,.10);
  --brand: #2563eb;
  --brand-2: #1d4ed8;
  --sidebar: #0b1220;
  --sidebar-2: #0f172a;
}

html, body { height: 100%; }
body {
  background: radial-gradient(1200px 700px at 15% 0%, rgba(37,99,235,.10), transparent 60%),
              radial-gradient(900px 600px at 90% 10%, rgba(15,23,42,.10), transparent 55%),
              var(--bg);
  color: var(--ink);
  font-family: "IBM Plex Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

h1,h2,h3,h4,.display-6,.navbar-brand{
  font-family: "Fraunces", Georgia, "Times New Roman", serif;
  letter-spacing: -.01em;
}

.text-muted-2 { color: var(--muted) !important; }

/* Cards */
.card{
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
  box-shadow: 0 10px 30px rgba(2,6,23,.06);
}

/* Buttons */
.btn-primary{ background: var(--brand); border-color: var(--brand); }
.btn-primary:hover{ background: var(--brand-2); border-color: var(--brand-2); }

/* Tables */
.table thead th{
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #475569;
  border-bottom: 1px solid var(--line);
}
.table tbody td{ border-color: rgba(2,6,23,.08); }

/* Sidebar */
.sidebar{
  min-height: 100vh;
  background:
    radial-gradient(800px 600px at 10% 0%, rgba(37,99,235,.25), transparent 55%),
    linear-gradient(180deg, var(--sidebar), var(--sidebar-2));
  border-right: 1px solid rgba(255,255,255,.08);
}
.sidebar a{
  color: rgba(226,232,240,.85);
  text-decoration: none;
  display: block;
  padding: .62rem .9rem;
  border-radius: 12px;
  transition: transform .12s ease, background .12s ease;
}
.sidebar a.active, .sidebar a:hover{
  background: rgba(255,255,255,.10);
  color: #fff;
  transform: translateY(-1px);
}

/* Invoice (public view) helpers */
.invoice-hero{
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(37,99,235,.08), rgba(15,23,42,.02));
}
.pill{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .6rem; border-radius:999px;
  background: rgba(2,6,23,.05); border:1px solid rgba(2,6,23,.08);
  font-weight:600; font-size:.86rem;
}
