:root {
    --primary-color: #4e73df;
    --secondary-color: #1cc88a;
    --info-color: #36b9cc;
    --warning-color: #f6c23e;
    --danger-color: #e74a3b;
    --light-color: #f8f9fc;
    --dark-color: #5a5c69;
  }
  
  body {
    background-color: #f8f9fc;
    font-family: 'Cairo', 'Tajawal', 'Noto Kufi Arabic', Arial, sans-serif;
    
  }
  
  /* Navbar */
  .navbar {
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
  }
  
  .navbar-brand {
    font-weight: 800;
    font-size: 1.5rem;
    color: var(--primary-color) !important;
  }
  
  .nav-link {
    font-weight: 600;
    padding: 0.75rem 1rem;
  }
  
  /* Cards */
  .card {
    border: none;
    border-radius: 0.35rem;
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.1);
    transition: all 0.3s ease;
  }
  
  .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.5rem 1.5rem 0 rgba(58, 59, 69, 0.2);
  }
  
  .card-header {
    background-color: #f8f9fc;
    border-bottom: 1px solid #e3e6f0;
    font-weight: 700;
  }
  
  /* Buttons */
  .btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
  }
  
  .btn-success {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
  }
  
  .btn-info {
    background-color: var(--info-color);
    border-color: var(--info-color);
  }
  
  .btn-warning {
    background-color: var(--warning-color);
    border-color: var(--warning-color);
  }
  
  .btn-danger {
    background-color: var(--danger-color);
    border-color: var(--danger-color);
  }
  
  /* Hero Section */
  .hero-section {
    background: linear-gradient(135deg, var(--primary-color) 0%, #224abe 100%);
    color: white;
    padding: 5rem 0;
    margin-bottom: 3rem;
    border-radius: 0 0 1.5rem 1.5rem;
    position: relative;
    overflow: hidden;
  }
  
  .hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%234e73df' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E");
    opacity: 0.1;
  }
  
  .hero-title {
    font-weight: 800;
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
  }
  
  .hero-subtitle {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    opacity: 0.9;
  }
  
  /* Form Styling */
  .form-control {
    border: 1px solid #d1d3e2;
    border-radius: 0.35rem;
    padding: 0.75rem 1rem;
  }
  
  .form-control:focus {
    border-color: #bac8f3;
    box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25);
  }
  
  /* Animations */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  .fade-in {
    animation: fadeIn 0.5s ease-in;
  }
  
  /* Responsive Adjustments */
  @media (max-width: 768px) {
    .hero-title {
      font-size: 2rem;
    }
    .hero-subtitle {
      font-size: 1rem;
    }
  }
  
  /* Custom Scrollbar */
  ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  
  ::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  
  ::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 4px;
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: #3a5bc7;
  }
  
  /* Badges */
  .badge-primary {
    background-color: var(--primary-color);
  }
  
  .badge-success {
    background-color: var(--secondary-color);
  }
  
  .badge-info {
    background-color: var(--info-color);
  }
  
  .badge-warning {
    background-color: var(--warning-color);
  }
  
  .badge-danger {
    background-color: var(--danger-color);
  }
  
  /* Accordion */
  .accordion-button:not(.collapsed) {
    background-color: rgba(78, 115, 223, 0.1);
    color: var(--primary-color);
    font-weight: 600;
  }
  
  .accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(78, 115, 223, 0.25);
    border-color: #bac8f3;
  }
  
  /* List Group */
  .list-group-item {
    border: 1px solid #e3e6f0;
  }
  
  .list-group-item.active {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
  }
  
  /* Utilities */
  .text-primary {
    color: var(--primary-color) !important;
  }
  
  .text-success {
    color: var(--secondary-color) !important;
  }
  
  .text-info {
    color: var(--info-color) !important;
  }
  
  .text-warning {
    color: var(--warning-color) !important;
  }
  
  .text-danger {
    color: var(--danger-color) !important;
  }
  
  .bg-primary {
    background-color: var(--primary-color) !important;
  }
  
  .bg-success {
    background-color: var(--secondary-color) !important;
  }
  
  .bg-info {
    background-color: var(--info-color) !important;
  }
  
  .bg-warning {
    background-color: var(--warning-color) !important;
  }
  
  .bg-danger {
    background-color: var(--danger-color) !important;
  }