:root {
  --brand-green: #1f6f4e;
  --brand-green-dark: #144d36;
  --brand-gold: #b8860b;
  --brand-bg: #f7f3ea;
  --brand-card: #ffffff;
  --brand-border: #e4dcc8;
  --brand-text: #2b2b2b;
}

body {
  background: var(--brand-bg);
  color: var(--brand-text);
  font-family: 'Cairo', 'Tajawal', sans-serif;
}

.navbar-brand-center {
  font-weight: 700;
  color: var(--brand-green-dark) !important;
}

.navbar-system {
  background: var(--brand-green);
}
.navbar-system .navbar-brand,
.navbar-system .nav-link,
.navbar-system .navbar-text {
  color: #fff !important;
}
.navbar-system .nav-link:hover {
  color: var(--brand-gold) !important;
}

.sidebar {
  background: var(--brand-card);
  border-inline-end: 1px solid var(--brand-border);
  min-height: calc(100vh - 56px);
}
.sidebar .nav-link {
  color: var(--brand-text);
  border-radius: .5rem;
  margin-bottom: .25rem;
  padding: .6rem .9rem;
}
.sidebar .nav-link.active,
.sidebar .nav-link:hover {
  background: var(--brand-green);
  color: #fff !important;
}
.sidebar .nav-link i {
  width: 1.4rem;
  text-align: center;
  margin-inline-end: .4rem;
}

.dashboard-tile {
  display: block;
  background: var(--brand-card);
  border: 1px solid var(--brand-border);
  border-radius: .75rem;
  padding: 1.25rem 1rem;
  text-align: center;
  color: var(--brand-text);
  text-decoration: none;
  height: 100%;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.dashboard-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(31,111,78,.15);
  background: #fbfaf6;
  color: var(--brand-green-dark);
}
.dashboard-tile i {
  font-size: 1.8rem;
  color: var(--brand-green);
  display: block;
  margin-bottom: .5rem;
}
.dashboard-tile span {
  font-weight: 600;
  font-size: .95rem;
}

.card-brand {
  background: var(--brand-card);
  border: 1px solid var(--brand-border);
  border-radius: .75rem;
}

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

.stat-card {
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  color: #fff;
}
.stat-card h3 { margin: 0; font-size: 1.9rem; font-weight: 700; }
.stat-card small { opacity: .9; }
.stat-card.bg-1 { background: linear-gradient(135deg, #1f6f4e, #144d36); }
.stat-card.bg-2 { background: linear-gradient(135deg, #b8860b, #8a6508); }
.stat-card.bg-3 { background: linear-gradient(135deg, #2b6cb0, #1e4e80); }
.stat-card.bg-4 { background: linear-gradient(135deg, #c0392b, #922017); }

.attendance-grid .btn { min-width: 90px; }

.login-card {
  max-width: 420px;
  margin: 8vh auto;
}

@media print {
  .no-print { display: none !important; }
  body { background: #fff; }
}

.table-sm td, .table-sm th { vertical-align: middle; }

a { text-decoration: none; }
