.ws-main.has-document-tabs { height:100dvh; min-height: 0; overflow: hidden; }
.ws-document-tabs { display:flex; flex:0 0 auto; overflow-x:auto; min-height:40px; gap:1px; background:var(--ui-bg-canvas,#eef2f7); border-bottom:1px solid var(--ui-border-default); padding:0 8px; scrollbar-width:thin; }
.ws-document-tab { display:flex; flex:0 0 auto; max-width:260px; align-items:center; border-right:1px solid var(--ui-border-default); }
.ws-document-tab:has([aria-selected="true"]) { background:white; box-shadow:inset 0 2px #2463eb; }
.ws-document-tab__open { display:flex; align-items:center; gap:8px; flex:1 1 auto; border:0; background:transparent; color:var(--ui-fg-default); padding:10px 12px; overflow:hidden; white-space:nowrap; font:inherit; font-size:13px; cursor:pointer; min-width:70px; }
.ws-document-tab__name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws-document-tab__open .ws-document-tab__icon { flex:none; width:16px; height:16px; object-fit:contain; pointer-events:none; }
.ws-document-tab__open[aria-selected="true"] { color:#154cd2; font-weight:700; }
.ws-document-tab__close { flex:none; border:0; background:transparent; color:#64748b; font-size:20px; width:30px; height:32px; cursor:pointer; }
.ws-document-tab button:focus-visible { outline:2px solid #2563eb; outline-offset:-3px; }
.ws-document-pane { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:auto; }
.ws-document-pane > .document-header { padding:0; background:var(--ui-bg-canvas); }
.ws-document-pane[hidden], .ws-document-frame[hidden], .ws-document-empty[hidden] { display:none !important; }
.ws-document-frame { display:block; width:100%; flex:1 1 auto; min-height:0; border:0; background:var(--ui-bg-canvas); }
.ws-document-empty { display:grid; place-items:center; flex:1; color:#64748b; padding:24px; }
.is-document-frame .ws-sb, .is-document-frame .ws-burger, .is-document-frame .ws-scrim { display:none !important; }
.is-document-frame .ws-main { margin:0 !important; width:100% !important; }
.is-document-frame .ws { padding:0 !important; }
.ws-sb .ws-row.is-selected { background:var(--ui-color-sidebar-active); border:0; border-radius:0; box-shadow:none; color:var(--ui-color-sidebar-strong); }
.ws-sb .ws-row.is-selected .nm { color:inherit; }
.ws-sb .ws-row.is-selected:focus-visible { outline:1px solid var(--ui-color-sidebar-muted); outline-offset:-1px; box-shadow:none; }
.ws-selection { display:flex; flex:none; align-items:center; gap:2px; color:var(--ui-color-sidebar-fg); }
.ws-selection[hidden], .ws-selection-error[hidden] { display:none; }
.ws-selection > span { min-width:18px; margin-right:4px; color:var(--ui-color-sidebar-muted); font-size:12px; text-align:center; font-variant-numeric:tabular-nums; }
.ws-selection button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:28px; height:30px; padding:0; border:0; border-radius:var(--ui-radius-sm); background:transparent; color:inherit; cursor:pointer; }
.ws-selection button .i { width:16px; height:16px; }
.ws-selection button:hover { background:var(--ui-color-sidebar-hover); color:var(--ui-color-sidebar-strong); }
.ws-selection button:focus-visible { outline:1px solid var(--ui-color-sidebar-muted); outline-offset:-1px; }
.ws-selection button:disabled { opacity:.5; cursor:wait; }
.ws-selection__hint { display:none; position:absolute; z-index:90; top:calc(100% + 6px); right:0; padding:5px 8px; border:1px solid var(--ui-color-sidebar-muted); border-radius:var(--ui-radius-sm); background:var(--ui-color-sidebar-bg,#1c2636); color:var(--ui-color-sidebar-strong); font-size:12px; white-space:nowrap; pointer-events:none; }
.ws-selection button:hover .ws-selection__hint, .ws-selection button:focus-visible .ws-selection__hint { display:block; }
.ws-selection-error { color:#ffd4ce; font-size:12px; padding:6px; }
.ws-row--trash.is-over { outline:2px solid #fb7185; background:#5f2936; }
@media (max-width:880px) {
  .ws-document-tabs { min-height:44px; padding-left:52px; }
  .is-document-frame .ws-main { padding-top:0 !important; }
  .ws-document-tab__close { width:40px; height:40px; }
  .ws-document-tab { max-width:220px; }
}

.is-document-frame #vvveb-builder { left:0; }
.is-document-frame .ws-main .topbar { padding-left:0; }

@media (pointer:coarse) { .ws-selection button { width:36px; height:36px; } }
