:root {
  --bg: #0f1419;
  --panel: #1a2332;
  --text: #e7ecf3;
  --muted: #9aa8bc;
  --accent: #3d8bfd;
  --ok: #3dd68c;
  --warn: #f5a524;
  --err: #f31260;
  --border: #2a3548;
  --sel: #1e3a5f;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.45;
}
.topbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: .85rem 1.25rem;
  background: #121a24; border-bottom: 1px solid var(--border);
  position: sticky; top: 0; z-index: 10;
}
.brand { font-weight: 700; letter-spacing: .04em; }
.nav { display: flex; gap: .75rem; align-items: center; }
.nav-item {
  color: var(--text); text-decoration: none; padding: .4rem .75rem;
  border-radius: 6px; border: 1px solid transparent;
}
.nav-item.active { background: var(--accent); color: #fff; }
.nav-item.disabled { color: var(--muted); cursor: not-allowed; opacity: .7; }
.nav-item small { display: block; font-size: .7rem; color: var(--warn); }
.container { max-width: 1100px; margin: 0 auto; padding: 1rem 1.25rem 3rem; }
.panel {
  background: var(--panel); border: 1px solid var(--border);
  border-radius: 10px; padding: 1rem 1.1rem; margin-bottom: 1rem;
}
h1,h2 { margin: 0 0 .75rem; font-size: 1.15rem; }
.hint { color: var(--muted); font-weight: 400; font-size: .85rem; }
.search-row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.search-row input {
  flex: 1; min-width: 180px; padding: .55rem .7rem; border-radius: 6px;
  border: 1px solid var(--border); background: #0d1218; color: var(--text);
}
button {
  padding: .55rem .9rem; border-radius: 6px; border: 1px solid var(--border);
  background: #243044; color: var(--text); cursor: pointer;
}
button.primary { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 600; }
button.disabled, button:disabled { opacity: .45; cursor: not-allowed; }
button:hover:not(:disabled) { filter: brightness(1.08); }
.alert {
  margin-top: .75rem; padding: .65rem .8rem; border-radius: 6px;
  background: #3a1d28; border: 1px solid var(--err); color: #ffd0dc;
}
.alert.hidden, .hidden { display: none !important; }
.meta-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .5rem .9rem; }
.meta-item { font-size: .92rem; }
.meta-item span { color: var(--muted); display: block; font-size: .75rem; }
.cards {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .75rem;
}
.cards-logo { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.cards-text { grid-template-columns: 1fr; }
.card {
  border: 2px solid var(--border); border-radius: 8px; overflow: hidden;
  background: #121925; cursor: pointer; position: relative;
}
.card.selected { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); background: var(--sel); }
.card img { width: 100%; display: block; background: #000; }
.card.logo-card { background:
  linear-gradient(45deg, #333 25%, transparent 25%),
  linear-gradient(-45deg, #333 25%, transparent 25%),
  linear-gradient(45deg, transparent 75%, #333 75%),
  linear-gradient(-45deg, transparent 75%, #333 75%);
  background-size: 16px 16px; background-position: 0 0, 0 8px, 8px -8px, -8px 0; background-color: #222;
}
.card.logo-card img { object-fit: contain; max-height: 90px; background: transparent; padding: .5rem; }
.card .cap { padding: .4rem .5rem; font-size: .75rem; color: var(--muted); }
.card-text { padding: .75rem; }
.card-text strong { display: block; margin-bottom: .25rem; }
.stack p { margin: .35rem 0; }
.summary { list-style: none; padding: 0; margin: 0; }
.summary li { padding: .35rem 0; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 1rem; }
.badge-ok { color: var(--ok); }
.badge-pend { color: var(--warn); }
.meta-line { color: var(--muted); font-size: .9rem; }
code { color: #9ed0ff; }

.row-between { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.row { display:flex; align-items:center; }
.gap { gap:.5rem; }
.wrap { flex-wrap:wrap; }
.mt { margin-top:.75rem; }
.flix-group { margin-bottom:1rem; }
.flix-group h3 { margin:0 0 .5rem; font-size:1rem; color:var(--muted); }
.flix-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:.65rem .9rem; }
.flix-field label { display:flex; justify-content:space-between; gap:.5rem; font-size:.78rem; color:var(--muted); margin-bottom:.2rem; }
.tag { font-size:.68rem; padding:.1rem .35rem; border-radius:4px; border:1px solid var(--border); }
.tag-AUTO { color:var(--ok); }
.tag-MANUAL { color:var(--warn); }
.tag-DERIVADO,.tag-PLATAFORMA { color:var(--muted); }
.tag-PENDIENTE { color:var(--err); }
.flix-field input, .flix-field select, .flix-field textarea {
  width:100%; padding:.45rem .55rem; border-radius:6px; border:1px solid var(--border);
  background:#0d1218; color:var(--text);
}
.flix-field textarea { min-height:88px; resize:vertical; }
.btn-more { margin-top:.5rem; }
.btn-link {
  display:inline-block; padding:.55rem .9rem; border-radius:6px; border:1px solid var(--border);
  background:#243044; color:var(--text); text-decoration:none;
}
.btn-link.disabled { opacity:.45; pointer-events:none; }
.banner {
  background:var(--sel); border:1px solid var(--accent); border-radius:8px;
  padding:.65rem .8rem; margin-bottom:.75rem;
}
.cards-trailers { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.trailer-card img.thumb { width:100%; aspect-ratio:16/9; object-fit:cover; background:#000; }
.preview-box { margin-top:.75rem; }
.preview-box iframe { width:100%; max-width:720px; aspect-ratio:16/9; border:0; border-radius:8px; background:#000; }
.lightbox {
  position:fixed; inset:0; background:rgba(0,0,0,.85); display:flex; align-items:center; justify-content:center;
  z-index:50; flex-direction:column; gap:.75rem;
}
.lightbox img { max-width:min(960px,92vw); max-height:80vh; }
.lightbox.hidden { display:none !important; }
.card.hidden-card { display:none !important; }

.field-help{font-size:.72rem;color:var(--muted);margin-top:.15rem;}
.flow-steps{margin:.25rem 0 .75rem 1.1rem;color:var(--muted);}
.flow-steps li{margin:.2rem 0;}

.table-wrap{overflow:auto;max-height:280px;border:1px solid var(--border);border-radius:8px;}
.media-table{width:100%;border-collapse:collapse;font-size:.88rem;}
.media-table th,.media-table td{padding:.4rem .55rem;border-bottom:1px solid var(--border);text-align:left;}
.media-table tr{cursor:pointer;}
.media-table tr:hover{background:#1a2433;}
.media-table tr.row-selected{background:var(--sel);}

/* Series assets V1.1 */
.sel-banner { margin:.5rem 0; padding:.45rem .65rem; border:1px solid var(--accent); border-radius:8px; background:var(--sel); font-size:.9rem; }
.sel-banner.pending { border-color:var(--border); background:transparent; color:var(--muted); }
.tech-providers { font-size:.8rem; color:var(--muted); }
.asset-separation-note,.generated-separation-note {
  margin:.8rem 0 0; padding:.7rem .8rem; border:1px solid rgba(66,201,133,.35);
  border-radius:8px; background:rgba(66,201,133,.06); color:#b9d8c8;
}
.generated-separation-note { grid-column:1/-1; border-color:rgba(228,168,58,.4); background:rgba(228,168,58,.07); color:#edbf6d; }
.independent-asset-block {
  margin-top:1rem; padding-top:1rem; border-top:1px solid #303844;
}
.independent-asset-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.independent-asset-heading h3 { margin:.1rem 0 .65rem; color:#f2f3f5; }
.independent-logo-preview {
  display:flex; align-items:center; justify-content:center; min-height:150px; padding:1rem;
  border:1px solid #303844; border-radius:10px; overflow:hidden; background-color:#11151b;
  background-image:linear-gradient(45deg,#202630 25%,transparent 25%),linear-gradient(-45deg,#202630 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#202630 75%),linear-gradient(-45deg,transparent 75%,#202630 75%);
  background-size:24px 24px; background-position:0 0,0 12px,12px -12px,-12px 0;
}
.independent-logo-preview img { display:block; width:auto; max-width:min(720px,100%); max-height:180px; object-fit:contain; }
.independent-logo-fallback { display:flex; flex-direction:column; align-items:center; gap:.3rem; color:#c9ced5; text-align:center; }
.independent-logo-fallback span { color:#929aa6; font-size:.86rem; }
.manual-link-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.5rem; margin:.5rem 0; }
.series-compact { border:1px solid var(--border); border-radius:8px; padding:.75rem; margin:.65rem 0; background:#121925; }
.series-compact h3,.series-compact h4 { margin:0; }
.season-compact { margin-top:.65rem; padding-top:.55rem; border-top:1px solid var(--border); }
.episode-compact-list { margin-top:.35rem; }
.episode-compact-row { display:flex; justify-content:space-between; gap:1rem; padding:.35rem .2rem; border-bottom:1px solid var(--border); }
.episode-compact-row:last-child { border-bottom:0; }
@media (max-width:600px) { .episode-compact-row { align-items:flex-start; } }

/* Operator polish — one canonical Local Draft row across Movies and Series. */
.draft-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 9.25rem 11.75rem;
  align-items:center;
  gap:.75rem;
  min-height:52px;
  width:100%;
  min-width:0;
}
.draft-info { min-width:0; overflow-wrap:anywhere; }
.draft-info strong,.draft-info small { display:block; }
.draft-info small { color:var(--muted); margin-top:.12rem; }
.draft-status { justify-self:center; white-space:nowrap; }
.draft-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; min-width:0; width:100%; }
.draft-action { justify-self:stretch; min-width:0; width:100%; text-align:center; white-space:nowrap; }
.draft-delete { background:#1b171a; border-color:#7c2b38; color:#ff9aaa; }
.draft-delete:hover:not(:disabled) { background:#29181d; border-color:#c6384e; color:#ffd2d8; }
.draft-delete-error { grid-column:1 / -1; color:#ffadb8; font-size:.75rem; font-weight:700; line-height:1.35; }
.draft-subrow { padding:.4rem .2rem .4rem .8rem; }
.season-compact h4 { color:var(--muted); font-size:.78rem; letter-spacing:.04em; }
.compact-empty { margin:.55rem 0 0; }

.episode-operator-flow .media-input-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.episode-operator-flow .context-error { display:block; margin-top:.3rem; color:#ffadb8; font-size:.75rem; line-height:1.35; }
.episode-operator-flow .media-confirm > .status-ready { border-color:rgba(66,201,133,.42); background:rgba(66,201,133,.07); }
.episode-operator-flow .media-confirm > .status-pending { border-color:rgba(228,168,58,.45); background:rgba(228,168,58,.07); }
.episode-operator-flow .media-confirm > .status-error { border-color:rgba(239,83,102,.52); background:rgba(239,83,102,.08); }
.episode-operator-flow .media-confirm > .status-optional { border-color:var(--border); background:#11161d; }

@media (max-width:600px) {
  .draft-row { grid-template-columns:minmax(0,1fr); gap:.45rem; }
  .draft-info,.draft-status,.draft-actions { grid-column:1; }
  .draft-status { justify-self:start; font-size:.62rem; }
  .draft-subrow { padding-left:.5rem; }
  .episode-operator-flow .media-input-grid { grid-template-columns:1fr; }
}

.draft-delete-dialog {
  width:min(440px,calc(100vw - 2rem)); padding:0; border:1px solid #59616d; border-radius:10px;
  background:#11161d; color:var(--text); box-shadow:0 24px 70px rgba(0,0,0,.62);
}
.draft-delete-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(2px); }
.draft-delete-dialog-body { padding:1.15rem; }
.draft-delete-dialog h2 { margin:.1rem 0 .6rem; font-size:1.1rem; }
.draft-delete-dialog p:not(.eyebrow) { margin:0; color:#cbd0d7; line-height:1.5; }
.draft-delete-dialog-actions { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin-top:1rem; }
.draft-delete-dialog-actions > * { min-height:42px; }
.draft-delete-dialog .draft-delete-confirm { background:#43151d; border-color:#c6384e; color:#fff; }
.draft-delete-dialog .draft-delete-confirm:hover:not(:disabled) { background:#641d29; border-color:#ff4c65; }

/* UX/UI Final V1 */
:root { --panel-soft:#151e2b; --focus:#7db4ff; }
h1 { font-size:1.55rem; letter-spacing:-.02em; }
h2 { font-size:1.05rem; }
input, select, textarea { font:inherit; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.eyebrow { margin:0 0 .25rem; color:#75adff; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.flow-hero { display:grid; grid-template-columns:minmax(250px,1fr) minmax(360px,1.25fr); gap:1.25rem; align-items:center; padding:1.2rem 1.3rem; }
.flow-hero > .alert,.flow-hero > details { grid-column:1/-1; }
.search-main input { min-height:46px; font-size:1rem; }
.action-main { min-height:46px; padding:.7rem 1.2rem; }
.import-status { margin:.65rem 0 0; min-height:1.25rem; color:var(--muted); font-size:.88rem; }
.import-status.loading { color:#f3c7cb; }
.import-status.success { color:var(--ok); }
.import-status.error { color:var(--err); }
.button-spinner { width:1rem; height:1rem; display:inline-block; flex:0 0 auto; border:2px solid rgba(255,255,255,.42); border-top-color:#fff; border-radius:50%; animation:fcm-spin .8s linear infinite; }
#btn-ser-import[data-state="loading"] { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; }
@keyframes fcm-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .button-spinner { animation-duration:1.6s; } }
.result-head { position:sticky; top:62px; z-index:7; box-shadow:0 10px 24px rgba(0,0,0,.2); }
.result-identity { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.result-identity h2 { font-size:1.35rem; margin-bottom:.2rem; }
.status-pill,.section-state {
  display:inline-flex; align-items:center; gap:.25rem; border-radius:999px; padding:.22rem .58rem;
  font-size:.7rem; font-weight:800; letter-spacing:.04em; color:var(--warn); background:rgba(245,165,36,.1); border:1px solid rgba(245,165,36,.45);
}
.status-pill.ready,.section-state.ready { color:var(--ok); background:rgba(61,214,140,.1); border-color:rgba(61,214,140,.45); }
.section-state.optional { color:var(--muted); background:transparent; border-color:var(--border); }
.section-state.manual { color:var(--warn); }
.progress-grid { display:grid; grid-template-columns:repeat(6,minmax(90px,1fr)); gap:.45rem; margin:.8rem 0; }
.progress-item { border:1px solid var(--border); border-radius:7px; padding:.45rem .55rem; background:#121925; }
.progress-item span { display:block; color:var(--muted); font-size:.65rem; letter-spacing:.05em; }
.progress-item strong { display:block; margin-top:.12rem; font-size:.77rem; color:var(--warn); }
.progress-item.ready strong { color:var(--ok); }
.progress-item.optional strong { color:var(--muted); }
.collapsible { padding:0; overflow:hidden; }
.collapsible > summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem 1.1rem; cursor:pointer; font-weight:750; }
.collapsible > summary::-webkit-details-marker { display:none; }
.collapsible > summary::before { content:'›'; color:var(--muted); font-size:1.35rem; transform:rotate(0); transition:transform .15s; }
.collapsible[open] > summary::before { transform:rotate(90deg); }
.collapsible > summary > span:first-of-type { flex:1; }
.collapsible[open] > summary { border-bottom:1px solid var(--border); }
.section-body { padding:1rem 1.1rem 1.1rem; }
.compact-summary { display:none; padding:0 1.1rem .8rem; color:var(--muted); font-size:.87rem; }
.collapsible:not([open]) .compact-summary { display:block; }
.cards { grid-template-columns:repeat(auto-fill,minmax(125px,1fr)); gap:.6rem; }
.cards-poster { grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); }
.cards-backdrop { grid-template-columns:repeat(auto-fill,minmax(175px,1fr)); }
.cards-logo { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
.card img { aspect-ratio:16/9; object-fit:cover; }
.cards-poster .card img { aspect-ratio:2/3; }
.card.logo-card img { aspect-ratio:16/7; max-height:78px; }
.card .cap { min-height:29px; }
.card-action { width:calc(100% - .8rem); margin:.1rem .4rem .5rem; padding:.4rem .55rem; font-size:.72rem; font-weight:700; }
.card.selected .card-action { background:var(--accent); border-color:var(--accent); }
.media-input-grid { display:grid; grid-template-columns:1fr 1fr auto; gap:.7rem; align-items:end; }
.media-input-grid label { color:var(--muted); font-size:.75rem; font-weight:700; letter-spacing:.04em; }
.media-input-grid input { display:block; width:100%; margin-top:.25rem; padding:.58rem .65rem; border-radius:6px; border:1px solid var(--border); background:#0d1218; color:var(--text); }
.media-confirm { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-top:.75rem; }
.media-confirm > div { padding:.65rem .75rem; border:1px solid rgba(61,214,140,.35); border-radius:8px; background:rgba(61,214,140,.06); min-width:0; }
.media-confirm span,.media-confirm small { display:block; color:var(--muted); font-size:.68rem; }
.media-confirm strong { display:block; overflow-wrap:anywhere; font-size:.88rem; color:var(--text); }
.final-panel { border-color:rgba(61,214,140,.4); }
.final-actions { display:flex; gap:.65rem; align-items:center; flex-wrap:wrap; margin-top:1rem; }
.mode-tabs { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.mode-tabs button { text-align:left; padding:.7rem .85rem; }
.mode-tabs button strong,.mode-tabs button small { display:block; }
.mode-tabs button small { color:var(--muted); margin-top:.12rem; }
.mode-tabs button.primary small { color:#dceaff; }
.identity-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:.6rem; }
.identity-cell { padding:.7rem .8rem; background:#121925; border:1px solid var(--border); border-radius:8px; }
.identity-cell span { display:block; color:var(--muted); font-size:.68rem; letter-spacing:.06em; }
.identity-cell strong { display:block; font-size:1.05rem; margin-top:.15rem; }
.identity-title { margin:.75rem 0 0; font-size:1.1rem; }
.asset-parent-head { border-color:rgba(61,139,253,.45); }
.segmented { display:inline-flex; gap:0; border:1px solid var(--border); border-radius:7px; overflow:hidden; margin-bottom:.65rem; }
.segmented button { border:0; border-right:1px solid var(--border); border-radius:0; font-size:.72rem; }
.segmented button:last-child { border-right:0; }
.segmented button.active { background:var(--accent); outline:0; }
.flix-group { padding:.75rem; background:var(--panel-soft); border:1px solid var(--border); border-radius:8px; }
.flix-group h3 { color:var(--text); }
.flix-field.pending input,.flix-field.pending textarea,.flix-field.pending select { border-color:rgba(245,165,36,.65); }
.tag-PLATAFORMA { color:var(--warn); }
.tag-NO_APLICA_MOVIE { color:var(--muted); }
.prepared-list { display:grid; gap:.45rem; }
.prepared-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.6rem .7rem; background:#121925; border:1px solid var(--border); border-radius:7px; }
.prepared-row-title { min-width:0; }
.prepared-row-title strong,.prepared-row-title small { display:block; }
.prepared-row-title small { color:var(--muted); }
.prepared-row a { white-space:nowrap; }
.alert.success { background:#173326; border-color:var(--ok); color:#c8ffe3; }
.alert.error { background:#3a1d28; border-color:var(--err); color:#ffd0dc; }
@media (max-width:850px) {
  .flow-hero { grid-template-columns:1fr; }
  .flow-hero > * { grid-column:1; }
  .progress-grid { grid-template-columns:repeat(3,1fr); }
  .media-input-grid { grid-template-columns:1fr 1fr; }
  .media-input-grid button { grid-column:1/-1; }
  .result-head { position:static; }
}
@media (max-width:600px) {
  .container { padding:.7rem .75rem 2rem; }
  .brand { font-size:.8rem; }
  .progress-grid { grid-template-columns:repeat(2,1fr); }
  .identity-grid,.media-confirm,.mode-tabs { grid-template-columns:1fr; }
  .cards-backdrop { grid-template-columns:repeat(2,minmax(130px,1fr)); }
  .media-input-grid { grid-template-columns:1fr; }
  .media-input-grid button { grid-column:auto; }
}

/* UX/UI Final V1.1 — operator polish */
.field-label { display:inline-flex; align-items:center; gap:.3rem; }
.help-tip {
  position:relative; display:inline-grid; place-items:center; width:17px; height:17px;
  border:1px solid #718098; border-radius:50%; color:#b8c5d8; font-size:.66rem;
  font-weight:800; line-height:1; cursor:help; outline:none;
}
.help-tip::after {
  content:attr(data-tooltip); position:absolute; left:0; bottom:calc(100% + 7px);
  width:max-content; max-width:min(280px,calc(100vw - 24px)); padding:.48rem .58rem; border-radius:6px;
  background:#080c12; border:1px solid #43516a; color:var(--text);
  font-size:.74rem; font-weight:500; line-height:1.35; letter-spacing:0; white-space:normal; overflow-wrap:anywhere;
  box-shadow:0 8px 20px rgba(0,0,0,.35); opacity:0; visibility:hidden;
  transform:translateY(3px); transition:.12s; z-index:30; pointer-events:none;
}
.help-tip.tooltip-align-left::after { left:auto; right:0; }
.help-tip:hover::after,.help-tip:focus::after,.help-tip.is-open::after {
  opacity:1; visibility:visible; transform:translateY(0);
}
.requirements-guide {
  margin-top:.9rem; padding:.65rem .75rem; border:1px solid rgba(245,165,36,.45);
  border-radius:8px; background:rgba(245,165,36,.07); color:#ffd38a; font-size:.88rem;
}
.requirements-guide.complete {
  border-color:rgba(61,214,140,.45); background:rgba(61,214,140,.07); color:#aaf2ce;
}
.tag-PENDIENTE_DE_FLIX { color:var(--warn); }
.badge-platform { display:inline-flex; padding:.24rem .54rem; border-radius:999px; background:rgba(245,165,36,.10); color:#e8c77f; border:1px solid rgba(245,165,36,.42); font-weight:700; }
.platform-note { color:#d5b16b; font-size:.76rem; margin:.2rem 0 0; }
.draft-badge {
  color:#f3ca7b; background:rgba(245,165,36,.08); border:1px solid rgba(245,165,36,.35);
  border-radius:999px; padding:.18rem .48rem; font-size:.68rem; font-weight:800; white-space:nowrap;
}
.preview-fallback {
  max-width:720px; padding:.8rem; border:1px solid var(--border); border-radius:8px;
  background:#121925; color:var(--muted);
}
.preview-fallback p { margin:.15rem 0 .55rem; }
.preview-box .preview-actions { display:flex; align-items:center; gap:.55rem; margin-top:.5rem; }
.inline-action { margin-top:.65rem; }
.autosave-state { color:var(--muted); font-size:.72rem; margin-left:.4rem; }
.autosave-state.saved { color:var(--ok); }
.progress-item.selected strong { color:#7db4ff; }
.section-state.selected { color:#7db4ff; border-color:rgba(125,180,255,.5); background:rgba(125,180,255,.08); }
.flix-field.platform-pending input { border-color:rgba(245,165,36,.45); }
@media (max-width:600px) {
  .help-tip::after { left:auto; right:0; }
}

/* UX/UI Visual Theme V2 — premium dark Flix-inspired interface. */
:root {
  --bg:#080a0e;
  --panel:#12161d;
  --panel-soft:#171c24;
  --text:#f2f3f5;
  --muted:#939ba8;
  --accent:#a40d22;
  --accent-hover:#d31330;
  --ok:#42c985;
  --warn:#e4a83a;
  --err:#ef5366;
  --border:#29303a;
  --sel:#2d0d15;
  --focus:#ff2947;
}
body {
  background:radial-gradient(ellipse 70% 26rem at 50% -10%,rgba(223,17,45,.22),transparent 72%),linear-gradient(180deg,#0c0709 0%,#08090d 36%,#06070a 100%);
  background-attachment:fixed;
  color:var(--text);
  min-height:100vh;
}
.topbar {
  background:linear-gradient(180deg,rgba(35,3,9,.98),rgba(11,9,13,.98)); border-bottom:1px solid rgba(255,27,57,.68);
  box-shadow:0 8px 30px rgba(0,0,0,.42),0 1px 18px rgba(223,17,45,.12); padding:.62rem 1.4rem;
  backdrop-filter:blur(12px);
}
.brand { display:flex; align-items:center; gap:.9rem; color:var(--text); letter-spacing:0; }
.brand-logo-frame { position:relative; display:block; flex:0 0 112px; width:112px; height:50px; overflow:hidden; }
.brand-logo { position:absolute; width:180px; height:120px; max-width:none; left:50%; top:50%; transform:translate(-50%,-50%); }
.brand-product { font-size:.94rem; font-weight:800; letter-spacing:.045em; }
.nav { gap:.42rem; }
.nav-item { color:#c9ced6; font-weight:720; transition:background .16s,color .16s,border-color .16s; }
.nav-item:hover,.nav-item:focus-visible { background:#1b2028; color:#fff; border-color:#343b46; outline:none; }
.nav-item.active { background:linear-gradient(180deg,#b70e27,#8e091c); border-color:#f02543; color:#fff; box-shadow:0 0 20px rgba(255,32,63,.22),inset 0 1px 0 rgba(255,255,255,.08); }
.nav-item.disabled { color:#656d78; }
.container { max-width:1320px; padding:1.35rem 1.4rem 3.75rem; }
.panel {
  background:linear-gradient(135deg,rgba(18,19,24,.98),rgba(10,11,15,.98)); border-color:#34363e;
  border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.28),-1px 0 0 rgba(255,31,61,.42); padding:1.15rem 1.2rem;
}
.flow-hero { border-top:1px solid #ff243f; box-shadow:0 14px 34px rgba(0,0,0,.32),0 0 24px rgba(220,16,45,.08),-2px 0 0 rgba(255,31,61,.62); }
h1 { color:#fff; }
h2,h3,strong { color:var(--text); }
.hint,.meta-line,.field-help { color:var(--muted); }
.eyebrow { color:#ff435d; }
code,a { color:#ff6a7e; }
a:hover { color:#ff9aac; }

.search-row input,.media-input-grid input,input,select,textarea {
  background:#0c1016; color:var(--text); border-color:#343c47;
}
input::placeholder,textarea::placeholder { color:#6f7782; opacity:1; }
input:hover,select:hover,textarea:hover { border-color:#48515e; }
input:focus,select:focus,textarea:focus {
  outline:3px solid rgba(255,41,71,.14); border-color:var(--focus); box-shadow:0 0 0 1px rgba(255,41,71,.2),0 0 18px rgba(255,22,55,.08);
}
select { color-scheme:dark; }

button,.btn-link {
  background:#222832; border-color:#3b4450; color:#e9ebef; font-weight:700;
  transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;
}
button:hover:not(:disabled),.btn-link:hover:not(.disabled) {
  background:#2a313c; border-color:#505b69; color:#fff; filter:none; transform:translateY(-1px);
}
button:focus-visible,.btn-link:focus-visible { outline:3px solid rgba(255,41,71,.28); outline-offset:2px; }
button.primary,.action-main,#btn-ep-use-file,#btn-save-flix,#btn-ser-save,#btn-ep-save,
.card.selected .card-action {
  background:linear-gradient(180deg,#bd102a,#92091d); border-color:#f12543; color:#fff;
  box-shadow:0 6px 18px rgba(201,13,43,.24),0 0 16px rgba(255,31,61,.08);
}
button.primary:hover:not(:disabled),.action-main:hover:not(:disabled),#btn-ep-use-file:hover:not(:disabled),#btn-save-flix:hover:not(:disabled),#btn-ser-save:hover:not(:disabled),#btn-ep-save:hover:not(:disabled) {
  background:linear-gradient(180deg,#df1837,#ad0b24); border-color:#ff3854;
}
.btn-link { display:inline-flex; align-items:center; justify-content:center; }
.btn-link.disabled,button:disabled,button.disabled {
  background:#181c22; border-color:#2b3139; color:#636b76; opacity:1; box-shadow:none; transform:none; cursor:not-allowed;
}

.card,.progress-item,.identity-cell,.prepared-row,.series-compact,.preview-fallback {
  background:#151a22; border-color:#303844;
}
.card { box-shadow:0 8px 18px rgba(0,0,0,.17); transition:border-color .16s,box-shadow .16s,transform .16s; }
.card:hover { border-color:#4b5563; transform:translateY(-2px); }
.card.selected {
  border-color:#ff2947; background:var(--sel);
  box-shadow:0 0 0 1px rgba(255,41,71,.5),0 0 22px rgba(255,28,62,.17);
}
.card img { background:#090b0f; }
.card.logo-card {
  background-color:#11151b;
  background-image:linear-gradient(45deg,#202630 25%,transparent 25%),linear-gradient(-45deg,#202630 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#202630 75%),linear-gradient(-45deg,transparent 75%,#202630 75%);
}
.card .cap { color:#a8afb9; }
.card-action { background:#202630; border-color:#38414d; color:#dce0e6; }
.progress-item { box-shadow:inset 0 1px 0 rgba(255,255,255,.02); }
.progress-item strong { color:var(--warn); }
.progress-item.ready strong { color:var(--ok); }
.progress-item.selected strong { color:#ff6177; }
.identity-cell span { color:#929aa6; }
.prepared-row:hover { border-color:#48515d; background:#181e27; }
.draft-badge { color:#ff7185; background:rgba(164,13,34,.18); border-color:rgba(255,41,71,.46); }

.status-pill,.section-state {
  color:#f0bd63; background:rgba(228,168,58,.09); border-color:rgba(228,168,58,.42);
}
.status-pill.ready,.section-state.ready {
  color:#67dba1; background:rgba(66,201,133,.09); border-color:rgba(66,201,133,.42);
}
.section-state.selected { color:#ff6b80; border-color:rgba(255,41,71,.54); background:rgba(164,13,34,.2); }
.section-state.optional { color:#9da5b0; background:#151a21; border-color:#3a424d; }
.section-state.manual { color:#ff6b80; border-color:rgba(255,41,71,.42); background:rgba(164,13,34,.15); }
.tag-AUTO { color:var(--ok); }
.tag-MANUAL,.tag-TRADUCIDA { color:#ff6b80; }
.tag-DERIVADO,.tag-NO_APLICA_MOVIE { color:#a0a8b3; }
.tag-PENDIENTE,.tag-PENDIENTE_DE_FLIX,.tag-PLATAFORMA,.platform-note { color:var(--warn); }
.badge-platform { background:rgba(228,168,58,.09); color:#f0bd63; border-color:rgba(228,168,58,.42); }
.alert { background:rgba(239,83,102,.1); border-color:rgba(239,83,102,.55); color:#ffabb7; }
.alert.success { background:rgba(66,201,133,.09); border-color:rgba(66,201,133,.48); color:#8be8b8; }
.alert.error { background:rgba(239,83,102,.1); border-color:rgba(239,83,102,.55); color:#ffabb7; }
.requirements-guide { background:rgba(228,168,58,.07); border-color:rgba(228,168,58,.4); color:#edbf6d; }
.requirements-guide.complete { background:rgba(66,201,133,.07); border-color:rgba(66,201,133,.4); color:#75dba7; }
.media-confirm > div { border-color:rgba(66,201,133,.32); background:rgba(66,201,133,.055); }

.flix-group { background:#0f1319; border-color:#29313b; }
.flix-field.pending input,.flix-field.pending textarea,.flix-field.pending select,.flix-field.platform-pending input { border-color:#9c742c; }
.table-wrap { background:#0e1218; border-color:#2c333d; }
.media-table th { color:#b5bbc4; background:#151a21; }
.media-table tr:hover { background:#1a2029; }
.media-table tr.row-selected { background:var(--sel); }
.summary li { border-color:#2b323c; }
.summary li span:last-child { color:#c9ced5; }

.tech { color:#858e9a; }
.tech > summary { color:#959da8; }
.tech[open] { border-color:#313944; }
.help-tip { border-color:#7e3946; color:#e6788b; }
.help-tip::after { background:#090c11; border-color:#63303a; color:#f2f3f5; box-shadow:0 10px 26px rgba(0,0,0,.42); }
.preview-box iframe { border:1px solid #303844; box-shadow:0 10px 24px rgba(0,0,0,.24); }
.preview-fallback { color:#a2aab5; }

.workflow-section { padding:0; overflow:visible; }
.section-heading {
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:.95rem 1.15rem; border-bottom:1px solid var(--border); color:#ecedf0; font-weight:800;
  background:linear-gradient(90deg,rgba(164,13,34,.12),rgba(255,255,255,.008) 38%);
}
.workflow-section .section-body { display:block; padding:1.05rem 1.15rem 1.2rem; }
.section-heading > span:first-child { color:#ff435d; letter-spacing:.025em; }
.result-head { top:63px; border-left:2px solid #ff2947; box-shadow:0 12px 28px rgba(0,0,0,.3),0 0 18px rgba(255,28,62,.07); }
.asset-parent-head { border-color:#4b2630; }
.generated-panel { border-top:1px solid #ff2947; }
.generated-heading { display:flex; justify-content:space-between; align-items:center; gap:1.25rem; margin-bottom:.95rem; }
.generated-heading h2 { margin-bottom:.2rem; }
.generated-heading .hint { margin:.1rem 0 0; }
.generated-actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; justify-content:flex-end; }
.generated-empty {
  margin:.7rem 0; padding:.95rem; border:1px dashed #3a424d; border-radius:7px;
  color:var(--muted); background:#0e1218; text-align:center;
}
.final-panel { border:1px solid #6f202f; box-shadow:0 12px 30px rgba(0,0,0,.28),inset 2px 0 0 #ff2947,0 0 22px rgba(255,29,61,.07); }
.platform-action {
  display:flex; align-items:center; gap:.85rem; flex-wrap:wrap; margin-top:1rem; padding:1rem;
  border:1px solid #292f38; border-radius:8px; background:#0e1217;
}
.platform-action p { margin:0; color:#858e99; font-size:.82rem; }
.platform-action.locally-ready { background:#12151a; border-color:#343b45; }
.upload-flix {
  min-height:48px; padding:.72rem 1.3rem; background:linear-gradient(180deg,#d41432,#9f0b22); border-color:#ff2947;
  color:#fff; opacity:1; box-shadow:0 0 18px rgba(255,41,71,.18); font-weight:800; letter-spacing:.03em; cursor:pointer;
}
.upload-flix:disabled,.platform-action.locally-ready .upload-flix:disabled {
  background:#191d23; border-color:#303741; color:#636b75; opacity:1; box-shadow:none; cursor:not-allowed;
}
.summary-status.status-warning,.master-summary-row.status-warning .summary-status {
  color:#ffd56a; border-color:#8b6920; background:#2a220f;
}
.master-summary-row.status-warning { border-color:#5f4d24; }

/* All candidates stay available without opening/closing subviews. */
.workflow-section .cards-poster,.workflow-section .cards-backdrop,.workflow-section .cards-logo,
.workflow-section .cards-trailers,#ser-assets .cards-poster,#ser-assets .cards-backdrop,
#ser-assets .cards-logo,#ser-assets .cards-trailers {
  display:flex; overflow-x:auto; gap:.8rem; padding:.2rem .15rem .9rem; scroll-snap-type:x proximity;
  scrollbar-width:thin; scrollbar-color:#8f1b30 #11151b;
}
.workflow-section .cards-poster::-webkit-scrollbar,.workflow-section .cards-backdrop::-webkit-scrollbar,
.workflow-section .cards-logo::-webkit-scrollbar,.workflow-section .cards-trailers::-webkit-scrollbar,
#ser-assets .cards-poster::-webkit-scrollbar,#ser-assets .cards-backdrop::-webkit-scrollbar,
#ser-assets .cards-logo::-webkit-scrollbar,#ser-assets .cards-trailers::-webkit-scrollbar { height:8px; }
.workflow-section .cards-poster::-webkit-scrollbar-track,.workflow-section .cards-backdrop::-webkit-scrollbar-track,
.workflow-section .cards-logo::-webkit-scrollbar-track,.workflow-section .cards-trailers::-webkit-scrollbar-track,
#ser-assets .cards-poster::-webkit-scrollbar-track,#ser-assets .cards-backdrop::-webkit-scrollbar-track,
#ser-assets .cards-logo::-webkit-scrollbar-track,#ser-assets .cards-trailers::-webkit-scrollbar-track { background:#11151b; border-radius:999px; }
.workflow-section .cards-poster::-webkit-scrollbar-thumb,.workflow-section .cards-backdrop::-webkit-scrollbar-thumb,
.workflow-section .cards-logo::-webkit-scrollbar-thumb,.workflow-section .cards-trailers::-webkit-scrollbar-thumb,
#ser-assets .cards-poster::-webkit-scrollbar-thumb,#ser-assets .cards-backdrop::-webkit-scrollbar-thumb,
#ser-assets .cards-logo::-webkit-scrollbar-thumb,#ser-assets .cards-trailers::-webkit-scrollbar-thumb { background:#8f1b30; border-radius:999px; }
.workflow-section .cards-poster .card,#ser-assets .cards-poster .card { flex:0 0 138px; }
.workflow-section .cards-backdrop .card,#ser-assets .cards-backdrop .card { flex:0 0 230px; }
.workflow-section .cards-logo .card,#ser-assets .cards-logo .card { flex:0 0 220px; }
.workflow-section .cards-trailers .card,#ser-assets .cards-trailers .card { flex:0 0 270px; }
.workflow-section .card,#ser-assets .card { scroll-snap-align:start; }

@media (max-width:900px) {
  .container { padding:1rem 1rem 3rem; }
  .panel { padding:1rem; }
  .workflow-section { padding:0; }
  .generated-heading { align-items:stretch; flex-direction:column; }
  .generated-actions { justify-content:flex-start; }
  .generated-actions > * { flex:1 1 auto; text-align:center; }
}
@media (max-width:700px) {
  .topbar { align-items:flex-start; padding:.7rem .8rem; }
  .brand { align-items:flex-start; flex-direction:column; gap:.05rem; }
  .brand-logo-frame { flex-basis:auto; width:90px; height:40px; }
  .brand-logo { width:144px; height:96px; }
  .brand-product { font-size:.72rem; }
  .nav { align-self:center; }
  .nav-item { padding:.42rem .56rem; font-size:.82rem; }
  .section-heading { align-items:flex-start; }
}


.translation-actions {
  display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; margin-top:.55rem;
}
.translation-actions span { color:var(--muted); font-size:.72rem; }
.btn-translate {
  padding:.48rem .72rem; border-color:#a51c31; color:#fff;
  background:linear-gradient(180deg,#b71832,#881326); font-size:.74rem; font-weight:800;
  letter-spacing:.025em;
}
.btn-translate:hover:not(:disabled) { border-color:#ff405d; background:#bd1934; }


.preview-title {
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  max-width:720px; margin-bottom:.55rem;
}
.preview-fallback-rich {
  display:grid; grid-template-columns:minmax(180px,280px) 1fr; gap:1rem;
  align-items:center; max-width:720px;
}
.preview-thumb {
  display:block; width:100%; aspect-ratio:16/9; object-fit:cover;
  border-radius:7px; background:#050608;
}
.preview-placeholder {
  display:grid; place-items:center; aspect-ratio:16/9; border-radius:7px;
  background:linear-gradient(135deg,#310710,#0a0c10); color:#ff405d;
  font-weight:900; letter-spacing:.08em;
}
@media (max-width:600px) {
  .preview-fallback-rich { grid-template-columns:1fr; }
}


/* POST_USER_FEEDBACK_V1 — operational traffic-light semantics */
.tag-DEFAULT,.tag-TRANSLATED,.tag-TRADUCIDA { color:var(--ok); }
.tag-MANUAL { color:#ff6b80; }
.section-state.selected,.progress-item.selected strong { color:var(--ok); border-color:rgba(61,214,140,.45); }
.section-state.error { color:var(--err); border-color:rgba(255,77,98,.5); background:rgba(255,77,98,.1); }
.requirements-guide.required-error { color:var(--err); border-color:rgba(255,77,98,.45); }


/* POST_USER_FEEDBACK_V1_1 — visible status badges and episode still */
.summary-status {
  display:inline-flex; align-items:center; justify-content:center; min-width:88px;
  padding:.2rem .55rem; border:1px solid; border-radius:999px;
  font-size:.7rem; font-weight:850; letter-spacing:.035em; white-space:nowrap;
}
.summary-status.status-ready { color:#75e0aa; background:rgba(66,201,133,.12); border-color:rgba(66,201,133,.48); }
.summary-status.status-pending { color:#f1bf68; background:rgba(228,168,58,.12); border-color:rgba(228,168,58,.48); }
.summary-status.status-optional { color:#a4acb7; background:#171c23; border-color:#414955; }
.summary-status.status-error { color:#ff8b9b; background:rgba(239,83,102,.12); border-color:rgba(239,83,102,.55); }
.summary-status.status-manual { color:#ff7185; background:rgba(164,13,34,.2); border-color:rgba(255,41,71,.46); }
.progress-item.status-ready strong { color:var(--ok); }
.progress-item.status-pending strong { color:var(--warn); }
.progress-item.status-optional strong { color:var(--muted); }
.progress-item.status-error strong { color:var(--err); }
.progress-item.status-manual strong { color:#ff7185; }
.episode-thumbnail-preview { max-width:620px; border:1px solid var(--border); border-radius:9px; overflow:hidden; background:#0b0e13; }
.episode-thumbnail-preview img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.episode-thumbnail-empty { display:grid; place-items:center; min-height:180px; padding:1rem; color:var(--muted); background:linear-gradient(135deg,#171b22,#0b0e13); }

/* MOVIES_PHASE_2_VIDEO_SRT_READINESS — minimal operator feedback */
.media-feedback { margin:.15rem 0 0; font-size:.78rem; }
.media-feedback.status-ready { color:var(--ok); }
.media-feedback.status-pending { color:var(--warn); }
.media-feedback.status-error { color:var(--err); }
#movie-blockers h3 { margin:0 0 .45rem; color:var(--err); font-size:.78rem; letter-spacing:.06em; }
#movie-blockers ul { margin:0; padding-left:1.15rem; }
#movie-blockers li + li { margin-top:.25rem; }

/* MOVIES_PHASE_3A_IMAGE_FLOW_INTEGRITY — source/output clarity */
.source-trace { margin:.55rem 0 0; overflow-wrap:anywhere; font-size:.72rem; }
.image-generation-status { display:grid; gap:.45rem; margin:.75rem 0; }
.image-generation-row { display:grid; grid-template-columns:minmax(90px,1fr) auto; align-items:center; gap:.65rem; padding:.55rem .7rem; border:1px solid var(--border); border-radius:8px; background:rgba(10,12,16,.5); }
.image-generation-row small { grid-column:1 / -1; color:var(--err); }

/* MOVIES_PHASE_3B_OPERATOR_FLOW_UI — Movies-only operator flow polish */
.movies-page > .panel { margin-bottom:1.15rem; }
.movies-page .trailer-module { display:grid; gap:1.15rem; }
.movies-page .module-label { margin:0 0 .55rem; color:var(--muted); font-size:.7rem; font-weight:850; letter-spacing:.07em; }
.movies-page .trailer-manual-fallback { padding-top:1rem; border-top:1px solid var(--border); }
.movies-page .manual-divider { margin:0 0 .65rem; color:#d8dce3; font-weight:750; }
.movies-page .source-trace { max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.movies-page .trailer-manual-fallback form { align-items:center; }
.movies-page .trailer-manual-fallback input[type="file"] { min-width:0; max-width:100%; }
.movies-page .final-actions { display:grid; gap:.65rem; align-items:start; padding-top:1rem; border-top:1px solid var(--border); }
.movies-page .final-actions-buttons { display:flex; flex-wrap:wrap; gap:.65rem; }
.movies-page .final-actions p { margin:0; }
.movies-page .final-actions.locally-ready { border-top-color:rgba(66,201,133,.45); }
.movies-page .final-actions #btn-save-flix {
  min-height:44px; background:#171c23; border-color:#414955; color:#e9ebef; box-shadow:none;
}
.movies-page .final-actions #btn-save-flix:hover:not(:disabled) { background:#222832; border-color:#596371; }
.movies-page .final-actions #btn-upload-flix { min-height:44px; }

@media (max-width:900px) {
  .movies-page .final-actions-buttons { flex-direction:column; align-items:stretch; }
  .movies-page .final-actions-buttons > * { width:100%; }
  .movies-page .trailer-manual-fallback form { align-items:stretch; }
  .movies-page #trailer-file { flex:1 1 100%; min-width:0; }
}

/* MOVIES_PHASE_4B_HUMAN_VISUAL_CORRECTIONS — Movies-only containment and hierarchy */
.movies-page { min-width:0; max-width:100%; }
.movies-page > *, .movies-page .section-body, .movies-page .trailer-module,
.movies-page .trailer-automatic, .movies-page .trailer-manual-fallback { min-width:0; max-width:100%; }
.movies-page .result-head { position:static; top:auto; }
.movies-page .metadata-synopsis { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border); }
.movies-page .metadata-subheading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.75rem; }
.movies-page .metadata-subheading > span:first-child { color:#ff435d; font-size:.78rem; font-weight:850; letter-spacing:.06em; }
.movies-page #synopsis-groups .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.movies-page #synopsis-groups textarea { min-height:180px; resize:vertical; }
.movies-page .cards-poster, .movies-page .cards-backdrop, .movies-page .cards-logo,
.movies-page .cards-trailers { min-width:0; max-width:100%; overflow-x:auto; overflow-y:hidden; }
.movies-page .trailer-inline-preview, .movies-page .preview-box { min-width:0; max-width:100%; overflow:hidden; }
.movies-page .source-trace { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.movies-page .generated-file-card { display:grid; grid-template-rows:auto 1fr; min-width:0; }
.movies-page .generated-file-meta { display:grid; gap:.25rem; padding:.6rem; min-width:0; }
.movies-page .generated-file-meta small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); }
.movies-page .generated-file-meta > span:not(.summary-status) { color:var(--muted); font-size:.75rem; }
.movies-page .image-generation-row { grid-template-columns:minmax(90px,1fr) auto auto; }
.movies-page .btn-image-retry { padding:.38rem .58rem; font-size:.7rem; }
.movies-page .manual-inactive { color:var(--muted); font-size:.78rem; }
.movies-page .manual-file-picker { position:relative; display:flex; align-items:center; gap:.65rem; flex:1 1 360px; min-width:0; }
.movies-page #trailer-file { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.movies-page .file-picker-button { flex:0 0 auto; padding:.58rem .75rem; border:1px solid #4a5360; border-radius:6px; background:#171c23; color:#f2f3f5; font-size:.75rem; font-weight:800; cursor:pointer; }
.movies-page #trailer-file:focus-visible + .file-picker-button { outline:2px solid #ff405d; outline-offset:2px; }
.movies-page #trailer-file-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:.78rem; }
.movies-page .media-field-help { display:block; margin-top:.3rem; color:var(--muted); font-size:.72rem; font-weight:500; letter-spacing:0; }
.movies-page .media-confirm > .media-readiness-card { border-color:var(--border); background:#11161d; }
.movies-page .media-confirm > .status-ready { border-color:rgba(66,201,133,.42); background:rgba(66,201,133,.07); }
.movies-page .media-confirm > .status-pending { border-color:rgba(228,168,58,.45); background:rgba(228,168,58,.07); }
.movies-page .media-confirm > .status-error { border-color:rgba(239,83,102,.52); background:rgba(239,83,102,.08); }
.movies-page .final-actions #btn-download { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }

@media (max-width:900px) {
  .movies-page #synopsis-groups .flix-grid { grid-template-columns:1fr; }
  .movies-page .manual-file-picker { flex-basis:100%; }
}

/* MOVIES_PHASE_4C_OPERATOR_LOGIC_CORRECTIONS — Movies-only operator clarity */
.movies-page .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.movies-page .people-grid .people-actors { grid-column:1 / -1; width:100%; min-width:0; }
.movies-page .people-grid .people-actors textarea {
  width:100%; min-height:116px; white-space:pre-wrap; overflow-wrap:anywhere; resize:vertical;
}
.movies-page .context-error {
  display:block; margin:.38rem 0 0; color:#ff8798; font-size:.75rem; font-weight:700; line-height:1.4;
}
.movies-page .context-error.hidden { display:none; }
.movies-page .flix-field:has(.context-error:not(.hidden)) input,
.movies-page .flix-field:has(.context-error:not(.hidden)) textarea,
.movies-page .flix-field:has(.context-error:not(.hidden)) select { border-color:rgba(239,83,102,.72); }
.movies-page .media-input-grid .context-error { max-width:100%; }

@media (max-width:1100px) {
  .movies-page .people-grid { grid-template-columns:1fr; }
  .movies-page .people-grid .people-actors { grid-column:1; }
}

/* SERIES_PHASE_S5A_PARENT_VISUAL_ASSET_FLOW_PARITY — Parent-only layout */
.series-parent-flow { min-width:0; max-width:100%; }
.series-parent-flow > *, .series-parent-flow .section-body { min-width:0; max-width:100%; }
.series-parent-flow #ser-flix-groups .group-primary .flix-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.series-parent-flow #ser-flix-groups .group-primary .field-platforms { grid-column:span 2; }
.series-parent-flow #ser-flix-groups .group-primary .field-genres { grid-column:1 / -1; }
.series-parent-flow #ser-flix-groups .group-people .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.series-parent-flow #ser-flix-groups .group-people .field-actors { grid-column:1 / -1; }
.series-parent-flow #ser-flix-groups .group-people textarea {
  height:112px; min-height:112px; max-height:112px; resize:none; overflow-y:auto; white-space:pre-wrap; overflow-wrap:anywhere;
}
.series-parent-flow #ser-flix-groups .group-people .field-actors textarea { height:132px; min-height:132px; max-height:132px; }
.series-parent-flow #ser-flix-groups .group-synopsis .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.series-parent-flow #ser-flix-groups .group-synopsis textarea {
  height:168px; min-height:168px; max-height:168px; resize:none; overflow-y:auto;
}
.series-parent-flow #ser-flix-groups .group-ops .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.series-parent-flow #ser-flix-pending-fields .flix-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.series-parent-flow .translation-helper { margin:.25rem 0 0; color:var(--muted); font-size:.78rem; }
.series-parent-flow .series-images-module > .section-body { padding-top:.9rem; }
.series-parent-flow .asset-subsection { margin-top:1rem; border:1px solid var(--border); border-radius:9px; background:#0d1117; overflow:hidden; }
.series-parent-flow .asset-subsection .section-heading { padding:.72rem .85rem; background:linear-gradient(90deg,rgba(164,13,34,.09),rgba(255,255,255,.004) 42%); }
.series-parent-flow .asset-subsection .section-body { padding:.85rem; }
.series-parent-flow .asset-subsection.generated-panel { padding:0; border-top-color:#ff2947; }
.series-parent-flow .asset-subsection.generated-panel > .generated-heading,
.series-parent-flow .asset-subsection.generated-panel > .requirements-guide,
.series-parent-flow .asset-subsection.generated-panel > .stack,
.series-parent-flow .asset-subsection.generated-panel > .independent-asset-block,
.series-parent-flow .asset-subsection.generated-panel > details { margin-left:.85rem; margin-right:.85rem; }
.series-parent-flow .asset-subsection.generated-panel > .generated-heading { padding-top:.85rem; }
.series-parent-flow .source-trace {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  margin:0 .5rem .45rem; color:var(--muted); font-size:.68rem; overflow-wrap:anywhere;
}
.series-parent-flow #ser-generated-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.series-parent-flow .generated-file-card { display:grid; grid-template-rows:minmax(130px,auto) 1fr; min-width:0; overflow:hidden; }
.series-parent-flow .generated-file-card > img { width:100%; height:150px; object-fit:cover; }
.series-parent-flow .generated-preview-placeholder { min-height:150px; display:grid; place-items:center; color:var(--muted); background:#090c11; }
.series-parent-flow .generated-file-meta { display:grid; align-content:start; gap:.28rem; padding:.65rem; min-width:0; }
.series-parent-flow .generated-file-meta small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); }
.series-parent-flow .generated-file-meta > span:not(.summary-status) { color:var(--muted); font-size:.76rem; }
.series-parent-flow .btn-series-image-retry { margin-top:.35rem; padding:.45rem .6rem; font-size:.72rem; }
.series-parent-flow .trailer-card { display:flex; flex-direction:column; min-height:355px; overflow:hidden; }
.series-parent-flow .trailer-card-content { min-width:0; }
.series-parent-flow .trailer-card-title {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:2.7em; max-height:2.7em; overflow:hidden;
}
.series-parent-flow .trailer-card-footer { display:grid; gap:.55rem; margin-top:auto; padding:.65rem .75rem .75rem; }
.series-parent-flow .trailer-card-links { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.series-parent-flow .trailer-card-links > * { min-height:38px; display:flex; align-items:center; justify-content:center; }
.series-parent-flow .trailer-card-footer .card-action { width:100%; min-height:40px; }
.series-parent-flow #ser-blockers ul { margin:.4rem 0 0 1.1rem; padding:0; }
.series-parent-flow .final-actions { display:grid; align-items:start; padding-top:.25rem; }
.series-parent-flow .final-actions-buttons { display:flex; flex-wrap:wrap; gap:.65rem; }

@media (max-width:1100px) {
  .series-parent-flow #ser-flix-groups .group-primary .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .series-parent-flow #ser-flix-groups .group-primary .field-genres { grid-column:1 / -1; }
}
@media (max-width:900px) {
  .series-parent-flow #ser-flix-groups .group-synopsis .flix-grid,
  .series-parent-flow #ser-flix-pending-fields .flix-grid,
  .series-parent-flow #ser-generated-cards { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .series-parent-flow #ser-flix-groups .group-primary .flix-grid,
  .series-parent-flow #ser-flix-groups .group-people .flix-grid,
  .series-parent-flow #ser-flix-groups .group-ops .flix-grid { grid-template-columns:1fr; }
  .series-parent-flow #ser-flix-groups .group-primary .field-genres,
  .series-parent-flow #ser-flix-groups .group-primary .field-platforms { grid-column:1; }
  .series-parent-flow #ser-flix-groups .group-people .field-actors { grid-column:1; }
  .series-parent-flow .final-actions-buttons { flex-direction:column; }
  .series-parent-flow .final-actions-buttons > * { width:100%; }
}

/* SERIES_PHASE_S5B_EPISODE_OPERATOR_UI_AND_THUMBNAIL_SELECTION — Episode-only */
.episode-operator-flow { min-width:0; max-width:100%; }
.episode-operator-flow > *, .episode-operator-flow .section-body { min-width:0; max-width:100%; }
.episode-operator-flow .import-guidance { margin-top:.55rem; }
.episode-operator-flow .import-guidance.error { color:var(--err); }
.episode-operator-flow .relation-correction {
  display:grid; gap:.75rem; margin-top:.85rem; padding:.85rem;
  border:1px solid rgba(228,168,58,.45); border-radius:9px; background:rgba(228,168,58,.06);
}
.episode-operator-flow .relation-correction.hidden { display:none; }
.episode-operator-flow .relation-message { margin:0; color:var(--warn); font-weight:750; }
.episode-operator-flow .relation-message.error { color:var(--err); }
.episode-operator-flow .episode-detected-head { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr); gap:1rem; align-items:start; }
.episode-operator-flow .episode-detected-head > div:first-child { display:grid; gap:.28rem; min-width:0; }
.episode-operator-flow .episode-detected-head > div:first-child span { color:var(--muted); font-size:.78rem; }
.episode-operator-flow .episode-detected-head > div:first-child strong { overflow-wrap:anywhere; font-size:1.05rem; }
.episode-operator-flow .episode-parent-status { display:grid; gap:.45rem; }
.episode-operator-flow .episode-parent-status > span { display:flex; align-items:center; justify-content:space-between; gap:.55rem; color:var(--muted); font-size:.78rem; }
.episode-operator-flow #ep-flix-groups .group-primary .flix-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.episode-operator-flow #ep-flix-groups .group-people .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.episode-operator-flow #ep-flix-groups .group-people .field-actors { grid-column:1 / -1; }
.episode-operator-flow #ep-flix-groups .group-people textarea {
  height:112px; min-height:112px; max-height:112px; resize:none; overflow-y:auto; white-space:pre-wrap; overflow-wrap:anywhere;
}
.episode-operator-flow #ep-flix-groups .group-people .field-actors textarea { height:132px; min-height:132px; max-height:132px; }
.episode-operator-flow #ep-flix-groups .group-synopsis .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.episode-operator-flow #ep-flix-groups .group-synopsis textarea {
  height:168px; min-height:168px; max-height:168px; resize:none; overflow-y:auto;
}
.episode-operator-flow .episode-rating-pair { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.episode-operator-flow .episode-rating-pair label { display:grid; gap:.25rem; }
.episode-operator-flow .episode-rating-pair label > span { color:var(--muted); font-size:.66rem; font-weight:800; }
.episode-operator-flow #ep-media-fields .flix-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.episode-operator-flow #ep-flix-pending-fields .flix-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.episode-operator-flow .operator-field-status { min-height:40px; display:flex; align-items:center; }
.episode-operator-flow .episode-thumbnail-preview { width:min(100%,420px); max-width:420px; }
.episode-operator-flow .thumbnail-message { margin:.45rem 0; color:var(--muted); }
.episode-operator-flow .thumbnail-message.error { color:var(--err); }
.episode-operator-flow .episode-thumbnail-rail {
  display:flex; gap:.75rem; max-width:100%; margin-top:.75rem; padding-bottom:.35rem; overflow-x:auto; overflow-y:hidden;
}
.episode-operator-flow .episode-thumbnail-card {
  flex:0 0 250px; display:grid; grid-template-rows:140px auto; gap:.4rem; padding:.45rem;
  border:1px solid var(--border); border-radius:9px; background:#0d1117; color:var(--text); box-shadow:none;
}
.episode-operator-flow .episode-thumbnail-card img { width:100%; height:140px; border-radius:6px; object-fit:cover; }
.episode-operator-flow .episode-thumbnail-card span { padding:.22rem; font-size:.7rem; font-weight:850; text-align:center; }
.episode-operator-flow .episode-thumbnail-card.selected { border-color:#ff2947; box-shadow:0 0 0 1px rgba(255,41,71,.3); }
.episode-operator-flow .field-error { margin-top:.55rem; color:var(--err); font-size:.78rem; font-weight:700; }
.episode-operator-flow #ep-missing-guide ul { margin:.4rem 0 0 1.1rem; padding:0; }
.episode-operator-flow .final-actions { display:grid; align-items:start; padding-top:.25rem; }
.episode-operator-flow .final-actions-buttons { display:flex; flex-wrap:wrap; gap:.65rem; }

@media (max-width:1100px) {
  .episode-operator-flow .episode-detected-head { grid-template-columns:1fr; }
  .episode-operator-flow #ep-flix-groups .group-primary .flix-grid,
  .episode-operator-flow #ep-media-fields .flix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .episode-operator-flow #ep-flix-groups .group-synopsis .flix-grid,
  .episode-operator-flow #ep-flix-pending-fields .flix-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .episode-operator-flow #ep-flix-groups .group-primary .flix-grid,
  .episode-operator-flow #ep-flix-groups .group-people .flix-grid,
  .episode-operator-flow #ep-media-fields .flix-grid { grid-template-columns:1fr; }
  .episode-operator-flow #ep-flix-groups .group-people .field-actors { grid-column:1; }
  .episode-operator-flow .final-actions-buttons { flex-direction:column; }
  .episode-operator-flow .final-actions-buttons > * { width:100%; }
}

/* MOVIES_LOCAL_DRAFTS_FIXED_COLUMN_ALIGNMENT_V1 — Movies-only final cascade. */
.movies-page #movies-list .movie-draft-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) 9.25rem 11.75rem;
  align-items:center;
  column-gap:.75rem;
  min-width:0;
  min-height:52px;
}
.movies-page #movies-list .movie-draft-info {
  grid-column:1;
  min-width:0;
  overflow-wrap:anywhere;
}
.movies-page #movies-list .movie-draft-status {
  grid-column:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:stretch;
  box-sizing:border-box;
  width:9.25rem;
  min-width:9.25rem;
  max-width:9.25rem;
}
.movies-page #movies-list .movie-draft-actions {
  grid-column:3;
  justify-self:stretch;
  box-sizing:border-box;
  width:11.75rem;
  min-width:11.75rem;
  max-width:11.75rem;
}
.movies-page #movies-list .movie-draft-action {
  grid-column:auto;
  justify-self:stretch;
  box-sizing:border-box;
  min-height:38px;
}

@media (max-width:600px) {
  .movies-page #movies-list .movie-draft-row {
    grid-template-columns:minmax(0,1fr);
    gap:.45rem;
  }
  .movies-page #movies-list .movie-draft-info { grid-column:1; }
  .movies-page #movies-list .movie-draft-status {
    grid-column:1;
    justify-self:start;
    width:9.25rem;
  }
  .movies-page #movies-list .movie-draft-actions { grid-column:1; width:100%; min-width:0; max-width:none; }
}

/* MOVIES_TRAILER_CARD_ACTION_ALIGNMENT_V1 — candidate cards only. */
.movies-page #trailer-cards .trailer-card {
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  height:355px;
  min-height:355px;
  max-height:355px;
  overflow:hidden;
}
.movies-page #trailer-cards .movie-trailer-card-preview {
  flex:0 0 152px;
  width:100%;
  height:152px;
  overflow:hidden;
  background:#090b0f;
}
.movies-page #trailer-cards .movie-trailer-card-preview .thumb,
.movies-page #trailer-cards .movie-trailer-card-preview-placeholder {
  display:block;
  width:100%;
  height:152px;
}
.movies-page #trailer-cards .movie-trailer-card-preview .thumb {
  aspect-ratio:auto;
  object-fit:cover;
}
.movies-page #trailer-cards .movie-trailer-card-preview-placeholder {
  display:grid;
  place-items:center;
  color:#ff6177;
  background:linear-gradient(135deg,#310710,#0a0c10);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
}
.movies-page #trailer-cards .movie-trailer-card-content {
  flex:0 0 92px;
  min-width:0;
  padding:.65rem .75rem .35rem;
}
.movies-page #trailer-cards .movie-trailer-card-title {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  height:2.7em;
  min-height:2.7em;
  max-height:2.7em;
  overflow:hidden;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.movies-page #trailer-cards .movie-trailer-card-meta {
  height:2.5em;
  min-height:2.5em;
  max-height:2.5em;
  margin-top:.28rem;
  overflow:hidden;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.25;
}
.movies-page #trailer-cards .movie-trailer-card-footer {
  display:grid;
  grid-template-rows:38px 40px;
  gap:.5rem;
  margin-top:auto;
  padding:.45rem .75rem .7rem;
}
.movies-page #trailer-cards .movie-trailer-card-links {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:.5rem;
}
.movies-page #trailer-cards .movie-trailer-card-links > * {
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:38px;
  padding:.45rem .5rem;
  font-size:.7rem;
  white-space:nowrap;
}
.movies-page #trailer-cards .movie-trailer-card-select {
  box-sizing:border-box;
  width:100%;
  min-height:40px;
  margin:0;
  padding:.5rem .65rem;
}

@media (max-width:600px) {
  .movies-page #trailer-cards .trailer-card {
    flex-basis:min(82vw,320px);
    height:355px;
  }
}

/* Isolated Apify Streamers operator gate; shared by Movies and Series Parent. */
.apify-test-panel {
  display:grid;
  gap:.8rem;
  margin-top:1rem;
  padding:1rem;
  border:1px solid rgba(255,41,71,.42);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(46,5,13,.58),rgba(10,12,16,.96) 55%);
}
.apify-test-panel.hidden { display:none; }
.apify-test-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.apify-test-heading > div { min-width:0; }
.apify-test-heading strong { display:block; overflow-wrap:anywhere; }
.apify-test-panel label { display:grid; gap:.35rem; color:var(--muted); font-size:.72rem; font-weight:800; }
.apify-test-panel select { width:100%; }
.apify-test-panel .authorization-check {
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  color:var(--text);
  font-size:.78rem;
  font-weight:650;
  line-height:1.4;
}
.apify-test-panel .authorization-check input { flex:0 0 auto; margin-top:.18rem; }
.apify-progress {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.5rem;
}
.apify-progress > div {
  display:grid;
  gap:.2rem;
  min-width:0;
  padding:.55rem .65rem;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(7,9,13,.72);
}
.apify-progress span { color:var(--muted); font-size:.62rem; font-weight:850; letter-spacing:.04em; }
.apify-progress strong { overflow-wrap:anywhere; font-size:.76rem; }

@media (max-width:900px) {
  .apify-progress { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .apify-test-heading { flex-direction:column; }
  .apify-progress { grid-template-columns:1fr; }
  .apify-test-panel .row > * { width:100%; }
}


/* Final master delivery progress; follows the existing dark Flix visual system. */
.master-summary-row {
  display:grid !important; grid-template-columns:minmax(120px,180px) minmax(190px,auto) minmax(220px,1fr);
  gap:.8rem; align-items:center !important; min-height:42px;
}
.master-component { font-weight:750; }
.master-state { display:flex; align-items:center; justify-content:flex-start; }
.master-state .summary-status { min-width:178px; }
.master-progress-area { display:grid; grid-template-columns:minmax(120px,1fr) minmax(150px,auto); gap:.6rem; align-items:center; min-width:0; }
.master-recovery-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.5rem; }
.master-recovery-actions .btn-secondary { min-height:34px; padding:.42rem .7rem; font-size:.7rem; }
.master-summary-row small { color:var(--muted); font-size:.72rem; white-space:normal; }
.master-progress { width:100%; height:7px; overflow:hidden; border:1px solid var(--border); border-radius:999px; background:#090b0f; }
.master-progress > span { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,var(--accent-dark),var(--accent)); transition:width .25s ease; }
.master-summary-row.status-ready .master-progress > span { background:linear-gradient(90deg,#137447,#25c978); }
.master-summary-row.status-error .master-progress > span { background:linear-gradient(90deg,#8e1427,#ff2947); }
.final-actions-buttons > * { min-height:44px; display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; }
.final-actions-buttons .btn-secondary { background:#1b2028; border-color:#46505d; color:#e8ebef; }
@media (max-width:760px) {
  .master-summary-row { grid-template-columns:minmax(100px,1fr) minmax(170px,auto); }
  .master-progress-area { grid-column:1 / -1; }
}


/* Final handoff history: compact, read-only operational rows. */
.history-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem; }
.history-row .prepared-row-title { min-width:0; }
.history-result { justify-self:end; white-space:nowrap; }
.completed-parent-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem; }
@media (max-width:600px) {
  .history-row,.completed-parent-row { grid-template-columns:1fr; }
  .history-result { justify-self:start; }
}

/* Episode pre-integration list alignment: title | lifecycle | actions. */
.series-compact > .prepared-row.history-row,
.episode-compact-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 10rem minmax(8rem, 18rem);
  align-items: center;
  gap: .75rem;
}
.episode-compact-row .draft-actions { display: flex; justify-content: flex-end; gap: .5rem; }
.episode-compact-row > .inline-action,
.series-compact > .prepared-row.history-row > .draft-action { width: 100%; max-width: 9rem; justify-self: end; }
.episode-compact-row .draft-delete-error { grid-column: 1 / -1; }
@media (max-width: 760px) {
  .series-compact > .prepared-row.history-row,
  .episode-compact-row { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .episode-compact-row > .inline-action,
  .series-compact > .prepared-row.history-row > .draft-action { max-width: none; justify-self: stretch; }
  .episode-compact-row .draft-actions { justify-content: stretch; flex-wrap: wrap; }
}


/* Operational enhancements: additive only, preserving the approved FCM system. */
.title-search { display:grid; gap:.55rem; margin-top:.85rem; }
.episode-discovery-pickers { margin-top:1rem; padding:1rem; background:var(--panel-soft); border:1px solid var(--border); border-radius:8px; }
.episode-discovery-series { margin:0 0 .85rem; color:var(--text); font-weight:750; overflow-wrap:anywhere; }
.episode-discovery-grid { display:grid; grid-template-columns:minmax(170px,1fr) minmax(220px,2fr); gap:.85rem; }
.episode-discovery-grid label { display:grid; gap:.45rem; min-width:0; color:var(--muted); font-size:.7rem; font-weight:850; letter-spacing:.05em; }
.episode-discovery-grid select { width:100%; min-width:0; min-height:44px; letter-spacing:normal; font-size:.9rem; font-weight:400; }
.episode-operator-flow #mode-episode > .search-alternative { margin:1rem 0 .45rem; }
.episode-discovery-grid select:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
@media (max-width:600px) { .episode-discovery-grid { grid-template-columns:1fr; } }
.title-search > label,.search-alternative { color:var(--muted); font-size:.7rem; font-weight:850; letter-spacing:.05em; }
.search-alternative { margin:.25rem 0 -.15rem; }
.title-search-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:.55rem; max-height:420px; overflow:auto; }
.title-search-result {
  display:grid; grid-template-columns:52px minmax(0,1fr); gap:.7rem; align-items:center; width:100%; min-height:72px;
  padding:.5rem; text-align:left; color:var(--text); background:#151920; border:1px solid var(--border); border-radius:8px; cursor:pointer;
}
.title-search-result:hover,.title-search-result:focus-visible { border-color:var(--accent); outline:2px solid transparent; background:#1b2028; }
.title-search-result img,.title-result-placeholder { width:52px; height:68px; object-fit:cover; border-radius:5px; background:#090b0f; }
.title-result-placeholder { display:grid; place-items:center; color:var(--muted); font-size:.55rem; font-weight:850; }
.title-search-result span:last-child { display:grid; gap:.25rem; min-width:0; }
.title-search-result strong { overflow-wrap:anywhere; }
.title-search-result small { color:var(--muted); }
.demo-empty { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-top:.65rem; }
.demo-empty p { margin:0; flex:1 1 260px; }
.demo-empty button,.master-replace-component { min-height:44px; }
@media (max-width:600px) {
  .title-search .search-row { grid-template-columns:1fr; }
  .title-search .search-row > * { width:100%; min-height:44px; }
  .title-search-results { grid-template-columns:1fr; max-height:360px; }
  .title-search-result { min-height:78px; }
  .demo-empty { align-items:stretch; }
  .demo-empty button { width:100%; }
  .master-recovery-actions .btn-secondary { flex:1 1 100%; min-height:44px; }
}


/* Movies: shared frame from the approved Preparar una pelicula reference. */
.movies-page > section,
.movies-page .flix-group {
  background:linear-gradient(135deg,rgba(18,19,24,.98),rgba(10,11,15,.98));
  border:1px solid #34363e;
  border-top-color:#ff243f;
  border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.32),0 0 24px rgba(220,16,45,.08),-2px 0 0 rgba(255,31,61,.62);
}
.movies-page > #movie-platform { padding:1.15rem 1.2rem; margin-bottom:1.15rem; }
.movies-page .section-heading {
  background:transparent;
  border-bottom-color:#34363e;
  border-radius:9px 9px 0 0;
}

/* Series/Episodes share the approved Movie frame; preserve semantic status colors. */
.series-page > section, .series-parent-flow > section, .episode-operator-flow > section,
.series-page .flix-group, .series-page .asset-subsection {
 background:linear-gradient(135deg,rgba(18,19,24,.98),rgba(10,11,15,.98));
 border:1px solid #34363e;border-top-color:#ff243f;border-radius:10px;
 box-shadow:0 14px 34px rgba(0,0,0,.32),0 0 24px rgba(220,16,45,.08),-2px 0 0 rgba(255,31,61,.62);
}
.series-page .section-heading {background:transparent;border-bottom-color:#34363e;border-radius:9px 9px 0 0;}
.series-page [aria-invalid="true"] {border-color:#ff435d;}


/* Genre selection uses the same native dropdown as Rated in Movies/Series. */
.genre-picker { min-width:0; }
.genre-picker select { min-width:0; }
.genre-selections { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.45rem; }
.genre-selections:empty { display:none; }
.genre-picker .genre-chip {
  padding:.3rem .5rem; min-height:30px; max-width:100%; font-size:.78rem;
  font-weight:500; text-transform:none; text-align:left; overflow-wrap:anywhere;
  background:#151a22; border:1px solid #39424e; box-shadow:none;
}
.genre-picker .genre-chip:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.genre-picker select[aria-invalid="true"] { border-color:#ff435d; }
@media(max-width:600px) {
  .genre-picker select, .genre-picker .genre-chip { min-height:44px; }
}


/* Movies: put the taller genre picker last and use the remaining two columns. */
.movies-page #flix-groups .movie-genres-field { grid-column:span 2; min-width:0; }
@media(max-width:1100px) {
  .movies-page #flix-groups .movie-genres-field { grid-column:1 / -1; }
}

/* Temporary database action, matching existing Movie action layout. */
.movies-page .final-actions #btn-test-mysql { background:#166534; border-color:#228846; color:#fff; }
.movies-page .final-actions #btn-test-mysql:hover:not(:disabled) { background:#14532d; border-color:#4ade80; }
.movies-page .final-actions #btn-test-mysql:disabled { background:#20372a; border-color:#355640; color:#b0c4b5; cursor:not-allowed; opacity:.6; }

/* Pending upload picker: existing FCM red action and dark modal language. */
.movie-folio-action { margin:0 0 1rem; }
.pending-files-dialog { width:min(1100px,calc(100vw - 2rem)); height:min(82vh,780px); max-height:86dvh; padding:0; border:1px solid #59616d; border-radius:10px; background:#11161d; color:var(--text); box-shadow:0 24px 70px rgba(0,0,0,.62); overflow:hidden; }
.pending-files-dialog[open] { display:flex; flex-direction:column; }
.pending-files-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(2px); }
body.pending-files-open { overflow:hidden; }
.pending-files-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.2rem 1.4rem .65rem; }
.pending-files-header h2 { margin:0; font-size:1.3rem; }
.pending-files-header .eyebrow { margin:0 0 .3rem; }
.pending-files-status { margin:0; padding:.5rem 1.4rem .9rem; color:var(--muted); }
.pending-files-status.error { color:#ffabb6; }
.pending-files-scroll { min-height:0; flex:1; overflow:auto; border-top:1px solid #343b45; border-bottom:1px solid #343b45; }
.pending-files-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.pending-files-table th { position:sticky; top:0; z-index:1; background:#1b2028; text-align:left; color:#d9dde4; font-size:.75rem; letter-spacing:.05em; }
.pending-files-table th,.pending-files-table td { padding:.85rem 1rem; border-bottom:1px solid #2d333d; vertical-align:middle; }
.pending-files-table th:first-child { width:100px; }
.pending-files-table th:nth-child(3) { width:125px; }
.pending-files-table th:last-child { width:145px; }
.pending-files-table td:nth-child(2) { overflow-wrap:anywhere; }
.pending-files-table td:first-child,.pending-files-table td:nth-child(3) { white-space:nowrap; font-variant-numeric:tabular-nums; }
.pending-files-table tbody tr:hover { background:#1a2029; }
.pending-files-table button { min-height:36px; padding:.4rem .65rem; font-size:.75rem; }
.pending-files-footer { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem 1.4rem; color:var(--muted); font-size:.85rem; }
@media (max-width:650px) {
  .pending-files-dialog { width:calc(100vw - 1rem); height:84dvh; }
  .pending-files-header { padding:1rem; }
  .pending-files-status,.pending-files-footer { padding:.7rem 1rem; }
  .pending-files-table { min-width:600px; }
}

/* Movie file information: hide legacy inputs, give filename the directory slot. */
.movies-page #movie-platform-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }
.movies-page #movie-platform-field-archivo_subido { grid-column:span 2; }
@media (max-width:650px) {
  .movies-page #movie-platform-fields { grid-template-columns:minmax(0,1fr); }
  .movies-page #movie-platform-field-archivo_subido { grid-column:auto; }
}

/* Login uses the established Movies frame, typography, surfaces and action. */
.login-page { min-height:calc(100dvh - 180px); display:grid; place-items:center; padding:2.5rem 0; }
.login-panel { width:min(100%,440px); padding:2rem; box-sizing:border-box; border-color:#6f202f; box-shadow:inset 2px 0 0 #ff2947; }
.login-panel h1 { margin:.3rem 0; font-size:1.8rem; }
.login-intro { margin:.5rem 0 1.8rem; }
#login-form { display:flex; flex-direction:column; gap:.7rem; }
#login-form label { margin-top:.4rem; font-size:.75rem; letter-spacing:.06em; font-weight:700; color:#c2c8d2; }
#login-form input:not([type="hidden"]) { min-height:48px; width:100%; box-sizing:border-box; padding:.65rem .75rem; border:1px solid #343c47; border-radius:6px; }
#login-form input:focus { border-color:var(--focus); }
#login-form button { min-height:48px; margin-top:.65rem; }
#login-error { margin:.35rem 0 0; }
.login-biometric-hint { margin:1.2rem 0 0; font-size:.8rem; line-height:1.5; }
#login-biometric[hidden],#enable-biometric[hidden] { display:none; }
.auth-logout { background:transparent; border-color:#4a3038; }
.auth-biometric { font-size:.65rem; background:transparent; }
@media(max-width:600px) {
  .login-page { padding:1.2rem 0; min-height:calc(100dvh - 150px); }
  .login-panel { padding:1.5rem; }
  .topbar .nav { flex-wrap:wrap; }
}

/* Temporary WS action: same sizing as the adjacent MySQL test, explicit yellow. */
.movies-page .final-actions #btn-test-webservice { background:#f2c94c; border-color:#f4d574; color:#211800; }
.movies-page .final-actions #btn-test-webservice:hover:not(:disabled) { background:#f8d76f; border-color:#ffe599; }
.movies-page .final-actions #btn-test-webservice:disabled { background:#403822; border-color:#66552b; color:#c6b688; cursor:not-allowed; opacity:.6; }

/* Loading feedback before opening the pending-file modal. */
#btn-load-folio { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; }
.folio-load-spinner { width:17px; height:17px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:folio-load-spin .7s linear infinite; }
.folio-load-spinner[hidden] { display:none; }
@keyframes folio-load-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .folio-load-spinner { animation:none; } }

/* Final flow reuses the existing folio modal and FCM component progress. */
.flow-message-dialog { width:min(540px,calc(100vw - 2rem)); max-height:85dvh; overflow:auto; padding:0; border:1px solid #59616d; border-radius:10px; background:#11161d; color:var(--text); box-shadow:0 24px 70px rgba(0,0,0,.62); }
.flow-message-dialog::backdrop { background:rgba(0,0,0,.72); }
.flow-message-body { padding:1.5rem; }
.flow-message-body h2 { margin:.3rem 0 1rem; font-size:1.3rem; }
#flow-message-text { white-space:pre-wrap; line-height:1.6; overflow-wrap:anywhere; }
.flow-message-actions { display:flex; justify-content:flex-end; margin-top:1.4rem; }
.pending-files-table .folio-progress-row > td { padding:1rem 1.25rem 1.4rem; white-space:normal; background:#141b24; }
.folio-progress-heading { margin:0 0 .65rem; font-size:.75rem; letter-spacing:.06em; color:var(--muted); }
.folio-progress-list { margin:0; padding:0; list-style:none; }
.folio-final-message { margin:.85rem 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.pending-files-table .folio-progress-row:hover { background:inherit; }

@media(max-width:650px) {
  .folio-progress-list,.folio-final-message { width:calc(100vw - 5.5rem); max-width:100%; }
  .folio-progress-list .master-summary-row { grid-template-columns:minmax(0,1fr); gap:.5rem; }
  .folio-progress-list .master-progress-area { grid-column:1; grid-template-columns:minmax(0,1fr); }
  .folio-progress-list .master-state .summary-status { min-width:0; max-width:100%; white-space:normal; }
}

.folio-ws-result { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #343b45; }
.folio-ws-result > strong { font-size:.8rem; }
.folio-ws-result .summary-status { white-space:normal; text-align:left; }
@media(max-width:650px) { .folio-ws-result { width:calc(100vw - 5.5rem); max-width:100%; } }

/* Compact folio details; existing progress colors and retry controls retained. */
.pending-files-table .folio-progress-row > td { padding:.6rem 1.15rem .75rem; }
.folio-progress-list .master-summary-row { min-height:34px; padding:.3rem 0; gap:.55rem; }
.folio-progress-list .master-recovery-actions { margin-top:.15rem; }
.folio-ws-result { margin-top:.55rem; padding-top:.6rem; }
.folio-final-message { margin-top:.5rem; }
#flow-accepted-detail { font-size:.85rem; line-height:1.5; }

/* Folio rows are the primary surface; their progress is a recessed detail. */
.pending-files-table tbody tr:not(.folio-progress-row) > td { background:#232d3a; color:#f0f3f7; font-weight:600; border-bottom-color:#465368; }
.pending-files-table tbody tr:not(.folio-progress-row):hover > td { background:#2c3949; }
.pending-files-table .folio-progress-row > td { background:#0b121b; color:#c2cedc; box-shadow:inset 3px 0 #41546d,inset 0 -1px #344256; }
.folio-progress-list .master-component { color:#ced8e5; }
.folio-progress-list .master-summary-row { border-bottom-color:#253242; }
.folio-progress-row .folio-final-message { color:#c2cedc; }

/* Final delivery shares the exact status column used by image/trailer rows. */
.folio-ws-result.master-summary-row { display:grid; grid-template-columns:minmax(120px,180px) minmax(190px,auto) minmax(220px,1fr); gap:.55rem; }
.folio-ws-result .master-recovery-actions { margin-top:0; justify-content:flex-end; }
@media(max-width:760px) { .folio-ws-result.master-summary-row { grid-template-columns:minmax(100px,1fr) minmax(170px,auto); } }
@media(max-width:650px) { .folio-ws-result.master-summary-row { grid-template-columns:minmax(0,1fr); } .folio-ws-result .master-progress-area { grid-column:1; } .folio-ws-result .master-state .summary-status { min-width:0; max-width:100%; } }

.folio-ws-result .master-progress-area { display:flex; justify-content:flex-end; }
