/* ============================================================
   Drive (#view-drive, dv-*) — the portal's file store.
   Markup and behaviour: static/drive.js · icons: static/drive_icons.js
   Responsive rules: static/responsive.css (Drive section) — sizes travel as
   custom properties on .dv-root (--dv-rail-w --dv-tile --dv-insp-w --dv-col-w --dv-prev-w).

   House rules: Lato, white cards on the grey stage, 1px hairlines, soft-blue
   selection (--dv-sel / --dv-sel-ring), red only on the + New plus tile, the
   page-head glyph, destructive hovers and a full quota meter. Motion you only
   notice if you look; prefers-reduced-motion turns it all off.
   ============================================================ */

/* ---------------------------------------------------------------- tokens */
.dv-root, .dv-menu, .dv-sheet, .dv-sheet-ovl, .dv-ql, .dv-ql-fly, .dv-toast, .dv-ghost, .dv-tray, .dv-selbar, .dv-marquee {
  --rstroke:#E4E6E7; --rfg1:#070916; --rfg2:#4F5158; --rfg3:#94969E; --rbrand:#FD0024; --rbrand-acc:#EB1414; --rlight-red:#FFF0F0;
  --rsh-sm:0 1px 3px rgba(7,9,22,.06); --rsh-md:0 4px 14px -4px rgba(7,9,22,.14),0 0 0 1px rgba(7,9,22,.04);
  --rsh-lg:0 24px 48px -12px rgba(15,23,42,.28),0 0 0 1px rgba(15,23,42,.06);
  --dv-meta:#6E717A;   /* meta text that must be read (4.9:1 on white); --rfg3 stays for decoration */
  --dv-sel:#EEF3FC; --dv-sel-ring:#5A9BE8; --dv-hover:#FAFAFB; --dv-well:#F5F5F6; --dv-line:#EDEEF0; --dv-glyph:#C3C7CD;
  --dv-ease:cubic-bezier(.2,.8,.2,1); --dv-spring:cubic-bezier(.2,.9,.3,1.12); --dv-t1:120ms; --dv-t2:180ms; --dv-t3:260ms;
  --dv-focus:0 0 0 1px var(--dv-sel-ring),0 0 0 4px rgba(90,155,232,.18);
  font-family:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
.dv-root { --dv-rail-w:232px; --dv-tile:184px; --dv-insp-w:320px; --dv-col-w:260px; --dv-prev-w:340px; --dv-top:64px; }
@media (max-width:1439px) { .dv-root { --dv-tile:168px; --dv-col-w:240px; --dv-prev-w:320px; } }
.dv-root *, .dv-root *::before, .dv-root *::after,
.dv-menu *, .dv-sheet *, .dv-ql *, .dv-tray *, .dv-selbar *, .dv-toast *, .dv-ghost * { box-sizing:border-box; }
.dv-root button, .dv-menu button, .dv-sheet button, .dv-ql button, .dv-tray button, .dv-selbar button, .dv-toast button,
.dv-root input, .dv-sheet input, .dv-root textarea, .dv-sheet textarea { font-family:inherit; }
.dv-root svg, .dv-menu svg, .dv-sheet svg, .dv-ql svg, .dv-tray svg, .dv-selbar svg, .dv-toast svg, .dv-ghost svg { display:block; margin:auto; flex:none; }
.dv-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.dv-dim { color:var(--rfg3); font-weight:400; }
.dv-noselect, .dv-noselect * { user-select:none !important; -webkit-user-select:none !important; }

/* ---------------------------------------------------------------- kit (v1.3)
   Pages without the admin SPA's Recruitment chrome — the consultant portal (body.dv-kit) and the
   proposals app's shadow root (.dv-root.dv-kit) — get a copy of the few rec-* rules Drive uses,
   plus the bits of Tailwind's preflight Drive leans on. :where() keeps the preflight part at zero
   specificity, and the whole block sits before Drive's own rules so every dv-* rule wins a tie. */
:where(.dv-kit) :where(button) { background:none; border:0; padding:0; margin:0; font:inherit; color:inherit; cursor:pointer; line-height:inherit; }
:where(.dv-kit) :where(h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, dl, dd) { margin:0; padding:0; }
:where(.dv-kit) :where(h1, h2, h3, h4, h5, h6) { font-size:inherit; font-weight:inherit; }
:where(.dv-kit) :where(ul, ol) { list-style:none; }
:where(.dv-kit) :where(a) { color:inherit; text-decoration:inherit; }
:where(.dv-kit) :where(svg, img, video) { display:block; vertical-align:middle; }
:where(.dv-kit) :where(img, video) { max-width:100%; height:auto; }
:where(.dv-kit) :where(input, textarea, select) { font:inherit; color:inherit; margin:0; }
:where(.dv-kit) .rec-tabs { display:inline-flex; gap:3px; background:#F5F5F5; border:1px solid var(--rstroke); padding:4px; border-radius:14px; }
:where(.dv-kit) .rec-tab { display:inline-flex; align-items:center; gap:7px; padding:8px 14px; font-weight:700; font-size:13.5px; color:var(--rfg3); background:none; border:none; border-radius:10px; cursor:pointer; white-space:nowrap; transition:color .15s, background .15s, box-shadow .15s; }
:where(.dv-kit) .rec-tab svg { width:15px; height:15px; flex:0 0 auto; opacity:.75; }
:where(.dv-kit) .rec-tab:hover { color:var(--rfg1); background:rgba(255,255,255,.65); }
:where(.dv-kit) .rec-tab.rec-on { color:var(--rfg1); background:#fff; box-shadow:0 1px 1px rgba(7,9,22,.05), 0 3px 10px rgba(7,9,22,.07); }
:where(.dv-kit) .rec-tab.rec-on svg { color:var(--rbrand); opacity:1; }
:where(.dv-kit) .rec-tab .n { font-size:11px; color:var(--rfg3); font-weight:800; background:rgba(7,9,22,.06); padding:1px 7px; border-radius:999px; }
:where(.dv-kit) .rec-chip { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; padding:8px 12px; border-radius:999px; border:1px solid var(--rstroke); background:#fff; color:var(--rfg2); cursor:pointer; }
:where(.dv-kit) .rec-chip.rec-on { background:var(--rfg1); color:#fff; border-color:var(--rfg1); }
:where(.dv-kit) .rec-btn { display:inline-flex; align-items:center; gap:7px; font-weight:700; font-size:13px; padding:9px 15px; border-radius:10px; border:1px solid transparent; cursor:pointer; white-space:nowrap; transition:all .15s; }
:where(.dv-kit) .rec-btn svg { width:15px; height:15px; }
:where(.dv-kit) .rec-btn:disabled { opacity:.5; cursor:default; }
:where(.dv-kit) .rec-btn1 { background:var(--rbrand); color:#fff; box-shadow:0 6px 16px rgba(253,0,36,.2); }
:where(.dv-kit) .rec-btn1:hover { background:var(--rbrand-acc); }
:where(.dv-kit) .rec-btn2 { background:#fff; color:var(--rfg1); border-color:var(--rstroke); }
:where(.dv-kit) .rec-btn2:hover { background:#F5F5F5; }
:where(.dv-kit) .rec-btnq { position:relative; width:36px; height:36px; border-radius:10px; border:1px solid transparent; background:none; color:var(--rfg3); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; flex:0 0 auto; transition:all .13s; }
:where(.dv-kit) .rec-btnq svg { width:17px; height:17px; }
:where(.dv-kit) .rec-btnq:hover { color:var(--rfg1); background:#F5F5F5; border-color:var(--rstroke); }
:where(.dv-kit) .rec-menu { position:fixed; z-index:300; background:#fff; border:1px solid var(--rstroke); border-radius:14px; box-shadow:0 18px 44px rgba(7,9,22,.18); padding:6px; display:none; min-width:176px; max-height:min(430px,70vh); overflow-y:auto; }
:where(.dv-kit) .rec-menu.show { display:block; animation:dv-kitpop .16s cubic-bezier(.2,.9,.3,1.2); }
@keyframes dv-kitpop { from { opacity:0; transform:translateY(-5px) scale(.97); } to { opacity:1; transform:none; } }
:where(.dv-kit) .stat-opt { display:flex; align-items:center; gap:10px; width:100%; padding:8px 11px; border:none; background:none; border-radius:9px; font-size:13px; font-weight:700; color:var(--rfg1); cursor:pointer; text-align:left; transition:background .1s; }
:where(.dv-kit) .stat-opt:hover { background:#F5F5F5; }
:where(.dv-kit) .rec-selbar { position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(24px); display:flex; align-items:center; gap:14px; background:#161718; color:#fff; padding:11px 14px 11px 18px; border-radius:14px; box-shadow:0 20px 48px rgba(7,9,22,.28),0 6px 16px rgba(7,9,22,.18); opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:60; }
:where(.dv-kit) .rec-selbar.rec-show { opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0); }
@media (prefers-reduced-motion: reduce) { :where(.dv-kit) .rec-menu.show { animation:none; } }

/* ---------------------------------------------------------------- root + page head */
.dv-root { padding:0 24px 30px; color:var(--rfg2); font-size:14px; }
.dv-root .dv-ph { padding:0 0 18px; gap:10px 12px; flex-wrap:nowrap; }
.dv-root .dv-ph .ph-title { flex:0 1 auto; min-width:0; }
/* Beta disclaimer (all staff, both the admin page and the consultant Files tab) */
.dv-beta { display:flex; align-items:center; gap:10px; margin:0 0 14px; padding:9px 12px; border:1px solid var(--dv-amber-line); border-radius:10px;
  background:var(--dv-amber-bg); color:var(--dv-amber-fg); font-size:13px; line-height:1.4; font-weight:600; }
.dv-beta svg { width:15px; height:15px; margin:0; flex:none; color:var(--dv-amber-glyph); }
.dv-beta-tag { flex:none; padding:1px 7px; border-radius:999px; background:var(--dv-amber-glyph); color:#fff; font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; line-height:16px; }
.dv-cp .dv-beta { margin:-6px 0 16px; }
@media (max-width:767px) { .dv-beta { align-items:flex-start; font-size:12.5px; } .dv-beta svg { margin-top:2px; } }
.dv-root .ph-mark svg { width:18px; height:18px; color:var(--rbrand); }
.dv-search { position:relative; display:flex; align-items:center; width:360px; max-width:40vw; height:36px; border-radius:10px; background:#fff;
  border:1px solid var(--rstroke); box-shadow:0 1px 2px rgba(7,9,22,.04); transition:box-shadow var(--dv-t1),border-color var(--dv-t1); }
.dv-search:focus-within { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-search-ic { width:34px; display:flex; align-items:center; justify-content:center; color:var(--rfg3); flex:none; }
.dv-search input { flex:1; min-width:0; height:100%; border:0; outline:0; background:none; font-size:13.5px; font-weight:600; color:var(--rfg1); padding:0 6px 0 0; }
.dv-search input::placeholder { color:var(--rfg3); font-weight:400; }
.dv-search input::-webkit-search-cancel-button { display:none; }
.dv-search-scope { display:inline-flex; align-items:center; gap:4px; height:24px; padding:0 6px 0 9px; margin-right:6px; border-radius:7px; border:0;
  background:var(--dv-sel); color:#2F6FC4; font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; flex:none; }
.dv-search-scope svg { width:11px; height:11px; margin:0; opacity:.7; }
.dv-search-scope:hover svg { opacity:1; }
.dv-search-scope[hidden] { display:none; }
/* [hidden] always wins over a class's display:flex / inline-flex (the scope chip, pills, chips, rows…) */
.dv-root [hidden], .dv-menu [hidden], .dv-sheet [hidden], .dv-ql [hidden], .dv-tray [hidden], .dv-selbar [hidden], [class*="dv-"][hidden] { display:none !important; }
.dv-kbd { flex:none; margin-right:8px; min-width:20px; height:20px; padding:0 5px; border-radius:6px; border:1px solid var(--rstroke); background:#FAFAFB;
  color:var(--dv-meta); font:700 11px/18px 'Lato',sans-serif; text-align:center; }
.dv-search:focus-within .dv-kbd { display:none; }
.dv-hbtn.dv-on { color:var(--rfg1); background:#fff; border-color:var(--rstroke); box-shadow:0 1px 2px rgba(7,9,22,.06); }

/* ---------------------------------------------------------------- frame */
.dv-frame { display:flex; align-items:flex-start; gap:20px; position:relative; }

/* ---------------------------------------------------------------- rail */
.dv-rail { width:var(--dv-rail-w); flex:0 0 var(--dv-rail-w); position:sticky; top:calc(var(--dv-top) + 12px); max-height:calc(100vh - var(--dv-top) - 24px);
  overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; transition:width 200ms var(--dv-ease),flex-basis 200ms var(--dv-ease),opacity 160ms; }
.dv-rail::-webkit-scrollbar { width:6px; }
.dv-rail::-webkit-scrollbar-thumb { background:rgba(7,9,22,.12); border-radius:3px; }
.dv-root.rail-closed .dv-rail { width:0; flex-basis:0; opacity:0; pointer-events:none; }
.dv-root.rail-closed .dv-frame { gap:0; }
.dv-rail-in { display:flex; flex-direction:column; gap:2px; padding:0 2px 12px; }
.dv-rail-min { position:absolute; right:2px; top:9px; width:22px; height:22px; border-radius:50%; border:1px solid var(--rstroke); background:#fff; color:var(--rfg3);
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:0; z-index:2; box-shadow:0 1px 2px rgba(7,9,22,.08); opacity:0; transition:opacity .15s,color .15s,transform .15s; }
.dv-rail:hover .dv-rail-min, .dv-rail-min:focus-visible { opacity:1; }
.dv-rail-min:hover { color:var(--rfg1); transform:scale(1.08); }
.dv-root.rail-closed .dv-rail-min { display:none; }
.dv-rail-scrim { display:none; }
@media (max-width:1023px) { .dv-root.rail-open .dv-rail-scrim { display:block; position:fixed; inset:0; z-index:61; background:rgba(7,9,22,.18); } .dv-rail-min { opacity:1; } }

.dv-new { display:flex; align-items:center; gap:10px; width:calc(100% - 26px); height:42px; padding:0 14px 0 9px; margin:0 0 14px; border-radius:12px; border:1px solid var(--rstroke);
  background:#fff; color:var(--rfg1); font-weight:800; font-size:14px; cursor:pointer; box-shadow:var(--rsh-sm); transition:box-shadow var(--dv-t1),transform var(--dv-t1); }
.dv-new:hover { box-shadow:0 6px 16px -6px rgba(7,9,22,.25); transform:translateY(-1px); }
.dv-new:active { transform:none; }
.dv-new:disabled { opacity:.5; cursor:default; transform:none; }
.dv-new:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-plus { width:24px; height:24px; border-radius:7px; background:var(--rbrand); color:#fff; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.dv-plus svg { stroke-width:3; }
.dv-rail-sec { display:flex; flex-direction:column; gap:1px; margin-bottom:12px; }
.dv-rail-h { margin:0 0 4px; padding:0 10px; font-size:10.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--dv-meta); line-height:18px; }
.dv-rrow { display:flex; align-items:center; gap:9px; width:100%; height:32px; padding:0 10px; border:0; border-radius:8px; background:none; color:var(--rfg2);
  font-size:13px; font-weight:700; text-align:left; cursor:pointer; position:relative; transition:background var(--dv-t1),color var(--dv-t1); }
.dv-rrow:hover { background:rgba(7,9,22,.045); color:var(--rfg1); }
.dv-rrow.dv-on, .dv-trow-w.dv-on .dv-trow { background:#fff; color:var(--rfg1); box-shadow:0 1px 2px rgba(7,9,22,.07),0 0 0 1px rgba(7,9,22,.04); }
.dv-rrow:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-rrow.dv-dropon, .dv-navchip.dv-dropon { background:var(--dv-sel); color:#1F4F92; box-shadow:inset 0 0 0 2px var(--dv-sel-ring); }
.dv-rrow.dv-spring { animation:dv-spring 280ms var(--dv-ease); }
.dv-rico { width:18px; height:18px; display:flex; align-items:center; justify-content:center; color:var(--rfg3); flex:none; }
.dv-rrow:hover .dv-rico, .dv-rrow.dv-on .dv-rico { color:var(--rfg1); }
.dv-rlabel { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-rlabel small { display:block; font-size:11.5px; font-weight:400; color:var(--rfg3); overflow:hidden; text-overflow:ellipsis; }
.dv-rrow.dv-rrow-2 { height:44px; }   /* a space: its name and the one line that says who sees it */
.dv-rrow-2 .dv-rlabel { line-height:1.25; }
.dv-rn { font-size:11.5px; color:var(--rfg3); font-weight:700; font-variant-numeric:tabular-nums; }
.dv-badge { min-width:18px; height:18px; padding:0 6px; border-radius:999px; background:var(--dv-sel-ring); color:#fff; font-size:10.5px; font-weight:800; line-height:18px; text-align:center; }
.dv-rlock { color:var(--rfg3); display:flex; }
.dv-rlock svg { width:11px; height:11px; }
.dv-trow-w { display:flex; align-items:center; padding-left:calc(var(--d, 0) * 14px); }
.dv-trow { flex:1; min-width:0; padding-left:4px; }
.dv-tdisc, .dv-tdisc-sp { width:18px; height:22px; flex:none; }
.dv-tdisc { border:0; background:none; color:var(--rfg3); cursor:pointer; border-radius:5px; display:inline-flex; align-items:center; justify-content:center; padding:0; transition:transform var(--dv-t2) var(--dv-ease),color var(--dv-t1); }
.dv-tdisc:hover { color:var(--rfg1); background:rgba(7,9,22,.05); }
.dv-tdisc.dv-open { transform:rotate(90deg); }
.dv-tload { padding:4px 0 4px calc(var(--d, 0) * 14px + 44px); color:var(--rfg3); font-size:12px; }
.dv-pins { border-radius:10px; transition:background var(--dv-t1),box-shadow var(--dv-t1); }
.dv-pins.dv-dropon { background:var(--dv-sel); box-shadow:inset 0 0 0 2px var(--dv-sel-ring); }
.dv-pin-hint { margin:0 6px; padding:9px 10px; border:1px dashed #D5D8DC; border-radius:9px; color:var(--rfg3); font-size:11.5px; text-align:center; }
.dv-rail-foot { margin-top:4px; padding:12px 10px 0; border-top:1px solid rgba(7,9,22,.07); }
.dv-quota { display:flex; flex-direction:column; gap:7px; }
.dv-q-bar { height:4px; border-radius:2px; background:rgba(7,9,22,.08); overflow:hidden; }
.dv-q-bar i { display:block; height:100%; border-radius:2px; background:var(--dv-sel-ring); transition:width 200ms linear; }
.dv-q-warn .dv-q-bar i { background:#B45309; }
.dv-q-full .dv-q-bar i { background:var(--rbrand); }
.dv-q-l { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:11.5px; color:var(--dv-meta); font-weight:700; font-variant-numeric:tabular-nums; }
.dv-gear { width:26px; height:26px; border:0; border-radius:7px; background:none; color:var(--rfg3); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.dv-gear:hover { background:rgba(7,9,22,.05); color:var(--rfg1); }

/* ---------------------------------------------------------------- main card + glass toolbar */
.dv-main { flex:1 1 auto; min-width:0; position:relative; background:#fff; border:1px solid var(--rstroke); border-radius:16px;
  box-shadow:0 1px 2px rgba(7,9,22,.04),0 12px 32px -24px rgba(7,9,22,.18); container-type:inline-size; container-name:dvmain;
  min-height:calc(100vh - var(--dv-top) - 150px); }
.dv-chips { display:none; }
#view-drive .dv-main > .dv-chips, .dv-main > .dv-chips { margin:0; padding:12px 12px 2px; border-radius:15px 15px 0 0; }
.rec-chip.dv-navchip { gap:6px; padding:7px 12px; }
.dv-navchip svg { width:14px; height:14px; }
.dv-navchip.rec-on svg { color:#fff; }
.dv-bar { position:sticky; top:var(--dv-top); z-index:5; height:52px; display:flex; align-items:center; gap:10px; padding:0 12px 0 14px;
  background:rgba(255,255,255,.72); -webkit-backdrop-filter:blur(18px) saturate(1.4); backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid var(--rstroke); border-radius:15px 15px 0 0; }
.dv-bar-sp { flex:1 1 auto; min-width:8px; }
.dv-railbtn { display:none; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; border:1px solid var(--rstroke); background:#fff;
  color:var(--rfg3); cursor:pointer; flex:none; padding:0; box-shadow:0 1px 2px rgba(7,9,22,.08); }
.dv-railbtn:hover { color:var(--rfg1); }
.dv-railbtn-m { display:none; }
.dv-root.rail-closed .dv-railbtn { display:inline-flex; }
@media (max-width:1023px) { .dv-railbtn { border-radius:9px; width:34px; height:34px; } .dv-railbtn-m { display:flex; } .dv-railbtn-c { display:none; } }
.dv-tools { display:flex; align-items:center; gap:8px; flex:none; }
.rec-tabs.dv-vtog { padding:3px; border-radius:11px; gap:2px; }
.dv-vtog .rec-tab { padding:6px 10px; border-radius:8px; }
.dv-vtog .rec-tab svg { width:15px; height:15px; }
.dv-vtog .rec-tab.rec-on svg { color:var(--rfg1); }
.rec-tabs.dv-seg-sm { padding:3px; border-radius:10px; gap:2px; }
.dv-seg-sm .rec-tab { padding:5px 10px; font-size:12.5px; border-radius:7px; }
.dv-sort { display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 10px 0 12px; border-radius:9px; border:1px solid transparent; background:none;
  color:var(--rfg2); font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; }
.dv-sort svg { width:13px; height:13px; color:var(--rfg3); }
.dv-sort-ic { display:none; }
@container dvmain (max-width:560px) { .dv-sort { padding:0 8px; } .dv-sort #dvSortL, .dv-sort .dv-sort-cv { display:none; } .dv-sort-ic { display:flex; } .dv-sort-ic svg { width:15px; height:15px; color:var(--rfg2); } .dv-bar { gap:6px; padding:0 8px 0 10px; } }
.dv-sort:hover, .dv-sort[aria-expanded="true"] { background:#F5F5F5; border-color:var(--rstroke); color:var(--rfg1); }
.dv-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 20px 0; }
.rec-chip.dv-fchip { gap:6px; padding:6px 11px; font-size:12.5px; }
.dv-fchip svg { width:12px; height:12px; }
.dv-fchip b { font-weight:800; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-fclear { margin-left:4px; }

/* ---------------------------------------------------------------- path bar */
.dv-path { display:flex; align-items:center; gap:0; min-width:0; flex:0 1 auto; overflow:hidden; white-space:nowrap; }
#view-drive .dv-main .dv-list, #view-drive .dv-main .dv-results, .dv-main .dv-list { overflow-x:clip; overflow-y:visible; }   /* a scroll container would break the sticky header */
.dv-path .dv-seg { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 9px; border-radius:8px; border:0; background:none; color:var(--rfg2);
  font-size:13px; font-weight:700; cursor:pointer; flex:0 0 auto; min-width:0; max-width:220px; white-space:nowrap; transition:background var(--dv-t1),color var(--dv-t1),box-shadow var(--dv-t1); }
.dv-path .dv-seg > span:last-child { overflow:hidden; text-overflow:ellipsis; }
.dv-path .dv-seg:hover { background:rgba(7,9,22,.05); color:var(--rfg1); }
.dv-path .dv-seg-last { color:var(--rfg1); font-weight:800; max-width:340px; }
.dv-path.dv-tight .dv-seg:not(.dv-seg-last):not(.dv-seg-more) { flex-shrink:1; min-width:36px; }
.dv-path.dv-tight .dv-seg-last { flex-shrink:.15; min-width:60px; }
.dv-path .dv-seg[hidden], .dv-path .dv-sep[hidden] { display:none; }
.dv-seg-ic { display:flex; color:var(--rfg3); }
.dv-seg-ic svg { width:14px; height:14px; }
.dv-seg-more { letter-spacing:.1em; flex:none !important; }
.dv-sep { display:inline-flex; align-items:center; justify-content:center; width:18px; height:24px; border:0; border-radius:6px; background:none; color:#B9BCC3; cursor:pointer; padding:0; flex:none; }
.dv-sep svg { width:12px; height:12px; }
button.dv-sep:hover { background:rgba(7,9,22,.05); color:var(--rfg1); }
.dv-sep[disabled] { cursor:default; }
.dv-sep-s { cursor:default; }
.dv-path .dv-seg.dv-dropon { background:var(--dv-sel); box-shadow:inset 0 0 0 2px var(--dv-sel-ring); color:var(--rfg1); }
.dv-path .dv-seg-sm, .dv-path .rec-tabs { margin-left:10px; flex:none; }
.dv-pill { display:inline-flex; align-items:center; gap:7px; height:28px; padding:0 4px 0 10px; border-radius:999px; background:var(--dv-sel); color:#2F6FC4; font-size:13px; font-weight:800; max-width:100%; }
.dv-pill span { overflow:hidden; text-overflow:ellipsis; }
.dv-pill-x { width:20px; height:20px; border-radius:50%; border:0; background:rgba(47,111,196,.12); color:#2F6FC4; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.dv-pill-x:hover { background:rgba(47,111,196,.22); }
.dv-rename-seg { height:28px; width:220px; }

/* ---------------------------------------------------------------- body */
.dv-body { position:relative; padding:14px 20px 40px; min-height:420px; outline:0; transition:opacity 160ms; }
.dv-body.dv-busy { opacity:.55; }
#dvViewToggle[hidden], #dvSort[hidden], .dv-root .rec-tabs[hidden] { display:none !important; }   /* .rec-tabs' display beats [hidden] */
.dv-root.dv-hassel .dv-body { padding-bottom:120px; }   /* the bar, the toast and the tray never cover the last row */
.dv-secw + .dv-secw { margin-top:20px; }
.dv-sec { margin:0 0 10px; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--dv-meta); line-height:18px; }
.dv-secw-bare .dv-sec { display:none; }
.dv-skel { padding-top:4px; display:grid; grid-template-columns:repeat(auto-fill,minmax(var(--dv-tile),1fr)); gap:16px; }
.dv-skel-h { grid-column:1/-1; height:12px; width:90px; border-radius:6px; background:#F1F2F4; }
.dv-skel-t i { display:block; aspect-ratio:4/3; border-radius:10px; background:#F4F5F6; }
.dv-skel-t b { display:block; height:10px; width:70%; margin:10px auto 6px; border-radius:5px; background:#F1F2F4; }
.dv-skel-t s { display:block; height:8px; width:36%; margin:0 auto; border-radius:4px; background:#F4F5F6; }

/* ---------------------------------------------------------------- icons view: folders */
.dv-folders { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; }
.dv-root[data-tile="small"] .dv-folders { grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }

.dv-ftile { position:relative; display:flex; align-items:center; gap:11px; height:52px; padding:0 8px 0 12px; border-radius:11px; background:var(--dv-well); cursor:default;
  outline:0; transition:background var(--dv-t1),box-shadow var(--dv-t1),transform 160ms var(--dv-ease),opacity 160ms; user-select:none; }
.dv-ftile:hover { background:#EEEFF1; }
.dv-fglyph { width:30px; display:flex; align-items:center; justify-content:center; flex:none; }
.dv-ftext { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.2; }
.dv-ftile .dv-name { font-size:13px; font-weight:700; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-fmeta { font-size:11.5px; color:var(--dv-meta); margin-top:2px; font-variant-numeric:tabular-nums; }
.dv-fstar { color:#E0A100; display:flex; }
.dv-fstar svg { width:12px; height:12px; }
.dv-more { width:28px; height:28px; border:0; border-radius:8px; background:none; color:var(--rfg3); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; opacity:0; flex:none; transition:opacity var(--dv-t1),background var(--dv-t1); }
.dv-ftile:hover .dv-more, .dv-ftile.dv-sel .dv-more, .dv-ftile.dv-focus .dv-more { opacity:1; }
.dv-more:hover { background:rgba(7,9,22,.07); color:var(--rfg1); }
.dv-ftile.dv-sel { background:var(--dv-sel); box-shadow:inset 0 0 0 2px var(--dv-sel-ring); }
.dv-ftile.dv-focus:focus-visible:not(.dv-sel) { box-shadow:inset 0 0 0 1px var(--dv-sel-ring),0 0 0 3px rgba(90,155,232,.18); }
.dv-ftile.dv-dropon { background:var(--dv-sel); box-shadow:inset 0 0 0 2px var(--dv-sel-ring); }
.dv-body.dv-dropon { box-shadow:inset 0 0 0 2px var(--dv-sel-ring); border-radius:0 0 14px 14px; }   /* releasing on empty ground = this folder */
.dv-ftile.dv-spring { animation:dv-spring 280ms var(--dv-ease); }

/* ---------------------------------------------------------------- icons view: tiles */
.dv-icons { display:grid; grid-template-columns:repeat(auto-fill,minmax(var(--dv-tile),1fr)); gap:18px 16px; }
.dv-root[data-tile="small"] .dv-icons { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }
.dv-root[data-tile="large"] .dv-icons { grid-template-columns:repeat(auto-fill,minmax(232px,1fr)); }
@container dvmain (max-width:640px) { .dv-icons, .dv-root[data-tile] .dv-icons { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:16px 12px; } .dv-folders { grid-template-columns:repeat(auto-fill,minmax(168px,1fr)); gap:8px; } }
@container dvmain (max-width:420px) { .dv-icons, .dv-root[data-tile] .dv-icons { grid-template-columns:repeat(2,minmax(0,1fr)); } .dv-folders, .dv-root[data-tile] .dv-folders { grid-template-columns:minmax(0,1fr); } .dv-ftile { min-width:0; } }
.dv-tile { position:relative; min-width:0; display:flex; flex-direction:column; align-items:stretch; outline:0; cursor:default; user-select:none;
  transition:transform 160ms var(--dv-ease),opacity 160ms; }
.dv-well { position:relative; aspect-ratio:4/3; border-radius:10px; background:var(--dv-well); box-shadow:inset 0 0 0 1px rgba(7,9,22,.045);
  display:flex; align-items:center; justify-content:center; overflow:hidden; transition:transform var(--dv-t1) var(--dv-ease),box-shadow var(--dv-t1) var(--dv-ease),background var(--dv-t1); }
.dv-tile:hover .dv-well { transform:translateY(-1px); box-shadow:inset 0 0 0 1px rgba(7,9,22,.05),var(--rsh-md); }
.dv-glyph { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.dv-glyph svg { filter:drop-shadow(0 1px 1.5px rgba(7,9,22,.08)); }
.dv-thumb { width:100%; height:100%; object-fit:cover; display:block; opacity:0; transition:opacity var(--dv-t1); }
.dv-thumb.dv-loaded { opacity:1; }
.dv-thumb.dv-portrait { object-fit:contain; }
.dv-thumb-page .dv-well { background:#EEF0F2; }
.dv-thumb-page .dv-thumb { object-fit:contain; padding:10px 18px 0; object-position:center top; filter:drop-shadow(0 1px 2px rgba(7,9,22,.14)); }
.dv-glyph-fb[hidden] { display:none !important; }
.dv-glyph-fb { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.dv-tname { margin-top:9px; padding:0 4px; text-align:center; display:flex; justify-content:center; }
.dv-tile .dv-name { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; font-weight:700; line-height:1.3; color:var(--rfg1);
  word-break:break-word; padding:1px 6px; border-radius:6px; max-width:100%; }
.dv-meta { margin-top:2px; font-size:11.5px; color:var(--dv-meta); text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.dv-bdgs { position:absolute; top:7px; right:7px; display:flex; gap:4px; }
.dv-bdg { width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 0 0 1px var(--rstroke),0 1px 2px rgba(7,9,22,.08); color:var(--rfg2); display:inline-flex; align-items:center; justify-content:center; }
.dv-bdg svg { width:10px; height:10px; stroke-width:2.4; }
.dv-bdg-star { color:#E0A100; }
.dv-newdot { position:absolute; top:8px; left:8px; width:8px; height:8px; border-radius:50%; background:var(--dv-sel-ring); box-shadow:0 0 0 2px #fff; }
.dv-newdot-f { position:static; margin-right:2px; flex:none; box-shadow:none; }
.dv-newdot-r { position:static; flex:none; box-shadow:none; }
.dv-tile.dv-sel .dv-well { background:var(--dv-sel); box-shadow:0 0 0 2px var(--dv-sel-ring); transform:none; }
.dv-tile.dv-sel .dv-name { background:var(--dv-sel); color:#1F4F92; }
.dv-tile.dv-focus:focus-visible:not(.dv-sel) .dv-well { box-shadow:var(--dv-focus); }
.dv-tile.dv-dropon .dv-well { background:var(--dv-sel); box-shadow:0 0 0 2px var(--dv-sel-ring); }
.dv-tile.dv-pending { pointer-events:none; }
.dv-tile.dv-pending .dv-glyph { opacity:.4; }   /* the glyph dims inside the ring, the ring runs around it */
.dv-tile.dv-pending .dv-tname, .dv-tile.dv-pending .dv-meta { opacity:.6; }
.dv-ringw { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.dv-ring-p { stroke:var(--dv-sel-ring); transition:stroke-dashoffset 200ms linear; }
.dv-pop .dv-well, .dv-pop.dv-ftile, .dv-pop.dv-row { animation:dv-pop 600ms var(--dv-ease); }
.dv-leaving { transform:scale(.96) !important; opacity:0 !important; transition:transform 160ms var(--dv-ease),opacity 160ms !important; }
.dv-dragging { opacity:.45; }
/* middle truncation for one-line names: the head ellipsises, the last 8 characters stay */
.dv-name.dv-mid { display:flex; min-width:0; }
.dv-mid .dv-mh { overflow:hidden; text-overflow:ellipsis; white-space:pre; min-width:0; }
.dv-mid .dv-mt { flex:none; white-space:pre; }
/* file-tile ⋯ and the touch selection mode (a long-press enters it) */
.dv-tmore { position:absolute; right:6px; bottom:6px; background:rgba(255,255,255,.92); box-shadow:0 0 0 1px var(--rstroke); display:none; }
.dv-tick { position:absolute; left:8px; top:8px; width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,.9); box-shadow:inset 0 0 0 1.5px #C9CCD1; color:#fff; display:none; align-items:center; justify-content:center; }
.dv-tick svg { stroke-width:3; opacity:0; }
.dv-selmode .dv-tick { display:flex; }
.dv-selmode .dv-tile.dv-sel .dv-tick { background:var(--dv-sel-ring); box-shadow:none; }
.dv-selmode .dv-tile.dv-sel .dv-tick svg { opacity:1; }
.dv-selmode .dv-ftile.dv-sel .dv-fglyph { position:relative; }
.dv-selmode .dv-ftile.dv-sel .dv-fglyph::after { content:""; position:absolute; right:-5px; bottom:-5px; width:14px; height:14px; border-radius:50%; background:var(--dv-sel-ring); box-shadow:0 0 0 2px #fff; }
.dv-selmode .dv-check { opacity:1; }
@media (pointer:coarse) {
  .dv-tmore { display:inline-flex; opacity:1; }
  .dv-ftile .dv-more { opacity:1; }
}
.dv-cut { opacity:.55; }
.dv-cut .dv-well { box-shadow:inset 0 0 0 1px rgba(7,9,22,.06),0 0 0 1px dashed; }
.dv-shake { animation:dv-shake 240ms var(--dv-ease); }

/* ---------------------------------------------------------------- list view */
.dv-list { --dv-cols:28px 36px minmax(0,1fr) 148px 160px 88px 96px; font-variant-numeric:tabular-nums; }
.dv-lhead, .dv-row { display:grid; grid-template-columns:var(--dv-cols); align-items:center; column-gap:8px; }
.dv-lhead { position:sticky; top:calc(var(--dv-top) + 52px); z-index:3; height:32px; margin:-4px -8px 4px; padding:0 8px; background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid var(--dv-line); }
.dv-hc { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--rfg3); display:flex; align-items:center; gap:5px; white-space:nowrap; min-width:0; overflow:hidden; }
.dv-hc[data-sort] { cursor:pointer; border-radius:6px; }
.dv-hc[data-sort]:hover { color:var(--rfg1); }
.dv-hc[data-sort]:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-hc-on { color:var(--rfg1); }
.dv-hc-ar { display:flex; }
.dv-hc-ar svg { width:10px; height:10px; stroke-width:2.6; }
.dv-hc.dv-c-size, .dv-c-size { justify-content:flex-end; text-align:right; }
.dv-lhead .dv-c-name { flex-direction:row; justify-content:flex-start; align-items:center; }
.dv-row { height:40px; margin:0 -8px; padding:0 8px; border-radius:9px; outline:0; cursor:default; user-select:none; position:relative;
  transition:background var(--dv-t1),opacity 160ms,transform 160ms var(--dv-ease); }
.dv-root[data-density="compact"] .dv-row { height:34px; }
.dv-row + .dv-row::before { content:""; position:absolute; left:44px; right:8px; top:0; height:1px; background:var(--dv-line); }
.dv-row:hover { background:var(--dv-hover); }
.dv-row:hover::before, .dv-row:hover + .dv-row::before, .dv-row.dv-sel::before, .dv-row.dv-sel + .dv-row::before { opacity:0; }
.dv-row.dv-sel { background:var(--dv-sel); }
.dv-row.dv-focus:focus-visible { box-shadow:inset 0 0 0 1px var(--dv-sel-ring); }
.dv-row.dv-dropon { background:var(--dv-sel); box-shadow:inset 0 0 0 2px var(--dv-sel-ring); }
.dv-c-chk, .dv-c-ic { display:flex; align-items:center; justify-content:center; }
.dv-check { width:16px; height:16px; border-radius:5px; border:1.5px solid #C9CCD1; background:#fff; display:inline-flex; align-items:center; justify-content:center; padding:0; color:#fff;
  opacity:0; transition:opacity var(--dv-t1),background var(--dv-t1),border-color var(--dv-t1); cursor:pointer; }
.dv-check svg { width:11px; height:11px; stroke-width:3; opacity:0; }
.dv-row:hover .dv-check, .dv-list:has(.dv-row.dv-sel) .dv-check, .dv-lhead:hover .dv-check, .dv-check.dv-on, .dv-check.dv-mixed { opacity:1; }
.dv-row.dv-sel .dv-check, .dv-check.dv-on { background:var(--dv-sel-ring); border-color:var(--dv-sel-ring); }
.dv-row.dv-sel .dv-check svg, .dv-check.dv-on svg { opacity:1; }
.dv-check.dv-mixed { background:var(--dv-sel-ring); border-color:var(--dv-sel-ring); }
.dv-check.dv-mixed svg { display:none; }
.dv-check.dv-mixed::after { content:""; width:8px; height:2px; border-radius:1px; background:#fff; }
.dv-rthumb { width:30px; height:30px; border-radius:6px; overflow:hidden; background:var(--dv-well); display:flex; box-shadow:inset 0 0 0 1px rgba(7,9,22,.06); }
.dv-rthumb .dv-thumb { object-fit:cover; }
.dv-c-name { min-width:0; display:flex; flex-direction:column; justify-content:center; }
.dv-rline { display:flex; align-items:center; gap:7px; min-width:0; }
.dv-row .dv-name { font-size:13px; font-weight:700; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.dv-rbdg { display:inline-flex; color:var(--rfg3); flex:none; }
.dv-rbdg svg { width:12px; height:12px; }
.dv-rbdg-star { color:#E0A100; }
.dv-c-mod { font-size:12.5px; color:var(--rfg2); display:flex; align-items:baseline; gap:6px; min-width:0; white-space:nowrap; overflow:hidden; }
.dv-c-mod i { font-style:normal; color:var(--rfg3); overflow:hidden; text-overflow:ellipsis; }
.dv-c-own { display:flex; align-items:center; gap:8px; min-width:0; font-size:12.5px; color:var(--rfg2); }
.dv-own-n { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-where-c { font-size:12.5px; color:var(--rfg2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-c-size { font-size:12.5px; color:var(--rfg2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:flex; }
.dv-c-act { display:flex; align-items:center; justify-content:flex-end; gap:0; }
.dv-ra { width:30px; height:30px; border:0; border-radius:8px; background:none; color:var(--rfg3); display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  opacity:0; transition:opacity var(--dv-t1),background var(--dv-t1),color var(--dv-t1); }
.dv-row:hover .dv-ra, .dv-row.dv-sel .dv-ra-more, .dv-row.dv-focus .dv-ra-more, .dv-ra:focus-visible { opacity:1; }
.dv-ra:hover { background:rgba(7,9,22,.06); color:var(--rfg1); }
.dv-ra:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-lsec { display:block; margin:14px 0 4px; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--rfg3); }
.dv-lsec:first-of-type { margin-top:4px; }
.dv-lmore { display:flex; justify-content:center; padding:18px 0 0; }
.dv-row-r { height:auto; min-height:52px; padding-top:7px; padding-bottom:7px; align-items:start; }
.dv-row-r .dv-c-ic { padding-top:3px; }
.dv-row-r .dv-c-mod, .dv-row-r .dv-c-own, .dv-row-r .dv-c-size, .dv-row-r .dv-c-act { padding-top:6px; }
.dv-where { display:block; font-size:11.5px; color:var(--rfg3); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-snip { display:block; font-size:12.5px; color:var(--rfg2); margin-top:4px; line-height:1.45; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.dv-snip mark { background:#FFF3C4; color:var(--rfg1); font-weight:700; border-radius:3px; padding:0 2px; }
.dv-intext { font-style:normal; font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#2F6FC4; background:var(--dv-sel); border-radius:5px; padding:1px 6px; margin-right:6px; }
.dv-res-n { margin:2px 0 10px; font-size:12px; color:var(--rfg3); font-weight:700; }
@container dvmain (max-width:900px) { .dv-list { --dv-cols:28px 36px minmax(0,1fr) 148px 0 84px 92px; } .dv-list .dv-c-own { visibility:hidden; overflow:hidden; } }
@container dvmain (max-width:700px) { .dv-list { --dv-cols:0 34px minmax(0,1fr) 0 0 78px 40px; } .dv-list .dv-c-mod, .dv-list .dv-c-own, .dv-list .dv-c-chk { visibility:hidden; overflow:hidden; } .dv-list .dv-ra:not(.dv-ra-more) { display:none; } .dv-list .dv-ra-more { opacity:1; } .dv-row + .dv-row::before { left:38px; } }

/* ---------------------------------------------------------------- columns view */
.dv-cols { display:flex; height:max(440px, calc(100vh - var(--dv-top) - 190px)); margin:-14px -20px -40px; border-radius:0 0 15px 15px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; }
.dv-col { width:var(--dv-col-w); flex:0 0 var(--dv-col-w); border-right:1px solid var(--dv-line); overflow-y:auto; padding:8px 6px; scroll-snap-align:start; scrollbar-width:thin; }
.dv-col-in { animation:dv-colin 180ms var(--dv-ease); }
.dv-crow { display:flex; align-items:center; gap:8px; height:30px; padding:0 6px 0 8px; border-radius:7px; margin:1px 0; outline:0; cursor:default; user-select:none; transition:background var(--dv-t1); }
.dv-crow:hover { background:var(--dv-hover); }
.dv-cic { width:22px; display:flex; justify-content:center; flex:none; }
.dv-crow .dv-name { flex:1; min-width:0; font-size:13px; font-weight:600; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-cchev { color:#B9BCC3; display:flex; }
.dv-cchev svg { width:12px; height:12px; }
.dv-cstar { color:#E0A100; display:flex; }
.dv-crow.dv-cpath { background:#EDEEF0; }
.dv-crow.dv-sel { background:var(--dv-sel); box-shadow:inset 0 0 0 1px rgba(90,155,232,.45); }
.dv-col-act .dv-crow.dv-sel { background:var(--dv-sel); box-shadow:inset 0 0 0 1px rgba(90,155,232,.55); }   /* soft blue, never a solid fill */
.dv-col-act .dv-crow.dv-sel .dv-name { color:var(--rfg1); }
.dv-col-act .dv-crow.dv-sel .dv-cchev { color:#1F4F92; }
.dv-crow.dv-focus:focus-visible { box-shadow:inset 0 0 0 1px var(--dv-sel-ring); }
.dv-crow.dv-dropon { background:var(--dv-sel); box-shadow:inset 0 0 0 2px var(--dv-sel-ring); }
.dv-col-wait, .dv-col-empty { padding:14px 10px; color:var(--rfg3); font-size:12.5px; }
.dv-colprev { width:var(--dv-prev-w); flex:0 0 var(--dv-prev-w); padding:22px 22px 26px; overflow-y:auto; display:flex; flex-direction:column; align-items:center; text-align:center; }
.dv-cp-thumb { width:100%; max-width:300px; height:220px; border-radius:12px; background:var(--dv-well); display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(7,9,22,.05); }
.dv-cp-thumb .dv-thumb { object-fit:contain; }
.dv-cp-name { margin:16px 0 2px; font-size:15px; font-weight:800; color:var(--rfg1); word-break:break-word; }
.dv-cp-kind { margin:0 0 14px; font-size:12.5px; color:var(--rfg3); }
.dv-colprev .dv-facts { width:100%; text-align:left; }
.dv-cp-btns { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:16px; max-width:100%; }
.dv-root.insp-open .dv-colprev .dv-facts { display:none; }   /* the inspector already shows them */
.dv-colprev { min-width:0; }
.dv-cp-btns .rec-btn { padding:8px 13px; }

/* ---------------------------------------------------------------- empty states */
.dv-empty { max-width:380px; margin:64px auto 40px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.dv-empty-art { width:88px; height:88px; padding:16px; border-radius:26px; background:var(--dv-well); color:var(--dv-glyph); margin-bottom:16px; box-shadow:inset 0 0 0 1px rgba(7,9,22,.04); }
.dv-empty-art .dv-acc { stroke:var(--dv-sel-ring); }
.dv-empty h3 { margin:0; font-size:15px; font-weight:800; color:var(--rfg1); }
.dv-empty p { margin:6px 0 0; font-size:13px; line-height:1.5; color:var(--rfg3); }
.dv-empty p b { color:var(--rfg2); }
.dv-empty .rec-btn { margin-top:18px; }
.dv-empty .dv-empty-art { margin:0 auto 16px; }
.dv-in-empty .dv-empty-art { margin:0 auto 10px; }
.dv-banner { display:flex; align-items:center; gap:10px; margin:0 0 14px; padding:9px 10px 9px 14px; border-radius:11px; background:var(--dv-hover); border:1px solid var(--dv-line); font-size:12.5px; color:var(--rfg2); }
.dv-banner > span { flex:1; min-width:0; }
.dv-banner-ic { display:flex; color:var(--rfg3); flex:none !important; }
.dv-banner .rec-btn { padding:6px 11px; font-size:12.5px; }
.dv-banner .rec-btn:hover { color:#D70022; background:var(--rlight-red); border-color:#F6C9CD; }
.dv-k { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 5px; border-radius:6px; background:#fff;
  border:1px solid var(--rstroke); border-bottom-width:2px; font:800 11px/1 'Lato',sans-serif; color:var(--rfg2); font-style:normal; }
.dv-is-demo .dv-rail-in > :not(.dv-new) { opacity:.45; pointer-events:none; }

/* ---------------------------------------------------------------- drop veil + marquee */
.dv-drop { position:absolute; inset:8px; z-index:6; border-radius:16px; border:2px dashed var(--dv-sel-ring); background:rgba(90,155,232,.06); display:flex; align-items:flex-start; justify-content:center;
  padding-top:min(22vh,180px); pointer-events:none; animation:dv-fade 120ms ease-out; }
.dv-drop[hidden] { display:none; }
.dv-drop.dv-drop-tgt { border-style:solid; border-color:rgba(90,155,232,.35); background:rgba(90,155,232,.03); }
.dv-drop-l { position:sticky; top:calc(var(--dv-top) + 80px); display:flex; align-items:center; gap:10px; padding:11px 18px 11px 14px; border-radius:14px; background:#fff; box-shadow:var(--rsh-lg);
  font-size:13.5px; color:var(--rfg2); max-width:80%; }
.dv-drop-l b { color:var(--rfg1); font-weight:800; }
.dv-drop-ic { width:32px; height:32px; border-radius:10px; background:var(--dv-sel); color:var(--dv-sel-ring); display:flex; align-items:center; justify-content:center; flex:none; }
.dv-marquee { position:fixed; z-index:50; border:1px solid var(--dv-sel-ring); background:rgba(90,155,232,.10); pointer-events:none; }

/* ---------------------------------------------------------------- inspector */
.dv-insp { width:var(--dv-insp-w); flex:0 0 var(--dv-insp-w); position:sticky; top:calc(var(--dv-top) + 12px); max-height:calc(100vh - var(--dv-top) - 24px); overflow-y:auto;
  background:#fff; border:1px solid var(--rstroke); border-radius:16px; padding:14px 16px 20px; box-shadow:0 1px 2px rgba(7,9,22,.04),0 12px 32px -24px rgba(7,9,22,.18);
  animation:dv-inspin 180ms var(--dv-ease); scrollbar-width:thin; }
.dv-insp[hidden] { display:none; }
.rec-btnq.dv-in-x { position:absolute; top:10px; right:10px; width:30px; height:30px; }
.rec-tabs.dv-in-tabs { display:flex; width:calc(100% - 36px); margin-bottom:16px; }
.dv-in-tabs .rec-tab { flex:1; justify-content:center; padding:6px 8px; font-size:12.5px; }
.dv-in-tabs .n, .dv-in-tabs .rec-tab.rec-on .n { font-size:10.5px; padding:0 6px; color:var(--rfg2); background:rgba(7,9,22,.07); }
.dv-in-body { position:relative; }
.dv-in-prev { width:100%; height:180px; border-radius:12px; background:var(--dv-well); display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(7,9,22,.05); }
.dv-in-prev .dv-thumb { object-fit:cover; }
.dv-in-prev-page { background:#EEF0F2; }
.dv-in-prev-page .dv-thumb { object-fit:contain; padding:12px 12px 0; object-position:center top; filter:drop-shadow(0 1px 2px rgba(7,9,22,.14)); }
.dv-in-prev-link { flex-direction:column; gap:12px; background:linear-gradient(180deg,#FAFAFB,#F3F4F6); }
.dv-in-prev-link span { font-size:12px; color:var(--rfg3); font-weight:700; }
.dv-in-name { margin:14px 0 2px; font-size:15px; font-weight:800; color:var(--rfg1); line-height:1.3; word-break:break-word; }
.dv-in-type { margin:0; font-size:12.5px; color:var(--rfg3); }
.dv-in-btns { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 4px; }
.dv-in-btns .rec-btn { padding:7px 11px; font-size:12.5px; gap:6px; }
.dv-in-btns .rec-btn svg { width:14px; height:14px; }
.dv-facts { display:grid; grid-template-columns:86px minmax(0,1fr); gap:9px 10px; margin:16px 0 0; font-size:13px; }
.dv-facts dt { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--rfg3); padding-top:2px; }
.dv-facts dd { margin:0; color:var(--rfg1); min-width:0; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.dv-dd-p { display:flex; align-items:center; gap:7px; }
.dv-in-crumbs { display:block; line-height:1.55; }
.dv-in-crumb { display:inline; border:0; background:none; padding:0; font:inherit; font-size:13px; color:var(--rfg1); cursor:pointer; text-align:left; }
.dv-in-crumb:hover { color:#2F6FC4; text-decoration:underline; text-underline-offset:2px; }
.dv-in-csep { color:var(--rfg3); margin-right:2px; }
.dv-in-a { border:0; background:none; padding:0; color:#2F6FC4; font-weight:700; font-size:12.5px; cursor:pointer; text-decoration:none; }
.dv-in-a:hover { text-decoration:underline; text-underline-offset:2px; }
.dv-in-linkon { display:inline-flex; align-items:center; gap:5px; color:#2F6FC4; font-weight:700; }
.dv-in-linkon svg { width:13px; height:13px; margin:0; }
.dv-chip-rec { display:inline-flex; align-items:center; gap:5px; border:1px solid var(--rstroke); background:#fff; border-radius:999px; padding:3px 10px 3px 8px; font-size:12px; font-weight:800; color:var(--rfg1); cursor:pointer; }
.dv-chip-rec svg { width:13px; height:13px; margin:0; color:var(--rfg3); }
.dv-in-sec { margin-top:18px; padding-top:16px; border-top:1px solid var(--dv-line); }
.dv-in-sec h5 { margin:0 0 9px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--rfg3); }
.dv-in-faces { display:flex; padding-left:6px; }
.dv-in-faces .dv-av { margin-left:-6px; box-shadow:0 0 0 2px #fff; }
.dv-in-who { margin:8px 0 6px; font-size:12.5px; color:var(--rfg2); display:flex; align-items:center; gap:5px; }
.dv-in-who svg { width:12px; height:12px; margin:0; color:var(--rfg3); }
.dv-in-desc { position:relative; }
.dv-in-desc textarea { width:100%; min-height:62px; resize:none; border:1px solid var(--rstroke); border-radius:10px; padding:8px 10px 18px; font-size:13px; line-height:1.45; color:var(--rfg1);
  outline:0; background:#fff; transition:border-color var(--dv-t1),box-shadow var(--dv-t1); }
.dv-in-desc textarea:focus { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-in-desc textarea[readonly] { background:var(--dv-hover); }
.dv-in-count { position:absolute; right:9px; bottom:6px; font-size:10.5px; color:var(--rfg3); opacity:0; transition:opacity var(--dv-t1); }
.dv-in-desc:focus-within .dv-in-count { opacity:1; }
.dv-in-empty { padding:28px 8px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.dv-in-empty .dv-empty-art { width:64px; height:64px; padding:12px; border-radius:20px; margin-bottom:10px; }
.dv-in-empty h4 { margin:0; font-size:14px; font-weight:800; color:var(--rfg1); }
.dv-in-empty p { margin:4px 0 0; font-size:12.5px; color:var(--rfg3); }
.dv-in-multi { padding:18px 4px; text-align:center; }
.dv-in-stack { position:relative; height:96px; display:flex; justify-content:center; align-items:center; }
.dv-in-stack span { position:absolute; transform:translateX(calc((var(--i) - 1) * 26px)) rotate(calc((var(--i) - 1) * 6deg)); filter:drop-shadow(0 4px 8px rgba(7,9,22,.12)); }
.dv-in-multi h4 { margin:14px 0 2px; font-size:15px; font-weight:800; color:var(--rfg1); }
.dv-in-multi p { margin:0; font-size:12.5px; color:var(--rfg3); }
.dv-in-multi .dv-in-btns { justify-content:center; }
.dv-acts { list-style:none; margin:0; padding:0; position:relative; }
.dv-acts::before { content:""; position:absolute; left:13px; top:8px; bottom:8px; width:1px; background:var(--dv-line); }
.dv-act { position:relative; display:flex; gap:10px; padding:7px 0; }
.dv-act-f { position:relative; flex:none; }
.dv-act-f .dv-av { box-shadow:0 0 0 3px #fff; }
.dv-act-i { position:absolute; right:-3px; bottom:-3px; width:15px; height:15px; border-radius:50%; background:#fff; box-shadow:0 0 0 1px var(--rstroke); color:var(--rfg2); display:flex; align-items:center; justify-content:center; }
.dv-act-b { min-width:0; }
.dv-act-b p { margin:2px 0 0; font-size:12.5px; line-height:1.45; color:var(--rfg2); overflow-wrap:anywhere; }
.dv-act-b p b { color:var(--rfg1); font-weight:700; }
.dv-act-b time { display:block; font-size:11.5px; color:var(--rfg3); margin-top:1px; }
.dv-act-more { display:block; margin:10px auto 0; }
.dv-av { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none; border-radius:50%; overflow:hidden; color:#fff; font-weight:800; letter-spacing:.02em; line-height:1; }
.dv-av img { width:100%; height:100%; object-fit:cover; display:block; }
.dv-av-more { width:26px; height:26px; font-size:10.5px; background:#EDEEF0 !important; color:var(--rfg2); }
.dv-av-ic { width:26px; height:26px; background:var(--dv-well) !important; color:var(--rfg2); box-shadow:inset 0 0 0 1px var(--rstroke); }

/* comments */
.dv-cms { display:flex; flex-direction:column; gap:10px; }
.dv-cmt { border:1px solid var(--dv-line); border-radius:12px; padding:10px 11px 8px; background:#fff; }
.dv-cmt.dv-resolved { background:var(--dv-hover); }
.dv-cmt.dv-resolved .dv-cm-t { color:var(--rfg3); }
.dv-cm-res { display:flex; align-items:center; gap:5px; font-size:11px; font-weight:800; color:#1F9D55; text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px; }
.dv-cm-res svg { width:12px; height:12px; margin:0; }
.dv-cm { display:flex; gap:9px; position:relative; }
.dv-cm-r { margin:8px 0 0 12px; padding-top:8px; border-top:1px solid var(--dv-line); }
.dv-cm-b { min-width:0; flex:1; }
.dv-cm-h { display:flex; align-items:baseline; gap:7px; font-size:12.5px; }
.dv-cm-h b { color:var(--rfg1); }
.dv-cm-h time { font-size:11.5px; color:var(--rfg3); }
.dv-cm-pg { font-size:10.5px; font-weight:800; color:var(--rfg2); background:var(--dv-well); border-radius:5px; padding:0 5px; }
.dv-cm-t { margin-top:3px; font-size:13px; line-height:1.5; color:var(--rfg1); overflow-wrap:anywhere; }
.dv-cm-t a { color:#2F6FC4; }
.dv-cm-del { position:absolute; top:-2px; right:-4px; width:24px; height:24px; border:0; border-radius:7px; background:none; color:var(--rfg3); cursor:pointer; opacity:0; display:inline-flex; align-items:center; justify-content:center; }
.dv-cm:hover .dv-cm-del { opacity:1; }
.dv-cm-del:hover { color:#D70022; background:var(--rlight-red); }
.dv-cm-acts { display:flex; gap:14px; margin:8px 0 0 35px; }
.dv-cm-in { margin-top:12px; border:1px solid var(--rstroke); border-radius:12px; background:#fff; transition:border-color var(--dv-t1),box-shadow var(--dv-t1); }
.dv-cm-in:focus-within { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-cm-in textarea { width:100%; border:0; outline:0; resize:none; padding:9px 11px 4px; font-size:13px; line-height:1.45; color:var(--rfg1); background:none; border-radius:12px; }
.dv-cm-bar { display:flex; align-items:center; justify-content:space-between; padding:4px 6px 6px 11px; }
.dv-cm-hint { color:var(--rfg3); display:flex; }
.dv-cm-hint svg { width:13px; height:13px; }
.dv-cm-post { padding:6px 12px; font-size:12.5px; }
.dv-cm-post:disabled { opacity:.45; cursor:default; }
.dv-cm-reply { margin:8px 0 0 12px; }

/* ---------------------------------------------------------------- menus (built as .rec-menu) */
.rec-menu.dv-menu { z-index:3100; min-width:220px; padding:6px; border-radius:14px; max-height:min(640px, calc(100vh - 16px)); }
.rec-menu.dv-over-sheet { z-index:3150; }   /* a popover opened from a sheet (share level, link expiry, versions ⋯) sits above it (2901) */
.dv-menu .dv-mi { min-height:34px; padding:0 10px; gap:10px; border-radius:9px; }
.dv-menu .dv-mi:disabled { opacity:.38; cursor:default; background:none; }
.dv-menu .dv-mi.dv-act:not(:disabled), .dv-menu .dv-mi:not(:disabled):hover { background:#F3F4F6; }
.dv-mi-ic { width:20px; height:20px; display:flex; align-items:center; justify-content:center; color:var(--rfg2); flex:none; }
.dv-mi-l { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:700; color:var(--rfg1); }
.dv-mi-l small { display:block; font-size:11.5px; font-weight:400; color:var(--rfg3); overflow:hidden; text-overflow:ellipsis; margin-top:1px; }
.dv-mi-l mark { background:none; color:var(--rfg1); font-weight:900; text-decoration:underline; text-decoration-color:rgba(90,155,232,.6); text-underline-offset:3px; text-decoration-thickness:2px; }
.dv-mi-k { margin-left:auto; padding-left:14px; font-size:11.5px; font-weight:400; color:var(--rfg3); white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-mi-chk { width:16px; display:flex; justify-content:center; color:var(--rfg1); margin-left:auto; flex:none; }
.dv-mi-chk + .dv-mi-k { margin-left:6px; padding-left:6px; }
.dv-mi-chev { color:var(--rfg3); display:flex; margin-left:auto; }
.dv-mi-chev svg { width:12px; height:12px; }
.dv-menu .dv-mi.dv-danger:not(:disabled):hover, .dv-menu .dv-mi.dv-danger.dv-act:not(:disabled) { background:var(--rlight-red); }
.dv-menu .dv-mi.dv-danger:not(:disabled):hover .dv-mi-l, .dv-menu .dv-mi.dv-danger:not(:disabled):hover .dv-mi-ic,
.dv-menu .dv-mi.dv-danger.dv-act:not(:disabled) .dv-mi-l, .dv-menu .dv-mi.dv-danger.dv-act:not(:disabled) .dv-mi-ic { color:#D70022; }
.dv-msep { height:1px; background:var(--rstroke); margin:5px 6px; }
.dv-mhead { padding:8px 10px 4px; font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--rfg3); max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-mhead svg { width:12px; height:12px; flex:none; }
.dv-mhead.dv-mhead-lock { display:flex; align-items:center; gap:7px; padding:8px 10px 6px; font-size:12px; font-weight:700; letter-spacing:0; text-transform:none; color:var(--rfg2); }
.dv-mhead.dv-mhead-lock span { overflow:hidden; text-overflow:ellipsis; }
.dv-mi-mixed { display:block; width:10px; height:2px; border-radius:1px; background:var(--rfg1); }
.dv-menu .dv-mi-k.dv-mi-k-dot { font-size:16px; font-weight:900; line-height:1; color:var(--rfg2); position:relative; top:-3px; }
/* an item's context menu on a phone: a bottom sheet (a sub-menu stacks over it as a second sheet) */
.rec-menu.dv-menu.dv-menu-sheet { left:0 !important; right:0 !important; top:auto !important; bottom:0; width:auto; min-width:0 !important; max-height:80vh; overflow-y:auto;
  border-radius:18px 18px 0 0; padding:14px 8px calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -16px 40px -12px rgba(15,23,42,.28),0 0 0 1px rgba(15,23,42,.06); }
.rec-menu.dv-menu.dv-menu-sheet::before { content:''; position:absolute; top:6px; left:50%; width:36px; height:4px; margin-left:-18px; border-radius:2px; background:#DADDE1; }
.rec-menu.dv-menu.dv-menu-sheet .dv-mi { min-height:44px; }
.rec-menu.dv-menu.dv-menu-sheet .dv-mi-k { display:none; }
.rec-menu.dv-menu.dv-menu-sheet2 { z-index:3120; max-height:70vh; }
.rec-menu.dv-menu.dv-menu-sheet:not(.dv-menu-sheet2) { box-shadow:0 0 0 100vmax rgba(7,9,22,.28),0 -16px 40px -12px rgba(15,23,42,.28); }
.dv-swatches { display:grid; grid-template-columns:repeat(5,24px); gap:9px; padding:8px 10px 10px; }
.dv-sw { width:24px; height:24px; border-radius:50%; border:0; padding:0; cursor:pointer; background:linear-gradient(180deg,var(--f) 0 55%,var(--b) 55% 100%);
  box-shadow:inset 0 0 0 1px rgba(7,9,22,.08); transition:transform var(--dv-t1); }
.dv-sw:hover { transform:scale(1.12); }
.dv-sw.dv-on { box-shadow:0 0 0 2px #fff,0 0 0 4px var(--rfg1); }
.dv-sw:focus-visible { outline:0; box-shadow:0 0 0 2px #fff,0 0 0 4px var(--dv-sel-ring); }
.dv-sugg { padding:6px; max-height:min(480px,70vh); }
.dv-sg .dv-mi-ic { width:26px; }
.dv-sg-none { padding:12px 12px 8px; font-size:12.5px; color:var(--rfg3); }
.dv-sg-all .dv-mi-ic { color:var(--rfg3); }
.dv-vpill { min-width:260px; }
.rec-menu.dv-mention { z-index:3200; min-width:240px; }
/* date popover (share expiry, search › Modified › Custom range) — a month grid, no native date input */
.rec-menu.dv-cal { width:272px; min-width:0; padding:10px 10px 8px; overflow:visible; max-height:none; outline:0; }
.dv-cal-h { display:flex; align-items:center; justify-content:space-between; gap:6px; margin:0 0 6px; }
.dv-cal-h b { font-size:13.5px; font-weight:800; color:var(--rfg1); }
.dv-cal-nav { width:30px; height:30px; border:0; border-radius:8px; background:none; color:var(--rfg2); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.dv-cal-nav:hover { background:#F3F4F6; color:var(--rfg1); }
.dv-cal-g { display:grid; grid-template-columns:repeat(7, 1fr); gap:2px; }
.dv-cal-wd { font-size:10.5px; font-weight:800; color:var(--dv-meta); text-align:center; line-height:24px; }
.dv-cal-d { height:32px; border:0; border-radius:9px; background:none; color:var(--rfg1); font:600 12.5px/1 'Lato',sans-serif; cursor:pointer; font-variant-numeric:tabular-nums; }
.dv-cal-d:hover:not(:disabled) { background:#F3F4F6; }
.dv-cal-d:disabled { color:#C9CBCF; cursor:default; }
.dv-cal-d.dv-today { box-shadow:inset 0 0 0 1px var(--rstroke); font-weight:800; }
.dv-cal-d.dv-in { background:var(--dv-sel); border-radius:4px; }
.dv-cal-d.dv-on { background:var(--dv-sel-ring); color:#fff; font-weight:800; }
.dv-cal-f { display:flex; align-items:center; gap:8px; margin-top:8px; padding-top:8px; border-top:1px solid var(--dv-line); }
.dv-cal-r { flex:1; min-width:0; font-size:11.5px; color:var(--dv-meta); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:right; }
.dv-cal-ok { padding:6px 12px; font-size:12.5px; }

/* ---------------------------------------------------------------- selection bar (= .rec-selbar) */
.rec-selbar.dv-selbar { left:var(--stage-cx,50%); bottom:26px; gap:10px; padding:8px 8px 8px 18px; z-index:2500; max-width:calc(100vw - 16px); }
.dv-selbar b { white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-sb-sep { width:1px; height:22px; background:rgba(255,255,255,.14); flex:none; }
.dv-sbacts { display:flex; align-items:center; gap:2px; }
.dv-sbtn { width:36px; height:36px; border:0; border-radius:10px; background:none; color:#E6E7E9; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background var(--dv-t1),color var(--dv-t1); }
.dv-sbtn:hover { background:rgba(255,255,255,.12); color:#fff; }
.dv-sbtn:focus-visible, .dv-sbtxt:focus-visible, .dv-sbclr:focus-visible { outline:0; box-shadow:0 0 0 2px rgba(90,155,232,.8); }
.dv-sbtn.dv-danger:hover { background:rgba(253,0,36,.22); color:#FF7A85; }
.dv-sbtxt { display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 12px; border:0; border-radius:10px; background:none; color:#E6E7E9; font-size:13px; font-weight:700; cursor:pointer; }
.dv-sbtxt svg { width:15px; height:15px; margin:0; }
.dv-sbtxt:hover { background:rgba(255,255,255,.12); color:#fff; }
.dv-sbtxt.dv-danger:hover { background:rgba(253,0,36,.22); color:#FF7A85; }
.dv-sbclr { width:32px; height:32px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#C9CBCF; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; margin-left:4px; }
.dv-sbclr:hover { background:rgba(255,255,255,.16); color:#fff; }

/* ---------------------------------------------------------------- toast */
.dv-toast { position:fixed; left:calc(var(--stage-l,0px) + 24px); bottom:22px; z-index:3300; max-width:min(560px,calc(100vw - 48px)); display:flex; align-items:center; gap:14px;
  padding:11px 12px 11px 16px; border-radius:12px; background:var(--rfg1); color:#fff; font-size:13px; line-height:1.4; box-shadow:var(--rsh-lg); animation:dv-toastin 150ms var(--dv-ease); }
/* with the selection bar up (bottom 26 + 52 high) the toast and the upload tray stack above it */
body.dv-has-selbar .dv-toast { bottom:92px; transition:bottom 180ms var(--dv-ease); }
.dv-toast.dv-toast-sheet { left:8px; right:8px; max-width:none; transition:none; }
body.dv-has-selbar .dv-tray { bottom:92px; max-height:min(420px, calc(100vh - 170px)); }
.dv-toast.dv-out { opacity:0; transform:translateY(6px); transition:opacity 180ms,transform 180ms; }
.dv-toast-m { flex:1; min-width:0; }
.dv-toast button { border:0; background:none; color:#fff; font-weight:800; font-size:13px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; padding:2px 4px; white-space:nowrap; border-radius:6px; }
.dv-toast button:hover { background:rgba(255,255,255,.1); }
.dv-toast-ic { color:#FFB36B; display:flex; }
.dv-toast-err { background:#1E1F24; }

/* ---------------------------------------------------------------- upload tray */
.dv-tray { position:fixed; right:24px; bottom:26px; z-index:2550; width:360px; max-height:420px; display:flex; flex-direction:column; border-radius:14px; background:#fff; box-shadow:var(--rsh-lg); overflow:hidden;
  animation:dv-trayin 220ms var(--dv-spring); }
.dv-tray-h { height:44px; flex:none; display:flex; align-items:center; gap:4px; padding:0 6px 0 16px; background:#161718; color:#fff; }
.dv-tray-t { flex:1; min-width:0; font-size:13px; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-tray-b { width:32px; height:32px; border:0; border-radius:9px; background:none; color:#C9CBCF; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.dv-tray-b:hover { background:rgba(255,255,255,.12); color:#fff; }
.dv-tray-bar { height:4px; flex:none; background:#EEF0F3; }
.dv-tray-bar i { display:block; height:100%; width:0; background:var(--dv-sel-ring); transition:width 200ms linear; border-radius:0 2px 2px 0; }
.dv-tray-body { flex:1; min-height:0; overflow-y:auto; }
.dv-tray.dv-collapsed .dv-tray-body, .dv-tray.dv-collapsed .dv-tray-f { display:none; }
.dv-tray.dv-collapsed .dv-tray-h { cursor:pointer; }
.dv-tray-list { padding:4px 0; }
.dv-up { position:relative; display:flex; align-items:center; gap:10px; min-height:40px; padding:6px 12px 6px 14px; }
.dv-up + .dv-up::before { content:""; position:absolute; left:44px; right:12px; top:0; height:1px; background:var(--dv-line); }
.dv-up-ic { width:22px; display:flex; justify-content:center; flex:none; color:var(--rfg3); }
.dv-up-n { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.dv-up-nm { font-size:12.5px; font-weight:700; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-up-n small { font-size:11.5px; color:var(--rfg3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-up-failed .dv-up-n small { color:#B42318; }
.dv-up-bar { height:3px; border-radius:2px; background:#EEF0F3; overflow:hidden; }
.dv-up-bar i { display:block; height:100%; background:var(--dv-sel-ring); border-radius:2px; transition:width 200ms linear; }
.dv-up-paused .dv-up-bar i { background:#B9BDC4; }
.dv-up-s { font-size:11.5px; color:var(--rfg3); white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-up-stw { min-width:44px; display:flex; justify-content:flex-end; }
.dv-up-pct { font-size:11.5px; font-weight:800; color:var(--rfg2); font-variant-numeric:tabular-nums; white-space:nowrap; }
.dv-up-ok { width:20px; height:20px; border-radius:50%; background:#E7F6EE; color:#1F9D55; display:flex; align-items:center; justify-content:center; }
.dv-up-ok svg { width:12px; height:12px; stroke-width:3; }
.dv-up-q { color:var(--rfg3); display:flex; }
.dv-up-bad { color:#B42318; display:flex; }
.dv-up-dim { font-size:11.5px; color:var(--rfg3); }
.dv-up-st { border:0; background:none; cursor:pointer; display:inline-flex; align-items:center; gap:4px; padding:3px 6px; border-radius:7px; color:var(--rfg2); font-size:11.5px; font-weight:800; }
.dv-up-st:hover { background:var(--dv-well); color:var(--rfg1); }
.dv-up-retry { color:#D70022; }
.dv-up-retry svg { width:12px; height:12px; margin:0; }
.dv-up-x { width:24px; height:24px; margin-left:-4px; flex:none; border:0; border-radius:50%; background:none; color:var(--rfg3); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; opacity:0; transition:opacity var(--dv-t1),background var(--dv-t1); }
.dv-up-x:hover { background:var(--dv-well); }
.dv-up:hover .dv-up-x, .dv-up-x:focus-visible { opacity:1; }
.dv-up-x:hover { color:var(--rfg1); }
.dv-up-conf { align-items:flex-start; background:#FFFBEB; padding-top:10px; padding-bottom:10px; }
.dv-up-conf .dv-up-ic { padding-top:2px; }
.dv-up-cw { flex:1; min-width:0; }
.dv-up-cq { font-size:12.5px; color:var(--rfg2); line-height:1.4; overflow-wrap:anywhere; }
.dv-up-cq b { color:var(--rfg1); }
.dv-up-cbtns { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:8px; }
.dv-up-btn { height:28px; padding:0 10px; border-radius:8px; border:1px solid var(--rstroke); background:#fff; color:var(--rfg1); font-size:12px; font-weight:800; cursor:pointer; }
.dv-up-btn:hover { background:#F5F5F5; }
.dv-up-btn1 { background:var(--rfg1); border-color:var(--rfg1); color:#fff; }
.dv-up-btn1:hover { background:#1E2030; }
.dv-up-all { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--rfg2); font-weight:700; margin-left:2px; cursor:pointer; }
.dv-up-all input { accent-color:var(--dv-sel-ring); margin:0; }
.dv-up-offer { background:var(--dv-sel); flex-wrap:wrap; }
.dv-up-offer .dv-up-n b { font-size:12.5px; color:var(--rfg1); }
.dv-up-offer .dv-up-btn { margin-left:0; }
.dv-tray-f { flex:none; display:flex; align-items:center; justify-content:space-between; gap:10px; height:38px; padding:0 14px; border-top:1px solid var(--dv-line); font-size:12px; }
.dv-tray-fail { color:#B42318; font-weight:700; margin-right:auto; }
.dv-up-link { border:0; background:none; color:#2F6FC4; font-weight:800; font-size:12px; cursor:pointer; padding:4px 2px; }
.dv-up-link:hover { text-decoration:underline; text-underline-offset:2px; }

/* ---------------------------------------------------------------- drag ghost */
.dv-ghost { position:fixed; left:0; top:0; z-index:4000; pointer-events:none; will-change:transform; }
.dv-gstack { position:relative; width:64px; height:64px; }
.dv-gtile { position:absolute; left:0; top:0; width:56px; height:56px; border-radius:12px; background:#fff; box-shadow:var(--rsh-lg); display:flex; align-items:center; justify-content:center; overflow:hidden;
  transform:translate(calc(var(--i) * 4px), calc(var(--i) * 4px)) rotate(calc(var(--i) * -3deg)); }
.dv-gtile:nth-child(1) { z-index:3; } .dv-gtile:nth-child(2) { z-index:2; } .dv-gtile:nth-child(3) { z-index:1; }
.dv-gtile img { width:100%; height:100%; object-fit:cover; }
.dv-gcount { position:absolute; left:46px; top:-8px; z-index:5; min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:var(--rbrand); color:#fff; font-size:11px; font-weight:800; line-height:20px; text-align:center; box-shadow:0 0 0 2px #fff; }
.dv-gcopy { position:absolute; left:-6px; top:-6px; z-index:5; width:20px; height:20px; border-radius:50%; background:#1F9D55; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 2px #fff; }
.dv-gcopy[hidden] { display:none; }
.dv-gcopy svg { stroke-width:3; }
.dv-gname { display:inline-block; margin-top:6px; max-width:200px; padding:3px 9px; border-radius:7px; background:rgba(7,9,22,.82); color:#fff; font-size:11.5px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---------------------------------------------------------------- quick look */
.dv-ql { position:fixed; z-index:2600; background:linear-gradient(rgba(22,23,28,.86) 0, rgba(22,23,28,.86) 56px, rgba(7,9,22,.6) 132px); -webkit-backdrop-filter:blur(10px) saturate(.15); backdrop-filter:blur(10px) saturate(.15);   /* a near-solid scrim over the page head + no colour: its red glyph never smears into a blob */
  border-radius:14px; opacity:0; transition:opacity var(--dv-t2); display:flex; align-items:center; justify-content:center; }
.dv-ql.dv-in { opacity:1; }
.dv-ql.dv-out { opacity:0; transition:opacity var(--dv-t2); }
.dv-ql-back { position:absolute; inset:0; }
.dv-ql-card { position:relative; z-index:1; width:min(92%,1280px); height:86%; background:#fff; border-radius:14px; box-shadow:0 40px 90px -20px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.06);
  display:flex; flex-direction:column; overflow:hidden; transform:scale(.96); opacity:0; transition:transform var(--dv-t3) cubic-bezier(.2,.9,.3,1.1),opacity var(--dv-t3),width var(--dv-t2) var(--dv-ease),height var(--dv-t2) var(--dv-ease); }
.dv-ql.dv-in .dv-ql-card { transform:none; opacity:1; }
.dv-ql.dv-out .dv-ql-card { transform:scale(.97); opacity:0; transition-duration:var(--dv-t2); }
.dv-ql.dv-ql-fill .dv-ql-card { width:100%; height:100%; border-radius:14px; }
.dv-ql-bar { height:48px; flex:none; display:flex; align-items:center; gap:4px; padding:0 8px 0 14px; border-bottom:1px solid var(--dv-line); background:#fff; }
.dv-ql-g { width:24px; display:flex; flex:none; }
.dv-ql-tt { min-width:0; display:flex; flex-direction:column; line-height:1.2; margin-left:6px; }
.dv-ql-tt b { font-size:13.5px; font-weight:800; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-ql-tt span { font-size:11.5px; color:var(--rfg3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-ql-sp { flex:1 1 auto; min-width:8px; }
.dv-ql-b { width:34px; height:34px; border:0; border-radius:9px; background:none; color:var(--rfg2); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; flex:none; transition:background var(--dv-t1),color var(--dv-t1); }
.dv-ql-b:hover { background:#F3F4F6; color:var(--rfg1); }
.dv-ql-b.dv-on { color:var(--rfg1); background:#F3F4F6; }
.dv-ql-b[data-q="star"].dv-on { color:#E0A100; }
.dv-ql-b[hidden] { display:none; }
.dv-ql-b:focus-visible, .dv-ql-nav:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-ql-div { width:1px; height:20px; background:var(--rstroke); margin:0 4px; }
.dv-ql-pillbtn { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px; margin-right:6px; border-radius:9px; border:1px solid var(--rstroke); background:#fff; color:var(--rfg1); font-size:12.5px; font-weight:800; cursor:pointer; white-space:nowrap; }
.dv-ql-pillbtn svg { width:14px; height:14px; margin:0; }
.dv-ql-pillbtn:hover { background:#F5F5F5; }
.dv-ql-main { flex:1; min-height:0; display:flex; }
.dv-ql-content { flex:1; min-width:0; position:relative; overflow:auto; outline:0; background:#F5F5F6; opacity:0; transition:opacity var(--dv-t2); }
.dv-ql-content.dv-ready { opacity:1; }
.dv-ql-content:has(.dv-ql-wait) { opacity:1; }
.dv-ql-info { width:320px; flex:none; border-left:1px solid var(--dv-line); overflow-y:auto; padding:16px 16px 20px; background:#fff; }
.dv-ql-info[hidden] { display:none; }
.dv-ql-foot { height:40px; flex:none; display:flex; align-items:center; gap:8px; padding:0 12px 0 14px; border-top:1px solid var(--dv-line); background:#fff; font-size:12px; color:var(--rfg3); }
.dv-ql-foot:empty { display:none; }
.dv-ql-fmeta { font-size:12px; color:var(--rfg3); font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dv-ql-fbtn { width:30px; height:28px; border:0; border-radius:8px; background:none; color:var(--rfg2); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.dv-ql-fbtn:hover, .dv-ql-fbtn.dv-on { background:#F3F4F6; color:var(--rfg1); }
.dv-zoom { display:inline-flex; align-items:center; height:28px; border-radius:999px; background:#F3F4F6; padding:0 2px; }
.dv-zoom button { height:24px; min-width:26px; border:0; background:none; border-radius:999px; color:var(--rfg2); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:11.5px; font-weight:800; font-variant-numeric:tabular-nums; }
.dv-zoom button:hover { background:#fff; color:var(--rfg1); }
.dv-zoom .dv-zoom-v { min-width:52px; }
.dv-ql-nav { position:absolute; top:50%; z-index:2; width:44px; height:44px; margin-top:-22px; border-radius:50%; border:0; background:rgba(255,255,255,.88); color:var(--rfg1); cursor:pointer;
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.2); transition:transform var(--dv-t1),background var(--dv-t1),opacity var(--dv-t1); }
.dv-ql-nav:hover { background:#fff; transform:scale(1.06); }
.dv-ql-nav:disabled { opacity:.3; cursor:default; transform:none; }
.dv-ql-nav[hidden] { display:none; }
.dv-ql-prev { left:max(12px, calc((100% - min(92%,1280px)) / 2 - 58px)); }
.dv-ql-next { right:max(12px, calc((100% - min(92%,1280px)) / 2 - 58px)); }
.dv-ql-dots { position:absolute; left:0; right:0; bottom:max(6px, calc(7% - 28px)); z-index:2; display:flex; align-items:center; justify-content:center; gap:10px; color:rgba(255,255,255,.85); font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; pointer-events:none; }
.dv-ql-dotrow { display:flex; gap:6px; }
.dv-ql-dotrow i { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.38); }
.dv-ql-dotrow i.dv-on { background:#fff; }
.dv-ql-fill .dv-ql-dots, .dv-ql-fill .dv-ql-nav { display:none; }
.dv-ql-fly { position:fixed; z-index:2700; object-fit:contain; pointer-events:none; box-shadow:0 20px 50px -10px rgba(0,0,0,.35); transform-origin:0 0; background:#fff; }
.dv-ql-wait { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--rfg3); font-size:12.5px; font-weight:700; }
.dv-in-body .dv-ql-wait, .dv-sh-b .dv-ql-wait, .dv-cms .dv-ql-wait, .dv-ver-list .dv-ql-wait, .dv-mv-body .dv-ql-wait, .dv-emb .dv-ql-wait, .dv-ql-fgrid .dv-ql-wait { position:relative; inset:auto; padding:26px 0; }
.dv-spin { width:16px; height:16px; border-radius:50%; border:2px solid rgba(7,9,22,.12); border-top-color:var(--dv-sel-ring); animation:dv-spin .8s linear infinite; }
/* image */
.dv-ql-imgc { display:flex; }
.dv-ql-stagei { flex:1; display:flex; align-items:center; justify-content:center; padding:20px; overflow:hidden;
  background:#F5F5F6 repeating-conic-gradient(#EFEFF1 0 25%, transparent 0 50%) 0 0/20px 20px; }
.dv-ql-img { max-width:100%; max-height:100%; object-fit:contain; transform-origin:center; transition:transform 120ms var(--dv-ease); border-radius:4px; box-shadow:0 1px 3px rgba(7,9,22,.08); user-select:none; }
.dv-ql-imgc.dv-zoomed .dv-ql-stagei { cursor:grab; }
.dv-ql-imgc.dv-panning .dv-ql-stagei { cursor:grabbing; }
.dv-ql-imgc.dv-panning .dv-ql-img { transition:none; }
/* pdf */
.dv-ql-pdfc { overflow:hidden; display:flex; }
.dv-ql-pdf { flex:1; display:flex; min-width:0; background:#E9EBEE; }
.dv-ql-strip { width:0; overflow:hidden; flex:none; transition:width var(--dv-t2) var(--dv-ease); background:#F3F4F6; border-right:1px solid var(--dv-line); }
.dv-ql-pdf.dv-strip-on .dv-ql-strip { width:112px; overflow-y:auto; padding:12px 12px; }
.dv-ql-sp-p { display:block; width:86px; margin:0 auto 12px; border:0; background:none; padding:0; cursor:pointer; text-align:center; }
.dv-ql-sp-p img { display:block; width:86px; min-height:40px; background:#fff; border-radius:3px; box-shadow:0 1px 3px rgba(7,9,22,.18); outline:2px solid transparent; outline-offset:2px; }
.dv-ql-sp-p.dv-on img { outline-color:var(--dv-sel-ring); }
.dv-ql-sp-p span { display:block; margin-top:4px; font-size:10.5px; font-weight:800; color:var(--rfg3); }
.dv-ql-pages { flex:1; overflow:auto; padding:24px 20px 32px; display:flex; flex-direction:column; align-items:center; gap:18px; }
.dv-ql-page { position:relative; width:calc(min(860px, 96%) * var(--z, 1)); max-width:none; aspect-ratio:1/1.414; background:#fff; border-radius:3px; box-shadow:0 2px 6px rgba(7,9,22,.10),0 12px 30px -16px rgba(7,9,22,.25); flex:none; }
.dv-ql-page.dv-loaded { aspect-ratio:auto; }
.dv-ql-page img { display:block; width:100%; height:auto; border-radius:3px; opacity:0; transition:opacity var(--dv-t2); }
.dv-ql-page.dv-loaded img { opacity:1; }
.dv-ql-pn { position:absolute; right:-34px; bottom:4px; font-size:11px; font-weight:800; color:var(--rfg3); }
/* video / audio */
.dv-ql-video { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#0B0C10; }
.dv-ql-video video { max-width:100%; max-height:100%; width:100%; height:100%; object-fit:contain; background:#0B0C10; }
.dv-ql-audio { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; }
.dv-ql-audio h3 { margin:0; font-size:15px; font-weight:800; color:var(--rfg1); }
.dv-ql-audio audio { width:min(440px, 86%); }
/* text family */
.dv-ql-textc { background:#fff; }
.dv-code { font:12.5px/1.6 ui-monospace,'SF Mono',Menlo,Consolas,monospace; color:#1F2330; padding:14px 0 24px; min-width:max-content; }
.dv-code ol { margin:0; padding:0 24px 0 0; list-style:none; counter-reset:ln; }
.dv-code li { counter-increment:ln; white-space:pre; padding-left:64px; position:relative; }
.dv-code li::before { content:counter(ln); position:absolute; left:0; width:46px; text-align:right; color:var(--rfg3); font-variant-numeric:tabular-nums; user-select:none; }
.dv-code li:hover { background:#FAFAFB; }
.dv-ql-trunc { margin:0 24px 24px 64px; padding:10px 12px; border-radius:10px; background:var(--dv-well); font-size:12.5px; color:var(--rfg2); }
.dv-md { max-width:760px; margin:0 auto; padding:36px 40px 60px; font-size:15px; line-height:1.68; color:#1F2330; overflow-wrap:anywhere; }
.dv-md h1, .dv-md h2, .dv-md h3, .dv-md h4 { color:var(--rfg1); line-height:1.25; margin:1.5em 0 .5em; letter-spacing:-.01em; }
.dv-md h1 { font-size:28px; font-weight:900; margin-top:0; }
.dv-md h2 { font-size:21px; font-weight:900; }
.dv-md h3 { font-size:17px; font-weight:800; }
.dv-md h4 { font-size:15px; font-weight:800; }
.dv-md > :first-child { margin-top:0; }
.dv-md p { margin:0 0 1em; }
.dv-md ul, .dv-md ol { margin:0 0 1em; padding-left:1.4em; }
.dv-md ul { list-style:disc; } .dv-md ol { list-style:decimal; } .dv-md ul ul { list-style:circle; }
.dv-md li::marker { color:var(--rfg3); }
.dv-md li { margin:.2em 0; }
.dv-md li.dv-task { list-style:none; margin-left:-1.2em; }
.dv-md li.dv-task::before { content:""; display:inline-block; width:13px; height:13px; margin-right:8px; vertical-align:-1px; border:1.5px solid #C9CCD1; border-radius:4px; }
.dv-md li.dv-task.dv-done::before { background:var(--dv-sel-ring); border-color:var(--dv-sel-ring); }
.dv-md li.dv-task.dv-done { color:var(--rfg3); text-decoration:line-through; }
.dv-md code { font:.88em ui-monospace,'SF Mono',Menlo,monospace; background:#F3F4F6; border-radius:5px; padding:.1em .35em; }
.dv-md pre { background:#F7F7F8; border:1px solid var(--dv-line); border-radius:10px; padding:12px 14px; overflow:auto; font-size:12.5px; line-height:1.55; }
.dv-md pre code { background:none; padding:0; }
.dv-md blockquote { margin:0 0 1em; padding:2px 0 2px 14px; border-left:3px solid var(--rstroke); color:var(--rfg2); }
.dv-md hr { border:0; height:1px; background:var(--rstroke); margin:1.6em 0; }
.dv-md a { color:#2F6FC4; text-decoration:underline; text-underline-offset:2px; }
.dv-md table { border-collapse:collapse; margin:0 0 1.2em; font-size:13.5px; width:100%; }
.dv-md th, .dv-md td { border:1px solid var(--dv-line); padding:6px 10px; text-align:left; vertical-align:top; }
.dv-md th { background:#FAFAFB; font-weight:800; }
.dv-doc { font-size:14.5px; }
.dv-slide-n { margin:2em 0 .3em; font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--rfg3); }
.dv-pptx h2 { margin-top:0; }
.dv-grid-w { overflow:auto; height:100%; }
.dv-ql-sheet { height:100%; }
.dv-grid { border-collapse:separate; border-spacing:0; font-size:12.5px; color:#1F2330; font-variant-numeric:tabular-nums; min-width:100%; }
.dv-grid th, .dv-grid td { border-right:1px solid var(--dv-line); border-bottom:1px solid var(--dv-line); padding:5px 10px; white-space:nowrap; max-width:320px; overflow:hidden; text-overflow:ellipsis; text-align:left; height:28px; }
.dv-grid thead th { position:sticky; top:0; z-index:2; background:#F3F4F6; color:var(--rfg3); font-size:11px; font-weight:800; text-align:center; }
.dv-grid .dv-grid-n { position:sticky; left:0; z-index:1; background:#F3F4F6; color:var(--rfg3); font-size:11px; font-weight:800; text-align:right; min-width:44px; }
.dv-grid thead .dv-grid-n { z-index:3; }
.dv-grid td { background:#fff; }
.dv-grid td[data-h] { font-weight:800; color:var(--rfg1); background:#FBFBFC; }
.dv-grid td.dv-num { text-align:right; }
.dv-ql-sheets { display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; }
.dv-ql-sheets button { height:28px; padding:0 12px; border:0; border-radius:7px; background:none; color:var(--rfg2); font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; }
.dv-ql-sheets button:hover { background:#F3F4F6; }
.dv-ql-sheets button.dv-on { background:var(--dv-sel); color:#1F4F92; }
/* link card, folder summary, other */
.dv-ql-link { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; background:radial-gradient(120% 90% at 50% 0%, #FFFFFF 0%, #F3F4F6 70%); }
.dv-ql-lcard { width:min(480px,100%); min-height:300px; padding:34px 32px 26px; border-radius:18px; background:#fff; box-shadow:var(--rsh-lg); text-align:center; display:flex; flex-direction:column; align-items:center; }
.dv-ql-lmark { width:84px; height:84px; border-radius:22px; background:#F7F7F8; display:flex; align-items:center; justify-content:center; box-shadow:inset 0 0 0 1px rgba(7,9,22,.05); margin-bottom:18px; }
.dv-ql-lcard h3 { margin:0; font-size:18px; font-weight:900; color:var(--rfg1); line-height:1.3; overflow-wrap:anywhere; }
.dv-ql-lhost { margin:6px 0 0; font-size:12.5px; color:var(--rfg3); font-weight:700; }
.dv-ql-ldesc { margin:12px 0 0; font-size:13px; color:var(--rfg2); line-height:1.5; }
.dv-ql-lbtns { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:24px; }
.dv-ql-lurl { margin:18px 0 0; max-width:100%; font-size:11.5px; color:var(--rfg3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-ql-folder { padding:36px 40px; background:#fff; min-height:100%; }
.dv-ql-fhead { display:flex; align-items:center; gap:20px; margin-bottom:28px; }
.dv-ql-fhead h3 { margin:0; font-size:20px; font-weight:900; color:var(--rfg1); }
.dv-ql-fhead p { margin:4px 0 0; font-size:13px; color:var(--rfg3); }
.dv-ql-fgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:16px; }
.dv-ql-fk { display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; }
.dv-ql-fkw { width:100%; aspect-ratio:4/3; border-radius:10px; background:var(--dv-well); display:flex; align-items:center; justify-content:center; overflow:hidden; font-size:15px; font-weight:800; color:var(--rfg3); }
.dv-ql-fkw .dv-thumb { object-fit:cover; }
.dv-ql-fkn { max-width:100%; font-size:12px; font-weight:700; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-ql-fempty { color:var(--rfg3); font-size:13px; padding:20px; text-align:center; }
/* "No preview" / "Preview failed" reuse the link card (.dv-ql-link .dv-ql-lcard); no min-height there */
.dv-ql-other .dv-ql-lcard { min-height:0; }
/* DVIcons.svg() inlines "margin:auto" (the Tailwind preflight fix): as a direct flex child it eats the free space */
.dv-ql-fhead > svg, .dv-ql-other > svg, .dv-ql-audio > svg { margin:0 !important; }
.dv-ql-fempty { grid-column:1 / -1; text-align:left; padding:8px 0; }

/* ---------------------------------------------------------------- sheets (dialogs) */
.dv-sheet-ovl { position:fixed; inset:0; z-index:2900; background:rgba(7,9,22,.28); opacity:0; transition:opacity 160ms; }
.dv-sheet-ovl.dv-in { opacity:1; }
.dv-sheet-ovl.dv-out { opacity:0; }
.dv-sheet { position:fixed; z-index:2901; left:var(--stage-cx,50%); top:var(--stage-cy,50%); transform:translate(-50%,-50%) scale(.97); opacity:0;
  width:min(560px, var(--stage-w, calc(100vw - 28px))); max-height:var(--stage-h, calc(100vh - 28px)); display:flex; flex-direction:column; background:#fff; border-radius:20px; box-shadow:0 30px 90px rgba(7,9,22,.32),0 0 0 1px rgba(7,9,22,.05);
  color:var(--rfg2); font-size:13.5px; transition:transform 220ms var(--dv-spring),opacity 160ms; }
.dv-sheet.dv-in { transform:translate(-50%,-50%); opacity:1; }
.dv-sheet:focus, .dv-sheet:focus-visible { outline:none; }
.dv-sheet.dv-out { transform:translate(-50%,-50%) scale(.98); opacity:0; }
.dv-sheet.dv-sheet-pinned, .dv-sheet.dv-sheet-pinned.dv-in { transform:translate(-50%,0); transition:opacity 160ms; }
.dv-sheet.dv-sheet-pinned.dv-out { transform:translate(-50%,0) scale(.98); opacity:0; }
.dv-sh-h { display:flex; align-items:flex-start; gap:10px; padding:18px 14px 12px 22px; flex:none; }
.dv-sh-tt { flex:1; min-width:0; }
.dv-sh-h h3 { margin:0; font-size:17px; font-weight:900; color:var(--rfg1); letter-spacing:-.01em; line-height:1.3; overflow-wrap:anywhere; }
.dv-sh-h p { margin:4px 0 0; font-size:12.5px; color:var(--rfg3); line-height:1.45; }
.rec-btnq.dv-sh-x { width:32px; height:32px; margin-top:-4px; }
.dv-sh-b { padding:4px 22px 8px; overflow-y:auto; flex:1 1 auto; min-height:0; }
.dv-sh-foot { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:14px 18px 18px 22px; flex:none; }
.dv-sh-sp { flex:1; }
.dv-sh-note { margin-right:auto; font-size:12px; color:var(--rfg3); }
.dv-sh-h5 { margin:18px 0 8px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--rfg3); }
.dv-sh-lab { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--rfg3); margin-right:4px; }
.rec-btn.dv-btn-danger { background:#D70022; color:#fff; box-shadow:none; }
.rec-btn.dv-btn-danger:hover { background:#B8001D; }
.dv-sheet .rec-btn:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-confirm .dv-cf { padding:24px 24px 0; }
.dv-confirm h3 { margin:0; font-size:17px; font-weight:900; color:var(--rfg1); }
.dv-confirm p { margin:8px 0 0; font-size:13.5px; line-height:1.5; color:var(--rfg2); }
.dv-confirm .dv-sh-foot { padding:22px 0 20px; }
.dv-fl { display:flex; flex-direction:column; gap:6px; margin:10px 0 0; }
.dv-fl > span { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--rfg3); }
.dv-fl input, .dv-input { height:40px; border:1px solid var(--rstroke); border-radius:10px; padding:0 12px; font-size:13.5px; color:var(--rfg1); background:#fff; outline:0; width:100%;
  transition:border-color var(--dv-t1),box-shadow var(--dv-t1); }
.dv-fl input:focus, .dv-input:focus { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-fl-err { margin:8px 0 0; font-size:12.5px; color:#B42318; font-weight:700; }
.dv-lk-url { position:relative; display:flex; align-items:center; }
.dv-lk-url input { padding-left:46px; }
.dv-lk-g { position:absolute; left:10px; width:28px; display:flex; justify-content:center; pointer-events:none; }
/* switch */
.dv-switch { display:flex; align-items:flex-start; gap:12px; cursor:pointer; padding:4px 0; }
.dv-switch input { position:absolute; opacity:0; width:1px; height:1px; }
.dv-sw-t { position:relative; width:36px; height:22px; border-radius:999px; background:#DADCE0; flex:none; transition:background var(--dv-t2); margin-top:1px; }
.dv-sw-t::after { content:""; position:absolute; left:2px; top:2px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(7,9,22,.25); transition:transform var(--dv-t2) var(--dv-spring); }
.dv-switch input:checked + .dv-sw-t { background:var(--dv-sel-ring); }
.dv-switch input:checked + .dv-sw-t::after { transform:translateX(14px); }
.dv-switch input:focus-visible + .dv-sw-t { box-shadow:var(--dv-focus); }
.dv-sw-l { font-size:13px; font-weight:700; color:var(--rfg1); line-height:1.4; padding-top:1px; }
.dv-sw-l small { display:block; font-size:12px; font-weight:400; color:var(--rfg3); margin-top:2px; }
.dv-switch.dv-dis { opacity:.5; cursor:default; }
/* share */
.dv-sh-add { display:flex; align-items:center; gap:8px; }
.dv-sh-pick { flex:1; min-width:0; }
.dv-sh-pick .ps-trig { width:100%; min-height:40px; border:1px solid var(--rstroke); border-radius:10px; padding:0 10px; }
.dv-sh-pick select { width:100%; }
.dv-sh-add .rec-btn1 { height:40px; }
.dv-sheet .rec-btn1:disabled, .dv-root .rec-btn1:disabled { background:#ECEDEF; color:#A5A8AF; box-shadow:none; cursor:default; opacity:1; }
.dv-sh-lv { flex:none; }
.dv-sh-notify { display:flex; flex-direction:column; gap:8px; margin-top:10px; padding:10px 12px; border-radius:12px; background:var(--dv-hover); border:1px solid var(--dv-line); }
.dv-sh-notify[hidden] { display:none; }
.dv-sh-notify textarea { width:100%; resize:none; border:1px solid var(--rstroke); border-radius:9px; padding:8px 10px; font-size:13px; outline:0; background:#fff; }
.dv-sh-notify textarea:focus { border-color:var(--dv-sel-ring); }
.dv-sh-roles { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:14px; }
.rec-chip.dv-rolechip { padding:6px 11px; font-size:12.5px; gap:6px; }
.dv-rolechip svg { width:12px; height:12px; margin:0; }
.dv-sh-list { display:flex; flex-direction:column; }
.dv-sh-row { display:flex; align-items:center; gap:11px; min-height:48px; padding:6px 0; border-bottom:1px solid var(--dv-line); }
.dv-sh-row:last-child { border-bottom:0; }
.dv-sh-inh .dv-av { opacity:.55; }
.dv-sh-inh .dv-sh-who b, .dv-sh-inh .dv-sh-lvl { color:var(--rfg2); font-weight:700; }
.dv-sh-none .dv-sh-lvl { color:#B42318 !important; }
.dv-sh-who { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.3; }
.dv-sh-who b { font-size:13px; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-sh-who small { font-size:11.5px; color:var(--rfg3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-sh-via { border:0; background:none; padding:0; text-align:left; font-size:11.5px; color:#2F6FC4; font-weight:700; cursor:pointer; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-sh-lvl { font-size:12.5px; font-weight:700; color:var(--rfg2); white-space:nowrap; }
.dv-sh-lvlb { display:inline-flex; align-items:center; gap:4px; border:0; background:none; border-radius:8px; padding:5px 8px; cursor:pointer; color:var(--rfg1); }
.dv-sh-lvlb svg { width:12px; height:12px; margin:0; color:var(--rfg3); }
.dv-sh-lvlb:hover { background:#F3F4F6; }
.dv-sh-rm, .dv-sh-rm-sp { width:28px; height:28px; flex:none; }
.dv-sh-rm { border:0; background:none; border-radius:8px; color:var(--rfg3); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; opacity:0; }
.dv-sh-row:hover .dv-sh-rm, .dv-sh-rm:focus-visible { opacity:1; }
.dv-sh-rm:hover { background:var(--rlight-red); color:#D70022; }
.dv-sh-sec { margin-top:14px; padding-top:14px; border-top:1px solid var(--dv-line); }
.dv-sh-link .dv-sh-h5 { margin-top:0; }
.dv-sh-url { display:flex; gap:8px; margin-top:10px; }
.dv-sh-url input { flex:1; min-width:0; height:38px; border:1px solid var(--rstroke); border-radius:10px; padding:0 11px; font-size:12.5px; color:var(--rfg2); background:var(--dv-hover); outline:0; }
.dv-sh-lopts { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:10px; }
.dv-sh-pop { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--rstroke); background:#fff; border-radius:9px; height:30px; padding:0 10px; font-size:12.5px; color:var(--rfg2); cursor:pointer; }
.dv-sh-pop b { color:var(--rfg1); }
.dv-sh-pop svg { width:13px; height:13px; margin:0; color:var(--rfg3); }
.dv-sh-hits { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--rfg3); }
.dv-sh-hits svg { width:13px; height:13px; margin:0; }
.dv-sh-lacts { display:flex; gap:16px; margin-top:10px; }
.dv-danger-t { color:#D70022 !important; }
.dv-sh-note2 { display:flex; align-items:center; gap:6px; margin:14px 0 0; font-size:12.5px; color:var(--rfg3); }
.dv-sh-note2 svg { width:12px; height:12px; margin:0; }
.dv-sh-date { margin-left:6px; height:30px; border:1px solid var(--rstroke); border-radius:8px; padding:0 8px; font-size:12.5px; }
/* move */
.dv-mv-search { position:relative; margin:0 22px; display:flex; align-items:center; }
.dv-mv-search > span { position:absolute; left:12px; color:var(--rfg3); display:flex; }
.dv-mv-search input { width:100%; height:40px; border:1px solid var(--rstroke); border-radius:10px; padding:0 12px 0 36px; font-size:13.5px; outline:0; background:#fff; color:var(--rfg1); }
.dv-mv-search input:focus { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-mv-body { flex:1; min-height:0; overflow-y:auto; padding:4px 16px 8px; margin-top:4px; }
.dv-mv-body .dv-sh-h5 { margin-left:6px; }
.dv-mv-row { display:flex; align-items:center; gap:7px; height:34px; padding:0 8px 0 calc(6px + var(--d, 0) * 16px); border-radius:9px; cursor:pointer; color:var(--rfg1); font-size:13px; font-weight:700; user-select:none; }
.dv-mv-row:hover { background:var(--dv-hover); }
.dv-mv-row.dv-on { background:var(--dv-sel); box-shadow:inset 0 0 0 1px rgba(90,155,232,.5); }
.dv-mv-row.dv-dis { opacity:.38; cursor:not-allowed; }
.dv-mv-row .dv-rlabel small { font-weight:400; }
.dv-mv-tag, .dv-tag { font-size:10.5px; font-weight:800; letter-spacing:.04em; color:var(--rfg2); background:var(--dv-well); border-radius:6px; padding:2px 7px; white-space:nowrap; display:inline-flex; align-items:center; gap:4px; }
.dv-tag svg { width:11px; height:11px; margin:0; }
.dv-tag-q { color:#1F4F92; background:var(--dv-sel); }
.dv-mv-dest { font-size:12.5px; color:var(--rfg2); font-weight:700; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-mv-new:disabled { opacity:.45; cursor:default; }
.dv-mv-none { padding:24px; text-align:center; color:var(--rfg3); font-size:13px; }
.dv-mv-recent { margin-bottom:6px; }
/* versions */
.dv-ver-top { padding:0 22px 6px; display:flex; }
.dv-ver-list { padding-bottom:18px; }
.dv-ver { display:flex; align-items:center; gap:12px; min-height:56px; padding:8px 4px; border-bottom:1px solid var(--dv-line); }
.dv-ver:last-child { border-bottom:0; }
.dv-ver-n { width:40px; height:28px; border-radius:8px; background:var(--dv-well); color:var(--rfg2); font-size:12px; font-weight:900; display:flex; align-items:center; justify-content:center; flex:none; font-variant-numeric:tabular-nums; }
.dv-ver-cur .dv-ver-n { background:var(--dv-sel); color:#1F4F92; }
.dv-ver-m { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.dv-ver-m b { font-size:13px; color:var(--rfg1); }
.dv-ver-m small { display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--rfg3); }
.dv-ver-note { font-size:12.5px; color:var(--rfg2); }
.dv-ver-in { margin-top:4px; height:30px; border:1px solid var(--dv-sel-ring); border-radius:8px; padding:0 9px; font-size:12.5px; outline:0; }
.dv-ver .dv-ra { opacity:1; }
/* note editor */
.dv-note .dv-sh-h { align-items:center; }
.dv-note-tt { flex:1; min-width:0; display:flex; align-items:baseline; gap:2px; }
.dv-note-name { flex:1; min-width:0; border:0; outline:0; font-size:18px; font-weight:900; color:var(--rfg1); padding:4px 0; background:none; }
.dv-note-name[readonly] { cursor:default; }
.dv-note-ext { font-size:14px; color:var(--rfg3); font-weight:700; }
.dv-note-conf { display:flex; align-items:center; gap:8px; margin:0 22px 8px; padding:9px 12px; border-radius:10px; background:#FFFBEB; color:#7A4A00; font-size:12.5px; font-weight:700; }
.dv-note-conf[hidden] { display:none; }
.dv-note-conf svg { width:14px; height:14px; margin:0; }
.dv-note-b { flex:1; min-height:0; margin:0 22px; border:1px solid var(--rstroke); border-radius:12px; overflow:hidden; display:flex; }
.dv-note-b textarea { flex:1; border:0; outline:0; resize:none; padding:16px 18px; font:13px/1.65 ui-monospace,'SF Mono',Menlo,monospace; color:#1F2330; background:#FCFCFD; }
.dv-note-b textarea[hidden] { display:none; }
.dv-note-prev { flex:1; overflow:auto; padding:20px 26px 30px; max-width:none; }
.dv-note-prev[hidden] { display:none; }
.dv-note .dv-sh-foot { padding-top:14px; }
/* keys */
.dv-keys-b { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:0 26px; padding-bottom:22px; }
.dv-keys-b dl { display:grid; grid-template-columns:auto 1fr; gap:8px 14px; margin:0; align-items:center; }
.dv-keys-b dt { display:flex; gap:4px; justify-content:flex-end; }
.dv-keys-b dd { margin:0; font-size:13px; color:var(--rfg1); }
.dv-keys-b .dv-sh-h5 { margin-top:14px; }
/* inspector in a sheet (embedded view) */
.dv-insp-in { position:static; width:auto; max-height:none; border:0; box-shadow:none; border-radius:0; padding:0 22px 22px; animation:none; overflow:visible; flex:1; min-height:0; overflow-y:auto; }
.dv-insp-in .dv-in-x { display:none; }
.dv-range-b { display:flex; gap:12px; }
.dv-range-b .dv-fl { flex:1; }

/* ---------------------------------------------------------------- request access */
.dv-access { display:flex; justify-content:center; padding:48px 16px; }
.dv-acc-card { width:min(420px,100%); padding:32px 30px 26px; border-radius:18px; background:#fff; border:1px solid var(--rstroke); box-shadow:var(--rsh-md); text-align:center; display:flex; flex-direction:column; align-items:center; }
.dv-acc-ic { width:64px; height:64px; border-radius:20px; background:var(--dv-well); color:var(--rfg2); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.dv-acc-card h3 { margin:0; font-size:18px; font-weight:900; color:var(--rfg1); }
.dv-acc-card > p { margin:8px 0 0; font-size:13.5px; color:var(--rfg3); line-height:1.5; }
.dv-acc-f { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 10px; margin:20px 0 12px; }
.dv-acc-card textarea { width:100%; resize:none; border:1px solid var(--rstroke); border-radius:10px; padding:10px 12px; font-size:13px; outline:0; margin-bottom:16px; }
.dv-acc-card textarea:focus { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-acc-me { margin:14px 0 0 !important; font-size:11.5px !important; }

/* ---------------------------------------------------------------- settings */
.dv-settings { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:16px; }
.dv-set-card { border:1px solid var(--rstroke); border-radius:14px; padding:16px 18px 18px; background:#fff; min-width:0; }
.dv-set-wide { grid-column:1/-1; }
.dv-set-card h4 { margin:0 0 12px; font-size:14px; font-weight:900; color:var(--rfg1); }
.dv-set-line { display:flex; align-items:center; gap:7px; margin:0 0 14px; font-size:12.5px; color:var(--rfg2); }
.dv-set-line svg { width:14px; height:14px; margin:0; color:var(--rfg3); }
.dv-set-line.dv-set-warn { padding:8px 10px; border:1px solid var(--dv-amber-line); border-radius:8px; background:var(--dv-amber-bg); color:var(--dv-amber-fg); }
.dv-set-line.dv-set-warn svg { color:var(--dv-amber-glyph); flex:none; }
.dv-set-sub { margin:0 0 10px; font-size:12.5px; color:var(--rfg3); }
.dv-set-sp { padding:10px 0; border-top:1px solid var(--dv-line); }
.dv-set-spt { display:flex; justify-content:space-between; gap:10px; margin-bottom:7px; font-size:12.5px; }
.dv-set-spt b { color:var(--rfg1); }
.dv-set-spt span { color:var(--rfg3); font-variant-numeric:tabular-nums; }
.dv-set-q { display:flex; align-items:center; gap:10px; margin-top:8px; font-size:12px; color:var(--rfg3); }
.dv-set-q input { width:74px; height:28px; margin:0 4px 0 8px; border:1px solid var(--rstroke); border-radius:7px; padding:0 8px; font-size:12.5px; }
.dv-set-kv { display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin-top:12px; padding-top:12px; border-top:1px solid var(--dv-line); font-size:12.5px; }
.dv-set-kv span { color:var(--rfg3); }
.dv-set-kv b { color:var(--rfg1); font-weight:700; font-variant-numeric:tabular-nums; }
.dv-set-fail { margin-top:12px; font-size:12.5px; }
.dv-set-fail summary { cursor:pointer; font-weight:800; color:var(--rfg2); }
.dv-set-roots { list-style:none; margin:0; padding:0; }
.dv-set-roots li { display:flex; align-items:center; gap:9px; height:36px; padding:0 8px; border-radius:9px; font-size:13px; font-weight:700; color:var(--rfg1); cursor:grab; }
.dv-set-roots li:hover { background:var(--dv-hover); }
.dv-set-roots li svg { margin:0; }
.dv-set-roots li span:nth-child(3) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-set-grip { color:#C3C7CD; display:flex; }
.dv-set-tools { display:flex; flex-wrap:wrap; gap:8px; }
.dv-set-tools .rec-btn { padding:8px 12px; font-size:12.5px; }
.dv-set-tools .rec-btn:disabled { opacity:.5; }
.dv-set-out { margin:10px 0 0; font-size:12.5px; color:var(--rfg2); min-height:18px; }
.dv-set-dups { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:12.5px; }
.dv-set-dups li { display:flex; flex-direction:column; gap:3px; align-items:flex-start; }
.dv-set-imp { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.dv-set-imp input { flex:1 1 200px; min-width:0; height:36px; border:1px solid var(--rstroke); border-radius:9px; padding:0 10px; font-size:12.5px; }
.dv-set-jobs { list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:12.5px; }
.dv-set-jobs li { display:flex; align-items:center; gap:8px; }

/* ---------------------------------------------------------------- inline rename */
.dv-renw { position:relative; display:flex; flex-direction:column; align-items:stretch; width:100%; min-width:0; }
.dv-renw-tile { align-items:center; }
.dv-rename { width:100%; min-width:0; border:1px solid var(--dv-sel-ring); border-radius:6px; padding:2px 6px; font:inherit; font-size:13px; font-weight:700; color:var(--rfg1); background:#fff; outline:0;
  box-shadow:0 0 0 3px rgba(90,155,232,.18); line-height:1.3; }
textarea.dv-rename { resize:none; text-align:center; overflow:hidden; display:block; }
.dv-renw.dv-invalid .dv-rename { border-color:#E5484D; box-shadow:0 0 0 3px rgba(229,72,77,.14); }
.dv-renhint { display:block; margin-top:4px; font-size:11.5px; font-weight:700; color:#B42318; white-space:nowrap; }
.dv-renw-tile .dv-renhint { text-align:center; }
.dv-renw.dv-shake { animation:dv-shake 240ms var(--dv-ease); }
.dv-row .dv-renw { flex:1; }
.dv-row .dv-renhint { position:absolute; left:0; top:100%; margin-top:2px; z-index:2; background:#fff; padding:2px 6px; border-radius:6px; box-shadow:var(--rsh-md); }

/* ---------------------------------------------------------------- embedded (project › Files) */
.dv-emb { padding:0; }
.dv-emb-in { background:#fff; border:1px solid var(--rstroke); border-radius:16px; padding:0 0 12px; position:relative; min-height:220px; container-type:inline-size; container-name:dvmain; }
.dv-emb-bar { display:flex; align-items:center; gap:8px; min-height:56px; padding:10px 12px 10px 14px; border-bottom:1px solid var(--rstroke); flex-wrap:wrap; }
.dv-emb-b { padding:7px 12px; font-size:12.5px; gap:6px; text-decoration:none; }
.dv-emb-b svg { width:14px; height:14px; margin:0; }
.dv-emb-nudge { display:flex; align-items:center; gap:8px; margin:12px 16px 0; padding:9px 12px; border-radius:10px; background:var(--dv-sel); color:#1F4F92; font-size:12.5px; font-weight:700; }
.dv-emb-nudge svg { width:14px; height:14px; margin:0; }
.dv-emb-nudge span { flex:1; min-width:0; }
.dv-emb-nudge i { font-style:normal; font-weight:400; color:#2F6FC4; }
.dv-emb-list { --dv-cols:36px minmax(0,1fr) 150px 96px 40px; padding:8px 16px 0; }
.dv-emb-row { grid-template-columns:var(--dv-cols); margin:0 -8px; }
.dv-emb-row .dv-ra { opacity:1; }
.dv-emb-row:focus-visible { box-shadow:inset 0 0 0 1px var(--dv-sel-ring); }
.dv-emb-empty { margin:34px auto 20px; }
.dv-emb-none { margin:40px auto 34px; }
.dv-emb-fold { margin-bottom:14px; display:flex; }
.dv-emb-exp { display:inline-flex !important; align-items:center; gap:6px; margin-top:12px !important; padding:5px 10px; border-radius:8px; background:var(--dv-well); color:var(--rfg2) !important; font-weight:700; font-size:12.5px !important; }
.dv-emb-exp svg { width:13px; height:13px; margin:0; }
.dv-emb .dv-drop { inset:6px; padding-top:60px; }
.dv-emb-path .dv-seg { max-width:320px; }
.dv-emb-path .dv-seg-last { max-width:480px; }
@container dvmain (max-width:560px) { .dv-emb-list { --dv-cols:34px minmax(0,1fr) 0 76px 40px; } .dv-emb-list .dv-c-mod { visibility:hidden; overflow:hidden; } .dv-emb-b span { display:none; } }

/* ---------------------------------------------------------------- motion */
@keyframes dv-pop { 0% { box-shadow:0 0 0 0 rgba(90,155,232,0); } 25% { box-shadow:0 0 0 3px rgba(90,155,232,.55); } 100% { box-shadow:0 0 0 3px rgba(90,155,232,0); } }
@keyframes dv-shake { 0%, 100% { transform:translateX(0); } 20% { transform:translateX(-4px); } 40% { transform:translateX(4px); } 60% { transform:translateX(-4px); } 80% { transform:translateX(4px); } }
@keyframes dv-spring { 0% { transform:scale(1); } 40% { transform:scale(1.03); } 100% { transform:scale(1); } }
@keyframes dv-colin { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
@keyframes dv-inspin { from { opacity:0; transform:translateX(8px); } to { opacity:1; transform:none; } }
@keyframes dv-fade { from { opacity:0; } to { opacity:1; } }
@keyframes dv-toastin { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes dv-trayin { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes dv-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .dv-root, .dv-root *, .dv-menu, .dv-menu *, .dv-sheet, .dv-sheet *, .dv-sheet-ovl, .dv-ql, .dv-ql *, .dv-tray, .dv-tray *, .dv-selbar, .dv-selbar *, .dv-toast, .dv-ghost, .dv-ql-fly {
    transition-duration:0s !important; animation-duration:0s !important; animation-iteration-count:1 !important; }
  .dv-spin { animation:none; }
}

/* ---------------------------------------------------------------- small screens (the layout rules live in responsive.css) */
@media (max-width:1023px) {
  .dv-root .dv-ph { flex-wrap:wrap; }
  .dv-search { max-width:none; }
  .dv-ql-card { width:calc(100% - 24px); height:calc(100% - 70px); }
  .dv-ql-prev { left:8px; } .dv-ql-next { right:8px; }
  .dv-ql-nav { width:38px; height:38px; margin-top:-19px; }
  .dv-ql-info { position:absolute; right:0; top:48px; bottom:40px; z-index:6; box-shadow:var(--rsh-lg); }   /* above the pins (3) and the composer (4) */
}
@media (max-width:768px) {
  .dv-body { padding:12px 12px 32px; }
  .dv-bar { padding:0 8px 0 10px; }
  .dv-bar .dv-path { flex:1 1 0; }
  .dv-bar .dv-bar-sp { display:none; }
  .dv-bar .dv-tools { flex:1 1 100%; justify-content:space-between; }
  .dv-lhead { top:calc(var(--dv-top) + 52px); }
  .dv-ftile { height:48px; padding:0 4px 0 10px; gap:9px; }
  .dv-fmeta { display:none; }
  .dv-more { opacity:1; }
  .dv-tray { width:auto; }
  .dv-ql { border-radius:0; }
  .dv-ql-dots { display:none; }
  .dv-ql-card { width:100%; height:calc(100% - 16px); border-radius:14px; }
  .dv-ql-bar .dv-ql-b[data-q="fill"], .dv-ql-bar .dv-ql-div { display:none; }
  .dv-md { padding:22px 18px 40px; font-size:14.5px; }
  .dv-sh-add { flex-wrap:wrap; }
  .dv-sh-pick { flex:1 1 0; order:1; }
  .dv-sh-add .rec-btn1 { order:2; }
  .dv-sh-add .dv-sh-lv, .dv-sh-add .rec-tabs { order:3; flex:1 1 100%; }
  .dv-sh-add .rec-tabs .rec-tab { flex:1; justify-content:center; padding-left:4px; padding-right:4px; }
  .dv-settings { grid-template-columns:1fr; }
  .dv-toast { left:8px; right:8px; bottom:12px; max-width:none; }
}

/* ================================================================ v1.2 — collaboration · documents · housekeeping
   Watch (bell) · link gate / password / opens · pinned comments · live refresh · office layout ·
   embeds · AI · video tiles · labels · locks · merge pill · quota · leavers · adoption.
   Same house rules: soft-blue for state, red only as a glyph / primary CTA / destructive hover. */

/* ---- watch: the head bell, rail + tile badges, menu notes */
.rec-btnq.dv-watch.dv-on { color:#2F6FC4; background:var(--dv-sel); border-color:transparent; box-shadow:none; }
.rec-btnq.dv-watch[hidden] { display:none; }
.dv-rwatch { color:#5A9BE8; display:flex; flex:none; margin-left:2px; }
.dv-rwatch svg { width:11px; height:11px; stroke-width:2.4; }
.dv-fwatch { color:#5A9BE8; display:flex; flex:none; }
.dv-fwatch svg { width:12px; height:12px; stroke-width:2.3; }
.rec-menu.dv-menu .dv-mnote { display:flex; align-items:center; gap:6px; padding:6px 10px 6px 40px; font-size:11.5px; color:var(--dv-meta); line-height:1.4; }
.rec-menu.dv-menu .dv-mnote svg { width:12px; height:12px; margin:0; color:var(--rfg3); }
.rec-menu.dv-menu .dv-mnote-merge { padding:0 10px 8px; white-space:normal; max-width:300px; }
.rec-menu.dv-mergepill { padding:6px; border-radius:14px; }
.dv-in-watch { display:inline-flex; align-items:center; gap:5px; }
.dv-in-watch svg { width:13px; height:13px; margin:0; }

/* ---- labels: dots on tiles, chips in lists + inspector, the manage panel */
.dv-ldot { --ls:7px; display:inline-block; width:var(--ls); height:var(--ls); border-radius:50%; background:var(--lc,#5A9BE8); flex:none; box-shadow:0 0 0 1.5px #fff; vertical-align:middle; }
.dv-menu .dv-mi-ic .dv-ldot { --ls:10px; box-shadow:none; }
.dv-tlabs { display:inline-flex; align-items:center; gap:0; margin-right:6px; vertical-align:1px; }
.dv-tlabs .dv-ldot + .dv-ldot { margin-left:-2px; }
.dv-lchip { display:inline-flex; align-items:center; gap:5px; max-width:100%; height:20px; padding:0 8px 0 6px; border-radius:999px;
  background:color-mix(in srgb, var(--lc) 13%, #fff); color:var(--rfg1); font-size:11.5px; font-weight:700; white-space:nowrap; overflow:hidden; }
.dv-lchip span:last-child { overflow:hidden; text-overflow:ellipsis; }
.dv-lchip .dv-ldot { box-shadow:none; }
.dv-list.dv-list-labs { --dv-cols:28px 36px minmax(0,1fr) 158px 148px 150px 88px 96px; }
.dv-c-lab { display:flex; flex-wrap:nowrap; align-items:center; gap:4px; min-width:0; overflow:hidden; white-space:nowrap; }
.dv-c-lab .dv-lchip { max-width:120px; flex:0 1 auto; min-width:0; }
.dv-lchip-more { flex:none; font-size:11px; font-weight:800; color:var(--dv-meta); }
/* every column head reads the same (the cell rules of Modified / Owner / Size must not leak into the head row) */
.dv-lhead .dv-hc, .dv-lhead .dv-hc.dv-c-lab, .dv-lhead .dv-hc.dv-c-mod, .dv-lhead .dv-hc.dv-c-own, .dv-lhead .dv-hc.dv-c-size { font-size:11px; font-weight:800; color:var(--rfg3); align-items:center; gap:5px; padding:0; }
.dv-lhead .dv-hc.dv-hc-on, .dv-lhead .dv-hc[data-sort]:hover { color:var(--rfg1); }
@container dvmain (max-width:1100px) { .dv-list.dv-list-labs { --dv-cols:28px 36px minmax(0,1fr) 150px 136px 0 80px 92px; } .dv-list-labs .dv-c-own { visibility:hidden; overflow:hidden; } }
@container dvmain (max-width:760px) { .dv-list.dv-list-labs { --dv-cols:28px 36px minmax(0,1fr) 0 128px 0 76px 92px; } .dv-list-labs .dv-c-lab { visibility:hidden; } .dv-list-labs .dv-rlabs { display:inline-flex; } }
@container dvmain (max-width:700px) { .dv-list.dv-list-labs { --dv-cols:0 34px minmax(0,1fr) 0 0 0 78px 40px; } }
.dv-rlabs { display:none; align-items:center; flex:none; }
.dv-rlabs .dv-tlabs { margin:0 0 0 2px; }
.dv-in-labs { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.dv-in-labbtn { display:inline-flex; align-items:center; gap:3px; }
.dv-in-labbtn svg { width:12px; height:12px; margin:0; }
.dv-labl { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.dv-labr { display:flex; align-items:center; gap:10px; min-height:42px; border-bottom:1px solid var(--dv-line); }
.dv-labr:last-child { border-bottom:0; }
.dv-labsw { width:22px; height:22px; flex:none; border-radius:50%; border:0; padding:0; cursor:pointer; background:var(--lc); box-shadow:inset 0 0 0 1px rgba(7,9,22,.08); transition:transform var(--dv-t1); }
.dv-labsw:hover:not(:disabled) { transform:scale(1.1); }
.dv-labsw:disabled { cursor:default; }
.dv-labsw:focus-visible { outline:0; box-shadow:0 0 0 2px #fff,0 0 0 4px var(--dv-sel-ring); }
.dv-labn { flex:1; min-width:0; height:32px; border:1px solid transparent; border-radius:8px; padding:0 8px; font-size:13px; font-weight:700; color:var(--rfg1); background:none; outline:0; }
.dv-labn:hover:not([readonly]) { border-color:var(--rstroke); }
.dv-labn:focus { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); background:#fff; }
.dv-labc { font-size:12px; color:var(--dv-meta); white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-labr .dv-sh-rm { opacity:.0; }
.dv-labr:hover .dv-sh-rm, .dv-labr .dv-sh-rm:focus-visible { opacity:1; }
.dv-labadd { display:flex; align-items:center; gap:10px; margin-top:12px; }
.dv-labadd .dv-input { flex:1; height:36px; }
.dv-labadd .rec-btn { padding:8px 12px; }
.dv-labempty { padding:8px 0 2px; }

/* ---- locks */
.dv-bdg.dv-bdg-lock { color:var(--rfg1); }
.dv-rbdg.dv-rbdg-lock { color:var(--rfg2); }
.dv-rbdg-lock svg { width:11px; height:11px; }
/* my own lock: the same glyph in the soft-blue selection family (someone else's stays ink) */
.dv-bdg.dv-bdg-lock.dv-lock-mine { color:#2F6FC4; background:var(--dv-sel); box-shadow:0 0 0 1px rgba(90,155,232,.35); }
.dv-rbdg.dv-rbdg-lock.dv-lock-mine { color:#2F6FC4; }
.dv-ql-lock.dv-lock-mine { background:var(--dv-sel); color:#2F6FC4; }
.dv-in-lock { display:flex; align-items:flex-start; gap:6px; margin-bottom:3px; }
.dv-in-lock svg { width:12px; height:12px; margin:3px 0 0; color:var(--rfg2); }
.dv-in-lock > span { flex:1; min-width:0; }
.dv-in-lock i { display:block; font-style:normal; font-size:12px; color:var(--rfg2); margin-top:2px; }
.dv-facts dd .dv-in-a:has(svg) { display:inline-flex; align-items:center; gap:4px; }
.dv-facts dd .dv-in-a svg { width:12px; height:12px; margin:0; }
.dv-ql-pillbtn[hidden] { display:none; }
.dv-ql-lock { display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; margin-right:6px; border-radius:999px; background:var(--dv-well); color:var(--rfg2); font-size:12px; font-weight:700; white-space:nowrap; }
.dv-ql-lock svg { width:12px; height:12px; margin:0; }

/* ---- video tiles: ▶ + duration */
.dv-vbdg { position:absolute; left:8px; bottom:8px; display:inline-flex; align-items:center; gap:5px; height:22px; padding:0 8px 0 6px; border-radius:999px;
  background:rgba(7,9,22,.62); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#fff; font-size:11px; font-weight:800; font-variant-numeric:tabular-nums; pointer-events:none; }
.dv-vbdg-p { display:flex; }
.dv-vbdg-p svg { width:10px; height:10px; margin:0; }
.dv-tile:not(.dv-has-thumb) .dv-vbdg { background:rgba(7,9,22,.07); color:var(--rfg2); -webkit-backdrop-filter:none; backdrop-filter:none; }
.dv-rdur { font-size:11px; font-weight:800; color:var(--dv-meta); font-variant-numeric:tabular-nums; flex:none; }
.dv-inscan { color:#4F5158; background:#EEF0F2; }

/* ---- Quick Look: comment pins */
.dv-ql-b[data-q="pin"].dv-on { color:#2F6FC4; background:var(--dv-sel); }
.dv-ql.dv-pinmode .dv-ql-img, .dv-ql.dv-pinmode .dv-ql-page, .dv-ql.dv-pinmode .dv-ql-pinbox { cursor:crosshair; }
.dv-ql-pins { position:absolute; left:0; top:0; width:0; height:0; z-index:3; pointer-events:none; }
.dv-ql-pinbox { position:absolute; pointer-events:none; }
.dv-ql.dv-pinmode .dv-ql-pinbox { pointer-events:auto; }
.dv-pin { position:absolute; z-index:3; width:22px; height:22px; margin:-11px 0 0 -11px; border-radius:50% 50% 50% 4px; border:0; padding:0; pointer-events:auto; cursor:pointer;
  background:#fff; color:#1F4F92; font:800 11px/22px 'Lato',sans-serif; text-align:center; font-variant-numeric:tabular-nums;
  box-shadow:0 0 0 2px var(--dv-sel-ring),0 3px 8px rgba(7,9,22,.22); transform:rotate(0); transition:transform var(--dv-t1) var(--dv-spring),box-shadow var(--dv-t1); }
.dv-pin:hover, .dv-pin:focus-visible { transform:scale(1.14); outline:0; }
.dv-pin.dv-pin-res { color:var(--dv-meta); box-shadow:0 0 0 2px #C3C7CD,0 2px 5px rgba(7,9,22,.14); }
.dv-pin.dv-pin-new { background:var(--dv-sel-ring); color:#fff; box-shadow:0 0 0 2px #fff,0 3px 10px rgba(47,111,196,.35); animation:dv-pop 380ms var(--dv-ease); }
.dv-pin.dv-pin-on { background:var(--dv-sel-ring); color:#fff; box-shadow:0 0 0 2px #fff,0 0 0 6px rgba(90,155,232,.28); }
.dv-pinbox { position:absolute; z-index:4; width:280px; margin:-14px 0 0 20px; pointer-events:auto; cursor:auto; }
.dv-pinbox.dv-pinbox-l { margin-left:-300px; }
.dv-pinbox .dv-cm-in { margin:0; box-shadow:var(--rsh-lg); border-color:transparent; }
.dv-pinbox .dv-cm-in:focus-within { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18),var(--rsh-lg); }
.dv-pinbox-b { display:flex; gap:6px; }
.dv-pinbox .rec-btn1.dv-cm-post { box-shadow:none; }
.dv-ql-pinhint { position:absolute; left:50%; top:12px; z-index:5; transform:translateX(-50%); display:inline-flex; align-items:center; gap:7px; height:30px; padding:0 13px;
  border-radius:999px; background:rgba(22,23,24,.86); color:#fff; font-size:12px; font-weight:700; white-space:nowrap; box-shadow:var(--rsh-md); pointer-events:none; animation:dv-toastin 150ms var(--dv-ease); }
.dv-ql-pinhint svg { width:13px; height:13px; margin:0; }
.dv-ql-pinhint { cursor:pointer; }
.dv-ql.dv-composing .dv-ql-pinhint { opacity:0; pointer-events:none; }
@media (max-width:759px) { .dv-ql-pinhint { top:auto; bottom:12px; max-width:calc(100% - 24px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } }
.dv-ql-main { position:relative; }
.dv-ql-info .rec-tabs.dv-in-tabs { width:100%; }
.dv-cm-anc { display:inline-flex; align-items:center; gap:5px; margin-left:auto; }
.dv-cm-pin { width:18px; height:18px; border-radius:50% 50% 50% 3px; background:#fff; color:#1F4F92; box-shadow:0 0 0 1.5px var(--dv-sel-ring); font-size:10px; font-weight:800; line-height:18px; text-align:center; flex:none; }
.dv-cm-dot { color:var(--rfg3); font-size:11px; }
.dv-cm-show { font-size:11.5px; }
.dv-cmt.dv-cmt-lit { animation:dv-lit 1400ms var(--dv-ease); }
@keyframes dv-lit { 0%, 30% { box-shadow:0 0 0 2px var(--dv-sel-ring); background:var(--dv-sel); } 100% { box-shadow:0 0 0 0 transparent; } }

/* ---- Quick Look: office layout (Layout · Text), pending banner */
.rec-tabs.dv-lay { padding:2px; border-radius:10px; }
.rec-tabs.dv-lay .rec-tab { padding:3px 10px; font-size:12px; border-radius:8px; }
.dv-ql-foot .dv-lay + .dv-zoom { margin-left:8px; }
.dv-ql-prep { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:center; gap:9px; height:36px; background:rgba(238,243,252,.94);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:#1F4F92; font-size:12.5px; font-weight:700; border-bottom:1px solid rgba(90,155,232,.18); }
.dv-ql-prep .dv-spin { width:14px; height:14px; }
.dv-spin.dv-spin-s { width:13px; height:13px; display:inline-block; vertical-align:-2px; }
.rec-btn.dv-busy { cursor:progress; opacity:.75; }

/* ---- Quick Look: embeds over the brand card */
.dv-ql-embed { position:absolute; inset:0; z-index:2; background:transparent; }
.dv-ql-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; background:#fff; opacity:0; transition:opacity var(--dv-t3); }
.dv-ql-embed.dv-loaded iframe { opacity:1; }
.dv-ql-emwait { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:inline-flex; align-items:center; gap:8px; height:30px; padding:0 13px; border-radius:999px;
  background:#fff; box-shadow:var(--rsh-md); color:var(--rfg2); font-size:12px; font-weight:700; white-space:nowrap; }
.dv-ql-emwait .dv-spin { width:13px; height:13px; }
.dv-ql-embed.dv-loaded .dv-ql-emwait { display:none; }

/* ---- inspector › AI */
.dv-ai-h { display:flex; align-items:center; gap:6px; }
.dv-ai-mark { width:18px; height:18px; border-radius:6px; background:var(--dv-sel); color:#2F6FC4; display:inline-flex; align-items:center; justify-content:center; }
.dv-ai-mark svg { width:11px; height:11px; margin:0; }
.rec-btn.dv-ai-btn { padding:7px 12px; font-size:12.5px; gap:6px; }
.dv-ai-btn svg { width:14px; height:14px; color:#2F6FC4; }
.dv-ai-card { border:1px solid var(--dv-line); border-radius:12px; padding:11px 12px 9px; background:linear-gradient(180deg,#FBFCFE,#fff); }
.dv-ai-card.dv-ai-dim { opacity:.6; }
.dv-ai-bul { list-style:disc; margin:0; padding:0 0 0 16px; font-size:13px; line-height:1.5; color:var(--rfg1); }
.dv-ai-bul li { margin:0 0 4px; }
.dv-ai-bul li::marker { color:#5A9BE8; }
.dv-ai-par { margin:8px 0 0; font-size:12.5px; line-height:1.55; color:var(--rfg2); }
.dv-ai-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:9px; padding-top:8px; border-top:1px solid var(--dv-line); }
.dv-ai-meta { margin:0; font-size:11.5px; color:var(--dv-meta); }
.dv-ai-busy { display:flex; flex-direction:column; gap:7px; }
.dv-ai-shim { display:block; height:9px; border-radius:5px; background:linear-gradient(90deg,#EEF0F3 0,#F6F7F9 40%,#EEF0F3 80%); background-size:200% 100%; animation:dv-shim 1.2s linear infinite; }
.dv-ai-shim-s { width:62%; }
@keyframes dv-shim { from { background-position:100% 0; } to { background-position:-100% 0; } }
.dv-ai-note { display:flex; align-items:flex-start; gap:7px; margin:0; padding:9px 11px; border-radius:10px; background:var(--dv-hover); border:1px solid var(--dv-line); font-size:12.5px; color:var(--rfg2); line-height:1.4; }
.dv-ai-note svg { width:13px; height:13px; margin:2px 0 0; flex:none; color:var(--rfg3); }
.dv-ai-thread { display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.dv-ai-thread:empty { display:none; }
.dv-ai-q { display:flex; justify-content:flex-end; }
.dv-ai-q span { max-width:88%; padding:7px 11px; border-radius:12px 12px 4px 12px; background:var(--dv-sel); color:#1F3B66; font-size:12.5px; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.dv-ai-a { font-size:12.5px; color:var(--rfg1); line-height:1.5; }
.dv-ai-ans p { margin:0 0 6px; } .dv-ai-ans ul, .dv-ai-ans ol { margin:0 0 6px; padding-left:18px; list-style:disc; } .dv-ai-ans ol { list-style:decimal; }
.dv-ai-quote { position:relative; margin:6px 0 0; padding:6px 10px 6px 11px; border-left:2px solid #A9CBF3; background:#FAFBFD; border-radius:0 8px 8px 0; font-size:12px; color:var(--rfg2); line-height:1.45; }
.dv-ai-pg { display:inline-flex; margin-left:6px; height:18px; padding:0 6px; border:0; border-radius:5px; background:var(--dv-sel); color:#2F6FC4; font-size:10.5px; font-weight:800; cursor:pointer; vertical-align:1px; }
.dv-ai-pg:hover { background:#DDE8FA; }
.dv-ai-dots { display:inline-flex; gap:4px; padding:6px 2px; }
.dv-ai-dots i { width:6px; height:6px; border-radius:50%; background:#A9CBF3; animation:dv-dots 1s ease-in-out infinite; }
.dv-ai-dots i:nth-child(2) { animation-delay:.15s; } .dv-ai-dots i:nth-child(3) { animation-delay:.3s; }
@keyframes dv-dots { 0%, 80%, 100% { opacity:.35; transform:none; } 40% { opacity:1; transform:translateY(-2px); } }
.dv-ai-ask { position:relative; display:flex; align-items:center; margin-top:10px; }
.dv-ai-in { width:100%; height:36px; border:1px solid var(--rstroke); border-radius:10px; padding:0 38px 0 11px; font-size:12.5px; color:var(--rfg1); outline:0; background:#fff; transition:border-color var(--dv-t1),box-shadow var(--dv-t1); }
.dv-ai-in:focus { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-ai-go { position:absolute; right:4px; width:28px; height:28px; border:0; border-radius:8px; background:none; color:var(--rfg3); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.dv-ai-go:hover { background:var(--dv-sel); color:#2F6FC4; }

/* ---- share sheet: gate, password, opens, Slack */
.dv-sh-lrow { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-top:12px; }
.dv-sh-lrow .dv-sh-lab { flex:0 0 150px; min-width:0; }
.rec-tabs.dv-sh-gate .rec-tab { padding:5px 12px; font-size:12.5px; }
.dv-sh-lhint { margin:6px 0 0 162px; font-size:12px; color:var(--dv-meta); line-height:1.4; }
.dv-sh-pwf { display:inline-flex; align-items:center; gap:8px; flex:1; min-width:220px; }
.dv-sh-pwf input { flex:1; min-width:0; height:34px; border:1px solid var(--rstroke); border-radius:9px; padding:0 10px; font-size:13px; outline:0; }
.dv-sh-pwf input:focus { border-color:var(--dv-sel-ring); box-shadow:0 0 0 3px rgba(90,155,232,.18); }
.dv-sh-pwf input[aria-invalid="true"] { border-color:#D70022; }
.dv-sh-pwf .rec-btn { padding:7px 12px; }
.dv-sh-pwon { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--rfg1); }
.dv-sh-pwon svg, .dv-sh-pwadd svg { width:13px; height:13px; margin:0; }
.dv-sh-pwon svg { color:#2F6FC4; }
.dv-sh-pwadd { display:inline-flex; align-items:center; gap:6px; }
button.dv-sh-hits.dv-sh-opens { border:0; background:none; padding:4px 6px; margin:-4px -6px; border-radius:8px; cursor:pointer; color:#2F6FC4; font-weight:700; }
button.dv-sh-hits.dv-sh-opens:hover { background:var(--dv-sel); }
.dv-sh-opens svg:last-child { width:10px; height:10px; }
.dv-sh-slack .dv-sh-h5 { display:flex; align-items:center; gap:6px; margin-top:0; }
.dv-sh-slackic { display:flex; color:var(--rfg2); }
.dv-sh-slackic svg { width:13px; height:13px; margin:0; }
.dv-sh-slack .dv-sh-lhint { margin-left:0; margin-top:0; }
.dv-sh-slackf { display:flex; gap:8px; margin-top:10px; }
.dv-sh-slackf .dv-input { height:36px; font-size:12.5px; }
.dv-sh-slackf .dv-sh-sll { flex:0 0 130px; }
.dv-sh-slackf .rec-btn { flex:none; padding:7px 12px; }
.dv-sh-slackon { display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:12px; background:var(--dv-hover); border:1px solid var(--dv-line); }
.dv-sh-slackon .rec-btn { padding:6px 11px; font-size:12.5px; }
.dv-sh-slackon .rec-btn svg { width:13px; height:13px; }

/* ---- opens sheet */
.dv-optab { width:100%; border-collapse:collapse; font-size:12.5px; }
.dv-optab th { text-align:left; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--rfg3); padding:0 8px 8px 0; border-bottom:1px solid var(--dv-line); position:sticky; top:0; background:#fff; }
.dv-optab td { padding:8px 8px 8px 0; border-bottom:1px solid var(--dv-line); color:var(--rfg2); vertical-align:middle; white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-optab td:first-child { white-space:normal; width:55%; }
.dv-optab tr:last-child td { border-bottom:0; }
.dv-opwho { display:flex; align-items:center; gap:10px; min-width:0; }
.dv-optag { display:inline-flex; align-items:center; gap:5px; height:22px; padding:0 8px; border-radius:999px; background:var(--dv-well); color:var(--rfg2); font-size:11.5px; font-weight:700; }
.dv-optag svg { width:12px; height:12px; margin:0; }
.dv-optag-download, .dv-optag-zip { background:var(--dv-sel); color:#2F6FC4; }

/* ---- settings: tabs, policies, leavers, labels */
.dv-setw { display:flex; flex-direction:column; gap:16px; }
.rec-tabs.dv-set-tabs { align-self:flex-start; }
.dv-set-tabs .rec-tab svg { width:15px; height:15px; }
.dv-set-lead { margin:-4px 0 0; font-size:12.5px; color:var(--dv-meta); }
.dv-set-pol .dv-switch { padding:6px 0; }
.dv-set-polsep { height:1px; background:var(--dv-line); margin:8px 0; }
.dv-lvl { list-style:none; margin:0; padding:0; }
.dv-lvr { display:flex; align-items:center; gap:12px; min-height:58px; border-bottom:1px solid var(--dv-line); }
.dv-lvr:last-child { border-bottom:0; }
.dv-lvsz { display:flex; flex-direction:column; align-items:flex-end; font-size:12.5px; font-weight:700; color:var(--rfg1); white-space:nowrap; font-variant-numeric:tabular-nums; }
.dv-lvsz small { font-size:11.5px; font-weight:400; color:var(--dv-meta); }
.dv-lvr .rec-btn { padding:7px 12px; font-size:12.5px; }
.dv-lvr .rec-btn svg { width:14px; height:14px; }
.rec-btnq.dv-lvdel:hover { color:#D70022; background:var(--rlight-red); border-color:transparent; }

/* ---- adoption (inline SVG; blue family + grey; labels in ink ≥ 11.5 px) */
.dv-ad-card { display:flex; flex-direction:column; }
.dv-ad-h { display:flex; align-items:baseline; gap:10px; margin-bottom:12px; }
.dv-ad-h h4 { margin:0; }
.dv-ad-h span { font-size:12px; color:var(--dv-meta); }
.dv-ad-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.dv-ad-kpi { padding:10px 12px; border-radius:12px; background:var(--dv-hover); border:1px solid var(--dv-line); min-width:0; }
.dv-ad-kpi b { display:block; font-size:19px; font-weight:900; color:var(--rfg1); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.dv-ad-kpi span { display:block; font-size:11.5px; color:var(--dv-meta); margin-top:2px; line-height:1.3; }
.dv-ad-svg { display:block; width:100%; height:auto; overflow:visible; }
.dv-ad-grid { stroke:#EEF0F2; stroke-width:1; }
.dv-ad-base { stroke:#DADDE1; }
.dv-ad-ax { font:600 11.5px 'Lato',sans-serif; fill:var(--dv-meta); }
.dv-ad-val { font:800 12px 'Lato',sans-serif; fill:var(--rfg1); }
.dv-ad-hit { fill:transparent; }
.dv-ad-bar { outline:0; cursor:default; }
.dv-ad-bar:hover .dv-ad-hit, .dv-ad-bar:focus-visible .dv-ad-hit { fill:rgba(90,155,232,.08); }
.dv-ad-bar path { transition:opacity var(--dv-t1); }
.dv-ad-svg:hover .dv-ad-bar path { opacity:.55; }
.dv-ad-svg:hover .dv-ad-bar:hover path { opacity:1; }
.dv-ad-tbl { margin-top:8px; font-size:12.5px; }
.dv-ad-tbl summary { cursor:pointer; font-size:12px; font-weight:700; color:#2F6FC4; width:max-content; }
.dv-adt { width:100%; border-collapse:collapse; font-size:12.5px; margin-top:6px; }
.dv-adt th { text-align:left; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--rfg3); padding:6px 8px 6px 0; border-bottom:1px solid var(--dv-line); }
.dv-adt td { padding:7px 8px 7px 0; border-bottom:1px solid var(--dv-line); color:var(--rfg2); font-variant-numeric:tabular-nums; }
.dv-adt tr:last-child td { border-bottom:0; }
.dv-adt-v { text-align:right; color:var(--rfg1); font-weight:700; }
.dv-adt th:not(:first-child) { text-align:right; }
.dv-adt-n { width:22px; color:var(--dv-meta) !important; }
.dv-adt-p { display:flex; align-items:center; gap:8px; color:var(--rfg1); font-weight:700; }
.dv-ad-meters { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.dv-ad-meter { display:flex; flex-direction:column; gap:6px; min-width:0; }
.dv-ad-mh { display:flex; align-items:baseline; gap:10px; font-size:12.5px; }
.dv-ad-mh b { color:var(--rfg1); font-weight:700; }
.dv-ad-mh span { margin-left:auto; color:var(--rfg2); font-variant-numeric:tabular-nums; white-space:nowrap; }
.dv-ad-mt { height:8px; border-radius:999px; background:var(--dv-line); overflow:hidden; }
.dv-ad-mt i { display:block; height:100%; border-radius:999px; background:#1F5FB0; }
.dv-ad-meter small { font-size:11.5px; color:var(--dv-meta); font-variant-numeric:tabular-nums; }
.dv-adt td.dv-adt-w { width:100%; }
.dv-ad-leg { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; font-size:12.5px; }
.dv-ad-leg li { display:flex; align-items:center; gap:8px; }
.dv-ad-leg i { width:10px; height:10px; border-radius:3px; flex:none; }
.dv-ad-leg b { color:var(--rfg1); font-weight:700; }
.dv-ad-leg span { margin-left:auto; color:var(--rfg2); font-variant-numeric:tabular-nums; }
.dv-ad-leg em { font-style:normal; width:42px; text-align:right; color:var(--dv-meta); font-variant-numeric:tabular-nums; }
.dv-ad-ringw { display:flex; align-items:center; gap:20px; }
.dv-ad-ring { width:128px; height:128px; flex:none; }
.dv-ad-rv { font:900 19px 'Lato',sans-serif; fill:var(--rfg1); }
.dv-ad-leg-v { flex:1; min-width:0; }
.dv-ad-sub { padding-left:18px; }
.dv-ad-sub b { font-weight:400 !important; color:var(--rfg2) !important; }
.dv-adg { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.dv-adg-b { display:flex; align-items:center; gap:10px; width:100%; border:0; background:none; padding:7px 6px; border-radius:9px; cursor:pointer; text-align:left; }
.dv-adg-b:hover { background:var(--dv-hover); }
.dv-adg-b svg { margin:0; }
.dv-adg-b span { display:flex; flex-direction:column; min-width:0; }
.dv-adg-b b { font-size:13px; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-adg-b small { font-size:11.5px; color:var(--dv-meta); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-adtools { display:flex; flex-wrap:wrap; gap:8px; }
.dv-adtool { display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 12px; border-radius:10px; border:1px solid var(--dv-line); background:var(--dv-hover); font-size:12.5px; color:var(--rfg2); }
.dv-adtool svg { width:12px; height:12px; margin:0; color:var(--rfg3); stroke-width:2.6; }
.dv-adtool b { color:var(--rfg1); }
.dv-adtool small { font-size:11.5px; color:var(--dv-meta); }
.dv-adtool.dv-on { background:#fff; }
.dv-adtool.dv-on svg { color:#2F6FC4; }
.dv-adpv { display:flex; align-items:center; flex-wrap:wrap; gap:6px 16px; margin-top:12px; padding-top:12px; border-top:1px solid var(--dv-line); font-size:12.5px; color:var(--rfg2); }
.dv-adpv b { color:var(--rfg1); font-variant-numeric:tabular-nums; }

@media (prefers-reduced-motion:reduce) {
  .dv-ai-shim, .dv-ai-dots i, .dv-pin.dv-pin-new, .dv-cmt.dv-cmt-lit { animation:none !important; }
}
.rec-menu.dv-menu:focus, .rec-menu.dv-menu:focus-visible { outline:none; }
.rec-menu.dv-mergepill .dv-mhead { padding:9px 10px 2px; font-size:13.5px; font-weight:900; letter-spacing:0; text-transform:none; color:var(--rfg1); white-space:normal; max-width:none; }
.dv-up.dv-up-quota .dv-up-n small { white-space:normal; line-height:1.35; }
.rec-menu.dv-menu .dv-mi:has(.dv-mi-l small) { padding-top:6px; padding-bottom:6px; }

/* ================================================================ v1.3
   Consultant portal › Files (.dv-cp), embedded back chip + read-only tag, the importer card
   (Settings › Overview) and the Leavers "Restored" tag. */

/* ---- embedded: back chip (consultant), view-only tag, lazy placeholder */
.dv-emb-back { gap:4px; color:var(--rfg2); }
.dv-emb-back svg { width:13px; height:13px; margin:0; }
.dv-emb-ro-tag { display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 9px; border-radius:8px; background:var(--dv-well); color:var(--dv-meta); font-size:11.5px; font-weight:800; white-space:nowrap; }
.dv-emb-ro-tag svg { width:13px; height:13px; margin:0; }
.dv-emb-lazy { min-height:120px; }

/* ---- consultant portal: page head, project cards, lists */
.dv-root.dv-cp { padding:0; }
.dv-cp-head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 18px; }
.dv-cp-mark { width:38px; height:38px; border-radius:10px; background:#fff; border:1px solid var(--rstroke); color:var(--rbrand); display:flex; align-items:center; justify-content:center; flex:none;
  box-shadow:0 1px 2px rgba(7,9,22,.06),0 4px 10px -6px rgba(7,9,22,.18); }
.dv-cp-mark svg { width:18px; height:18px; }
.dv-cp-title { display:flex; flex-direction:column; min-width:0; line-height:1.15; flex:1 1 auto; }
.dv-cp-eyebrow { font-size:10.5px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--rfg3); }
.dv-cp-title h2 { margin:0; font-size:21px; font-weight:900; letter-spacing:-.01em; color:var(--rfg1); }
.dv-search.dv-cp-search { width:320px; max-width:none; flex:0 1 320px; }
.dv-cp-qx { width:28px; height:28px; margin-right:4px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--rfg3); flex:none; }
.dv-cp-qx:hover { background:var(--dv-well); color:var(--rfg1); }
.dv-cp-qx svg { width:13px; height:13px; }
.dv-cp-qx[hidden] { display:none; }
.dv-cp-body[hidden], .dv-cp-emb[hidden] { display:none; }
.dv-cp-sec { margin:0 0 26px; container-type:inline-size; container-name:dvmain; }
.dv-cp-sec .dv-sec { display:flex; align-items:center; gap:8px; }
.dv-cp-cnt { font-size:10.5px; font-weight:800; letter-spacing:0; color:var(--rfg2); background:rgba(7,9,22,.06); border-radius:999px; padding:0 7px; line-height:18px; }
.dv-cp-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:12px; }
.dv-cp-card { display:flex; align-items:center; gap:12px; min-width:0; padding:14px 14px 14px 12px; background:#fff; border:1px solid var(--rstroke); border-radius:14px; text-align:left; cursor:pointer;
  box-shadow:var(--rsh-sm); transition:border-color var(--dv-t1) var(--dv-ease), box-shadow var(--dv-t2) var(--dv-ease), transform var(--dv-t2) var(--dv-ease); }
.dv-cp-card:hover { border-color:#D5D8DC; box-shadow:0 6px 18px -8px rgba(7,9,22,.18); transform:translateY(-1px); }
.dv-cp-card:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-cp-card:active { transform:none; }
.dv-cp-fold { flex:none; display:flex; }
.dv-cp-fold svg { margin:0; }
.dv-cp-ct { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 auto; }
.dv-cp-ct b { font-size:13.5px; font-weight:800; color:var(--rfg1); line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.dv-cp-ct small { font-size:12px; color:var(--dv-meta); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-cp-n { flex:none; align-self:flex-start; font-size:11px; font-weight:800; color:var(--rfg2); background:var(--dv-well); border-radius:7px; padding:2px 7px; white-space:nowrap; }
.dv-cp-listw { background:#fff; border:1px solid var(--rstroke); border-radius:16px; padding:6px 0; }
.dv-cp-list.dv-emb-list { padding:0 16px; }
.dv-row.dv-cp-row { height:auto; min-height:54px; padding-top:7px; padding-bottom:7px; cursor:pointer; }
.dv-cp-row .dv-c-name { display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:0; }
.dv-cp-sub { font-size:11.5px; color:var(--dv-meta); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-cp-none { font-size:13px; color:var(--dv-meta); margin:0; padding:14px 16px; background:#fff; border:1px solid var(--rstroke); border-radius:14px; }
.dv-empty.dv-cp-empty { margin:40px auto 30px; max-width:400px; padding:0 8px; }
.dv-empty.dv-cp-empty-s { margin:26px auto 20px; }
.dv-cp-wait { position:relative; inset:auto; padding:48px 0; }
.dv-cp-emb .dv-emb-in { min-height:260px; }
@container dvmain (max-width:560px) {
  .dv-cp-list.dv-emb-list { padding:0 12px; }
}
@media (max-width:640px) {
  .dv-cp-head { gap:10px; margin-bottom:14px; }
  .dv-cp-mark { width:34px; height:34px; }
  .dv-cp-title h2 { font-size:18px; }
  .dv-search.dv-cp-search { flex:1 1 100%; width:auto; order:3; height:40px; }
  .dv-cp-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
  .dv-cp-card { padding:12px; }
}
@media (hover:none) { .dv-cp-card:hover { transform:none; } }

/* ---- importer (Settings › Overview › Import from Google Drive) */
.dv-set-impc > .dv-set-sub { margin:0 0 12px; max-width:720px; }
.dv-set-imp .dv-input { flex:1 1 240px; min-width:0; height:36px; font-size:12.5px; }
.dv-set-imp .rec-btn:disabled, .dv-set-imp .rec-tab:disabled, .dv-set-imp .dv-input:disabled { opacity:.5; cursor:default; }
.dv-imp-note { display:flex; align-items:flex-start; gap:8px; margin:12px 0 0; padding:9px 12px; border-radius:10px; background:var(--dv-well); color:var(--rfg2); font-size:12.5px; font-weight:700; line-height:1.45; }
.dv-imp-note svg { width:14px; height:14px; margin:2px 0 0; color:var(--rfg3); }
.dv-imp-note[hidden] { display:none; }
.dv-imp-card { margin:14px 0 0; padding:14px 16px; border:1px solid var(--rstroke); border-radius:14px; background:#fff; }
.dv-imp-card.dv-imp-run { border-color:#CFE0F7; background:linear-gradient(#FBFDFF,#fff); }
.dv-imp-top { display:flex; align-items:center; gap:10px; min-width:0; }
.dv-imp-ic { flex:none; display:flex; }
.dv-imp-ic svg { margin:0; }
.dv-imp-t { display:flex; flex-direction:column; min-width:0; flex:1 1 auto; }
.dv-imp-t b { font-size:13.5px; font-weight:800; color:var(--rfg1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-imp-t small { font-size:12px; color:var(--dv-meta); }
.dv-imp-pill { display:inline-flex; align-items:center; gap:5px; flex:none; font-size:11px; font-weight:800; border-radius:999px; padding:2px 9px; background:var(--dv-well); color:var(--rfg2); white-space:nowrap; }
.dv-imp-pill.dv-imp-running, .dv-imp-pill.dv-imp-queued { background:var(--dv-sel); color:#1F4F92; }
.dv-imp-pill.dv-imp-done { background:#E8F5EE; color:#1B6B41; }
.dv-imp-pill.dv-imp-failed { background:var(--rlight-red); color:#B4172C; }
.dv-imp-pill.dv-imp-cancelled { background:var(--dv-well); color:var(--dv-meta); }
.dv-imp-dot { width:6px; height:6px; border-radius:50%; background:var(--dv-sel-ring); animation:dv-imp-blink 1.6s ease-in-out infinite; }
@keyframes dv-imp-blink { 50% { opacity:.3; } }
.dv-imp-bar { height:3px; margin:12px 0 10px; border-radius:2px; background:#EDF2FA; overflow:hidden; position:relative; }
.dv-imp-bar i { position:absolute; top:0; bottom:0; left:0; width:100%; border-radius:2px; background:var(--dv-sel-ring); }
.dv-imp-bar.dv-imp-ind i { width:32%; animation:dv-imp-slide 1.5s cubic-bezier(.45,.05,.55,.95) infinite; }
.dv-imp-bar.dv-imp-stop i { width:100%; background:#D5D8DC; }
@keyframes dv-imp-slide { from { transform:translateX(-100%); } to { transform:translateX(320%); } }
.dv-imp-txt { margin:0; font-size:13px; font-weight:700; color:var(--rfg1); font-variant-numeric:tabular-nums; }
.dv-imp-txt .dv-in-a { font-size:13px; }
.dv-imp-cnt { margin:4px 0 0; font-size:12px; color:var(--dv-meta); font-variant-numeric:tabular-nums; display:flex; flex-wrap:wrap; gap:4px 10px; }
.dv-imp-log { color:var(--rfg3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.dv-imp-btns { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.dv-imp-btns .rec-btn { padding:7px 12px; font-size:12.5px; }
.dv-imp-btns .rec-btn svg { width:14px; height:14px; margin:0; }
.dv-imp-x:hover { color:#D70022; background:var(--rlight-red); border-color:#F6C9CD; }
.dv-imp-err { margin-top:8px; font-size:12.5px; }
.dv-imp-err summary { display:inline-flex; align-items:center; gap:4px; cursor:pointer; list-style:none; color:#2F6FC4; font-weight:700; }
.dv-imp-err summary::-webkit-details-marker { display:none; }
.dv-imp-err summary svg { width:12px; height:12px; margin:0; transition:transform var(--dv-t2) var(--dv-ease); }
.dv-imp-err[open] summary svg { transform:rotate(90deg); }
.dv-imp-err ul { list-style:none; margin:8px 0 0; padding:8px 10px; border-radius:10px; background:var(--dv-well); max-height:220px; overflow:auto; display:flex; flex-direction:column; gap:5px; }
.dv-imp-err li { display:flex; flex-wrap:wrap; gap:2px 8px; min-width:0; }
.dv-imp-err li b { font-weight:700; color:var(--rfg1); overflow-wrap:anywhere; }
.dv-imp-err li span { color:var(--dv-meta); }
.dv-imp-h { margin:18px 0 6px; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--dv-meta); }
.dv-imp-list { list-style:none; margin:0; padding:0; }
.dv-imp-list li { display:flex; align-items:center; gap:10px; min-height:50px; padding:6px 0; border-bottom:1px solid var(--dv-line); }
.dv-imp-list li:last-child { border-bottom:0; }
.dv-imp-lt { display:flex; flex-direction:column; min-width:0; flex:1 1 auto; }
.dv-imp-lt b { font-size:13px; font-weight:800; color:var(--rfg1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-imp-lt small { font-size:12px; color:var(--dv-meta); }
.dv-imp-lt .dv-imp-err { margin-top:2px; }
.rec-btnq.dv-imp-go { width:32px; height:32px; }
span.dv-imp-go { width:32px; flex:none; }
@media (prefers-reduced-motion: reduce) { .dv-imp-bar.dv-imp-ind i { animation:none; width:100%; opacity:.5; } .dv-imp-dot { animation:none; } }

/* ---- Leavers: restore */
.dv-tag.dv-lv-back { color:#1B6B41; background:#E8F5EE; font-size:11.5px; padding:4px 9px; }
.dv-tag.dv-lv-back svg { width:12px; height:12px; }
.dv-emb-ask { margin-top:14px !important; font-size:12.5px !important; color:var(--dv-meta) !important; }
/* embedded path on narrow widths: "‹ parent › last" (the up button), never a second row */
.dv-emb-up { display:none !important; }
@container dvmain (max-width:560px) {
  .dv-emb-bar { flex-wrap:nowrap; gap:6px; padding-left:8px; padding-right:8px; }
  .dv-emb-bar .dv-emb-path { flex:1 1 auto; min-width:0; }
  .dv-emb-path .dv-seg:not(.dv-seg-last):not(.dv-emb-back):not(.dv-emb-up), .dv-emb-path .dv-sep:not(.dv-sep-last) { display:none; }
  .dv-emb-path.dv-deep .dv-emb-back { display:none; }
  .dv-emb-path .dv-emb-up { display:inline-flex !important; gap:3px; max-width:42%; flex:0 1 auto; min-width:0; color:var(--rfg2); }
  .dv-emb-path .dv-emb-up svg { width:13px; height:13px; margin:0; flex:none; }
  .dv-emb-path .dv-emb-back { flex:none; }
  .dv-emb-path .dv-seg-last { flex:0 1 auto; min-width:0; max-width:none; }
  .dv-emb-bar .dv-emb-b { padding:7px 9px; }
  .dv-emb-ro-tag { padding:0 8px; flex:none; gap:4px; font-size:11.5px; }
  .dv-emb-list .dv-c-size { min-width:0; }
  .dv-emb-list .dv-c-size .dv-dim { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
.dv-imp-lt small.dv-imp-why { color:var(--rfg2); }

/* ---- v1.3 review ux3 */
/* consultant Quick Look › Details: the description as text; comments without a call to action */
.dv-in-desc-ro p { margin:0; font-size:13px; line-height:1.5; color:var(--rfg2); white-space:pre-wrap; overflow-wrap:anywhere; }
.dv-in-empty.dv-in-empty-ro p { margin-top:4px; }
/* a person grant paused while they are off the dashboard */
.dv-tag.dv-sh-paused { margin-left:6px; vertical-align:1px; font-size:10px; letter-spacing:.02em; color:var(--rfg3); background:var(--dv-well); font-weight:800; }
/* embedded rows: breathing room between the name and the date column */
.dv-emb-row .dv-c-name { padding-right:14px; }
.dv-search.dv-cp-search[hidden] { display:none; }
/* no folder yet (client / proposal / project): one compact row, the button on the right */
.dv-emb-in.dv-emb-in-none { min-height:0; padding:0; }
.dv-emb-none { display:flex; align-items:center; gap:16px; margin:0; padding:18px 20px; text-align:left; }
.dv-emb-none .dv-emb-fold { margin:0; flex:none; }
.dv-emb-nt { flex:1 1 auto; min-width:0; }
.dv-emb-nt h3 { margin:0; font-size:14px; font-weight:800; color:var(--rfg1); }
.dv-emb-nt p { margin:3px 0 0; font-size:12.5px; line-height:1.45; color:var(--rfg3); }
.dv-emb-nt .dv-emb-exp { display:inline-flex !important; align-items:flex-start; text-align:left; white-space:normal; margin-top:8px !important; max-width:100%; }
.dv-emb-nt .dv-emb-exp svg { margin-top:2px; }
.dv-emb-nt .dv-emb-exp span { min-width:0; overflow-wrap:anywhere; }
.dv-emb-nt .dv-emb-ask { margin-top:6px !important; }
.dv-emb-none .rec-btn.dv-emb-mk, .dv-emb-none .rec-btn.dv-emb-mk:hover, .dv-emb-none .rec-btn.dv-emb-mk:focus { flex:none; box-shadow:none; white-space:nowrap; }
@container dvmain (max-width:520px) {
  .dv-emb-none { flex-wrap:wrap; align-items:flex-start; gap:12px 14px; padding:16px; }
  .dv-emb-nt { flex:1 1 calc(100% - 60px); }
  .dv-emb-none .rec-btn.dv-emb-mk { margin-left:58px; }
}
/* Leavers: the status on its own line, a fixed actions column */
.dv-lvr .dv-sh-who { flex:1 1 auto; min-width:0; }
.dv-lvst { display:block; margin-top:3px; font-size:12px; color:var(--dv-meta); line-height:1.4; }
.dv-lv-again { display:inline-flex; align-items:center; padding:2px 9px; border-radius:999px; background:var(--dv-sel); color:#1F4F92; font-size:11.5px; font-weight:800; }
.dv-lvact { flex:0 0 272px; display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.dv-lv-err { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.dv-lv-err .dv-set-sub { margin:0; flex:1 1 240px; }
/* importer */
.dv-imp-card .dv-imp-log { margin:3px 0 0; font-size:12px; color:var(--rfg3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-imp-none { margin:0; font-size:12.5px; color:var(--dv-meta); }
.dv-imp-why code, .dv-imp-txt code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.92em; background:var(--dv-well); padding:0 4px; border-radius:4px; overflow-wrap:anywhere; }
.dv-imp-note code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11.5px; font-weight:600; color:var(--rfg1); background:#fff; padding:1px 5px; border-radius:5px; overflow-wrap:anywhere; }
.dv-imp-err li { flex-direction:column; gap:1px; }
.dv-imp-en { display:flex; flex-direction:column; min-width:0; }
.dv-imp-err li .dv-imp-en small { font-size:11.5px; color:var(--rfg3); overflow-wrap:anywhere; }
.dv-imp-err li .dv-imp-er { color:var(--rfg2); }
/* the drop hint means nothing without a mouse */
@media (hover:none), (pointer:coarse), (max-width:480px) { .dv-drophint { display:none; } }
@media (max-width:480px) {
  .dv-imp-list li { align-items:flex-start; }
  .dv-lvact { flex:1 1 calc(100% - 46px); margin-left:46px; justify-content:flex-start; }
  .dv-lvr .dv-sh-who small { white-space:normal; overflow-wrap:anywhere; }
}
/* consultant rows on phones: the name gets the width (no date column, a narrow size column) */
@media (max-width:400px) {
  .dv-cp-list.dv-emb-list { --dv-cols:30px minmax(0,1fr) 0 52px 32px; }
  .dv-cp-list .dv-c-mod { visibility:hidden; overflow:hidden; }
}
@container dvmain (max-width:400px) { .dv-emb-list { --dv-cols:30px minmax(0,1fr) 0 58px 34px; } .dv-emb-row .dv-c-name { padding-right:8px; } }

/* ---------------------------------------------------------------- v1.4 Google Drive sync pairs
   Settings › Overview › Google Drive (Sync | Import once), the connect form (also in the folder's
   "Sync with Google…" sheet), the connected list, the delete-guard note (soft amber, never red),
   badges (rail · tiles · rows: two arrows, amber when it needs attention), the inspector Sync row,
   conflict chips and the Files-tab head chip. Amber = #FFF6E5 / #8A5300; blue = the selection family. */
.dv-root, .dv-menu, .dv-sheet, .dv-ql, .dv-toast { --dv-amber-bg:#FFF6E5; --dv-amber-line:#F3DDB2; --dv-amber-fg:#8A5300; --dv-amber-glyph:#D98A00; }
.dv-set-gd .dv-gd-h { display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; margin:0 0 12px; }
.dv-set-gd .dv-gd-h h4 { display:flex; align-items:center; gap:8px; margin:0; flex:1 1 auto; }
.dv-set-gd .dv-gd-h h4 svg { margin:0; }
.dv-imp-ic svg, .dv-sy-vg svg, .dv-sy-cg svg, .dv-syr-ic svg { margin:0; }
.dv-gd-pane[hidden] { display:none; }
.dv-set-gd { container:dvgd / inline-size; }
.dv-gd-ic { display:inline-flex; flex:none; }
.dv-gd-pane > .dv-set-sub { margin:0 0 4px; max-width:760px; }
/* the form */
.dv-sy-form { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:0 16px; align-items:start; }
.dv-sy-fm, .dv-sy-go, .dv-sy-off, .dv-sy-err { grid-column:1 / -1; }
.dv-sy-form.dv-sy-fixed { grid-template-columns:minmax(0,1fr); }
.dv-sy-form .dv-sy-url { height:40px; }
.dv-sy-form .dv-sy-url:disabled, .dv-sy-form .rec-btn:disabled { opacity:.5; cursor:default; }
.dv-sy-dest { display:flex; align-items:center; gap:10px; min-height:40px; box-sizing:border-box; padding:3px 4px 3px 10px; border:1px solid var(--rstroke); border-radius:10px; background:#fff; min-width:0; }
.dv-sy-dest-ic { flex:none; display:flex; color:var(--rfg2); }
.dv-sy-dest-ic svg { margin:0; }
.dv-sy-dest-n { display:flex; flex-direction:column; min-width:0; flex:1 1 auto; line-height:1.2; }
.dv-sy-dest-n b { font-size:13px; font-weight:800; color:var(--rfg1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-sy-dest-n small { font-size:11.5px; color:var(--dv-meta); }
.dv-sy-choose { flex:none; padding:0 10px; height:32px; font-size:12.5px; gap:6px; }
.dv-sy-choose svg { width:14px; height:14px; margin:0; }
.dv-sy-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.dv-sy-m { display:flex; align-items:flex-start; gap:10px; text-align:left; padding:10px 12px; border:1px solid var(--rstroke); border-radius:12px; background:#fff; cursor:pointer; min-width:0;
  transition:border-color var(--dv-t1) var(--dv-ease), background var(--dv-t1) var(--dv-ease), box-shadow var(--dv-t1) var(--dv-ease); }
.dv-sy-m:hover { background:var(--dv-hover); }
.dv-sy-m:focus-visible { outline:0; box-shadow:var(--dv-focus); }
.dv-sy-m.dv-on { background:var(--dv-sel); border-color:var(--dv-sel-ring); box-shadow:0 0 0 1px var(--dv-sel-ring) inset; }
.dv-sy-mi { flex:none; width:28px; height:28px; border-radius:8px; background:var(--dv-well); color:var(--rfg2); display:flex; align-items:center; justify-content:center; }
.dv-sy-m.dv-on .dv-sy-mi { background:#fff; color:#2F6FC4; }
.dv-sy-mt { display:flex; flex-direction:column; gap:2px; min-width:0; }
.dv-sy-mt b { font-size:13px; font-weight:800; color:var(--rfg1); }
.dv-sy-mt small { font-size:12px; line-height:1.35; color:var(--dv-meta); }
.dv-sy-go { display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; margin-top:14px; }
.dv-sy-go .rec-btn1 { margin-left:auto; }
.dv-sy-go .rec-btn svg { width:15px; height:15px; margin:0; }
.dv-sy-note { display:flex; align-items:flex-start; gap:7px; margin:0; font-size:12.5px; color:var(--dv-meta); line-height:1.4; flex:1 1 260px; min-width:0; }
.dv-sy-note svg { width:14px; height:14px; margin:1px 0 0; color:var(--rfg3); }
.dv-sy-note-s { margin:12px 0 4px; }
.dv-sy-err { display:flex; align-items:flex-start; gap:8px; margin:12px 0 0; padding:9px 12px; border-radius:10px; background:var(--rlight-red); color:#A3142A; font-size:12.5px; font-weight:700; line-height:1.45; }
.dv-sy-err[hidden] { display:none; }
.dv-sy-err svg { width:14px; height:14px; margin:2px 0 0; }
.dv-sy-wait { position:relative; inset:auto; padding:20px 0; }
/* the connected list */
.dv-sy-list { list-style:none; margin:0; padding:0; }
.dv-syr { display:grid; grid-template-columns:40px minmax(0,1fr) 36px; gap:0 12px; align-items:start; padding:12px 0; border-top:1px solid var(--dv-line); }
.dv-sy-list > .dv-syr:first-child { border-top:0; }
.dv-sheet .dv-syr { padding-top:4px; }
.dv-syr-ic { position:relative; display:flex; padding-top:2px; }
.dv-syr-ic > svg { margin:0; }
.dv-syr-ib { position:absolute; right:-3px; bottom:-3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 0 0 1px var(--rstroke),0 1px 2px rgba(7,9,22,.08); color:#2F6FC4; display:flex; align-items:center; justify-content:center; }
.dv-syr-ib svg { stroke-width:2.4; }
.dv-syr-att .dv-syr-ib { color:var(--dv-amber-glyph); }
.dv-syr-t { display:flex; flex-direction:column; gap:4px; min-width:0; }
.dv-syr-n { display:flex; align-items:baseline; gap:4px 8px; flex-wrap:wrap; min-width:0; }
.dv-syr-f { border:0; background:none; padding:0; font-size:13.5px; font-weight:800; color:var(--rfg1); cursor:pointer; text-align:left; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-syr-f:hover { text-decoration:underline; text-underline-offset:2px; }
.dv-syr-n small { font-size:12px; color:var(--dv-meta); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-syr-g { display:flex; align-items:center; gap:6px; min-width:0; font-size:12.5px; color:var(--rfg2); }
.dv-syr-g svg { margin:0; }
.dv-syr-g a { color:var(--rfg2); font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:3px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-syr-g a:hover { color:#2F6FC4; }
.dv-syr-ext { display:inline-flex; color:var(--rfg3); flex:none; }
.dv-syr-ext svg { width:11px; height:11px; }
.dv-syr-m { display:flex; align-items:center; gap:6px 8px; flex-wrap:wrap; margin-top:2px; }
.dv-syr-c { font-size:12px; color:var(--dv-meta); font-variant-numeric:tabular-nums; }
.dv-syr-more { margin-top:-2px; }
.dv-sy-mode, .dv-sy-st, .dv-sy-conf { display:inline-flex; align-items:center; gap:5px; height:22px; padding:0 9px; border-radius:999px; font-size:11.5px; font-weight:800; white-space:nowrap; flex:none; }
.dv-sy-mode svg, .dv-sy-st svg, .dv-sy-conf svg { width:12px; height:12px; margin:0; }
.dv-sy-mode { background:var(--dv-well); color:var(--rfg2); }
.dv-sy-st.dv-sy-ok { background:#E8F5EE; color:#1B6B41; }
.dv-sy-st.dv-sy-running { background:var(--dv-sel); color:#1F4F92; }
.dv-sy-st.dv-sy-paused { background:var(--dv-well); color:var(--dv-meta); }
.dv-sy-st.dv-sy-attention, .dv-sy-st.dv-sy-conflict { background:var(--dv-amber-bg); color:var(--dv-amber-fg); }
.dv-sy-conf { border:1px solid var(--dv-amber-line); background:var(--dv-amber-bg); color:var(--dv-amber-fg); cursor:pointer; font-family:inherit; }
.dv-sy-conf:hover { border-color:var(--dv-amber-glyph); }
.dv-sy-guard { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:4px 10px; margin-top:6px; padding:8px 12px; border-radius:10px; background:var(--dv-amber-bg); border:1px solid var(--dv-amber-line); color:var(--dv-amber-fg); font-size:12.5px; font-weight:700; line-height:1.4; }
.dv-sy-guard > svg { width:14px; height:14px; margin:0; color:var(--dv-amber-glyph); }
.dv-sy-guard > span { min-width:0; }
.dv-sy-guard .dv-in-a { color:var(--dv-amber-fg); text-decoration:underline; text-underline-offset:2px; }
.dv-sy-errl { display:flex; align-items:flex-start; gap:6px; font-size:12.5px; color:var(--dv-amber-fg); line-height:1.4; }
.dv-sy-errl svg { width:13px; height:13px; margin:2px 0 0; color:var(--dv-amber-glyph); flex:none; }
.dv-sy-errl > span { min-width:0; }
.dv-sy-errl .dv-sy-again { flex:none; margin-left:4px; color:var(--dv-amber-fg); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.dv-sy-runs { margin-top:2px; }
.dv-sy-runs ul { margin-top:6px; }
.dv-sy-runs ul { padding:4px 12px; gap:0; max-width:640px; }
.dv-sy-runs li.dv-sy-run { display:grid; grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto; gap:2px 14px; align-items:center; text-align:left; padding:7px 0; border-top:1px solid rgba(7,9,22,.06); }
.dv-sy-runs li.dv-sy-run:first-child { border-top:0; }
.dv-sy-rt { display:flex; gap:6px; align-items:baseline; min-width:0; }
.dv-sy-rt b { font-weight:800; color:var(--rfg1); white-space:nowrap; }
.dv-sy-rt small { font-size:11.5px; color:var(--rfg3); white-space:nowrap; }
.dv-sy-rc { display:flex; flex-direction:column; min-width:0; color:var(--rfg2); font-variant-numeric:tabular-nums; }
.dv-sy-rc small { font-size:11.5px; color:var(--dv-amber-fg); overflow-wrap:anywhere; }
.dv-sy-runs .dv-imp-pill { justify-self:end; }
.dv-sy-runsb .dv-ql-wait { position:relative; inset:auto; padding:10px 0; }
/* badges */
.dv-rsync { color:#5A9BE8; display:flex; flex:none; margin-left:2px; }
.dv-rsync svg { width:11px; height:11px; stroke-width:2.4; }
.dv-fsy { color:#5A9BE8; display:flex; flex:none; }
.dv-fsy svg { width:12px; height:12px; stroke-width:2.4; }
.dv-rbdg.dv-bsync { color:#5A9BE8; }
.dv-bdg.dv-bsync { color:#2F6FC4; }
.dv-rsync.dv-sy-att, .dv-fsy.dv-sy-att, .dv-rbdg.dv-bsync.dv-sy-att, .dv-bdg.dv-bsync.dv-sy-att { color:var(--dv-amber-glyph, #D98A00); }
/* needs attention: a soft-amber pill (#FFF6E5 on a #F3DDB2 ring), not just an amber glyph */
.dv-rsync.dv-sy-att, .dv-fsy.dv-sy-att, .dv-rbdg.dv-bsync.dv-sy-att, .dv-bdg.dv-bsync.dv-sy-att {
  background:#FFF6E5; box-shadow:0 0 0 1px #F3DDB2 inset; border-radius:999px; padding:2px 6px; align-items:center; justify-content:center; }
.dv-rsync.dv-sy-att { padding:1px 5px; }
/* the folder tile: the badge right after the name */
.dv-fnl { display:flex; align-items:center; gap:6px; min-width:0; }
.dv-fnl > .dv-name { min-width:0; }
.dv-fnl > .dv-fsy { flex:none; }
.dv-rsync.dv-sy-pau, .dv-fsy.dv-sy-pau, .dv-rbdg.dv-bsync.dv-sy-pau, .dv-bdg.dv-bsync.dv-sy-pau { color:var(--rfg3); }
.dv-rbdg.dv-bconf { color:var(--dv-amber-glyph, #D98A00); }
.dv-bdg.dv-bconf { color:var(--dv-amber-glyph, #D98A00); background:#FFFBF2; box-shadow:0 0 0 1px var(--dv-amber-line, #F3DDB2),0 1px 2px rgba(7,9,22,.08); }
.dv-mhead.dv-mhead-conf { display:flex; align-items:center; gap:7px; padding:8px 10px 6px; font-size:12px; font-weight:700; letter-spacing:0; text-transform:none; color:var(--dv-amber-fg); }
/* the inspector's Sync row */
.dv-facts dd.dv-dd-sy { display:flex; align-items:center; flex-wrap:wrap; gap:6px 8px; }
.dv-in-sy { display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.dv-in-syc { font-size:12px; color:var(--dv-meta); }
.dv-in-sya { display:inline-flex; gap:10px; flex-wrap:wrap; }
.dv-in-syk { display:inline-flex; flex-wrap:wrap; gap:4px 12px; font-size:12.5px; color:var(--rfg3); }
.dv-facts dd.dv-dd-sy { min-width:0; }
.dv-dd-sy .dv-sy-st, .dv-dd-sy .dv-sy-mode { flex:0 1 auto; min-width:0; max-width:100%; }
.dv-dd-sy .dv-sy-st > span, .dv-dd-sy .dv-sy-mode > span { overflow:hidden; text-overflow:ellipsis; }
.dv-dd-sy .dv-sy-st svg, .dv-dd-sy .dv-sy-mode svg { flex:none; }
.dv-in-syg { display:inline-flex; align-items:center; gap:3px; }
.dv-in-a.dv-in-syconf { color:var(--dv-amber-fg); }
/* the Files-tab head chip */
.dv-sy-chip { display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px; border-radius:999px; font-size:12px; font-weight:800; white-space:nowrap; flex:none; min-width:0; max-width:100%; overflow:hidden; border:1px solid transparent; }
.dv-sy-chip svg { width:13px; height:13px; margin:0; flex:none; }
.dv-sy-chip > span:last-child { overflow:hidden; text-overflow:ellipsis; }
.dv-sy-chip.dv-sy-ok { background:#EFF7F2; color:#1B6B41; border-color:#D5EBDD; }
.dv-sy-chip.dv-sy-running { background:var(--dv-sel); color:#1F4F92; border-color:#D5E3F7; }
.dv-sy-chip.dv-sy-paused { background:var(--dv-well); color:var(--dv-meta); border-color:var(--rstroke); }
.dv-sy-chip.dv-sy-attention { background:var(--dv-amber-bg); color:var(--dv-amber-fg); border-color:var(--dv-amber-line); }
.dv-sy-chm { font-weight:700; opacity:.85; }
/* narrow Files tabs (phones, the proposal card): the bar never takes a second row (see the embedded
   path rules), so the chip folds to its glyph on a state-coloured round tile; the words stay in its title */
@container dvmain (max-width:900px) { .dv-emb-bar .dv-sy-chm, .dv-bar .dv-sy-chm { display:none; } }
/* ≤560 px the chip keeps a short word ("In sync" · "Syncing…" · "Paused" · an amber dot + "Check"), never a bare glyph */
.dv-sy-chs { display:none; }
@container dvmain (max-width:560px) {
  .dv-emb-bar .dv-sy-chip, .dv-bar .dv-sy-chip { padding:0 10px; gap:5px; }
  .dv-emb-bar .dv-sy-chl, .dv-bar .dv-sy-chl { display:none; }
  .dv-emb-bar .dv-sy-chs, .dv-bar .dv-sy-chs { display:inline; }
}
.dv-sy-dot { width:7px; height:7px; border-radius:50%; background:var(--dv-amber-glyph, #D98A00); flex:none; display:inline-block; }
/* the paired folder's own page: the chip beside the path */
.dv-bar-sy { display:flex; align-items:center; flex:none; min-width:0; margin-left:8px; }
.dv-bar-sy[hidden] { display:none; }
.dv-bar-sy .dv-sy-chip { height:28px; }
/* sheets */
.dv-sy-sheet .dv-sh-b, .dv-sy-gsheet .dv-sh-b, .dv-sy-csheet .dv-sh-b { padding-bottom:18px; }
.dv-sy-sheet .dv-sy-modes { grid-template-columns:minmax(0,1fr); }
.dv-sy-sheet .dv-sy-m { align-items:center; }
.dv-sy-inh { display:flex; align-items:flex-start; gap:14px; padding:8px 0 4px; }
.dv-sy-inh > svg { margin:0; flex:none; }
.dv-sy-inh h4 { margin:0 0 4px; font-size:14px; font-weight:900; color:var(--rfg1); }
.dv-sy-inh p { margin:0 0 12px; font-size:13px; color:var(--rfg2); line-height:1.45; }
.dv-sy-inh .rec-btn svg { width:14px; height:14px; margin:0; }
.dv-sy-gl { margin:0 0 10px; font-size:13px; color:var(--rfg2); line-height:1.5; }
.dv-sy-vl { list-style:none; margin:0; padding:6px; border-radius:12px; background:var(--dv-well); max-height:min(320px,42vh); overflow:auto; display:flex; flex-direction:column; gap:2px; }
.dv-sy-vl li { display:flex; align-items:center; gap:10px; padding:5px 8px; border-radius:8px; min-width:0; }
.dv-sy-vl li.dv-dim { font-size:12.5px; padding-left:38px; }
.dv-sy-vg { flex:none; display:flex; }
.dv-sy-vg svg { margin:0; }
.dv-sy-vn { display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.dv-sy-vn b { font-size:13px; font-weight:700; color:var(--rfg1); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-sy-vn small { font-size:11.5px; color:var(--dv-meta); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-sy-su { display:flex; align-items:center; gap:7px; margin:0; font-size:12.5px; font-weight:700; color:var(--dv-meta); }
.dv-sy-su svg { width:13px; height:13px; margin:0; color:var(--rfg3); }
.dv-sy-gt { display:flex; align-items:center; gap:7px; margin:10px 0 0; font-size:12.5px; color:var(--dv-meta); }
.dv-sy-gt svg { width:13px; height:13px; margin:0; color:var(--rfg3); }
.dv-sy-cl { list-style:none; margin:0; padding:0; }
.dv-sy-cl li { display:flex; align-items:center; gap:12px; padding:10px 0; border-top:1px solid var(--dv-line); flex-wrap:wrap; }
.dv-sy-cl li:first-child { border-top:0; }
.dv-sy-cg { flex:none; display:flex; }
.dv-sy-cg svg { margin:0; }
.dv-sy-ct { display:flex; flex-direction:column; min-width:0; flex:1 1 200px; line-height:1.3; }
.dv-sy-ct b { font-size:13px; font-weight:800; color:var(--rfg1); overflow-wrap:anywhere; }
.dv-sy-ct small { font-size:12px; color:var(--dv-meta); }
.dv-sy-side { display:flex; align-items:center; gap:6px; margin-top:3px; font-size:12px; color:var(--dv-meta); min-width:0; }
.dv-sy-sic { display:inline-flex; flex:none; width:16px; justify-content:center; color:var(--rfg3); }
.dv-sy-sic svg { width:14px; height:14px; margin:0; }
.dv-sy-sl { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dv-sy-side .dv-in-a { flex:none; display:inline-flex; align-items:center; gap:3px; font-size:12px; }
.dv-sy-side .dv-in-a svg { width:11px; height:11px; margin:0; }
.dv-sy-ck .rec-btn { display:inline-flex; align-items:center; gap:6px; }
.dv-sy-ck .rec-btn svg { width:14px; height:14px; margin:0; flex:none; }
.dv-sy-ck { display:flex; gap:6px; flex:none; margin-left:auto; }
.dv-sy-ck .rec-btn { padding:6px 11px; font-size:12.5px; }
@media (prefers-reduced-motion:reduce) { .dv-sy-m { transition:none; } }
.dv-cfn-full { display:contents; }
.dv-cfn-short, .dv-cfsub { display:none; }
@media (max-width:480px) {
  .dv-cfn-full { display:none; }
  .dv-cfn-short { display:contents; }
  .dv-cfsub { display:block; font-size:11.5px; line-height:1.3; color:var(--dv-amber-fg); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; margin-top:1px; }
}
/* the Google Drive card folds to one column by its own width (1024 + sidebar, phones); after the base rules so it wins */
@container dvgd (max-width:700px) {
  .dv-sy-form { grid-template-columns:minmax(0,1fr); }
  .dv-sy-modes { grid-template-columns:minmax(0,1fr); }
  .dv-sy-m { align-items:center; }
}
