:root {
  --brand: #4338ca;
}
html {
  color-scheme: light;
}
body {
  font-family:
    'Inter',
    system-ui,
    -apple-system,
    sans-serif;
}
.prose h2 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.prose h3 {
  font-size: 1rem;
  font-weight: 600;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}
.prose p {
  margin-bottom: 0.75rem;
  color: #4b5563;
  line-height: 1.7;
}
.prose ul,
.prose ol {
  margin-bottom: 0.75rem;
  padding-left: 1.5rem;
  color: #4b5563;
}
.prose li {
  margin-bottom: 0.25rem;
  line-height: 1.7;
}
.prose a {
  color: var(--brand);
}
.prose strong {
  color: #111827;
}
.tab-btn {
  position: relative;
  padding-bottom: 14px;
}
.tab-btn::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
  transition: background 0.2s;
}
.tab-btn.active {
  color: var(--brand);
}
.tab-btn.active::after {
  background: var(--brand);
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--brand) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 10%, transparent) !important;
  outline: none;
}
.upload-zone {
  transition: all 0.15s;
}
.upload-zone:hover {
  border-color: var(--brand);
}
.success-state {
  animation: fade-in 0.4s ease-out;
}
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.meta-item {
  padding: 20px 0;
  border-bottom: 1px solid #f3f4f6;
}
.meta-item:last-child {
  border-bottom: 0;
}
.meta-label {
  font-size: 0.75rem;
  color: #9ca3af;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}
.meta-value {
  font-size: 0.9375rem;
  color: #111827;
  font-weight: 500;
}

#jd-tr-toggle {
  white-space: nowrap;
}
/* Note hidden → keep toggle right-aligned (body-only JD toggle). */
#panel-overview .mb-4:has(#content-translation-note.hidden) {
  justify-content: flex-end;
}

/* HBS parity: native <details> marker hidden; custom chevron only */
summary::-webkit-details-marker { display: none; }
summary { list-style: none; }

/* Upload zone hover wash (matches HBS inline style intent) */
.upload-zone:hover {
  background: color-mix(in srgb, var(--brand) 2.5%, transparent);
}
.upload-zone.has-file {
  border-color: #10b981;
  background: #f0fdf4;
}

/* First-slice list affordances (careers shell SoT is max-w-4xl + semibold in HTML) */
.job-card h2 {
  letter-spacing: -0.01em;
}
.job-card:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--brand) 55%, transparent);
  outline-offset: -2px;
}
details.group\/section > summary {
  list-style: none;
}
details.group\/section > summary::-webkit-details-marker {
  display: none;
}
