:root {
  --brand: #1e4d2b;
  --brand-dark: #143a1f;
  --brand-light: #e8f3ec;
  --accent: #c99a2e;
}

body {
  background: #f4f6f5;
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  color: #212529;
}

.app-navbar {
  background: linear-gradient(90deg, var(--brand-dark), var(--brand));
}

.navbar-brand { letter-spacing: .3px; }

.card {
  border: none;
  border-radius: .75rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}

.stat-card {
  border-radius: .75rem;
  color: #fff;
  padding: 1.25rem 1.5rem;
}
.stat-card .stat-label { font-size: .8rem; opacity: .85; text-transform: uppercase; letter-spacing: .5px; }
.stat-card .stat-value { font-size: 1.9rem; font-weight: 700; }
.stat-card.bg-distance { background: linear-gradient(135deg,#2563eb,#1d4ed8); }
.stat-card.bg-fuel     { background: linear-gradient(135deg,#dc2626,#b91c1c); }
.stat-card.bg-lube     { background: linear-gradient(135deg,#d97706,#b45309); }
.stat-card.bg-entries  { background: linear-gradient(135deg,var(--brand),var(--brand-dark)); }

.table thead th {
  background: var(--brand-light);
  color: var(--brand-dark);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .4px;
  white-space: nowrap;
}

.btn-brand {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.btn-brand:hover { background: var(--brand-dark); border-color: var(--brand-dark); color: #fff; }

.login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at top left, #1e4d2b, #0e2415 75%);
}
.login-card {
  width: 100%;
  max-width: 400px;
  border-radius: 1rem;
  overflow: hidden;
}
.login-card .card-header {
  background: var(--brand);
  color: #fff;
  text-align: center;
  padding: 2rem 1.5rem 1.5rem;
}

@media print {
  .app-navbar, footer, .no-print { display: none !important; }
  body { background: #fff; }
  main { padding: 0 !important; }
}
