/* ============================================================================
   ow111d-1bca — Diligence Data Room, FAITHFUL port of the approved prototype
   (diligence-data-room__2_.html). Values are copied from the prototype's CSS,
   not approximated. Everything scoped under .vdr-root. The first section keeps
   the Data Rooms INDEX classes (DataRooms.razor); the rest is the room detail.
   ========================================================================= */
.vdr-root{
  --ink:#0F1A2E; --ink-2:#1B2942;
  --gold:#F5A623; --gold-soft:rgba(245,166,35,.13);
  --bg:#EEF1F6; --card:#FFFFFF;
  --line:#E2E7EF; --line-2:#EDF0F5;
  --mute:#657184; --mute-2:#94A1B5;
  --good:#12A150; --good-soft:rgba(18,161,80,.12);
  --red:#D64545; --red-soft:rgba(214,69,69,.1);
  --off:#C6CEDA;
  --sh-sm:0 1px 2px rgba(15,26,46,.06);
  --sh-lg:0 20px 50px -22px rgba(15,26,46,.28);
  --sh-pop:0 16px 44px -12px rgba(15,26,46,.26);
  color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
}
.vdr-root *{box-sizing:border-box}

/* ── index page (DataRooms.razor) ───────────────────────────────────────── */
.vdr-head{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;margin-bottom:18px}
.vdr-head h1{font-size:27px;font-weight:800;letter-spacing:-.025em;margin:0}
.vdr-sub{font-size:13px;color:var(--mute);margin-top:6px;max-width:720px;line-height:1.6}
.vdr-spacer{flex:1}
.vdr-tabs{display:flex;gap:2px;background:#E4E9F1;padding:4px;border-radius:11px;border:1px solid var(--line);
  flex-wrap:wrap;margin-bottom:16px;width:fit-content}
.vdr-tab{padding:7px 15px;border-radius:8px;font-size:12.5px;font-weight:650;color:var(--mute);cursor:pointer;
  border:0;background:transparent;font-family:inherit;transition:.15s;display:flex;align-items:center;gap:7px;white-space:nowrap}
.vdr-tab:hover{color:var(--ink)}
.vdr-tab.on{background:#fff;color:var(--ink);box-shadow:var(--sh-sm)}
.vdr-tab .cnt{font-size:10.5px;font-weight:700;background:#D5DCE7;padding:1px 6px;border-radius:99px;color:#5D6B80}
.vdr-tab.on .cnt{background:var(--gold-soft);color:#8A5A05}
.vdr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.vdr-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;
  box-shadow:var(--sh-sm);transition:.15s;position:relative;cursor:pointer}
.vdr-card:hover{border-color:#CBD4E1;box-shadow:0 10px 26px -14px rgba(15,26,46,.3)}
.vdr-card.sel{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.vdr-card.locked{cursor:default;background:#FBFCFE}
.vdr-card.locked:hover{border-color:var(--line);box-shadow:var(--sh-sm)}
.vdr-card-top{display:flex;align-items:flex-start;gap:10px}
.vdr-card-nm{font-size:14.5px;font-weight:750;letter-spacing:-.01em;flex:1;min-width:0}
.vdr-card-desc{font-size:12px;color:var(--mute);margin-top:5px;line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vdr-card-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:var(--mute-2);font-weight:500}
.vdr-card-meta b{color:var(--ink-2);font-weight:700}
.vdr-card-foot{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line-2)}
.vdr-pill{font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:2px 7px;border-radius:4px;flex:none}
.vdr-pill.dg{background:var(--gold-soft);color:#8A5A05;border:1px solid rgba(232,182,46,.35);font-size:8.5px;padding:1.5px 6px}
.vdr-pill.deal{background:#E8EDF5;color:#5D6B80}
.vdr-pill.pub{background:var(--good-soft);color:#0B7A3C}
.vdr-pill.draft{background:#EDF0F5;color:var(--mute)}
.vdr-loading{padding:40px;text-align:center;color:var(--mute-2);font-size:13px}
.vdr-foot{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:12px;color:var(--mute);
  background:#F6F8FB;border:1px solid var(--line-2);border-radius:10px;padding:11px 14px}
.vdr-foot svg{width:15px;height:15px;flex:none;color:var(--mute-2);stroke-width:2}

/* ── buttons (prototype .btn) ───────────────────────────────────────────── */
.vdr-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:9px;font-size:12.5px;font-weight:650;
  cursor:pointer;font-family:inherit;transition:.14s;border:1px solid var(--line);background:#fff;color:var(--ink-2);
  white-space:nowrap;text-decoration:none}
.vdr-btn:hover{background:#F6F8FB;border-color:#CBD4E1}
.vdr-btn svg{width:15px;height:15px;stroke-width:2}
.vdr-btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.vdr-btn.dark:hover{background:#1C2B47}

/* ── shell ──────────────────────────────────────────────────────────────── */
.vdr-shell{background:var(--card);border-radius:18px;box-shadow:var(--sh-lg);border:1px solid rgba(226,231,239,.9);
  display:grid;grid-template-columns:318px 1fr;min-height:720px;overflow:hidden}
.vdr-rail{border-right:1px solid var(--line);background:#FBFCFE;display:flex;flex-direction:column;min-width:0}

/* room picker card (prototype .roompick / .rp-btn) */
.vdr-roompick{padding:15px 14px;border-bottom:1px solid var(--line-2);position:relative}
.vdr-rp-btn{width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;background:#fff;border:1px solid var(--line);
  border-radius:11px;font-family:inherit;text-align:left;box-shadow:var(--sh-sm)}
.vdr-rp-ic{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--gold-soft)}
.vdr-rp-ic svg{width:17px;height:17px;color:#8A5A05;stroke-width:2}
.vdr-rp-tx{min-width:0;flex:1}
.vdr-rp-lb{display:block;font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--mute-2)}
.vdr-rp-nm{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;margin-top:2px;white-space:nowrap;overflow:hidden}
.vdr-rp-def{font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#E8EDF5;color:#5D6B80;padding:2px 5px;border-radius:4px;flex:none}

/* tree head */
.vdr-tree-head{padding:14px 16px 9px;display:flex;align-items:center;gap:9px}
.vdr-tree-head h3{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--mute-2)}
.vdr-tcount{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--mute-2);font-weight:500;margin-left:auto}
.vdr-gear{border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;width:28px;height:28px;
  display:grid;place-items:center;color:var(--mute);transition:.14s;flex:none}
.vdr-gear:hover{background:#F2F5FA;color:var(--ink)}
.vdr-gear svg{width:15px;height:15px;stroke-width:2}

/* tree (prototype .tree/.node/.nrow/.kids) */
.vdr-tree{flex:1;overflow-y:auto;padding:0 10px 18px}
.vdr-tree::-webkit-scrollbar{width:9px}
.vdr-tree::-webkit-scrollbar-thumb{background:#DCE2EB;border-radius:9px;border:3px solid #FBFCFE}
.vdr-node{position:relative}
.vdr-nrow{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;cursor:pointer;transition:.12s;position:relative;user-select:none}
.vdr-nrow:hover{background:#F1F5FA}
.vdr-nrow.sel{background:var(--gold-soft)}
.vdr-nrow.sel .vdr-nname{color:#7A4E05;font-weight:700}
.vdr-nrow.sel::before{content:'';position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:19px;background:var(--gold);border-radius:0 3px 3px 0}
.vdr-caret{width:15px;height:15px;flex:none;display:grid;place-items:center;color:var(--mute-2);transition:transform .18s;background:none;border:0;cursor:pointer;padding:0}
.vdr-caret svg{width:10px;height:10px;stroke-width:2.6}
.vdr-caret.open{transform:rotate(90deg)}
.vdr-caret.leaf{visibility:hidden}
.vdr-nicon{width:26px;height:26px;flex:none;display:grid;place-items:center}
.vdr-nicon svg{width:23px;height:23px}
.vdr-nname{font-size:13.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vdr-nmeta{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--mute-2);font-weight:500;flex:none}
.vdr-nrow.empty-f .vdr-nicon{opacity:.38}
.vdr-nrow.empty-f .vdr-nname{color:var(--mute-2);font-weight:500}
/* ow111d-1bhu — PROFESSIONAL POLISH. Every empty folder previously shouted an "EMPTY" pill, so a
   fresh room read as a wall of badges rather than a tidy index. A data room a client sees should look
   finished, not instrumented. The empty state is now conveyed QUIETLY — dimmed icon + muted label
   (above) — and the pill is reduced to a faint count-style marker shown only on hover, so the
   information is available without dominating the rail at rest. */
.vdr-tag-empty{font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mute-2);background:transparent;border:1px solid transparent;padding:1.5px 5px;
  border-radius:4px;flex:none;margin-left:auto;opacity:0;transition:opacity .12s}
.vdr-nrow:hover .vdr-tag-empty{opacity:.55;background:#EDF0F5;border-color:var(--line)}
.vdr-lock-ic{width:13px;height:13px;color:var(--mute-2);flex:none;margin-left:auto}
.vdr-lock-ic svg{width:13px;height:13px}
.vdr-kids{position:relative;margin-left:19px;padding-left:14px;overflow:hidden}
.vdr-kids::before{content:'';position:absolute;left:0;top:0;bottom:11px;width:1.5px;background:linear-gradient(180deg,var(--line) 0%,var(--line) 82%,transparent 100%)}
.vdr-kids>.vdr-node>.vdr-nrow::before{content:'';position:absolute;left:-14px;top:50%;width:11px;height:1.5px;background:var(--line)}
.vdr-kids>.vdr-node>.vdr-nrow.sel::before{left:-14px;width:11px;height:1.5px;background:var(--gold);border-radius:0;transform:translateY(-50%)}

/* ── main pane (prototype .main/.mhead/.tools) ──────────────────────────── */
.vdr-main{display:flex;flex-direction:column;min-width:0;background:var(--card)}
.vdr-mhead{padding:22px 28px 0;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.vdr-mt{min-width:0;flex:1}
.vdr-mpath{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--mute);font-weight:600;margin-bottom:7px;flex-wrap:wrap}
.vdr-mp{cursor:pointer;border-radius:5px;padding:1px 4px;transition:.12s;color:var(--mute)}
.vdr-mp:hover{background:#F1F5FA;color:var(--ink)}
.vdr-mchev{opacity:.45;font-size:10px}
.vdr-mcur{color:var(--ink);font-weight:700}
.vdr-mhead h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.028em;display:flex;align-items:center;gap:11px}
.vdr-hicon{width:29px;height:29px;flex:none}
.vdr-hicon svg{width:29px;height:29px}
.vdr-msub{font-size:12.5px;color:var(--mute);margin-top:6px;font-weight:500}
.vdr-acts{display:flex;gap:8px;flex-wrap:wrap}

.vdr-tools{margin:20px 28px 0;padding:11px 14px;background:#F7F9FC;border:1px solid var(--line-2);border-radius:12px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vdr-search{flex:1;min-width:200px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 11px}
.vdr-search svg{width:14px;height:14px;color:var(--mute-2);flex:none;stroke-width:2}
.vdr-search input{border:0;outline:0;font-family:inherit;font-size:12.5px;width:100%;background:transparent;color:var(--ink)}
.vdr-search input::placeholder{color:var(--mute-2)}
.vdr-scope{font-size:10.5px;font-weight:700;color:var(--mute-2);background:#EDF1F6;border:1px solid var(--line);padding:3px 8px;border-radius:5px;white-space:nowrap}
.vdr-legend{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--mute);font-weight:600}
.vdr-legend span{display:flex;align-items:center;gap:5px}
.vdr-legend svg{width:13px;height:13px;stroke-width:2;color:var(--mute-2)}

/* bulk bar (prototype .bulk) */
.vdr-bulk{margin:12px 28px 0;padding:10px 14px;background:var(--ink);border-radius:11px;display:flex;
  align-items:center;gap:10px;flex-wrap:wrap;box-shadow:var(--sh-pop)}
.vdr-bulk .bn{font-size:12.5px;font-weight:700;color:#fff}
.vdr-bsp{flex:1}
.vdr-bbtn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;font-size:11.5px;font-weight:650;
  cursor:pointer;font-family:inherit;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#E8EDF5;transition:.13s}
.vdr-bbtn:hover{background:rgba(255,255,255,.17);color:#fff}
.vdr-bbtn svg{width:13px;height:13px;stroke-width:2.1}
.vdr-bbtn.del{border-color:rgba(255,140,140,.35);color:#FFB4B4}
.vdr-bbtn.del:hover{background:rgba(214,69,69,.28);color:#fff}
.vdr-bbtn:disabled{opacity:.5;cursor:not-allowed}
.vdr-bclear{border:0;background:transparent;color:#9FB0C9;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:650;padding:6px 8px;border-radius:7px}
.vdr-bclear:hover{color:#fff;background:rgba(255,255,255,.08)}
.vdr-dlg-in{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;
  border-radius:8px;padding:6px 10px;font-size:12.5px;font-family:inherit;min-width:220px}
.vdr-dlg-in option{color:var(--ink)}

/* ── table (prototype) ──────────────────────────────────────────────────── */
.vdr-tablewrap{flex:1;overflow:auto;padding:6px 28px 26px}
.vdr-table{width:100%;border-collapse:collapse}
.vdr-table thead th{position:sticky;top:0;background:#fff;z-index:2;text-align:left;font-size:10.5px;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;color:var(--mute-2);padding:13px 10px 9px;border-bottom:1px solid var(--line);white-space:nowrap}
.vdr-table thead th.c{text-align:center}
.vdr-table tbody td{padding:11px 10px;border-bottom:1px solid var(--line-2);font-size:13px;vertical-align:middle}
.vdr-table tbody td.c{text-align:center}
.vdr-table tbody tr{transition:.12s}
.vdr-table tbody tr:hover{background:#FAFCFE}
.vdr-table tbody tr.folder{cursor:pointer}
.vdr-table tbody tr:last-child td{border-bottom:0}
.vdr-table tbody tr.is-empty .vdr-ficon{opacity:.42}
.vdr-table tbody tr.is-empty .vdr-nm .t{color:var(--mute)}
.vdr-table tbody tr.picked{background:#FFFAF0}
.vdr-table tbody tr.picked:hover{background:#FFF6E4}
.vdr-cbx{width:17px;height:17px;border:1.8px solid #C6CEDA;border-radius:5px;cursor:pointer;display:grid;place-items:center;
  background:#fff;transition:.13s;flex:none}
.vdr-cbx:hover{border-color:var(--gold)}
.vdr-cbx.on{background:var(--gold);border-color:var(--gold)}
.vdr-cbx svg{width:11px;height:11px;color:#3B2600;opacity:0;stroke-width:3.2}
.vdr-cbx.on svg{opacity:1}
.vdr-idx{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--mute-2);font-weight:500;width:30px;text-align:center}
.vdr-namecell{display:flex;align-items:center;gap:13px;min-width:0}
.vdr-ficon{width:36px;height:36px;flex:none;display:grid;place-items:center}
.vdr-ficon svg{width:32px;height:32px}
.vdr-nm{min-width:0}
.vdr-nm .t{font-size:13.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}
.vdr-nm .s{font-size:11.5px;color:var(--mute-2);margin-top:2px;font-weight:500}
.vdr-nm .t .chev{color:var(--mute-2);font-size:11px}
.vdr-inpath{font-size:10.5px;color:var(--mute-2);font-weight:600;background:#F1F4F8;border:1px solid var(--line);padding:1.5px 6px;border-radius:4px}
.vdr-act{display:flex;align-items:center;gap:14px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--mute);font-weight:500}
.vdr-act span{display:flex;align-items:center;gap:5px}
.vdr-act svg{width:14px;height:14px;color:var(--mute-2);stroke-width:2}
.vdr-act .hot{color:var(--ink);font-weight:600}
.vdr-act .hot svg{color:var(--gold)}
.vdr-type{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;
  color:var(--mute);background:#F1F4F8;border:1px solid var(--line);padding:3px 7px;border-radius:5px;min-width:44px;text-align:center}
.vdr-type.dir{background:#FFF6E6;border-color:rgba(245,166,35,.35);color:#8A5A05}
.vdr-table tbody tr.is-empty .vdr-type.dir{background:#F1F4F8;border-color:var(--line);color:var(--mute-2)}
.vdr-upd{font-size:12px;color:var(--mute);font-weight:500;white-space:nowrap}
.vdr-dirdash{color:var(--mute-2);font-size:12px}

/* toggle switches (prototype .tg) */
.vdr-tgwrap{display:flex;align-items:center;justify-content:center}
.vdr-tg{position:relative;width:38px;height:22px;border-radius:99px;background:var(--off);cursor:pointer;transition:.2s;border:0;padding:0;flex:none}
.vdr-tg::after{content:'';position:absolute;top:2.5px;left:2.5px;width:17px;height:17px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(15,26,46,.3);transition:.2s}
.vdr-tg.on{background:var(--gold)}
.vdr-tg.on::after{transform:translateX(16px)}
.vdr-tg.on.dl{background:var(--good)}
.vdr-tg:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.vdr-tg[disabled]{opacity:.32;cursor:not-allowed}

/* row menu (prototype .rowmenu/.kebab/.kmenu) */
.vdr-rowmenu{position:relative}
.vdr-kebab{border:0;background:transparent;cursor:pointer;color:var(--mute-2);padding:5px;border-radius:7px;display:grid;place-items:center;transition:.12s}
.vdr-kebab:hover{background:#EEF2F7;color:var(--ink)}
.vdr-kebab svg{width:16px;height:16px}
.vdr-kmenu{position:absolute;right:0;top:calc(100% + 5px);z-index:50;min-width:184px;background:#fff;border:1px solid var(--line);
  border-radius:11px;box-shadow:var(--sh-pop);padding:5px}
.vdr-km-i{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--ink-2);transition:.12s}
.vdr-km-i:hover{background:#F2F5FA}
.vdr-km-i svg{width:15px;height:15px;color:var(--mute);flex:none;stroke-width:2}
.vdr-km-i.del{color:var(--red)}
.vdr-km-i.del svg{color:var(--red)}
.vdr-km-i.del:hover{background:var(--red-soft)}
.vdr-km-div{height:1px;background:var(--line-2);margin:4px 3px}

/* empty state (prototype .empty) */
.vdr-empty{padding:64px 20px;text-align:center}
.vdr-empty svg{width:52px;height:52px;color:#D7DEE8;margin-bottom:14px}
.vdr-empty h4{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--ink-2)}
.vdr-empty p{margin:0;font-size:12.5px;color:var(--mute)}

@media (max-width:980px){
  .vdr-shell{grid-template-columns:1fr}
  .vdr-rail{border-right:0;border-bottom:1px solid var(--line)}
}

/* ── ow111d-1bcf — deal header, tab strip, room picker menu, gear menu ─────
   Ported verbatim from the prototype (values copied, not approximated). */
.vdr-root .vdr-dealhead{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap;margin-bottom:18px}
.vdr-root .vdr-dealhead h1{font-size:27px;font-weight:800;letter-spacing:-.025em;margin:0}
.vdr-root .vdr-statusline{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}
.vdr-root .vdr-stat{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650;padding:4px 11px;border-radius:999px}
.vdr-root .vdr-stat.pub{background:var(--good-soft);color:#0B7A3C}
.vdr-root .vdr-stat.off{background:#EDF0F5;color:var(--mute)}
.vdr-root .vdr-stat .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.vdr-root .vdr-stat.pub .dot{box-shadow:0 0 0 3px rgba(18,161,80,.18)}
.vdr-root .vdr-offline-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;
  border-radius:8px;padding:5px 11px;font-size:12px;font-weight:650;cursor:pointer;color:var(--ink-2);font-family:inherit;transition:.14s}
.vdr-root .vdr-offline-btn:hover{background:#F6F8FB;border-color:#CBD4E1}
.vdr-root .vdr-offline-btn svg{width:13px;height:13px;stroke-width:2.1}
.vdr-root .vdr-novisit{font-size:11.5px;color:var(--mute-2);font-weight:500}

/* ow111d-1bhk — THE 1bh7 FIX COULD NEVER HAVE WORKED. Corrected here.
   `.vdr-dtabs + *` was written to flatten the top corners of the panel below the tabs, but
   `.vdr-dtabs` is the LAST CHILD of `.vdr-dealhead` — it has no next sibling, so the rule matched
   nothing. Two further reasons the strip stayed suspended: `.vdr-dealhead` keeps margin-bottom:18px,
   which IS the floating gap; and `--tabsfirst` overrode align-items to flex-start, so the strip sat
   at the TOP of the row while the taller title block extended well below it, leaving the strip's
   bottom edge stranded in mid-air.
   Now: the strip bottom-aligns within the header row (level with the status pills), the header's
   bottom margin is removed, and the panel below is reached with the GENERAL sibling combinator `~`,
   which crosses the conditional flash/error alerts that sit between the header and the panel. */
.vdr-root .vdr-dtabs{display:flex;gap:2px;background:#E4E9F1;padding:4px;border-radius:11px 11px 0 0;
  border:1px solid var(--line);border-bottom:none;flex-wrap:wrap;margin-bottom:-1px;position:relative;z-index:1}
/* ow111d-1bjo — stack: title/status row, then the tab strip beneath it. */
.vdr-root .vdr-dealhead--tabsfirst{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:0}
.vdr-root .vdr-dealhead--tabsfirst ~ .vdr-root > .vdr-solo,
.vdr-root .vdr-dealhead--tabsfirst ~ .vdr-solo{border-top-left-radius:0}
.vdr-root .vdr-dtab{padding:7px 15px;border-radius:8px;font-size:12.5px;font-weight:650;color:var(--mute);cursor:pointer;
  border:0;background:transparent;font-family:inherit;transition:.15s;display:flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none}
.vdr-root .vdr-dtab:hover{color:var(--ink)}
.vdr-root .vdr-dtab.on{background:#fff;color:var(--ink);box-shadow:var(--sh-sm)}
.vdr-root .vdr-dtab .cnt{font-size:10.5px;font-weight:700;background:#D5DCE7;padding:1px 6px;border-radius:99px;color:#5D6B80}
.vdr-root .vdr-dtab.on .cnt{background:var(--gold-soft);color:#8A5A05}
.vdr-root .vdr-dtab .live{font-size:9px;font-weight:800;letter-spacing:.08em;color:#fff;background:var(--good);padding:2px 6px;border-radius:4px}

/* room picker dropdown */
.vdr-root .vdr-rp-cv{width:15px;height:15px;color:var(--mute-2);flex:none;transition:transform .16s}
.vdr-root .vdr-rp-cv.open{transform:rotate(180deg)}
.vdr-root .vdr-rp-menu{position:absolute;left:14px;right:14px;top:calc(100% - 6px);z-index:46;background:#fff;
  border:1px solid var(--line);border-radius:13px;box-shadow:var(--sh-pop);padding:6px}
.vdr-root .vdr-rp-sec{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-2);padding:8px 10px 5px}
.vdr-root .vdr-rp-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer;transition:.12s}
.vdr-root .vdr-rp-item:hover{background:#F2F5FA}
.vdr-root .vdr-rp-item.sel{background:var(--gold-soft)}
.vdr-root .vdr-rp-item svg.rico{width:16px;height:16px;color:var(--mute);flex:none;stroke-width:2}
.vdr-root .vdr-rp-item.sel svg.rico{color:#8A5A05}
.vdr-root .vdr-rp-i-tx{min-width:0;flex:1}
.vdr-root .vdr-rp-i-nm{display:block;font-size:13px;font-weight:650;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vdr-root .vdr-rp-item.sel .vdr-rp-i-nm{color:#7A4E05;font-weight:700}
.vdr-root .vdr-rp-i-mt{display:block;font-size:11px;color:var(--mute-2);margin-top:1px;font-weight:500}
.vdr-root .vdr-rp-div{height:1px;background:var(--line-2);margin:6px 4px}
.vdr-root .vdr-rp-new{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer;transition:.12s}
.vdr-root .vdr-rp-new:hover{background:#F2F5FA}
.vdr-root .vdr-rp-new svg{width:16px;height:16px;color:var(--gold);stroke-width:2.2;flex:none}
.vdr-root .vdr-rp-new span{font-size:13px;font-weight:650;color:var(--ink-2)}

/* gear menu */
.vdr-root .vdr-gwrap{position:relative}
.vdr-root .vdr-gear.open{background:var(--gold-soft);border-color:rgba(245,166,35,.45);color:#8A5A05}
.vdr-root .vdr-gmenu{position:absolute;right:0;top:calc(100% + 7px);z-index:45;min-width:230px;background:#fff;border:1px solid var(--line);
  border-radius:13px;box-shadow:var(--sh-pop);padding:6px}
.vdr-root .vdr-gm-sec{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-2);padding:8px 10px 5px}
.vdr-root .vdr-gm-i{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;cursor:pointer;transition:.12s}
.vdr-root .vdr-gm-i:hover{background:#F2F5FA}
.vdr-root .vdr-gm-i svg{width:16px;height:16px;color:var(--mute);flex:none;stroke-width:1.95}
.vdr-root .vdr-gm-i .lbl{font-size:13px;font-weight:600;color:var(--ink-2)}
.vdr-root .vdr-gm-i .gm-c{margin-left:auto;font-size:11px;font-weight:700;color:var(--mute-2);font-family:'JetBrains Mono',monospace}

/* ── ow111d-1bch — Permissions matrix (prototype .pm/.chip, ported verbatim) ── */
.vdr-root .vdr-solo{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-lg);padding:22px 26px}
.vdr-root .vdr-ph{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.vdr-root .vdr-ph h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em}
.vdr-root .vdr-ph p{margin:6px 0 0;font-size:12.5px;color:var(--mute);line-height:1.55;max-width:560px}
.vdr-root .vdr-pmwrap{border:1px solid var(--line);border-radius:13px;overflow:auto}
.vdr-root .vdr-pm{width:100%;border-collapse:collapse;min-width:620px}
.vdr-root .vdr-pm th{background:#F7F9FC;text-align:center;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mute-2);padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.vdr-root .vdr-pm th.first{text-align:left;min-width:230px;position:sticky;left:0;background:#F7F9FC;z-index:2}
.vdr-root .vdr-pm td{padding:10px;border-bottom:1px solid var(--line-2);text-align:center}
.vdr-root .vdr-pm td.first{text-align:left;position:sticky;left:0;background:#fff;z-index:1}
.vdr-root .vdr-pm tr:last-child td{border-bottom:0}
.vdr-root .vdr-pm tr:hover td{background:#FAFCFE}
.vdr-root .vdr-pm tr:hover td.first{background:#FAFCFE}
.vdr-root .vdr-pfold{display:flex;align-items:center;gap:10px}
.vdr-root .vdr-pfold svg{width:22px;height:22px;flex:none}
.vdr-root .vdr-pfold .pfn{font-size:13px;font-weight:650}
.vdr-root .vdr-chip{width:26px;height:26px;border-radius:8px;border:1.6px solid var(--line);background:#fff;cursor:pointer;
  display:inline-grid;place-items:center;transition:.13s;padding:0}
.vdr-root .vdr-chip:hover{border-color:#CBD4E1}
.vdr-root .vdr-chip svg{width:14px;height:14px;stroke-width:2.4}
.vdr-root .vdr-chip.allow{background:var(--good-soft);border-color:rgba(18,161,80,.35);color:#0B7A3C}
.vdr-root .vdr-chip.deny{background:#F1F4F8;border-color:var(--line);color:#B4BECC}

/* ── ow111d-1bci — Our Live Scorecard pane (prototype .livecard, ported verbatim) ── */
.vdr-root .vdr-scwrap{display:grid;grid-template-columns:360px 1fr;gap:26px;align-items:start}
@media (max-width:900px){.vdr-root .vdr-scwrap{grid-template-columns:1fr}}
.vdr-root .vdr-livecard{background:linear-gradient(168deg,#FFFFFF 0%,#F4FAF6 100%);border:1px solid #D8E6DC;border-radius:18px;
  padding:22px 22px 18px;box-shadow:0 18px 40px -20px rgba(15,26,46,.3)}
.vdr-root .lc-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.vdr-root .lc-sh{width:34px;height:38px;flex:none}
.vdr-root .lc-tt{flex:1;min-width:0}
.vdr-root .lc-k{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#0B7A3C}
.vdr-root .lc-p{font-size:12px;color:var(--mute);font-weight:500;margin-top:3px}
.vdr-root .lc-p b{color:var(--ink-2);font-weight:700}
.vdr-root .lc-live{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(18,161,80,.4);background:rgba(18,161,80,.08);
  color:#0B7A3C;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:800;letter-spacing:.07em;flex:none}
.vdr-root .lc-live .d{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px rgba(18,161,80,.2)}
.vdr-root .lc-mid{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.vdr-root .vdr-ring{width:104px;height:104px;flex:none;position:relative}
.vdr-root .vdr-ring svg{transform:rotate(-90deg)}
.vdr-root .vdr-ring .gr{position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;
  font-size:38px;font-weight:500;color:#0B7A3C}
.vdr-root .lc-num{min-width:0}
.vdr-root .lc-score{font-family:Georgia,serif;font-size:46px;font-weight:400;line-height:1;letter-spacing:-.01em}
.vdr-root .lc-score .of{font-size:19px;color:var(--mute-2);font-family:'Plus Jakarta Sans',sans-serif;font-weight:600}
.vdr-root .lc-lb{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--mute-2);margin-top:6px}
.vdr-root .lc-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.vdr-root .vdr-ltag{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:5px 12px;font-size:11.5px;font-weight:600;color:var(--ink-2)}
.vdr-root .vdr-ltag b{font-weight:750;color:#0B7A3C}
.vdr-root .vdr-ltag.flat{color:var(--mute)}
.vdr-root .lc-hr{height:1px;background:#E3EAE5;margin:16px 0}
.vdr-root .lc-note{font-size:12.5px;color:var(--ink-2);line-height:1.55;font-weight:500}
.vdr-root .lc-note .amb{color:#8A5A05}
.vdr-root .lc-scan{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--mute);font-weight:500;margin-top:14px}
.vdr-root .lc-scan svg{width:14px;height:14px;color:var(--mute-2);stroke-width:2}
.vdr-root .lc-ind{font-size:11px;color:var(--mute-2);margin-top:5px;font-weight:500}
.vdr-root .lc-foot{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid #E3EAE5}
.vdr-root .lc-foot .pb{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--mute-2);line-height:1.35;text-align:right}
.vdr-root .lc-foot .pb b{display:block;font-size:13.5px;letter-spacing:.02em;color:var(--ink-2);font-weight:800}
.vdr-root .lc-foot svg{width:26px;height:29px}
.vdr-root .vdr-scnote{background:#FBFCFE;border:1px solid var(--line);border-radius:13px;padding:18px 20px}
.vdr-root .vdr-scnote h4{margin:0 0 8px;font-size:14px;font-weight:750}
.vdr-root .vdr-scnote p{margin:0 0 14px;font-size:12.5px;color:var(--mute);line-height:1.6;font-weight:500}
.vdr-root .vdr-brk{display:grid;gap:9px}
.vdr-root .vdr-brow{display:flex;align-items:center;gap:12px}
.vdr-root .vdr-brow .bl{font-size:12.5px;font-weight:600;color:var(--ink-2);width:150px;flex:none}
.vdr-root .vdr-brow .bb{flex:1;height:7px;background:#E8EDF3;border-radius:99px;overflow:hidden}
.vdr-root .vdr-brow .bb i{display:block;height:100%;border-radius:99px}
.vdr-root .vdr-brow .bv{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:600;color:var(--mute);width:34px;text-align:right;flex:none}

/* ── ow111d-1bcj — Overview pane + shared solo/alert (prototype .grid3/.mcard/.sect/.feed) ── */
.vdr-root .vdr-alert{border-radius:11px;padding:11px 15px;font-size:12.5px;font-weight:600;margin:14px 0}
.vdr-root .vdr-alert.ok{background:var(--good-soft);color:#0B7A3C;border:1px solid rgba(18,161,80,.3)}
.vdr-root .vdr-alert.err{background:var(--red-soft);color:#B42318;border:1px solid rgba(214,69,69,.3)}
.vdr-root .vdr-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin-bottom:24px}
.vdr-root .vdr-mcard{background:#FBFCFE;border:1px solid var(--line);border-radius:14px;padding:16px 17px}
.vdr-root .vdr-mcard .k{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-2)}
.vdr-root .vdr-mcard .v{font-size:27px;font-weight:800;letter-spacing:-.03em;margin-top:7px;line-height:1}
.vdr-root .vdr-mcard .d{font-size:11.5px;color:var(--mute);margin-top:6px;font-weight:500}
.vdr-root .vdr-mcard.accent{background:linear-gradient(160deg,#FFFBF3,#FFF6E6);border-color:rgba(245,166,35,.35)}
.vdr-root .vdr-mcard.accent .v{color:#8A5A05}
.vdr-root .vdr-sect{margin-bottom:26px}
.vdr-root .vdr-sect h3{margin:0 0 12px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-2)}
.vdr-root .vdr-feed{border:1px solid var(--line);border-radius:13px;overflow:hidden}
.vdr-root .vdr-fitem{display:flex;align-items:center;gap:13px;padding:12px 15px;border-bottom:1px solid var(--line-2)}
.vdr-root .vdr-fitem:last-child{border-bottom:0}
.vdr-root .vdr-fav{width:30px;height:30px;border-radius:8px;background:var(--gold-soft);color:#8A5A05;display:grid;place-items:center;flex:none;font-weight:800;font-size:14px}
.vdr-root .vdr-fitem .ft{flex:1;min-width:0}
.vdr-root .vdr-fitem .ft b{font-weight:700}
.vdr-root .vdr-fitem .ftx{font-size:12.5px;color:var(--ink-2);font-weight:500}
.vdr-root .vdr-fitem .fmt{font-size:11px;color:var(--mute-2);margin-top:2px;font-weight:500}
.vdr-root .vdr-fitem .fwhen{font-size:11.5px;color:var(--mute-2);font-weight:600;white-space:nowrap}

/* ── ow111d-1bcj — Members/Audit/Settings panes: retheme the retained dr- markup to the new
   look when it lives inside .vdr-root.vdr-solo, so we keep the working add-member/share/audit
   logic without a risky rewrite while matching the prototype's theme. ── */
.vdr-root .vdr-solo .dr-members-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.vdr-root .vdr-solo .dr-members-head h3{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em}
.vdr-root .vdr-solo .dr-d-desc{font-size:12.5px;color:var(--mute);line-height:1.55;margin:6px 0 0;max-width:640px}
.vdr-root .vdr-solo .dr-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:9px;font-size:12.5px;
  font-weight:650;cursor:pointer;font-family:inherit;border:1px solid var(--line);background:#fff;color:var(--ink-2);text-decoration:none}
.vdr-root .vdr-solo .dr-btn:hover{background:#F6F8FB;border-color:#CBD4E1}
.vdr-root .vdr-solo .dr-btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}
.vdr-root .vdr-solo .dr-btn--primary:hover{background:#1C2B47}
.vdr-root .vdr-solo .dr-btn--ghost{background:transparent}
.vdr-root .vdr-solo .dr-table{width:100%;border-collapse:collapse;font-size:13px}
.vdr-root .vdr-solo .dr-table thead th{text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--mute-2);padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.vdr-root .vdr-solo .dr-table tbody td{padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.vdr-root .vdr-solo .dr-table tbody tr:last-child td{border-bottom:0}
.vdr-root .vdr-solo .dr-table tbody tr:hover{background:#FAFCFE}
.vdr-root .vdr-solo .dr-pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:2px 8px;
  border-radius:999px;background:#EDF1F6;color:#5D6B80}
.vdr-root .vdr-solo .dr-pill--owner{background:var(--gold-soft);color:#8A5A05}
.vdr-root .vdr-solo .dr-pill--active,.vdr-root .vdr-solo .dr-pill--internal{background:var(--good-soft);color:#0B7A3C}
.vdr-root .vdr-solo .dr-link{color:#2C5FD0;font-weight:600;text-decoration:none;cursor:pointer;font-size:12.5px}
.vdr-root .vdr-solo .dr-link:hover{text-decoration:underline}
.vdr-root .vdr-solo .dr-link--danger{color:var(--red)}
.vdr-root .vdr-solo .dr-input,.vdr-root .vdr-solo .dr-textarea{width:100%;border:1px solid var(--line);border-radius:9px;
  padding:9px 12px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink)}
.vdr-root .vdr-solo .dr-input:focus,.vdr-root .vdr-solo .dr-textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.vdr-root .vdr-solo .dr-field{display:block;margin-bottom:14px}
.vdr-root .vdr-solo .dr-field-lbl{display:block;font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:5px}
.vdr-root .vdr-solo .dr-field-help{font-size:11.5px;color:var(--mute-2);margin-top:4px}
.vdr-root .vdr-solo .dr-check{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--ink-2);cursor:pointer}
.vdr-root .vdr-solo .dr-section-divider{margin:22px 0 14px;padding-top:18px;border-top:1px solid var(--line-2)}
.vdr-root .vdr-solo .dr-section-title{margin:0 0 4px;font-size:14px;font-weight:750}
.vdr-root .vdr-solo .dr-empty-inline{padding:30px 16px;text-align:center;color:var(--mute);font-size:13px}
.vdr-root .vdr-solo .dr-d-mono{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--mute)}

/* ow111d-1bcs — file name opens the document; keep it visually identical to the old plain text so
   the table doesn't turn into a wall of blue links, but make the affordance clear on hover. */
.vdr-root .vdr-fname { color: inherit; text-decoration: none; }
.vdr-root .vdr-fname:hover { color: #8A5A05; text-decoration: underline; }

/* ow111d-1bdh — download action beside the file name. Sits quiet at rest and only
   colours on hover, so it reads as an affordance on the row rather than competing
   with the file name. The .off state stays visible rather than being hidden: a
   reviewer needs to see that download exists and is withheld, not wonder whether
   the feature is there at all. */
.vdr-root .vdr-dl { display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 6px; flex: none; color: #94A1B5;
    text-decoration: none; transition: .14s; }
.vdr-root .vdr-dl svg { width: 14px; height: 14px; }
.vdr-root a.vdr-dl:hover { color: #8A5A05; background: #FFF7E8; }
.vdr-root .vdr-dl.off { color: #C7CFDC; cursor: not-allowed; }


/* ow111d-1bdy — tab strip leads, title/status follows. Order is set in the DOM so keyboard and
   screen-reader order match what is seen; this only handles wrapping and alignment. */
.vdr-root .vdr-dealhead--tabsfirst { flex-wrap: wrap; }  /* ow111d-1bhk: align-items/margin set above */
/* ow111d-1bjo — TITLE LEADS AGAIN. ow111d-1bdy had reordered these with CSS `order` so the tab strip
   came first and the room title/publish state were pushed below it and right-aligned. In practice that
   reads as a page with no heading: you land on a row of tabs and the name of the room you are in appears
   underneath them. Restored to natural document order — title and status first, tabs beneath. */
.vdr-root .vdr-dealhead--tabsfirst .vdr-titleblock { order: 1; text-align: left; }
.vdr-root .vdr-dealhead--tabsfirst .vdr-spacer { order: 2; }
.vdr-root .vdr-dealhead--tabsfirst .vdr-dtabs { order: 3; }
.vdr-root .vdr-dealhead--tabsfirst .vdr-titleblock .vdr-statusline { justify-content: flex-start; }
@media (max-width: 900px) {
    .vdr-root .vdr-dealhead--tabsfirst .vdr-titleblock { text-align: left; }
    .vdr-root .vdr-dealhead--tabsfirst .vdr-titleblock .vdr-statusline { justify-content: flex-start; }
}

/* ow111d-1bhm — P12: four classes referenced in markup with no rule. Each currently inherits and so
   looks merely unstyled rather than broken, which is precisely why they survived: the same failure
   mode as the invite modal, just with a milder symptom. Defined so the markup and the stylesheet
   agree, and so the drift guard has nothing left to report on these files. */
.vdr-root .dr-d-ua{font-size:11px;color:var(--mute-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;display:inline-block;vertical-align:bottom}
.vdr-root .dr-versions-row > td{background:#F7F9FC;border-top:0}
.vdr-root .vdr-gm-div{height:1px;background:var(--line-2);margin:4px 3px}
.vdr-root .vdr-when{font-size:11.5px;color:var(--mute-2);font-weight:500;white-space:nowrap}
