:root {
  --blue-900: #0b3c91; --blue-800: #0d47a1; --blue-700: #1565c0;
  --blue-500: #2196f3; --blue-100: #e3f0fd; --blue-50: #f2f8ff;
  --bs-primary: #1565c0; --bs-primary-rgb: 21, 101, 192;
  --bs-link-color: #1565c0; --bs-link-color-rgb: 21, 101, 192;
  --bs-link-hover-color: #0d47a1; --bs-link-hover-color-rgb: 13, 71, 161;
}
body { background: var(--blue-50); }
.app-nav { background: linear-gradient(90deg, var(--blue-900), var(--blue-700)); }
.app-nav .nav-link { color: rgba(255,255,255,.8); }
.app-nav .nav-link:hover { color: #fff; }
.app-nav .nav-link.active { color: #fff; font-weight: 600; border-bottom: 2px solid #fff; }
.page-title { color: var(--blue-900); font-weight: 700; }
.card { border: 0; border-radius: 12px; box-shadow: 0 2px 8px rgba(13,71,161,.10); }
.btn-primary {
  --bs-btn-bg: #1565c0; --bs-btn-border-color: #1565c0;
  --bs-btn-hover-bg: #0d47a1; --bs-btn-hover-border-color: #0d47a1;
  --bs-btn-active-bg: #0b3c91; --bs-btn-active-border-color: #0b3c91;
  --bs-btn-disabled-bg: #1565c0; --bs-btn-disabled-border-color: #1565c0;
}
.btn-outline-primary {
  --bs-btn-color: #1565c0; --bs-btn-border-color: #1565c0;
  --bs-btn-hover-bg: #1565c0; --bs-btn-hover-border-color: #1565c0;
  --bs-btn-active-bg: #0d47a1; --bs-btn-active-border-color: #0d47a1;
}
.bg-primary { background-color: #1565c0 !important; }
.text-primary { color: #1565c0 !important; }
.table thead th { background: var(--blue-100); color: var(--blue-900); border-bottom: 0; }
.nav-tabs .nav-link { color: var(--blue-700); }
.nav-tabs .nav-link.active { color: var(--blue-900); font-weight: 600; }
.progress-bar { background-color: #1976d2; }
.avatar {
  width: 34px; height: 34px; border-radius: 50%; object-fit: cover;
  background: #fff; color: var(--blue-800); font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.avatar-lg { width: 120px; height: 120px; font-size: 3rem; background: var(--blue-100); }
.stat-card .num { font-size: 1.6rem; font-weight: 700; color: var(--blue-800); }
.stat-card .lbl { font-size: .8rem; color: #6c7a89; }
.auth-bg { min-height: 100vh; background: linear-gradient(135deg, #0b3c91 0%, #1976d2 60%, #42a5f5 100%); }
.auth-card { border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
