/* Busi Video Studio */
.vs{display:flex;flex-direction:column;gap:8px;height:calc(100vh - 150px);min-height:560px}
.vs-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px 8px}
.vs-g{display:flex;gap:4px;align-items:center;padding:0 6px;border-right:1px solid var(--line);font-size:13px}
.vs-g:last-child{border-right:0}
.vs-sp{flex:1}
.vs-top button,.vs-imp{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:4px 9px;cursor:pointer;font-size:13px;line-height:1.5}
.vs-top button:hover,.vs-imp:hover{border-color:var(--red)}
.vs-top button.pri{background:var(--red);color:#fff;border-color:var(--red)}
.vs-imp input{display:none}
.vs-top input,.vs-top select{border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--card);color:var(--ink);font:inherit;font-size:13px}
#vs-tc{font:600 13px ui-monospace,Consolas,monospace;width:96px;text-align:center}
.vs-mut{color:var(--mut);font-size:12px}
.vs-mid{display:flex;gap:8px;flex:1;min-height:220px}
.vs-bin{width:190px;flex:none;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;overflow:auto}
.vs-side{width:270px;flex:none;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;overflow:auto}
.vs-h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-bottom:6px}
.vs-stage{flex:1;display:flex;align-items:center;justify-content:center;background:#111827;border-radius:10px;overflow:hidden;min-width:200px}
#vs-cv{background:#000;box-shadow:0 2px 18px rgba(0,0,0,.5);max-width:100%;max-height:100%}
.vs-tabs{display:flex;gap:3px;margin-bottom:8px}
.vs-tabs button{flex:1;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:4px 2px;font-size:11px;cursor:pointer}
.vs-tabs button.on{background:var(--red);color:#fff;border-color:var(--red)}
.vs-row{display:flex;gap:6px;align-items:center;margin:5px 0;font-size:12px;flex-wrap:wrap}
.vs-row label{min-width:74px;color:var(--mut)}
.vs-row input[type=number],.vs-row input[type=text],.vs-row input[type=password],.vs-row input:not([type]){width:78px;border:1px solid var(--line);border-radius:6px;padding:3px 5px;background:var(--card);color:var(--ink);font:inherit;font-size:12px}
.vs-row input[type=range]{flex:1;min-width:80px}
.vs-row select{border:1px solid var(--line);border-radius:6px;padding:3px 5px;background:var(--card);color:var(--ink);font-size:12px;max-width:150px}
.vs-row button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:2px 8px;cursor:pointer}
.vs-row button.on{background:var(--red);color:#fff;border-color:var(--red)}
#vs-panel textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:6px;font:inherit;font-size:12px;background:var(--card);color:var(--ink)}
.vs-asset{display:flex;gap:7px;align-items:center;padding:5px 3px;border-bottom:1px solid var(--line);font-size:12px}
.vs-asset.bad{opacity:.55}
.vs-asset b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}
.vs-asset small{color:var(--mut);font-size:10px}
.vs-asset>div{flex:1;min-width:0}
.vs-asset button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;width:22px;height:22px;cursor:pointer}
.vs-hist{padding:4px 0;border-bottom:1px solid var(--line);font-size:12px}
.vs-hist small{display:block;color:var(--mut);font-size:10px}
/* tijdlijn */
.vs-tl{display:flex;gap:0;height:210px;flex:none;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.vs-tlhead{width:150px;flex:none;border-right:1px solid var(--line);padding-top:22px;overflow:hidden;background:var(--bg)}
.vs-th{height:44px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 8px;border-bottom:1px solid var(--line);font-size:11px}
.vs-th b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-th span{display:flex;gap:2px}
.vs-th button{border:0;background:transparent;cursor:pointer;font-size:11px;padding:0 2px;color:var(--ink)}
.vs-th button:hover{color:var(--red)}
.vs-thadd{justify-content:center}
.vs-thadd button{border:1px dashed var(--line);border-radius:6px;padding:3px}
.vs-tlbody{flex:1;overflow:auto;position:relative}
.vs-ruler{position:relative;height:22px;border-bottom:1px solid var(--line);background:var(--bg);font:10px ui-monospace,Consolas,monospace;color:var(--mut)}
.vs-ruler span{position:absolute;top:5px;padding-left:3px;border-left:1px solid var(--line)}
.vs-rows{position:relative}
.vs-row.vs-video,.vs-row.vs-overlay,.vs-row.vs-audio{position:relative;height:44px;border-bottom:1px solid var(--line)}
.vs-row.vs-audio{background:rgba(37,99,235,.05)}
.vs-clip{position:absolute;top:4px;height:36px;border-radius:6px;overflow:hidden;cursor:grab;border:1px solid rgba(0,0,0,.25);box-sizing:border-box}
.vs-clip.on{outline:2px solid var(--red);outline-offset:1px;z-index:3}
.vs-k-video{background:#1d4ed8}.vs-k-audio{background:#047857}.vs-k-text{background:#b45309}.vs-k-shape{background:#7c3aed}.vs-k-image,.vs-k-svg{background:#be123c}
.vs-lbl{position:absolute;left:6px;top:3px;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none;white-space:nowrap;overflow:hidden;max-width:calc(100% - 14px)}
.vs-wave{position:absolute;left:0;bottom:0;width:100%;height:34px;pointer-events:none}
.vs-thumbs{display:flex;height:100%;pointer-events:none;opacity:.85}
.vs-tn{height:100%;width:auto}
.vs-h1,.vs-h2{position:absolute;top:0;width:7px;height:100%;cursor:ew-resize;background:rgba(255,255,255,.35)}
.vs-h1{left:0}.vs-h2{right:0}
.vs-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--red);pointer-events:none;z-index:5}
.vs-playhead::before{content:"";position:absolute;top:-22px;left:-5px;border:6px solid transparent;border-top-color:var(--red)}
@media (max-width:900px){.vs-mid{flex-direction:column}.vs-bin,.vs-side{width:auto;max-height:170px}.vs{height:auto}.vs-tl{height:230px}}
