/* Імпорт з ATS: опис зовнішньої вакансії (санітизований HTML) і кабінет інтеграцій.
   Лише токени з design.css — темна тема працює автоматично. Окремий файл: без перезбірки
   tailwind.css і без конфліктів з паралельними гілками. */

/* ---- Опис вакансії з ATS (довільна, але санітизована розмітка) ---- */
.ats-desc { overflow-wrap: anywhere; }
.ats-desc > :first-child { margin-top: 0; }
.ats-desc p, .ats-desc ul, .ats-desc ol, .ats-desc blockquote, .ats-desc pre, .ats-desc table { margin-top: .75rem; }
.ats-desc h2, .ats-desc h3, .ats-desc h4, .ats-desc h5, .ats-desc h6 { margin-top: 1.25rem; font-weight: 600; line-height: 1.35; }
.ats-desc h2 { font-size: 1.125rem; }
.ats-desc h3 { font-size: 1.0625rem; }
.ats-desc ul { list-style: disc; padding-left: 1.25rem; }
.ats-desc ol { list-style: decimal; padding-left: 1.25rem; }
.ats-desc li + li { margin-top: .25rem; }
.ats-desc a { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }
.ats-desc blockquote { border-left: 3px solid var(--border); padding-left: .75rem; color: var(--fg-muted); }
.ats-desc pre, .ats-desc code { font-size: .875rem; white-space: pre-wrap; }
.ats-desc table { display: block; overflow-x: auto; border-collapse: collapse; font-size: .875rem; }
.ats-desc th, .ats-desc td { border: 1px solid var(--border); padding: .375rem .5rem; text-align: left; }

/* Плашка «опубліковано з ATS роботодавця» */
.ats-source {
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--bg-subtle); padding: .875rem 1rem; color: var(--fg);
}

/* ---- Кабінет інтеграцій ---- */
.ats-consent {
  border: 1px solid var(--border); border-left: 3px solid var(--brand);
  border-radius: var(--radius); background: var(--bg-subtle);
  padding: .75rem 1rem; font-size: .9375rem; line-height: 1.55;
}
.ats-check { display: flex; gap: .625rem; align-items: flex-start; cursor: pointer; }
.ats-check input[type="checkbox"] { width: 1.125rem; height: 1.125rem; margin-top: .15rem; flex-shrink: 0; accent-color: var(--brand); }
.ats-list { border-top: 1px solid var(--border); }
.ats-list > li { border-bottom: 1px solid var(--border); padding: .625rem 0; display: flex; gap: .75rem; justify-content: space-between; align-items: flex-start; }
.ats-list .ats-title { font-weight: 500; overflow-wrap: anywhere; }
.ats-meta { font-size: .8125rem; color: var(--fg-muted); }
.ats-flash { border-radius: var(--radius); padding: .625rem .875rem; font-size: .875rem; }
.ats-flash-ok { background: #dcfce7; color: #15803d; }
.ats-flash-err { background: #fee2e2; color: #b91c1c; }
.ats-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.ats-salary { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; align-items: end; }
@media (min-width: 640px) { .ats-salary { grid-template-columns: 1fr 1fr 1fr auto; } }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .ats-flash-ok { background: #14352a; color: #6ee7a8; }
  :root:not([data-theme="light"]) .ats-flash-err { background: #3b1a1c; color: #fca5a5; }
}
:root[data-theme="dark"] .ats-flash-ok { background: #14352a; color: #6ee7a8; }
:root[data-theme="dark"] .ats-flash-err { background: #3b1a1c; color: #fca5a5; }
