/* Director canvas and video brief controls. Loaded as part of the design system. */
.director-canvas-panel { margin-top: 18px; }
.director-canvas-toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:10px 0; }
.director-canvas-toolbar select { min-width:150px; }
.director-canvas { position:relative; height:560px; overflow:hidden; border:1px solid #d8dee8; border-radius:10px; background-color:#f7f9fc; background-image:linear-gradient(#e6ebf2 1px, transparent 1px),linear-gradient(90deg,#e6ebf2 1px,transparent 1px); background-size:24px 24px; cursor:grab; touch-action:none; }
[data-theme="dark"] .director-canvas { border-color:#3b4658; background-color:#111827; background-image:linear-gradient(#263142 1px,transparent 1px),linear-gradient(90deg,#263142 1px,transparent 1px); }
.director-canvas.is-panning { cursor:grabbing; }
.director-canvas-world { position:absolute; inset:0; width:1800px; height:1000px; transform-origin:0 0; }
.director-canvas-links { position:absolute; inset:0; width:1800px; height:1000px; pointer-events:none; overflow:visible; }
.director-canvas-links line { stroke:#94a3b8; stroke-width:2; stroke-dasharray:5 4; }
.director-canvas-node { position:absolute; width:220px; min-height:116px; box-sizing:border-box; border:1px solid #cbd5e1; border-left:4px solid #64748b; border-radius:9px; background:#fff; box-shadow:0 4px 14px rgba(15,23,42,.10); user-select:none; }
[data-theme="dark"] .director-canvas-node { border-color:#475569; background:#1f2937; color:#e5e7eb; box-shadow:0 4px 14px rgba(0,0,0,.28); }
.director-canvas-node[data-status="ready"] { border-left-color:#16a34a; }
.director-canvas-node[data-status="working"] { border-left-color:#d97706; }
.director-canvas-node[data-status="error"] { border-left-color:#dc2626; }
.director-canvas-node__head { display:flex; align-items:center; gap:7px; padding:9px 10px 7px; cursor:move; border-bottom:1px solid #e5e7eb; }
[data-theme="dark"] .director-canvas-node__head { border-bottom-color:#374151; }
.director-canvas-node__icon { width:22px; height:22px; display:grid; place-items:center; border-radius:5px; background:#eef2ff; color:#4338ca; font-size:12px; font-weight:700; }
.director-canvas-node__title { flex:1; font-size:13px; font-weight:700; }
.director-canvas-node__status { font-size:11px; color:#64748b; white-space:nowrap; }
.director-canvas-node__body { padding:9px 10px 11px; font-size:12px; line-height:1.45; color:#475569; }
[data-theme="dark"] .director-canvas-node__body { color:#cbd5e1; }
.director-canvas-node__summary { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; }
.director-canvas-node__action { margin-top:7px; border:0; background:transparent; padding:0; color:#2563eb; cursor:pointer; font-size:11px; }
.director-canvas-hint { margin:0; font-size:12px; color:#64748b; }
.director-canvas-legend { display:flex; gap:12px; margin-left:auto; font-size:11px; color:#64748b; }
.director-canvas-legend span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:4px; border-radius:50%; background:#94a3b8; }
.director-canvas-legend .ready::before { background:#16a34a; }
.director-canvas-legend .working::before { background:#d97706; }
.director-builder { border:1px solid #d8dee8; border-radius:8px; padding:12px; background:#fbfcfe; }
[data-theme="dark"] .director-builder { border-color:#3b4658; background:#111827; }
.director-builder__rows { display:grid; gap:10px; }
.director-builder__row { border:1px solid #d8dee8; border-radius:8px; padding:12px; background:#fff; }
[data-theme="dark"] .director-builder__row { border-color:#475569; background:#1f2937; }
.director-builder__row-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.director-builder__row-head strong { flex:1; }
.director-builder__count { font-size:12px; color:#64748b; }
.director-builder textarea { min-height:64px; }
.director-builder__hint { margin:0 0 10px; font-size:12px; color:#64748b; }
/* 一键出片：照片上传行 */
.quickstudio-uploads { display:grid; gap:8px; margin-top:10px; }
.quickstudio-upload { display:flex; align-items:center; gap:10px; border:1px solid #d8dee8; border-radius:8px; padding:8px 10px; background:#fff; }
[data-theme="dark"] .quickstudio-upload { border-color:#475569; background:#1f2937; }
.quickstudio-upload__thumb { width:44px; height:44px; flex:0 0 44px; object-fit:cover; border-radius:6px; background:#f1f5f9; display:flex; align-items:center; justify-content:center; font-size:11px; color:#64748b; }
[data-theme="dark"] .quickstudio-upload__thumb { background:#0f172a; color:#94a3b8; }
.quickstudio-upload__name { flex:1; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quickstudio-upload__state { font-size:12px; color:#64748b; }
.director-advanced > summary { cursor:pointer; font-size:13px; font-weight:600; padding:8px 0; }
.director-advanced[open] > summary { margin-bottom:10px; }
.integration-provider-card { border:1px solid #d8dee8; border-radius:8px; padding:12px; background:#fbfcfe; }
[data-theme="dark"] .integration-provider-card { border-color:#3b4658; background:#111827; }
.integration-provider-card p { margin:5px 0 10px; }
@media (max-width:700px) { .director-canvas { height:470px; } .director-canvas-legend { width:100%; margin-left:0; } }
