:root {
  --brand: #3a4a9f;
  --brand-dark: #2c3878;
  --bg-soft: #f4f6fb;
}

@font-face {
  font-family: 'Samim FD';
  src: url('../fonts/samim-fd.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: 'Samim FD', Tahoma, sans-serif;
  background: var(--bg-soft);
}

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

.main-container {
  max-width: 1300px;
  margin: 0 auto;
}

.card {
  border: none;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(30, 40, 90, 0.06);
}

.stat-card {
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  color: #fff;
}
.stat-card h3 { margin: 0; font-size: 2rem; font-weight: 800; }
.stat-card p { margin: 0; opacity: .9; }
a.stat-card-link { text-decoration: none; display: block; transition: transform .15s ease, box-shadow .15s ease; }
a.stat-card-link:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(30,40,90,.18); }

.stat-total   { background: linear-gradient(135deg,#3a4a9f,#5a6bd6); }
.stat-pending { background: linear-gradient(135deg,#6c757d,#98a2ac); }
.stat-progress{ background: linear-gradient(135deg,#0d97c4,#33c1e8); }
.stat-done    { background: linear-gradient(135deg,#1a9e5c,#3fd48a); }
.stat-overdue { background: linear-gradient(135deg,#c0392b,#e56a5d); }

.badge-secondary { background:#6c757d; }
.badge-info { background:#0d97c4; }
.badge-warning { background:#e0a800; color:#111; }
.badge-success { background:#1a9e5c; }
.badge-danger { background:#c0392b; }

.badge-light-priority  { background:#e9ecef; color:#495057; }
.badge-medium-priority { background:#fde3b0; color:#8a5300; }
.badge-high-priority   { background:#f8d7da; color:#842029; }

.badge { padding:.4em .7em; border-radius:8px; font-weight:600; font-size:.78rem; color:#fff; }

.task-row.overdue { background-color: #fff2f1 !important; }
.table thead th { white-space: nowrap; }

.login-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand));
}
.login-card {
  width: 100%;
  max-width: 400px;
  border-radius: 18px;
}
