/* Schnittplatz des Demo-Films — Drehbuch bearbeiten, Film ansehen, neu drehen.
   Eigene Überlagerung wie die Große Ansicht (werkstatt.css), nicht der geteilte
   #dlg: Film und Szenenliste brauchen die ganze Breite. Gleiche Datei in
   frontend/ und frontend-en/ (Test: test_schnittplatz_zwillinge_gleich). */

#schnittplatz{position:fixed;inset:0;z-index:9000;display:none;flex-direction:column;
  background:rgba(10,31,68,.55)}
#schnittplatz.auf{display:flex}

.sp-leiste{display:flex;align-items:center;gap:12px;padding:10px 16px;flex:0 0 auto;
  background:var(--nacht,#0A1F44);color:#fff;flex-wrap:wrap}
.sp-titel{font-weight:700;white-space:nowrap;max-width:44ch;overflow:hidden;text-overflow:ellipsis}
.sp-pill{font-size:12px;border-radius:999px;padding:2px 10px;font-weight:600;white-space:nowrap;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.sp-pill.ok{background:#2e7d4f;border-color:#2e7d4f}
.sp-pill.fehler{background:#b3261e;border-color:#b3261e}
.sp-pill.offen{background:var(--gold,#C08A2F);border-color:var(--gold,#C08A2F);color:#0A1F44}
.sp-rechts{display:flex;gap:8px;align-items:center;margin-left:auto}
.sp-btn{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);
  border-radius:7px;padding:5px 11px;font-size:13px;cursor:pointer;font-weight:600;white-space:nowrap}
.sp-btn:hover{background:rgba(255,255,255,.22)}
.sp-btn.gold{background:var(--gold,#C08A2F);border-color:var(--gold,#C08A2F);color:#0A1F44}
.sp-btn:disabled{opacity:.45;cursor:not-allowed}

.sp-buehne{flex:1;display:grid;grid-template-columns:minmax(380px,46%) 1fr;gap:14px;
  padding:14px 16px;min-height:0;background:var(--creme,#FAF8F3)}
.sp-links,.sp-rechtsspalte{min-height:0;overflow:auto}
.sp-film{background:#000;border-radius:10px;width:100%;aspect-ratio:16/9;display:block}
.sp-film-leer{background:#0A1F44;color:#d6deea;border-radius:10px;aspect-ratio:16/9;display:flex;
  align-items:center;justify-content:center;text-align:center;padding:20px;font-size:14px}
.sp-filminfo{font-size:12.5px;color:var(--mittelgrau,#6B7280);margin:6px 2px 8px}
.sp-zeitleiste{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.sp-zeitleiste button{border:1px solid var(--hairline,#D8D2C6);background:#fff;border-radius:999px;
  padding:3px 10px;font-size:12px;cursor:pointer;color:var(--blau,#0A1F44)}
.sp-zeitleiste button.akt{background:var(--goldf,#F7EDDA);border-color:var(--gold,#C08A2F);font-weight:700}

.sp-kasten{background:#fff;border:1px solid var(--rand,#E7E0D4);border-radius:10px;padding:12px 14px;margin-bottom:12px}
.sp-kasten h4{margin:0 0 8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--mittelgrau,#6B7280)}
.sp-zeile{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0;font-size:13px}
.sp-zeile label{min-width:92px;color:var(--mittelgrau,#6B7280)}
.sp-kosten{font-size:13px;line-height:1.6}
.sp-meldungen{font-size:12.5px;margin:6px 0 0;padding-left:18px}
.sp-meldungen li.fehler{color:#b3261e}
.sp-meldungen li.hinweis{color:#8a5a00}
.sp-lauf{font-size:13px}
.sp-balken{height:6px;background:var(--hairline,#D8D2C6);border-radius:3px;margin:6px 0;overflow:hidden}
.sp-balken div{height:6px;background:var(--gold,#C08A2F)}

.sp-szene{background:#fff;border:1px solid var(--rand,#E7E0D4);border-radius:10px;margin-bottom:10px}
.sp-szene.akt{border-color:var(--gold,#C08A2F);box-shadow:0 0 0 2px var(--goldf,#F7EDDA)}
.sp-szene.ziel{border-style:dashed;border-color:var(--gold,#C08A2F)}
.sp-szene.mit-fehler{border-color:#b3261e}
.sp-szkopf{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--rand,#E7E0D4);
  font-size:13px;cursor:pointer}
.sp-griff{cursor:grab;color:var(--mittelgrau,#6B7280);font-size:16px;user-select:none;touch-action:none;padding:0 2px}
.sp-nr{font-weight:700;min-width:22px}
.sp-art{font-weight:600}
.sp-dauer{color:var(--mittelgrau,#6B7280);font-size:12px}
.sp-szaktionen{margin-left:auto;display:flex;gap:4px}
.sp-mini{border:1px solid var(--hairline,#D8D2C6);background:#fff;border-radius:6px;padding:2px 7px;
  font-size:12px;cursor:pointer;color:var(--blau,#0A1F44)}
.sp-mini:hover{background:var(--goldf,#F7EDDA)}
.sp-mini:disabled{opacity:.4;cursor:not-allowed}
.sp-szinhalt{padding:10px 12px;display:grid;gap:8px}
.sp-feld{display:grid;gap:3px;font-size:12.5px}
.sp-feld > span{color:var(--mittelgrau,#6B7280)}
.sp-feld textarea,.sp-feld input,.sp-feld select{font-size:13.5px;padding:6px 8px;border:1px solid var(--hairline,#D8D2C6);
  border-radius:6px;font-family:inherit;width:100%;box-sizing:border-box;color:var(--blau,#0A1F44)}
.sp-feld textarea{min-height:58px;resize:vertical}
.sp-feld textarea.code{font-family:var(--mono,ui-monospace,Menlo,monospace);font-size:12px;min-height:120px}
.sp-zweispaltig{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sp-handgriffe{font-size:12.5px;margin:0;padding-left:18px;color:var(--blau,#0A1F44)}
.sp-szmeldung{font-size:12px;color:#b3261e}
.sp-szhinweis{font-size:12px;color:#8a5a00}
.sp-neu{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 30px}

@media (max-width: 980px){ .sp-buehne{grid-template-columns:1fr;overflow:auto} }

/* Nach einer Änderung gelten Kosten und Meldungen nicht mehr — abgeblendet bis zur nächsten Prüfung. */
#sp-kaesten.veraltet .sp-gespeichert{opacity:.45}

/* Hinweise (#toast, z-index 950) über der Überlagerung zeigen, solange der Schnittplatz offen ist. */
body.sp-offen #toast{z-index:9300}
