.job-detail-main {
  max-width: 1100px;
  padding: 40px 24px 100px;
}

.job-back-link {
  display: inline-block;
  margin-bottom: 24px;
  color: var(--primary);
  font-weight: 700;
}

.job-detail-title {
  font-size: clamp(1.6rem, 4vw, 2.3rem);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.job-open-badge {
  display: inline-block;
  margin-bottom: 16px;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  background: #dcfce7;
  color: #166534;
  font-weight: 700;
  font-size: 0.85rem;
}

.job-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.job-facts div {
  padding: 16px;
  background: var(--bg-main);
  border-radius: var(--radius-sm);
}

.job-facts dt {
  color: var(--text-secondary);
  font-size: 0.85rem;
}

.job-facts dd {
  margin-top: 6px;
  color: var(--primary);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.job-description {
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.job-reqs-list {
  list-style: disc;
  padding-left: 24px;
  color: var(--text-secondary);
}

.job-reqs-list li {
  margin-bottom: 10px;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.job-application a:not(.btn) {
  color: var(--primary);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.job-application .btn {
  margin-top: 16px;
}

.application-form input[type="file"] {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  font: inherit;
}

.application-form small {
  color: var(--text-secondary);
}

.application-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0;
}

.application-consent input {
  flex-shrink: 0;
  margin-top: 6px;
}

.application-status:not([hidden]) {
  margin-top: 20px;
  padding: 16px;
  border-radius: var(--radius-sm);
  background: #e0f2fe;
  color: #075985;
  overflow-wrap: anywhere;
}

.application-status[data-state="error"] {
  background: #fee2e2;
  color: #991b1b;
}

.application-status[data-state="success"] {
  background: #dcfce7;
  color: #166534;
}

.application-form button:disabled {
  opacity: 0.65;
  cursor: wait;
}

@media (max-width: 600px) {
  .job-facts {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .job-detail-main .card {
    padding: 24px;
  }
}
