:root {
  --primary-color: #153D77;
  --secondary-color: #F9A826;
  --bg-light: #F8F9FA;
}

body {
  background-color: var(--bg-light);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: #333;
}

/* Header & Brand */
.brand-logo {
  max-height: 75px;
  object-fit: contain;
}

.brand-title {
  color: var(--primary-color);
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* Card Styling */
.custom-card {
  border: none;
  border-top: 5px solid var(--primary-color);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(21, 61, 119, 0.08);
}

.card-title-custom {
  color: var(--primary-color);
  font-weight: 600;
  border-bottom: 2px solid #eef2f7;
  padding-bottom: 12px;
}

/* Progress Bar Customization */
.progress {
  height: 12px;
  border-radius: 6px;
  background-color: #E9ECEF;
}

.progress-bar-custom {
  background-color: var(--secondary-color);
}

/* Buttons */
.btn-primary-custom {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: #fff;
  padding: 10px 24px;
  font-weight: 600;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.btn-primary-custom:hover {
  background-color: #0f2c57;
  border-color: #0f2c57;
  color: #fff;
}

.btn-secondary-custom {
  background-color: #6C757D;
  color: #fff;
  padding: 10px 24px;
  font-weight: 600;
  border-radius: 8px;
}

/* Form Controls */
.form-label {
  font-weight: 600;
  color: #495057;
  font-size: 0.9rem;
}

.form-control:focus, .form-select:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 0.25rem rgba(21, 61, 119, 0.15);
}

.required-asterisk {
  color: #dc3545;
}