.apply-layout {
  background: var(--ramdda-bg);
  min-height: calc(100vh - 120px);
}

.apply-layout .card,
.apply-layout .apply-card {
  background: var(--ramdda-surface);
  border: 1px solid rgba(20, 101, 148, 0.12);
  border-radius: var(--radius-lg);
  box-shadow: 0 8px 20px rgba(15, 30, 50, 0.08);
}

/* Override Bootstrap utility classes that remove borders/shadows in forms */
.apply-layout .card.border-0,
.apply-layout .apply-card.border-0,
.apply-layout .border-0.r-card {
  border: 1px solid rgba(20, 101, 148, 0.2) !important;
}

.apply-layout .shadow-sm,
.apply-layout .shadow {
  box-shadow: 0 8px 20px rgba(15, 30, 50, 0.08) !important;
}

.apply-layout .apply-step-header {
  background: var(--ramdda-surface);
  border: 1px solid var(--ramdda-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.apply-layout .apply-step-footer {
  background: var(--ramdda-surface);
  border-top: 1px solid var(--ramdda-border);
}

.apply-layout h1,
.apply-layout h2,
.apply-layout h3,
.apply-layout h4,
.apply-layout h5 {
  color: var(--ramdda-text);
  letter-spacing: -0.01em;
}

.apply-layout .form-label {
  font-weight: 600;
  color: var(--ramdda-text-2);
  text-transform: none;
  margin-bottom: 0.4rem;
}

.apply-layout .form-text,
.apply-layout .text-muted {
  color: var(--ramdda-muted) !important;
}

.apply-layout .form-control,
.apply-layout .form-select,
.apply-layout .form-check-input {
  border-radius: var(--radius-md);
  border: 1px solid rgba(20, 101, 148, 0.2);
  background: var(--ramdda-surface);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: border-color var(--motion-fast) var(--ease), box-shadow var(--motion-fast) var(--ease);
}

.apply-layout .form-control:focus,
.apply-layout .form-select:focus,
.apply-layout .form-check-input:focus {
  border-color: var(--ramdda-brand-900);
  box-shadow: 0 0 0 3px var(--ramdda-focus);
}

.apply-layout .form-check-input:checked {
  background-color: var(--ramdda-brand-900);
  border-color: var(--ramdda-brand-900);
}

.apply-layout .btn {
  border-radius: var(--radius-md);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.apply-layout .btn-primary {
  background: linear-gradient(180deg, var(--ramdda-brand-900), var(--ramdda-brand-700));
  border-color: var(--ramdda-brand-900);
  box-shadow: 0 8px 16px rgba(20, 101, 148, 0.15);
}

.apply-layout .btn-primary:hover,
.apply-layout .btn-primary:focus {
  box-shadow: 0 10px 20px rgba(20, 101, 148, 0.2);
}

.apply-layout .btn-outline-secondary,
.apply-layout .btn-outline-primary,
.apply-layout .btn-outline-success {
  border-color: rgba(20, 101, 148, 0.3);
  color: var(--ramdda-text);
  background: var(--ramdda-surface);
}

.apply-layout .btn-outline-secondary:hover,
.apply-layout .btn-outline-primary:hover,
.apply-layout .btn-outline-success:hover {
  border-color: rgba(20, 101, 148, 0.6);
  box-shadow: var(--shadow-sm);
}

.apply-layout .card-title,
.apply-layout .r-section-title {
  font-weight: 700;
  color: var(--ramdda-text);
}

.apply-layout .card-body {
  padding: var(--space-4);
}

.apply-layout .r-section-sub {
  color: var(--ramdda-text-2);
}

.apply-layout .badge {
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.72rem;
}

.apply-top-stepper {
  background: var(--ramdda-surface);
  border: 1px solid var(--ramdda-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3);
}

.apply-stepper-item {
  border: 1px solid var(--ramdda-border);
  border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);
  background: var(--ramdda-surface-2);
  min-width: 180px;
}

.apply-stepper-item .badge {
  margin-top: 4px;
}

.apply-accordion {
  border: 1px solid var(--ramdda-border);
  border-radius: var(--radius-md);
  background: var(--ramdda-surface);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3);
  margin-bottom: var(--space-3);
}

.apply-accordion > summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.apply-accordion > summary::-webkit-details-marker {
  display: none;
}

.apply-accordion > summary::after {
  content: '+';
  font-weight: 700;
  color: var(--ramdda-muted);
}

.apply-accordion[open] > summary::after {
  content: '–';
}

.apply-error-summary {
  border: 1px solid var(--ramdda-danger);
  background: rgba(220, 38, 38, 0.08);
  color: var(--ramdda-text);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  margin-bottom: var(--space-4);
}

@media (max-width: 991.98px) {
  .apply-top-stepper {
    position: sticky;
    top: 0;
    z-index: 10;
  }
}
