:root {
      --primary-color: #8e44ad;
      --secondary-color: #f3b404;
      --accent-color: #3498db;
      --light-bg: #f8f9fa;
      --dark-text: #2c3e50;
      --main-color:#0d5ef4;
    }
    
    body {
      background-color: #f5f7fa;
      color: var(--dark-text);
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    }
    input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

    .header {
      background: linear-gradient( #0d5ef4);
      color: white;
      padding: 2rem 0;
      margin-bottom: 2rem;
      border-radius: 0 0 10px 10px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }
    
    .header h2 {
      font-weight: 700;
      margin-bottom: 0.5rem;
    }
    
    .header p {
      opacity: 0.9;
      margin-bottom: 0.25rem;
    }
    
    .form-container {
      background-color: white;
      border-radius: 10px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.08);
      padding: 2rem;
      margin-bottom: 3rem;
    }
    
    .section-title {
      background: linear-gradient(to right, var(--secondary-color), #f8c630);
      color: var(--dark-text);
      padding: 12px 15px;
      font-weight: 600;
      margin: 1.5rem 0 1rem;
      border-radius: 6px;
      display: flex;
      align-items: center;
    }
    
    .section-title i {
      margin-right: 10px;
      font-size: 1.1rem;
    }
    
    .form-section {
      border: 1px solid #e0e0e0;
      padding: 1.5rem;
      margin-bottom: 1.5rem;
      border-radius: 8px;
      background-color: white;
      transition: all 0.3s ease;
    }
    
    .form-section:hover {
      border-color: var(--accent-color);
      box-shadow: 0 2px 8px rgba(52,152,219,0.1);
    }
    
    .form-control, .form-select {
      padding: 10px 15px;
      border-radius: 6px;
      border: 1px solid #ddd;
      margin-bottom: 10px;
    }
    
    .form-control:focus, .form-select:focus {
      border-color: var(--accent-color);
      box-shadow: 0 0 0 0.25rem rgba(52,152,219,0.25);
    }
    
    .form-label {
      font-weight: 500;
      margin-bottom: 5px;
      color: var(--dark-text);
    }
    
    .btn-primary {
      background-color: var(--main-color);
      border: none;
      padding: 12px 30px;
      font-weight: 600;
      border-radius: 50px;
      transition: all 0.3s;
    }
    
    .btn-primary:hover {
      background-color: #7d3c98;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(142,68,173,0.3);
    }
    
    .table {
      margin-bottom: 0;
      min-width: 700px;
      font-size: 0.98rem;
    }
    
    .table thead {
      background-color: var(--light-bg);
    }
    
    .table th {
      font-weight: 600;
      color: var(--dark-text);
    }
    
    .table input.form-control {
      min-width: 90px;
      width: 100%;
      font-size: 0.98rem;
      padding: 8px 10px;
      box-sizing: border-box;
    }
    
    .table td, .table th {
      padding: 8px 6px;
    }
    
    .form-check-input:checked {
      background-color: var(--main-color);
      border-color: var(--primary-color);
    }
    
    .file-upload {
      position: relative;
      overflow: hidden;
      display: inline-block;
      width: 100%;
    }
    
    .file-upload-btn {
      border: 2px dashed #ddd;
      border-radius: 6px;
      padding: 30px;
      text-align: center;
      cursor: pointer;
      transition: all 0.3s;
    }
    
    .file-upload-btn:hover {
      border-color: var(--accent-color);
      background-color: rgba(52,152,219,0.05);
    }
    
    .file-upload-input {
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0;
      width: 100%;
      height: 100%;
      cursor: pointer;
    }
    
    .required-field::after {
      content: " *";
      color: #e74c3c;
    }
    /* Desktop and mobile: wider division column */
.table .division-col {
  min-width: 120px;
  width: 120px;
}

    
    /* Responsive table: horizontal scroll on mobile */
@media (max-width: 768px) {
  body{
    padding: 0;
  }
  .header {
    padding: 1.5rem 0;
  }
  
  .form-container {
    padding: 1rem;
  }
  
  .section-title {
    padding: 10px 12px;
    font-size: 1rem;
  }
  .table-responsive {
    width: 100%;
    overflow-x: auto;
  }
   .table .division-col {
    min-width: 120px;
    width: 120px;
    font-size: 1rem;
  }
  .table td, .table th {
    min-width: 80px;   /* Adjust as needed */
    font-size: 1rem;   /* Slightly larger font for mobile */
    padding: 8px 6px;
    word-break: break-word;
  }
}


