/* Existing festival forms/review decisions stay with their original controllers. */
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] {
  width:100%; max-width:90rem; min-width:0; margin:0 auto; padding:clamp(1rem,3vw,3rem);
  background:var(--tj-bg); color:var(--tj-text); font-family:var(--tj-font-body);
}
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(h1,h2,h3,h4,label) { color:var(--tj-text); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(h1,h2,h3) { font-family:var(--tj-font-heading); line-height:1.2; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(p,small) { color:var(--tj-text-muted); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(.tjff-status-panel,.tjfr-card,.tjff-edit-dialog,.tjff-modal-card) { min-width:0; padding:1.25rem; border:1px solid var(--tj-border); border-radius:var(--tj-radius-card); background:var(--tj-surface); color:var(--tj-text); box-shadow:none; }
/* Explicit field tokens avoid inheriting Elementor's near-black Primary text. */
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(input:not([type=hidden]):not([type=file]):not([type=checkbox]):not([type=radio]),textarea,select):not(.select2-hidden-accessible):not(.select2-search__field) {
  width:100%; max-width:100%; min-width:0; min-height:44px; 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(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] textarea { resize:vertical; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(input,textarea)::placeholder { color:var(--tj-text-muted); opacity:1; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] button { min-height:44px; max-width:100%; border:1px solid var(--tj-border); border-radius:var(--tj-radius-sm); background:var(--tj-surface-raised); color:var(--tj-text); font:600 .875rem/1.4 var(--tj-font-body); white-space:normal; overflow-wrap:anywhere; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(button[data-action="submit"],button[data-decision="approved"]) { background:var(--tj-pink); border-color:var(--tj-pink); color:var(--tj-on-accent); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(button[data-action="withdraw"],button[data-decision="rejected"]) { border-color:var(--tj-danger); color:var(--tj-danger); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] button[data-confirm-yes] { background:var(--tj-danger); border-color:var(--tj-danger); color:var(--tj-on-accent); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] button:disabled { opacity:.6; cursor:not-allowed; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .tjff-status-link { display:inline-flex; align-items:center; min-height:44px; padding:.75rem 1rem; border-radius:var(--tj-radius-sm); background:var(--tj-pink); color:var(--tj-on-accent); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .tjff-status-link:hover { background:var(--tj-pink-hover); color:var(--tj-white); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .tjff-status-secondary { background:var(--tj-surface-raised); border:1px solid var(--tj-border); color:var(--tj-text); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .tjff-dropzone { border:1px dashed var(--tj-text-subtle); border-radius:var(--tj-radius-card); background:var(--tj-surface-raised); color:var(--tj-text); transition:background-color var(--tj-transition),border-color var(--tj-transition); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .tjff-dropzone:is(:hover,:focus,.is-dragover) { transform:none; background:var(--tj-surface); border-color:var(--tj-pink); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .tjff-drop-icon { border:0; border-radius:var(--tj-radius-sm); background:var(--tj-pink); color:var(--tj-on-accent); box-shadow:none; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .select2-container { min-width:0; max-width:100%; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(.select2-search--inline,.select2-selection__rendered,.select2-search__field) { min-width:0; max-width:100%; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .select2-selection__choice { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .select2-container--default .select2-selection--multiple { min-height:44px; border-color:var(--tj-text-subtle); border-radius:var(--tj-radius-sm); background:var(--tj-surface-raised); color:var(--tj-text); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .select2-container--default .select2-selection__choice { background:var(--tj-bg); color:var(--tj-text); border-radius:var(--tj-radius-sm); font-weight:600; }
/* Existing uploader search rules use important foreground/background declarations. */
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .select2-search__field { background:transparent !important; color:var(--tj-text) !important; }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] .select2-container--default .select2-selection__choice__remove { display:inline-grid; place-items:center; min-width:24px; min-height:24px; color:var(--tj-pink-soft); }
:is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(a,button,input,textarea,select):focus-visible { outline:3px solid var(--tj-focus); outline-offset:3px; }
@media(max-width:600px) {
 :is(.tjff-form,.tjff-status-page,.tjfr-review)[data-tj-ui="cinematic"] :is(.tjfr-head,.tjfr-actions,.tjff-edit-top) { flex-wrap:wrap; gap:.75rem; }
}

/* Original status controls use important ink/fill colours; keep the override local. */
.tjff-status-page[data-tj-ui="cinematic"] button.tjff-status-link {
 border-color:var(--tj-pink); color:var(--tj-on-accent) !important;
 -webkit-text-fill-color:var(--tj-on-accent) !important;
}
.tjff-status-page[data-tj-ui="cinematic"] button.tjff-status-link:hover {
 background:var(--tj-pink-hover); color:var(--tj-white) !important;
 -webkit-text-fill-color:var(--tj-white) !important;
}
.tjff-status-page[data-tj-ui="cinematic"] button.tjff-status-secondary {
 background:var(--tj-surface-raised) !important; border-color:var(--tj-border);
 color:var(--tj-text) !important; -webkit-text-fill-color:var(--tj-text) !important;
}
.tjff-status-page[data-tj-ui="cinematic"] button.tjff-status-secondary:hover {
 background:var(--tj-surface) !important; border-color:var(--tj-pink);
 color:var(--tj-text) !important; -webkit-text-fill-color:var(--tj-text) !important;
}
/* Existing native cast-and-crew panel; invitation and acceptance handlers remain unchanged. */
.tjff-status-page[data-tj-ui="cinematic"] .tjuc-panel { min-width:0;background:var(--tj-surface);color:var(--tj-text);border:1px solid var(--tj-border);border-radius:var(--tj-radius-card);box-shadow:0 20px 80px rgb(0 0 0 / .45); }
.tjff-status-page[data-tj-ui="cinematic"] .tjuc-results button.tjuc-user-result { min-width:0;background:var(--tj-surface-raised);color:var(--tj-text);border:1px solid var(--tj-border);border-radius:var(--tj-radius-sm); }
.tjff-status-page[data-tj-ui="cinematic"] .tjuc-results button.tjuc-user-result:is(:hover,:focus-visible) { background:var(--tj-surface-raised);color:var(--tj-text);border-color:var(--tj-focus); }
.tjff-status-page[data-tj-ui="cinematic"] .tjuc-user-avatar { border-color:var(--tj-border);background:var(--tj-surface-raised); }
.tjff-status-page[data-tj-ui="cinematic"] .tjuc [data-add] { background:var(--tj-pink);border-color:var(--tj-pink);color:var(--tj-on-accent); }

/* Retain readable native Festival status text on its pink badge. */
.tjff-status-page[data-tj-ui="cinematic"] .tjff-status-pill { color:var(--tj-on-accent); }
