/* video-studio.css — video workspace (with biz-doc.css for .bs-* controls) */
.vs{--bs-gap:12px;font-size:14px}
.vs [hidden]{display:none!important}
.vs-dz{border:2px dashed var(--border-2,#dfe4ee);border-radius:18px;background:var(--panel,#fff);padding:46px 20px;text-align:center;display:grid;gap:8px;justify-items:center;transition:.15s}
.vs-dz.over{border-color:var(--accent,#4f6ef7);background:var(--accent-soft,#eef1fe)}
.vs-dz p{margin:0;color:var(--muted,#5a6377)}
.vs .dz-btn{background:var(--accent,#4f6ef7);color:#fff;border:0;border-radius:12px;padding:13px 26px;font:700 15px inherit;font-family:inherit;cursor:pointer;width:auto}
.vs-note{font-size:12.5px}
.vs-link{background:none;border:0;color:var(--accent-dark,#3a52c4);font:600 13px inherit;font-family:inherit;cursor:pointer;text-decoration:underline;width:auto;padding:4px}
.vs-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-meta{color:var(--muted,#5a6377);font-size:12.5px}
.vs .grow{flex:1}
.vs-body{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:12px;align-items:start}
.vs-main{min-width:0;display:grid;gap:10px}
.vs-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:220px;background:#0f172a;border-radius:14px;padding:10px;touch-action:none;overflow:hidden}
.vs-stage canvas{display:block;max-width:100%;border-radius:4px;background:#000}
.vs-ov{position:absolute;pointer-events:none}
.vs-ov>*{pointer-events:auto}
.vs-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.78);color:#fff;font-weight:600;padding:20px;text-align:center}
.vs-crop{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.55);cursor:move}
.vs-crop i{position:absolute;width:16px;height:16px;background:#fff;border:2px solid var(--accent,#4f6ef7);border-radius:4px}
.vs-crop i[data-cr=nw]{left:-9px;top:-9px;cursor:nwse-resize}.vs-crop i[data-cr=ne]{right:-9px;top:-9px;cursor:nesw-resize}.vs-crop i[data-cr=sw]{left:-9px;bottom:-9px;cursor:nesw-resize}.vs-crop i[data-cr=se]{right:-9px;bottom:-9px;cursor:nwse-resize}
.vs-crop span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#000a;color:#fff;font-size:12px;padding:2px 8px;border-radius:6px;pointer-events:none;white-space:nowrap}
.vs-h{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:var(--accent,#4f6ef7);color:#fff;display:flex;align-items:center;justify-content:center;font:700 14px system-ui;cursor:grab;box-shadow:0 2px 8px rgba(0,0,0,.4);opacity:.9}
.vs-h.logo{background:#0d9488}
.vs-tr,.vs-selbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vs-play{width:46px;height:40px;border-radius:12px;border:0;background:var(--accent,#4f6ef7);color:#fff;font-size:16px;cursor:pointer;flex:none}
.vs-tr .bs-b.on{background:var(--accent-soft,#eef1fe);border-color:var(--accent,#4f6ef7);color:var(--accent-dark,#3a52c4)}
.vs-time{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;margin-left:4px}
.vs-tl{background:#0f172a;border-radius:12px;padding:4px 6px}
.vs-tl canvas{display:block;width:100%;height:64px;cursor:pointer;touch-action:none}
.vs-mini{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted,#5a6377)}
.vs-mini input{width:84px;padding:6px 8px;border:1px solid var(--border-2,#dfe4ee);border-radius:8px;font:inherit;font-variant-numeric:tabular-nums;background:var(--panel,#fff);color:var(--text,#1e2635)}
.vs-len{font-size:12.5px;color:var(--muted,#5a6377)}
.vs-stats{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vs-chip{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--field,#f4f6fb);border:1px solid var(--border,#e4e9f2);color:var(--muted,#5a6377)}
.vs-chip b{color:var(--text,#1e2635)}
.vs-chip.bad{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.vs-msg{font-size:13px;color:var(--muted,#5a6377);flex-basis:100%}
.vs-side{background:var(--panel,#fff);border:1px solid var(--border,#e4e9f2);border-radius:14px;position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto;min-width:0}
.vs-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--border,#e4e9f2);position:sticky;top:0;background:var(--panel,#fff);z-index:2}
.vs-tabs button{border:0;background:none;padding:12px 2px;font:700 12.5px inherit;font-family:inherit;color:var(--muted,#5a6377);cursor:pointer;border-bottom:2px solid transparent;width:auto;min-width:0}
.vs-tabs button.on{color:var(--accent-dark,#3a52c4);border-bottom-color:var(--accent,#4f6ef7)}
.vs-panel{padding:12px 14px 16px;display:grid;gap:10px}
.vs-panel h4{margin:6px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#5a6377)}
.vs-panel p{margin:0}
.vs-panel .bs-f{display:grid;gap:4px}
.vs-panel .bs-f>span{font-size:12.5px;color:var(--muted,#5a6377);display:flex;justify-content:space-between;gap:6px}
.vs-panel input[type=number],.vs-panel select,.vs-panel textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border-2,#dfe4ee);border-radius:9px;font:inherit;background:var(--panel,#fff);color:var(--text,#1e2635)}
.vs-panel input[type=range]{width:100%;accent-color:var(--accent,#4f6ef7)}
.vs-panel input[type=color]{width:100%;height:34px;padding:2px;border:1px solid var(--border-2,#dfe4ee);border-radius:9px;background:var(--panel,#fff)}
.vs-chips,.vs-fmts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vs-chips button,.vs-fmts button,.vs-fl{border:1px solid var(--border-2,#dfe4ee);background:var(--panel,#fff);color:inherit;border-radius:999px;padding:5px 11px;font:600 12.5px inherit;font-family:inherit;cursor:pointer;width:auto;min-width:0;text-decoration:none}
.vs-fmts button,.vs-fl{border-radius:9px}
.vs-fl{color:var(--accent-dark,#3a52c4);border-style:dashed}
.vs-chips button:hover,.vs-chips button.on,.vs-fmts button:hover,.vs-fmts button.on{border-color:var(--accent,#4f6ef7);color:var(--accent-dark,#3a52c4);background:var(--accent-soft,#eef1fe)}
.vs-seg{display:flex}.vs-seg button{flex:1}
.vs-g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vs-segs{display:flex;flex-wrap:wrap;gap:6px}.vs-segs span{font-size:12px;background:var(--field,#f4f6fb);border:1px solid var(--border,#e4e9f2);border-radius:8px;padding:3px 8px;font-variant-numeric:tabular-nums}
.vs-text{border:1px solid var(--border,#e4e9f2);border-radius:12px;padding:10px;display:grid;gap:8px;background:var(--field,#f4f6fb)}
.vs-est{font-size:13px;padding:10px 12px;border-radius:10px;background:var(--field,#f4f6fb);border:1px solid var(--border,#e4e9f2)}
.vs-good{color:#15803d;font-weight:700}
.vs-bad{color:#b91c1c;font-weight:700;cursor:help}
.vs-q{display:grid;gap:6px;max-height:260px;overflow:auto}
.vs-qi{display:flex;align-items:center;gap:6px;background:var(--panel,#fff);border:1px solid var(--border,#e4e9f2);border-radius:12px;padding:6px 8px}
.vs-qi.cur{border-color:var(--accent,#4f6ef7);background:var(--accent-soft,#eef1fe)}
.vs-qn{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;padding:2px;width:auto}
.vs-qn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;min-width:0}
.vs-qn small{color:var(--muted,#5a6377);font-size:12px;white-space:nowrap}
.vs-qs{font-size:12.5px;color:var(--muted,#5a6377);white-space:nowrap}
.vs-dl{color:var(--accent-dark,#3a52c4);font-weight:700;text-decoration:none}
.vs-qbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.vs-res{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:var(--panel,#fff);border:1px solid var(--accent,#4f6ef7);border-radius:14px;padding:12px}
.vs-res video{max-width:320px;width:100%;max-height:220px;border-radius:8px;background:#000}
.vs-resi{display:grid;gap:6px;flex:1;min-width:200px}
.vs-resi span{font-size:13px;color:var(--muted,#5a6377)}
.vs-resi a.ps-go{text-decoration:none;display:inline-flex;align-items:center;width:auto!important}
@media (max-width:1100px){.vs-body{grid-template-columns:minmax(0,1fr)}.vs-side{position:static;max-height:none}}
@media (max-width:560px){.vs-name{max-width:150px}.vs-meta{flex-basis:100%;order:5}.vs-dz{padding:32px 14px}.vs-qn small{display:none}.vs-tabs button{font-size:11.5px}.vs-stage{padding:6px;min-height:160px}}
@media (max-width:560px){.vs .bs-bar{position:static}}
