:root {
  --workbook-tabs-height: 38px;
  --workbook-dock-height: 32px;
  --vsearch-pane-height: 66%;
  --workbook-orange: #e86f18;
  --workbook-green: #218052;
}

.workbook-tabs {
  height: var(--workbook-tabs-height);
  display: flex;
  align-items: end;
  gap: 2px;
  padding: 4px 10px 0;
  border-bottom: 1px solid #aeb7c1;
  background: #e8ebef;
  color: #29313b;
  user-select: none;
  position: relative;
  z-index: 58;
}
.workbook-tabs.workbook-tabs-shell {
  align-items: flex-end;
  gap: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
}
.workbook-tabs-shell > #workbookTabs {
  min-width: 0;
  flex: 1 1 auto;
}
.workbook-tabs > button {
  min-width: 94px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #b6bec8;
  border-bottom-color: #8f99a6;
  border-radius: 0;
  padding: 0 15px;
  background: #d9dde2;
  color: #4e5763;
  cursor: pointer;
  font-size: 12px;
  font-weight: 750;
}
.workbook-tabs > button:hover,
.workbook-tabs > button:focus-visible { background: #f6f8fa; color: #17202a; }
.workbook-tabs > button.active {
  border-color: #8f99a6;
  border-bottom-color: #fff;
  background: #fff;
  color: #0d55a8;
  box-shadow: inset 0 3px 0 #1769c2;
}
#suiteTabsBar > #workbookTabs {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  width: 100%;
  height: var(--workbook-dock-height);
  display: flex;
  align-items: end;
  gap: 5px;
  padding: 3px 8px 0;
  overflow: hidden;
  border: 0;
  border-top: 1px solid #b7c0ba;
  background: #eef1ef;
  box-shadow: 0 -2px 7px rgb(28 42 33 / 12%);
}
#suiteTabsBar > #workbookTabs > button {
  min-width: 88px;
  height: 29px;
  border: 1px solid #b7c0ba;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
  padding: 0 14px;
  background: #dfe5e1;
  color: #314137;
  box-shadow: none;
  font: 600 12px/1 Aptos, Calibri, "Segoe UI", sans-serif;
}
#suiteTabsBar > #workbookTabs > button:hover,
#suiteTabsBar > #workbookTabs > button:focus-visible {
  border-color: #8fa497;
  background: #f7faf8;
  color: #172d20;
  outline: none;
}
#suiteTabsBar > #workbookTabs > button.active,
#suiteTabsBar > #workbookTabs > button[aria-selected="true"] {
  border-color: #a8b5ac;
  border-bottom-color: #fff;
  background: #fff;
  color: #173f28;
  box-shadow: inset 0 -3px 0 #217346;
}
.workbook-tab-note { color: #59636f; font-size: 9px; font-weight: 650; }
.workbook-activity-badge {
  min-width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  padding: 0 4px;
  background: #c73524;
  color: #fff;
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
}
.workbook-tabs > button.has-background-activity { color: #9b2e1f; }
.workbook-tabs > button.has-background-activity::after {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e86f18;
  box-shadow: 0 0 0 3px rgb(232 111 24 / 18%);
}
.active-mask-choice {
  min-width: 0;
  height: 34px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
  padding: 0 6px 4px 12px;
  color: #59636f;
  font-size: 10px;
  font-weight: 700;
}
.active-mask-choice select {
  max-width: 250px;
  height: 28px;
  border: 1px solid #aeb7c2;
  border-radius: 0;
  padding: 0 26px 0 7px;
  background: #fff;
  color: #212a34;
  font: inherit;
}

.app-body {
  height: calc(100vh - var(--menu-height) - var(--alpha-height) - var(--workbook-tabs-height) - var(--status-height) - var(--workbook-dock-height));
}

.vsearch-active .workspace,
.vmask-active .workspace { display: flex; flex-direction: column; }
.vsearch-active .workspace > .vexcell-draft-tools,
.vmask-active .workspace > .vexcell-draft-tools { display: none; }
.vsearch-active .workspace > #editorGrid { width: 100%; height: auto; flex: 1 1 auto; min-height: 160px; }
.vmask-active .workspace > #editorGrid { display: none; }

.vsearch-panel {
  flex: 0 0 var(--vsearch-pane-height);
  min-height: 220px;
  max-height: calc(100% - 180px);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border-bottom: 1px solid #96a1ad;
  background: #f5f6f7;
  color: #18212b;
  position: relative;
}
.vsearch-header {
  flex: 0 0 auto;
  min-height: 80px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 15px;
  border-bottom: 1px solid #c7cdd4;
  background: #fff;
}
.vsearch-photo-copy { min-width: 0; display: flex; align-items: center; gap: 11px; }
.vsearch-photo-copy img {
  width: 68px;
  height: 58px;
  flex: 0 0 auto;
  object-fit: cover;
  border: 1px solid #8d98a5;
  background: #eef1f4;
}
.vsearch-photo-copy img:not([src]) { visibility: hidden; }
.vsearch-photo-copy > span { min-width: 0; display: grid; gap: 4px; }
.vsearch-photo-copy strong { max-width: 260px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }
.vsearch-header-status { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 3px 8px; margin-left: auto; }
.vsearch-header-status strong { font-size: 13px; }
.vsearch-header-status small { grid-column: 2; color: #66717e; font-size: 10px; }
.vsearch-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--workbook-orange); box-shadow: 0 0 0 3px #ffe6d4; }
.vsearch-body { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 245px; overflow: hidden; }
.vsearch-empty { align-self: center; justify-self: center; width: min(500px, calc(100% - 32px)); padding: 22px; border: 1px dashed #aeb7c0; background: #fff; text-align: center; }
.vsearch-empty strong { font-size: 16px; }
.vsearch-empty p { margin: 7px 0 0; color: #616b77; font-size: 12px; line-height: 1.5; }
.vsearch-photo-start-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 14px; }
.vsearch-photo-start-actions button {
  min-height: 30px;
  border: 1px solid #8b98a5;
  border-radius: 0;
  padding: 4px 9px;
  background: #f7f8fa;
  color: #17202a;
  cursor: pointer;
  font: 700 11px/1.2 Aptos, Calibri, "Segoe UI", sans-serif;
}
.vsearch-photo-start-actions button:hover,
.vsearch-photo-start-actions button:focus-visible { border-color: #0d55a8; background: #eaf3ff; outline: 1px solid #0d55a8; }
.vsearch-tree { min-width: 0; min-height: 0; overflow: auto; padding: 18px 24px 80px; scroll-behavior: smooth; }
.vsearch-tree:empty { display: none; }
.vsearch-details {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 17px 14px;
  overflow: auto;
  border-left: 1px solid #c9cfd6;
  background: #fff;
  font-size: 11px;
}
.vsearch-details:empty::before { content: "Klik op een stap voor uitleg."; color: #77818c; }
.vsearch-details > strong { font-size: 14px; }
.vsearch-details p { margin: 0; color: #586370; line-height: 1.5; }
.vsearch-details small { margin-top: auto; padding-top: 8px; border-top: 1px solid #e0e4e8; color: #6c7580; }
.vsearch-tree-roots,
.vsearch-tree-children { margin: 0; padding: 0; list-style: none; }
.vsearch-tree-roots { width: min(100%, 980px); margin: 0 auto; }
.vsearch-tree-node { min-width: 0; position: relative; }
.vsearch-tree-children {
  display: grid;
  grid-template-columns: repeat(2, minmax(210px, 1fr));
  gap: 24px 16px;
  padding-top: 31px;
  position: relative;
}
.vsearch-tree-children::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: #8793a1;
}
.vsearch-tree-children > .vsearch-tree-node::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 50%;
  width: calc(50% + 8px);
  height: 14px;
  border-top: 1px solid #8793a1;
  border-left: 1px solid #8793a1;
}
.vsearch-tree-children > .vsearch-tree-node:nth-child(odd)::before { left: 50%; }
.vsearch-tree-children > .vsearch-tree-node:nth-child(even)::before { left: -8px; border-left: 0; border-right: 1px solid #8793a1; }
.vsearch-tree-children .vsearch-tree-children { grid-template-columns: 1fr; padding-left: 18px; }
.vsearch-node-card {
  min-height: 76px;
  padding: 8px 10px;
  border: 1px solid #aab3bd;
  border-left: 4px solid #8d98a5;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 2px 5px rgb(31 42 54 / 8%);
  cursor: default;
}
.vsearch-node-card:focus-visible { outline: 2px solid #3a7ec8; outline-offset: 2px; }
.vsearch-tree-node[data-status="running"] > .vsearch-node-card { border-left-color: var(--workbook-orange); background: #fff9f4; }
.vsearch-tree-node[data-status="waiting"] > .vsearch-node-card { border-left-color: #1769c2; background: #f4f8ff; }
.vsearch-tree-node[data-status="done"] > .vsearch-node-card { border-left-color: var(--workbook-green); }
.vsearch-tree-node[data-status="failed"] > .vsearch-node-card { border-left-color: #b52b32; background: #fff7f7; }
.vsearch-tree-node[data-status="skipped"] > .vsearch-node-card { border-style: dashed; color: #6c7580; box-shadow: none; }
.vsearch-node-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 6px 8px; }
.vsearch-node-top strong { min-width: 0; font-size: 12px; overflow-wrap: anywhere; }
.vsearch-node-state { padding: 2px 5px; border: 1px solid #aab3bd; background: #f1f3f5; color: #4d5762; font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
[data-status="running"] > .vsearch-node-card .vsearch-node-state { border-color: #9e4100; background: #b94e00; color: #fff; animation: vsearchPulse 1.4s ease-in-out infinite; }
[data-status="waiting"] > .vsearch-node-card .vsearch-node-state { border-color: #0e579f; background: #1769c2; color: #fff; }
[data-status="done"] > .vsearch-node-card .vsearch-node-state { border-color: #1e774c; background: #27875a; color: #fff; }
[data-status="failed"] > .vsearch-node-card .vsearch-node-state { border-color: #9e2129; background: #b52b32; color: #fff; }
.vsearch-node-cost { color: #6f7781; font-size: 9px; font-weight: 750; }
.vsearch-node-card > p { margin: 5px 0 0; color: #626d79; font-size: 10px; line-height: 1.35; }
.vsearch-node-timing { display: flex; align-items: center; gap: 8px; margin-top: 7px; }
.vsearch-node-timeline { height: 3px; flex: 1 1 auto; overflow: hidden; background: #d7dde4; }
.vsearch-node-timeline > i { width: 42%; height: 100%; display: block; background: var(--workbook-orange); animation: vsearchTimeline 1.6s ease-in-out infinite alternate; }
[data-status="waiting"] > .vsearch-node-card .vsearch-node-timeline > i { background: #1769c2; animation-duration: 2.5s; }
.vsearch-node-elapsed { min-width: 36px; color: #4e5a67; font-size: 9px; font-variant-numeric: tabular-nums; text-align: right; }
.vsearch-node-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.vsearch-node-actions button { min-height: 27px; border: 1px solid #a7b1bc; border-radius: 0; padding: 3px 7px; background: #fff; color: #28323d; cursor: pointer; font-size: 9px; font-weight: 700; }
.vsearch-node-actions button:hover { background: #edf4fc; }
.vsearch-node-actions button:disabled { border-color: #c7cdd3; background: #eceff2; color: #8b949e; cursor: not-allowed; }
.vsearch-node-actions button.primary { border-color: #0e5cae; background: #1466bd; color: #fff; }
.vsearch-new-results { position: absolute; right: 263px; bottom: 14px; z-index: 4; border: 1px solid #0d55a8; border-radius: 0; padding: 7px 10px; background: #fff; color: #0d55a8; box-shadow: 0 3px 12px rgb(18 39 61 / 18%); cursor: pointer; font-size: 11px; font-weight: 800; }
.vsearch-splitter { flex: 0 0 9px; height: 9px; display: grid; place-items: center; border-top: 1px solid #aeb7c1; border-bottom: 1px solid #aeb7c1; background: #e5e8ec; cursor: row-resize; touch-action: none; }
.vsearch-splitter span { width: 42px; height: 3px; border-top: 1px solid #818c98; border-bottom: 1px solid #818c98; }
.vsearch-splitter:hover,
.vsearch-splitter:focus-visible { background: #dcecff; outline: 2px solid #62a0e5; outline-offset: -2px; }
body.resizing-vsearch,
body.resizing-vsearch * { cursor: row-resize !important; user-select: none !important; }
.vsearch-active .vrequen-scan-stage,
.vsearch-active .research-api-panel,
.vsearch-active .recognition-panel { display: none !important; }
.vsearch-active .vedit-surface { padding-top: 18px; }

.vmask-panel { flex: 1 1 auto; min-height: 0; overflow: auto; background: #f0f2f4; }
.vmask-editor-header {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px 22px;
  border-bottom: 1px solid #bfc7d0;
  background: #fff;
}
.vmask-editor-header > div:first-child { min-width: 0; flex: 1; }
.vmask-editor-header h2 { margin: 3px 0 2px; font-size: 21px; }
.vmask-editor-header p { margin: 0; color: #66717d; font-size: 11px; }
.vmask-editor-controls { display: flex; align-items: center; gap: 7px; }
.vmask-editor-controls select,
.vmask-editor-controls button,
.vmask-stage input,
.vmask-stage button { min-height: 34px; border: 1px solid #9da8b4; border-radius: 0; padding: 6px 9px; background: #fff; color: #202a35; font: inherit; font-size: 11px; }
.vmask-editor-controls button,
.vmask-stage button { cursor: pointer; }
.vmask-editor-controls button.primary { border-color: #0d57a7; background: #1466bd; color: #fff; }
.vmask-stage { width: min(1150px, calc(100% - 32px)); margin: 16px auto 80px; padding: 18px; border: 1px solid #b7c0ca; background: #fff; box-shadow: 0 4px 18px rgb(25 38 51 / 9%); }
.vmask-stage > label { display: grid; gap: 5px; max-width: 440px; color: #5b6571; font-size: 10px; font-weight: 750; }
.vmask-canvas-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.vmask-canvas {
  min-height: 265px;
  display: grid;
  grid-template-columns: repeat(3, minmax(170px, 1fr));
  align-content: start;
  gap: 11px;
  margin-top: 8px;
  padding: 22px;
  border: 1px dashed #8d99a6;
  background-color: #f8fafb;
  background-image: linear-gradient(#e6ebef 1px, transparent 1px), linear-gradient(90deg, #e6ebef 1px, transparent 1px);
  background-size: 24px 24px;
}
.vmask-empty { grid-column: 1 / -1; align-self: center; justify-self: center; border-style: dashed !important; background: #fff !important; color: #597086 !important; }
.vmask-field { min-width: 0; min-height: 94px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: start; gap: 9px; padding: 12px; border: 1px solid #9eabb8; background: #fff; box-shadow: 0 2px 7px rgb(25 40 56 / 9%); cursor: grab; }
.vmask-field > .tag-label { justify-self: start; }
.vmask-field > strong { grid-column: 1 / -1; min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.vmask-field > div { grid-column: 2; grid-row: 1; display: flex; gap: 2px; }
.vmask-field > div button { min-width: 25px; min-height: 25px; padding: 1px 5px; }
.vmask-full-data { margin-top: 17px; padding: 13px; border-top: 3px double #8995a2; background: #f8fafb; }
.vmask-full-data > p { margin: 5px 0 10px; color: #616c78; font-size: 11px; }
.vmask-storage-preview { margin-top: 10px; padding: 12px; border: 1px solid #c2cad3; background: #fff; }
.vmask-storage-preview > p { color: #606b77; font-size: 11px; }
.vmask-storage-preview > div { display: grid; gap: 5px; }
.vmask-storage-preview label { display: flex; align-items: flex-start; gap: 7px; font-size: 11px; }
.vmask-storage-preview input { min-height: 0; }

.vmask-output { margin: 0 0 26px; padding: 14px; border: 1px solid #9cabb9; border-top: 4px solid #1769c2; background: rgb(247 250 253 / 94%); color: #1b2631; }
.vmask-output > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.vmask-output > header > div { display: grid; gap: 3px; }
.vmask-output > header strong { font-size: 15px; }
.vmask-output-close { border: 0; padding: 2px 0; background: transparent; color: #0d55a8; cursor: pointer; font-size: 10px; text-decoration: underline; }
.vmask-output-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.vmask-output-grid > div { min-width: 0; display: grid; gap: 6px; padding: 9px; border: 1px solid #c4ccd4; background: #fff; }
.vmask-output-grid .tag-label { justify-self: start; }
.vmask-output-grid strong { min-width: 0; overflow-wrap: anywhere; font-size: 12px; }
.vmask-output > p { margin: 10px 0 0; color: #697481; font-size: 9px; }

@keyframes vsearchPulse { 50% { opacity: .58; } }
@keyframes vsearchTimeline { from { transform: translateX(-100%); } to { transform: translateX(240%); } }

@media (max-width: 900px) {
  .workbook-tabs { overflow-x: auto; overflow-y: hidden; padding-left: 5px; }
  .workbook-tabs > button { min-width: 82px; padding-inline: 9px; }
  .workbook-tab-note { display: none; }
  .active-mask-choice { min-width: 190px; }
  .vsearch-body { display: flex; flex-direction: column; }
  .vsearch-tree { flex: 1 1 auto; }
  .vsearch-details { flex: 0 0 auto; max-height: 116px; padding: 9px 12px; border-top: 1px solid #c9cfd6; border-left: 0; }
  .vsearch-details:empty { display: none; }
  .vsearch-tree { padding-inline: 14px; }
  .vsearch-new-results { right: 18px; bottom: 130px; }
  .vmask-canvas { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
}

@media (max-height: 620px) and (min-width: 761px) {
  :root { --vsearch-pane-height: 58%; }
  .vsearch-panel { min-height: 150px; max-height: calc(100% - 120px); }
  .vsearch-header { min-height: 58px; gap: 10px; padding: 6px 12px; }
  .vsearch-photo-copy img { width: 48px; height: 44px; }
  .vsearch-tree { padding-block: 10px 54px; }
  .vsearch-node-card { min-height: 76px; }
}

@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  :root { --workbook-tabs-height: 43px; --vsearch-pane-height: 100%; }
  .workbook-tabs { align-items: stretch; padding-top: 3px; padding-right: max(5px, env(safe-area-inset-right, 0px)); }
  .workbook-tabs > button { min-width: 78px; height: 39px; font-size: 11px; }
  .active-mask-choice { min-width: 175px; height: 39px; padding-bottom: 2px; }
  .active-mask-choice label { display: none; }
  .active-mask-choice select { max-width: 175px; height: 34px; font-size: 11px; }
  .app-body { height: calc(100dvh - var(--menu-height) - var(--alpha-height) - var(--workbook-tabs-height) - var(--status-height) - var(--mobile-dock-height)); }
  .vsearch-active .workspace > #editorGrid { display: none !important; }
  .vsearch-panel { flex: 1 1 auto; height: 100%; min-height: 0; max-height: none; }
  .vsearch-header { min-height: 67px; gap: 8px; padding: 7px 9px; }
  .vsearch-photo-copy img { width: 52px; height: 48px; }
  .vsearch-photo-copy strong { max-width: 125px; font-size: 11px; }
  .vsearch-header-status { gap: 2px 5px; }
  .vsearch-header-status strong { font-size: 11px; }
  .vsearch-header-status small { display: none; }
  .vsearch-tree { padding: 12px 10px 58px; }
  .vsearch-tree-children { grid-template-columns: 1fr; gap: 22px; padding-left: 18px; }
  .vsearch-tree-children::before { left: 7px; height: 100%; }
  .vsearch-tree-children > .vsearch-tree-node::before,
  .vsearch-tree-children > .vsearch-tree-node:nth-child(even)::before { top: 44px; left: -11px; width: 11px; height: 1px; border: 0; border-top: 2px solid #5b7691; }
  .vsearch-node-card { min-height: 68px; padding: 7px 8px; }
  .vsearch-node-actions { margin-top: 7px; }
  .vsearch-node-actions button { min-height: 38px; font-size: 10px; }
  .vsearch-splitter { display: none !important; }
  .vsearch-active .vedit-surface { padding: 12px 12px 70px; font-size: 15px; }
  .vmask-editor-header { align-items: stretch; flex-direction: column; gap: 10px; padding: 12px; }
  .vmask-editor-controls { overflow-x: auto; }
  .vmask-editor-controls > * { flex: 0 0 auto; }
  .vmask-stage { width: calc(100% - 12px); margin: 6px auto 70px; padding: 11px; }
  .vmask-canvas { grid-template-columns: 1fr; min-height: 230px; padding: 12px; }
  .vmask-output-grid { grid-template-columns: 1fr; }
}

@media print {
  .workbook-tabs, .vsearch-panel, .vsearch-splitter, .vmask-panel, .vmask-output-close { display: none !important; }
  .app-body { height: auto; }
  .vsearch-active .workspace > #editorGrid,
  .vmask-active .workspace > #editorGrid { display: grid !important; }
  .vmask-output { border-color: #777; background: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  [data-status="running"] > .vsearch-node-card .vsearch-node-state { animation: none; }
  .vsearch-node-timeline > i { animation: none; width: 100%; }
  .vsearch-tree { scroll-behavior: auto; }
}

/* V67: Vmask is hetzelfde compacte kijkvenster in de ontwerper en Vedit. */
.vmask-panel { display: flex; flex-direction: column; overflow: hidden; background: #fff; }
.vmask-design-surface { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 10px 12px 70px; background: #fff; outline: none; }
.vmask-layout { display: flex; flex-wrap: wrap; align-content: flex-start; align-items: baseline; gap: 4px 12px; min-width: 0; }
.vmask-designer-layout { width: 100%; }
.vmask-field {
  min-width: 0;
  min-height: 24px;
  display: inline-flex;
  align-items: baseline;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 2px;
  background: transparent;
  color: #15191e;
  cursor: grab;
  font: 16px/1.35 Aptos, "Segoe UI", sans-serif;
  text-align: left;
}
.vmask-field:hover, .vmask-field:focus-visible { border-color: #8caed2; background: #edf5ff; outline: none; }
.vmask-field.selected { border-color: #1769bd; box-shadow: inset 0 0 0 1px #1769bd; }
.vmask-tag-line { display: inline-flex; align-items: baseline; min-width: 0; gap: 3px; white-space: nowrap; }
.vmask-tag-line .tag-label { flex: 0 0 auto; margin-right: 0; }
.vmask-tag-line .tag-value { min-width: 0; color: #111; font-size: 16px; font-weight: 400; overflow-wrap: anywhere; white-space: normal; }

/* V68 phone shell: exactly four persistent workbooks in the bottom dock. */
@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  #suiteTabsBar > #workbookTabs {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    width: 100%;
    min-width: 0;
    height: var(--mobile-dock-height);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    padding: 0 env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
    overflow: visible;
    border: 0;
    border-top: 1px solid #9da6b0;
    background: #f8f9fa;
    box-shadow: 0 -5px 18px rgb(18 28 40 / 18%);
  }
  #suiteTabsBar > #workbookTabs > button {
    position: relative;
    min-width: 0;
    width: auto;
    height: 58px;
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    border: 1px solid #b7c0ba;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    padding: 2px 2px 0;
    background: transparent;
    color: #4d5865;
    box-shadow: none;
    font-size: 11px;
    font-weight: 750;
  }
  #suiteTabsBar > #workbookTabs > button.active,
  #suiteTabsBar > #workbookTabs > button[aria-selected="true"] {
    border-color: #a8b5ac;
    border-bottom-color: #fff;
    background: #fff;
    color: #173f28;
    box-shadow: inset 0 -3px 0 #217346;
  }
  #suiteTabsBar > #workbookTabs > button.has-background-activity::after {
    display: none;
  }
  #suiteTabsBar > #workbookTabs .workbook-activity-badge {
    position: absolute;
    top: 5px;
    right: calc(50% - 27px);
  }
  .app-body { height: calc(100dvh - var(--menu-height) - var(--alpha-height) - var(--workbook-tabs-height) - var(--status-height) - var(--mobile-dock-height)); }
}
.vmask-empty { min-height: 32px; border: 1px dashed #8b97a4; border-radius: 0; padding: 6px 9px; background: #fff; color: #5f6b77; cursor: pointer; font-size: 14px; }
.vmask-safety-note { flex: 0 0 auto; min-height: 24px; padding: 5px 10px; border-top: 1px solid #ccd2d9; background: #f6f7f9; color: #5f6974; font-size: 12px; }
.vmask-menu-select, .vmask-name-command input {
  height: 36px; border: 1px solid #9da8b4; border-radius: 0; padding: 3px 7px; background: #fff; color: #202a35; font-size: 14px;
}
.vmask-menu-select { max-width: 220px; }
.vmask-name-command { height: 32px; display: flex; align-items: center; gap: 5px; padding-inline: 4px; color: #4f5a66; font-size: 12px; }
.vmask-name-command input { width: min(280px, 48vw); }

.vmask-output { margin: 0 0 12px; padding: 5px 0 7px; border: 0; border-bottom: 1px solid #b9c3ce; background: transparent; color: inherit; }
.vmask-output .vmask-layout { gap: 3px 11px; }
.vmask-output[hidden] { display: none !important; }

@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  .vmask-design-surface { padding: 8px 8px 64px; }
  .vmask-layout { gap: 4px 8px; }
  .vmask-field { min-height: 30px; }
  .vmask-tag-line .tag-value { font-size: 16px; }
}

.vmask-panel[hidden] { display: none !important; }

/* V76: Vsearch gebruikt het hele werkvlak. Vedit verschijnt pas na afronden. */
body.vsearch-active #sidebar,
body.vsearch-active #sidebarResizer { display: none !important; }
body.vsearch-active .workspace,
body.vsearch-active.vexcell-ready .workspace {
  left: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: minmax(0, 1fr) !important;
  transform: none !important;
  box-shadow: none !important;
}
body.vsearch-active #vsearchPanel {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 0;
  grid-column: auto !important;
  grid-row: auto !important;
  border-right: 0 !important;
}
body.vsearch-active .workspace > #editorGrid { display: none !important; }

/* Een kaart neemt standaard alleen de werkelijk benodigde ruimte in. */
.vsearch-tree-node.has-interaction { grid-column: 1 / -1; width: auto; max-width: 100%; }
.vsearch-tree-node.has-interaction > .vsearch-node-card {
  width: fit-content;
  min-width: min(320px, 100%);
  max-width: min(560px, 100%);
}
.questions-drawer.vsearch-inline {
  width: auto !important;
  max-width: min(540px, calc(100vw - 24px)) !important;
}
.questions-drawer.vsearch-inline .questions-body {
  max-height: min(42dvh, 360px);
  background: transparent;
}
[data-status="waiting"] > .vsearch-node-card .vsearch-node-timeline > i {
  width: 42%;
  animation: none;
  opacity: .62;
}

/* Het gekozen blok zoomt als een groot, alleen-lezen display boven de boom. */
.vsearch-result-dialog {
  width: min(1120px, calc(100vw - 28px));
  height: min(86dvh, 900px);
  max-width: none;
  max-height: none;
  display: none;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  animation: vsearchResultOpen .5s cubic-bezier(.2,.8,.2,1);
}
.vsearch-result-dialog[open] { display: grid; }
.vsearch-result-dialog > header { position: sticky; top: 0; z-index: 1; }
.vsearch-result-dialog > header button { margin-left: auto; font-weight: 800; }
.vsearch-result-dialog > footer { color: #596572; font-size: 10px; }
.vsearch-result-editor {
  min-height: 0;
  max-height: none;
  overflow: auto;
  user-select: text;
  cursor: text;
}
body.vsearch-result-open #vsearchTree { filter: saturate(.75); }
body.vsearch-active .photo-api-history-dialog .research-api-panel { display: flex !important; }
.vsearch-finish-dialog {
  width: min(470px, calc(100vw - 24px));
  border: 1px solid #71849a;
  border-radius: 0;
  padding: 14px;
  background: #fff;
  color: #17202a;
}
.vsearch-finish-dialog::backdrop { background: rgb(26 38 52 / 24%); }
.vsearch-finish-dialog h2 { margin: 0 0 8px; font-size: 18px; }
.vsearch-finish-dialog p { margin: 0; line-height: 1.45; }
.vsearch-finish-dialog > div { display: flex; justify-content: flex-end; gap: 6px; margin-top: 14px; }
.vsearch-finish-dialog button { min-height: 31px; border: 1px solid #8292a3; border-radius: 0; padding: 4px 8px; background: #fff; cursor: pointer; }
.vsearch-finish-dialog button.primary { border-color: #0e5cae; background: #1466bd; color: #fff; }
@keyframes vsearchResultOpen {
  from { opacity: 0; transform: scale(.9); }
  to { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .vsearch-result-dialog { animation-duration: .01ms; }
}

/* V69/V74: compact auto-fit search; mobile hiding is scoped in its media rule. */
.vsearch-active .workspace > #vsearchSplitter { display: none !important; }
.vsearch-panel {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  max-height: none;
  border-bottom: 0;
}
.vsearch-header { min-height: 58px; gap: 10px; padding: 6px 10px; }
.vsearch-photo-copy img { width: 50px; height: 44px; }
.vsearch-zoom {
  flex: 0 0 auto;
  min-width: 82px;
  border-left: 1px solid #cbd1d7;
  padding-left: 9px;
  color: #596572;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.vsearch-body { grid-template-columns: minmax(0, 1fr) 214px; }
.vsearch-tree {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 8px;
  scroll-behavior: auto;
}
.vsearch-tree-roots {
  width: min(100%, 920px);
  margin: 0 auto;
  transform-origin: top center;
  will-change: transform;
  --vsearch-connector: #5b7691;
  --vsearch-connector-width: 2px;
}
.vsearch-tree-children { grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 10px 8px; padding-top: 16px; }
.vsearch-tree-children::before { width: var(--vsearch-connector-width); background: var(--vsearch-connector); }
.vsearch-tree-children > .vsearch-tree-node::before {
  top: -8px;
  width: calc(50% + 4px);
  height: 8px;
  border-top: var(--vsearch-connector-width) solid var(--vsearch-connector);
  border-left: var(--vsearch-connector-width) solid var(--vsearch-connector);
}
.vsearch-tree-children > .vsearch-tree-node:nth-child(even)::before {
  left: -4px;
  border-left: 0;
  border-right: var(--vsearch-connector-width) solid var(--vsearch-connector);
}
.vsearch-tree-children .vsearch-tree-children { padding-left: 10px; }
.vsearch-node-card {
  position: relative;
  z-index: 1;
  width: fit-content;
  min-width: min(180px, 100%);
  max-width: min(100%, 430px);
  min-height: 0;
  box-sizing: border-box;
  margin-inline: auto;
  padding: 5px 7px;
  border-left-width: 3px;
  box-shadow: none;
  transform-origin: center;
}
.vsearch-node-card.selected { outline: 2px solid #4f8fce; outline-offset: 1px; transform: none; }
.vsearch-node-top { gap: 4px 6px; }
.vsearch-node-top strong { font-size: 12px; }
.vsearch-node-state { padding: 1px 4px; font-size: 8px; }
.vsearch-node-card > p { max-width: 46ch; margin-top: 3px; overflow-wrap: anywhere; font-size: 10px; line-height: 1.3; }
.vsearch-node-timing { margin-top: 4px; }
.vsearch-node-actions { gap: 3px; margin-top: 5px; }
.vsearch-node-actions button { min-height: 22px; padding: 2px 5px; font-size: 8px; }
.vsearch-details { padding: 10px; }
.vsearch-detail-actions button { min-height: 30px; padding: 4px 7px; font-size: 10px; }
.vsearch-new-results { right: 228px; bottom: 9px; }

body.vsearch-active #sidebar > * { visibility: hidden; pointer-events: none; }

body.workbench-vexcel.vexcell-ready.vexcel-sheet-visible #sidebar { display: none !important; }
body.workbench-vexcel.vexcell-ready.vexcel-sheet-visible .workspace {
  left: 0 !important;
  width: 100% !important;
  display: flex !important;
  transform: none !important;
  box-shadow: none !important;
}
body.workbench-vexcel.vexcell-ready.vexcel-sheet-visible #vexcelPanel { display: flex !important; }
.vmask-design-surface { position: relative; padding-top: 34px; }
.vmask-sheet-title {
  position: absolute;
  top: 7px;
  right: 10px;
  border: 0;
  padding: 2px 3px;
  background: transparent;
  color: #66717c;
  cursor: pointer;
  font: 600 10px/1.2 Aptos, Calibri, "Segoe UI", sans-serif;
}
.vmask-sheet-title:hover,
.vmask-sheet-title:focus-visible { color: #0d55a8; text-decoration: underline; outline: none; }
.vmask-file-dialog {
  width: min(430px, calc(100vw - 24px));
  border: 1px solid #7f8b98;
  border-radius: 0;
  padding: 14px;
  background: #fff;
  color: #1e2832;
  font: 14px/1.35 Aptos, Calibri, "Segoe UI", sans-serif;
}
.vmask-file-dialog::backdrop { background: rgb(24 38 52 / 28%); }
.vmask-file-dialog h2 { margin: 0 0 12px; font-size: 18px; }
.vmask-file-dialog label { display: grid; gap: 4px; margin: 9px 0; font-weight: 650; }
.vmask-file-dialog select,
.vmask-file-dialog input { min-height: 34px; border: 1px solid #98a4b0; border-radius: 0; padding: 5px 7px; font: inherit; }
.vmask-file-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin-top: 14px; }
.vmask-file-actions button { min-height: 32px; border: 1px solid #98a4b0; border-radius: 0; padding: 4px 9px; background: #fff; cursor: pointer; }
.vmask-file-actions button.primary { border-color: #0d55a8; background: #1466bd; color: #fff; }

@media (max-width: 900px) {
  .vsearch-body { display: grid; grid-template-columns: minmax(0, 1fr) 180px; }
  .vsearch-details { max-height: none; border-top: 0; border-left: 1px solid #c9cfd6; }
}

@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  body.workbench-vexcel.vexcell-ready #sidebar,
  body.vsearch-active.vexcell-ready #sidebar { transform: none !important; }
  body.workbench-vexcel.vexcell-ready #sidebar,
  body.sidebar-open.vexcell-ready #sidebar { z-index: 64; }
  body.sidebar-open .sidebar-mobile-close { display: grid !important; }
  .vsearch-body { display: flex; flex-direction: column; }
  .vsearch-tree { flex: 1 1 auto; min-height: 0; padding: 6px; }
  .vsearch-details { flex: 0 0 auto; max-height: 34%; border-top: 1px solid #c9cfd6; border-left: 0; }
  .vsearch-new-results { right: 10px; }
  .vsearch-tree-children { grid-template-columns: 1fr; gap: 22px; padding-top: 16px; padding-left: 18px; }
  .vsearch-tree-children::before { left: 7px; height: 100%; }
  .vsearch-tree-children > .vsearch-tree-node::before,
  .vsearch-tree-children > .vsearch-tree-node:nth-child(even)::before {
    top: 44px;
    left: -11px;
    width: 11px;
    height: 1px;
    border: 0;
    border-top: 2px solid #5b7691;
  }
  .vsearch-node-actions button { min-height: 34px; }
  .vsearch-zoom { display: none; }
  .vmask-design-surface { padding-top: 32px; }
}

@media print {
  .vsearch-active .workspace > #editorGrid { display: grid !important; }
}

/* V73: Vsearch en de instromende Vedit-resultaten delen op desktop het scherm. */
@media (min-width: 761px) and (min-height: 501px), (min-width: 761px) and (pointer: fine) {
  body.vsearch-active #sidebar,
  body.vsearch-active #sidebarResizer { display: none !important; }
  body.vsearch-active .workspace {
    left: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    transform: none !important;
    box-shadow: none !important;
  }
  body.vsearch-active #vsearchPanel {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    min-height: 0;
    border-right: 1px solid #919ba6;
  }
  body.vsearch-active .workspace > #editorGrid {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    min-height: 0;
    display: grid !important;
  }
  .vsearch-header { min-height: 52px; padding: 5px 8px; }
  .vsearch-photo-copy img { width: 44px; height: 38px; }
  .vsearch-photo-copy strong { max-width: 170px; }
  .vsearch-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; }
  .vsearch-details {
    grid-row: 2;
    max-height: 138px;
    padding: 8px 10px;
    border-top: 1px solid #c9cfd6;
    border-left: 0;
  }
  .vsearch-details small { margin-top: 2px; }
  .vsearch-new-results { right: 12px; bottom: 146px; }
}

@keyframes veditResultArrival {
  0%, 32% { box-shadow: inset 0 0 0 3px #2a78c8; background-color: #eaf4ff; }
  100% { box-shadow: inset 0 0 0 0 transparent; background-color: transparent; }
}
.vedit-result-arrival { animation: veditResultArrival 1.6s ease-out; }
@media (prefers-reduced-motion: reduce) {
  .vedit-result-arrival { animation-duration: .01ms; }
}

/* V75: alleen echte vertakkingen waaieren uit; vragen wonen in hun eigen blok. */
.vsearch-body { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: minmax(0, 1fr); }
.vsearch-details { display: none !important; }
.vsearch-tree-roots { --vsearch-connector: #2f6597; --vsearch-connector-width: 2px; }
.vsearch-tree-node { display: grid; justify-items: center; }
.vsearch-tree-children[data-layout="chain"] { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-left: 0; }
.vsearch-tree-children[data-layout="chain"]::before { left: 50%; }
.vsearch-tree-children[data-layout="chain"] > .vsearch-tree-node::before,
.vsearch-tree-children[data-layout="chain"] > .vsearch-tree-node:nth-child(even)::before {
  top: -8px; left: 50%; width: 0; height: 8px; border: 0; border-left: var(--vsearch-connector-width) solid var(--vsearch-connector);
}
.vsearch-tree-children[data-layout="branch"] { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 0; }
.vsearch-tree-children .vsearch-tree-children { padding-left: 0; }
.vsearch-node-card { width: fit-content; min-width: 0; max-width: min(100%, 430px); padding: 4px 6px; background: #f4f7fa; }
.vsearch-tree-node[data-status="done"] > .vsearch-node-card { background: #eff8f2; }
.vsearch-tree-node[data-status="available"] > .vsearch-node-card { background: #f2f6fa; }
.vsearch-tree-node[data-status="stopped"] > .vsearch-node-card { border-style: dashed; border-left-color: #c66b19; background: #fff7ed; color: #5f4b37; box-shadow: none; }
.vsearch-tree-node.has-interaction { grid-column: 1 / -1; width: 100%; }
.vsearch-tree-node.has-interaction > .vsearch-node-card { width: min(100%, 640px); max-width: 640px; }
.vsearch-node-interaction { margin: 5px -6px -4px; border-top: 1px solid #8fa9c1; }
.questions-drawer.vsearch-inline {
  position: static !important; inset: auto !important; z-index: auto; width: 100% !important; max-width: none !important; max-height: none !important;
  display: flex; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.questions-drawer.vsearch-inline[hidden] { display: none; }
.questions-drawer.vsearch-inline .questions-drawer-header { padding: 5px 6px; background: #eaf2fa; }
.questions-drawer.vsearch-inline .questions-drawer-header h2 { margin: 1px 0 0; font-size: 13px; }
.questions-drawer.vsearch-inline .questions-close { width: 24px; height: 24px; flex-basis: 24px; font-size: 19px; }
.questions-drawer.vsearch-inline .questions-body { max-height: 250px; padding: 6px; overflow: auto; font-size: 11px; line-height: 1.35; }
.questions-drawer.vsearch-inline .questions-body > p { margin: 0 0 5px; }
.questions-drawer.vsearch-inline .questions-actions { justify-content: flex-start; gap: 4px; padding: 5px 6px; background: #eef4fa; }
.questions-drawer.vsearch-inline .questions-actions button { min-height: 27px; border-radius: 0; padding: 3px 6px; font-size: 10px; }
.vsearch-result-dialog { width: min(760px, calc(100vw - 28px)); max-height: calc(100vh - 28px); border: 1px solid #71849a; border-radius: 0; padding: 0; background: #fff; color: #17202a; }
.vsearch-result-dialog::backdrop { background: rgb(26 38 52 / 28%); }
.vsearch-result-dialog > header,.vsearch-result-dialog > footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 9px; border-bottom: 1px solid #aeb9c5; background: #e9eef4; }
.vsearch-result-dialog > footer { justify-content: flex-end; border-top: 1px solid #aeb9c5; border-bottom: 0; }
.vsearch-result-dialog button { min-height: 28px; border: 1px solid #8292a3; border-radius: 0; padding: 3px 7px; background: #fff; cursor: pointer; }
.vsearch-result-editor { max-height: calc(100vh - 130px); overflow: auto; padding: 14px; background: #fff; }

@media (min-width: 761px) and (min-height: 501px), (min-width: 761px) and (pointer: fine) {
  body.vsearch-active.vexcell-ready .workspace { left: 0 !important; width: 100% !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vsearch-new-results { right: 12px; bottom: 9px; }
}

@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  .vsearch-tree-children[data-layout="branch"] { grid-template-columns: 1fr; }
  .vsearch-tree-children[data-layout="branch"] > .vsearch-tree-node::before,
  .vsearch-tree-children[data-layout="branch"] > .vsearch-tree-node:nth-child(even)::before { border-top-color: var(--vsearch-connector); }
  .questions-drawer.vsearch-inline .questions-actions button { min-height: 40px; }
}

/* V73: een Vmask-tag bewaart naam/inhoud plus relatieve x- en y-positie. */
.vmask-designer-layout {
  position: relative;
  width: 100%;
  min-height: max(420px, calc(100% - 1px));
  display: block;
  overflow: hidden;
  border: 1px solid #d5dadd;
  background: #fff;
}
.vmask-designer-layout > .vmask-field {
  position: absolute;
  transform: translate(-50%, -50%);
  touch-action: none;
  user-select: none;
  z-index: 1;
}
.vmask-designer-layout > .vmask-field.dragging {
  z-index: 3;
  cursor: grabbing;
  box-shadow: 0 2px 8px rgb(20 48 77 / 24%);
}
.vmask-designer-layout > .vmask-empty {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.vmask-positioned-layout {
  position: relative;
  min-height: 220px;
  overflow: hidden;
}
.vmask-positioned-field {
  position: absolute;
  transform: translate(-50%, -50%);
  max-width: 46%;
}

@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  .vmask-designer-layout { min-height: 360px; }
  .vmask-positioned-layout { min-height: 180px; }
}

/* V73: Vedit toont geen nagebouwde lijst maar een smalle uitsnede van exact
   hetzelfde Vexcel-blad: VLnr en miniatuur blijven bij het geopende Vlog. */
body.vexcel-strip-visible #sidebar,
body.vexcel-strip-visible #sidebarResizer { display: none !important; }
body.vexcel-strip-visible .workspace {
  left: 0 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 196px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  transform: none !important;
  box-shadow: none !important;
}
body.vexcel-strip-visible #vexcelPanel {
  grid-column: 1;
  grid-row: 1;
  width: 196px;
  min-width: 0;
  min-height: 0;
  display: flex !important;
  border-right: 1px solid #9ea8b2;
}
body.vexcel-strip-visible #editorGrid {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  min-height: 0;
}
body.vexcel-strip-visible #vexcelFormulaBar,
body.vexcel-strip-visible .vexcel-sheet-tabs { display: none !important; }
body.vexcel-strip-visible #vexcelSheetViewport {
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
body.vexcel-strip-visible #vexcelFilterBar,
body.vexcel-strip-visible .vexcel-sheet-tabs { display: none !important; }
body.vexcel-strip-visible #vexcelSheet .vexcel-query-row { display: none; }
body.vexcel-strip-visible #vexcelSheet col:nth-child(n + 4),
body.vexcel-strip-visible #vexcelSheet th:nth-child(n + 4),
body.vexcel-strip-visible #vexcelSheet td:nth-child(n + 4) { display: none; }
body.vexcel-strip-visible #vexcelSheet .vexcel-row-number-column,
body.vexcel-strip-visible #vexcelSheet .vexcel-row-heading,
body.vexcel-strip-visible #vexcelSheet .vexcel-corner-heading { display: none; }
body.vexcel-strip-visible #vexcelSheet [data-column-key="vlnr"] { left: 0; }
body.vexcel-strip-visible #vexcelSheet [data-column-key="thumbnail"] { left: 76px; }
body.vexcel-strip-visible #vexcelSheet {
  width: 196px !important;
  min-width: 196px !important;
  table-layout: fixed;
}



@media (max-width: 760px), (max-height: 500px) and (pointer: coarse) {
  body.vexcel-strip-visible .workspace { grid-template-columns: 104px minmax(0, 1fr); }
  body.vexcel-strip-visible #vexcelPanel,
  body.vexcel-strip-visible #vexcelSheet { width: 104px !important; min-width: 104px !important; }


  body.vexcel-strip-visible #vexcelSheet [data-column-key="thumbnail"] { left: 58px; }
  body.vexcel-strip-visible #vexcelSheet .vexcel-object-cell > span:last-child { display: none; }
}

/* V76-eindregels staan bewust als laatste: zij vervangen de oudere V73-split. */
body.vsearch-active #sidebar,
body.vsearch-active #sidebarResizer { display: none !important; }
body.vsearch-active .workspace,
body.vsearch-active.vexcell-ready .workspace {
  left: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: minmax(0, 1fr) !important;
  transform: none !important;
  box-shadow: none !important;
}
body.vsearch-active #vsearchPanel {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 0;
  grid-column: auto !important;
  grid-row: auto !important;
  border-right: 0 !important;
}
body.vsearch-active .workspace > #editorGrid { display: none !important; }
.vsearch-tree-node.has-interaction { grid-column: 1 / -1; width: auto; max-width: 100%; }
.vsearch-tree-node.has-interaction > .vsearch-node-card {
  width: fit-content;
  min-width: min(320px, 100%);
  max-width: min(560px, 100%);
}
.questions-drawer.vsearch-inline { width: auto !important; max-width: min(540px, calc(100vw - 24px)) !important; }
.questions-drawer.vsearch-inline .questions-body { max-height: min(42dvh, 360px); background: transparent; }
[data-status="waiting"] > .vsearch-node-card .vsearch-node-timeline > i { width: 42%; animation: none; opacity: .62; }
.vsearch-result-dialog {
  width: min(1120px, calc(100vw - 28px));
  height: min(86dvh, 900px);
  max-width: none;
  max-height: none;
  display: none;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  animation: vsearchResultOpen .5s cubic-bezier(.2,.8,.2,1);
}
.vsearch-result-dialog[open] { display: grid; }
.vsearch-result-dialog > header { position: sticky; top: 0; z-index: 1; }
.vsearch-result-dialog > header button { margin-left: auto; font-weight: 800; }
.vsearch-result-dialog > footer { color: #596572; font-size: 10px; }
.vsearch-result-editor { min-height: 0; max-height: none; overflow: auto; user-select: text; cursor: text; }
body.vsearch-result-open #vsearchTree { filter: saturate(.75); }
/* V77: één zoekregel boven Vexcel én Vedit; vaste identiteitskolommen blijven smal. */
.vexcel-filter-bar { min-height: 34px; display: flex; align-items: center; gap: 6px; padding: 3px 7px; }
.vexcel-search-rule { min-width: 260px; flex: 1 1 620px; display: flex; align-items: center; gap: 7px; color: #32404c; font-size: 11px; font-weight: 700; }
.vexcel-search-rule input { min-width: 0; width: 100%; height: 26px; border: 1px solid #8798aa; border-radius: 0; padding: 2px 7px; background: #fffef5; color: #17212b; font: 12px/1.2 Aptos, Calibri, "Segoe UI", sans-serif; }
.vexcel-search-rule input:focus { outline: 2px solid #217346; outline-offset: -2px; }
.vexcel-filter-hint { white-space: nowrap; }
.vexcel-sheet td[data-column-key="mine"] { text-align: center; color: #1b6f45; font-weight: 800; }

body.vexcel-strip-visible .workspace { grid-template-columns: 168px minmax(0, 1fr) !important; grid-template-rows: 34px minmax(0, 1fr) !important; }
body.vexcel-strip-visible #vexcelPanel { display: contents !important; }
body.vexcel-strip-visible #vexcelFilterBar { grid-column: 1 / -1; grid-row: 1; display: flex !important; overflow: hidden; border-bottom: 1px solid #9ea8b2; background: #edf5ef; }
body.vexcel-strip-visible #vexcelSheetViewport { grid-column: 1; grid-row: 2; width: 168px; min-width: 0; border-right: 1px solid #9ea8b2; }
body.vexcel-strip-visible #editorGrid { grid-column: 2; grid-row: 2; }
body.vexcel-strip-visible #vexcelSheet col:nth-child(n + 5), body.vexcel-strip-visible #vexcelSheet th:nth-child(n + 5), body.vexcel-strip-visible #vexcelSheet td:nth-child(n + 5) { display: none !important; }
body.vexcel-strip-visible #vexcelSheet { width: 168px !important; min-width: 168px !important; }



body.vexcel-strip-visible #vexcelSheet [data-column-key="thumbnail"] { left: 66px; }
body.vexcel-strip-visible #vexcelSheet [data-column-key="mine"] { left: 120px; }

/* V77: Vsearch ligt transparant boven het live groeiende Vedit. */
body.vsearch-active .workspace, body.vsearch-active.vexcell-ready .workspace { position: relative; display: block !important; left: 0 !important; width: 100% !important; }
body.vsearch-active .workspace > #editorGrid { display: grid !important; position: absolute; inset: 0; width: 100%; height: 100%; }
body.vsearch-active #vsearchPanel { position: absolute; inset: 0; z-index: 12; width: 100% !important; height: 100%; border: 0 !important; background: transparent; pointer-events: none; }
body.vsearch-active #vsearchPanel .vsearch-header { background: rgb(245 247 249 / 82%); pointer-events: auto; }
body.vsearch-active #vsearchPanel .vsearch-body, body.vsearch-active #vsearchPanel .vsearch-tree { background: transparent; pointer-events: none; }
body.vsearch-active #vsearchPanel .vsearch-node-card, body.vsearch-active #vsearchPanel button, body.vsearch-active #vsearchPanel input, body.vsearch-active #vsearchPanel select { pointer-events: auto; }
.vsearch-tree-roots { gap: 5px; }
.vsearch-tree-children[data-layout="chain"], .vsearch-tree-children[data-layout="branch"] { gap: 5px; }
.vsearch-node-card { padding: 3px 5px; background: #f4f7fa; }
.vsearch-tree-node[data-status="done"] > .vsearch-node-card { display: flex; align-items: center; gap: 5px; max-width: 520px; }
.vsearch-tree-node[data-status="done"] > .vsearch-node-card .vsearch-node-detail, .vsearch-tree-node[data-status="done"] > .vsearch-node-card .vsearch-node-timing { display: none; }
.vsearch-tree-node[data-status="done"] > .vsearch-node-card .vsearch-node-actions { margin: 0 0 0 auto; }
.vsearch-tree-node[data-status="done"] > .vsearch-node-card .vsearch-node-actions button:not([data-search-action="alternatives"]):not([data-search-action="rerun"]) { display: none; }
.vsearch-tree-node[data-status="done"] > .vsearch-node-card [data-search-action="alternatives"] { min-width: 24px; padding: 0 5px; }

body.workbench-vexcel { --workbook-accent:#217346; --workbook-tint:#e7f1ea; }
body.vexcel-strip-visible { --workbook-accent:#1769c2; --workbook-tint:#eaf2fb; }
body.vsearch-active { --workbook-accent:#d87316; --workbook-tint:#fff1e3; }
body.vmask-active { --workbook-accent:#7651a8; --workbook-tint:#f0eafb; }
.tab-menu.active .office-menu-tabs { border: 1px solid color-mix(in srgb, var(--workbook-accent, #1769c2) 42%, #aeb6c0); border-bottom: 0; background: var(--workbook-tint, #f8f9fb); }
.tab-menu.active .office-menu-tab.active { border-bottom-color: var(--workbook-accent, #1769c2); color: var(--workbook-accent, #1769c2); }
#workbookTabVexcel { --tab-accent:#217346; --tab-tint:#e4f0e7; }
#workbookTabVedit { --tab-accent:#1769c2; --tab-tint:#e7f0fa; }
#workbookTabVsearch { --tab-accent:#d87316; --tab-tint:#fff0e1; }
#workbookTabVmask { --tab-accent:#7651a8; --tab-tint:#eee8f8; }
#suiteTabsBar > #workbookTabs > button { background: var(--tab-tint); border-color: color-mix(in srgb, var(--tab-accent) 32%, #b7c0ba); }
#suiteTabsBar > #workbookTabs > button.active { color: var(--tab-accent); background: #fff; box-shadow: inset 0 -3px 0 var(--tab-accent); }

@media (min-width: 761px) {
  #suiteTabsBar { height: 0; min-height: 0; overflow: visible; border: 0; }
  #suiteTabsBar .suite-costs { position: fixed; top: 0; right: 326px; z-index: 90; width: auto; min-width: 0; height: 32px; justify-content: flex-end; padding: 0 4px; }
  #suiteTabsBar > .utility-tabs { position: fixed; top: 0; right: 92px; z-index: 90; height: 32px; padding: 0; }
  #suiteTabsBar > .utility-tabs > button { height: 32px; min-width: 104px; }
  #suiteTabsBar > .brand { position: fixed; top: 0; right: 0; z-index: 91; height: 32px; }
  #suiteTabsBar > .brand img { height: 28px; object-fit: contain; }
  #tabMenus .office-menu-tabs { padding-right: 620px; }
  .app-body { height: calc(100vh - var(--menu-height) - var(--alpha-height) - var(--status-height) - var(--workbook-dock-height)); }
}

/* V78: rustige Office-lagen, compacte zoekboom en echte Vexcel-grepen. */
:root { --vexcel-strip-width: 168px; }
.vsearch-session-menu { min-height: 34px; border: 1px solid #d87316; border-bottom: 0; background: rgb(255 246 236 / 92%); }
#vsearchPanel #activePhotoActions { display: none !important; }
.vsearch-session-bar { height: 34px; display: flex; align-items: center; gap: 8px; padding: 2px 8px; box-sizing: border-box; }
.vsearch-session-bar strong { color: #9b4c08; font-size: 12px; }
.vsearch-session-bar .office-command { height: 27px; min-height: 27px; margin-left: auto; border-radius: 0; }
.vsearch-session-bar #vsearchClearEvaluation { margin-left: 0; }
.vsearch-session-bar #vsearchStopEvaluation { margin-left: auto; border-color: #a50f19; background: #c81924; color: #fff; font-weight: 800; }
.vsearch-session-bar #vsearchStopEvaluation:hover { background: #a50f19; }
.vsearch-session-bar #vsearchStopEvaluation + #vsearchFinishEvaluation { margin-left: 0; }
body.vsearch-active:not(.vsearch-has-session) .vsearch-session-menu { display: none !important; }

.vexcel-filter-hint { margin-right:auto; }
.vexcel-tag-headings th { overflow:visible; }
.vexcel-column-resizer { right: -5px; width: 10px; background: transparent; }
.vexcel-column-resizer:hover { background: rgb(33 115 70 / 20%); }

body.vexcel-strip-visible .workspace { grid-template-columns: var(--vexcel-strip-width) 7px minmax(0, 1fr) !important; }
body.vexcel-strip-visible #vexcelFilterBar { grid-column: 1 / -1; }
body.vexcel-strip-visible #vexcelSheetViewport { grid-column: 1; width: var(--vexcel-strip-width); overflow: auto; border-right: 0; }
body.vexcel-strip-visible #vexcelStripResizer { display: grid !important; grid-column: 2; grid-row: 2; }
body.vexcel-strip-visible #editorGrid { grid-column: 3; grid-row: 2; }
body.vexcel-strip-visible #vexcelSheet col:nth-child(n) { display: table-column !important; }
body.vexcel-strip-visible #vexcelSheet th:nth-child(n), body.vexcel-strip-visible #vexcelSheet td:nth-child(n) { display: table-cell !important; }
body.vexcel-strip-visible #vexcelSheet col.vexcel-row-number-column, body.vexcel-strip-visible #vexcelSheet th.vexcel-row-heading, body.vexcel-strip-visible #vexcelSheet th.vexcel-corner-heading { display: none !important; }
body.vexcel-strip-visible #vexcelSheet { width: auto !important; min-width: 100% !important; }
.vexcel-strip-resizer { min-width: 7px; place-items: center; border: 0; background: linear-gradient(to right, transparent calc(50% - .5px), #6e91b5 calc(50% - .5px), #6e91b5 calc(50% + .5px), transparent calc(50% + .5px)); cursor: col-resize; touch-action: none; z-index: 15; }
.vexcel-strip-resizer span { display: none; }
.vexcel-strip-resizer:hover, .vexcel-strip-resizer:focus-visible { background-color: #cfe2f6; outline: none; }
body.resizing-vexcel-strip, body.resizing-vexcel-strip * { cursor: col-resize !important; user-select: none !important; }

body.workbench-vexcel #vexcelPanel { background:#f4faf6; box-shadow: inset 0 0 0 1px #72a987; }
body.vexcel-strip-visible #editorGrid { background-color:#e7f0fa; box-shadow: none; }
body.vmask-active #vmaskPanel { background:#f8f5fc; box-shadow: inset 0 0 0 1px #9b7bc2; }
body.vsearch-active #vsearchPanel { inset: 4px auto auto 50% !important; transform: translateX(-50%); width: min(1040px, calc(100% - 8px)) !important; height: auto !important; max-height: calc(100% - 8px); overflow: auto; border: 1px solid #d87316 !important; background: rgb(255 255 255 / 12%); }
body.vsearch-active #vsearchPanel .vsearch-header { display: none; }
body.vsearch-active #vsearchPanel .vsearch-header-status small, body.vsearch-active #vsearchZoom { display: none; }
body.vsearch-active #vsearchPanel .vsearch-body { display: block; min-height: 0; }
body.vsearch-active #vsearchDetails { display: none !important; }
body.vsearch-active #vsearchTree { height: auto; max-height: calc(100vh - 92px); padding: 10px 18px; overflow: auto; }
body.vsearch-active #vsearchEmpty { width: min(520px, calc(100vw - 54px)); margin: 8px auto; padding: 14px; background: rgb(255 255 255 / 88%); }
.vsearch-tree-roots { --vsearch-connector: #8faecc; }
.vsearch-tree-children::before { background: var(--vsearch-connector); opacity: .72; }
.vsearch-tree-children > .vsearch-tree-node::before { border-color: var(--vsearch-connector); opacity: .72; }
.vsearch-node-card { min-height: 0; }
.vsearch-node-top { display: flex; grid-template-columns: none; gap: 5px; white-space: nowrap; }
.vsearch-node-number { flex: 0 0 auto; color: #47647f; font-size: 9px; font-weight: 800; }
.vsearch-node-top strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; overflow-wrap: normal; }
.vsearch-tree-node.has-interaction > .vsearch-node-card {
  position: relative; z-index: 8; display: block !important; width: min(760px, calc(100vw - 48px)) !important; min-width: min(520px, calc(100vw - 48px)); max-width: min(760px, calc(100vw - 48px)) !important; padding: 8px 10px; background: rgb(248 252 249 / 97%) !important; box-shadow: 0 8px 28px rgb(30 55 75 / 22%);
}
.vsearch-tree-node.has-interaction > .vsearch-node-card .vsearch-node-top { white-space: normal; }
.vsearch-tree-node.has-interaction > .vsearch-node-card .vsearch-node-top strong { white-space: normal; overflow: visible; }
.vsearch-node-interaction { width: 100%; margin: 7px 0 0; border-top: 1px solid #8fa9c1; }
.questions-drawer.vsearch-inline { width: 100% !important; max-width: none !important; position: static !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
.questions-drawer.vsearch-inline .questions-body { max-height: min(38dvh, 330px); overflow: auto; }
.vsearch-result-source { display: block; margin: 0 0 7px; border: 0; border-bottom: 1px solid #8fb5dc; padding: 2px 0; background: transparent; color: #1769c2; font: 700 11px/1.3 Aptos, Calibri, "Segoe UI", sans-serif; cursor: pointer; }

@media (max-width: 760px) {
  body.vexcel-strip-visible .workspace { grid-template-columns: min(112px, var(--vexcel-strip-width)) 5px minmax(0, 1fr) !important; }
  body.vexcel-strip-visible #vexcelSheetViewport { width: min(112px, var(--vexcel-strip-width)); }
  .vsearch-tree-node:not(.has-interaction) > .vsearch-node-card.selected, .vsearch-tree-node.has-interaction > .vsearch-node-card { min-width: 0; width: calc(100vw - 30px) !important; max-width: calc(100vw - 30px) !important; }
}

/* V83: één blijvende Vexcel-kop boven de openbare Vlogs; Vsearch ligt als
   doorschijnende onderzoeklaag op hetzelfde zichtbare Vedit. */
:root { --vexcel-strip-width: 138px; }
body.vexcel-strip-visible .workspace,
body.vsearch-active.vexcel-strip-visible .workspace {
  display: grid !important;
  grid-template-columns: var(--vexcel-strip-width) 7px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  position: relative;
}
body.vexcel-strip-visible #vexcelFilterBar { display: none !important; }
body.vexcel-strip-visible #vexcelPanel { display: flex !important; grid-column: 1; grid-row: 1; }
body.vexcel-strip-visible #vexcelSheetViewport { grid-column: 1; grid-row: 1; width: var(--vexcel-strip-width); overflow: auto; }
body.vexcel-strip-visible #vexcelStripResizer { display: grid !important; grid-column: 2; grid-row: 1; }
body.vexcel-strip-visible #editorGrid,
body.vsearch-active.vexcel-strip-visible #editorGrid { display: grid !important; grid-column: 3; grid-row: 1; min-width: 0; }
body.vexcel-strip-visible #vexcelSheet col:nth-child(n + 6),
body.vexcel-strip-visible #vexcelSheet th:nth-child(n + 6),
body.vexcel-strip-visible #vexcelSheet td:nth-child(n + 6) { display: none !important; }

body.vexcel-strip-visible #vexcelSheet { --vexcel-rowheader-width:0px; width: var(--vexcel-fixed-width, 122px) !important; min-width: var(--vexcel-fixed-width, 122px) !important; }




body.vexcel-strip-visible #vexcelSheet [data-column-key="thumbnail"] { left: var(--vexcel-thumbnail-left); }
body.vexcel-strip-visible #vexcelSheet [data-column-key="mine"] { left: var(--vexcel-mine-left); }
body.vexcel-strip-visible #vexcelSheet [data-column-key="public"] { left: var(--vexcel-public-left); }
body.vsearch-active.vexcel-strip-visible #vsearchPanel {
  display: flex !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  z-index: 24;
  width: calc(100% - 8px) !important;
  max-height: calc(100% - 8px);
  margin: 4px;
  border: 1px solid #d87316 !important;
  background: rgb(255 236 218 / 30%) !important;
  box-shadow: 0 2px 12px rgb(83 52 24 / 10%);
}
body.vsearch-active #vsearchPanel .vsearch-node-card { background: rgb(247 250 252 / 96%); }
body.vsearch-active #vsearchPanel .vsearch-tree-children::before,
body.vsearch-active #vsearchPanel .vsearch-tree-children > .vsearch-tree-node::before { opacity: .9; }
body.vsearch-active #vsearchEmpty { border-color:#d87316; background:rgb(255 255 255 / 92%); }
@media (max-width: 760px) {
  :root { --vexcel-strip-width: 112px; }
  body.vexcel-strip-visible #vexcelSheet col:nth-child(n + 4),
  body.vexcel-strip-visible #vexcelSheet th:nth-child(n + 4),
  body.vexcel-strip-visible #vexcelSheet td:nth-child(n + 4) { display:none !important; }
  body.vsearch-active.vexcel-strip-visible #vsearchPanel { grid-column: 3; width: calc(100% - 4px) !important; margin: 2px; }
}

/* V85: het werkvlak draagt dezelfde lichte kleur als zijn eigen tab. */
#vexcelPanel { --sheet-tint: #e4f0e7; background: var(--sheet-tint); }
#vexcelPanel .vexcel-sheet-viewport,
#vexcelPanel .vexcel-sheet td { background-color: var(--sheet-tint); }
#vexcelPanel .vexcel-sheet tr.vexcel-open-vlog td { background-color: #dceafa; }
#vexcelPanel .vexcel-sheet tr.vexcel-selected-row td { background-color: #d1e7d8; }
#vexcelPanel .vexcel-sheet tr:hover td { background-color: #dceade; }
body.vexcel-strip-visible #vexcelPanel { width: 100% !important; min-width: 0 !important; box-shadow: none; border: 0; }
body.vexcel-strip-visible #vexcelSheet tr > :last-child { border-right: 0; }
body.vexcel-strip-visible #vexcelSheet [data-column-key="public"] { border-right: 0; }
body.vexcel-strip-visible #editorGrid,
body.vexcel-strip-visible #editorGrid .editor-pane,
body.vexcel-strip-visible #editorGrid .vedit-surface { background-color: #e7f0fa; }
body.vmask-active #vmaskPanel,
body.vmask-active #vmaskPanel .vmask-design-surface { background-color: #eee8f8; }
body.vsearch-active.vexcel-strip-visible #vsearchPanel { background-color: rgb(255 240 225 / 88%) !important; }

@media (max-width: 760px) {
  body.vexcel-strip-visible .workspace, body.vsearch-active.vexcel-strip-visible .workspace { grid-template-columns: min(112px, var(--vexcel-strip-width)) 7px minmax(0, 1fr) !important; }
  body.vexcel-strip-visible #vexcelSheetViewport { width: min(112px, var(--vexcel-strip-width)); }
  body.vexcel-strip-visible #vexcelSheet { width: var(--vexcel-mine-left, 84px) !important; min-width: var(--vexcel-mine-left, 84px) !important; }
}

/* V86: one measured column grid, with Vedit directly beside its fixed cells. */
body.vexcel-strip-visible .workspace,body.vsearch-active.vexcel-strip-visible .workspace { grid-template-columns:min(var(--vexcel-strip-width),calc(var(--vexcel-fixed-columns-width,122px) + 16px)) 7px minmax(0,1fr)!important; }
body.vexcel-strip-visible #vexcelSheetViewport { width:100%; min-width:0; }
body.vexcel-strip-visible #vexcelSheet { width:var(--vexcel-fixed-width,122px)!important; min-width:var(--vexcel-fixed-width,122px)!important; }
body.vexcel-strip-visible #vexcelSheet col:nth-child(4),body.vexcel-strip-visible #vexcelSheet col:nth-child(5) { display:table-column!important; }
body.vexcel-strip-visible #vexcelSheet th:nth-child(4),body.vexcel-strip-visible #vexcelSheet td:nth-child(4),body.vexcel-strip-visible #vexcelSheet th:nth-child(5),body.vexcel-strip-visible #vexcelSheet td:nth-child(5) { display:table-cell!important; }
body.vexcel-strip-visible #vexcelSearchStatus { display:none!important; }

/* V87: the same complete workbook remains usable beside Vedit. */
body.vexcel-strip-visible .workspace,
body.vsearch-active.vexcel-strip-visible .workspace,
body.vexcel-strip-visible #tabMenus {
  grid-template-columns: var(--vexcel-strip-width) 7px minmax(0, 1fr) !important;
}
body.vexcel-strip-visible #tabMenus { display:grid; min-width:0; gap:0; }
body.vexcel-strip-visible #tabMenus > [data-tab-menu="vexcel"] { grid-column:1; grid-row:1; --workbook-accent:#217346; --workbook-tint:#e4f0e7; min-width:0; }
body.vexcel-strip-visible #tabMenus > [data-tab-menu="vedit"],
body.vexcel-strip-visible #tabMenus > [data-tab-menu="vsearch"] { grid-column:3; grid-row:1; min-width:0; }
body.vexcel-strip-visible #tabMenus .office-menu-tabs { padding-right:0; }
body.vexcel-strip-visible #vexcelFilterBar { display:flex!important; flex-wrap:wrap; overflow:visible; flex-shrink:0; }
body.vexcel-strip-visible #vexcelFilterBar > .vexcel-filter-toggle { display:flex!important; min-width:0; max-width:100%; white-space:normal; }
body.vexcel-strip-visible #vexcelFilterBar > .vexcel-filter-hint { display:none!important; }
body.vexcel-strip-visible #vexcelSearchStatus:not([hidden]) { display:block!important; }
body.vexcel-strip-visible #vexcelSheetViewport { width:100%; min-width:0; overflow:auto; }
body.vexcel-strip-visible #vexcelSheet { --vexcel-rowheader-width:42px; width:var(--vexcel-table-width)!important; min-width:var(--vexcel-table-width)!important; }
body.vexcel-strip-visible #vexcelSheet col:nth-child(n) { display:table-column!important; }
body.vexcel-strip-visible #vexcelSheet th:nth-child(n),
body.vexcel-strip-visible #vexcelSheet td:nth-child(n) { display:table-cell!important; }
body.vexcel-strip-visible #vexcelSheet [data-column-key="vlnr"] { left:var(--vexcel-rowheader-width); }
body.vexcel-strip-visible #vexcelSheet [data-column-key="thumbnail"] { left:calc(var(--vexcel-rowheader-width) + var(--vexcel-thumbnail-left)); }
body.vexcel-strip-visible #vexcelSheet [data-column-key="mine"] { left:calc(var(--vexcel-rowheader-width) + var(--vexcel-mine-left)); }
body.vexcel-strip-visible #vexcelSheet [data-column-key="public"] { left:calc(var(--vexcel-rowheader-width) + var(--vexcel-public-left)); border-right:1px solid #b9cbc0; }
body.vexcel-strip-visible .vexcel-sheet-tabs { display:flex!important; }
.vlog-loading { flex:0 0 auto; padding:8px 12px; color:#1769a7; background:#eaf2fb; border-bottom:1px solid #b7cadd; font:14px/1.4 Aptos,Calibri,"Segoe UI",sans-serif; }
@media (min-width:761px) {
  body.vexcel-strip-visible #suiteTabsBar { height:32px; min-height:32px; }
  body.vexcel-strip-visible .app-body { height:calc(100vh - var(--menu-height) - var(--alpha-height) - var(--status-height) - var(--workbook-dock-height) - 32px); }
}
@media (max-width:760px) {
  body.vexcel-strip-visible #vexcelSheet [data-column-key] { position:static; }
}

/* V93: the search frame hugs its blocks, leaving Vedit visible around it. */
body.vsearch-active #vsearchPanel,
body.vsearch-active.vexcel-strip-visible #vsearchPanel {
  width: max-content !important;
  max-width: calc(100% - 8px);
  min-height: 0;
  height: auto !important;
  justify-self: center;
  flex: 0 1 auto;
}
body.vsearch-active #vsearchTree { padding: 4px; }
body.vsearch-active #vsearchEmpty { width: 320px; max-width: 100%; margin: 0; padding: 6px; }
body.vsearch-active .vsearch-tree-roots { width: max-content; max-width: 100%; margin: 0; }
body.vsearch-active .vsearch-tree-node { min-width: 0; max-width: 100%; }
body.vsearch-active .vsearch-tree-children { max-width: 100%; padding-top: 8px; }
body.vsearch-active .vsearch-tree-children[data-layout] { gap: 4px; }
body.vsearch-active .vsearch-tree-children > .vsearch-tree-node::before { top: -4px; height: 4px; }
body.vsearch-active .vsearch-node-card { padding: 3px 4px; }
body.vsearch-active .vsearch-node-card > p { margin: 2px 0 0; }
body.vsearch-active .vsearch-node-timing { margin-top: 2px; }
body.vsearch-active .vsearch-node-actions { margin-top: 3px; }
body.vsearch-active .vsearch-tree-node:not(.has-interaction) > .vsearch-node-card.selected {
  width: fit-content !important;
  max-width: min(100%, 430px) !important;
}
body.vsearch-active .vsearch-tree-node.has-interaction > .vsearch-node-card {
  width: fit-content !important;
  min-width: 0;
  max-width: min(100%, 480px) !important;
  padding: 4px;
}
body.vsearch-active .vsearch-node-interaction { margin-top: 3px; }
body.vsearch-active .questions-drawer.vsearch-inline .questions-drawer-header,
body.vsearch-active .questions-drawer.vsearch-inline .questions-body,
body.vsearch-active .questions-drawer.vsearch-inline .questions-actions { padding: 4px; }
body.vsearch-active #editorGrid .vedit-surface { overflow-anchor: none; }
@media (max-width: 760px) {
  body.vsearch-active .vsearch-tree-roots { width: 100%; }
  body.vsearch-active .vsearch-node-top { flex-wrap: wrap; white-space: normal; gap: 2px 4px; }
  body.vsearch-active .vsearch-node-top strong { white-space: normal; overflow-wrap: anywhere; }
  body.vsearch-active .vsearch-tree-node[data-status="done"] > .vsearch-node-card { flex-wrap: wrap; }
  body.vsearch-active .vsearch-node-interaction input,
  body.vsearch-active .vsearch-node-interaction select { min-width: 0; max-width: 100%; }
}
/* V94: the Vmask names are the menu choices themselves. */
#vmaskMenuChoices { display: flex; flex-direction: column; min-width: 180px; }
#vmaskMenuChoices .office-command { justify-content: flex-start; text-align: left; }
#vmaskMenuChoices [aria-checked="true"] { background: #e8f1fc; }
#vmaskMenuChoices { width: 100%; }
.vint-status { position: sticky; bottom: 0; display: flex; align-items: center; gap: 8px; padding: 5px 8px; background: #edf3fa; color: #254666; border-top: 1px solid #c9d5e2; font-size: 13px; }
.vint-status[hidden] { display: none; }
.vsearch-parked-question { padding: 4px; font-size: 12px; }
.vsearch-parked-question p { margin: 3px 0; }
@media print { .vint-status { display: none !important; } }
.vint-status[data-state="failed"], .vint-status[data-state="attention"] { background: #fff4da; color: #624612; }
.vint-answers { display: flex; flex-wrap: wrap; gap: 3px 10px; margin: 3px 0; }

/* V95: Office-style steps stay in insertion order at a fixed row height. */
.vsearch-result-source { cursor: default; border-bottom: 0; color: #666; font-weight: 400; }
body.vsearch-active #vsearchPanel,
body.vsearch-active.vexcel-strip-visible #vsearchPanel {
  position: relative !important; inset: auto !important; transform: none !important;
  width: min(380px, calc(100% - 8px)) !important; max-width: calc(100% - 8px);
  height: auto !important; max-height: calc(100% - 8px); min-height: 0;
  justify-self: end; align-self: start; margin: 4px; overflow: hidden;
  border: 1px solid #b8b8b8 !important; background: #fff !important;
  box-shadow: 0 2px 8px rgb(0 0 0 / 12%); pointer-events: auto;
  font-family: Aptos, Calibri, "Segoe UI", sans-serif;
}
body.vsearch-active #vsearchPanel.has-steps { height: min(660px, calc(100% - 8px)) !important; }
body.vsearch-active #vsearchPanel .vsearch-header { display: flex; flex-wrap: nowrap; min-height: 60px; height: 60px; padding: 6px 8px; gap: 8px; background: #f3f3f3; border-bottom: 1px solid #d5d5d5; }
body.vsearch-active #vsearchPanel .vsearch-photo-copy { flex: 0 0 40px; }
body.vsearch-active #vsearchPanel .vsearch-photo-copy img { width: 36px; height: 40px; }
body.vsearch-active #vsearchPanel .vsearch-photo-copy > span { display: none; }
body.vsearch-active #vsearchPanel .vsearch-header-status { display: block; margin: 0; min-width: 0; }
body.vsearch-active #vsearchPanel .vsearch-header-status strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.2; }
body.vsearch-active #vsearchPanel .vsearch-header-status small { display: block; font-size: 12px; }
body.vsearch-active #vsearchPanel #vsearchZoom { display: none; }
body.vsearch-active #vsearchPanel .vsearch-body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; pointer-events: auto; background: #fff; }
body.vsearch-active #vsearchPanel #vsearchTree {
  flex: 1 1 auto; min-height: 0; height: auto; max-height: none; padding: 6px;
  overflow: auto; overflow-anchor: none; overscroll-behavior: contain; touch-action: pan-y;
  scroll-behavior: auto; scrollbar-gutter: stable; pointer-events: auto;
}
body.vsearch-active #vsearchPanel:not(.has-steps) #vsearchTree { display: none; }
body.vsearch-active #vsearchPanel #vsearchEmpty { width: 100%; border: 0; margin: 0; padding: 12px; background: #fff; font-size: 14px; }
body.vsearch-active #vsearchPanel #vsearchEmpty p { font-size: 14px; }
body.vsearch-active #vsearchPanel .vsearch-tree-roots { display: flex; flex-direction: column; gap: 6px; width: 100%; margin: 0; transform: none !important; will-change: auto; }
body.vsearch-active #vsearchPanel .vsearch-tree-node { display: block; width: 100%; flex: 0 0 auto; }
body.vsearch-active #vsearchPanel .vsearch-tree-node[hidden] { display: none !important; }
body.vsearch-active #vsearchPanel .vsearch-node-card,
body.vsearch-active #vsearchPanel .vsearch-tree-node > .vsearch-node-card.selected {
  box-sizing: border-box; display: grid; grid-template-rows: 32px 16px 26px;
  gap: 2px; width: 100% !important; min-width: 0; max-width: none !important;
  height: 90px; min-height: 90px; padding: 5px 9px; overflow: hidden;
  border: 1px solid #c9c9c9; border-left: 1px solid #c9c9c9; border-radius: 0;
  background: #fff; box-shadow: none; transform: none; cursor: pointer;
  transition: none; animation: none;
}
body.vsearch-active #vsearchPanel .vsearch-node-card.selected { outline: 1px solid #0078d4; outline-offset: -1px; }
body.vsearch-active #vsearchPanel .vsearch-tree-node.is-closed > .vsearch-node-card { background: #f7f7f7; color: #444; cursor: default; outline: none; }
body.vsearch-active #vsearchPanel .vsearch-node-top { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: 14px 18px; gap: 0 8px; align-items: center; white-space: nowrap; }
body.vsearch-active #vsearchPanel .vsearch-node-top strong { grid-column: 1 / -1; grid-row: 2; font-size: 14px; line-height: 18px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.vsearch-active #vsearchPanel .vsearch-node-number { font-size: 12px; color: #666; font-weight: 400; }
body.vsearch-active #vsearchPanel .vsearch-node-state { border: 0; padding: 0; background: transparent; color: #555; font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; animation: none; }
body.vsearch-active #vsearchPanel [data-status="running"] .vsearch-node-state { color: #0067b8; }
body.vsearch-active #vsearchPanel [data-status="failed"] .vsearch-node-state { color: #a4262c; }
body.vsearch-active #vsearchPanel .vsearch-node-cost { grid-column: 3; grid-row: 1; font-size: 12px; font-weight: 400; }
body.vsearch-active #vsearchPanel .vsearch-node-card > .vsearch-node-detail { display: block; max-width: none; margin: 0; color: #666; font-size: 12px; line-height: 16px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
body.vsearch-active #vsearchPanel .vsearch-node-footer { display: flex; align-items: center; gap: 8px; min-width: 0; }
body.vsearch-active #vsearchPanel .vsearch-node-timing { display: flex; flex: 1; margin: 0; }
body.vsearch-active #vsearchPanel .vsearch-node-timing[hidden] { display: none; }
body.vsearch-active #vsearchPanel .vsearch-node-timeline > i { background: #0078d4; }
body.vsearch-active #vsearchPanel .vsearch-node-elapsed { font-size: 12px; }
body.vsearch-active #vsearchPanel .vsearch-node-actions { margin: 0 0 0 auto; gap: 4px; }
body.vsearch-active #vsearchPanel .vsearch-node-actions button { min-height: 26px; padding: 2px 10px; font-size: 14px; font-weight: 400; border: 1px solid #adadad; background: #f6f6f6; color: #222; }
body.vsearch-active #vsearchPanel .vsearch-node-actions button:hover { border-color: #0078d4; background: #e5f1fb; }
body.vsearch-active #vsearchPanel .vsearch-node-actions button:disabled { color: #888; background: #eee; border-color: #ccc; }
body.vsearch-active #vsearchPanel.has-steps #vsearchDetails {
  display: block !important; flex: 0 0 min(28%, 180px); box-sizing: border-box;
  min-height: 0; max-height: none; width: 100%; padding: 8px; overflow: auto; overscroll-behavior: contain;
  border: 0; border-top: 1px solid #ccc; background: #fafafa; pointer-events: auto;
  font-size: 14px; line-height: 1.35; overflow-anchor: none;
}
body.vsearch-active #vsearchPanel .vsearch-detail-summary > strong { display: block; font-size: 14px; }
body.vsearch-active #vsearchPanel .vsearch-detail-summary > p { margin: 5px 0; font-size: 14px; }
body.vsearch-active #vsearchPanel .vsearch-detail-summary > small { font-size: 12px; color: #666; }
body.vsearch-active #vsearchPanel .vsearch-detail-summary > .eyebrow { display: none; }
body.vsearch-active #vsearchPanel #vsearchDetails.has-questions .vsearch-detail-summary { display: none; }
body.vsearch-active #vsearchPanel .vsearch-question-slot + .vsearch-question-slot { border-top: 1px solid #ccc; margin-top: 8px; padding-top: 8px; }
body.vsearch-active #vsearchPanel .questions-drawer.vsearch-inline { position: static !important; width: 100% !important; max-width: none !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.vsearch-active #vsearchPanel .questions-drawer.vsearch-inline .questions-body { max-height: none; overflow: visible; font-size: 14px; }
body.vsearch-active #vsearchPanel .questions-drawer.vsearch-inline p,
body.vsearch-active #vsearchPanel .questions-drawer.vsearch-inline button { font-size: 14px; }
@media (max-width: 760px) {
  body.vsearch-active.vexcel-strip-visible .workspace,
  body.vsearch-active.vexcel-strip-visible #tabMenus { grid-template-columns: min(112px, var(--vexcel-strip-width)) 7px minmax(0, 1fr) !important; }
  body.vsearch-active #vsearchPanel, body.vsearch-active.vexcel-strip-visible #vsearchPanel { width: calc(100% - 8px) !important; }
  body.vsearch-active #vsearchPanel.has-steps { height: calc(100% - 8px) !important; }
}

/* V97: a single, permanent window onto Vexcel's two search rows. */
body.vexcell-ready #vrequeRoot { display:flex; flex-direction:column; height:100dvh; padding-bottom:var(--workbook-dock-height); }
body.vexcell-ready #suiteTabsBar { flex:0 0 32px; height:32px; min-height:32px; }
body.vexcell-ready .app-body { flex:1 1 auto; min-height:0; height:auto!important; overflow:visible; }
body.vexcell-ready .statusbar { flex:0 0 var(--status-height); min-width:0; }
body.vexcell-ready .workspace {
  left:0!important; top:0; bottom:0; width:100%!important; transform:none!important;
  display:grid!important; grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:var(--menu-height) minmax(0,1fr)!important; gap:0!important;
  min-width:0; min-height:0; overflow:visible; box-shadow:none;
}
body.vexcel-strip-visible .workspace, body.vsearch-active.vexcel-strip-visible .workspace {
  grid-template-columns:var(--vexcel-strip-width) 7px minmax(0,1fr)!important;
  grid-template-rows:var(--menu-height) minmax(0,1fr)!important;
}
body.vexcell-ready #tabMenus { grid-column:1/-1; grid-row:1; display:block!important; min-width:0; width:100%; }
body.vexcel-strip-visible #tabMenus { grid-column:3; }
body.vexcell-ready #tabMenus > .tab-menu { width:100%; min-width:0; }
body.vexcell-ready #tabMenus > [hidden] { display:none!important; }
body.vexcell-ready #tabMenus .office-menu-tabs { padding-right:0; overflow-x:auto; scrollbar-width:none; white-space:nowrap; flex-wrap:nowrap; }
body.vexcell-ready #tabMenus .office-menu-tabs::-webkit-scrollbar { display:none; }
body.vexcell-ready #vexcelPanel { grid-column:1; grid-row:2; width:100%!important; min-width:0!important; height:100%; }
body.vexcel-strip-visible #vexcelPanel { grid-row:1/-1; }
body.vexcell-ready #vexcelStripResizer { grid-column:2; grid-row:1/-1; height:100%; }
body.vexcell-ready #editorGrid { grid-column:1; grid-row:2; min-height:0; position:relative!important; inset:auto!important; }
body.vexcel-strip-visible #editorGrid, body.vsearch-active.vexcel-strip-visible #editorGrid { grid-column:3; grid-row:2; }
body.vexcell-ready #vmaskPanel, body.vexcell-ready #accountPanel, body.vexcell-ready #helpInfoPanel { grid-column:1/-1; grid-row:2; min-height:0; }
body.vsearch-active.vexcel-strip-visible #vsearchPanel { grid-column:3!important; grid-row:2!important; max-height:calc(100% - 8px)!important; }
body.vexcell-ready #vexcelSheetViewport { overflow:auto; scrollbar-gutter:stable; overflow-anchor:none; }
body.vexcell-ready #vexcelSheet { min-width:var(--vexcel-table-width)!important; width:var(--vexcel-table-width)!important; }
body.vexcell-ready #vexcelSheet [data-column-key] { position:static!important; }
body.vexcell-ready #vexcelSheet tbody th { position:static; }
body.vexcell-ready #vexcelFilterBar { display:flex!important; flex-wrap:wrap; min-height:0; border:0; padding:4px; }
body.vexcell-ready .vexcel-filter-hint { display:none; }
.vexcel-window { flex:0 0 62px; height:62px; min-height:62px; width:100%; min-width:0; position:relative; z-index:55; background:#e4f0e7; }
.vexcel-window-viewport { height:62px; width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; overscroll-behavior-x:contain; }
.vexcel-window-viewport::-webkit-scrollbar { display:none; }
.vexcel-window .vexcel-sheet { color:#17221b; font:14px/1.25 Aptos,Calibri,"Segoe UI",sans-serif; }
.vexcel-window .vexcel-sheet thead { position:static; }
.vexcel-window .vexcel-sheet th { position:relative; left:auto!important; }
.vexcel-window .vexcel-sheet tr:first-child th { background:#e4f0e7; }
.vexcel-window .vexcel-sheet tr:nth-child(2) th { background:#edf5ef; }
.vexcel-window .vexcel-corner-heading { padding:2px!important; }
.vexcel-window [data-state="searching"] { background:#fff2cb; }
.vexcel-sheet .vexcel-spacer td { padding:0!important; border:0!important; cursor:default; background:#e4f0e7; }
.vexcel-cell-thumb img { width:100%; height:100%; object-fit:contain; }
body.vexcell-ready #vexcelSearchStatus { flex:0 1 auto; border:0; padding:0 5px; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; background:transparent; }
body.vexcell-ready #vexcelSearchStatus[data-state="searching"] { color:#765400; }
.catalogue-progress { min-height:22px; padding:3px 7px; display:flex; align-items:center; gap:5px; color:#425e4d; background:#edf5ef; font:12px/1.3 Aptos,Calibri,"Segoe UI",sans-serif; }
.catalogue-progress button { font:inherit; padding:1px 5px; background:white; color:inherit; border:1px solid #8faa99; cursor:pointer; }
.catalogue-progress:empty { display:none; }
@media(max-width:760px) {
  body.vexcell-ready #vrequeRoot { padding-bottom:var(--mobile-dock-height,56px); }
  body.vexcell-ready #suiteTabsBar { flex-basis:43px; height:43px; min-height:43px; }
  body.vexcel-strip-visible .workspace, body.vsearch-active.vexcel-strip-visible .workspace { grid-template-columns:var(--vexcel-strip-width) 7px minmax(0,1fr)!important; }
  body.vexcell-ready #tabMenus .office-menu-tab { flex-shrink:0; }
}
@media print {
  body.vexcell-ready #vrequeRoot { display:block; height:auto; padding:0; }
  .vexcel-window,#catalogueBrowser { display:none!important; }
  body.vexcel-print .vexcel-window { display:block!important; height:auto; }
}

/* Keep virtual row offsets exact, including custom row heights. */
body.vexcell-ready #vexcelSheet tbody tr:not(.vexcel-spacer),
body.vexcell-ready #vexcelSheet tbody tr:not(.vexcel-spacer) > th,
body.vexcell-ready #vexcelSheet tbody tr:not(.vexcel-spacer) > td { height:var(--vexcel-row-height,26px); padding-top:2px; padding-bottom:2px; line-height:17px; }
body.vexcell-ready #vexcelSheet .vexcel-value-image { max-height:calc(var(--vexcel-row-height,26px) - 6px); object-fit:contain; }

/* V107: three opaque work panes, on the permanent green Vexcel sheet. */
:root { --vexcel-surface:#e4f0e7; --vsearch-accent:#d97822; }
body.vexcell-ready #vrequeRoot { border:5px solid var(--vexcel-surface); background:var(--vexcel-surface); box-sizing:border-box; }
body.vexcell-ready #suiteTabsBar,
body.vexcell-ready #suiteTabsBar .brand,
body.vexcell-ready #suiteTabsBar .suite-costs,
body.vexcell-ready #suiteTabsBar .economy-button,
body.vexcell-ready #suiteTabsBar .utility-tab,
body.vexcell-ready #suiteTabsBar #mobileWorkbookTitle { background:var(--vexcel-surface); color:#254936; }
body.vexcell-ready #suiteTabsBar .brand { width:108px; flex-basis:108px; padding:8px 10px; }
body.vexcell-ready #suiteTabsBar .brand img { width:88px; height:auto; max-height:20px; object-fit:contain; }
[data-tab-menu="vedit"] { --workbook-accent:#2c79bf; }
[data-tab-menu="vsearch"] { --workbook-accent:var(--vsearch-accent); }
[data-tab-menu="vexcel"] { --workbook-accent:#218052; }
[data-tab-menu="vmask"] { --workbook-accent:#7651a8; }
[data-tab-menu="account"], [data-tab-menu="help"] { --workbook-accent:#66788c; }
body.vexcel-selecting { --vsearch-vexcel-width:166px; }
body.vsearch-active.vexcel-strip-visible .workspace { grid-template-columns:var(--vsearch-vexcel-width,140px) 7px minmax(330px,1fr) minmax(260px,.62fr)!important; }
body.vsearch-active.vexcel-strip-visible #tabMenus { display:contents!important; }
body.vsearch-active #tabMenus > [data-tab-menu="vsearch"] { display:block!important; grid-column:3; grid-row:1; border:1px solid var(--vsearch-accent); border-bottom:0; background:#fff2e5; z-index:65; }
body.vsearch-active #tabMenus > [data-tab-menu="vedit"] { display:block!important; grid-column:4; grid-row:1; border:1px solid #2c79bf; border-bottom:0; }
body.vsearch-active #tabMenus > [data-tab-menu="vsearch"] .office-menu-tabs { background:#fff2e5; }
body.vsearch-active.vexcel-strip-visible #editorGrid { grid-column:4!important; grid-row:2; min-width:0; border:1px solid #2c79bf; }
body.vsearch-active #vsearchPanel,
body.vsearch-active.vexcel-strip-visible #vsearchPanel,
body.vsearch-active #vsearchPanel.has-steps { grid-column:3!important; grid-row:2!important; display:flex!important; flex-direction:column; position:relative!important; inset:auto!important; align-self:stretch; justify-self:stretch; width:100%!important; height:100%!important; min-height:0!important; max-height:none!important; margin:0!important; padding:0!important; border:1px solid var(--vsearch-accent)!important; border-top:0!important; background:#fffaf5!important; box-shadow:none!important; opacity:1; pointer-events:auto!important; overflow:hidden; }
body.vsearch-active #vsearchPanel .vsearch-header { display:flex!important; flex-wrap:wrap; flex:0 0 auto; padding:10px 12px; gap:8px; border-bottom:1px solid #efd6bc; background:#fff4e8!important; color:#614322; }
body.vsearch-active #vsearchPanel .vsearch-photo-copy { display:flex!important; min-width:0; }
body.vsearch-active #vsearchPanel .vsearch-photo-copy img { width:36px; height:36px; object-fit:contain; }
body.vsearch-active #vsearchPanel .vsearch-header-status { display:block!important; min-width:0; }
body.vsearch-active #vsearchPanel .vsearch-header-status strong { font-size:13px; }
body.vsearch-active #vsearchPanel .vsearch-body { display:flex!important; flex:1 1 auto; flex-direction:column; min-height:0; overflow:hidden; background:#fffaf5; }
body.vsearch-active #vsearchPanel .vsearch-tree { display:block; flex:1 1 auto; width:100%!important; min-height:0; padding:14px 12px 60px!important; overflow:auto!important; pointer-events:auto!important; background:#fffaf5!important; }
body.vsearch-active #vsearchPanel .vsearch-tree-roots { display:flex!important; flex-direction:column; align-items:center; gap:10px; width:100%!important; min-width:0; max-width:none!important; margin:0!important; padding:0!important; list-style:none; }
body.vsearch-active #vsearchPanel .vsearch-tree-roots > .vsearch-tree-node { width:min(100%,430px)!important; margin:0!important; padding:0!important; }
body.vsearch-active #vsearchPanel .vsearch-source-row { width:100%; min-width:0; list-style:none; overflow-x:auto; padding:2px 0 8px; scroll-snap-type:x proximity; }
body.vsearch-active #vsearchPanel .vsearch-source-columns { display:flex; gap:10px; width:max-content; min-width:0; margin:0 auto; padding:0 2px; list-style:none; align-items:stretch; }
body.vsearch-active #vsearchPanel .vsearch-source-columns > .vsearch-tree-node { display:block; flex:0 0 196px; width:196px; padding:0; margin:0; scroll-snap-align:center; }
body.vsearch-active #vsearchPanel .vsearch-node-card { height:100%; min-height:84px; border:1px solid #dbc7b3; border-radius:3px; background:white!important; box-shadow:0 1px 2px #59330c0a; padding:9px!important; cursor:default; }
body.vsearch-active #vsearchPanel [data-status="running"] > .vsearch-node-card { border-color:#d97822; background:#fff6e9!important; }
body.vsearch-active #vsearchPanel [data-status="failed"] > .vsearch-node-card { border-color:#bd5c54; }
body.vsearch-active #vsearchPanel .vsearch-node-detail { display:block!important; white-space:normal!important; overflow:visible; -webkit-line-clamp:unset; font-size:12px; line-height:1.4; }
body.vsearch-active #vsearchPanel .vsearch-node-top strong { white-space:normal!important; font-size:14px; }
body.vsearch-active #vsearchPanel .vsearch-details { display:none!important; }
body.vsearch-active #vsearchPanel .vsearch-empty { background:transparent; color:#614322; padding:24px 16px; }
.vsearch-menu-title { align-self:center; margin-left:8px; color:#754916; font:600 14px Aptos,Calibri,'Segoe UI',sans-serif; }
.vsearch-close { margin-left:auto; min-width:30px; border:0; background:transparent; color:#754916; font-size:22px; cursor:pointer; }
.vsearch-close:hover { background:#f4dfc9; }
/* Compact Office menus with borders in their owning workbook's colour. */
body .tab-menu.command-open .office-ribbon { right:auto; width:min(292px,calc(100vw - 16px)); height:auto; max-height:min(70dvh,520px); margin-left:0; overflow:auto; border:1px solid var(--workbook-accent,#8b9cac); background:#fff; box-shadow:0 4px 12px #20304024; border-radius:2px; }
body .tab-menu.command-open .office-command-strip { height:auto; flex-direction:column; align-items:stretch; gap:1px; padding:4px; overflow:visible; }
body .tab-menu.command-open .office-command { width:100%; height:auto; min-height:30px; justify-content:flex-start; padding:5px 8px; gap:9px; font:13px/1.3 Aptos,Calibri,'Segoe UI',sans-serif; white-space:normal; text-align:left; color:#243849; background:#fff; }
body .tab-menu.command-open .office-command:hover,
body .tab-menu.command-open .office-command:focus-visible { background:#e8f2fe; border-color:#b5d1ed; }
.office-line-icon { flex:0 0 18px; color:#526f85; }
body .tab-menu.command-open .office-command:disabled { color:#89929a; opacity:.55; }
body .tab-menu.command-open .office-command.danger-command { border-top:1px solid #e0e4e7; margin-top:4px; padding-top:7px; }
body .tab-menu.command-open .office-hint { white-space:normal; font-size:12px; padding:6px 8px; line-height:1.4; }
body .tab-menu.command-open .active-photo-actions { height:auto; flex-direction:column; align-items:stretch; }
.photo-route-dialog { width:min(430px,calc(100vw - 28px)); padding:22px; color:#243849; border:1px solid #d97822; border-radius:5px; background:#fff; box-shadow:0 14px 50px #15271e35; }
.photo-route-dialog::backdrop { background:#172c2140; }
.photo-route-dialog h2 { margin:0 0 10px; font-size:20px; }
.photo-route-dialog p { font-size:14px; line-height:1.5; margin-bottom:18px; }
.photo-route-dialog button { display:block; width:100%; min-height:42px; margin:7px 0 0; text-align:left; padding:8px 12px; }
@media (max-width:760px), (max-height:500px) and (pointer:coarse) {
  body.vsearch-active.vexcel-strip-visible .workspace { grid-template-columns:1fr!important; }
  body.vsearch-active #tabMenus > [data-tab-menu="vsearch"], body.vsearch-active.vexcel-strip-visible #vsearchPanel { grid-column:1!important; }
  body.vsearch-active #tabMenus > [data-tab-menu="vedit"], body.vsearch-active #editorGrid, body.vsearch-active #vexcelPanel, body.vsearch-active #vexcelStripResizer { display:none!important; }
  body.vexcell-ready #suiteTabsBar .brand { width:76px; flex-basis:76px; padding:7px; }
  body.vexcell-ready #suiteTabsBar .brand img { width:62px; }
  body.vsearch-active #vsearchPanel .vsearch-source-columns > .vsearch-tree-node { flex-basis:230px; width:230px; }
  body .tab-menu.mobile-command-open .office-ribbon { position:fixed; top:auto; left:8px; right:8px; bottom:calc(var(--mobile-dock-height,56px) + 8px); width:auto; max-height:65dvh; }
}
@media print { body.vexcell-ready #vrequeRoot { border:0; } }
/* Let wrapped source headings determine their own height; keep recovery visible. */
body.vsearch-active #vsearchPanel .vsearch-node-card,
body.vsearch-active #vsearchPanel .vsearch-tree-node > .vsearch-node-card.selected { display:flex; flex-direction:column; gap:6px; height:auto; min-height:84px; overflow:visible; }
body.vsearch-active #vsearchPanel .vsearch-source-columns .vsearch-node-card { height:100%; }
body.vsearch-active #vsearchPanel .vsearch-node-top { display:flex; flex-wrap:wrap; gap:3px 6px; white-space:normal; }
body.vsearch-active #vsearchPanel .vsearch-node-top strong { flex:1 0 100%; order:3; line-height:1.3; overflow:visible; overflow-wrap:anywhere; }
body.vsearch-active #vsearchPanel .vsearch-node-cost { margin-left:auto; }
body.vsearch-active #vsearchPanel .vsearch-node-card > .vsearch-node-detail { white-space:normal; overflow:visible; line-height:1.4; }
body.vsearch-active #vsearchPanel .vsearch-node-footer { margin-top:auto; }
body.vsearch-active #vsearchPanel.has-steps #vsearchDetails:not(.has-questions) { display:none!important; }
body.vsearch-active #vsearchPanel.has-steps #vsearchDetails.has-questions { display:block!important; overflow:auto; background:#fff!important; }
body.vsearch-active #vsearchPanel #vsearchDetails .vsearch-detail-summary { display:none; }
body.vexcell-ready #suiteTabsBar #utilityTabs button { background:var(--vexcel-surface); }
body.vsearch-active #vsearchPanel .vsearch-source-row { touch-action:pan-x pan-y; }
body.vsearch-active #vsearchPanel .vsearch-node-card { text-align:left; align-items:stretch; }
body.vsearch-active #vsearchPanel .vsearch-node-top { justify-content:flex-start; }
[data-tab-menu="vedit"] { --workbook-tint:#e7f0fa; }
[data-tab-menu="vsearch"] { --workbook-tint:#fff1e3; }
[data-tab-menu="vexcel"] { --workbook-tint:#e4f0e7; }
[data-tab-menu="vmask"] { --workbook-tint:#eee7f5; }
@media (max-width:760px), (max-height:500px) and (pointer:coarse) {
  body.vexcell-ready.vsearch-active.vexcel-strip-visible .workspace { grid-template-columns:minmax(0,1fr)!important; }
  body.vexcell-ready.vsearch-active.vexcel-strip-visible #editorGrid,
  body.vexcell-ready.vsearch-active.vexcel-strip-visible #vexcelPanel,
  body.vexcell-ready.vsearch-active.vexcel-strip-visible #vexcelStripResizer,
  body.vexcell-ready.vsearch-active.vexcel-strip-visible #tabMenus > [data-tab-menu="vedit"] { display:none!important; }
  body.vexcell-ready.vsearch-active.vexcel-strip-visible #vsearchPanel,
  body.vexcell-ready.vsearch-active.vexcel-strip-visible #tabMenus > [data-tab-menu="vsearch"] { grid-column:1!important; min-width:0!important; width:100%!important; }
  body.vexcell-ready #suiteTabsBar #utilityTabs button { color:#254936!important; }
}
/* V110: research is a nonmodal tool beside the document, not a workbook. */
/* V110 — compact Office research tools. */
.vexcel-sheet thead tr:first-child th { border-top:1px solid #abc5b4; }
body .tab-menu { container-type:inline-size; }
body .office-menu-tabs { position:relative; }
.workbook-menu-name { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; color:#36556e; font:600 14px 'Segoe UI',sans-serif; }
.research-status-button { order:9; margin-left:auto; display:flex; align-items:center; gap:4px; background:transparent; border:0; color:#855122; padding:4px 8px; cursor:pointer; font:13px 'Segoe UI',sans-serif; }
.research-status-button:hover { background:#fff3df; }
.research-status-icon { display:flex; }
@container(max-width:920px){.workbook-menu-name{position:static;transform:none;order:8;margin:auto 10px auto auto;}.research-status-button{margin-left:0;}.office-menu-tabs{overflow-x:auto;}}
body #vsearchPanel { position:fixed!important; left:calc(50vw - 170px); top:50px; right:auto!important; transform:none!important; bottom:auto!important; width:min(var(--research-window-width,340px),calc(100vw - 24px))!important; height:min(620px,calc(100dvh - 100px))!important; min-height:min(170px,calc(100dvh - 32px))!important; max-height:calc(100dvh - 32px)!important; display:flex!important; flex-direction:column; padding:0!important; margin:0!important; z-index:105; overflow:hidden; border:1px solid #d18d50!important; border-radius:2px!important; background:#fff!important; box-shadow:0 5px 20px #26354830!important; pointer-events:auto!important; opacity:1!important; }
body #vsearchPanel[hidden] { display:none!important; }
.research-window-titlebar { display:flex; align-items:center; flex:0 0 32px; padding:0 8px; background:#fff1e4; border-bottom:1px solid #e7c3a1; color:#754916; cursor:move; touch-action:none; font:600 14px 'Segoe UI',sans-serif; }
.research-window-titlebar strong { margin:0 auto; }
.research-window-titlebar button { border:0; background:transparent; color:inherit; font:22px 'Segoe UI',sans-serif; cursor:pointer; padding:0 8px; }
body #vsearchPanel .vsearch-header { display:flex!important; align-items:center; flex-wrap:wrap; flex:0 0 auto; gap:6px; padding:8px!important; background:#fff!important; border-bottom:1px solid #e8e2db; color:#3d4c57; }
body #vsearchPanel .vsearch-header > :first-child:not(.vsearch-photo-copy) { display:none; }
body #vsearchPanel .vsearch-photo-copy { display:flex!important; gap:6px; min-width:0; max-width:100%; }
body #vsearchPanel .vsearch-photo-copy img { width:34px; height:34px; object-fit:contain; }
body #vsearchPanel .vsearch-photo-copy img:not([src]) { display:none; }
body #vsearchPanel .vsearch-photo-copy .eyebrow { display:none; }
body #vsearchPanel .vsearch-photo-copy strong { font:12px 'Segoe UI',sans-serif; overflow-wrap:anywhere; }
body #vsearchPanel .vsearch-header-status { display:block!important; flex:1; min-width:160px; }
body #vsearchPanel .vsearch-header-status strong { display:block; font:600 13px/1.4 'Segoe UI',sans-serif; }
body #vsearchPanel .vsearch-header-status small { display:none; }
.research-stop { padding:3px 6px; border:1px solid #d3b18e; background:white; font:12px 'Segoe UI',sans-serif; color:#805c32; cursor:pointer; }
body #vsearchPanel .vsearch-body { display:flex!important; flex-direction:column; flex:1; min-height:0; overflow:hidden; background:#fff; }
body #vsearchPanel .vsearch-tree { display:block!important; flex:1; min-height:0; width:100%!important; padding:7px!important; overflow:auto!important; background:#fff!important; }
body #vsearchPanel .vsearch-tree-roots { display:flex!important; flex-direction:column; gap:6px; width:100%!important; min-width:0; max-width:none!important; margin:0!important; padding:0!important; list-style:none; transform:none!important; }
body #vsearchPanel .vsearch-tree-node { width:100%!important; padding:0!important; margin:0!important; list-style:none; }
body #vsearchPanel .vsearch-source-row { padding:0 0 4px; width:100%; list-style:none; overflow-x:auto; touch-action:pan-x pan-y; }
body #vsearchPanel .vsearch-tree-roots > .vsearch-tree-node { width:min(100%,360px)!important; align-self:center; }
body #vsearchPanel .vsearch-source-columns { display:grid; grid-template-columns:repeat(var(--source-columns,1),minmax(210px,1fr)); gap:8px; margin:0; padding:0; list-style:none; }
body #vsearchPanel .vsearch-node-card { display:flex!important; flex-direction:column; align-items:stretch; gap:4px; width:100%!important; height:auto!important; min-height:0!important; padding:7px!important; border:1px solid #dec3aa!important; border-radius:0!important; background:#fff!important; color:#33485a; box-shadow:none!important; cursor:pointer; }
body #vsearchPanel .vsearch-node-card:hover,body #vsearchPanel .vsearch-node-card:focus-visible,body #vsearchPanel .vsearch-node-card.selected { background:#edf5ff!important; border-color:#91b9df!important; outline:none; }
body #vsearchPanel .vsearch-node-top { display:flex; align-items:center; flex-wrap:wrap; gap:3px 6px; }
body #vsearchPanel .vsearch-node-top strong { display:flex; align-items:flex-start; flex:1 0 100%; gap:6px; order:3; font:600 14px/1.35 'Segoe UI',sans-serif; white-space:normal!important; overflow-wrap:anywhere; }
body #vsearchPanel .vsearch-node-number { display:none; }
body #vsearchPanel .vsearch-node-state,body #vsearchPanel .vsearch-node-cost,body #vsearchPanel time { font:12px/1.3 'Segoe UI',sans-serif; }
body #vsearchPanel .vsearch-node-cost { margin-left:auto; }
body #vsearchPanel .vsearch-node-detail { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal!important; overflow:hidden!important; margin:0; font:12px/1.4 'Segoe UI',sans-serif; }
body #vsearchPanel .vsearch-node-footer { display:flex; gap:5px; justify-content:space-between; align-items:center; }
body #vsearchPanel .vsearch-node-timing { display:flex; flex:1 1 auto; min-width:0; gap:8px; align-items:center; margin:4px 0 0; }
body #vsearchPanel .vsearch-node-timing[hidden] { display:none; }
body #vsearchPanel .vsearch-node-timeline { flex:1 1 auto; min-width:40px; height:4px; background:#e8e0d8; }
body #vsearchPanel .vsearch-node-timeline > i { background:#bc6d23; }
body #vsearchPanel .is-closed > .vsearch-node-card .vsearch-node-timeline > i { width:100%; animation:none; transform:none; background:#93a99a; }
body #vsearchPanel [data-status="waiting"] > .vsearch-node-card .vsearch-node-timeline > i { animation:none; background:#9aa8b5; }
body #vsearchPanel [data-status="failed"] > .vsearch-node-card .vsearch-node-timeline > i { background:#b65b50; }
body #vsearchPanel [data-status="stopped"] > .vsearch-node-card .vsearch-node-timeline > i { background:#9aa8b5; }
body #vsearchPanel .vsearch-node-actions:empty { display:none; }
body #vsearchPanel .vsearch-node-elapsed { flex:0 0 auto; font-variant-numeric:tabular-nums; }
@media(prefers-reduced-motion:reduce){body #vsearchPanel .vsearch-node-timeline > i{animation:none;}}
body #vsearchPanel [data-status="failed"] .vsearch-node-state { color:#a64034; background:#fff0ec; }
body #vsearchPanel [data-status="running"] .vsearch-node-state { color:#865318; background:#fff1dc; }
body #vsearchPanel .vsearch-details { display:none!important; }
body #vsearchPanel.show-details .vsearch-tree { display:none!important; }
body #vsearchPanel.show-details .vsearch-details,body #vsearchPanel .vsearch-details.has-questions { display:block!important; flex:1; min-height:0; max-height:none; overflow:auto; padding:10px; background:#fff; font:14px/1.5 'Segoe UI',sans-serif; }
body #vsearchPanel .vsearch-detail-summary { display:block; }
.research-details-close { display:block; padding:4px 8px; margin-bottom:10px; border:1px solid #bdc8d1; background:white; cursor:pointer; }
body .photo-route-dialog { position:fixed; margin:0; width:min(322px,calc(100vw - 20px)); padding:4px; border:1px solid #2c79bf; border-radius:2px; color:#33485a; box-shadow:0 4px 14px #1c334332; background:#fff; z-index:110; }
body .photo-route-dialog button.photo-route-command { display:flex; align-items:center; gap:9px; min-height:35px; margin:0; padding:7px 9px; background:white; color:#33485a; border:1px solid transparent; border-radius:0; font:14px/1.4 'Segoe UI',sans-serif; }
body .photo-route-dialog button:hover,body .photo-route-dialog button:focus-visible { background:#e9f3fe; border-color:#bad4ed; outline:none; }
body .photo-route-dialog p { margin:4px 3px 0; padding:8px 6px 4px; border-top:1px solid #dce3e8; font:12px/1.4 'Segoe UI',sans-serif; }
body .photo-search-actions { display:none!important; }
body .research-price-row small { display:none; }
@media(max-width:760px){body #vsearchPanel{height:min(620px,calc(100dvh - 120px))!important;max-height:calc(100dvh - 100px)!important;} .workbook-menu-name{flex-shrink:0;}.research-status-button #researchStatusLabel{display:none;}}
@media print {body #vsearchPanel,.research-status-button,.photo-route-dialog{display:none!important;}}
