/* Existing Jobs roots only. Detached task/CV dialogs require their own opt-in. */
.tj-jobs-page[data-tj-ui="cinematic"] { background:var(--tj-bg); color:var(--tj-text); padding:0; }
.tj-jobs[data-tj-ui="cinematic"] { width:100%; max-width:1400px; margin:auto; padding:clamp(1rem,3vw,3rem); background:var(--tj-bg); color:var(--tj-text); font-family:var(--tj-font-body); }
.tj-jobs[data-tj-ui="cinematic"] header { padding:clamp(1rem,3vw,2rem); border:1px solid var(--tj-border); border-radius:var(--tj-radius-card); background:linear-gradient(120deg,var(--tj-surface-raised),var(--tj-bg-alt)); }
.tj-jobs[data-tj-ui="cinematic"] h1 { margin:.5rem 0 1rem; color:var(--tj-text); font:400 clamp(2.25rem,5vw,4.5rem)/1.05 var(--tj-font-display); text-transform:uppercase; overflow-wrap:anywhere; }
.tj-jobs[data-tj-ui="cinematic"] .tj-jobs-kicker { color:var(--tj-pink-soft); font-size:.8rem; font-weight:700; letter-spacing:.08em; }
.tj-jobs[data-tj-ui="cinematic"] [data-job-search] { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; padding:1rem; border:1px solid var(--tj-border); border-radius:var(--tj-radius-card); background:var(--tj-surface); }
.tj-jobs[data-tj-ui="cinematic"] [data-job-search] label { flex:1 1 20rem; min-width:0; margin:0; }
.tj-jobs[data-tj-ui="cinematic"] .tj-jobs-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:1rem; }
:is(.tj-jobs,.tj-job-dialog)[data-tj-ui="cinematic"] .tj-job-card { min-width:0; padding:1.25rem; border:1px solid var(--tj-border); border-radius:var(--tj-radius-card); box-shadow:none; background:var(--tj-surface); color:var(--tj-text); }
:is(.tj-jobs,.tj-job-dialog)[data-tj-ui="cinematic"] .tj-job-card :is(h2,h3) { font:700 1.6rem/1.2 var(--tj-font-heading); color:var(--tj-text); }
:is(.tj-jobs,.tj-job-dialog)[data-tj-ui="cinematic"] .tj-job-card a { color:var(--tj-text); text-decoration-thickness:1px; text-underline-offset:.2em; }
:is(.tj-jobs,.tj-job-dialog)[data-tj-ui="cinematic"] .tj-job-card p { color:var(--tj-text-muted); }
:is(.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"] { width:min(60rem,calc(100vw - 1.5rem)); max-height:calc(100dvh - 1.5rem); padding:3.5rem clamp(.875rem,3vw,2rem) 1.5rem; border:1px solid var(--tj-border); border-radius:var(--tj-radius-modal); background:var(--tj-surface); color:var(--tj-text); box-shadow:0 24px 80px rgb(0 0 0 / .55); font:400 1rem/1.5 var(--tj-font-body); }
:is(.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"]::backdrop { background:rgb(0 0 0 / .8); }
:is(.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"] h2 { font:700 clamp(1.5rem,4vw,2rem)/1.2 var(--tj-font-heading); color:var(--tj-text); }
:is(.tj-jobs,.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"] button { min-height:44px; padding:.65rem 1rem; border:1px solid var(--tj-pink); border-radius:var(--tj-radius-sm); background:var(--tj-pink); font:600 .9375rem/1.4 var(--tj-font-body); }
/* Legacy jobs.css and reader.css force button colour important, including Close. */
:is(.tj-jobs,.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"] button { color:var(--tj-on-accent) !important; }
:is(.tj-jobs,.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"] button:hover:not(:disabled) { background:var(--tj-pink-hover); border-color:var(--tj-pink-hover); color:var(--tj-white) !important; }
:is(.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"] > button:first-child { width:44px; padding:.5rem; background:var(--tj-pink); }
:is(.tj-jobs,.tj-job-dialog)[data-tj-ui="cinematic"] :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select):not(.select2-hidden-accessible):not(.select2-search__field) { width:100%; min-width:0; min-height:44px; margin-top:.5rem; padding:.75rem; border:1px solid var(--tj-text-subtle); border-radius:var(--tj-radius-sm); background:var(--tj-surface-raised); color:var(--tj-text); font:inherit; }
:is(.tj-jobs,.tj-job-dialog)[data-tj-ui="cinematic"] input::placeholder { color:var(--tj-text-muted); opacity:1; }
.tj-job-dialog[data-tj-ui="cinematic"] input[type=file] { max-width:100%; font:inherit; }
.tj-job-dialog[data-tj-ui="cinematic"] input[type=checkbox] { accent-color:var(--tj-pink); }
.tj-job-dialog[data-tj-ui="cinematic"] .tj-job-file-name { font-size:.875rem; font-weight:500; }
.tj-job-cv-dialog[data-tj-ui="cinematic"] .tj-job-cv-stage { border:1px solid var(--tj-border); border-radius:var(--tj-radius-sm); background:var(--tj-bg-alt); }
:is(.tj-jobs,.tj-job-dialog,.tj-job-cv-dialog)[data-tj-ui="cinematic"] :focus-visible { outline:3px solid var(--tj-focus); outline-offset:3px; }
@media(max-width:600px) { .tj-jobs[data-tj-ui="cinematic"] [data-job-search] button { width:100%; } }

/* Keep native listing-title controls within their card on narrow screens. */
.tj-job-dialog[data-tj-ui="cinematic"] .tj-job-card > button {
  max-width:100%;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:start;
}
