/* Atlas v2 — Engraved Plate product UI.
   Paper / cobalt / IBM Plex Sans / square corners / hairline rules.
   No backdrop-filter, no drop shadows, no second type family. */

/* ---- reset: undo style.css's global button/input skin on this page.
   v2.css is page-scoped and loads after style.css (base.html late_head),
   so plain-element selectors here safely re-neutralize the globals. ---- */
button, [role="button"] {
  font: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: none;
  padding: 0; background: none; color: inherit; border: none; border-radius: 0; transition: none;
}
button:hover, [role="button"]:hover { background: none; color: inherit; border-color: currentColor; }
input[type="text"], input[type="number"], input[type="search"], input[type="email"], select, textarea {
  font: inherit; padding: 0; border: none; background: transparent; color: inherit;
  border-radius: 0; letter-spacing: inherit; width: auto;
}
input:focus, select:focus, textarea:focus { outline: none; border-color: transparent; box-shadow: none; }
input[type="search"]::-webkit-search-cancel-button { display: none; }
/* our components set display:flex/grid — [hidden] must still win */
body.is-v2 [hidden] { display: none !important; }

/* ---- page chrome: full-bleed app, base.html masthead/footer hidden ---- */
body.is-v2 { margin: 0; overflow: hidden; background: var(--paper); }
body.is-v2 .masthead, body.is-v2 footer, body.is-v2 .site-footer { display: none; }
body.is-v2 main.atlas-main { padding: 0; margin: 0; max-width: none; }
body.is-v2 #app {
  position: fixed; inset: 0; overflow: hidden;
  font: var(--text-body); color: var(--royal-body); letter-spacing: .01em;
}

/* ---- map canvas + washes (ref:32–53) ---- */
.v2-map { position: absolute; inset: 0; background: #4a4438; /* ref:32 */ }
.v2-map .cesium-viewer, .v2-map .cesium-widget, .v2-map canvas { width: 100%; height: 100%; }
/* Keep provider attribution visible, including when a reviewed parcel replaces
   part of the city mesh. Leave the lower-right navigation controls clear. */
.v2-map .cesium-viewer-bottom, .v2-map .map-credits {
  display: block !important; left: 8px !important; bottom: 4px !important;
  right: auto !important; max-width: calc(100% - 360px) !important; z-index: 35 !important;
}
.v2-map .cesium-widget-credits { display: block !important; }
.v2-map .map-credits { width: max-content; }
.v2-map .map-credits .cesium-widget-credits { position: static; }
@media (max-width: 768px) {
  .v2-map .cesium-viewer-bottom, .v2-map .map-credits {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: calc(100% - 16px) !important;
  }
}
.v2-map-wash { display: none; }
.v2-map-defocus {
  position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: rgba(246,243,236,.28);
}

/* ---- plates (replaces the old glass stack) ---- */
.v2-plate, .v2-plate-bar, .glass-panel, .glass-raised-panel, .glass-raised, .glass-bar, .glass-bar-v {
  background: var(--paper-raised);
  border: 1px solid var(--ink-rule);
  border-radius: 0;
  box-shadow: none;
}

/* ---- icon masks (ref uses lucide CDN masks throughout) ---- */
.icon-mask { display: inline-block; flex: none; mask: var(--icon) center/contain no-repeat; -webkit-mask: var(--icon) center/contain no-repeat; }
.i-10 { width: 10px; height: 10px; } .i-11 { width: 11px; height: 11px; }
.i-12 { width: 12px; height: 12px; } .i-13 { width: 13px; height: 13px; }
.i-14 { width: 14px; height: 14px; } .i-15 { width: 15px; height: 15px; }
.i-16 { width: 16px; height: 16px; } .i-17 { width: 17px; height: 17px; }
.i-18 { width: 18px; height: 18px; } .i-19 { width: 19px; height: 19px; }

/* ---- motion (ref:23–24 + tokens/motion.css) ---- */
@keyframes atlasOrb { 0%,100% { opacity: 1; } 50% { opacity: .3; } }
@keyframes atlasSweep { 0% { transform: translateX(-100%); } 100% { transform: translateX(220%); } }
@keyframes atlasRise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { body.is-v2 * { animation: none !important; } }

/* =================== TOP BAR =================== */
.v2-topbar {
  position: absolute; left: 20px; right: 20px; top: 20px; z-index: 30;
  display: flex; align-items: center; flex-wrap: nowrap; gap: 10px;
  height: 56px; min-height: 56px; padding: 0 14px 0 10px;
}
.v2-brand {
  display: flex; align-items: center; flex: none; height: 40px; padding: 0 4px;
  border: none; background: transparent; cursor: pointer; color: inherit;
}
.v2-brand-logo {
  display: block; height: 42px; width: auto; max-width: 240px;
  background: transparent; object-fit: contain; object-position: left center;
}
.v2-brand-mark, .v2-brand-name { display: none; }
.v2-topbar-sep { width: 1px; height: 22px; flex: none; background: var(--ink-faint); }
.v2-topbar-flex { flex: 1 1 12px; min-width: 8px; }

.v2-place { position: relative; }
.v2-place-primary { font: 600 15.5px/1 var(--font-body); color: var(--royal-body); }
.v2-place-secondary { font: 15.5px/1 var(--font-body); color: var(--text-tertiary); }
.v2-place-menu { position: absolute; left: 0; top: calc(100% + 6px); min-width: 200px; padding: 6px; z-index: 40; }

.v2-dd { position: relative; flex: none; }
.v2-dd-btn {
  display: flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px;
  border: 1px solid var(--ink-faint); background: transparent; color: inherit; cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-glass);
}
.v2-dd-btn:hover { background: var(--atlas-blue-12); }
.v2-dd-btn[aria-expanded="true"] { background: var(--atlas-blue-12); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-dd-k { font: 600 11px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-dd-v { font: 600 14px/1 var(--font-body); color: var(--royal-body); white-space: nowrap; }
.v2-dd-chev { flex: none; }
.v2-dd-menu { position: absolute; left: 0; top: calc(100% + 6px); min-width: 100%; padding: 6px; z-index: 40; }
.v2-menu-label { padding: 8px 10px 4px; font: 600 var(--fs-micro)/var(--lh-micro) var(--font-body); letter-spacing: var(--ls-micro); text-transform: uppercase; color: var(--text-tertiary); }
.v2-menu-opt {
  display: block; width: 100%; padding: 8px 10px; border: none; border-radius: 0;
  background: transparent; text-align: left; cursor: pointer;
  font: 600 15px/1.3 var(--font-body); color: var(--royal-body);
  transition: background-color var(--dur-fast) var(--ease-glass);
}
.v2-menu-opt:hover { background: var(--paper-deep); }
.v2-menu-opt.is-on { background: var(--atlas-blue-12); box-shadow: inset 0 0 0 1px var(--cobalt); }

/* underline tabs — no pills, no container fill */
.v2-tabs, .v2-seg {
  display: flex; align-items: stretch; gap: 0; padding: 0;
  background: transparent; width: fit-content;
  box-shadow: inset 0 -1px 0 var(--ink-faint);
}
.v2-tabs .v2-seg-btn, .v2-seg-btn {
  position: relative; height: 28px; padding: 0 14px; border: none; border-radius: 0;
  background: transparent; font: 600 15px/1 var(--font-body); color: var(--cobalt); cursor: pointer;
  transition: color var(--dur-fast) var(--ease-glass);
}
.v2-tabs .v2-seg-btn:hover, .v2-seg-btn:hover { color: var(--rust); }
.v2-seg-btn > .v2-seg-on {
  position: absolute; left: 0; right: 0; bottom: 0; height: 2px; top: auto;
  border-radius: 0; background: var(--rust); box-shadow: none;
}
.v2-seg-btn > span:last-child { position: relative; }

/* search (ref:687–708) */
.v2-search { position: relative; flex: 1 1 140px; min-width: 112px; max-width: 260px; }
.v2-more-filters { display: none; }
@media (min-width: 1440px) {
  .v2-search { max-width: 320px; }
}
@media (max-width: 1100px) {
  #layerSwitcher, #askSwitcher { display: none; }
  .v2-more-filters {
    display: block; margin: 0 0 6px; padding: 0 0 6px;
    border-bottom: 1px solid var(--ink-faint);
  }
  .v2-search { max-width: none; }
}
@media (max-width: 900px) {
  .v2-brand-logo { max-width: 148px; height: 32px; }
  .v2-topbar-sep { display: none; }
}
.v2-topbar-actions { display: flex; align-items: center; flex: none; gap: 8px; height: 40px; }
.v2-icon-btn {
  width: 34px; height: 34px; flex: none; display: grid; place-items: center;
  border: 1px solid var(--ink-faint); background: transparent; color: var(--cobalt); cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-glass);
}
.v2-icon-btn:hover { background: var(--atlas-blue-12); }
.v2-icon-btn[aria-expanded="true"] { background: var(--atlas-blue-12); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-dd.v2-more {
  display: flex; align-items: center; align-self: center;
  margin: 0; padding: 0; border: none; height: 34px;
}
.v2-burger {
  width: 34px; height: 34px; flex: none; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px;
  border: 1px solid var(--ink-faint); background: transparent; color: var(--cobalt); cursor: pointer;
}
.v2-burger span { display: block; width: 16px; height: 2px; background: currentColor; }
.v2-burger:hover, .v2-burger[aria-expanded="true"] { background: var(--atlas-blue-12); }
.v2-more-menu { left: auto; right: 0; min-width: 220px; }
.v2-menu-who {
  padding: 4px 10px 8px; font: 600 14px/1.3 var(--font-body); color: var(--royal-body);
}
a.v2-menu-opt { border-bottom: none; text-decoration: none; }
.v2-search-field {
  display: flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px 0 12px;
  border-radius: 0; background: rgba(255,255,255,.46); border: 1px solid var(--ink-faint);
}
.v2-search-field input { flex: 1; min-width: 0; border: none; background: transparent; outline: none; font: 15px/1 var(--font-body); color: var(--royal-body); }
.v2-search-field input::placeholder { color: var(--text-tertiary); }
.v2-search-clear { width: 18px; height: 18px; flex: none; display: grid; place-items: center; border: none; border-radius: 0; background: var(--paper-deep); cursor: pointer; }
.v2-search-menu { position: absolute; left: 0; right: 0; top: 42px; padding: 6px; z-index: 40; }
.v2-sug {
  display: flex; align-items: center; gap: 9px; width: 100%; padding: 8px 10px; border: none;
  border-radius: var(--r-sm); background: transparent; text-align: left; cursor: pointer;
  transition: background-color 140ms var(--ease-glass); /* ref:696 */
}
.v2-sug:hover, .v2-sug.is-active { background: rgba(10,27,61,.06); }
.v2-sug-main { flex: 1; min-width: 0; }
.v2-sug-n { display: block; font: 600 15px/1.3 var(--font-body); color: var(--royal-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-sug-m { display: block; margin-top: 2px; font: 14px/1.3 var(--font-body); color: var(--text-tertiary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-sug-t { flex: none; font: 13px/1 var(--font-body); color: var(--text-tertiary); letter-spacing: .16em; text-transform: uppercase; }
.v2-nohits { padding: 10px; font: 15px/1.4 var(--font-body); color: var(--text-tertiary); }

.v2-dealcount { display: inline-flex; align-items: baseline; flex: none; gap: 5px; padding: 0 4px; }
.v2-dealcount b { font: 600 15.5px/1 var(--font-body); font-variant-numeric: tabular-nums; color: var(--royal-body); }
.v2-dealcount span { font: 15px/1 var(--font-body); color: var(--text-tertiary); }
.v2-top-link {
  height: 34px; display: inline-flex; align-items: center; flex: none; padding: 0 13px; border: none; border-radius: 0;
  background: transparent; font: 600 15px/1 var(--font-body); color: var(--cobalt);
  cursor: pointer; text-decoration: none; border-bottom: none;
  transition: color var(--dur-fast) var(--ease-glass), background-color var(--dur-fast) var(--ease-glass);
}
.v2-top-link:hover { background: var(--paper-deep); color: var(--rust); }

.v2-top-upload { flex: none; }
.v2-btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 34px; padding: 0 14px;
  border: none; border-radius: 0; background: var(--cobalt); color: var(--paper);
  font: 600 15.5px/1 var(--font-body); cursor: pointer; text-decoration: none;
  box-shadow: none;
  transition: background-color var(--dur-fast) var(--ease-glass), color var(--dur-fast) var(--ease-glass), box-shadow var(--dur-fast) var(--ease-glass);
}
.v2-btn-primary:hover { background: var(--paper); color: var(--cobalt); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-top-login {
  text-decoration: none;
  height: 34px;
}
.v2-top-account { display: flex; align-items: center; margin: 0; }
.v2-top-account .v2-menu-opt { width: 100%; }
.v2-top-who {
  max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font: 600 13.5px/1 var(--font-body); color: var(--text-muted);
}
.v2-top-logout { height: 34px; }
.v2-btn-secondary, .v2-btn-glass {
  display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 14px;
  border: none; border-radius: 0; background: var(--paper-deep);
  color: var(--text-muted); font: 600 15.5px/1 var(--font-body); cursor: pointer; box-shadow: none;
  transition: background-color var(--dur-fast) var(--ease-glass), color var(--dur-fast) var(--ease-glass);
}
.v2-btn-secondary:hover, .v2-btn-glass:hover { background: var(--paper-deepest); color: var(--royal-body); }
.v2-btn-secondary:disabled, .v2-btn-glass:disabled { opacity: .45; cursor: not-allowed; }
.v2-grow { flex: 1; }
.v2-public-note {
  margin: 0; padding: 12px 16px;
  font: 14.5px/1.45 var(--font-body); color: var(--text-secondary);
}
.v2-public-note a { color: var(--cobalt); font-weight: 600; text-decoration: none; }
.v2-public-note a:hover { text-decoration: underline; }

.v2-round-btn {
  width: 30px; height: 30px; flex: none; display: grid; place-items: center; border: none;
  border-radius: 0; background: var(--paper-deep); color: var(--text-muted); cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-glass), color var(--dur-fast) var(--ease-glass);
}
.v2-round-btn:hover { background: var(--paper-deepest); color: var(--royal-body); }
.v2-fav-btn.is-on { color: var(--rust); }
.v2-fav-btn.is-on .icon-mask { background: var(--rust) !important; }
.v2-quiet-btn {
  height: 30px; padding: 0 12px; border: none; border-radius: 0;
  background: var(--paper-deep); color: var(--text-muted); font: 600 14px/1 var(--font-body); cursor: pointer;
}
.v2-quiet-btn:hover { background: var(--paper-deepest); color: var(--royal-body); }
.v2-quiet-btn.is-danger { color: var(--rust); }
.v2-quiet-btn.is-danger:hover { color: var(--rust); background: var(--paper-deepest); }

/* =================== LEFT RAIL =================== */
.v2-rail {
  position: absolute; left: 24px; top: 50%; transform: translateY(-50%); width: 64px; z-index: 30;
  display: flex; flex-direction: column; gap: 4px; padding: 10px 4px;
}
.v2-rail-btn {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 9px 0;
  border: none; border-radius: 0; background: transparent; color: var(--text-muted); cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-glass), color var(--dur-fast) var(--ease-glass);
}
.v2-rail-btn:hover { background: var(--paper-deep); color: var(--royal-body); }
.v2-rail-on { position: absolute; inset: 0; border-radius: 0; background: var(--atlas-blue-12); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-rail-btn .icon-mask, .v2-rail-label { position: relative; }
.v2-rail-label { font: 600 12px/1 var(--font-body); letter-spacing: .18em; text-transform: uppercase; }
.v2-rail-label-phone { display: none; }

/* =================== MAP CHROME =================== */
.v2-navctl {
  position: absolute; right: 24px; bottom: 24px; z-index: 30;
  display: flex; flex-direction: row; gap: 6px; align-items: center; padding: 6px; /* ref:740 */
}
.v2-nav-btn {
  width: 30px; height: 30px; display: grid; place-items: center; border: none; border-radius: 0;
  background: transparent; color: var(--text-muted); cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-glass), color var(--dur-fast) var(--ease-glass);
}
.v2-nav-btn:hover { background: var(--paper-deep); color: var(--royal-body); }
.v2-nav-btn.is-accent { background: var(--atlas-blue-12); color: var(--cobalt); }
.v2-nav-n { font: 600 14px/1 var(--font-body); letter-spacing: .16em; }
.v2-nav-sep { width: 1px; height: 18px; background: var(--ink-faint); }
.v2-layers-menu { position: absolute; right: 24px; bottom: 72px; min-width: 220px; padding: 6px; z-index: 35; }
.v2-layers-menu button {
  display: block; width: 100%; padding: 8px 10px; border: none; border-radius: var(--r-sm); background: transparent;
  text-align: left; cursor: pointer; font: 500 12.5px/1.3 var(--font-ui); color: var(--text-primary);
}
.v2-layers-menu button:hover { background: rgba(10,27,61,.06); }
.v2-layers-menu button[aria-checked="true"] { background: var(--atlas-blue-12); box-shadow: inset 0 0 0 1px var(--atlas-blue); }

.v2-status {
  position: absolute; left: 104px; bottom: 118px; z-index: 20; max-width: 40vw;
  font: 12px/1.4 var(--font-ui); color: var(--text-secondary);
  text-shadow: 0 1px 3px rgba(246,243,236,.8);
}

.v2-status:empty { display: none; }
.v2-status-hint { bottom: 52px; }
.v2-empty { position: absolute; left: 50%; top: 40%; transform: translate(-50%,-50%); z-index: 20; padding: 24px 28px; text-align: center; }
.v2-empty .empty-title { font: 500 var(--fs-section)/var(--lh-section) var(--font-editorial); }
.v2-empty .empty-body { margin-top: 8px; font: 13px/1.5 var(--font-ui); color: var(--text-secondary); }

.photo-key-banner { position: absolute; left: 50%; top: 120px; transform: translateX(-50%); z-index: 40; padding: 18px 20px; width: 420px; }
.photo-key-banner p { font: 13px/1.5 var(--font-ui); }
.photo-key-row { margin-top: 10px; display: flex; gap: 8px; }
.photo-key-row input { flex: 1; height: 34px; padding: 0 12px; border: 1px solid var(--line-quiet); border-radius: var(--r-sm); background: var(--paper-raised); font: 12.5px/1 var(--font-ui); outline: none; }
.photo-key-row input:focus-visible { box-shadow: var(--focus-shadow); }

/* =================== ASSET FRAME (ref:63–394) =================== */
.v2-asset {
  position: absolute; inset: 0; z-index: 25; pointer-events: none;
  /* Side plates stop above the evidence strip; evidence sits above the map nav. */
  --asset-nav-clear: 60px;
  --asset-evidence-h: 138px;
  --asset-stack-gap: 46px;
  --asset-side-bottom: calc(var(--asset-nav-clear) + var(--asset-evidence-h) + var(--asset-stack-gap));
}
.v2-asset > * { pointer-events: auto; }
.v2-asset.is-arrived .v2-snap,
.v2-asset.is-arrived .v2-right,
.v2-asset.is-arrived .v2-evidence {
  animation: atlasRise 380ms var(--ease-glass);
}

.v2-loc-pill { display: none !important; }
.v2-loc-pill .v2-loc-a { font: 600 15px/1.15 var(--font-body); display: block; color: var(--cobalt); }
.v2-loc-pill .v2-loc-b { font: 14px/1.15 var(--font-body); color: var(--text-muted); display: block; margin-top: 3px; }

.v2-snap {
  position: absolute; left: 104px; top: 96px; bottom: var(--asset-side-bottom); width: 360px;
  display: flex; flex-direction: column; overflow: hidden;
}
.v2-snap-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 22px 4px; }
.v2-snap-actions { display: flex; align-items: center; gap: 8px; }
.v2-snap-head h2 { margin: 0; font: 600 21px/1.1 var(--font-display); letter-spacing: .06em; color: var(--cobalt); }
.v2-snap-body { flex: 1; min-height: 0; overflow: auto; padding: 14px 22px 18px; }
.v2-snap-hero { margin: 0 0 16px; padding: 2px 0 14px; border-bottom: 1px solid var(--ink-faint); }
.v2-snap-price { font: 600 34px/1 var(--font-display); letter-spacing: -0.02em; color: var(--cobalt); }
.v2-snap-price.is-num { font-variant-numeric: tabular-nums; }
.v2-snap-sub { margin-top: 6px; font: 600 15px/1.35 var(--font-body); color: var(--royal-body); }
.v2-snap-stats { margin-top: 4px; font: 15px/1.35 var(--font-body); color: var(--text-secondary); }
.v2-thesis-kicker {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--line, rgba(20, 28, 45, 0.12));
  background: var(--paper, #fff);
}
.v2-thesis-kicker .v2-thesis-stance {
  display: inline-block;
  font: 600 10px/1 var(--font-ui);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cobalt, #1b3a6b);
  margin-bottom: 6px;
}
.v2-thesis-kicker p { margin: 0; font: 13px/1.4 var(--font-ui); color: var(--royal-body, #1c2434); }
.v2-thesis-kicker .v2-thesis-best { margin-top: 4px; font: 12px/1.35 var(--font-ui); color: var(--text-secondary, #556); }
.v2-thesis-kicker.is-pursue { border-color: rgba(26, 122, 74, 0.35); }
.v2-thesis-kicker.is-distrust,
.v2-thesis-kicker.is-withhold { border-color: rgba(176, 92, 16, 0.4); }
.v2-thesis-prose { margin: 6px 0 0; font: 13px/1.5 var(--font-ui); color: var(--royal-body, #1c2434); }
.v2-row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 13px 0; border-top: 1px solid var(--ink-faint); }
.v2-row-k { font: 15.5px/1.4 var(--font-body); color: var(--text-tertiary); }
.v2-row-v { text-align: right; font: 600 16px/1.4 var(--font-body); color: var(--royal-body); }
.v2-row-v.is-num { font-variant-numeric: tabular-nums; }
.v2-snap-foot { flex: none; padding: 0 22px 20px; /* ref:124 */ }
.v2-tile-row { display: flex; gap: 8px; /* ref:125 */ }
.v2-tile {
  position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 7px;
  padding: 11px 6px 10px; border: 1px solid var(--ink-faint); border-radius: 0;
  background: var(--paper-raised); box-shadow: none;
  cursor: pointer; font: inherit; color: var(--text-muted);
  transition: background var(--dur-fast) var(--ease-glass), border-color var(--dur-fast) var(--ease-glass), color var(--dur-fast) var(--ease-glass);
}
.v2-tile:hover { background: var(--paper-deep); color: var(--royal-body); }
.v2-tile-label { font: 600 14px/1.2 var(--font-body); text-align: center; position: relative; }
.v2-tile.is-sm .v2-tile-label { font: 600 14px/1.25 var(--font-body); text-wrap: pretty; }
.v2-tile-on { position: absolute; inset: -1px; border-radius: 0; border: 1px solid var(--cobalt); background: var(--atlas-blue-12); box-shadow: none; pointer-events: none; }
.v2-tile .icon-mask { position: relative; }
.v2-tile:disabled { opacity: .45; cursor: not-allowed; }

.v2-detail {
  position: absolute; left: 104px; top: 96px; bottom: var(--asset-side-bottom); width: 360px; z-index: 3;
  display: flex; flex-direction: column; overflow: hidden;
}
.v2-detail-head { display: flex; align-items: center; gap: 10px; padding: 16px 20px 14px; border-bottom: 1px solid var(--line-hairline); /* ref:135 */ }
.v2-detail-title { font: 500 15px/1.25 var(--font-ui); }
.v2-detail-body { flex: 1; overflow: auto; padding: 6px 20px 18px; /* ref:140 */ }
.v2-eyebrow { padding: 14px 0 8px; font: 500 11px/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--text-tertiary); /* ref:143 */ }
.v2-drow { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line-hairline); /* ref:144 */ }
.v2-drow-k { font: 13px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-drow-v { display: flex; align-items: baseline; gap: 8px; }
.v2-drow-val { font: 500 13px/1.4 var(--font-ui); text-align: right; }
.v2-drow-val.is-num { font-family: var(--font-data); font-variant-numeric: tabular-nums; }
.v2-drow-val.is-dim { color: var(--text-tertiary); }
.v2-prov { font: 600 13.5px/1 var(--font-body); letter-spacing: .16em; text-transform: uppercase; }
.v2-prov.is-verified { color: var(--cobalt); }
.v2-prov.is-estimated, .v2-prov.is-inferred { color: var(--text-tertiary); }
.v2-prov.is-missing, .v2-prov.is-conflict { color: var(--rust); }
.v2-prov.is-caution, .v2-prov.is-stale { color: var(--terracotta); }
.v2-links { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-hairline); display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; /* ref:156 */ }
.v2-links a { font: 12px/1 var(--font-ui); color: var(--text-link); text-decoration: none; border-bottom: 1px solid var(--atlas-blue-32); }
.v2-links a:hover { color: var(--text-link-hover); border-bottom-color: var(--atlas-blue); }
.v2-links .dot { color: var(--text-tertiary); }
.v2-known li { display: flex; gap: 9px; font: 13px/1.45 var(--font-ui); color: var(--text-secondary); /* ref:170 */ }
.v2-known { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
.v2-risk { display: flex; gap: 10px; /* ref:177 */ }
.v2-risk-k { flex: none; width: 74px; font: 500 10.5px/1.6 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; }
.v2-risk-v { font: 13px/1.45 var(--font-ui); color: var(--text-secondary); }
.v2-verify { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid var(--line-hairline); /* ref:187 */ }
.v2-verify span:first-child { font: 13px/1.45 var(--font-ui); color: var(--text-secondary); }
.v2-next-block { margin-top: 20px; padding: 14px 0 0; border-top: 1px solid var(--line-quiet); /* ref:193 */ }
.v2-next-block p { margin-top: 8px; font: 13px/1.5 var(--font-ui); color: var(--text-secondary); }
.v2-btn-sm { height: 34px; padding: 0 14px; font: 500 13px/1 var(--font-ui); /* ref:197 */ }
.v2-fin-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 0 12px; }
.v2-fin-chip {
  border: 0; background: var(--paper-deep); color: var(--text-secondary);
  font: 500 11px/1.2 var(--font-ui); letter-spacing: .04em;
  padding: 7px 10px; border-radius: 999px; cursor: pointer;
}
.v2-fin-chip:hover { color: var(--royal-body); }
.v2-fin-chip.is-on { background: var(--atlas-blue-12); color: var(--cobalt); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-fin-row { display: flex; align-items: baseline; justify-content: space-between; padding: 10px 0; border-top: 1px solid var(--line-hairline); /* ref:212 */ }
.v2-fin-row .k { font: 13px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-fin-row .k small { display: block; font: 11px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-fin-row .v { font: 500 14px/1.4 var(--font-data); font-variant-numeric: tabular-nums; }
.v2-fin-headline {
  display: flex; flex-direction: column; gap: 2px;
  padding: 12px 14px; margin: 4px 0 10px;
  background: var(--atlas-navy-08); border-left: 3px solid var(--atlas-blue);
}
.v2-fin-headline .k { font: 600 11px/1.2 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-secondary); }
.v2-fin-headline .v { font: 600 26px/1.1 var(--font-display); color: var(--atlas-blue); }
.v2-fin-headline.is-neg .v { color: var(--atlas-caution); }
.v2-fin-headline.is-withheld { border-left-color: var(--atlas-caution); }
.v2-fin-headline.is-withheld .v { color: var(--atlas-caution); font-size: 20px; }
.v2-fin-headline small { font: 11px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-fin-total { display: flex; align-items: baseline; justify-content: space-between; padding: 14px 0 10px; border-top: 1px solid var(--line-quiet); /* ref:216 */ }
.v2-fin-total .k { font: 500 13px/1.4 var(--font-ui); }
.v2-fin-total .k small { display: block; font: 11px/1.3 var(--font-ui); font-weight: 400; color: var(--text-tertiary); }
.v2-fin-total .v { font: 500 20px/1.1 var(--font-data); font-variant-numeric: tabular-nums; color: var(--atlas-blue); }
.v2-fin-note { margin: 2px 0 0; font: 12px/1.45 var(--font-ui); color: var(--text-tertiary); /* ref:217 */ }
.v2-fin-edit { display: flex; align-items: baseline; gap: 6px; }
.v2-fin-edit small { font: 11px/1.2 var(--font-ui); color: var(--text-tertiary); }
.v2-fin-input {
  width: 7.6rem;
  padding: 4px 6px;
  border: 0;
  border-bottom: 1px solid var(--line-quiet);
  background: transparent;
  color: inherit;
  font: 500 14px/1.4 var(--font-data);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.v2-fin-input:focus { outline: none; border-bottom-color: var(--cobalt); }
.v2-ev-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line-hairline); /* ref:223 */ }
.v2-ev-row .k { font: 13px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-ev-row .v { text-align: right; }
.v2-ev-row .v b { display: block; font: 500 12.5px/1.4 var(--font-ui); }
.v2-ev-row .v b.is-num { font-family: var(--font-data); font-variant-numeric: tabular-nums; }
.v2-ev-row .v small { display: block; font: 11px/1.3 var(--font-ui); color: var(--text-tertiary); }

.v2-right {
  position: absolute; right: 24px; top: 96px; bottom: var(--asset-side-bottom); width: 344px;
  display: flex; flex-direction: column; overflow: hidden;
}
.v2-mode-wrap { padding: 16px 18px 12px; border-bottom: 1px solid var(--line-hairline); /* ref:238 */ }
.v2-mode-wrap .v2-seg { width: 100%; }
.v2-mode-wrap .v2-seg-btn { flex: 1; height: 30px; font: 500 12.5px/1 var(--font-ui); }
.v2-viewer-host { flex: 1; display: flex; flex-direction: column; min-height: 0; background: var(--paper-raised); /* ref:245 */ }
.v2-viewer { flex: 1; display: flex; align-items: center; justify-content: center; padding: 20px; min-height: 0; background: var(--paper-raised); position: relative; }
.v2-viewer-note { padding: 0 18px 12px; text-align: center; font: 14px/1.45 var(--font-body); color: var(--text-tertiary); background: var(--paper-raised); }
.v2-viewer-btns { padding: 0 18px 16px; background: var(--paper-raised); /* ref:291 */ }
.v2-legal {
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid var(--line, rgba(20, 28, 45, 0.1));
  background: var(--paper, #fff);
  color: var(--text-secondary, #445);
  font: 12.5px/1.45 var(--font-ui, inherit);
}
.v2-legal p { margin: 0 0 4px; }
.v2-legal p:last-child { margin: 0; }
.v2-legal.is-missing { color: var(--text-secondary, #667); }
.v2-legal.is-kicker { padding: 8px 10px; margin-bottom: 8px; }
.v2-legal.is-kicker p { font: 600 12px/1.35 var(--font-ui, inherit); }
.v2-viewer-btns .v2-tile-row { gap: 6px; /* ref:292 */ }
.v2-viewer-btns .v2-tile-row.is-wrap { flex-wrap: wrap; }
.v2-viewer-btns .v2-tile { padding: 10px 6px 9px; /* ref:293 */ }
.v2-viewer-btns .v2-tile.is-consulta { border-style: dashed; opacity: 0.92; }
.v2-viewer-btns .v2-tile.is-restricted { opacity: 0.62; }
.v2-right-foot { padding: 14px 20px; border-top: 1px solid var(--line-hairline); display: flex; gap: 8px; /* ref:311 */ }
.v2-right-foot .v2-btn-primary { height: 34px; font: 500 13px/1 var(--font-ui); }

/* stage.js engine embedded in the ref viewer — its own chrome off */
.v2-viewer .deal-stage { position: absolute; inset: 0; display: flex; }
.v2-viewer .deal-stage[hidden] { display: none; }
.v2-viewer .stage-head, .v2-viewer .stage-states, .v2-viewer .stage-caption { display: none !important; }
.v2-viewer model-viewer { width: 100%; height: 100%; background: transparent; --poster-color: transparent; }
.v2-viewer model-viewer.is-ghost-context { opacity: 0.34; }
.v2-viewer-alt { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: var(--paper-raised); }
.v2-viewer-alt.is-ghost-legend {
  inset: auto 10px 10px auto;
  width: min(168px, 46%);
  height: auto;
  background: transparent;
  pointer-events: none;
  z-index: 2;
}
/* mesh view — floor slabs (ref:268–274) */
.v2-mesh { position: relative; width: 126px; height: 92px; transform-style: preserve-3d; transform: rotateX(-58deg) rotateZ(34deg); }
.v2-mesh .slab { position: absolute; left: 0; top: 0; width: 126px; height: 92px; }
.v2-mesh.is-real {
  width: min(300px, 92%);
  height: auto;
  transform: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.v2-mesh.is-real svg { width: 100%; height: auto; display: block; }
.v2-mesh.has-ghost path.is-ghost { opacity: 0.38; }
.v2-mesh-legend {
  max-width: 280px;
  text-align: center;
  font: 11px/1.35 var(--font-data);
  color: var(--text-tertiary);
}
/* 2d view — footprint plan (ref:276–283) */
.v2-plan { position: relative; width: 186px; height: 136px; border: 1.5px solid var(--cobalt); background: rgba(20,57,198,.06); }
.v2-plan .inner { position: absolute; inset: 10px; border: 1px solid rgba(10,27,61,.22); }
.v2-plan .dim-top { position: absolute; left: 0; right: 0; top: -22px; display: flex; align-items: center; justify-content: center; gap: 6px; font: 11px/1 var(--font-data); color: var(--text-tertiary); }
.v2-plan .dim-top i { flex: 1; height: 1px; background: rgba(10,27,61,.2); }
.v2-plan .dim-left { position: absolute; left: -46px; top: 50%; transform: translateY(-50%); font: 11px/1 var(--font-data); color: var(--text-tertiary); }
.v2-plan.is-real {
  width: min(280px, 92%);
  height: auto;
  border: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding-top: 18px;
}
.v2-plan.is-real .dim-top { position: static; width: 100%; }
.v2-plan.is-real svg { width: 100%; height: auto; display: block; }
.v2-plan.is-real path {
  fill: rgba(20,57,198,.08);
  stroke: var(--cobalt);
  stroke-width: 1.6;
}
.v2-plan-floors {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  font: 11px/1.3 var(--font-data);
  color: var(--text-tertiary);
}
.v2-plan-floors b { font-weight: 600; color: var(--text-secondary); }
.v2-plan-link {
  font: 12px/1.3 var(--font-ui);
  color: var(--cobalt);
  text-decoration: none;
}
.v2-plan-link:hover { text-decoration: underline; }
.v2-plan-rc { font: 11px/1.3 var(--font-data); color: var(--text-tertiary); }
.v2-plan.is-missing {
  width: min(260px, 90%);
  height: auto;
  border: 1px dashed rgba(20,57,198,.35);
  background: transparent;
  padding: 18px 14px;
  text-align: center;
}
.v2-plan.is-missing p {
  margin: 0 0 8px;
  font: 13px/1.4 var(--font-ui);
  color: var(--text-secondary);
}
.v2-plan.is-missing p:last-child { margin: 0; color: var(--text-tertiary); }

/* evidence strip — compressed, sits above the map nav cluster */
.v2-evidence {
  position: absolute; left: 104px; right: 24px; bottom: var(--asset-nav-clear);
  height: var(--asset-evidence-h);
  display: flex; flex-direction: column; gap: 6px; padding: 10px 14px;
  border-radius: 0;
  background: var(--paper-raised); border: 1px solid var(--ink-rule); box-shadow: none;
}
.v2-ev-title { font: 600 15px/1.1 var(--font-body); color: var(--cobalt); letter-spacing: .06em; }
.v2-ev-cards { flex: 1; display: flex; gap: 8px; min-height: 0; }
.v2-ev-card {
  position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px;
  padding: 8px 10px; border: 1px solid var(--ink-faint); border-radius: 0;
  background: var(--paper-raised); text-align: left; cursor: pointer; font: inherit; color: inherit; text-decoration: none;
  box-shadow: none;
  transition: border-color var(--dur-fast) var(--ease-glass);
}
.v2-ev-card:hover { box-shadow: none; border-color: rgba(20,57,198,.34); }
.v2-ev-card.is-off { opacity: .45; cursor: not-allowed; }
.v2-ev-card.is-linked { border-color: var(--cobalt); }
.v2-ev-card.is-off:hover { box-shadow: none; border-color: var(--ink-faint); }
.v2-ev-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.v2-ev-name { font: 600 14px/1.15 var(--font-body); }
.v2-ev-body { flex: 1; min-height: 0; display: flex; align-items: center; gap: 8px; }
.v2-ev-ic { display: grid; place-items: center; width: 26px; height: 26px; flex: none; background: var(--atlas-blue-12); }
.v2-ev-sub { flex: 1; min-width: 0; font: 13px/1.25 var(--font-body); color: var(--text-tertiary); overflow: hidden; }

/* =================== BOARD FRAMES (tasks/cal/time — ref:396–666) =================== */
.v2-board { position: absolute; inset: 0; z-index: 26; pointer-events: none; }
.v2-board > * { pointer-events: auto; }
.v2-panel-tasks { /* ref:397 */
  position: absolute; left: 104px; top: 96px; bottom: 24px; width: 580px;
  display: flex; flex-direction: column; overflow: hidden;
}
.v2-panel-wide { /* ref:553/605 */
  position: absolute; left: 104px; right: 24px; top: 96px; bottom: 24px;
  display: flex; flex-direction: column; overflow: hidden;
}
.v2-panel-sel { /* ref:484 task detail */
  position: absolute; left: 704px; right: 24px; top: 96px; bottom: 24px;
  display: flex; flex-direction: column; overflow: hidden;
}
.v2-bhead { padding: 18px 22px 14px; border-bottom: 1px solid var(--line-hairline); /* ref:398 */ }
.v2-bhead-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.v2-live { display: flex; align-items: center; gap: 8px; }
.v2-orb { width: 8px; height: 8px; border-radius: 50%; background: var(--cobalt); animation: atlasOrb 1.8s var(--ease-glass) infinite; }
.v2-folio { font: 600 13px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-folio b { color: var(--rust); font-weight: 600; }
.v2-folio .slash { color: var(--ink-faint); }
.v2-bhead h2 { margin-top: 8px; font: 600 34px/1.02 var(--font-display); letter-spacing: .004em; color: var(--cobalt); }
.v2-bhead .sub { margin-top: 6px; font: 12.5px/1.45 var(--font-ui); color: var(--text-secondary); /* ref:403 */ }
.v2-bhead-actions { display: flex; gap: 6px; flex: none; }

/* =================== SCOREBOARD (Atlas Game — owner desk) =================== */
.v2-score-body {
  flex: 1; min-height: 0; overflow: auto;
  padding: 16px 22px 22px;
}
.v2-score-stages {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;
}
.v2-score-block { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line-hairline); }
.v2-score-block:first-of-type { margin-top: 4px; padding-top: 0; border-top: 0; }
.v2-score-block-t {
  display: block; font: 600 13px/1.2 var(--font-body); letter-spacing: .08em;
  text-transform: uppercase; color: var(--cobalt);
}
.v2-score-block-hi {
  margin: 6px 0 10px; font: 600 16px/1.35 var(--font-display); color: var(--royal-body); max-width: 46rem;
}
.v2-score-stage {
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
  padding: 10px 10px 8px; min-width: 0;
  background: var(--paper-deep); color: var(--text-muted); text-align: left; cursor: pointer;
}
.v2-score-stage:hover { background: var(--paper-deepest); color: var(--royal-body); }
.v2-score-stage.is-on { background: var(--atlas-blue-12); color: var(--cobalt); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-score-stage.is-play .v2-score-stage-n { color: var(--rust); }
.v2-score-stage.is-done .v2-score-bar > span { background: var(--rust); }
.v2-score-stage-n {
  font: 600 11px/1 var(--font-body); letter-spacing: .16em;
}
.v2-score-stage-lb {
  font: 600 13px/1.1 var(--font-body); letter-spacing: .04em; text-transform: uppercase;
  color: inherit; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%;
}
.v2-score-bar, .v2-score-campaign-bar {
  display: block; width: 100%; height: 2px; background: var(--ink-faint); overflow: hidden;
}
.v2-score-bar > span, .v2-score-campaign-bar > span {
  display: block; height: 100%; width: 0; background: var(--cobalt);
  transition: width var(--dur-base) var(--ease-glass);
}
.v2-score-campaign {
  display: flex; flex-direction: column; gap: 6px;
  margin: 14px 0 18px;
  font: 600 11px/1.3 var(--font-body); letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-tertiary);
}
.v2-score-high {
  padding: 14px 0 16px;
  border-top: 1px solid var(--line-hairline);
}
.v2-score-k {
  display: block; font: 600 11px/1 var(--font-body); letter-spacing: .16em;
  text-transform: uppercase; color: var(--rust);
}
.v2-score-high p {
  margin-top: 8px; font: 600 18px/1.35 var(--font-display); color: var(--cobalt); max-width: 46rem;
}
.v2-score-sheet { border-top: 1px solid var(--line-hairline); padding-top: 14px; }
.v2-score-sheet-h {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  margin-bottom: 8px;
}
.v2-score-sheet-n { font: 12.5px/1.3 var(--font-ui); color: var(--text-secondary); }
.v2-score-row {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(7rem, 14rem);
  align-items: center; gap: 12px;
  min-height: 40px; padding: 6px 0;
  border-bottom: 1px solid var(--line-hairline);
}
.v2-score-row-lb { font: 14.5px/1.3 var(--font-body); color: var(--royal-body); }
.v2-score-val {
  justify-self: end; min-width: 0; max-width: 100%;
  padding: 6px 8px; text-align: right; cursor: text;
  font: 600 15px/1 var(--font-display); color: var(--text-tertiary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.v2-score-row.is-scored .v2-score-val { color: var(--cobalt); }
.v2-score-val:hover { background: var(--paper-deep); color: var(--cobalt); }
.v2-score-input {
  justify-self: end; width: 100%; min-width: 0;
  padding: 6px 8px; text-align: right;
  font: 600 15px/1 var(--font-display); color: var(--cobalt);
  background: var(--paper-deep); box-shadow: inset 0 0 0 1px var(--cobalt);
}
.v2-score-note { margin-top: 12px; font: 12.5px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-tsearch { /* ref:410 */
  margin-top: 14px; display: flex; align-items: center; gap: 9px; height: 36px; padding: 0 12px;
  border-radius: var(--r-pill); background: rgba(255,255,255,.55); border: 1px solid var(--line-quiet);
}
.v2-tsearch input { flex: 1; min-width: 0; border: none; background: transparent; outline: none; font: 13px/1 var(--font-ui); color: var(--text-primary); }
.v2-tsearch-clear { width: 20px; height: 20px; flex: none; display: grid; place-items: center; border: none; border-radius: var(--r-pill); background: rgba(10,27,61,.07); color: var(--text-secondary); cursor: pointer; /* ref:414 */ }
.v2-filter-seg { margin-top: 10px; /* ref:417 */ }
.v2-filter-seg .v2-seg-btn { padding: 0 16px; font: 500 12px/1 var(--font-ui); }
.v2-task-nav {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px;
}
.v2-task-nav .v2-btn-mini { min-height: 30px; display: inline-flex; align-items: center; gap: 3px; }
.v2-task-nav select {
  height: 30px; max-width: 150px; padding: 0 24px 0 9px; border: 1px solid var(--line-quiet);
  border-radius: var(--r-sm); background: rgba(255,255,255,.55); color: var(--text-secondary);
  font: 500 11.5px/1 var(--font-ui);
}
.v2-task-nav-state { flex-basis: 100%; min-height: 15px; color: var(--text-tertiary); font: 11px/1.35 var(--font-ui); }
.v2-orig-subject { padding: 10px 0; border-bottom: 1px solid var(--line-hairline); font: 600 13px/1.35 var(--font-ui); color: var(--text-primary); }

.v2-tlist { flex: 1; overflow: auto; padding: 4px 22px 16px; /* ref:425 */ }
.v2-group-head { display: flex; align-items: baseline; justify-content: space-between; padding: 16px 0 8px; /* ref:432 */ }
.v2-group-head .g { font: 500 11px/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-group-head .n { font: 500 11px/1.2 var(--font-data); font-variant-numeric: tabular-nums; color: var(--text-tertiary); }
.v2-tgroup { display: flex; flex-direction: column; gap: 8px; }
.v2-tlist [data-task-group="newest"] .v2-tgroup { padding-top: 12px; }
.v2-sort { display: flex; gap: 4px; margin-top: 10px; }
.v2-sort-btn {
  height: 26px; padding: 0 10px; border: none; border-radius: var(--r-pill);
  background: transparent; color: var(--text-tertiary); font: 500 11.5px/1 var(--font-ui); cursor: pointer;
}
.v2-sort-btn.is-on { background: rgba(10,27,61,.07); color: var(--text-primary); }
.v2-task { /* ref:439 */
  position: relative; overflow: hidden; padding: 13px 15px 13px 44px;
  border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.46);
  cursor: pointer; transition: background-color 180ms var(--ease-glass);
}
.v2-task.is-slim,
.v2-task.is-row {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 10px 12px 10px 8px;
}
.v2-task.is-row .v2-task-move {
  position: static;
  left: auto;
  top: auto;
  flex: none;
  cursor: default;
  gap: 2px;
}
.v2-task.is-row .v2-move-btn { width: 22px; height: 20px; }
.v2-task.is-slim .v2-task-title {
  flex: 1; min-width: 0; font: 500 13.5px/1.3 var(--font-ui);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.v2-task-main { flex: 1; min-width: 0; }
.v2-task.is-row .v2-task-title {
  font: 500 14px/1.35 var(--font-ui);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.v2-task.is-row .v2-task-meta { margin-top: 4px; gap: 6px; flex-wrap: wrap; }
.v2-task.is-row .v2-task-next {
  margin-top: 5px; padding-top: 0; border-top: none;
}
.v2-task.is-row .v2-task-next .v {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.v2-task.is-row .v2-task-dot { margin-top: 5px; }
.v2-task-acts { flex: none; display: flex; align-items: center; gap: 2px; align-self: center; }
.v2-row-act {
  width: 32px; height: 32px; display: grid; place-items: center;
  border: none; border-radius: var(--r-sm); background: transparent; cursor: pointer;
}
.v2-row-act .icon-mask { pointer-events: none; }
.v2-row-act.is-done { color: var(--atlas-positive); }
.v2-row-act.is-done:hover { background: rgba(30,122,90,.12); }
.v2-row-act.is-remove { color: var(--atlas-blocked); }
.v2-row-act.is-remove:hover { background: rgba(155,44,58,.10); }
.v2-undo-toast {
  position: absolute; left: 18px; right: 18px; bottom: 78px; z-index: 8;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 14px; border-radius: var(--r-md);
  background: var(--cobalt); color: #fff;
  font: 500 13px/1.35 var(--font-ui);
  box-shadow: 0 10px 28px rgba(10, 27, 61, .22);
}
.v2-undo-toast b { font-weight: 600; }
.v2-undo-toast button {
  flex: none; height: 32px; padding: 0 14px; border: none; border-radius: var(--r-pill);
  background: #fff; color: var(--cobalt); font: 600 12.5px/1 var(--font-ui); cursor: pointer;
}
.v2-trash-note { margin: 14px 0 8px; font: 12.5px/1.4 var(--font-ui); color: var(--text-tertiary); }
.v2-sel-goal { margin: 6px 0 0; font: 15px/1.45 var(--font-ui); color: var(--text-secondary); text-wrap: pretty; }
.v2-sel-head .v2-task-meta { margin-top: 8px; }
.v2-task-dot {
  width: 8px; height: 8px; flex: none; border-radius: 50%;
  background: rgba(10,27,61,.22);
}
.v2-task-dot[data-state="review"] { background: var(--atlas-caution); }
.v2-task-dot[data-state="blocked"] { background: var(--atlas-blocked); }
.v2-task-dot[data-state="working"] { background: var(--atlas-blue); }
.v2-task-dot[data-state="waiting"] { background: rgba(10,27,61,.28); }
.v2-task-kind { flex: none; display: grid; place-items: center; color: var(--text-tertiary); }
.v2-task:hover { background: rgba(255,255,255,.62); }
.v2-task-on { position: absolute; inset: 0; border-radius: 0; background: var(--atlas-blue-12); box-shadow: inset 0 0 0 1px var(--atlas-blue); pointer-events: none; /* ref:441 */ }
.v2-task-move { position: absolute; left: 9px; top: 11px; display: flex; flex-direction: column; gap: 3px; cursor: grab; /* ref:443 */ }
.v2-move-btn { /* ref:444 */
  width: 24px; height: 22px; display: grid; place-items: center; border: none; border-radius: 0;
  background: rgba(10,27,61,.05); color: var(--text-secondary); cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-glass);
}
.v2-move-btn:hover { background: rgba(10,27,61,.12); color: var(--text-primary); }
.v2-move-btn:disabled { opacity: .28; cursor: default; }
.v2-move-btn .icon-mask { pointer-events: none; }
.v2-sweep { position: absolute; left: 0; top: 0; height: 2px; width: 34%; background: var(--rust); animation: atlasSweep 2.4s var(--ease-glass) infinite; }
.v2-task-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.v2-task-title { font: 500 14px/1.35 var(--font-ui); /* ref:451 */ }
.v2-task-prog { flex: none; font: 500 11px/1 var(--font-data); font-variant-numeric: tabular-nums; color: var(--text-tertiary); /* ref:452 */ }
.v2-task-meta { margin-top: 9px; display: flex; align-items: center; gap: 8px; /* ref:454 */ }
.v2-pill { display: inline-flex; align-items: center; gap: 6px; height: 22px; padding: 0 9px; border-radius: var(--r-pill); font: 500 11px/1 var(--font-ui); /* ref:455 */ }
.v2-pill .v2-orb { width: 9px; height: 9px; }
.v2-task-meta .m { font: 12px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-task-meta .sep { font: 12px/1.3 var(--font-ui); color: var(--text-tertiary); opacity: .55; }
.v2-task-sum { margin-top: 9px; font: 12.5px/1.45 var(--font-ui); color: var(--text-secondary); /* ref:463 */ }
.v2-task-next { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line-hairline); display: flex; align-items: baseline; gap: 8px; /* ref:464 */ }
.v2-task-next .k { font: 500 10.5px/1.4 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); flex: none; }
.v2-task-next .v { font: 12.5px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-task-empty { padding: 36px 4px; text-align: center; font: 13.5px/1.5 var(--font-ui); color: var(--text-secondary); /* ref:427 */ }
.v2-task.is-dragging { opacity: .5; }
.v2-task.is-dropover { box-shadow: inset 0 0 0 1px var(--atlas-blue); }

.v2-composer-wrap { padding: 12px 22px 14px; border-top: 1px solid var(--line-hairline); /* ref:475 */ }
.v2-composer { /* ref:476 */
  display: flex; align-items: flex-end; gap: 8px; min-height: 44px; height: auto; padding: 6px 6px 6px 16px;
  border-radius: var(--r-pill); background: rgba(255,255,255,.5); border: 1px solid var(--line-quiet);
}
.v2-composer input, .v2-composer textarea {
  flex: 1; min-width: 0; border: none; background: transparent; outline: none; resize: none;
  font: 14px/1.35 var(--font-ui); color: var(--text-primary); min-height: 32px; max-height: 120px; height: auto; padding: 8px 0;
}
.v2-composer input::placeholder, .v2-composer textarea::placeholder { color: var(--text-tertiary); }
.v2-attach-btn {
  width: 32px; height: 32px; flex: none; display: grid; place-items: center;
  border: none; border-radius: var(--r-sm); background: transparent;
  color: var(--text-secondary); cursor: pointer;
}
.v2-attach-btn:hover { background: rgba(10,27,61,.06); color: var(--text-primary); }
.v2-attach-btn.has-files { color: var(--atlas-blue); }
.v2-attach-btn:disabled { opacity: .45; cursor: default; }
.v2-attach-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.v2-attach-chip {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
  height: 24px; padding: 0 8px 0 10px; border-radius: var(--r-pill);
  background: var(--atlas-blue-12); color: var(--atlas-blue); font: 500 11.5px/1 var(--font-ui);
}
.v2-attach-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 22ch; }
.v2-attach-chip button {
  width: 16px; height: 16px; display: grid; place-items: center;
  border: none; background: none; color: inherit; cursor: pointer; opacity: .65; padding: 0;
}
.v2-attach-chip button:hover { opacity: 1; }
.v2-send {
  width: 32px; height: 32px; flex: none; display: grid; place-items: center; border: none; border-radius: var(--r-sm);
  background: var(--cobalt); color: var(--paper); cursor: pointer;
  box-shadow: none; transition: background-color var(--dur-fast) var(--ease-glass), color var(--dur-fast) var(--ease-glass), box-shadow var(--dur-fast) var(--ease-glass);
}
.v2-send:hover { background: var(--paper); color: var(--cobalt); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-send:disabled { opacity: .45; cursor: default; }

/* =================== GROK WORKBENCH =================== */
.v2-grok-panel { position: absolute; left: 104px; right: 24px; top: 96px; bottom: 24px; display: flex; flex-direction: column; overflow: hidden; }
.v2-grok-auth { display: inline-flex; align-items: center; min-height: 30px; padding: 0 11px; border-radius: var(--r-pill); background: rgba(10,27,61,.06); color: var(--text-secondary); font: 500 11.5px/1 var(--font-ui); }
.v2-grok-auth[data-state="ready"] { background: rgba(32,155,93,.12); color: #176a43; }
.v2-grok-auth[data-state="blocked"] { background: rgba(190,115,20,.11); color: #81500f; }
.v2-grok-grid { min-height: 0; flex: 1; display: grid; grid-template-columns: minmax(360px,.82fr) minmax(460px,1.18fr); }
.v2-grok-launch, .v2-grok-monitor { min-height: 0; padding: 20px 22px; overflow: auto; }
.v2-grok-launch { border-right: 1px solid var(--line-hairline); }
.v2-grok-missions { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 18px; }
.v2-grok-label { display: block; margin-bottom: 8px; font: 500 10.5px/1.3 var(--font-ui); letter-spacing: .075em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-grok-prompt { width: 100%; min-height: 155px; box-sizing: border-box; resize: vertical; padding: 14px 15px; border: 1px solid var(--line-quiet); border-radius: var(--r-md); outline: none; background: rgba(255,255,255,.58); color: var(--text-primary); font: 13.5px/1.55 var(--font-ui); }
.v2-grok-prompt:focus { border-color: var(--atlas-blue); box-shadow: none; }
.v2-grok-context { margin-top: 13px; padding: 12px 13px; border: 1px solid var(--line-hairline); border-radius: var(--r-sm); background: rgba(255,255,255,.42); color: var(--text-secondary); font: 12px/1.5 var(--font-ui); }
.v2-grok-context summary { cursor: pointer; font-weight: 500; color: var(--text-primary); }
.v2-grok-context pre { margin: 9px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font: 11.5px/1.5 var(--font-data); }
.v2-grok-context small { display: block; margin-top: 6px; color: var(--text-tertiary); }
.v2-grok-confirm { display: flex; align-items: flex-start; gap: 8px; margin-top: 13px; color: var(--text-secondary); font: 12px/1.45 var(--font-ui); }
.v2-grok-confirm input { margin-top: 2px; accent-color: var(--action-primary); }
.v2-grok-launch-row { display: flex; align-items: center; gap: 11px; margin-top: 15px; }
.v2-grok-launch-row .v2-btn-mini:disabled { opacity: .42; cursor: not-allowed; box-shadow: none; }
.v2-grok-muted { color: var(--text-tertiary); font: 11.5px/1.4 var(--font-ui); }
.v2-grok-login { margin-top: 18px; padding: 14px; border: 1px solid rgba(190,115,20,.2); border-radius: var(--r-md); background: rgba(255,244,222,.62); }
.v2-grok-login b { font: 500 13px/1.4 var(--font-ui); }
.v2-grok-login p { margin: 6px 0 10px; color: var(--text-secondary); font: 12px/1.45 var(--font-ui); }
.v2-grok-login code { display: block; max-height: 80px; margin-bottom: 10px; padding: 9px 10px; overflow: auto; border-radius: 0; background: rgba(10,27,61,.06); white-space: pre-wrap; overflow-wrap: anywhere; font: 10.5px/1.45 var(--font-data); }
.v2-grok-monitor-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.v2-grok-monitor-head > div { display: flex; align-items: baseline; gap: 9px; }
.v2-grok-monitor-head .v2-grok-label { margin: 0; }
.v2-grok-runs { display: flex; gap: 7px; overflow-x: auto; padding: 1px 1px 11px; }
.v2-grok-run { flex: 0 0 190px; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px 11px; border: 1px solid var(--line-hairline); border-radius: var(--r-sm); background: rgba(255,255,255,.42); color: var(--text-primary); text-align: left; cursor: pointer; }
.v2-grok-run.is-on { border-color: var(--atlas-blue); background: var(--atlas-blue-12); }
.v2-grok-run span { min-width: 0; }
.v2-grok-run b, .v2-grok-run small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-grok-run b { font: 500 12px/1.3 var(--font-ui); }
.v2-grok-run small { margin-top: 3px; color: var(--text-tertiary); font: 9.5px/1.3 var(--font-data); }
.v2-grok-run em { flex: none; padding: 4px 7px; border-radius: var(--r-pill); background: rgba(10,27,61,.06); color: var(--text-secondary); font: normal 500 9.5px/1 var(--font-ui); }
.v2-grok-run em[data-state="running"] { background: var(--atlas-blue-12); color: var(--atlas-blue); }
.v2-grok-run em[data-state="needs_review"] { background: rgba(32,155,93,.12); color: #176a43; }
.v2-grok-detail { border-top: 1px solid var(--line-hairline); padding-top: 17px; }
.v2-grok-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.v2-grok-detail-head .v2-grok-label { margin-bottom: 4px; }
.v2-grok-detail-head h3 { font: 500 20px/1.2 var(--font-editorial); }
.v2-grok-model { color: var(--text-tertiary); font: 10.5px/1.4 var(--font-data); }
.v2-grok-events { margin-top: 15px; display: flex; flex-direction: column; gap: 8px; }
.v2-grok-event { display: grid; grid-template-columns: 118px 1fr; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line-hairline); }
.v2-grok-event time { color: var(--text-tertiary); font: 9.5px/1.4 var(--font-data); }
.v2-grok-event b { font: 500 11.5px/1.4 var(--font-ui); }
.v2-grok-event p { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text-secondary); font: 12px/1.5 var(--font-ui); }
.v2-grok-result { margin-top: 18px; padding: 15px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.56); }
.v2-grok-result pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text-primary); font: 12.5px/1.6 var(--font-ui); }
.v2-grok-links { margin-top: 15px; display: flex; flex-direction: column; gap: 6px; }
.v2-grok-links a { overflow-wrap: anywhere; color: var(--atlas-blue); font: 11.5px/1.4 var(--font-data); text-decoration: none; }
.v2-grok-links a:hover { text-decoration: underline; }
.v2-grok-error { margin-top: 14px; padding: 10px; border-radius: var(--r-sm); background: rgba(190,35,35,.08); color: #892727; white-space: pre-wrap; font: 11.5px/1.45 var(--font-data); }
@media (max-width: 900px) {
  .v2-grok-panel { overflow: auto; }
  .v2-grok-grid { display: block; flex: 0 0 auto; min-height: auto; overflow: visible; }
  .v2-grok-launch, .v2-grok-monitor { overflow: visible; }
  .v2-grok-launch { border-right: 0; border-bottom: 1px solid var(--line-hairline); }
}

/* task detail (ref:484–548) */
.v2-sel-head { padding: 18px 22px 16px; border-bottom: 1px solid var(--line-hairline); }
.v2-sel-ref { font: 500 11px/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--text-tertiary); /* ref:488 */ }
.v2-sel-title { margin-top: 2px; font: 500 22px/1.2 var(--font-editorial); letter-spacing: -.012em; text-wrap: pretty; /* ref:489 */ }
.v2-sel-meta { margin-top: 10px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; /* ref:490 */ }
.v2-sel-meta .m { font: 12px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-sel-body { flex: 1; min-height: 0; overflow: auto; padding: 16px 22px 20px; display: flex; flex-direction: column; gap: 16px; /* ref:503 */ }
.v2-del-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; /* ref:504 */ }
.v2-del-hint { font: 11.5px/1.3 var(--font-ui); color: var(--text-tertiary); /* ref:506 */ }
.v2-del-id { margin-top: 10px; display: flex; align-items: center; gap: 11px; /* ref:508 */ }
.v2-del-ic { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: var(--r-sm); background: var(--atlas-blue-12); color: var(--atlas-blue); /* ref:509 */ }
.v2-del-name { font: 500 14px/1.35 var(--font-ui); text-wrap: pretty; /* ref:511 */ }
.v2-del-kind { margin-top: 2px; font: 12px/1.3 var(--font-ui); color: var(--text-tertiary); /* ref:512 */ }
.v2-del-body { /* ref:517 */
  margin-top: 12px; padding: 15px 16px; border: 1px solid var(--line-hairline); border-radius: var(--r-md);
  background: rgba(255,255,255,.56); white-space: pre-wrap; font: 12.5px/1.62 var(--font-ui);
  color: var(--text-secondary); cursor: text;
}
.v2-del-edit { /* ref:523 */
  margin-top: 12px; display: block; width: 100%; min-height: 190px; resize: vertical; padding: 15px 16px;
  border: 1px solid var(--atlas-blue); border-radius: var(--r-md); background: var(--paper-raised); outline: none;
  font: 12.5px/1.62 var(--font-ui); color: var(--text-primary); box-shadow: none;
}
.v2-del-btns { margin-top: 10px; display: flex; gap: 8px; align-items: center; /* ref:518 */ }
.v2-btn-mini { height: 32px; padding: 0 14px; border: none; border-radius: var(--r-pill); font: 500 12.5px/1 var(--font-ui); cursor: pointer; display: inline-flex; align-items: center; gap: 7px; }
.v2-btn-mini.is-primary { background: var(--cobalt); color: var(--paper); box-shadow: none; }
.v2-btn-mini.is-primary:hover { background: var(--paper); color: var(--cobalt); box-shadow: inset 0 0 0 1px var(--cobalt); }
.v2-btn-mini.is-quiet { background: rgba(10,27,61,.05); color: var(--text-secondary); }
.v2-btn-mini.is-quiet:hover { background: rgba(10,27,61,.11); color: var(--text-primary); }
.v2-del-type { height: 32px; padding: 0 10px; border: 1px solid var(--line-quiet); border-radius: var(--r-sm); background: var(--paper-raised); font: 12.5px/1 var(--font-ui); color: var(--text-primary); }
.v2-log-sec { margin-top: 0; padding-top: 16px; border-top: 1px solid var(--line-hairline); /* ref:530 */ }
.v2-ctx-files { display: flex; flex-direction: column; gap: 8px; }
.v2-ctx-files .v2-eyebrow { padding: 0; }
.v2-log { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.v2-log-row { display: flex; align-items: baseline; gap: 12px; /* ref:534 */ }
.v2-log-on { flex: none; width: 74px; font: 500 11.5px/1.4 var(--font-data); font-variant-numeric: tabular-nums; color: var(--text-tertiary); }
.v2-log-who { flex: none; width: 88px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 12px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-log-what { font: 12.5px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-chat-sec { flex: 1 1 auto; min-height: 180px; display: flex; flex-direction: column; }
.v2-chat {
  flex: 1 1 auto; min-height: 120px; max-height: min(46vh, 420px); overflow: auto;
  margin-top: 10px; display: flex; flex-direction: column; gap: 10px; padding-right: 2px;
}
.v2-chat-empty { padding: 8px 2px; font: 13px/1.45 var(--font-ui); color: var(--text-tertiary); }
.v2-chat-msg {
  max-width: 92%; padding: 10px 13px; border: 1px solid var(--line-hairline);
  border-radius: var(--r-md); background: rgba(255,255,255,.56);
}
.v2-chat-msg.is-you { align-self: flex-end; background: var(--atlas-blue-12); border-color: rgba(9,87,255,.18); }
.v2-chat-msg.is-atlas { align-self: flex-start; }
.v2-chat-msg.is-system {
  align-self: center; max-width: 100%; padding: 4px 8px; border: none; background: transparent; text-align: center;
}
.v2-chat-msg.is-pending { opacity: .9; }
.v2-chat-msg.is-enter { animation: atlasRise 280ms var(--ease-glass) both; }
.v2-think-dots { display: inline-flex; align-items: center; gap: 4px; height: 14px; margin-right: 8px; vertical-align: middle; }
.v2-think-dots i {
  width: 5px; height: 5px; border-radius: 50%; background: var(--atlas-blue); opacity: .28;
  animation: atlasThink 1.1s var(--ease-glass) infinite;
}
.v2-think-dots i:nth-child(2) { animation-delay: .16s; }
.v2-think-dots i:nth-child(3) { animation-delay: .32s; }
@keyframes atlasThink {
  0%, 80%, 100% { opacity: .22; transform: translateY(0); }
  40% { opacity: 1; transform: translateY(-2px); }
}
.v2-think-label { color: var(--text-secondary); }
.v2-think-text {
  display: block; margin-top: 6px; font: 12.5px/1.45 var(--font-ui);
  color: var(--text-secondary); white-space: pre-wrap;
}
.v2-think-tool {
  display: inline-block; margin-top: 6px; font: 500 10.5px/1.3 var(--font-ui);
  letter-spacing: .05em; text-transform: uppercase; color: var(--text-tertiary);
}
.v2-chat-meta {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 4px;
  font: 500 10.5px/1.3 var(--font-ui); letter-spacing: .04em; text-transform: uppercase; color: var(--text-tertiary);
}
.v2-chat-msg.is-you .v2-chat-meta span { color: var(--atlas-blue); }
.v2-chat-body { overflow-wrap: anywhere; font: 13.5px/1.5 var(--font-ui); color: var(--text-primary); }
.v2-chat-msg.is-system .v2-chat-body { font: 12px/1.4 var(--font-ui); color: var(--text-tertiary); }
.v2-chat-receipt { margin: 8px 0 0; font: 12px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-chat-receipt.is-warn { color: var(--atlas-caution); }
.v2-next-line { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line-hairline); display: flex; align-items: baseline; gap: 10px; /* ref:543 */ }
.v2-next-line .k { flex: none; font: 500 10.5px/1.4 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-next-line .v { font: 12.5px/1.5 var(--font-ui); color: var(--text-secondary); }
.v2-conflict { margin-top: 10px; font: 12px/1.4 var(--font-ui); color: var(--atlas-blocked); }

/* =================== v3 task detail — deliverable-first (Atlas-UI_v3) =================== */
/* workspace tabs — Draft / To-do / Original request */
.v2-wtabs { margin-bottom: 18px; display: inline-flex; align-items: stretch; gap: 0; padding: 0; border: none; border-radius: 0; background: transparent; box-shadow: inset 0 -1px 0 var(--ink-faint); }
.v2-wtab { position: relative; display: inline-flex; align-items: center; gap: 7px; height: 28px; padding: 0 13px; border: none; border-radius: 0; cursor: pointer; font: 600 15px/1 var(--font-body); background: transparent; color: var(--cobalt); transition: color 140ms var(--ease-glass); }
.v2-wtab:hover { color: var(--rust); }
.v2-wtab.is-on { background: transparent; color: var(--cobalt); box-shadow: none; }
.v2-wtab.is-on::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--rust); }

/* deliverable header — kind chip + "chosen by Atlas" */
.v2-del-kindrow { display: flex; align-items: center; gap: 9px; min-width: 0; }
.v2-del-ic-sm { width: 26px; height: 26px; flex: none; display: grid; place-items: center; border-radius: 0; background: var(--atlas-blue-12); color: var(--atlas-blue); }
.v2-del-kindname { font: 500 15px/1.2 var(--font-ui); letter-spacing: -.004em; color: var(--text-primary); }
.v2-del-chosen { font: 11.5px/1.3 var(--font-ui); color: var(--text-tertiary); }

/* typed artifact cards */
.v2-del-artifact { margin-top: 0; cursor: text; }
.v2-core { margin: 0; }
.v2-core p { margin: 0 0 8px; font: 14.5px/1.5 var(--font-ui); color: var(--text-primary); text-wrap: pretty; }
.v2-core p:last-child { margin-bottom: 0; }
ul.v2-core { padding-left: 1.2em; }
.v2-core li { margin: 0 0 6px; font: 14.5px/1.5 var(--font-ui); color: var(--text-primary); text-wrap: pretty; overflow-wrap: anywhere; }
.v2-core a { color: var(--atlas-blue); text-decoration: none; overflow-wrap: anywhere; }
.v2-core a:hover { text-decoration: underline; }
.v2-core li:last-child { margin-bottom: 0; }
details.v2-more:not([open]) > :not(summary) { display: none !important; }
.v2-art-text { padding: 18px 20px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.62); white-space: pre-wrap; overflow-wrap: anywhere; font: 14.5px/1.65 var(--font-ui); color: var(--text-primary); }
.v2-art-text.is-letter { padding: 20px 22px; font: 15px/1.7 var(--font-ui); background: rgba(255,255,255,.7); }
.v2-art-links { margin: 0; padding: 6px 4px; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.v2-art-links li { display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 0; }
.v2-art-links li:hover { background: rgba(255,255,255,.55); }
.v2-art-links a { font: 500 13px/1.4 var(--font-ui); color: var(--atlas-blue); text-decoration: none; }
.v2-art-links a:hover { text-decoration: underline; }
.v2-art-links .host { font: 11.5px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-art-checklist { margin: 0; padding: 2px 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.v2-art-checklist li { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 0; }
.v2-art-checklist .box { width: 17px; height: 17px; flex: none; display: grid; place-items: center; border-radius: 0; color: #fff; background: rgba(255,255,255,.6); border: 1px solid rgba(10,27,61,.20); }
.v2-art-checklist li.is-checked .box { background: var(--action-primary); border-color: var(--action-primary); }
.v2-art-checklist .lbl { font: 13px/1.4 var(--font-ui); text-wrap: pretty; }
.v2-art-checklist li.is-checked .lbl { color: var(--text-tertiary); }
.v2-art-table-wrap { overflow-x: auto; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.56); }
.v2-art-table { width: 100%; border-collapse: collapse; font: 12.5px/1.5 var(--font-ui); }
.v2-art-table th { text-align: left; font: 500 10.5px/1.4 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-art-table th, .v2-art-table td { padding: 9px 13px; border-bottom: 1px solid var(--line-hairline); }
.v2-art-table tr:last-child td { border-bottom: none; }
.v2-art-cards { display: flex; flex-direction: column; gap: 8px; }
.v2-art-cards.is-grid { display: grid; grid-template-columns: 1fr 1fr; }
.v2-art-cards article { padding: 14px 16px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.5); }
.v2-art-cards h4 { margin: 0; font: 500 13.5px/1.35 var(--font-ui); }
.v2-art-cards p { margin-top: 5px; font: 12.5px/1.5 var(--font-ui); color: var(--text-secondary); }
.v2-art-cards a { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font: 500 12px/1.3 var(--font-ui); color: var(--atlas-blue); text-decoration: none; }
.v2-art-cards a:hover { text-decoration: underline; }
.v2-art-media { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.v2-art-media figure { margin: 0; border: 1px solid var(--line-hairline); border-radius: var(--r-md); overflow: hidden; background: rgba(255,255,255,.5); }
.v2-art-media img { display: block; width: 100%; height: auto; }
.v2-art-media figcaption { padding: 7px 10px; font: 11.5px/1.3 var(--font-ui); }
.v2-art-media a { color: var(--atlas-blue); text-decoration: none; }
.v2-art-diagram { padding: 16px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.5); display: flex; flex-direction: column; gap: 10px; }
.v2-art-diagram .flow { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.v2-art-diagram .node { padding: 6px 11px; border: 1px solid var(--line-quiet); border-radius: var(--r-pill); background: rgba(255,255,255,.7); font: 500 12px/1.3 var(--font-ui); }
.v2-art-diagram .arr { color: var(--text-tertiary); }

/* markdown-lite prose card */
.v2-art-md { padding: 20px 24px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.62); white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.66 var(--font-ui); color: var(--text-primary); }
.v2-art-md a { color: var(--atlas-blue); text-decoration: none; overflow-wrap: anywhere; }
.v2-art-md a:hover { text-decoration: underline; }
.v2-art-md .md-h { display: block; margin: 6px 0 2px; font: 500 14.5px/1.35 var(--font-ui); letter-spacing: -.006em; }
.v2-art-md .md-li { display: block; padding-left: 16px; position: relative; }
.v2-art-md .md-li::before { content: "·"; position: absolute; left: 4px; color: var(--text-tertiary); }

/* flight options — Atlas-UI_v3 fare cards */
.v2-flight-live { display: flex; align-items: center; gap: 8px; margin: 10px 0 2px; font: 11.5px/1.4 var(--font-ui); color: var(--text-tertiary); }
.v2-flight-live .v2-att-chip { gap: 6px; height: 22px; padding: 0 9px; }
.v2-flights { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.v2-flight { padding: 14px 16px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.5); }
.v2-flight.is-rec { border-color: var(--atlas-blue); background: var(--atlas-blue-12); box-shadow: none; }
.v2-flight-top { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.v2-flight-name { min-width: 0; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.v2-flight-name .air { font: 500 14px/1.3 var(--font-ui); }
.v2-flight-name .code { font: 11.5px/1.3 var(--font-data); color: var(--text-tertiary); }
.v2-flight-recchip { display: inline-flex; align-items: center; height: 20px; padding: 0 9px; border-radius: var(--r-pill); font: 500 10.5px/1 var(--font-ui); background: var(--atlas-blue); color: #fff; }
.v2-flight-price { flex: none; font: 500 17px/1.1 var(--font-data); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.v2-flight-grid { margin-top: 11px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.v2-flight-grid .k { font: 500 10.5px/1.2 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-flight-grid .v { margin-top: 4px; font: 12.5px/1.35 var(--font-ui); overflow-wrap: anywhere; }
.v2-flight-foot { margin-top: 11px; padding-top: 10px; border-top: 1px solid var(--line-hairline); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.v2-flight-foot span { font: 11.5px/1.4 var(--font-ui); color: var(--text-tertiary); }
.v2-flight-foot a { flex: none; display: inline-flex; align-items: center; gap: 6px; font: 500 12px/1.3 var(--font-ui); color: var(--atlas-blue); text-decoration: none; }
.v2-flight-foot a:hover { text-decoration: underline; }
.v2-flight-why { margin-top: 10px; display: flex; align-items: baseline; gap: 8px; }
.v2-flight-why .k { flex: none; font: 500 11px/1.4 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-flight-why .v { font: 12.5px/1.5 var(--font-ui); color: var(--text-secondary); text-wrap: pretty; }
.v2-flight-extra { margin-top: 10px; font: 12px/1.5 var(--font-ui); color: var(--text-tertiary); }

/* original request — read-only inbound record */
.v2-orig { padding: 20px 22px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.5); }
.v2-orig-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.v2-orig-from { font: 500 13.5px/1.3 var(--font-ui); color: var(--text-primary); }
.v2-orig-addr { margin-top: 3px; font: 11.5px/1.3 var(--font-data); color: var(--text-tertiary); }
.v2-orig-on { flex: none; font: 11.5px/1.3 var(--font-data); font-variant-numeric: tabular-nums; color: var(--text-tertiary); }
.v2-orig-body { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-hairline); white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.72 var(--font-ui); color: var(--text-secondary); }

/* completion checklist — package items with progress */
.v2-check-sec { margin-top: 4px; }
.v2-check-count { font: 500 11.5px/1.3 var(--font-data); font-variant-numeric: tabular-nums; color: var(--text-tertiary); }
.v2-check-bar { margin-top: 10px; height: 3px; border-radius: var(--r-pill); background: rgba(10,27,61,.08); overflow: hidden; }
.v2-check-bar > div { height: 100%; border-radius: var(--r-pill); background: var(--action-primary); transition: width 220ms var(--ease-glass); }
.v2-check-list { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.v2-check-item { padding-bottom: 4px; }
.v2-check-row { display: flex; align-items: center; gap: 11px; width: 100%; padding: 8px 10px; margin-left: -10px; border: none; border-radius: 0; background: transparent; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.v2-check-row:hover { background: rgba(255,255,255,.55); }
.v2-check-row .box { width: 17px; height: 17px; flex: none; display: grid; place-items: center; border-radius: 0; color: #fff; background: rgba(255,255,255,.6); border: 1px solid rgba(10,27,61,.20); transition: background-color 140ms var(--ease-glass); }
.v2-check-row .box.is-on { background: var(--action-primary); border-color: var(--action-primary); }
.v2-check-row .lbl { flex: 1; min-width: 0; font: 13px/1.4 var(--font-ui); text-wrap: pretty; color: var(--text-primary); }
.v2-check-row .lbl.is-done { color: var(--text-tertiary); }
.v2-check-note { margin: 0 0 4px 38px; font: 11.5px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-att-chip { flex: none; display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--r-pill); font: 500 10.5px/1 var(--font-ui); }
.v2-att-files { margin: 2px 0 6px 38px; display: flex; flex-wrap: wrap; gap: 6px; }
.v2-att-file { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid var(--line-hairline); border-radius: var(--r-pill); background: rgba(255,255,255,.6); font: 11.5px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-att-file a { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--atlas-blue); text-decoration: none; font-weight: 500; }
.v2-att-file a:hover { text-decoration: underline; }
.v2-att-file button { display: grid; place-items: center; width: 16px; height: 16px; border: none; border-radius: 50%; background: rgba(10,27,61,.06); color: var(--atlas-blocked); cursor: pointer; }
.v2-att-upload { position: relative; display: inline-flex; min-height: 28px; align-items: center; margin-left: 38px; padding: 0 10px; border: 1px dashed rgba(9,87,255,.38); border-radius: var(--r-sm); color: var(--atlas-blue); cursor: pointer; font: 500 11px/1 var(--font-ui); }
.v2-att-upload span { display: inline-flex; align-items: center; gap: 6px; }
.v2-att-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.v2-att-upload:focus-within { outline: 2px solid var(--atlas-blue-12); outline-offset: 2px; }
.v2-dash-note { margin-top: 12px; padding: 10px 12px; border: 1px dashed rgba(10,27,61,.18); border-radius: var(--r-sm); font: 11.5px/1.4 var(--font-ui); color: var(--text-tertiary); }

/* lifecycle footer — verb → armed two-step → receipt */
.v2-sel-foot { flex: none; padding: 12px 22px 14px; border-top: 1px solid var(--line-hairline); background: rgba(255,255,255,.34); display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.v2-guide-wrap {
  flex: none; margin: 0; padding: 12px 22px 14px;
  border-top: 1px solid var(--line-hairline); background: rgba(255,255,255,.4);
}
.v2-guide {
  display: flex; align-items: flex-end; gap: 8px; margin: 0;
}
.v2-guide textarea {
  flex: 1; min-width: 0; min-height: 64px; resize: vertical;
  padding: 10px 12px; border: 1px solid var(--line-quiet); border-radius: var(--r-md);
  background: rgba(255,255,255,.62); outline: none; font: 13.5px/1.45 var(--font-ui); color: var(--text-primary);
}
.v2-guide textarea:focus { border-color: var(--atlas-blue); }
.v2-ask {
  margin-bottom: 16px; padding: 12px 14px; border-radius: var(--r-md);
  background: rgba(155,44,58,.08); border: 1px solid rgba(155,44,58,.18);
}
.v2-ask-kicker { font: 500 10.5px/1.3 var(--font-ui); letter-spacing: .07em; text-transform: uppercase; color: var(--atlas-blocked); }
.v2-ask-q { margin-top: 4px; font: 14px/1.4 var(--font-ui); color: var(--text-primary); }
details.v2-more { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line-hairline); }
details.v2-more summary {
  cursor: pointer; font: 500 13px/1.3 var(--font-ui); color: var(--text-tertiary);
  list-style: none;
}
details.v2-more summary::-webkit-details-marker { display: none; }
details.v2-more summary:hover { color: var(--text-primary); }
.v2-full-note { margin: 10px 0 16px; }
.v2-full-kicker { margin: 0 0 8px; font: 500 11px/1.3 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-foot-note { font: 11.5px/1.4 var(--font-ui); color: var(--text-tertiary); text-wrap: pretty; }
.v2-foot-warn { font: 11.5px/1.4 var(--font-ui); color: var(--text-primary); text-wrap: pretty; }
.v2-foot-actions { flex: none; display: flex; align-items: center; gap: 8px; }
.v2-verb-btn { height: 32px; padding: 0 16px; border: 1px solid var(--line-quiet); border-radius: var(--r-pill); background: rgba(255,255,255,.6); color: var(--text-primary); font: 500 12.5px/1 var(--font-ui); cursor: pointer; }
.v2-verb-btn:hover { background: var(--paper-raised); }
.v2-sent-chip { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 14px; border-radius: var(--r-pill); font: 500 12.5px/1 var(--font-ui); background: rgba(30,122,90,.12); color: var(--atlas-positive); }
.v2-sendback { margin: 0 22px 12px; padding: 12px 14px; border: 1px solid var(--line-quiet); border-radius: var(--r-md); background: rgba(255,255,255,.6); }
.v2-sendback textarea { display: block; width: 100%; min-height: 64px; resize: vertical; padding: 10px 12px; border: 1px solid var(--line-quiet); border-radius: var(--r-sm); background: var(--paper-raised); outline: none; font: 12.5px/1.55 var(--font-ui); color: var(--text-primary); }
.v2-sendback textarea:focus { border-color: var(--atlas-blue); box-shadow: none; }

/* message + attachment package — the message body stays metadata-free */
.v2-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.v2-pkg { display: flex; flex-direction: column; gap: 12px; }
.v2-pkg-unsent { padding: 5px 9px; border-radius: var(--r-pill); background: rgba(169,118,26,.12); color: var(--atlas-caution); font: 500 10.5px/1 var(--font-ui); letter-spacing: .04em; text-transform: uppercase; }
.v2-pkg-meta { display: grid; gap: 7px; margin: 0; padding: 11px 13px; border-radius: var(--r-sm); background: rgba(10,27,61,.045); }
.v2-pkg-meta div { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 8px; }
.v2-pkg-meta dt { font: 500 10px/1.4 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-pkg-meta dd { margin: 0; font: 500 12px/1.4 var(--font-ui); color: var(--text-primary); overflow-wrap: anywhere; }
.v2-pkg-label { font: 500 11px/1.3 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-pkg-message { display: block; width: 100%; min-height: 240px; resize: vertical; padding: 15px 16px; border: 1px solid var(--line-quiet); border-radius: var(--r-md); background: rgba(255,255,255,.66); outline: none; font: 12.5px/1.62 var(--font-ui); color: var(--text-primary); }
.v2-pkg-message:focus { border-color: var(--atlas-blue); box-shadow: none; background: var(--paper-raised); }
.v2-pkg-state { margin: 0; font: 11.5px/1.4 var(--font-ui); color: var(--text-tertiary); }
.v2-pkg-state.is-error { color: var(--atlas-blocked); }
.v2-pkg-manifest-head { margin-top: 6px; padding-top: 15px; border-top: 1px solid var(--line-hairline); }
.v2-pkg-manifest-head h4 { margin: 0; font: 500 15px/1.3 var(--font-ui); }
.v2-pkg-manifest-head p { margin-top: 4px; font: 11.5px/1.45 var(--font-ui); color: var(--text-secondary); }
.v2-pkg-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.v2-pkg-item { padding: 11px 12px; border: 1px solid var(--line-hairline); border-radius: var(--r-md); background: rgba(255,255,255,.46); }
.v2-pkg-item.is-collected { border-color: rgba(9,87,255,.28); background: var(--atlas-blue-12); }
.v2-pkg-item.is-ready { border-color: rgba(30,122,90,.32); background: rgba(30,122,90,.07); }
.v2-pkg-item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.v2-pkg-item-head strong { display: block; font: 500 12.5px/1.4 var(--font-ui); color: var(--text-primary); }
.v2-pkg-item-head p { margin-top: 3px; font: 11px/1.4 var(--font-ui); color: var(--text-secondary); }
.v2-pkg-item-head select { height: 28px; padding: 0 8px; border: 1px solid var(--line-quiet); border-radius: var(--r-sm); background: var(--paper-raised); font: 500 11px/1 var(--font-ui); color: var(--text-primary); }
.v2-pkg-empty { margin: 8px 0; font: 11px/1.4 var(--font-ui); color: var(--text-tertiary); }
.v2-pkg-upload { position: relative; display: inline-flex; min-height: 30px; align-items: center; padding: 0 10px; border: 1px dashed rgba(9,87,255,.38); border-radius: var(--r-sm); color: var(--atlas-blue); cursor: pointer; font: 500 11px/1 var(--font-ui); }
.v2-pkg-upload span { display: inline-flex; align-items: center; gap: 6px; }
.v2-pkg-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.v2-pkg-upload:focus-within { outline: 2px solid var(--atlas-blue-12); outline-offset: 2px; }
.v2-pkg-files { display: grid; gap: 5px; margin: 8px 0; padding: 0; list-style: none; }
.v2-pkg-files li { display: flex; align-items: center; gap: 8px; min-width: 0; font: 11px/1.35 var(--font-ui); color: var(--text-tertiary); }
.v2-pkg-files a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--atlas-blue); }
.v2-pkg-files button { margin-left: auto; border: none; background: none; color: var(--atlas-blocked); cursor: pointer; font: 500 10.5px/1 var(--font-ui); }
.v2-pkg-intent { margin-top: 7px; padding-top: 15px; border-top: 1px solid var(--line-hairline); }
.v2-pkg-intent p { margin-top: 7px; font: 12px/1.5 var(--font-ui); color: var(--text-secondary); }
@media (max-width: 720px) { .v2-pkg-item-head { flex-direction: column; } .v2-pkg-item-head label, .v2-pkg-item-head select { width: 100%; } }

/* calendar (ref:552–601) */
.v2-week { flex: 1; overflow: hidden; display: grid; grid-template-columns: repeat(7, 1fr); /* ref:566 */ }
.v2-day { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid var(--line-hairline); /* ref:568 */ }
.v2-day-head { padding: 12px 12px 10px; border-bottom: 1px solid var(--line-hairline); display: flex; align-items: baseline; gap: 7px; /* ref:569 */ }
.v2-day-head .d { font: 500 11px/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--text-tertiary); }
.v2-day-head .n { font: 500 15px/1 var(--font-data); font-variant-numeric: tabular-nums; color: var(--text-primary); }
.v2-day-today { margin-left: auto; width: 7px; height: 7px; border-radius: 50%; background: var(--atlas-blue); /* ref:572 */ }
.v2-day-body { flex: 1; overflow: auto; padding: 10px; display: flex; flex-direction: column; gap: 7px; /* ref:574 */ }
.v2-event { position: relative; padding: 9px 10px 9px 12px; border: 1px solid var(--line-hairline); border-radius: var(--r-sm); background: rgba(255,255,255,.52); overflow: hidden; /* ref:576 */ }
.v2-event-bar { position: absolute; left: 0; top: 0; bottom: 0; width: 2px; /* ref:577 */ }
.v2-event-at { font: 500 11px/1 var(--font-data); font-variant-numeric: tabular-nums; color: var(--text-tertiary); /* ref:578 */ }
.v2-event-title { margin-top: 5px; font: 500 12px/1.35 var(--font-ui); color: var(--text-primary); text-wrap: pretty; /* ref:579 */ }
.v2-day-empty { font: 12px/1.4 var(--font-ui); color: var(--text-tertiary); /* ref:583 */ }
.v2-cal-foot { padding: 14px 22px 16px; border-top: 1px solid var(--line-hairline); display: flex; align-items: center; gap: 10px; /* ref:590 */ }
.v2-cal-foot .v2-seg { flex: none; }
.v2-cal-foot .v2-seg-btn { height: 26px; padding: 0 10px; font: 500 11.5px/1 var(--font-ui); /* ref:593 */ }
.v2-cal-foot .v2-composer { flex: 1; }
.v2-cal-day-pick {
  flex: none; align-self: center; height: 32px; max-width: 96px; padding: 0 6px;
  border: 1px solid var(--line-quiet); border-radius: var(--r-sm);
  background: rgba(255,255,255,.55); color: var(--text-secondary);
  font: 500 12px/1 var(--font-ui); outline: none;
}
.v2-clarify { margin: 0 22px 10px; padding: 12px 14px; border: 1px solid var(--line-quiet); border-radius: var(--r-md); background: rgba(255,255,255,.6); }
.v2-clarify .q { font: 12.5px/1.45 var(--font-ui); color: var(--text-secondary); }
.v2-clarify .row { margin-top: 8px; display: flex; gap: 8px; }
.v2-clarify input { flex: 1; height: 30px; padding: 0 10px; border: 1px solid var(--line-quiet); border-radius: var(--r-sm); background: var(--paper-raised); font: 12.5px/1 var(--font-ui); outline: none; }

/* timeline (ref:604–665) */
.v2-legend { display: flex; align-items: center; gap: 14px; /* ref:613 */ }
.v2-legend span { display: inline-flex; align-items: center; gap: 6px; font: 12px/1 var(--font-ui); color: var(--text-tertiary); }
.v2-leg-done { width: 14px; height: 9px; border-radius: 0; background: rgba(10,27,61,.13); border: 1px solid rgba(10,27,61,.16); /* ref:614 */ }
.v2-leg-run { width: 14px; height: 9px; border-radius: 0; background: var(--action-primary); /* ref:615 */ }
.v2-leg-plan { width: 14px; height: 9px; border-radius: 0; background: rgba(255,255,255,.5); border: 1px dashed rgba(10,27,61,.22); /* ref:616 */ }
.v2-months { display: flex; padding: 12px 22px 8px; border-bottom: 1px solid var(--line-hairline); /* ref:622 */ }
.v2-months .lbl { width: 230px; flex: none; }
.v2-months .grid { flex: 1; display: grid; }
.v2-months .grid span { font: 500 11px/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--text-tertiary); /* ref:626 */ }
.v2-months .pct { width: 96px; flex: none; }
.v2-projects { flex: 1; overflow: auto; padding: 6px 22px 22px; /* ref:632 */ }
.v2-proj { display: flex; align-items: stretch; padding: 14px 0; border-bottom: 1px solid var(--line-hairline); /* ref:634 */ }
.v2-proj-info { width: 230px; flex: none; padding-right: 18px; }
.v2-proj-name { font: 500 15px/1.3 var(--font-ui); /* ref:636 */ }
.v2-proj-meta { margin-top: 7px; display: flex; align-items: center; gap: 8px; }
.v2-proj-status { display: inline-flex; align-items: center; height: 21px; padding: 0 9px; border-radius: var(--r-pill); font: 500 11px/1 var(--font-ui); background: rgba(10,27,61,.06); color: var(--text-secondary); /* ref:638 */ }
.v2-proj-owner { font: 12px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-proj-track { flex: 1; position: relative; min-height: 72px; /* ref:642 */ }
.v2-proj-grid { position: absolute; inset: 0; display: grid; }
.v2-proj-grid span { border-left: 1px solid var(--line-hairline); /* ref:645 */ }
.v2-today-line { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--atlas-blue); opacity: .5; /* ref:648 */ }
.v2-proj-bars { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: center; gap: 6px; /* ref:649 */ }
.v2-bar-lane { position: relative; height: 26px; /* ref:651 */ }
.v2-bar {
  position: absolute; top: 50%; transform: translateY(-50%); height: 26px; display: flex; align-items: center;
  padding: 0 10px; border-radius: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font: 500 11.5px/1 var(--font-ui); /* ref:1037 */
}
.v2-bar.is-done { background: var(--paper-deepest); border: 1px solid var(--ink-faint); color: var(--text-muted); }
.v2-bar.is-active { background: var(--cobalt); border: 1px solid var(--cobalt); color: var(--paper); }
.v2-bar.is-plan { background: transparent; border: 1px dashed var(--ink-faint); color: var(--text-tertiary); }
.v2-bar-out { position: absolute; top: 50%; transform: translateY(-50%); white-space: nowrap; font: 500 11.5px/1 var(--font-ui); color: var(--text-secondary); /* ref:1038 */ }
.v2-proj-pct { width: 96px; flex: none; padding-left: 18px; text-align: right; /* ref:658 */ }
.v2-proj-pct .n { font: 500 19px/1 var(--font-data); font-variant-numeric: tabular-nums; }
.v2-proj-pct .l { margin-top: 6px; font: 11.5px/1.3 var(--font-ui); color: var(--text-tertiary); }

/* jarvis chat dock — console behaviour carried, glass skin */
.v2-jarvis-panel { position: absolute; left: 104px; top: 96px; bottom: 24px; width: 480px; display: flex; flex-direction: column; overflow: hidden; }
.v2-chat-log { flex: 1; overflow: auto; padding: 16px 22px; display: flex; flex-direction: column; gap: 10px; }
.v2-msg { max-width: 86%; padding: 10px 13px; border-radius: var(--r-md); font: 13px/1.5 var(--font-ui); white-space: pre-wrap; }
.v2-msg.is-user { align-self: flex-end; background: var(--atlas-blue-12); color: var(--text-primary); }
.v2-msg.is-bot { align-self: flex-start; background: rgba(255,255,255,.6); border: 1px solid var(--line-hairline); color: var(--text-secondary); }


/* =================== DESK ACTIVITY RAIL =================== */
.v2-deskact {
  display: none !important;
  position: absolute; left: 104px; bottom: 24px; z-index: 28;
  width: min(380px, calc(100vw - 280px));
  padding: 8px 12px 9px;
  pointer-events: none;
}
.v2-deskact-head {
  display: flex; align-items: center; gap: 8px; margin-bottom: 4px;
}
.v2-deskact-k {
  font: 600 var(--fs-micro)/var(--lh-micro) var(--font-body);
  letter-spacing: var(--ls-micro); text-transform: uppercase;
  color: var(--text-tertiary);
}
.v2-deskact-orb {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--ink-faint); flex: none;
}
.v2-deskact.is-live .v2-deskact-orb {
  background: var(--cobalt);
  animation: atlasOrb 1.4s ease-in-out infinite;
}
.v2-deskact.is-idle .v2-deskact-orb { background: var(--ink-faint); animation: none; }
.v2-deskact-lines { display: flex; flex-direction: column; gap: 2px; }
.v2-deskact-row {
  display: block; width: 100%; padding: 3px 4px; border: 0;
  background: transparent; text-align: left; cursor: default;
  font: 13.5px/1.35 var(--font-body); color: var(--royal-body);
}
.v2-deskact-row[data-id] { cursor: pointer; }
.v2-deskact-row[data-id]:hover { background: var(--atlas-blue-12); }
.v2-deskact-row.is-working { animation: v2DeskactPulse 1.6s ease-in-out infinite; }
.v2-deskact-row.is-quiet { color: var(--text-tertiary); cursor: default; }
@keyframes v2DeskactPulse {
  0%, 100% { background: transparent; }
  50% { background: var(--atlas-blue-12); }
}

/* Owner / align twin placement toolbar (twin.js) */
.twin-tools {
  position: absolute; left: 50%; transform: translateX(-50%);
  top: 88px; z-index: 30;
  display: flex; gap: 6px; align-items: center; padding: 6px 8px;
  background: rgba(245,235,216,.94); border: 1px solid var(--cobalt);
  box-shadow: none;
}
.twin-tools-btn {
  border: 1px solid var(--cobalt); background: var(--paper);
  color: var(--cobalt); min-width: 34px; height: 30px;
  font: 600 14px var(--font-body); border-radius: 0; cursor: pointer; padding: 0 6px;
}
.twin-tools-btn:hover { background: var(--atlas-blue-12); }
.twin-tools-label {
  font: 600 12px var(--font-data); color: var(--cobalt); padding: 0 4px;
  font-variant-numeric: tabular-nums;
}

/* =================== PHONE (≤768px) — Atlas-Mobile-2E =================== */
@media (max-width: 768px) {
  body.is-v2 #app {
    --mbar-h: calc(52px + env(safe-area-inset-top, 0px));
    --mtab-h: calc(58px + env(safe-area-inset-bottom, 0px));
  }
  body.is-v2 #app button { touch-action: manipulation; }

  .v2-topbar, .v2-status,
  .v2-loc-pill, .v2-snap, .v2-detail, .v2-right, .v2-evidence { display: none !important; }
  .v2-deskact {
    left: 10px; right: 10px; bottom: calc(var(--mtab-h) + 8px);
    width: auto; max-width: none; z-index: 32;
  }
  .v2-deskact-row:nth-child(n+3) { display: none; }
  .v2-asset { pointer-events: none; inset: 0; }

  .v2-mbar {
    display: flex; align-items: center; gap: 8px;
    position: absolute; left: 0; right: 0; top: 0; z-index: 34;
    padding: calc(6px + env(safe-area-inset-top, 0px)) 10px 6px;
    background: var(--paper-raised); border-bottom: 1px solid var(--ink-rule);
  }
  .v2-mbrand {
    display: flex; align-items: center; height: 40px; padding: 0;
    border: 0; background: none; cursor: pointer; flex: none;
  }
  .v2-mbrand-logo { display: block; width: 92px; height: auto; mix-blend-mode: darken; }
  .v2-mbar-flex { flex: 1; }
  .v2-mfilter {
    flex: 1; min-width: 0; height: 40px; display: flex; align-items: center; gap: 6px;
    padding: 0 10px; border: 1px solid var(--ink-faint); background: var(--paper);
    color: var(--cobalt); cursor: pointer; text-align: left;
  }
  .v2-mfilter #v2MfilterLabel {
    flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font: 600 13px/1.2 var(--font-body);
  }
  .v2-mfilter .icon-mask { flex: none; }
  .v2-mfilter.is-on { border-color: var(--cobalt); background: var(--atlas-blue-12); }
  .v2-micon {
    width: 40px; height: 40px; flex: none; display: grid; place-items: center;
    border: 1px solid var(--ink-faint); background: var(--paper); cursor: pointer;
  }
  .v2-micon.is-on { border-color: var(--cobalt); background: var(--cobalt); }
  .v2-micon.is-on .icon-mask { background: var(--paper) !important; }

  .v2-navctl {
    display: flex; flex-direction: column; align-items: stretch; gap: 4px;
    left: auto; right: 10px; bottom: calc(var(--mtab-h) + 54px);
    width: 48px; padding: 4px; z-index: 28;
    background: var(--paper-raised); border: 1px solid var(--ink-rule);
  }
  .v2-navctl .v2-nav-btn { width: 40px; height: 40px; }
  .v2-navctl .v2-nav-n,
  .v2-navctl [data-nav="rotate-left"],
  .v2-navctl [data-nav="rotate-right"],
  .v2-navctl [data-nav="tilt-up"],
  .v2-navctl [data-nav="tilt-down"],
  .v2-navctl .v2-nav-sep { display: none !important; }
  .v2-layers-menu {
    right: 10px; left: auto; bottom: calc(var(--mtab-h) + 160px); min-width: 196px; z-index: 35;
  }
  .v2-layers-menu[hidden] { display: none !important; }
  body.is-v2:has(#v2Mpeek:not([hidden])) .v2-navctl,
  body.is-v2:has(#v2Mfull:not([hidden])) .v2-navctl,
  body.is-v2:has(#v2Msearch:not([hidden])) .v2-navctl,
  body.is-v2:has(#v2Mmenu:not([hidden])) .v2-navctl,
  body.is-v2:has(#v2Tasks:not([hidden])) .v2-navctl,
  body.is-v2:has(#v2Cal:not([hidden])) .v2-navctl,
  body.is-v2:has(#v2Time:not([hidden])) .v2-navctl,
  body.is-v2.is-mpeek .v2-navctl,
  body.is-v2.is-mfull .v2-navctl,
  body.is-v2:has(#v2Mpeek:not([hidden])) .v2-layers-menu,
  body.is-v2:has(#v2Mfull:not([hidden])) .v2-layers-menu,
  body.is-v2:has(#v2Msearch:not([hidden])) .v2-layers-menu,
  body.is-v2.is-mpeek .v2-layers-menu,
  body.is-v2.is-mfull .v2-layers-menu {
    display: none !important;
  }

  .twin-tools { display: none !important; }
  body.is-v2 #app.is-align .twin-tools {
    display: flex !important;
    top: calc(var(--mbar-h) + 8px);
    left: 12px; right: 12px; transform: none;
    max-width: none; justify-content: center;
  }
  body.is-v2.is-mpeek .twin-tools,
  body.is-v2.is-mfull .twin-tools,
  body.is-v2.is-mpeek #app.is-align .twin-tools,
  body.is-v2.is-mfull #app.is-align .twin-tools { display: none !important; }

  .v2-mmenu {
    display: block; position: absolute; left: 0; right: 0; top: var(--mbar-h); z-index: 35;
    max-height: min(70vh, 560px); overflow: auto; -webkit-overflow-scrolling: touch;
    padding: 14px 14px 16px; background: var(--paper-raised); border-bottom: 1px solid var(--ink-rule);
  }
  .v2-mmenu[hidden] { display: none !important; }
  .v2-mmenu-link {
    display: flex; align-items: center; justify-content: center;
    width: 100%; min-height: 46px; margin-bottom: 16px;
    border: 1px solid var(--ink-rule); background: var(--paper);
    color: var(--cobalt); font: 600 13px/1 var(--font-display);
    letter-spacing: .16em; text-transform: uppercase; cursor: pointer;
  }
  .v2-mmenu-link:hover { color: var(--rust); }
  .v2-mmenu-label {
    display: block; font: 600 10.5px/1 var(--font-display);
    letter-spacing: .22em; text-transform: uppercase; color: var(--text-muted);
  }
  .v2-mmenu-login {
    display: flex; align-items: center; justify-content: center;
    width: 100%; min-height: 44px; margin-bottom: 14px;
    background: var(--cobalt); color: var(--paper);
    font: 600 13px/1 var(--font-display); letter-spacing: .2em; text-transform: uppercase;
    text-decoration: none; cursor: pointer; border: none;
  }
  .v2-mmenu-account {
    display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px;
  }
  .v2-mmenu-who {
    font: 600 13.5px/1.3 var(--font-body); color: var(--text-muted);
  }
  .v2-mmenu-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
  .v2-mchip-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 10px 14px; min-height: 44px;
    border: 1px solid var(--ink-faint); background: var(--paper); color: var(--cobalt);
    font: 600 15px/1.35 var(--font-body); cursor: pointer;
  }
  .v2-mchip-btn.is-on { border-color: var(--cobalt); background: var(--cobalt); color: var(--paper); }
  .v2-mmenu-foot {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ink-faint);
    font: 14.5px/1 var(--font-body); color: var(--text-muted);
  }
  .v2-mmenu-foot .v2-btn-primary {
    height: 40px; padding: 0 16px;
    font: 600 12px/1 var(--font-display); letter-spacing: .2em; text-transform: uppercase;
  }

  .v2-mhint {
    display: block; position: absolute; left: 10px; right: auto; bottom: calc(var(--mtab-h) + 12px); z-index: 20;
    width: auto; max-width: calc(100vw - 72px); padding: 9px 12px;
    background: rgba(247,237,216,.94); border: 1px solid var(--ink-rule);
    font: 600 11px/1 var(--font-display); letter-spacing: .14em; text-transform: uppercase;
    color: var(--cobalt); text-align: left; pointer-events: none;
  }
  .v2-mhint[hidden] { display: none !important; }

  .v2-mback {
    display: grid; place-items: center;
    position: absolute; left: 12px; top: calc(var(--mbar-h) + 8px); z-index: 35;
    width: 44px; height: 44px; border: 1px solid var(--ink-rule); background: rgba(247,237,216,.94);
    cursor: pointer;
  }

  .v2-mchip {
    display: flex; flex-direction: column; align-items: center;
    position: absolute; left: 50%; top: 38%; transform: translate(-50%, -100%); z-index: 22;
    pointer-events: none;
  }
  body.is-v2.is-mpeek .v2-mchip,
  body.is-v2:has(#v2Mpeek:not([hidden])) .v2-mchip {
    top: calc(var(--mbar-h) + 52px);
    transform: translate(-50%, 0);
  }
  .v2-mback[hidden] { display: none !important; }
  .v2-mchip[hidden] { display: none !important; }
  .v2-mchip-street {
    padding: 5px 10px; background: rgba(247,237,216,.95); border: 1px solid var(--cobalt);
    font: 600 11px/1.25 var(--font-display); letter-spacing: .12em; text-transform: uppercase;
    color: var(--cobalt); white-space: nowrap; max-width: min(72vw, 280px);
    overflow: hidden; text-overflow: ellipsis;
  }
  .v2-mchip-stem { width: 1px; height: 30px; background: var(--cobalt); }
  .v2-mchip-mark {
    width: 16px; height: 16px; margin-top: -9px; transform: rotate(45deg);
    background: var(--rust); box-shadow: 0 0 0 4px rgba(242,228,201,.8);
  }

  .v2-mpeek {
    display: flex; flex-direction: column;
    position: absolute; left: 10px; right: 10px; bottom: calc(var(--mtab-h) + 10px); z-index: 30;
    max-height: min(42vh, 300px);
    background: var(--paper-raised); border: 1px solid var(--ink-rule);
    animation: atlasRise 340ms 80ms both;
  }
  .v2-mpeek.is-exp {
    top: calc(var(--mbar-h) + 8px);
    bottom: calc(var(--mtab-h) + 10px);
    max-height: none;
  }
  .v2-mpeek[hidden] { display: none !important; }
  .v2-mpeek-top {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 5px 8px 5px 12px; border-bottom: 1px solid var(--ink-faint);
  }
  .v2-mfolio { font: 600 11px/1 var(--font-display); letter-spacing: .16em; color: var(--rust); }
  .v2-mpeek-nav { display: flex; gap: 6px; }
  .v2-mnav {
    width: 40px; height: 36px; display: grid; place-items: center;
    border: 1px solid var(--ink-faint); background: var(--paper); cursor: pointer;
  }
  .v2-mpeek-body {
    display: flex; flex-direction: column; width: 100%; padding: 0; border: 0; background: none;
    text-align: left; cursor: pointer; color: inherit; font: inherit;
  }
  .v2-mpeek-main { display: flex; width: 100%; align-items: stretch; }
  .v2-mpeek-twin[href], .v2-mpeek-street[href] { cursor: pointer; }
  .v2-mpeek-twin {
    flex: none; width: 72px; position: relative; align-self: stretch;
    overflow: hidden; border-right: 1px solid var(--ink-faint);
    min-height: 72px;
    background-color: var(--paper-deep);
    background-image: url("/static/atlas/v2/plates/existing-building.webp");
    background-position: center;
    background-size: 86% auto;
    background-repeat: no-repeat;
  }
  .v2-mpeek-twin::before {
    content: ""; position: absolute; inset: 0; z-index: 0;
    background: var(--cobalt); mix-blend-mode: color; opacity: .55;
    pointer-events: none;
  }
  .v2-mpeek-twin.has-deal-stage,
  .v2-mpeek-twin:has(.deal-stage:not([hidden])) {
    background-image: none !important;
  }
  .v2-mpeek-twin.has-deal-stage::before,
  .v2-mpeek-twin:has(.deal-stage:not([hidden]))::before {
    display: none !important;
  }
  .v2-mpeek-twin.has-deal-stage,
  .v2-mpeek-twin:has(.deal-stage:not([hidden])) {
    background-color: var(--paper-deep);
  }
  .v2-mpeek-twin .deal-stage,
  .v2-mpeek-twin .dc-plate { position: relative; z-index: 1; }
  .v2-mpeek-copy { flex: 1; min-width: 0; padding: 8px 10px 8px 10px; }
  .v2-mpeek-street {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    font: 600 16px/1.2 var(--font-display); letter-spacing: .01em; color: var(--cobalt); text-decoration: none;
  }
  .v2-mpeek-street[href]:hover { color: var(--rust); }
  .v2-mpeek-place {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    margin-top: 3px; font: 12px/1.3 var(--font-body); color: var(--text-muted);
  }
  .v2-mpeek-metrics { display: flex; margin: 0; border-top: 1px solid var(--ink-faint); }
  .v2-mpeek-metrics > span {
    flex: 1; min-width: 0; padding: 6px 6px 7px; background: var(--paper);
  }
  .v2-mpeek-metrics > span + span { border-left: 1px solid var(--ink-faint); }
  .v2-mpeek-k {
    display: block; font: 600 9.5px/1 var(--font-display);
    letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted);
  }
  .v2-mpeek-k.is-rust { color: var(--rust); }
  .v2-mpeek-v {
    display: block; margin-top: 3px; font: 600 14px/1.15 var(--font-display); color: var(--cobalt);
    font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
  }
  .v2-mpeek-v.is-rust { color: var(--rust); }
  .v2-mpeek-sub { display: block; margin-top: 2px; font: 11.5px/1.2 var(--font-body); color: var(--text-muted); }
  .v2-mpeek-sub.is-rust { color: var(--rust); }
  .v2-mpeek-sub:empty { display: none; }
  .v2-mpeek-copy > .v2-mpeek-k { margin-bottom: 3px; }
  .v2-mpeek-foot {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    width: 100%; padding: 7px 10px 7px 12px; border: 0; border-top: 1px solid var(--ink-faint);
    background: var(--paper); color: var(--royal-body); font: 12.5px/1.25 var(--font-body);
    cursor: pointer; text-align: left;
  }
  .v2-mpeek-foot span span { color: var(--text-muted); }
  .v2-mpeek-more {
    display: flex; align-items: center; gap: 5px; flex: none;
    font: 600 10.5px/1 var(--font-display); letter-spacing: .2em; text-transform: uppercase; color: var(--rust);
  }

  .v2-mfull {
    display: flex; flex-direction: column;
    position: absolute; left: 0; right: 0; top: var(--mbar-h); bottom: var(--mtab-h); z-index: 31;
    background: var(--paper); animation: atlasRise 320ms var(--ease-glass);
  }
  .v2-mfull[hidden] { display: none !important; }
  .v2-mfull-bar {
    flex: none; display: flex; align-items: center; gap: 1px;
    background: var(--ink-faint); border-bottom: 1px solid var(--ink-rule);
  }
  .v2-mfull-nav {
    width: 52px; height: 48px; flex: none; display: grid; place-items: center;
    border: 0; background: var(--paper-raised); cursor: pointer;
  }
  .v2-mfull-bar .v2-mfolio {
    flex: 1; height: 48px; display: flex; align-items: center; justify-content: center;
    background: var(--paper-raised); font: 600 12px/1 var(--font-display); letter-spacing: .22em;
  }
  .v2-mfull-headbar {
    flex: none; display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 12px 8px; background: var(--paper-raised);
  }
  .v2-mfull-ident { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  .v2-mfull-ident .dc-folio { font-size: 11px; letter-spacing: .16em; }
  .v2-mfull-title {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    font: 600 18px/1.2 var(--font-display); color: var(--cobalt);
    text-decoration: none;
  }
  .v2-mfull-title[href]:hover { color: var(--rust); }
  .v2-mfull-meta { font: 12.5px/1.3 var(--font-body); color: var(--text-muted); }
  .v2-mfull-x {
    width: 36px; height: 36px; flex: none; margin-left: auto;
    display: grid; place-items: center; border: 1px solid var(--ink-rule);
    background: var(--paper); color: var(--text-muted); cursor: pointer;
  }
  .v2-mfull-scroll { flex: 1; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch; }
  .v2-mfull-hero {
    position: relative; height: 200px; background: var(--paper-deep); overflow: hidden;
  }
  .v2-mfull-hero::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(242,228,201,0) 46%, var(--paper) 100%);
  }
  .v2-mfull-head { padding: 2px 16px 0; }
  .v2-mfull-head h3 {
    margin: 0; font: 600 26px/1.04 var(--font-display);    letter-spacing: .03em; color: var(--cobalt);
  }
  .v2-mfull-head p { margin: 2px 0 0; font: 15px/1.35 var(--font-body); color: var(--text-muted); }
  .v2-mfull-metrics { display: flex; margin: 16px 16px 0; border: 1px solid var(--ink-faint); }
  .v2-mfull-metrics > div { flex: 1; padding: 12px; background: var(--paper-raised); }
  .v2-mfull-metrics > div + div { border-left: 1px solid var(--ink-faint); }
  .v2-mfull-v { display: block; margin-top: 3px; font: 600 16px/1.15 var(--font-display); color: var(--cobalt); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  .v2-mfull-blurb { margin: 12px 16px 0; font: 15px/1.45 var(--font-body); color: var(--text-muted); }
  .v2-msec {
    display: flex; align-items: center; gap: 10px; padding: 20px 16px 8px;
    font: 600 12px/1 var(--font-display); letter-spacing: .22em; text-transform: uppercase;
  }
  .v2-msec-n { color: var(--rust); }
  .v2-msec-slash { color: var(--ink-rule); }
  .v2-msec-t { color: var(--cobalt); }
  .v2-msec-rule { flex: 1; height: 1px; background: var(--ink-faint); }
  .v2-mscen { display: flex; flex-direction: column; gap: 8px; padding: 0 16px; }
  .v2-mscen-row {
    padding: 12px 13px; border: 1px solid var(--ink-faint); background: var(--paper);
    text-align: left; cursor: pointer; color: inherit; font: inherit;
  }
  .v2-mscen-row.is-on { border-color: var(--cobalt); background: var(--paper-raised); }
  .v2-mscen-top, .v2-mscen-sub { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .v2-mscen-sub { margin-top: 5px; font: 14px/1.3 var(--font-body); color: var(--text-muted); }
  .v2-mscen-n { font: 600 16.5px/1.25 var(--font-body); color: var(--cobalt); }
  .v2-mscen-v { font: 600 18px/1 var(--font-display); color: var(--cobalt); white-space: nowrap; }
  .v2-mscen-d { font: 600 13px/1 var(--font-display); letter-spacing: .1em; color: var(--rust); }
  .v2-mscen-empty { padding: 12px 13px; border: 1px solid var(--ink-faint); color: var(--text-muted); font: 14.5px/1.4 var(--font-body); }
  .v2-mfacts {
    display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
    margin: 0 16px; background: var(--ink-faint); border: 1px solid var(--ink-faint);
  }
  .v2-mfact { padding: 11px 12px; background: var(--paper-raised); }
  .v2-mfact span {
    display: block; font: 600 11px/1 var(--font-display);
    letter-spacing: .18em; text-transform: uppercase; color: var(--text-muted);
  }
  .v2-mfact b { display: block; margin-top: 6px; font: 600 16px/1.2 var(--font-body); color: var(--cobalt); }
  .v2-mlegal { margin: 0; padding: 14px 16px 26px; font: 13.5px/1.5 var(--font-body); color: var(--text-muted); }

  .v2-mpeek-twin .deal-stage,
  .v2-mfull-hero .deal-stage { position: absolute; inset: 0; display: flex; }
  .v2-mpeek-twin .deal-stage[hidden],
  .v2-mfull-hero .deal-stage[hidden] { display: none !important; }
  .v2-mpeek-twin .stage-head,
  .v2-mpeek-twin .stage-states,
  .v2-mpeek-twin .stage-caption,
  .v2-mfull-hero .stage-head,
  .v2-mfull-hero .stage-states,
  .v2-mfull-hero .stage-caption { display: none !important; }
  .v2-mpeek-twin model-viewer,
  .v2-mfull-hero model-viewer {
    width: 100%; height: 100%; background: transparent; --poster-color: transparent;
  }
  .v2-mpeek-twin model-viewer { pointer-events: none; }
  .v2-mpeek-twin.has-deal-stage model-viewer,
  .v2-mpeek-twin:has(.deal-stage:not([hidden])) model-viewer {
    background: var(--paper-deep);
  }

  .v2-msearch {
    display: flex; flex-direction: column;
    position: absolute; left: 0; right: 0; top: var(--mbar-h); bottom: var(--mtab-h); z-index: 36;
    background: var(--paper); animation: atlasRise 260ms var(--ease-glass);
  }
  .v2-msearch[hidden] { display: none !important; }
  .v2-msearch-bar {
    flex: none; display: flex; align-items: center; gap: 9px;
    padding: 12px; background: var(--paper-raised); border-bottom: 1px solid var(--ink-rule);
  }
  .v2-msearch-field {
    display: flex; align-items: center; gap: 9px; flex: 1; min-width: 0; height: 46px;
    padding: 0 11px; border: 1px solid var(--cobalt); background: var(--paper);
  }
  .v2-msearch-field input {
    flex: 1; min-width: 0; border: 0; background: transparent; outline: none;
    font: 16px/1 var(--font-body); color: var(--cobalt);
    appearance: none; -webkit-appearance: none; box-shadow: none;
  }
  .v2-msearch-field input::-webkit-search-decoration,
  .v2-msearch-field input::-webkit-search-cancel-button,
  .v2-msearch-field input::-webkit-search-results-button { display: none; }
  .v2-msearch-cancel {
    height: 46px; padding: 0 12px; flex: none; border: 0; background: none;
    font: 600 12px/1 var(--font-display); letter-spacing: .18em; text-transform: uppercase;
    color: var(--rust); cursor: pointer;
  }
  .v2-msearch-body { flex: 1; min-height: 0; overflow: auto; }
  .v2-msearch-label {
    padding: 12px 14px 6px; font: 600 11px/1 var(--font-display);
    letter-spacing: .18em; text-transform: uppercase; color: var(--text-muted);
  }
  .v2-mhit {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; min-height: 56px; padding: 10px 14px; border: 0; border-bottom: 1px solid var(--ink-faint);
    background: var(--paper); text-align: left; cursor: pointer; font: inherit;
  }
  .v2-mhit-n { display: block; font: 600 15.5px/1.2 var(--font-body); color: var(--cobalt); }
  .v2-mhit-s { display: block; margin-top: 2px; font: 12.5px/1.3 var(--font-body); color: var(--text-muted); }
  .v2-mhit-side { flex: none; text-align: right; }
  .v2-mhit-v { display: block; margin-top: 5px; font: 600 17px/1 var(--font-display); color: var(--cobalt); }
  .v2-mhit-t { flex: none; font: 600 10.5px/1 var(--font-display); letter-spacing: .16em; text-transform: uppercase; color: var(--text-muted); }
  .v2-mrecent {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px;
    padding: 0 16px; border: 0; border-bottom: 1px solid var(--ink-faint);
    background: var(--paper); font: 16px/1.3 var(--font-body); color: var(--royal-body);
    text-align: left; cursor: pointer;
  }
  .v2-mnohits { padding: 12px 16px; font: 15px/1.4 var(--font-body); color: var(--text-muted); }

  .v2-rail {
    left: 0; right: 0; bottom: 0; top: auto; width: auto; transform: none;
    flex-direction: row; justify-content: stretch; gap: 1px; padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--ink-faint); border-left: 0; border-right: 0; border-bottom: 0; z-index: 33;
  }
  .v2-rail-btn {
    flex: 1; min-width: 0; min-height: 56px; padding: 7px 2px 6px;
    background: var(--paper-raised); color: var(--text-muted);
  }
  .v2-rail-btn:hover { background: var(--paper-raised); }
  .v2-rail-on { display: none !important; }
  .v2-rail-btn:has(.v2-rail-on:not([hidden])) {
    background: var(--paper-deep); color: var(--cobalt);
    box-shadow: inset 0 2px 0 var(--rust);
  }
  .v2-rail-label-desk { display: none; }
  .v2-rail-label-phone {
    display: block; font: 600 10px/1.1 var(--font-body); letter-spacing: .02em; text-transform: none;
  }

  .v2-panel-tasks, .v2-panel-wide, .v2-panel-sel, .v2-jarvis-panel, .v2-grok-panel {
    left: 0; right: 0; top: var(--mbar-h); bottom: var(--mtab-h); width: auto;
  }
  .v2-task-nav { display: none; }
  .v2-panel-sel { z-index: 6; }
  .v2-bhead { padding: 12px 14px 10px; }
  .v2-bhead h2 { font-size: 20px; }
  .v2-score-body { padding: 12px 14px 16px; }
  .v2-score-stages { gap: 4px; }
  .v2-score-block-hi { font-size: 15px; }
  .v2-score-stage { padding: 8px 6px 6px; }
  .v2-score-stage-lb { font-size: 11px; letter-spacing: .02em; }
  .v2-score-high p { font-size: 16px; }
  .v2-score-row { grid-template-columns: minmax(0, 1fr) minmax(5.5rem, 9rem); min-height: 36px; }
  .v2-score-row-lb { font-size: 13.5px; }
  .v2-tlist, .v2-sel-body { padding-left: 14px; padding-right: 14px; }
  .v2-task { padding: 11px 12px; }
  .v2-task-title { font-size: 13.5px; }
  .v2-task-sum { margin-top: 6px; }
  .v2-sel-head { padding: 12px 14px 10px; }
  .v2-sel-title { font-size: 17px; }
  .v2-composer-wrap { padding: 10px 16px 12px; }

  /* Task detail composer: stack the textarea over a full-width send button so
     nothing overlaps, and keep every action at a 44px touch target. */
  .v2-guide-wrap { padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
  .v2-guide { flex-wrap: wrap; gap: 10px; }
  .v2-guide textarea { flex: 1 1 100%; min-height: 56px; font-size: 16px; }
  .v2-guide .v2-btn-mini { flex: 1 1 100%; justify-content: center; }
  .v2-btn-mini, .v2-verb-btn { min-height: 44px; padding: 0 18px; font-size: 13.5px; }
  .v2-sel-foot { padding: 10px 16px calc(12px + env(safe-area-inset-bottom, 0px)); flex-wrap: wrap; row-gap: 10px; }
  .v2-foot-actions { flex-wrap: wrap; gap: 10px; width: 100%; justify-content: stretch; }
  .v2-foot-actions > button { flex: 1; justify-content: center; }
  .v2-foot-warn, .v2-foot-note { flex: 1 1 100%; }
  .v2-sendback { margin: 0 16px 10px; }
  .v2-wtabs { display: flex; flex-wrap: wrap; row-gap: 3px; }
  .v2-del-hint { display: none; }
  .v2-del-head { flex-wrap: wrap; row-gap: 6px; }
  .v2-flight-live { flex-wrap: wrap; row-gap: 4px; }
  .v2-flight-grid { grid-template-columns: 1fr 1fr; }
  .v2-art-cards.is-grid, .v2-art-media { grid-template-columns: 1fr; }
  .v2-log-on { width: 60px; }
  .v2-log-who { width: 64px; }
  .v2-week { grid-template-columns: 1fr; overflow: auto; }
  .v2-day { border-right: none; border-bottom: 1px solid var(--line-hairline); }
  .v2-day-head { padding: 10px 14px 8px; }
  .v2-day-head .n { font-size: 16px; }
  .v2-day-body { overflow: visible; padding: 8px 14px 12px; }
  .v2-day-empty { font-size: 13px; }
  .v2-cal-foot { flex-wrap: wrap; padding: 10px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
  .v2-cal-foot .v2-composer { flex: 1 1 100%; }
  .v2-cal-day-pick { height: 40px; font-size: 13px; }
  .v2-months .lbl, .v2-proj-info { width: 108px; }
  .v2-months .pct, .v2-proj-pct { width: 56px; padding-left: 8px; }
  .v2-proj-pct .n { font-size: 15px; }
  .v2-legend { display: none; }

  .intake-overlay {
    align-items: flex-end; padding: 0; background: rgba(20, 36, 111, .26);
  }
  .intake-card {
    width: 100%; max-height: 86vh; border-left: 0; border-right: 0; border-bottom: 0;
    padding: 18px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  }
  .intake-media { display: flex; gap: 8px; }
  .intake-media-btn {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 0 10px; border: 1px solid var(--ink-faint); background: var(--paper);
    font: 600 14px/1.2 var(--font-body); color: var(--cobalt); cursor: pointer;
  }

  .photo-key-banner { left: 12px; right: 12px; top: calc(var(--mbar-h) + 12px); width: auto; transform: none; }
  .v2-empty { left: 16px; right: 16px; top: 42%; width: auto; transform: translateY(-50%); }
}

/* focus */
body.is-v2 :focus-visible { outline: none; box-shadow: var(--focus-shadow); }

/* scrollbars — quiet, on-glass */
body.is-v2 ::-webkit-scrollbar { width: 8px; height: 8px; }
body.is-v2 ::-webkit-scrollbar-thumb { background: var(--atlas-navy-16); border-radius: 0; }
body.is-v2 ::-webkit-scrollbar-track { background: transparent; }

/* ── Intake upload overlay (intake.js) ─────────────────────────── */
.intake-overlay {
  position: fixed; inset: 0; z-index: 60;
  background: rgba(20, 36, 111, .26);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.intake-card {
  width: min(640px, 94vw); max-height: 86vh; overflow-y: auto;
  border-radius: 0; padding: 26px 28px 22px;
  display: flex; flex-direction: column; gap: 18px;
  background: var(--paper-raised);
  border: 1px solid var(--ink-rule);
  box-shadow: var(--plate-frame);
  animation: atlasRise 380ms var(--ease-glass);
}
.intake-head { display: flex; align-items: center; justify-content: space-between; }
.intake-head h2 { font: 600 30px/1.02 var(--font-display); letter-spacing: .004em; color: var(--cobalt); }
.intake-head h2 .stop { color: var(--rust); }
.intake-folio { font: 600 13px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--text-tertiary); }
.intake-folio b { color: var(--rust); }
.intake-x {
  width: 30px; height: 30px; border: 0; background: var(--paper-deep);
  font-size: 1.2rem; line-height: 1; color: var(--text-muted); cursor: pointer;
}
.intake-x:hover { background: var(--paper-deepest); color: var(--rust); }
.intake-drop {
  border: 1px dashed var(--ink-rule); border-radius: 0;
  padding: 44px 20px; text-align: center; cursor: pointer;
  background: var(--paper);
  transition: border-color var(--dur-fast) var(--ease-glass), background var(--dur-fast) var(--ease-glass);
}
.intake-drop:hover, .intake-drop.hot {
  border-color: var(--cobalt); background: var(--paper-deep);
}
.intake-drop-inner { display: flex; flex-direction: column; gap: 6px; align-items: center; }
.intake-drop-icon { font-size: 22px; color: var(--cobalt); }
.intake-drop-inner b { color: var(--cobalt); font: 600 22px/1.05 var(--font-display); letter-spacing: .03em; }
.intake-drop-inner span { font-size: 14px; color: var(--text-tertiary); }
.intake-note {
  width: 100%; box-sizing: border-box;
  border: 1px solid var(--atlas-navy-16); border-radius: 0;
  padding: 8px 12px; font: inherit; background: var(--atlas-clear);
  color: var(--text-primary);
}
.intake-note:focus { outline: none; border-color: var(--atlas-blue); }
.intake-pastebar { display: flex; gap: 8px; }
.intake-pastebar input {
  flex: 1; border: 1px solid var(--atlas-navy-16); border-radius: 0;
  padding: 8px 12px; font: inherit; background: var(--atlas-clear);
  color: var(--text-primary);
}
.intake-pastebar input:focus { outline: none; border-color: var(--atlas-blue); }
.intake-status { font-size: .8rem; color: var(--text-secondary); }
.intake-status.err { color: var(--atlas-blocked); }
.intake-questions {
  padding: 10px 12px; background: var(--atlas-navy-08);
  border-left: 2px solid var(--cobalt); font-size: .8rem;
  color: var(--text-primary);
}
.intake-questions b { color: var(--cobalt); }
.intake-questions ul { margin: 6px 0 0; padding-left: 18px; }
.intake-questions li { margin: 2px 0; }
.intake-questions-hint {
  display: block; margin-top: 6px; font-size: .72rem;
  color: var(--text-tertiary);
}
.intake-list { display: flex; flex-direction: column; gap: 6px; }
.intake-row {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 0; background: var(--atlas-navy-08);
  cursor: pointer;
}
.intake-row-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.intake-row-main b {
  font-size: .85rem; color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.intake-row-main span { font-size: .72rem; color: var(--text-tertiary); }
.intake-price {
  width: 110px; border: 1px solid var(--atlas-navy-16); border-radius: 0;
  padding: 5px 8px; font: inherit; font-size: .8rem; text-align: right;
  background: var(--atlas-clear); color: var(--text-primary);
}
.intake-foot {
  display: flex; align-items: center; justify-content: space-between;
  font-size: .8rem; color: var(--text-secondary);
}
.intake-media { display: none; }

/* Bottom progress plate — stays after the upload card closes. */
.intake-progress {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  z-index: 55;
  width: min(400px, calc(100vw - 48px));
  padding: 14px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: auto;
}
.intake-progress[hidden] { display: none !important; }
.intake-progress-head {
  display: flex; align-items: center; justify-content: space-between;
}
.intake-progress-kicker {
  font: 600 11px/1.2 var(--font-body);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}
.intake-progress-kicker b { color: var(--rust); }
.intake-progress-x {
  width: 22px; height: 22px; border: 0; background: transparent;
  font-size: 1rem; line-height: 1; color: var(--text-muted); cursor: pointer;
}
.intake-progress-x:hover { color: var(--rust); }
.intake-progress-title {
  font: 600 18px/1.15 var(--font-display);
  letter-spacing: .02em;
  color: var(--cobalt);
}
.intake-progress.is-err .intake-progress-title { color: var(--atlas-blocked); }
.intake-progress-sub {
  font: 13px/1.3 var(--font-ui);
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.intake-progress-track {
  height: 2px;
  margin-top: 4px;
  background: var(--ink-faint);
}
.intake-progress-fill {
  height: 100%;
  width: 0;
  background: var(--cobalt);
  transition: width 180ms var(--ease-glass);
}
.intake-progress.is-done .intake-progress-fill { background: var(--rust); }

/* Phone chrome is inert on desktop. Must stay *before* the ≤768 rules
   or it wins the cascade and hides the new header on phones too. */
@media (min-width: 769px) {
  .v2-mbar, .v2-mmenu, .v2-mhint, .v2-mback, .v2-mchip,
  .v2-mpeek, .v2-mfull, .v2-msearch, .v2-mstrip, .v2-mfilter { display: none; }
}

/* Phone intake must follow the base overlay rules or the centered card wins. */
@media (max-width: 768px) {
  .intake-overlay {
    align-items: flex-end; justify-content: stretch; padding: 0;
    background: rgba(20, 36, 111, .26);
  }
  .intake-card {
    width: 100%; max-width: none; max-height: 86vh;
    border-left: 0; border-right: 0; border-bottom: 0;
    padding: 18px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  }
  .intake-media { display: flex; gap: 8px; }
  .intake-media-btn {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 0 10px; border: 1px solid var(--ink-faint); background: var(--paper);
    font: 600 14px/1.2 var(--font-body); color: var(--cobalt); cursor: pointer;
  }
  .intake-progress {
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    width: calc(100vw - 24px);
  }
}

/* Mobile finance card (profit-first, editable assumptions) */
.v2-mfin { display: flex; flex-direction: column; gap: 6px; }
.v2-mfin-headline {
  display: flex; flex-direction: column; gap: 2px; padding: 12px 14px;
  background: var(--atlas-navy-08); border-left: 3px solid var(--atlas-blue);
}
.v2-mfin-headline .k { font: 600 11px/1.2 var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--text-secondary); }
.v2-mfin-headline .v { font: 600 24px/1.1 var(--font-display); color: var(--atlas-blue); }
.v2-mfin-headline.is-neg .v { color: var(--atlas-caution); }
.v2-mfin-headline.is-withheld { border-left-color: var(--atlas-caution); }
.v2-mfin-headline.is-withheld .v { color: var(--atlas-caution); font-size: 18px; }
.v2-mfin-headline small { font: 11px/1.3 var(--font-ui); color: var(--text-tertiary); }
.v2-mfin-warn { font: 11px/1.4 var(--font-ui); color: var(--atlas-caution); padding: 2px 2px 0; }
.v2-mfin-row { display: flex; align-items: center; gap: 8px; padding: 7px 2px; border-bottom: 1px solid var(--line-quiet); }
.v2-mfin-row .k { flex: 1; font: 500 12px/1.3 var(--font-ui); color: var(--text-primary); }
.v2-mfin-row .k small { display: block; font: 10px/1.3 var(--font-ui); font-weight: 400; color: var(--text-tertiary); }
.v2-mfin-row .v { font: 500 13px/1.2 var(--font-ui); }
.v2-mfin-input {
  width: 110px; border: 1px solid var(--atlas-navy-16); border-radius: 0;
  padding: 6px 8px; font: inherit; font-size: 13px; text-align: right;
  background: var(--atlas-clear); color: var(--text-primary);
}
.v2-mfin-row small { font: 10px/1 var(--font-ui); color: var(--text-tertiary); }
.v2-mfin-total { display: flex; justify-content: space-between; padding: 10px 2px; font: 600 14px/1.2 var(--font-ui); }
.v2-mfin-facts { display: flex; flex-wrap: wrap; gap: 5px; padding: 2px 0; }
.v2-mfin-fact {
  font: 10px/1.4 var(--font-ui); color: var(--text-secondary);
  background: var(--atlas-navy-08); padding: 2px 7px;
}
.v2-mfin-note { font: 11px/1.5 var(--font-ui); color: var(--text-secondary); padding: 4px 2px; font-style: italic; }

/* =================== SINGLE DEAL CARD (#6a / #6b) =================== */
.v2-asset.is-single-card .v2-snap,
.v2-asset.is-single-card .v2-detail,
.v2-asset.is-single-card .v2-right,
.v2-asset.is-single-card .v2-evidence,
.v2-asset.is-single-card .v2-loc-pill { display: none !important; }

.dc-deal {
  position: absolute; right: 24px; top: 96px; bottom: 84px; width: 620px; z-index: 26;
  display: flex; flex-direction: column;
  background: var(--paper-raised); border: 1px solid var(--ink-rule);
  box-shadow: inset 0 0 0 5px var(--paper-raised), inset 0 0 0 6px var(--ink-faint);
  transition: transform 520ms cubic-bezier(.22,.61,.36,1), opacity 260ms cubic-bezier(.22,.61,.36,1);
}
.dc-deal.is-off { transform: translateX(720px); opacity: 0; pointer-events: none; }
.dc-deal[hidden] { display: none !important; }
.dc-head {
  flex: none; position: relative; display: grid; grid-template-columns: 168px 1fr; gap: 14px;
  height: 176px; margin: 6px; padding-right: 44px; background: var(--paper-deep);
}
.dc-x {
  width: 34px; height: 34px; display: grid; place-items: center;
  border: 1px solid var(--ink-faint); background: var(--paper-raised); color: var(--text-muted); cursor: pointer;
}
.dc-head .dc-x { position: absolute; right: 12px; top: 12px; z-index: 2; }
.dc-x:hover { color: var(--rust); }
.dc-plate { position: relative; overflow: hidden; width: 100%; height: 100%; min-height: 72px; background: var(--paper-deep); isolation: isolate; }
.dc-plate-img {
  position: absolute; inset: 10px 8px 12px 12px;
  background: center / contain no-repeat;
  filter: grayscale(1) contrast(1.05) brightness(1.05); mix-blend-mode: multiply;
}
.dc-plate-duo { position: absolute; inset: 0; background: var(--cobalt); mix-blend-mode: color; opacity: .86; pointer-events: none; }
/* Concept / listing photos keep real color — the Madrid duotone turns
   timber chalets into a blue plate and kills investor-ready renders. */
.dc-plate.is-photo { background: #d8dee6; }
.dc-plate.is-photo .dc-plate-img {
  inset: 0;
  background-size: cover;
  filter: none;
  mix-blend-mode: normal;
}
.dc-cross { position: absolute; left: 20px; top: 18px; width: 20px; height: 20px; pointer-events: none; }
.dc-cross::before, .dc-cross::after { content: ""; position: absolute; background: var(--rust); }
.dc-cross::before { left: 0; top: 9px; width: 20px; height: 1px; }
.dc-cross::after { left: 9px; top: 0; width: 1px; height: 20px; }
.dc-ident { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.dc-folio { display: flex; align-items: center; gap: 8px; font: 600 12px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase; }
.dc-folio .n { color: var(--rust); }
.dc-folio .s { color: rgba(11,33,181,.34); }
.dc-folio .k { color: rgba(27,57,192,.62); }
.dc-listing-pic {
  display: block; height: 100%; min-height: 0; color: inherit; text-decoration: none; cursor: pointer;
}
.dc-listing-pic:hover .dc-plate-img { filter: grayscale(.45) contrast(1.08) brightness(1.08); }
.dc-ident h2 {
  margin: 6px 0 0; font: 600 22px/1.15 var(--font-display); letter-spacing: .01em; color: var(--cobalt);
}
.dc-doss-title {
  margin: 6px 0 0; font: 600 22px/1.2 var(--font-display); letter-spacing: .01em; color: var(--cobalt);
}
.dc-ident h2 a.dc-addr, .dc-doss-title a.dc-addr, .dc-meta a.dc-addr {
  color: inherit; text-decoration: none; cursor: pointer;
}
.dc-ident h2 a.dc-addr:hover, .dc-doss-title a.dc-addr:hover, .dc-meta a.dc-addr:hover { color: var(--rust); }
.dc-stop { color: var(--rust); }
.dc-meta { margin-top: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font: 14px/1.35 var(--font-body); color: var(--text-muted); }
.dc-meta .dot { color: var(--rust); }
.dc-body { flex: 1; min-height: 0; overflow: auto; padding: 14px 20px 8px; }
.dc-spread { display: grid; grid-template-columns: 1fr auto 1.2fr; align-items: end; gap: 14px; }
.dc-k { font: 600 12px/1.2 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: rgba(27,57,192,.62); }
.dc-k.is-live { color: var(--cobalt); }
.dc-k.is-rust { color: var(--rust); }
.dc-ask { font: 600 24px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.dc-arrow { padding-bottom: 4px; font: 400 20px/1 var(--font-display); color: var(--rust); }
.dc-gdv { font: 600 26px/1 var(--font-display); font-variant-numeric: tabular-nums; color: var(--cobalt); }
.dc-profit { margin-top: 12px; padding: 10px 12px; background: var(--paper-deep); border-left: 3px solid var(--rust); display: flex; flex-direction: column; gap: 4px; }
.dc-profit-row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.dc-profit-n { font: 600 24px/1 var(--font-display); font-variant-numeric: tabular-nums; color: var(--rust); }
.dc-profit-s { font: 13.5px/1.25 var(--font-body); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.dc-grade {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.7em; padding: 2px 7px; border-radius: 2px;
  font: 700 12px/1.2 var(--font-ui); letter-spacing: .04em;
  vertical-align: 6px;
}
.dc-grade-aplus, .dc-grade-a { background: #1b4332; color: #d8f3dc; }
.dc-grade-b { background: #1d3557; color: #d6e4ff; }
.dc-grade-c { background: #5c4d1a; color: #fff3bf; }
.dc-grade-d { background: #6b3a12; color: #ffe8d6; }
.dc-grade-f { background: #6b1d1d; color: #ffd6d6; }
.dc-quality { margin: 0 0 8px; }
.dc-quality-row { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0 4px; }
.dc-quality-copy { min-width: 0; }
.dc-quality-title { font: 600 14px/1.25 var(--font-ui); color: var(--royal-body, var(--text-primary)); }
.dc-quality-note { margin-top: 3px; font: 13px/1.4 var(--font-body); color: var(--text-muted); }
.dc-play {
  flex: none;
  margin: 0 6px; padding: 14px 20px 12px;
  background: #3d1f18; color: #f6e8df;
}
.dc-doss > .dc-play { border-top: 1px solid rgba(255,232,220,.12); }
.dc-play-k {
  font: 700 11px/1.2 var(--font-ui); letter-spacing: .12em; text-transform: uppercase;
  color: #f0b9a0;
}
.dc-play-head { font: 600 18px/1.25 var(--font-display); color: #fff8f3; margin: 6px 0 12px; }
.dc-next { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-top: 1px solid rgba(255,232,220,.18); }
.dc-next.is-primary { padding-top: 12px; }
.dc-next-copy { flex: 1; min-width: 0; }
.dc-next-who { font: 600 10px/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: #f0b9a0; }
.dc-next-title { font: 600 15px/1.25 var(--font-ui); color: #fff8f3; }
.dc-next-why { font: 13px/1.35 var(--font-body); color: #e8d0c4; margin-top: 3px; }
.dc-next-add, .dc-next-go {
  flex: 0 0 auto; border: 1px solid #f0b9a0; background: transparent;
  color: #fff8f3; cursor: pointer; font: 700 13px/1 var(--font-ui);
}
.dc-next-add { width: 36px; height: 36px; font-size: 20px; }
.dc-next-go { height: 36px; padding: 0 12px; background: #f0b9a0; color: #3d1f18; }
.dc-next-add:hover, .dc-next-go:hover { filter: brightness(1.08); }
.dc-next-add:disabled, .dc-next-go:disabled { opacity: .45; cursor: default; }
.dc-eye { margin-top: 14px; display: flex; align-items: center; gap: 10px; font: 600 12px/1.2 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: rgba(27,57,192,.62); }
.dc-eye i { flex: 1; height: 1px; background: var(--line-hairline); position: relative; }
.dc-eye i::after { content: ""; position: absolute; left: 40%; top: -5px; width: 1px; height: 11px; background: var(--rust); }
.dc-routes { margin-top: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.dc-route {
  display: flex; flex-direction: column; padding: 0; border: 1px solid var(--ink-faint);
  background: var(--paper-raised); cursor: pointer; font: inherit; color: inherit; text-align: left;
  transition: border-color 260ms cubic-bezier(.22,.61,.36,1), background-color 260ms cubic-bezier(.22,.61,.36,1);
}
.dc-route.is-on { border-color: var(--cobalt); background: var(--paper-deep); box-shadow: inset 0 0 0 3px var(--paper-raised); }
.dc-route-thumb { display: block; height: 48px; overflow: hidden; background: var(--paper-deep); }
.dc-route-copy { display: flex; flex-direction: column; gap: 3px; padding: 8px 10px 10px; }
.dc-route-n { font: 600 14px/1.2 var(--font-body); color: var(--royal-body); }
.dc-route.is-on .dc-route-n { color: var(--cobalt); }
.dc-route-d { font: 12.5px/1.3 var(--font-body); color: var(--text-muted); }
.dc-route-nums { display: flex; flex-direction: column; gap: 2px; padding-top: 6px; margin-top: 2px; border-top: 1px solid var(--line-hairline); }
.dc-route-g { font: 600 16px/1 var(--font-display); color: var(--cobalt); font-variant-numeric: tabular-nums; }
.dc-route-m { font: 12.5px/1.2 var(--font-body); color: var(--text-muted); }
.dc-note { margin-top: 10px; padding: 13px 15px; background: var(--paper); border: 1px solid var(--ink-faint); border-left: 3px solid var(--rust); }
.dc-note-who { font: 600 13.5px/1.2 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--cobalt); }
.dc-note-when { margin-left: 10px; letter-spacing: 0; text-transform: none; font: 400 14.5px/1.2 var(--font-body); color: var(--text-muted); }
.dc-note-text { margin-top: 7px; font: 16px/1.45 var(--font-body); }
.dc-note-reply { margin-top: 8px; font: 14.5px/1.35 var(--font-body); color: var(--text-muted); }
.dc-thin, .dc-empty { margin-top: 10px; padding: 16px; border: 1px solid var(--ink-faint); background: var(--paper); font: 15.5px/1.45 var(--font-body); color: var(--text-muted); }
.dc-ic-files { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.dc-ic-file { display: inline-block; padding: 8px 12px; border: 1px solid var(--ink-rule); background: var(--paper-raised); font: 600 13px/1.2 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--cobalt); text-decoration: none; }
.dc-ic-file:hover { background: var(--cobalt); color: var(--paper); }
.dc-scen-table { width: 100%; margin-top: 8px; border-collapse: collapse; font: 14px/1.35 var(--font-body); }
.dc-scen-table th, .dc-scen-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--ink-faint); }
.dc-scen-table th { font: 600 11px/1.2 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.dc-notes-more { margin-top: 14px; }
.dc-notes-more > summary { list-style: none; cursor: pointer; }
.dc-notes-more > summary::-webkit-details-marker { display: none; }
.dc-notes-more:not([open]) > :not(summary) { display: none; }
.dc-talk { flex: none; display: flex; align-items: flex-start; gap: 10px; padding: 16px 28px 18px; background: var(--paper); border-top: 1px solid rgba(11,33,181,.42); }
.dc-talk textarea { flex: 1; min-width: 0; height: 76px; resize: none; padding: 12px 14px; background: var(--paper-raised); border: 1px solid var(--ink-rule); font: 16.5px/1.45 var(--font-body); color: var(--royal-body); outline: none; }
.dc-talk-send { width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; border: none; background: var(--cobalt); color: var(--paper); font: 400 20px/1 var(--font-display); }
.dc-actions { flex: none; padding: 12px 20px 14px; border-top: 1px solid rgba(11,33,181,.42); }
.dc-action-row { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
.dc-fill, .dc-line {
  flex: 1 1 0; min-width: 0; height: 40px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  white-space: nowrap; font: 600 14px/1 var(--font-body); letter-spacing: .04em; cursor: pointer;
  text-decoration: none; box-sizing: border-box;
  transition: color 260ms cubic-bezier(.22,.61,.36,1), background-color 260ms cubic-bezier(.22,.61,.36,1);
}
.dc-fill { border: none; background: var(--cobalt); color: var(--paper); }
.dc-fill:hover { background: var(--paper-raised); color: var(--cobalt); box-shadow: inset 0 0 0 1px var(--cobalt); }
.dc-fill.is-rust { background: var(--rust); color: var(--paper); }
.dc-fill.is-rust:hover { background: var(--paper-raised); color: var(--rust); box-shadow: inset 0 0 0 1px var(--rust); }
.dc-line { background: transparent; border: 1px solid var(--ink-rule); color: var(--cobalt); }
.dc-line:hover { color: var(--rust); }
.dc-line.is-off, .dc-line[aria-disabled="true"] { opacity: .42; pointer-events: none; cursor: default; }
.dc-trash { flex: none; width: 40px; height: 40px; display: grid; place-items: center; border: none; background: var(--rust); color: var(--paper); cursor: pointer; }
.dc-confirm { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--paper-deep); border-left: 3px solid var(--rust); }
.dc-confirm-s { display: block; font: 15.5px/1.3 var(--font-body); color: var(--text-muted); }
.dc-yes { flex: none; padding: 0 20px; height: 48px; border: none; background: var(--rust); color: var(--paper); font: 600 16.5px/1 var(--font-body); cursor: pointer; }
.dc-keep { flex: none; padding: 0 20px; height: 48px; background: var(--paper-raised); border: 1px solid var(--cobalt); color: var(--cobalt); font: 600 16.5px/1 var(--font-body); cursor: pointer; }

.dc-reopen {
  position: absolute; right: 24px; top: 96px; z-index: 26; height: 46px; padding: 0 18px;
  background: var(--paper-raised); border: 1px solid var(--ink-rule); color: var(--cobalt);
  font: 600 16.5px/1 var(--font-body); letter-spacing: .06em; cursor: pointer;
}
.dc-reopen[hidden] { display: none !important; }
.dc-reopen:hover { color: var(--rust); }

.dc-toast {
  position: absolute; left: 24px; bottom: 84px; z-index: 27; display: flex; align-items: center; gap: 14px;
  padding: 14px 18px; background: var(--paper-raised); border: 1px solid var(--ink-rule);
  box-shadow: inset 0 0 0 4px var(--paper-raised), inset 0 0 0 5px var(--ink-faint);
}
.dc-toast[hidden] { display: none !important; }
.dc-toast-s { display: block; font: 16.5px/1.3 var(--font-body); }
.dc-undo { height: 42px; padding: 0 18px; display: inline-flex; align-items: center; gap: 9px; border: none; background: var(--cobalt); color: var(--paper); font: 600 16px/1 var(--font-body); cursor: pointer; }

.dc-pipe {
  position: absolute; left: 50%; top: 92px; transform: translateX(-50%); z-index: 31;
  display: flex; align-items: center; gap: 10px; padding: 8px 14px;
  background: var(--paper-raised); border: 1px solid var(--ink-rule); border-left: 3px solid var(--rust);
}
.dc-pipe[hidden] { display: none !important; }
.dc-pipe-mark { color: var(--rust); font: 600 16px/1 var(--font-body); }
.dc-pipe b { display: block; font: 600 12px/1.2 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--cobalt); }
.dc-pipe span span { font: 14px/1.2 var(--font-body); color: var(--text-muted); }

.dc-pipeboard {
  position: absolute; left: 50%; top: 96px; bottom: 32px; z-index: 32;
  width: min(800px, calc(100% - 48px)); transform: translateX(-50%);
  display: flex; flex-direction: column;
  background: var(--paper-raised); border: 1px solid var(--ink-rule);
  box-shadow: inset 0 0 0 5px var(--paper-raised), inset 0 0 0 6px var(--ink-faint);
}
.dc-pipeboard[hidden] { display: none !important; }
.dc-pipeboard-head {
  flex: none; display: flex; align-items: flex-end; gap: 24px;
  margin: 6px 6px 0; padding: 22px 26px 18px; background: var(--paper-deep);
}
.dc-pipeboard-head h2 { margin: 4px 0 0; font: 300 44px/1 var(--font-display); color: var(--royal-body); }
.dc-pipeboard-head .dc-x { margin-left: auto; width: 44px; height: 44px; display: grid; place-items: center; border: none; background: transparent; color: var(--cobalt); cursor: pointer; }
.dc-pipeboard-list { flex: 1; min-height: 0; overflow: auto; padding: 10px 12px 16px; }
.dc-pipeboard-row {
  display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto;
  column-gap: 16px; width: 100%; margin: 0 0 6px; padding: 14px 16px;
  border: 1px solid var(--ink-faint); background: var(--paper); text-align: left;
  font: inherit; color: inherit; cursor: pointer;
}
.dc-pipeboard-row:hover { border-color: var(--cobalt); color: var(--rust); }
.dc-pipeboard-name { font: 300 26px/1.05 var(--font-display); }
.dc-pipeboard-place { grid-column: 1; font: 14.5px/1.3 var(--font-body); color: var(--text-muted); }
.dc-pipeboard-ask {
  grid-column: 2; grid-row: 1 / span 2; align-self: center;
  font: 300 26px/1 var(--font-display); font-variant-numeric: tabular-nums; color: var(--cobalt);
}
.dc-pipecard {
  display: grid; grid-template-columns: 112px 1fr; gap: 0;
  margin: 0 0 10px; border: 1px solid var(--ink-faint); background: var(--paper);
  cursor: pointer;
}
.dc-pipecard:hover { border-color: var(--cobalt); }
.dc-pipecard.is-confirm { cursor: default; }
.dc-pipecard-photo {
  position: relative; min-height: 112px; overflow: hidden; background: var(--paper-deep);
}
.dc-pipecard-shot {
  position: absolute; inset: 0; background: center / cover no-repeat;
}
.dc-pipecard-photo .dc-plate-img {
  position: absolute; inset: 12px 10px 14px 12px;
  background: center / contain no-repeat;
  filter: grayscale(1) contrast(1.05) brightness(1.05); mix-blend-mode: multiply;
}
.dc-pipecard-photo .dc-plate-duo {
  position: absolute; inset: 0; background: var(--cobalt); mix-blend-mode: color; opacity: .86; pointer-events: none;
}
.dc-pipecard-body {
  min-width: 0; display: grid; grid-template-columns: 1fr auto auto;
  grid-template-areas: "copy hero trash" "path hero trash";
  align-items: center; column-gap: 16px; row-gap: 8px; padding: 16px 14px 16px 18px;
}
.dc-pipecard-copy { grid-area: copy; min-width: 0; }
.dc-pipecard-path { grid-area: path; display: flex; align-items: end; gap: 28px; }
.dc-pipecard-hero { grid-area: hero; }
.dc-pipecard .dc-trash { grid-area: trash; }
.dc-pipecard-name {
  font: 600 22px/1.15 var(--font-display); letter-spacing: .01em; color: var(--cobalt);
}
.dc-pipecard-place { margin-top: 4px; font: 15px/1.3 var(--font-body); color: var(--text-muted); }
.dc-pipecard-ask, .dc-pipecard-val {
  display: block; margin-top: 4px; font: 600 24px/1 var(--font-display);
  font-variant-numeric: tabular-nums;
}
.dc-pipecard-ask { color: var(--royal-body); }
.dc-pipecard-val { color: var(--cobalt); }
.dc-pipecard-hero { grid-area: hero; min-width: 96px; text-align: right; }
.dc-pipecard-pct {
  display: block; margin-top: 2px; font: 600 34px/1 var(--font-display);
  font-variant-numeric: tabular-nums; color: var(--rust);
}
.dc-pipecard-profit {
  display: block; margin-top: 4px; font: 600 14px/1.2 var(--font-body);
  font-variant-numeric: tabular-nums; color: var(--rust);
}
.dc-pipecard .dc-trash { grid-area: trash; width: 40px; height: 40px; }
.dc-pipecard.is-confirm .dc-pipecard-body {
  grid-template-columns: 1fr; grid-template-areas: none; align-items: stretch;
}
.dc-pipecard .dc-confirm { margin-top: 2px; }

.dc-doss {
  position: absolute; left: 44px; right: 44px; top: 96px; bottom: 22px; z-index: 28;
  display: flex; flex-direction: column; background: var(--paper-raised); border: 1px solid var(--ink-rule);
  box-shadow: inset 0 0 0 5px var(--paper-raised), inset 0 0 0 6px var(--ink-faint);
}
.dc-doss[hidden] { display: none !important; }
body.is-v2.is-dossier .v2-topbar,
body.is-v2.is-dossier .v2-navctl,
body.is-v2.is-dossier .v2-layers-menu,
body.is-v2.is-dossier .v2-status,
body.is-v2.is-dossier .v2-rail {
  display: none !important;
}
body.is-v2.is-dossier .dc-doss { top: 24px; left: 24px; right: 24px; z-index: 32; }
.dc-doss-head {
  flex: none; display: flex; align-items: flex-end; gap: 20px;
  margin: 6px 6px 0; padding: 14px 18px 12px; background: var(--paper-deep);
}
.dc-doss-ident { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.dc-doss-ident .dc-folio { margin: 0; font-size: 12px; }
.dc-doss-title {
  font: 600 22px/1.2 var(--font-display); letter-spacing: .01em; color: var(--cobalt);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.dc-doss-ident .dc-meta { margin-top: 0; font-size: 14px; }
.dc-doss-metrics {
  margin-left: auto; display: flex; align-items: flex-start; gap: 0;
}
.dc-doss-metric {
  display: flex; flex-direction: column; align-items: flex-end; gap: 3px;
  padding: 0 16px;
}
.dc-doss-metric:first-child { padding-left: 0; }
.dc-doss-metric.is-profit { padding-right: 0; }
.dc-doss-metric .dc-k {
  font-size: 11px; letter-spacing: .16em; white-space: nowrap; color: rgba(27,57,192,.62);
}
.dc-doss-ask,
.dc-doss-metrics .dc-gdv,
.dc-doss-metrics .dc-profit-n {
  font: 600 22px/1 var(--font-display); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.dc-doss-ask { color: var(--royal-body); }
.dc-doss-sub {
  font: 12.5px/1.25 var(--font-body); color: var(--text-muted);
  font-variant-numeric: tabular-nums; max-width: 140px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dc-doss-rule { width: 1px; align-self: stretch; background: var(--line-hairline); }
.dc-doss-head .dc-x { width: 36px; height: 36px; margin: 0 0 0 22px; flex: none; }
.dc-doss-body { flex: 1; min-height: 0; display: grid; grid-template-columns: 260px 1fr; }
.dc-doss-left {
  position: relative; min-height: 0; overflow: auto; padding: 14px;
  display: flex; flex-direction: column; gap: 10px;
}
.dc-doss-left .dc-hero-plate,
.dc-doss-left .dc-listing-pic { flex: none; }
.dc-doss-left .dc-cross { left: 32px; top: 31px; }
.dc-doss-right {
  min-height: 0; display: flex; flex-direction: column; border-left: 1px solid var(--line-hairline);
}
.dc-doss-tabs {
  flex: none; display: flex; align-items: stretch; padding: 0 22px;
  border-bottom: 1px solid rgba(11,33,181,.42);
}
.dc-doss-tab {
  height: 40px; padding: 0 12px; display: inline-flex; align-items: center; gap: 6px;
  border: none; background: transparent; cursor: pointer;
  font: 600 14px/1 var(--font-body); color: var(--text-muted);
}
.dc-doss-tab.is-on {
  color: var(--cobalt);
  box-shadow: inset 0 -2px 0 var(--rust);
}
.dc-doss-badge { font: 600 12.5px/1 var(--font-body); color: rgba(27,57,192,.55); }
.dc-doss-tab.is-on .dc-doss-badge { color: var(--rust); }
.dc-doss-pane { flex: 1; min-height: 0; overflow: auto; padding: 14px 18px; }
.dc-call { display: flex; flex-direction: column; gap: 14px; }
.dc-call-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px;
}
.dc-call-cell { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dc-call-v { font: 600 18px/1.25 var(--font-body); color: var(--cobalt); }
.dc-call-cell.is-profit .dc-call-v { color: var(--rust); }
.dc-call-s { font: 13px/1.35 var(--font-body); color: var(--text-muted); }
.dc-call-flags { display: flex; flex-wrap: wrap; gap: 6px; }
.dc-call-flag {
  font: 600 12px/1.3 var(--font-body); letter-spacing: .04em; text-transform: uppercase;
  color: var(--rust); border: 1px solid var(--ink-faint); padding: 5px 8px;
}
.dc-call-next { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; border-top: 1px solid var(--ink-faint); }
.dc-call-es, .dc-call-en { font: 14.5px/1.45 var(--font-body); color: var(--royal-body); }
.dc-call-en { color: var(--text-secondary); }
@media (max-width: 768px) {
  .dc-call-grid { grid-template-columns: 1fr; }
}
.dc-folio-pane { display: flex; flex-direction: column; gap: 8px; }
.dc-folio-pane .dc-eye { margin-top: 2px; font-size: 12px; }
.dc-hero-plate { height: 168px; min-height: 168px; border: 1px solid var(--ink-faint); }
.dc-rows { display: flex; flex-direction: column; border-top: 1px solid var(--ink-faint); }
.dc-row {
  display: grid; grid-template-columns: 120px 1fr; gap: 12px; align-items: baseline;
  padding: 7px 0; border-bottom: 1px solid var(--ink-faint);
}
.dc-row-k { font: 600 11px/1.3 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--text-tertiary); }
.dc-row-main { min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.dc-row-v, a.dc-row-v { font: 600 15px/1.3 var(--font-body); color: var(--cobalt); text-decoration: none; }
a.dc-row-v:hover { color: var(--rust); }
.dc-row-s { font: 13px/1.3 var(--font-body); color: var(--text-muted); }
.dc-cmp { display: flex; flex-direction: column; gap: 8px; padding: 4px 0 2px; }
.dc-cmp-line { display: grid; grid-template-columns: 44px 1fr 92px; gap: 10px; align-items: center; }
.dc-cmp-k { font: 600 11px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--text-tertiary); }
.dc-cmp-track { height: 10px; background: var(--paper-deep); border: 1px solid var(--ink-faint); }
.dc-cmp-fill { display: block; height: 100%; }
.dc-cmp-fill.is-ask { background: var(--cobalt); }
.dc-cmp-fill.is-sold { background: var(--rust); }
.dc-cmp-n { font: 600 13.5px/1 var(--font-body); font-variant-numeric: tabular-nums; text-align: right; }
.dc-cmp-foot { font: 13px/1.3 var(--font-body); color: var(--text-muted); }
.dc-assets {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line-hairline);
}
.dc-asset {
  padding: 0; border: none; background: var(--paper); cursor: pointer; color: inherit; font: inherit;
}
.dc-asset-thumb { position: relative; display: block; height: 78px; overflow: hidden; background: var(--paper-deep); }
.dc-asset-thumb .dc-plate { min-height: 78px; height: 78px; }
.dc-asset-tick {
  position: absolute; left: 6px; top: 6px; width: 10px; height: 10px;
  border-left: 1px solid var(--rust); border-top: 1px solid var(--rust);
}
.dc-asset-cap {
  display: block; padding: 8px 3px 9px;
  font: 600 10px/1.2 var(--font-body); letter-spacing: .08em; text-transform: uppercase;
  text-align: center; color: var(--text-muted);
}
.dc-asset.is-on .dc-asset-cap { color: var(--cobalt); }
.dc-asset.is-off { opacity: .72; }
.dc-asset.is-off .dc-asset-cap { color: var(--text-muted); }
.dc-tiles { display: grid; gap: 1px; background: var(--line-hairline); }
.dc-tiles.is-2 { grid-template-columns: 1fr 1fr; }
.dc-tiles.is-3 { grid-template-columns: repeat(3, 1fr); }
.dc-tile {
  display: flex; flex-direction: column; gap: 6px; padding: 16px;
  background: var(--paper);
}
.dc-tile-k {
  font: 600 12px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase;
  color: rgba(27,57,192,.55);
}
.dc-tile-v, .dc-tile a.dc-tile-v {
  font: 600 25px/1 var(--font-display); color: var(--cobalt); font-variant-numeric: tabular-nums;
  text-decoration: none;
}
.dc-tiles.is-3 .dc-tile-v { font-size: 28px; }
.dc-tile a.dc-tile-v:hover { color: var(--rust); }
.dc-tile-s { font: 13.5px/1.3 var(--font-body); color: var(--text-muted); }

.dc-area { margin: 8px 0 12px; }
.dc-area-map {
  height: auto;
  aspect-ratio: 1;
  width: 100%;
  border: 1px solid var(--ink-faint);
  background: var(--paper-deep);
  z-index: 0;
}
.dc-area-map.leaflet-container {
  font: 11px/1.2 var(--font-ui);
  background: var(--paper-deep);
}
.dc-area-map img { max-width: none !important; }
.dc-area-map .leaflet-control-attribution {
  font-size: 9px;
  background: rgba(246,243,236,.86);
  color: var(--text-muted);
  border: 0;
}
.dc-area-map .leaflet-control-zoom a {
  width: 24px; height: 24px; line-height: 22px;
  border-radius: 0; border-color: var(--ink-faint);
  background: var(--paper-raised); color: var(--cobalt);
  font-size: 13px;
}
.dc-area-legend {
  display: flex; flex-wrap: wrap; gap: 7px 14px;
  padding: 8px 2px 0;
  font: 600 10px/1.2 var(--font-body);
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-muted);
}
.dc-area-leg { display: inline-flex; align-items: center; gap: 6px; }
.dc-area-swatch {
  display: inline-block; width: 7px; height: 7px; flex: none;
  background: var(--cobalt);
}
.dc-area-pin {
  display: flex; align-items: center; gap: 5px;
  background: none; border: none;
}
.dc-area-pin-dot {
  width: 10px; height: 10px; flex: none;
  border: 1px solid #fff;
}
.dc-area-pin-lab {
  font: 600 10px/1 var(--font-ui);
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--royal-body, var(--text-primary));
  background: var(--paper-raised);
  border: 1px solid var(--ink-faint);
  padding: 2px 5px; white-space: nowrap;
}
.dc-assums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-hairline); }
.dc-assum {
  display: flex; flex-direction: column; gap: 8px; padding: 15px 16px 16px; background: var(--paper-deep);
}
.dc-assum-row { display: flex; align-items: center; gap: 10px; }
.dc-assum-step {
  width: 32px; height: 32px; flex: none; border: 1px solid var(--ink-rule);
  background: var(--paper-raised); color: var(--cobalt); font: 400 19px/1 var(--font-display); cursor: pointer;
}
.dc-assum-step:hover { color: var(--rust); }
.dc-assum-v {
  flex: 1; text-align: center; font: 600 25px/1 var(--font-display); color: var(--cobalt);
  font-variant-numeric: tabular-nums;
}
.dc-assum-fixed {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-hairline);
  border-top: 1px solid var(--line-hairline);
}
.dc-assum-fix {
  display: flex; align-items: baseline; gap: 9px; padding: 12px 16px; background: var(--paper);
}
.dc-assum-fix-v { margin-left: auto; font: 600 17px/1 var(--font-body); color: var(--cobalt); font-variant-numeric: tabular-nums; }
.dc-calcs { display: flex; flex-direction: column; gap: 1px; background: var(--line-hairline); }
.dc-calc { background: var(--paper); }
.dc-calc.is-open { background: var(--paper-raised); }
.dc-calc-btn {
  width: 100%; display: grid; grid-template-columns: 1fr auto 15px; align-items: center; gap: 16px;
  padding: 16px 20px; border: none; background: transparent; text-align: left; font: inherit;
  color: inherit; cursor: pointer;
}
.dc-calc-btn:disabled { cursor: default; }
.dc-calc-btn .l { display: block; font: 600 19px/1.2 var(--font-body); color: var(--calc, var(--cobalt)); }
.dc-calc-btn .ed { margin-left: 8px; font: 600 12px/1 var(--font-body); color: var(--rust); }
.dc-calc-btn .s { display: block; font: 14.5px/1.3 var(--font-body); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.dc-calc-btn .v { font: 600 30px/1 var(--font-display); font-variant-numeric: tabular-nums; color: var(--calc, var(--cobalt)); }
.dc-calc-chev {
  width: 15px; height: 15px; background: rgba(27,57,192,.45);
  -webkit-mask: url("https://unpkg.com/lucide-static@0.446.0/icons/chevron-down.svg") center / contain no-repeat;
  mask: url("https://unpkg.com/lucide-static@0.446.0/icons/chevron-down.svg") center / contain no-repeat;
  transition: transform 260ms cubic-bezier(.22,.61,.36,1);
}
.dc-calc-chev.is-open { transform: rotate(180deg); }
.dc-calc-draw { display: flex; flex-wrap: wrap; gap: 22px; padding: 2px 20px 18px; }
.dc-calc-in { display: flex; flex-direction: column; gap: 6px; }
.dc-calc-box {
  display: flex; align-items: center; border: 1px solid var(--ink-rule); background: var(--paper-raised);
  box-shadow: inset 0 0 0 3px var(--paper-raised), inset 0 0 0 4px var(--ink-faint);
}
.dc-calc-box input {
  width: 118px; height: 44px; padding: 0 12px; border: none; background: transparent;
  text-align: right; font: 600 20px/1 var(--font-display); color: var(--cobalt);
  font-variant-numeric: tabular-nums; outline: none;
}
.dc-calc-box span {
  padding: 0 12px 0 0; font: 600 12px/1.2 var(--font-body); letter-spacing: .12em;
  text-transform: uppercase; color: rgba(27,57,192,.55); white-space: nowrap;
}
.dc-calc-hint { align-self: flex-end; padding-bottom: 10px; font: 13.5px/1.3 var(--font-body); color: rgba(27,57,192,.5); }
.dc-todo-pane { display: flex; flex-direction: column; gap: 12px; }
.dc-todo-banner { padding: 16px 18px; background: #3B2317; }
.dc-todo-k { font: 600 12.5px/1.2 var(--font-body); letter-spacing: .22em; text-transform: uppercase; color: #E8A87C; }
.dc-todo-head { margin-top: 8px; font: 20px/1.35 var(--font-body); color: #F2E4C9; }
.dc-todo {
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px;
  padding: 16px 18px; background: var(--paper); border: 1px solid var(--ink-faint); border-left: 3px solid var(--rust);
}
.dc-todo-copy { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.dc-todo-who { font: 600 12.5px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--rust); }
.dc-todo-title { font: 600 19px/1.2 var(--font-body); color: var(--cobalt); }
.dc-todo-note { font: 15px/1.4 var(--font-body); color: var(--text-muted); }
.dc-todo-add {
  height: 42px; padding: 0 16px; border: 1px solid var(--ink-rule); background: var(--paper-raised);
  color: var(--cobalt); font: 600 14.5px/1 var(--font-body); letter-spacing: .04em; cursor: pointer;
}
.dc-todo-add:hover { color: var(--rust); }
.dc-todo-add:disabled { opacity: .45; cursor: default; }
.dc-todo-letter {
  margin-top: 6px; padding: 10px 12px; background: var(--paper-raised);
  border: 1px solid var(--ink-faint); font: 14.5px/1.45 var(--font-body);
  color: var(--cobalt); white-space: pre-wrap;
}
.dc-todo-acts { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.dc-todo-go {
  height: 42px; padding: 0 16px; border: none; background: var(--rust);
  color: #fff; font: 600 14.5px/1 var(--font-body); letter-spacing: .04em; cursor: pointer;
}
.dc-todo-go:hover { filter: brightness(1.06); }
.dc-todo-go:disabled { opacity: .45; cursor: default; }
.dc-todo-ok {
  min-height: 42px; display: flex; align-items: center; justify-content: center;
  padding: 0 12px; font: 600 13.5px/1.25 var(--font-body); color: var(--rust);
  letter-spacing: .03em; text-align: center;
}
.dc-srcs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line-hairline); }
.dc-src {
  display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; border: none;
  background: var(--paper); text-align: left; font: inherit; color: inherit; cursor: pointer;
}
.dc-src-top { display: flex; align-items: center; gap: 9px; }
.dc-src-k { font: 600 12.5px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: var(--cobalt); }
.dc-src-top .dc-calc-chev { margin-left: auto; }
.dc-src-v {
  align-self: flex-start; font: 600 16px/1.35 var(--font-body); color: var(--cobalt);
  text-decoration: none; border-bottom: 1px solid rgba(11,33,181,.35);
}
.dc-src-v:hover { color: var(--rust); }
.dc-src-more { display: flex; flex-direction: column; gap: 6px; margin-top: 5px; padding-top: 11px; border-top: 1px solid var(--line-hairline); }
.dc-src-d { font: 14.5px/1.45 var(--font-body); color: var(--royal-body); }
.dc-src-used { font: 600 12px/1.3 var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--rust); }
@media (max-width: 1320px) {
  .dc-doss-body { grid-template-columns: 220px 1fr; }
  .dc-tiles.is-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1100px) {
  .dc-doss-head { flex-wrap: wrap; align-items: flex-start; }
  .dc-doss-metrics { margin-left: 0; width: 100%; }
}
.dc-plates { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dc-plate-cell { border: 1px solid var(--ink-faint); background: var(--paper-deep); }
.dc-plate-cell .dc-plate { height: 104px; min-height: 104px; }
.dc-plate-cell .cap { display: block; padding: 8px 10px 10px; font: 14px/1.3 var(--font-body); color: var(--text-muted); }
.dc-ev { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dc-ev-chip { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px 12px; background: var(--paper-deep); border: 1px solid var(--ink-faint); text-decoration: none; color: inherit; }
a.dc-ev-chip.is-link { cursor: pointer; }
a.dc-ev-chip.is-link:hover { border-color: var(--cobalt); color: var(--rust); }
.dc-fact a.v { color: var(--cobalt); text-decoration: none; }
.dc-fact a.v:hover { color: var(--rust); }
.dc-ev-chip .k { display: block; font: 600 13px/1.2 var(--font-body); letter-spacing: .16em; text-transform: uppercase; color: var(--cobalt); }
.dc-ev-chip .v { display: block; font: 14.5px/1.3 var(--font-body); color: var(--text-muted); }
.dc-ev-chip .mark.is-ok { color: var(--cobalt); }
.dc-ev-chip .mark.is-pend { color: var(--rust); }
.dc-led-title { font: 600 14px/1.2 var(--font-body); letter-spacing: .18em; text-transform: uppercase; color: rgba(27,57,192,.62); }
.dc-led { margin-top: 10px; border: 1px solid var(--ink-faint); }
.dc-led.is-open { border-color: var(--cobalt); background: var(--paper-raised); }
.dc-led-btn {
  display: grid; grid-template-columns: 14px 1fr auto; align-items: center; gap: 14px; width: 100%;
  padding: 14px 16px; border: none; border-left: 3px solid transparent; background: transparent;
  cursor: pointer; font: inherit; color: inherit; text-align: left;
}
.dc-led.is-open .dc-led-btn { border-left-color: var(--rust); }
.dc-led-btn .l { display: block; font: 600 17px/1.3 var(--font-body); }
.dc-led-btn .ed { margin-left: 8px; font: 600 13px/1 var(--font-body); color: var(--rust); }
.dc-led-btn .s { display: block; font: 15px/1.35 var(--font-body); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.dc-led-btn .v { min-width: 120px; text-align: right; font: 600 19px/1.3 var(--font-body); font-variant-numeric: tabular-nums; }
.dc-led-draw { padding: 4px 16px 16px; }
.dc-drv { display: flex; align-items: center; gap: 16px; padding: 9px 0; }
.dc-drv .l { display: block; font: 600 15.5px/1.3 var(--font-body); }
.dc-drv .h { display: block; font: 14px/1.3 var(--font-body); color: var(--text-muted); }
.dc-step { display: flex; align-items: center; margin-left: auto; border: 1px solid var(--ink-rule); background: var(--paper); }
.dc-step button { width: 34px; height: 34px; border: none; background: transparent; color: var(--cobalt); font: 400 20px/1 var(--font-display); cursor: pointer; }
.dc-step span { min-width: 118px; text-align: center; font: 600 17px/1 var(--font-body); font-variant-numeric: tabular-nums; color: var(--cobalt); }
.dc-formula { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--line-hairline); font: 15.5px/1.3 var(--font-body); color: var(--text-muted); }
.dc-formula b { color: var(--cobalt); }
.dc-reset { margin-top: 12px; border: none; background: transparent; color: var(--rust); font: 600 14px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.dc-fact { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; padding: 10px 0; border-top: 1px solid var(--line-hairline); }
.dc-fact .l { display: block; font: 600 16px/1.3 var(--font-body); }
.dc-fact .s { display: block; font: 14.5px/1.35 var(--font-body); color: var(--text-muted); }
.dc-fact .v { font: 600 16.5px/1.3 var(--font-body); color: var(--cobalt); font-variant-numeric: tabular-nums; }
.dc-doss-foot { flex: none; display: flex; align-items: center; gap: 9px; padding: 13px 24px 15px; border-top: 1px solid rgba(11,33,181,.42); }
.dc-doss-foot .dc-fill, .dc-doss-foot .dc-line { flex: none; height: 46px; padding: 0 17px; text-decoration: none; }
.dc-doss-foot .dc-confirm { flex: 1; }
.dc-legal { margin-left: auto; font: 14px/1.35 var(--font-body); color: rgba(27,57,192,.55); }

@media (max-width: 768px) {
  .dc-deal, .dc-doss, .dc-reopen { display: none !important; }
  .dc-pipeboard {
    left: 10px; right: 10px; top: calc(var(--mbar-h) + 8px); bottom: calc(var(--mtab-h) + 8px);
    width: auto; transform: none;
  }
  .dc-pipeboard-head { margin: 4px 4px 0; padding: 12px 14px 10px; gap: 12px; }
  .dc-pipeboard-head h2 { font-size: 22px; }
  .dc-pipeboard-name, .dc-pipeboard-ask { font-size: 16px; }
  .dc-pipecard { grid-template-columns: 72px 1fr; margin-bottom: 8px; }
  .dc-pipecard-photo { min-height: 72px; }
  .dc-pipecard-name {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
    font-size: 15px; line-height: 1.2;
  }
  .dc-pipecard-place { font-size: 12.5px; margin-top: 2px; }
  .dc-pipecard-ask, .dc-pipecard-val { font-size: 15px; }
  .dc-pipecard-pct { font-size: 16px; margin-top: 4px; }
  .dc-pipecard-profit { font-size: 12px; }
  .dc-pipecard-body {
    grid-template-columns: 1fr 1fr 1fr auto;
    grid-template-areas: "copy copy copy trash" "path path hero trash";
    column-gap: 8px; row-gap: 6px; padding: 10px;
    align-items: start;
  }
  .dc-pipecard-path { gap: 10px; }
  .dc-pipecard-path .dc-k,
  .dc-pipecard-hero .dc-k { font-size: 9.5px; letter-spacing: .1em; }
  .dc-pipecard-hero { min-width: 0; text-align: left; }
  .dc-pipecard .dc-confirm { flex-wrap: wrap; }
  .v2-mstrip {
    position: absolute; left: 10px; right: 10px; bottom: calc(var(--mtab-h) + 10px); z-index: 30;
    display: flex; align-items: center; gap: 10px; padding: 12px; text-align: left;
    background: var(--paper-raised); border: 1px solid var(--ink-rule); border-left: 3px solid var(--rust);
    font: inherit; color: inherit; cursor: pointer;
  }
  .v2-mstrip[hidden] { display: none !important; }
  .v2-mpeek-exp { flex: 1; min-height: 0; overflow: auto; padding: 10px; border-top: 1px solid var(--ink-faint); }
  .v2-mpeek-exp[hidden] { display: none !important; }
  .v2-mpeek-actions { flex: none; display: flex; align-items: center; gap: 6px; padding: 6px 8px 8px; border-top: none; }
  .v2-mpeek-actions .dc-fill,
  .v2-mpeek-actions .dc-line { flex: 1; height: 40px; font-size: 13px; }
  .v2-mpeek-actions #v2Mlisting,
  .v2-mpeek-actions #v2Mpipe { flex: 1 1 0; min-width: 0; }
  .v2-mpeek #v2MexpandFoot { display: none; }
  .v2-mpeek-actions .dc-trash {
    width: 40px; height: 40px; border: 1px solid var(--rust); background: transparent; color: var(--rust);
  }
  #v2Mpipe { white-space: nowrap; letter-spacing: .02em; font-size: 12px; line-height: 1.1; padding: 0 6px; }
  .v2-mroutes { display: flex; flex-direction: column; gap: 8px; }
  .v2-mroute { display: flex; align-items: stretch; width: 100%; padding: 0; border: 1px solid var(--ink-faint); background: var(--paper-raised); text-align: left; cursor: pointer; font: inherit; color: inherit; }
  .v2-mroute.is-on { border-color: var(--cobalt); border-left: 3px solid var(--rust); background: var(--paper-deep); }
  .v2-mroute-thumb { width: 84px; flex: none; overflow: hidden; background: var(--paper-deep); }
  .v2-mroute-thumb .dc-plate { min-height: 100%; height: 100%; }
  .v2-mdoss-band { display: flex; justify-content: space-between; gap: 10px; margin: 0 12px; padding: 12px 14px; background: var(--paper-deep); }
  .v2-mdoss-money {
    display: grid; grid-template-columns: 1fr 1px 1fr 1px 1fr; gap: 0;
    margin: 0; padding: 8px 12px 10px; background: var(--paper-raised);
    border-bottom: 1px solid rgba(11,33,181,.42);
  }
  .v2-mdoss-money > span { display: flex; flex-direction: column; gap: 3px; padding: 0 8px; min-width: 0; }
  .v2-mdoss-money > span:first-child { padding-left: 0; }
  .v2-mdoss-money > span:last-child { padding-right: 0; }
  .v2-mdoss-money > i { background: var(--line-hairline); }
  .v2-mfull-v { margin-top: 3px; font-size: 16px; overflow-wrap: anywhere; }
  .v2-mfull-sub {
    font: 11px/1.25 var(--font-body); color: var(--text-muted);
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  }
  .v2-mfull-v.is-rust { color: var(--rust); }
  .v2-mdoss-tabs { display: flex; overflow: auto; margin: 0; background: var(--paper-raised); border-bottom: 1px solid var(--line-hairline); }
  .v2-mdoss-tab {
    flex: 1; min-height: 40px; padding: 10px 6px; border: none; border-bottom: 2px solid transparent;
    background: transparent; color: var(--text-muted); font: 600 11.5px/1.2 var(--font-body);
    letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
  }
  .v2-mdoss-tab.is-on { color: var(--cobalt); border-bottom-color: var(--rust); }
  .v2-mfull-foot { flex: none; display: flex; align-items: center; gap: 6px; padding: 10px 12px 12px; border-top: 1px solid var(--ink-rule); background: var(--paper-raised); }
  .v2-mfull-foot .dc-fill { flex: 1; height: 40px; font-size: 13px; }
  .v2-mfull-foot .dc-trash { width: 40px; height: 40px; }
  .v2-mfull-ico { width: 40px; height: 40px; flex: none; padding: 0; }
  .v2-mfull-talk.dc-talk {
    flex: none; display: flex; padding: 12px 16px;
    background: var(--paper-raised); border-top: 1px solid var(--ink-rule);
  }
  .v2-mfull-talk[hidden] { display: none !important; }
  .dc-step button { width: 44px; height: 44px; }
  .is-phone .dc-tiles.is-3,
  .v2-mfull .dc-tiles.is-3 { grid-template-columns: 1fr 1fr; }
  .v2-mfull .dc-assums,
  .v2-mfull .dc-assum-fixed { grid-template-columns: 1fr; }
  .v2-mfull .dc-assum-row { justify-content: flex-end; }
  .v2-mfull .dc-assum-v { flex: none; min-width: 88px; font-size: 18px; }
  .v2-mfull .dc-assum-step { width: 44px; height: 44px; }
  .v2-mfull .dc-srcs { grid-template-columns: 1fr; }
  .v2-mfull .dc-todo { grid-template-columns: 1fr; }
  .v2-mfull .dc-todo-add,
  .v2-mfull .dc-todo-go { width: 100%; }
  .v2-mfull .dc-assets { grid-template-columns: repeat(4, 1fr); }
  .v2-mfull .dc-asset-thumb { height: 52px; }
  .v2-mfull .dc-asset-thumb .dc-plate { min-height: 52px; height: 52px; }
  .v2-mfull .dc-asset-cap { font-size: 9.5px; letter-spacing: .08em; }
  .v2-mfull .dc-doss-pane { padding: 0; }
  .v2-mfull-scroll { padding: 12px 12px 16px; }
  .v2-mfull .dc-hero-plate { height: 140px; min-height: 140px; }
  .v2-mfull .dc-folio-pane .dc-hero-plate { height: 140px; min-height: 140px; }
  .v2-mfull .dc-led-btn { padding: 10px 12px; gap: 10px; }
  .v2-mfull .dc-led-btn .l { font-size: 14.5px; }
  .v2-mfull .dc-led-btn .v { min-width: 0; font-size: 15px; }
  .v2-mfull .dc-fact { padding: 8px 0; gap: 6px 10px; }
  .v2-mfull .dc-fact .l { font-size: 14px; }
  .v2-mfull .dc-fact .v { font-size: 14.5px; }
  .v2-mfull .dc-cmp-line { grid-template-columns: 40px 1fr 72px; gap: 8px; }
  .v2-mfull .dc-cmp-n { font-size: 12.5px; }
  .v2-mfull .dc-eye { margin-top: 10px; }
}

/* Shared Facts decision dashboard, desktop and phone. */
.dc-decision-head { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:0 0 18px; }
.dc-decision-head h3 { margin:6px 0; color:var(--cobalt); font:600 32px/1.1 var(--font-body); }
.dc-facts-grid { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(240px, 1fr); gap:20px; align-items:start; }
.dc-facts-card { min-width:0; padding:16px; border:1px solid var(--line-hairline); background:var(--paper-raised); }
.dc-price-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dc-price-pair > div { display:flex; flex-direction:column; gap:8px; min-width:0; }
.dc-price-pair strong { font:600 clamp(18px, 1.8vw, 26px)/1.2 var(--font-body); color:var(--cobalt); }
.dc-price-pair p { grid-column:1 / -1; margin:0 0 12px; font:13px/1.45 var(--font-body); color:var(--text-muted); }
.dc-facts-details { margin:20px 0; border-block:1px solid var(--line-hairline); padding:14px 0; }
.dc-facts-details summary { cursor:pointer; font:600 14px/1.4 var(--font-body); color:var(--cobalt); }
.dc-facts-dashboard .dc-row { grid-template-columns:90px minmax(0, 1fr); }
@media (max-width:1000px) { .dc-facts-grid { grid-template-columns:1fr; } .dc-facts-dashboard .dc-area { max-width:440px; margin-inline:auto; } }

@media (min-width:1001px) {
  .dc-facts-dashboard .dc-decision-head { margin-bottom:4px; }
  .dc-facts-dashboard .dc-decision-head h3 { font-size:26px; margin:4px 0; }
  .dc-facts-dashboard .dc-area { width:min(100%, max(160px, calc(100dvh - 500px))); margin:8px auto; }
}

@media (min-width:1001px) and (max-height:900px) {
  .dc-doss-pane .dc-calc-btn { padding:9px 20px; }
  .dc-doss-pane .dc-calc-btn .l { font-size:17px; }
  .dc-doss-pane .dc-calc-btn .s { font-size:13px; }
  .dc-doss-pane .dc-calc-btn .v { font-size:26px; }
}

/* Filed investment memo preview and conditional project underwriting. */
.dc-memo-pane { gap: 22px; }
.dc-memo-document, .dc-memo-underwriting { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.dc-memo-document h3, .dc-memo-underwriting h3 { margin: 0; color: var(--text-primary); font: 600 17px/1.35 var(--font-body); }
.dc-memo-document p, .dc-memo-underwriting p { margin: 0; }
.dc-memo-document-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.dc-memo-document-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dc-memo-document-actions .dc-ic-file { min-height: 44px; display: inline-flex; align-items: center; box-sizing: border-box; border-radius: 4px; text-transform: none; letter-spacing: 0; }
.dc-memo-pdf { width: 100%; min-height: 200px; overflow: hidden; border: 1px solid var(--ink-rule); border-radius: 4px; box-sizing: border-box; background: var(--paper-deep); }
.dc-memo-underwriting { border: 1px solid var(--ink-faint); border-radius: 5px; background: var(--paper-raised); padding: 16px; }
.dc-memo-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.dc-memo-metric { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dc-memo-metric .dc-k { color: var(--text-muted); font: 500 12px/1.4 var(--font-body); text-transform: none; letter-spacing: 0; }
.dc-memo-metric > strong { color: var(--text-primary); font: 600 20px/1.3 var(--font-body); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dc-memo-source { margin: 0; color: var(--text-muted); font: 12px/1.45 var(--font-body); overflow-wrap: anywhere; }
.dc-memo-note { color: var(--text-muted); font: 13px/1.5 var(--font-body); }
.dc-memo-research { margin-top: 12px; min-width: 0; }
.dc-memo-research > summary { min-height: 44px; box-sizing: border-box; padding: 12px 0; cursor: pointer; color: var(--cobalt); font: 500 14px/1.4 var(--font-body); }
.dc-memo-prose, .dc-memo-pane .dc-row-v { white-space: pre-wrap; }
.dc-memo-prose { font: 14px/1.5 var(--font-body); }
.dc-memo-pane .dc-row-v, .dc-memo-facts .dc-row-v { font-weight: 400; color: var(--text-primary); line-height: 1.5; }
.dc-memo-pane .dc-row, .dc-memo-research .dc-row { grid-template-columns: 130px minmax(0, 1fr); align-items: start; padding: 10px 0; }
.dc-memo-pane .dc-row-main, .dc-memo-research .dc-row-main { display: flex; flex-direction: column; gap: 5px; overflow-wrap: anywhere; }
.dc-memo-assumptions { margin: 0; padding-left: 20px; font: 13px/1.5 var(--font-body); color: var(--text-muted); }
@media (max-width: 768px) {
  .dc-memo-pdf-toolbar { gap: 6px; }
  .dc-memo-underwriting { padding: 12px; }
  .dc-memo-metrics { grid-template-columns: 1fr 1fr; }
  .dc-memo-metric:first-child { grid-column: 1 / -1; }
  .dc-memo-pane .dc-row, .dc-memo-research .dc-row { grid-template-columns: 1fr; gap: 5px; }
}

.dc-memo-pdf-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--ink-faint); background: var(--paper-raised); font: 13px/1.4 var(--font-body); }
.dc-memo-pdf-toolbar button, .dc-memo-pdf-toolbar select { min-height: 40px; border: 1px solid var(--ink-rule); border-radius: 4px; background: var(--paper-raised); color: var(--cobalt); padding: 6px 10px; font: 500 13px/1.4 var(--font-body); cursor: pointer; }
.dc-memo-pdf-toolbar button:disabled, .dc-memo-pdf-toolbar select:disabled { opacity: .5; cursor: default; }
.dc-memo-page-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.dc-memo-pdf-stage { width: 100%; min-height: 140px; padding: 12px; box-sizing: border-box; overflow: auto; text-align: center; }
.dc-memo-pdf-stage canvas { display: block; margin: 0 auto; max-width: 100%; height: auto; background: white; box-shadow: 0 2px 8px #0002; }
.dc-memo-pdf-status { padding: 6px 12px 10px; }
