/* Modern CRUD Form Styles */

/* Content wrapper improvements */
.content-wrapper {
  padding: 24px !important;
  background-color: #f3f4f6 !important;
}

/* Page body improvements */
.page-body-wrapper {
  background-color: #f3f4f6 !important;
}

/* Main panel styling */
.main-panel {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

/* Override old card styles */
.content-wrapper .card {
  background-color: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06) !important;
  border: 1px solid #e5e7eb !important;
  margin-bottom: 20px !important;
}

.content-wrapper .card-body {
  padding: 24px !important;
  height: auto !important;
}

.content-wrapper .card-header {
  padding: 16px 24px !important;
  background-color: transparent !important;
  border-bottom: 1px solid #e5e7eb !important;
  height: auto !important;
}

.content-wrapper .card-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #111827 !important;
}

/* Form group improvements */
.content-wrapper .form-group {
  margin-bottom: 20px;
}

.content-wrapper .form-group label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  line-height: 1.5 !important;
  margin-bottom: 6px !important;
}

/* Form control improvements */
.content-wrapper .form-control {
  padding: 10px 14px !important;
  font-size: 14px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.content-wrapper .form-control:focus {
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
  outline: none !important;
}

.content-wrapper .form-control-danger {
  border-color: #dc3545 !important;
}

/* Select2 improvements */
.content-wrapper .select2-container--default .select2-selection--single {
  height: 42px !important;
  padding: 6px 10px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
}

.content-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 28px !important;
  color: #1f2937 !important;
}

.content-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px !important;
}

.content-wrapper .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

/* Button improvements */
.content-wrapper .btn-teal {
  background-color: #0d9488 !important;
  border-color: #0d9488 !important;
  color: #fff !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  transition: background-color 0.15s ease !important;
}

.content-wrapper .btn-teal:hover {
  background-color: #0f766e !important;
  border-color: #0f766e !important;
}

.content-wrapper .btn-teal:disabled {
  background-color: #99f6e4 !important;
  border-color: #99f6e4 !important;
  cursor: not-allowed !important;
}

.content-wrapper .btn-light {
  background-color: #f3f4f6 !important;
  border-color: #d1d5db !important;
  color: #374151 !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
}

.content-wrapper .btn-light:hover {
  background-color: #e5e7eb !important;
}

/* Save function bar */
.saveFunctionBar {
  position: sticky;
  bottom: 0;
  background-color: #f3f4f6;
  padding: 16px 0 !important;
  margin-top: 20px;
  border-top: 1px solid #e5e7eb;
  z-index: 100;
}

.saveFunctionBar .card {
  margin-bottom: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  border: none !important;
}

.saveFunctionBar .card-body {
  padding: 0 !important;
}

/* Alert improvements */
.content-wrapper .alertArea {
  margin-bottom: 20px;
}

.content-wrapper .alert {
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin-bottom: 20px !important;
}

.content-wrapper .alert-danger {
  background-color: #fef2f2 !important;
  border-color: #fecaca !important;
  color: #991b1b !important;
}

.content-wrapper .alert-success {
  background-color: #f0fdf4 !important;
  border-color: #bbf7d0 !important;
  color: #166534 !important;
}

/* Table improvements within forms */
.content-wrapper table {
  border-radius: 8px;
  overflow: hidden;
}

.content-wrapper table thead th {
  background-color: #f9fafb !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #6b7280 !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #e5e7eb !important;
}

.content-wrapper table tbody td {
  padding: 12px 16px !important;
  font-size: 14px !important;
  color: #374151 !important;
  border-bottom: 1px solid #f3f4f6 !important;
}

.content-wrapper table tbody tr:hover {
  background-color: #f9fafb !important;
}

/* Toggle card body button */
.toggleCardBody {
  padding: 12px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-bottom: 1px solid #e5e7eb !important;
  transition: background-color 0.15s ease !important;
}

.toggleCardBody:hover {
  background-color: #f3f4f6 !important;
}

/* Loader improvements */
.content-loader {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  padding: 40px;
}

.content-loader img {
  max-width: 120px;
  opacity: 0.8;
}

/* Form check improvements */
.content-wrapper .form-check {
  padding: 10px 14px !important;
  background-color: #f9fafb !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
}

.content-wrapper .form-check-label {
  font-size: 14px !important;
  color: #374151 !important;
  cursor: pointer !important;
}

.content-wrapper .form-check-input {
  width: 18px !important;
  height: 18px !important;
  margin-right: 10px !important;
  accent-color: #3b82f6 !important;
}

/* Error text styling */
.content-wrapper .text-danger {
  color: #dc3545 !important;
  font-size: 12px !important;
}

/* Responsive improvements */
@media (max-width: 768px) {
  .content-wrapper {
    padding: 16px !important;
  }
  
  .content-wrapper .card-body {
    padding: 16px !important;
  }
  
  .saveFunctionBar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px 16px !important;
    background-color: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  }
}

