/* OPC社区 · 短剧带货脚本引擎 样式（深色，融入 AI 短剧工厂 页面） */
.sde-wrap {
  margin: 22px auto 40px;
  max-width: 1180px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: linear-gradient(180deg, rgba(18, 20, 34, .92), rgba(12, 14, 26, .94));
  box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
  backdrop-filter: blur(10px);
  color: #eaeaf2;
  overflow: hidden;
  font-size: 13px;
}
.sde-wrap.folded .sde-body { display: none; }
.sde-head {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px;
  background: linear-gradient(90deg, rgba(120, 80, 255, .22), rgba(255, 120, 60, .14));
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.sde-title { font-size: 16px; font-weight: 800; letter-spacing: .4px; }
.sde-badge {
  font-size: 10px; padding: 2px 8px; border-radius: 999px;
  background: linear-gradient(135deg, #7c5cff, #ff7a45); color: #fff; font-weight: 700;
}
.sde-hint { font-size: 11.5px; color: #9aa0b8; }
.sde-fold {
  margin-left: auto; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16);
  color: #cfd3e4; border-radius: 9px; padding: 6px 12px; cursor: pointer; font-size: 12px;
}
.sde-fold:hover { background: rgba(255,255,255,.16); }
.sde-body { padding: 18px; }
.sde-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 900px) { .sde-cols { grid-template-columns: 1fr; } }
.sde-col { display: flex; flex-direction: column; gap: 6px; }
.sde-label { font-size: 12px; color: #a7adc4; margin-top: 6px; }
.sde-label i { color: #ff7a45; font-style: normal; }
.sde-in {
  width: 100%; box-sizing: border-box;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 10px; padding: 9px 11px; color: #eef0f8; font-size: 13px; outline: none;
}
.sde-in:focus { border-color: #7c5cff; box-shadow: 0 0 0 3px rgba(124, 92, 255, .18); }
.sde-in option { background: #14162a; color: #eef0f8; }
.sde-steps { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 10px; }
.sde-step {
  font-size: 12px; padding: 6px 12px; border-radius: 999px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: #8f95ad;
}
.sde-step.on {
  background: linear-gradient(135deg, rgba(124,92,255,.28), rgba(255,122,69,.2));
  border-color: rgba(124, 92, 255, .5); color: #fff; font-weight: 600;
}
.sde-acts { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 12px; }
.sde-btn {
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); color: #d8dcea;
  padding: 9px 14px; border-radius: 11px; cursor: pointer; font-size: 12.5px; transition: .15s;
}
.sde-btn:hover:not(:disabled) { background: rgba(255,255,255,.15); color: #fff; }
.sde-btn:disabled { opacity: .45; cursor: not-allowed; }
.sde-btn.primary {
  background: linear-gradient(135deg, #7c5cff, #ff7a45); border-color: transparent; color: #fff; font-weight: 700;
}
.sde-status {
  font-size: 12.5px; color: #b9bfd4; background: rgba(255,255,255,.05);
  border: 1px dashed rgba(255,255,255,.14); border-radius: 10px; padding: 10px 12px; margin-bottom: 10px;
}
.sde-out {
  width: 100%; box-sizing: border-box; min-height: 300px; resize: vertical;
  background: rgba(0, 0, 0, .35); border: 1px solid rgba(255,255,255,.14); border-radius: 12px;
  color: #eef0f8; padding: 14px; font-size: 12.5px; line-height: 1.75; font-family: ui-monospace, Menlo, Consolas, monospace;
}
.sde-scan { margin-top: 10px; }
.sde-ok { color: #4ade80; font-size: 12.5px; }
.sde-warn { color: #fbbf24; font-size: 12.5px; }
.sde-hit {
  display: inline-block; margin: 2px 4px 2px 0; padding: 2px 8px; border-radius: 999px; font-size: 11.5px;
  background: rgba(251, 191, 36, .18); color: #fbbf24;
}
.sde-hit.banned { background: rgba(248, 113, 113, .2); color: #f87171; }
.sde-toast {
  position: fixed; right: 22px; bottom: 26px; z-index: 99999;
  background: #1b1d2e; color: #fff; padding: 11px 16px; border-radius: 12px; font-size: 13px;
  border: 1px solid rgba(255,255,255,.16); box-shadow: 0 12px 34px rgba(0,0,0,.5);
  transition: opacity .35s; max-width: 360px;
}
.sde-toast.ok { background: #14351f; border-color: #166534; }
.sde-toast.err { background: #451a1f; border-color: #7f1d1d; }

/* ---------- 短剧出片流水线 ---------- */
.sdp-wrap .sdp-bar { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 12px; }
.sdp-opt { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: #a7adc4; flex: 1; min-width: 180px; }
.sdp-cost { font-size: 12px; color: #fbbf24; background: rgba(251,191,36,.08); border: 1px dashed rgba(251,191,36,.28); border-radius: 10px; padding: 9px 12px; margin-bottom: 12px; }
.sdp-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.sdp-row { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.03); }
.sdp-id { flex: 0 0 62px; font-weight: 800; color: #c4b5fd; font-size: 13px; }
.sdp-meta { flex: 1; min-width: 0; }
.sdp-desc { font-size: 12.5px; color: #d8dcea; line-height: 1.6; margin-bottom: 4px; }
.sdp-state { font-size: 11.5px; color: #8f95ad; }
.sdp-media { flex: 0 0 auto; display: flex; gap: 8px; align-items: flex-start; }
.sdp-media img { width: 84px; height: 150px; object-fit: cover; border-radius: 9px; border: 1px solid rgba(255,255,255,.14); }
.sdp-media video { width: 150px; max-height: 260px; border-radius: 9px; border: 1px solid rgba(255,255,255,.14); background: #000; }
