.episode-app main { max-width: 1800px; margin: 0 auto; }
.episode-app [hidden] { display: none !important; }

.episode-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(520px, 1fr);
  gap: 56px;
  align-items: end;
  padding: 62px clamp(24px, 4vw, 72px) 38px;
  border-bottom: 1px solid var(--line);
}
.episode-hero h1 { margin: 15px 0 14px; max-width: 820px; font-size: clamp(34px, 4.4vw, 72px); line-height: .98; letter-spacing: -.06em; }
.episode-hero h1 em { color: var(--accent); font-style: normal; }
.episode-hero > div > p:last-child { max-width: 72ch; color: var(--muted); font-size: 13px; line-height: 1.8; }
.episode-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border: 1px solid var(--line); background: rgba(14, 22, 24, .8); }
.episode-stats div { padding: 21px 18px; border-right: 1px solid var(--line); }
.episode-stats div:last-child { border-right: 0; }
.episode-stats dt { color: var(--accent); font: 600 25px/1 var(--mono); }
.episode-stats dd { margin: 8px 0 0; color: var(--muted); font-size: 9px; letter-spacing: .09em; }

.production-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) repeat(3, minmax(130px, 190px)) minmax(150px, 190px);
  gap: 10px;
  padding: 14px clamp(24px, 4vw, 72px);
  border-bottom: 1px solid var(--line);
  background: rgba(9, 15, 17, .9);
  position: sticky;
  top: 67px;
  z-index: 12;
  backdrop-filter: blur(16px);
}
.production-toolbar label { display: grid; gap: 6px; color: var(--muted); font: 9px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.production-toolbar input, .production-toolbar select { min-width: 0; height: 36px; padding: 0 11px; border: 1px solid var(--line); color: var(--text); background: #0d1517; font: 11px/1 var(--sans); }
.production-toolbar input:focus, .production-toolbar select:focus { outline: 1px solid var(--accent); border-color: var(--accent); }
.recovery-center-toggle { align-self: end; height: 36px; border: 1px solid rgba(130,224,189,.55); background: rgba(130,224,189,.04); color: #82e0bd; font: 8px/1 var(--mono); cursor: pointer; }
.recovery-center-toggle b { margin-left: 5px; color: var(--text); }
.recovery-center-v32 { margin: 14px clamp(24px, 4vw, 72px); padding: 18px; border: 1px solid rgba(130,224,189,.55); background: linear-gradient(135deg, rgba(130,224,189,.055), rgba(5,13,15,.96) 52%); }
.recovery-center-v32 > header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.recovery-center-v32 h2 { margin: 6px 0 0; font-size: 21px; }
.recovery-center-v32 > header button { border: 1px solid var(--line); background: transparent; color: var(--muted); padding: 7px 10px; font: 8px/1 var(--mono); }
.recovery-center-v32 > p { max-width: 100ch; color: var(--muted); font-size: 9px; line-height: 1.65; }
.recovery-center-stats { display: grid; grid-template-columns: repeat(4,1fr); margin: 14px 0; border: 1px solid var(--line-soft); }
.recovery-center-stats div { padding: 12px; border-right: 1px solid var(--line-soft); }
.recovery-center-stats div:last-child { border-right: 0; }
.recovery-center-stats dt { color: #82e0bd; font: 600 18px/1 var(--mono); }
.recovery-center-stats dd { margin: 6px 0 0; color: var(--muted); font-size: 8px; }
.recovery-center-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.recovery-center-card { display: grid; grid-template-columns: 1fr auto; gap: 7px 10px; align-items: start; padding: 10px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); text-align: left; color: var(--text); }
.recovery-center-card:hover { border-color: rgba(130,224,189,.5); }
.recovery-center-card strong { font: 9px/1.4 var(--mono); }
.recovery-center-card b { color: #82e0bd; font: 7px/1.4 var(--mono); text-transform: uppercase; }
.recovery-center-card small { grid-column: 1 / -1; color: var(--muted); font-size: 8px; line-height: 1.5; }
.recovery-center-message { margin: 10px 0 0; color: var(--muted); font-size: 8px; }
.codex-worker-banner { display: grid; grid-template-columns: auto auto 1fr; gap: 8px; align-items: center; margin: 9px 0; padding: 8px 10px; border: 1px solid rgba(130,224,189,.3); background: rgba(130,224,189,.035); }
.codex-worker-banner span { color: var(--muted); font: 7px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.codex-worker-banner strong { color: #82e0bd; font: 8px/1.4 var(--mono); }
.codex-worker-banner small { color: var(--muted); font-size: 8px; text-align: right; }
.codex-worker-banner.is-offline { border-color: rgba(239,119,83,.38); background: rgba(239,119,83,.035); }
.codex-worker-banner.is-offline strong { color: #ef8e71; }

.production-workspace { display: grid; grid-template-columns: 270px minmax(390px, .9fr) minmax(520px, 1.25fr); min-height: 780px; border-bottom: 1px solid var(--line); }
.episode-rail, .shot-panel, .shot-detail { min-width: 0; }
.episode-rail { border-right: 1px solid var(--line); background: rgba(12, 19, 21, .64); }
.episode-rail > header, .shot-panel-header { padding: 24px 20px 18px; border-bottom: 1px solid var(--line); }
.episode-rail h2, .shot-panel h2 { margin: 6px 0 0; font-size: 20px; }
.episode-list { max-height: calc(100vh - 178px); overflow-y: auto; }
.episode-card { width: 100%; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--line-soft); color: var(--text); background: transparent; text-align: left; }
.episode-card:hover { background: var(--accent-faint); }
.episode-card.is-active { box-shadow: inset 3px 0 var(--accent); background: rgba(211, 123, 75, .12); }
.episode-card-number { color: var(--accent); font: 600 16px/1 var(--mono); }
.episode-card b { display: block; overflow: hidden; font-size: 11px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.episode-card small { display: flex; justify-content: space-between; gap: 8px; margin-top: 7px; color: var(--muted); font: 8px/1.3 var(--mono); }
.episode-mini-progress { grid-column: 2; height: 2px; background: var(--line); }
.episode-mini-progress i { display: block; height: 100%; background: var(--accent); }

.shot-panel { border-right: 1px solid var(--line); background: rgba(7, 13, 15, .5); }
.shot-panel-header { display: flex; justify-content: space-between; gap: 18px; min-height: 111px; }
.shot-panel-header h2 { font-size: 24px; }
.shot-panel-header p:last-child { margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.episode-progress { flex: 0 0 auto; align-self: center; padding: 7px 10px; border: 1px solid var(--line); color: var(--accent); font: 10px/1 var(--mono); }
.episode-progress-stack { flex: 0 0 auto; display: grid; gap: 8px; align-content: center; min-width: 142px; }
.assemble-episode-button { width: 100%; padding: 9px 12px; border: 1px solid var(--accent); color: #fff3e9; background: rgba(211,123,75,.16); font: 9px/1 var(--mono); letter-spacing: .08em; }
.assemble-episode-button:hover { background: rgba(211,123,75,.28); }
.assemble-episode-button:disabled { cursor: progress; opacity: .55; }
.episode-assembly { padding: 14px 20px 16px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg, rgba(211,123,75,.1), rgba(0,0,0,.06)); }
.episode-assembly > header { display: flex; justify-content: space-between; gap: 16px; align-items: end; }
.episode-assembly > header div { display: grid; gap: 5px; }
.episode-assembly > header span { color: var(--accent); font: 7px/1 var(--mono); letter-spacing: .14em; }
.episode-assembly > header strong { font-size: 11px; }
.episode-assembly > header b { color: var(--accent); font: 600 15px/1 var(--mono); }
.assembly-progress-track { height: 3px; margin-top: 11px; overflow: hidden; background: var(--line); }
.assembly-progress-track i { display: block; width: 0; height: 100%; background: var(--accent); transition: width .22s ease; }
.episode-assembly > p { margin: 8px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.assembly-result { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; align-items: center; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.assembly-result video { display: block; width: 92px; aspect-ratio: 9 / 16; max-height: 164px; background: #030607; object-fit: contain; }
.assembly-result > div { display: grid; gap: 7px; min-width: 0; }
.assembly-result strong { overflow: hidden; font-size: 9px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.assembly-result small { color: var(--dim); font: 7px/1.5 var(--mono); }
.assembly-result button { justify-self: start; padding: 7px 9px; border: 1px solid var(--accent); color: var(--accent); background: transparent; font-size: 8px; }
.assembly-result button:disabled { cursor: progress; opacity: .5; }
.timeline-key { display: grid; grid-template-columns: 58px 1fr 44px; align-items: center; gap: 7px; padding: 9px 17px; color: var(--dim); font: 8px/1 var(--mono); letter-spacing: .13em; }
.timeline-key i { height: 1px; background: var(--line); }
.shot-list { max-height: calc(100vh - 225px); overflow-y: auto; }
.shot-card { width: 100%; display: grid; grid-template-columns: 58px 1fr auto; gap: 10px; align-items: start; padding: 13px 16px; border: 0; border-top: 1px solid var(--line-soft); color: var(--text); background: transparent; text-align: left; }
.shot-card:hover { background: rgba(255,255,255,.025); }
.shot-card.is-active { background: rgba(211, 123, 75, .12); box-shadow: inset 3px 0 var(--accent); }
.shot-time { color: var(--muted); font: 8px/1.55 var(--mono); }
.shot-copy b { display: block; font-size: 11px; line-height: 1.45; }
.shot-copy p { margin: 5px 0 0; display: -webkit-box; overflow: hidden; color: var(--muted); font-size: 9px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.shot-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.shot-badges i { padding: 3px 5px; border: 1px solid var(--line); color: var(--dim); font: 7px/1 var(--mono); font-style: normal; }
.shot-badges i.is-v27-draft { border-color: #b994e6; color: #cfb7ef; }
.shot-completion { width: 9px; height: 9px; margin-top: 4px; border: 1px solid var(--line); border-radius: 50%; }
.shot-completion.is-complete { border-color: #79b88a; background: #79b88a; box-shadow: 0 0 10px rgba(121,184,138,.35); }

.shot-detail { background: rgba(11, 18, 20, .88); }
.shot-detail-empty { min-height: 720px; display: grid; place-content: center; gap: 10px; color: var(--dim); text-align: center; }
.shot-detail-empty span { color: var(--accent); font: 600 42px/1 var(--mono); opacity: .18; }
.shot-detail-content { max-height: calc(100vh - 126px); padding: 25px clamp(20px, 2.6vw, 42px) 60px; overflow-y: auto; }
.shot-detail-header { display: flex; justify-content: space-between; gap: 22px; align-items: flex-start; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.shot-detail-header p { margin: 0; color: var(--muted); font: 8px/1.5 var(--mono); letter-spacing: .1em; }
.shot-detail-header h2 { margin: 7px 0; max-width: 600px; font-size: clamp(22px, 2vw, 32px); line-height: 1.16; }
.shot-status { flex: 0 0 auto; padding: 6px 9px; border: 1px solid var(--line); color: var(--muted); font: 8px/1 var(--mono); }
.shot-status.is-complete { border-color: #79b88a; color: #9bd7ab; }
.shot-specs { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0 0 18px; border: 1px solid var(--line); border-top: 0; }
.shot-specs div { padding: 10px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.shot-specs div:nth-child(2n) { border-right: 0; }
.shot-specs div:nth-last-child(-n+2) { border-bottom: 0; }
.shot-specs dt { color: var(--dim); font: 7px/1 var(--mono); letter-spacing: .1em; }
.shot-specs dd { margin: 5px 0 0; color: var(--text); font-size: 9px; line-height: 1.45; }

.detail-block, .reference-section, .prompt-block, .video-vault { margin-top: 18px; padding: 17px; border: 1px solid var(--line); background: rgba(0,0,0,.12); }
.detail-block > span, .reference-section header span, .prompt-block header span, .video-vault header span, .frame-pair span { color: var(--accent); font: 7px/1 var(--mono); letter-spacing: .14em; }
.detail-block h3, .reference-section h3, .prompt-block h3, .video-vault h3, .frame-pair h3 { margin: 5px 0 9px; font-size: 12px; }
.detail-block p, .frame-pair p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.75; }
.visual-task-block { border-left: 3px solid var(--accent); }
.frame-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.frame-pair section { padding: 15px; border: 1px solid var(--line); background: rgba(255,255,255,.015); }
.reference-section > header, .prompt-block > header, .video-vault > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.reference-section > header b, .video-vault > header b { color: var(--muted); font: 8px/1 var(--mono); }

.reference-samples { display: grid; gap: 8px; margin-top: 10px; }
.reference-sample { padding: 11px; border: 1px solid var(--line-soft); }
.reference-sample header { display: flex; justify-content: space-between; gap: 12px; }
.reference-sample b { font-size: 10px; }
.reference-sample code { color: var(--accent); font: 8px/1.4 var(--mono); }
.reference-sample p { margin: 7px 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.reference-sample button { padding: 5px 7px; border: 1px solid var(--line); color: var(--muted); background: transparent; font-size: 8px; }
.reference-sample.is-generated { border-color: rgba(255,111,55,.62); box-shadow: inset 0 0 0 1px rgba(255,111,55,.08); }
.reference-sample.is-stale { border-color: rgba(218,166,76,.55); }
.reference-sample.is-needs-review { border-color: #d9a84e; box-shadow: inset 3px 0 0 #d9a84e; }
.reference-sample.is-made { border-color: rgba(121,184,138,.55); }
.reference-sample.is-inherited { border-color: rgba(87,149,184,.7); background: rgba(87,149,184,.035); }
.reference-sample.is-made button { color: #9bd7ab; border-color: #79b88a; }
.sample-result-gallery { display: grid; gap: 8px; margin: 9px 0; }
.sample-result { margin: 0; overflow: hidden; border: 1px solid var(--line); background: #070b0c; }
.sample-result > a { display: block; background: radial-gradient(circle at 50% 35%, rgba(32,56,60,.38), transparent 65%); }
.sample-result img { display: block; width: 100%; max-height: 560px; object-fit: contain; }
.sample-result figcaption { display: grid; grid-template-columns: auto 1fr; gap: 5px 9px; align-items: center; padding: 8px 9px; border-top: 1px solid var(--line-soft); }
.sample-result figcaption b { color: var(--accent); font: 8px/1.3 var(--mono); }
.sample-result figcaption span { justify-self: end; color: var(--muted); font: 7px/1.3 var(--mono); }
.sample-result figcaption code { grid-column: 1 / -1; color: var(--text); overflow-wrap: anywhere; }
.sample-result.is-preferred { border-color: rgba(121,184,138,.75); box-shadow: inset 3px 0 0 #79b88a; }
.sample-result.is-approved { border-color: rgba(87,149,184,.7); }
.sample-result.is-rejected { border-color: rgba(199,88,74,.72); box-shadow: inset 3px 0 0 #c7584a; }
.sample-result.is-needs_review { border-color: rgba(218,166,76,.72); box-shadow: inset 3px 0 0 #daa64c; }
.sample-result-actions { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 9px; border-top: 1px solid var(--line-soft); }
.sample-result-actions button:first-child { color: #9bd7ab; border-color: rgba(121,184,138,.65); }
.sample-result-actions button:nth-child(2) { color: #e29a8f; border-color: rgba(199,88,74,.6); }
.sample-usage { margin-top: 7px; padding: 6px 8px; border-left: 2px solid var(--accent); color: var(--text); background: rgba(255,111,55,.06); font: 8px/1.5 var(--mono); }
.sample-inheritance { display: grid; gap: 5px; margin: 9px 0; padding: 9px; border: 1px solid rgba(87,149,184,.5); background: rgba(87,149,184,.07); }
.sample-inheritance strong { color: #9ecbe2; font-size: 9px; }
.sample-inheritance span { color: var(--muted); font: 8px/1.55 var(--mono); overflow-wrap: anywhere; }
.sample-panel-contract { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 9px 0; padding: 8px; border: 1px solid rgba(255,111,55,.45); background: rgba(255,111,55,.035); }
.sample-panel-contract strong { grid-column: 1 / -1; color: var(--accent); font-size: 9px; }
.sample-panel-contract span { padding: 6px; border: 1px solid var(--line-soft); color: var(--muted); font: 8px/1.5 var(--mono); }
.sample-stale-notice { margin: 8px 0; padding: 7px 8px; border-left: 2px solid #daa64c; color: #e8c987; background: rgba(218,166,76,.08); font: 8px/1.55 var(--mono); }
.sample-history { margin: 8px 0; color: var(--muted); font: 8px/1.55 var(--mono); }
.sample-history a { display: block; margin-top: 5px; color: var(--text); overflow-wrap: anywhere; }
.sample-history span { display: block; margin-top: 5px; color: var(--muted); overflow-wrap: anywhere; }
.sample-dependencies { display: grid; gap: 5px; margin: 9px 0; padding: 8px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.sample-dependencies > strong { color: var(--text); font-size: 9px; }
.sample-dependencies > a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 6px; border: 1px solid var(--line-soft); color: inherit; text-decoration: none; }
.sample-dependencies > a:hover { border-color: var(--accent); background: rgba(255,111,55,.05); }
.sample-dependencies > a code { min-width: 42px; }
.sample-dependencies > a span { display: grid; gap: 2px; min-width: 0; }
.sample-dependencies > a b { overflow-wrap: anywhere; font: 8px/1.35 var(--mono); }
.sample-dependencies > a small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.sample-dependencies > a i { color: var(--muted); font: 7px/1.3 var(--mono); white-space: nowrap; }
.sample-dependencies > a i.is-ready { color: #9bd7ab; }
.sample-upstream { color: var(--muted); font: 7px/1.45 var(--mono); }
.sample-prompt-details { margin: 8px 0; border: 1px solid var(--line-soft); }
.sample-prompt-details summary { padding: 7px 8px; color: var(--text); cursor: pointer; font-size: 8px; }
.sample-prompt-details pre { max-height: 240px; margin: 0; padding: 9px; overflow: auto; border-top: 1px solid var(--line-soft); color: var(--muted); background: #090e0f; white-space: pre-wrap; overflow-wrap: anywhere; font: 8px/1.65 var(--mono); }
.sample-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sample-review-note { color: var(--muted); font: 7px/1.45 var(--mono); }
.sample-generation-job { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; margin: 9px 0; padding: 9px; border: 1px solid rgba(95,216,177,.36); background: rgba(95,216,177,.035); }
.sample-generation-job > div { display: grid; gap: 4px; min-width: 0; }
.sample-generation-job strong { color: #8bd6af; font: 8px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.sample-generation-job span { color: var(--muted); font: 8px/1.5 var(--mono); overflow-wrap: anywhere; }
.sample-generation-job button.is-worker-action { min-height: 34px; border-color: #8bd6af; color: #8bd6af; white-space: nowrap; }
.sample-generation-job button.is-worker-action:hover:not(:disabled) { color: #07110d; background: #8bd6af; }

.direct-reference-list { display: grid; gap: 6px; margin-top: 10px; }
.direct-reference { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 8px 9px; border: 1px solid var(--line-soft); color: var(--text); text-decoration: none; }
.direct-reference:hover { border-color: var(--accent); }
.direct-reference code { color: var(--accent); font: 8px/1.3 var(--mono); }
.direct-reference b { display: block; font-size: 9px; }
.direct-reference small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.reference-ready { padding: 4px 6px; border: 1px solid var(--line); color: var(--dim); font: 7px/1 var(--mono); }
.reference-ready.is-ready { border-color: #79b88a; color: #9bd7ab; }
.prerequisite-chain { margin-top: 10px; border-top: 1px solid var(--line); }
.prerequisite-chain summary { padding: 11px 0 7px; color: var(--muted); cursor: pointer; font-size: 9px; }
.prerequisite-chain summary span { color: var(--accent); font-family: var(--mono); }
.prerequisite-chain > div { display: flex; flex-wrap: wrap; gap: 5px; padding: 4px 0 5px; }
.prerequisite-chain a { padding: 4px 6px; border: 1px solid var(--line-soft); color: var(--muted); font: 7px/1 var(--mono); text-decoration: none; }
.prerequisite-chain a:hover { border-color: var(--accent); color: var(--accent); }

.prompt-block header div:last-child { display: flex; gap: 5px; }
.prompt-block button { padding: 6px 8px; border: 1px solid var(--line); color: var(--text); background: transparent; font-size: 8px; }
.prompt-block button:disabled, .reference-sample button:disabled, .video-tools button:disabled { cursor: not-allowed; border-color: var(--line-soft); color: var(--dim); opacity: .48; }
.prompt-block pre { max-height: 360px; margin: 12px 0 0; padding: 14px; overflow: auto; border: 1px solid var(--line-soft); color: #d7d3c9; background: #080d0f; font: 9px/1.75 var(--mono); white-space: pre-wrap; }

.shot-spec-v2 { margin-top: 18px; padding: 17px; border: 1px solid rgba(185,148,230,.65); background: linear-gradient(135deg, rgba(185,148,230,.055), rgba(0,0,0,.14) 46%); }
.shot-spec-v2 > header, .shot-spec-v2-action > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.shot-spec-v2 header span, .shot-spec-v2-context span, .shot-spec-v2-compare-grid > article > span, .shot-spec-v2-contracts span { color: #cfb7ef; font: 7px/1 var(--mono); letter-spacing: .14em; }
.shot-spec-v2 h3 { margin: 5px 0 9px; font-size: 12px; }
.shot-spec-v2 h4 { margin: 5px 0 7px; font-size: 10px; }
.shot-spec-v2 > header b { color: #cfb7ef; font: 8px/1.4 var(--mono); text-align: right; }
.shot-spec-v2-notice { margin: 8px 0 12px; padding: 9px 10px; border-left: 2px solid #b994e6; color: var(--muted); background: rgba(185,148,230,.07); font: 8px/1.55 var(--mono); }
.shot-spec-v2-context, .shot-spec-v2-compare-grid, .shot-spec-v2-contracts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.shot-spec-v2-context > section, .shot-spec-v2-compare-grid > article, .shot-spec-v2-contracts > section, .shot-spec-v2-action { padding: 10px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.shot-spec-v2-context p, .shot-spec-v2-contracts p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.65; }
.shot-spec-v2-compare-grid { margin-top: 8px; }
.shot-spec-v2-compare-grid > article.is-active-contract { border-top: 2px solid var(--line); }
.shot-spec-v2-compare-grid > article.is-draft-contract { border-top: 2px solid #b994e6; }
.shot-spec-v2-compare-grid article > div { display: grid; gap: 6px; }
.shot-spec-v2-compare-grid article section { padding-top: 6px; border-top: 1px solid var(--line-soft); }
.shot-spec-v2-compare-grid article section:first-child { padding-top: 0; border-top: 0; }
.shot-spec-v2-compare-grid article section b { display: block; color: var(--text); font: 7px/1.4 var(--mono); }
.shot-spec-v2-compare-grid article section p { margin: 3px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.shot-spec-v2-action { margin-top: 8px; }
.shot-spec-v2-action header b { color: #cfb7ef; font: 8px/1.4 var(--mono); }
.shot-spec-v2-action ol { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.shot-spec-v2-action li { display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: start; padding: 8px; border-left: 2px solid #b994e6; background: rgba(185,148,230,.045); }
.shot-spec-v2-action li > i { color: #cfb7ef; font: 10px/1.35 var(--mono); font-style: normal; }
.shot-spec-v2-action li b { color: var(--text); font: 8px/1.45 var(--mono); }
.shot-spec-v2-action li p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.shot-spec-v2-contracts { margin-top: 8px; }
.shot-spec-v2-contracts ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.shot-spec-v2-contracts li { padding: 6px 7px; border-left: 2px solid var(--line); color: var(--muted); background: rgba(255,255,255,.012); font-size: 8px; line-height: 1.55; }
.reference-resolver-v28 { margin-top: 18px; padding: 17px; border: 1px solid rgba(116,220,180,.55); background: linear-gradient(135deg, rgba(116,220,180,.055), rgba(0,0,0,.14) 48%); }
.reference-resolver-v28.is-blocked { border-color: rgba(239,119,83,.65); }
.reference-resolver-v28 > header, .reference-plate-card > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.reference-resolver-v28 span, .reference-plate-card span { color: #82e0bd; font: 7px/1 var(--mono); letter-spacing: .14em; }
.reference-resolver-v28 h3 { margin: 5px 0 9px; font-size: 12px; }
.reference-resolver-v28 h4 { margin: 5px 0 7px; font-size: 10px; }
.reference-resolver-v28 > header b, .reference-plate-card header b { color: #82e0bd; font: 8px/1.4 var(--mono); text-align: right; }
.reference-resolver-v28.is-blocked > header b, .reference-plate-card.is-gap header b { color: #ef7753; }
.reference-resolver-notice { margin: 8px 0 12px; padding: 9px 10px; border-left: 2px solid #82e0bd; color: var(--muted); background: rgba(116,220,180,.06); font: 8px/1.55 var(--mono); }
.reference-resolver-plates { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.reference-plate-card, .reference-resolver-footer > section { padding: 10px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.reference-plate-card.is-gap { border-top-color: #ef7753; }
.reference-plate-uid { margin: 3px 0 8px; color: var(--text); font: 7px/1.45 var(--mono); overflow-wrap: anywhere; }
.reference-plate-card ul, .reference-resolver-footer ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.reference-plate-card li, .reference-resolver-footer li { padding: 6px 7px; border-left: 2px solid var(--line); color: var(--muted); background: rgba(255,255,255,.012); font-size: 8px; line-height: 1.55; }
.reference-resolver-footer { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.reference-resolver-footer p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.65; }
.auto-recovery-v32 { margin-top: 10px; padding: 12px; border: 1px solid rgba(130,224,189,.38); background: rgba(5,19,17,.58); }
.auto-recovery-v32 > header, .recovery-adjust-dialog header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.auto-recovery-v32 > header b { color: #82e0bd; font: 8px/1.4 var(--mono); text-align: right; }
.auto-recovery-v32.is-failed > header b { color: #ef7753; }
.auto-recovery-v32 h4, .recovery-adjust-dialog h4 { margin: 5px 0 0; font-size: 11px; }
.auto-recovery-v32 h5 { margin: 5px 0 7px; font-size: 9px; }
.auto-recovery-progress { display: grid; grid-template-columns: minmax(80px,1fr) auto; gap: 10px; align-items: center; margin: 10px 0; }
.auto-recovery-progress > div { height: 7px; overflow: hidden; border: 1px solid var(--line-soft); background: #071012; }
.auto-recovery-progress i { display: block; width: 0; height: 100%; background: #82e0bd; transition: width .2s ease; }
.auto-recovery-progress strong { color: var(--text); font: 8px/1.4 var(--mono); }
.auto-recovery-summary, .auto-recovery-impact, .auto-recovery-message, .recovery-adjust-dialog p { margin: 8px 0; color: var(--muted); font-size: 8px; line-height: 1.65; }
.auto-recovery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.auto-recovery-grid > section { padding: 9px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.012); }
.auto-recovery-grid ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.auto-recovery-grid li { padding: 6px 7px; border-left: 2px solid #82e0bd; color: var(--muted); background: rgba(255,255,255,.012); font-size: 8px; line-height: 1.5; }
.auto-recovery-grid li.is-blocked, .auto-recovery-grid li.is-rejected { border-left-color: #ef7753; }
.auto-recovery-impact { padding: 7px 8px; border-left: 2px solid #82e0bd; background: rgba(130,224,189,.04); }
.auto-recovery-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.auto-recovery-actions button, .recovery-adjust-dialog button { border: 1px solid var(--line); background: transparent; color: var(--text); padding: 8px 10px; font: 8px/1 var(--mono); cursor: pointer; }
.auto-recovery-actions button.is-primary, .recovery-adjust-dialog button.is-primary { border-color: #82e0bd; color: #82e0bd; }
.auto-recovery-actions button:disabled { opacity: .42; cursor: not-allowed; }
.auto-recovery-message.is-error { color: #ef8e71; }
.recovery-adjust-dialog { width: min(520px, calc(100vw - 24px)); border: 1px solid rgba(130,224,189,.55); background: #0b1416; color: var(--text); box-shadow: 0 28px 80px rgba(0,0,0,.6); }
.recovery-adjust-dialog::backdrop { background: rgba(0,0,0,.72); }
.recovery-adjust-dialog header button { padding: 4px 7px; }
.recovery-adjust-dialog fieldset { display: grid; gap: 7px; margin: 12px 0; padding: 10px; border: 1px solid var(--line-soft); }
.recovery-adjust-dialog legend, .recovery-adjust-dialog label { color: var(--muted); font: 8px/1.5 var(--mono); }
.recovery-adjust-dialog fieldset label { display: grid; grid-template-columns: 16px 1fr; gap: 8px; align-items: start; color: var(--text); }
.recovery-adjust-dialog textarea { display: block; width: 100%; min-height: 84px; margin-top: 6px; resize: vertical; border: 1px solid var(--line); background: #071012; color: var(--text); padding: 8px; font: 8px/1.55 var(--mono); }
.recovery-adjust-dialog footer { display: flex; justify-content: flex-end; gap: 7px; margin-top: 12px; }
.director-pipeline-v29 { margin-top: 18px; padding: 17px; border: 1px solid rgba(98,176,233,.55); background: linear-gradient(135deg, rgba(98,176,233,.055), rgba(0,0,0,.14) 48%); }
.director-pipeline-v29.is-blocked { border-color: rgba(239,119,83,.65); }
.director-pipeline-v29 > header, .director-unit > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.director-pipeline-v29 span, .director-unit span { color: #7ec7f2; font: 7px/1 var(--mono); letter-spacing: .14em; }
.director-pipeline-v29 h3 { margin: 5px 0 9px; font-size: 12px; }
.director-pipeline-v29 h4 { margin: 5px 0 7px; font-size: 9px; overflow-wrap: anywhere; }
.director-pipeline-v29 > header b, .director-unit header b { color: #7ec7f2; font: 8px/1.4 var(--mono); text-align: right; }
.director-pipeline-v29.is-blocked > header b, .director-unit.is-blocked header b { color: #ef7753; }
.director-pipeline-notice { margin: 8px 0 12px; padding: 9px 10px; border-left: 2px solid #7ec7f2; color: var(--muted); background: rgba(98,176,233,.06); font: 8px/1.55 var(--mono); }
.director-units { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.director-unit { padding: 10px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.director-unit.is-inherited { opacity: .75; }
.director-unit p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.65; }
.director-unit small { display: block; margin-top: 8px; color: #789096; font: 7px/1.55 var(--mono); }
.director-unit.is-ready, .director-unit.is-retry, .director-unit.is-selected { border-color: rgba(130,224,189,.4); }
.director-unit.is-ready header b, .director-unit.is-retry header b, .director-unit.is-selected header b { color: #82e0bd; }
.director-unit.is-running header b { color: #e6b75c; }
.director-unit.is-review header b, .director-unit.is-preferred header b { color: #dc91d2; }
.director-start { width: 100%; margin-top: 10px; padding: 8px 9px; border: 1px solid #7ec7f2; background: rgba(98,176,233,.08); color: #bfe6ff; font: 8px/1.25 var(--mono); cursor: pointer; }
.director-start:hover:not(:disabled) { background: rgba(98,176,233,.16); }
.director-start:disabled { opacity: .45; cursor: not-allowed; }
.production-intelligence-v30 { margin-top: 18px; padding: 17px; border: 1px solid rgba(230,183,92,.55); background: linear-gradient(135deg, rgba(230,183,92,.055), rgba(0,0,0,.14) 48%); }
.production-intelligence-v30 > header, .exception-center-shot > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.production-intelligence-v30 span { color: #e6b75c; font: 7px/1 var(--mono); letter-spacing: .14em; }
.production-intelligence-v30 h3 { margin: 5px 0 9px; font-size: 12px; }
.production-intelligence-v30 h4 { margin: 5px 0 7px; font-size: 10px; }
.production-intelligence-v30 > header b, .exception-center-shot header b { color: #e6b75c; font: 8px/1.4 var(--mono); }
.production-intelligence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.production-intelligence-grid > section, .exception-center-shot { padding: 10px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.production-intelligence-grid p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.65; }
.exception-center-shot { margin-top: 8px; }
.exception-center-shot ul { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; list-style: none; }
.exception-center-shot li { padding: 6px 7px; border-left: 2px solid #e6b75c; color: var(--muted); background: rgba(255,255,255,.012); font-size: 8px; line-height: 1.55; }
.video-continuity-v31 { margin-top: 18px; padding: 17px; border: 1px solid rgba(215,126,203,.55); background: linear-gradient(135deg, rgba(215,126,203,.055), rgba(0,0,0,.14) 48%); }
.video-continuity-v31 > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.video-continuity-v31 span { color: #dc91d2; font: 7px/1 var(--mono); letter-spacing: .14em; }
.video-continuity-v31 h3 { margin: 5px 0 9px; font-size: 12px; }
.video-continuity-v31 h4 { margin: 5px 0 7px; font-size: 10px; }
.video-continuity-v31 > header b { color: #dc91d2; font: 8px/1.4 var(--mono); }
.video-continuity-notice { margin: 8px 0 12px; padding: 9px 10px; border-left: 2px solid #dc91d2; color: var(--muted); background: rgba(215,126,203,.06); font: 8px/1.55 var(--mono); }
.video-previs-advisory { display: grid; grid-template-columns: minmax(210px,.8fr) minmax(260px,1.2fr); gap: 12px; align-items: center; padding: 10px; border: 1px solid rgba(230,183,92,.36); background: rgba(230,183,92,.035); }
.video-previs-advisory p, .video-continuity-actions p, .video-continuity-samples > p, .video-continuity-player > p, .video-continuity-finalize p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.65; }
.video-continuity-target { margin-top: 8px; padding: 10px; border: 1px solid var(--line-soft); }
.video-continuity-target > label { display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; align-items: center; }
.video-continuity-target > label b { font-size: 9px; }
.video-continuity-target select { grid-column: 1 / -1; width: 100%; padding: 8px; border: 1px solid var(--line); color: var(--text); background: #081012; font: 8px/1.4 var(--mono); }
.video-continuity-actions { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding: 10px; border: 1px solid var(--line-soft); }
.video-continuity-actions button { flex: 0 0 auto; border: 1px solid #dc91d2; background: transparent; color: #dc91d2; padding: 8px 10px; font: 8px/1 var(--mono); }
.video-continuity-actions button:disabled { opacity: .45; }
.video-continuity-evidence { display: grid; grid-template-columns: minmax(180px,.62fr) minmax(300px,1.38fr); gap: 8px; margin-top: 8px; }
.video-continuity-evidence > section, .video-continuity-review { padding: 10px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.video-continuity-player video { display: block; width: 100%; max-height: 420px; margin: 8px 0; background: #030607; object-fit: contain; }
.video-continuity-samples > header, .video-continuity-review > header, .continuity-review-item > header { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.video-continuity-samples > header b, .video-continuity-review > header b { color: #dc91d2; font: 8px/1.4 var(--mono); }
.video-continuity-samples > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: 8px 0; }
.video-continuity-samples figure { min-width: 0; margin: 0; }
.video-continuity-samples button { width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--line); background: #030607; color: var(--muted); cursor: pointer; }
.video-continuity-samples img { display: block; width: 100%; aspect-ratio: 9 / 16; background: #030607; object-fit: contain; }
.video-continuity-samples figcaption { padding: 5px; font: 7px/1.3 var(--mono); }
.video-continuity-review { margin-top: 8px; }
.video-continuity-review > div { display: grid; gap: 8px; margin-top: 9px; }
.continuity-review-item { padding: 10px; border: 1px solid var(--line); background: rgba(0,0,0,.14); }
.continuity-review-item.is-pass { border-color: rgba(121,184,138,.65); }
.continuity-review-item.is-fail { border-color: rgba(216,96,74,.72); }
.continuity-review-item > header h5 { margin: 4px 0 0; font-size: 10px; }
.continuity-review-item > header > b { color: var(--muted); font: 7px/1.3 var(--mono); }
.continuity-review-item > section { display: grid; grid-template-columns: 88px 1fr; gap: 9px; margin-top: 7px; padding: 7px; border-left: 2px solid var(--line); background: rgba(255,255,255,.012); }
.continuity-review-item > section p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.6; white-space: pre-line; }
.continuity-review-item > label { display: grid; gap: 5px; margin-top: 7px; }
.continuity-review-item textarea { width: 100%; min-height: 52px; padding: 7px; border: 1px solid var(--line); color: var(--text); background: #081012; font: 8px/1.5 var(--sans); resize: vertical; }
.continuity-review-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.continuity-review-actions button, .video-continuity-finalize button { padding: 7px 9px; border: 1px solid var(--line); color: var(--muted); background: transparent; font: 8px/1.2 var(--mono); }
.continuity-review-actions .continuity-pass { border-color: #79b88a; color: #9bd7ab; }
.continuity-review-actions .continuity-fail { border-color: #bd6a59; color: #e39584; }
.video-continuity-finalize { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 11px; border: 1px solid rgba(215,126,203,.42); background: rgba(215,126,203,.035); }
.video-continuity-finalize > div { display: grid; gap: 5px; }
.video-continuity-finalize > div > b { font-size: 9px; }
.video-continuity-finalize button { border-color: #dc91d2; color: #dc91d2; }
.video-continuity-finalize button:disabled { opacity: .42; }

.pilot-contract, .generation-gate { margin-top: 18px; padding: 17px; border: 1px solid var(--line); background: rgba(0,0,0,.14); }
.pilot-contract > header, .generation-gate > header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.pilot-contract header span, .generation-gate header span, .contract-grid span, .action-contract > span { color: var(--accent); font: 7px/1 var(--mono); letter-spacing: .14em; }
.pilot-contract h3, .generation-gate h3 { margin: 5px 0 9px; font-size: 12px; }
.pilot-contract header b, .generation-gate header b { color: var(--muted); font: 8px/1.4 var(--mono); text-align: right; }
.pilot-notice { margin: 8px 0 12px; padding: 9px 10px; border-left: 2px solid var(--accent); color: var(--muted); background: rgba(255,111,55,.06); font: 8px/1.55 var(--mono); }
.contract-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.contract-grid section, .action-contract { padding: 10px; border: 1px solid var(--line-soft); background: rgba(255,255,255,.015); }
.contract-grid h4, .action-contract h4 { margin: 5px 0 7px; font-size: 10px; }
.contract-grid p, .action-contract p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.6; }
.action-contract { margin-top: 8px; }
.action-contract ol { display: grid; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
.action-contract li { padding: 8px 9px; border-left: 2px solid var(--accent); background: rgba(255,111,55,.04); }
.action-contract li b { display: block; margin-bottom: 4px; color: var(--text); font: 8px/1.4 var(--mono); }
.generation-gate.is-blocked { border-color: rgba(216,96,74,.72); }
.generation-gate.is-pass { border-color: rgba(121,184,138,.72); }
.generation-gate.is-blocked > header b { color: #e39584; }
.generation-gate.is-pass > header b { color: #9bd7ab; }
.capacity-meter { margin-top: 10px; }
.capacity-meter > div { position: relative; height: 28px; overflow: hidden; border: 1px solid var(--line); background: #081012; }
.capacity-meter > div span { position: relative; z-index: 2; display: block; padding: 7px 9px; color: var(--text); font: 8px/1.4 var(--mono); }
.capacity-meter > div i { position: absolute; inset: 0 auto 0 0; z-index: 1; max-width: 100%; background: rgba(121,184,138,.28); }
.capacity-meter > div i.is-over { background: rgba(216,96,74,.38); }
.capacity-meter p { margin: 7px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.generation-gate ul { display: grid; gap: 5px; margin: 10px 0 0; padding: 0; list-style: none; }
.generation-gate li { display: grid; grid-template-columns: 18px 1fr; gap: 7px; align-items: start; padding: 7px 8px; border: 1px solid var(--line-soft); }
.generation-gate li i { color: #e39584; font: 12px/1 var(--mono); }
.generation-gate li.is-pass i { color: #9bd7ab; }
.generation-gate li span { display: grid; gap: 2px; }
.generation-gate li b { font-size: 8px; }
.generation-gate li small { color: var(--muted); font: 7px/1.4 var(--mono); overflow-wrap: anywhere; }
.shot-status.is-blocked, .shot-status.is-rejected { border-color: #bd6a59; color: #e39584; }
.shot-status.is-awaiting { border-color: #d9a84e; color: #e8c987; }
.shot-status.is-approved { border-color: #79b88a; color: #9bd7ab; }

.video-upload-zone { display: grid; grid-template-columns: 30px 1fr auto; gap: 12px; align-items: center; margin-top: 11px; padding: 14px; border: 1px dashed var(--line); }
.video-upload-zone.is-dragging { border-color: var(--accent); background: var(--accent-faint); }
.video-upload-zone > span { color: var(--accent); font: 24px/1 var(--mono); }
.video-upload-zone b { display: block; font-size: 10px; }
.video-upload-zone p { margin: 4px 0 0; color: var(--muted); font-size: 8px; line-height: 1.5; }
.video-upload-zone button { padding: 8px 10px; border: 1px solid var(--accent); color: var(--text); background: transparent; font-size: 9px; }
.video-empty { display: flex; gap: 11px; align-items: center; padding: 14px 4px 3px; color: var(--muted); }
.video-empty span { color: var(--accent); font: 600 20px/1 var(--mono); opacity: .35; }
.video-empty p { margin: 0; font-size: 8px; }
.video-gallery { display: grid; gap: 10px; margin-top: 12px; }
.video-card { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(180px, 1fr); gap: 12px; padding: 10px; border: 1px solid var(--line-soft); }
.video-card.is-pick { border-color: var(--accent); }
.video-card.is-approved { box-shadow: inset 3px 0 0 #79b88a; }
.video-card.is-rejected { box-shadow: inset 3px 0 0 #bd6a59; }
.video-card.is-pending { box-shadow: inset 3px 0 0 #d9a84e; }
.video-card video { width: 100%; aspect-ratio: 9 / 16; max-height: 320px; background: #050809; object-fit: contain; }
.video-card-body { min-width: 0; }
.video-card-body > b { display: block; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.video-meta { margin: 4px 0 10px; color: var(--dim); font: 7px/1.4 var(--mono); }
.video-field { display: grid; gap: 4px; margin-top: 8px; color: var(--muted); font-size: 8px; }
.video-field input, .video-field textarea { width: 100%; min-width: 0; padding: 7px; border: 1px solid var(--line); color: var(--text); background: #0a1113; font: 9px/1.4 var(--sans); resize: vertical; }
.video-frame-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 10px; }
.video-frame-strip figure { min-width: 0; margin: 0; border: 1px solid var(--line-soft); background: #050809; }
.video-frame-strip canvas { display: block; width: 100%; aspect-ratio: 9 / 16; background: #050809; }
.video-frame-strip figcaption { padding: 4px; color: var(--muted); font: 7px/1.3 var(--mono); text-align: center; }
.video-acceptance { display: grid; gap: 5px; margin: 10px 0 0; padding: 9px; border: 1px solid var(--line); }
.video-acceptance legend { padding: 0 5px; color: var(--text); font-size: 8px; }
.video-acceptance label { display: grid; grid-template-columns: 16px 1fr; gap: 7px; align-items: start; padding: 6px; border: 1px solid var(--line-soft); cursor: pointer; }
.video-acceptance input { margin: 1px 0 0; accent-color: var(--accent); }
.video-acceptance span { display: grid; gap: 2px; }
.video-acceptance b { font-size: 8px; }
.video-acceptance small { color: var(--muted); font-size: 7px; line-height: 1.45; }
.video-tools .approve-video { border-color: #79b88a; color: #9bd7ab; }
.video-tools .reject-video { border-color: #bd6a59; color: #e39584; }
.video-tools { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.video-tools button { padding: 6px 7px; border: 1px solid var(--line); color: var(--muted); background: transparent; font-size: 8px; }
.video-tools .pick-video { border-color: var(--accent); color: var(--accent); }
.video-tools .delete-video { margin-left: auto; color: #d8887c; }

@media (max-width: 1260px) {
  .production-workspace { grid-template-columns: 230px minmax(360px, .9fr) minmax(450px, 1.1fr); }
  .episode-hero { grid-template-columns: 1fr; }
  .episode-stats { max-width: 760px; }
}

@media (max-width: 980px) {
  .production-toolbar { position: static; grid-template-columns: 1fr 1fr; }
  .production-search { grid-column: 1 / -1; }
  .production-workspace { grid-template-columns: 230px 1fr; }
  .shot-detail { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .shot-detail-content { max-height: none; }
  .episode-list, .shot-list { max-height: 620px; }
  .recovery-center-toggle { align-self: end; }
  .recovery-center-list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .lab-nav { order: 3; width: 100%; }
  .episode-hero { padding-top: 38px; }
  .episode-stats { grid-template-columns: 1fr 1fr; }
  .episode-stats div:nth-child(2) { border-right: 0; }
  .episode-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .production-toolbar { grid-template-columns: 1fr; }
  .production-search { grid-column: auto; }
  .production-workspace { display: block; }
  .recovery-center-stats { grid-template-columns: 1fr 1fr; }
  .recovery-center-stats div:nth-child(2) { border-right: 0; }
  .recovery-center-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .recovery-center-list { grid-template-columns: 1fr; }
  .codex-worker-banner { grid-template-columns: 1fr auto; }
  .codex-worker-banner small { grid-column: 1 / -1; text-align: left; }
  .episode-list, .shot-list { max-height: 520px; }
  .episode-rail, .shot-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .shot-panel-header { align-items: flex-start; }
  .episode-progress-stack { min-width: 132px; }
  .frame-pair, .video-card, .contract-grid, .shot-spec-v2-context, .shot-spec-v2-compare-grid, .shot-spec-v2-contracts, .reference-resolver-plates, .reference-resolver-footer, .auto-recovery-grid, .director-units, .production-intelligence-grid, .video-previs-advisory, .video-continuity-evidence, .video-continuity-finalize { grid-template-columns: 1fr; }
  .video-continuity-actions { align-items: stretch; flex-direction: column; }
  .video-continuity-samples > div { grid-template-columns: 1fr; }
  .video-continuity-samples img { max-height: 360px; }
  .continuity-review-item > section { grid-template-columns: 1fr; }
  .prompt-block > header { display: grid; }
  .prompt-block header div:last-child { flex-wrap: wrap; }
  .sample-generation-job { grid-template-columns: 1fr; }
  .sample-generation-job button.is-worker-action { width: 100%; }
  .video-upload-zone { grid-template-columns: 28px 1fr; }
  .video-upload-zone button { grid-column: 1 / -1; }
}
