/* Owner (owner/**, 10/11): the Deal, Underwriting, Cap table and Units tabs,
   the cash dialog, the edit modals and the investor ledger, in the dashboard
   design the owner approved on the design branch. Loaded after skin/money.css.

   The shared rows the design rides on (the Get Paid row stats, share bars,
   list scrollers, hover meta, group lines) are not in testing's money.css
   for Money pages yet, so this file carries them, narrowed to the Owner page
   with :where() so they add no weight and reach no other Money page. A rule
   on a class every Money page shares (.yw-money-act, .yw-money-subsection)
   is narrowed the same way. */

/* ---- the shared rows, from the design branch's money.css ---- */
:where(.yw-owner-page) .yw-money-clock { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
:where(.yw-owner-page) .yw-money-row-count { margin-left: 8px; color: #a59fab; font-size: 11px; }
.hw-info-body .yw-money-hover-meta { display: block; margin-bottom: 8px; color: #8f8996; font-size: 11px; line-height: 1.45; }
:where(.yw-owner-page) .yw-money-parts > .yw-row-stat, :where(.yw-owner-page) .yw-money-parts > details > summary.yw-row-stat { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; row-gap: 9px; padding: 15px 0 14px; }
:where(.yw-owner-page) .yw-money-grid:not(.yw-money-grid--after) > .yw-money-card { display: flex; flex-direction: column; }
:where(.yw-owner-page) .yw-money-grid:not(.yw-money-grid--after) > .yw-money-card > .yw-money-card-body { display: flex; flex: 1 1 auto; flex-direction: column; }
:where(.yw-owner-page) .yw-money-parts { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: space-between; }
:where(.yw-owner-page) .yw-money-share { display: block; grid-column: 1 / -1; height: 8px; overflow: hidden; border-radius: 4px; background: #eeedf1; }
:where(.yw-owner-page) .yw-money-parts .yw-row-stat-value { color: #202024; font-size: 22px; letter-spacing: -.7px; }
:where(.yw-owner-page) .yw-money-parts > .yw-row-stat > span:first-child, :where(.yw-owner-page) .yw-money-parts > details > summary > span:first-child { color: #59535f; font-size: 13px; }
:where(.yw-owner-page) .yw-money-share > i { display: block; height: 100%; border-radius: inherit; background: repeating-linear-gradient(125deg, #9161df 0 2px, #dcccfa 2px 4px); transform-origin: left; animation: yw-scale-in 1s cubic-bezier(.2, .8, .2, 1) backwards; }
:where(.yw-owner-page) .yw-money-group { display: flex; align-items: baseline; gap: 12px; padding: 20px 2px 6px; color: #59535f; font-size: 12px; font-weight: 500; }
:where(.yw-owner-page) .yw-money-group:first-child { padding-top: 6px; }
[data-theme-root].dark .hw-info-body .yw-money-hover-meta, [data-theme-root].dark :where(.yw-owner-page) .yw-money-row-count { color: #a297ab; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-share { background: #142036; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-parts .yw-row-stat-value { color: #f3eef8; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-parts > .yw-row-stat > span:first-child, [data-theme-root].dark :where(.yw-owner-page) .yw-money-parts > details > summary > span:first-child { color: #c3b9cc; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-group { color: #c3b9cc; }
[data-theme-root].dark .yw-money-page:where(.yw-owner-page) .yw-row-stat[data-quiet] > .yw-row-stat-value { color: #8f8996; }
.yw-money-page:where(.yw-owner-page) .yw-row-stat-value[data-muted] { color: #a09aa4; }
.yw-money-page:where(.yw-owner-page) .yw-row-stat-value[data-muted] { font-weight: 400; }
:where(.yw-owner-page) .yw-money-overflow[data-scroll="list"] { max-height: 34rem; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
:where(.yw-owner-page) .yw-money-overflow[data-scroll="list"] > .yw-money-table thead th { box-shadow: inset 0 -1px 0 #eae8ec; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-overflow[data-scroll="list"] > .yw-money-table thead th { box-shadow: inset 0 -1px 0 #1c2843; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-overflow[data-scroll="list"] { scrollbar-color: #273656 transparent; }

/* ---- Owner ---- */
/* Owner redesign (10/03): the new Dashboard design on this Money section.
   Loaded after skin/money.css, so a rule here at the same weight wins.
   Light rules first, their dark twins under [data-theme-root].dark.

   Owner, verbatim: "continue with each of these tabs please take your time";
   for every Money tab: "use our new design ... no ai slop text ...
   explanations should be on the hover modals ... font types and font sizes
   ... container layouts and graphs ... add integrated scrollers ... correct
   sizing to containers". The five Owner tabs (src/app/(app)/owner/**) are
   built from the shared hero, grid, rows, notes and table in money.css and
   overview.css; these are the pieces Owner adds, all yw-owner-*: the quiet
   pills and fields, the Needs you rows (draws, distributions, transfers,
   fee payments), the ledgers' sticky line column, the waterfall split, the
   thin hatched column charts, and the frosted dialogs. The page root is
   .yw-money-page.yw-owner-page. Values stay ink; only words, pills, tracks
   and bars take a tone. */

/* ------------------------------------------------------- grids and cards -- */
.yw-owner-span-all { grid-column: 1 / -1; }
.yw-money-grid.yw-owner-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.yw-owner-charts > :only-child { grid-column: 1 / -1; }
.yw-owner-head-right { display: flex; flex-shrink: 0; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.yw-owner-fill { flex: 1 1 auto; min-height: 0; }
.yw-owner-scroll.yw-owner-fill { display: flex; flex-direction: column; }
.yw-owner-chart-card { display: flex; flex-direction: column; }
.yw-owner-flash { display: flex; flex-direction: column; gap: 4px; margin-top: 16px; }
.yw-owner-alerts { display: flex; flex-direction: column; gap: 4px; margin-top: 16px; }
.yw-owner-alerts > .yw-money-note { margin: 0; }
.yw-owner-alert-link { color: inherit; text-decoration: underline; text-decoration-color: rgba(154, 128, 95, .35); text-underline-offset: 3px; }
:where(.yw-owner-page) .yw-money-note[data-tone="watch"] { color: #9a805f; }
.yw-owner-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 18px; }
.yw-owner-start .yw-money-lead { margin-top: 16px; }
.yw-owner-empty .yw-money-note { margin-top: 8px; font-size: 13px; }
.yw-owner-lead { margin: 14px 0 0; color: #202024; font-size: 15px; font-weight: 500; line-height: 1.45; letter-spacing: -.3px; }
.yw-owner-kpi { margin: 16px 0 8px; color: #202024; font-size: clamp(30px, 2.6vw, 38px); font-weight: 500; line-height: 1.15; letter-spacing: -.05em; }
.yw-owner-hero .yw-hero-value[data-muted] { font-size: clamp(26px, 2.4vw, 34px); }
.yw-owner-track { margin: 16px 0 0; }

/* Distributions paid (10/11): the Deal tab's headline. The paid total at the
   hero's size on the left, cash on cash / DPI / IRR as row stats on the right;
   stacked at phone width. */
.yw-owner-paidhero-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: end; gap: 8px 48px; }
.yw-owner-paidhero .yw-owner-kpi { margin-top: 12px; font-size: clamp(40px, 4vw, 56px); letter-spacing: -.055em; }
.yw-owner-paidhero .yw-owner-kpi[data-muted] { font-size: clamp(26px, 2.4vw, 34px); }
.yw-owner-paidhero-stats { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; }
@media (max-width: 760px) {
  .yw-owner-paidhero-body { grid-template-columns: minmax(0, 1fr); }
}

/* A quiet group head inside a card (Promote runway, One-time fees, the
   fee ledger, Confirm paid). */
.yw-owner-subhead { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 0; margin-top: 18px; color: #59535f; font-size: 12px; font-weight: 500; }
.yw-owner-subhead .hw-info-label { color: #59535f; font-size: 12px; font-weight: 500; }
.yw-owner-subhead-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; margin-top: 18px; padding-bottom: 6px; }
.yw-owner-subhead-row > .yw-owner-subhead { margin-top: 0; }
.yw-owner-subhead-value { color: #202024; font-size: 14px; font-weight: 500; }
.yw-owner-returns > .yw-owner-subhead { display: block; margin-top: auto; padding-top: 18px; }

/* Rows: two to a line in a wide card, three for the typed plan. */
.yw-owner-rowgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.yw-owner-page .yw-owner-rowgrid > .yw-row-stat:nth-child(2) { border-top: 0; }
.yw-owner-page .yw-money-parts.yw-owner-partgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; }
.yw-owner-page .yw-owner-partgrid > .yw-row-stat { border-top: 1px solid #eae8ec; }
.yw-owner-page .yw-money-parts .yw-row-stat-value[data-muted] { font-size: 15px; letter-spacing: -.2px; }
:where(.yw-owner-page) .yw-money-share[data-tone="grey"] > i { background: repeating-linear-gradient(125deg, #a6a0ac 0 2px, #dcd7e0 2px 4px); }
:where(.yw-owner-page) .yw-money-share[data-tone="pink"] > i { background: repeating-linear-gradient(125deg, #d85e9e 0 2px, #f8dae9 2px 4px); }

/* The catch-up path under the month ledger, and the below-the-NOI walk in
   the closed P&L's "···". */
.yw-owner-catchup { margin-top: 8px; }
.yw-owner-catchup .yw-money-group { padding-top: 16px; }
.yw-owner-catchup .yw-money-group .hw-info-label { color: #59535f; font-size: 12px; font-weight: 500; }
.yw-owner-walk { display: block; }
.yw-owner-walk > span { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-top: 1px solid rgba(127, 110, 140, .16); }
.yw-owner-walk > span:first-child { border-top: 0; }
.yw-owner-walk strong { color: #202024; font-weight: 500; }
/* NOI confidence (pnl/confidence-chip.tsx) inside the closed P&L card: its
   months scroll in the card instead of stretching the row. */
.yw-owner-confidence { margin-top: 12px; max-height: 15rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-owner-page .yw-owner-confidence > .yw-row-stats > .yw-row-stat:first-child { border-top: 1px solid #eae8ec; }

/* ------------------------------------------------- pills, fields, forms -- */
.yw-owner-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 32px; padding: 0 12px; border: 0; border-radius: 10px; background: #eeeded; color: #202024; font-size: 12px; font-weight: 500; line-height: 1; letter-spacing: -.1px; white-space: nowrap; text-decoration: none; cursor: pointer; transition: background-color .16s, color .16s; }
.yw-owner-btn:hover { background: #e8e4ed; color: #202024; }
.yw-owner-btn:focus-visible { outline: 2px solid #b993ff; outline-offset: 2px; }
.yw-owner-btn--primary { background: #7c3aed; color: #fff; }
.yw-owner-btn--primary:hover { background: #7130df; color: #fff; }
.yw-owner-btn--danger { background: #fbf0f4; color: #c85f84; }
.yw-owner-btn--danger:hover { background: #f6e1ea; color: #b9507a; }
.yw-owner-btn--text { height: auto; padding: 2px 0; background: transparent; color: #87818c; }
.yw-owner-btn--text:hover { background: transparent; color: #202024; text-decoration: underline; text-underline-offset: 2px; }
.yw-owner-btn:disabled, .yw-owner-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
a.yw-owner-btn[aria-disabled="true"] { pointer-events: none; background: #eeeded; color: #87818c; }
.yw-owner-head-link { font-size: 12px; font-weight: 500; white-space: nowrap; }

.yw-owner-input { height: 34px; min-width: 0; padding: 0 10px; border: 1px solid #e2e1e4; border-radius: 10px; background: #fff; color: #202024; font-size: 13px; outline: none; }
.yw-owner-input:focus { border-color: #b993ff; }
.yw-owner-field > .yw-owner-input { width: 100%; }
.yw-owner-field > .yw-owner-input--money, .yw-owner-input--money { width: 9.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.yw-owner-input--pct { width: 4.75rem; }
.yw-owner-input--cell { width: 7rem; height: 30px; text-align: right; font-variant-numeric: tabular-nums; }
.yw-owner-field { display: flex; min-width: 0; flex-direction: column; gap: 5px; color: #87818c; font-size: 12px; }
.yw-owner-field--grow { flex: 1 1 12rem; }
.yw-owner-field--inline { flex-direction: row; align-items: center; gap: 8px; }
.yw-owner-field-hint { margin: 0; color: #a09aa4; font-size: 11px; }
.yw-owner-check { display: inline-flex; align-items: center; gap: 8px; color: #343039; font-size: 13px; cursor: pointer; }
.yw-owner-check > input { width: 15px; height: 15px; flex-shrink: 0; accent-color: #7c3aed; }
.yw-owner-form { display: flex; flex-direction: column; gap: 14px; }
.yw-owner-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.yw-owner-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.yw-owner-form-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.yw-owner-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.yw-owner-span-row { grid-column: 1 / -1; }
.yw-owner-fieldset { display: flex; min-width: 0; flex-direction: column; gap: 10px; margin: 0; padding: 12px 0 0; border: 0; border-top: 1px solid #eae8ec; }
.yw-owner-fieldset > legend { float: left; width: 100%; padding: 0; color: #202024; font-size: 13px; font-weight: 500; }
.yw-owner-inline-form { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.yw-owner-inline-form + .yw-owner-inline-form { margin-top: 6px; }
.yw-owner-fee-form { margin-top: 14px; }
.yw-owner-closed-entry { margin-top: 14px; }
.yw-owner-closed-entry > .yw-money-note { margin: 0 0 12px; }

/* ------------------------------------------------ the Needs you rows -- */
/* A draw, a distribution, a transfer, a fee payment: the Dashboard's Needs
   you row (money.css .yw-refund's shape). The round mark says the kind, the
   title the thing, one quiet line under it, the dollars last. */
.yw-owner-rows { margin: 4px 0 0; padding: 0; list-style: none; }
.yw-owner-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 0 14px; min-height: 62px; padding: 10px 6px; border-bottom: 1px solid #eae8ec; transition: background-color .16s; }
.yw-owner-row:last-child { border-bottom: 0; }
.yw-owner-row:hover { background: #f8f6fa; }
.yw-owner-row--form { grid-template-columns: 36px minmax(0, 1fr); align-items: start; }
.yw-owner-mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #efe8fb; color: #7c3aed; font-size: 14px; font-weight: 500; }
.yw-owner-mark[data-word] { font-size: 9.5px; font-weight: 600; letter-spacing: .04em; }
.yw-owner-row[data-kind="quiet"] .yw-owner-mark { background: #f0eef2; color: #87818c; }
.yw-owner-row[data-kind="watch"] .yw-owner-mark { background: #f6eddc; color: #9a805f; }
.yw-owner-row-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; color: #202024; font-size: 14px; font-weight: 500; letter-spacing: -.2px; }
.yw-owner-row-title .hw-info-label { color: #202024; font-weight: 500; }
.yw-owner-row-meta { color: #929097; font-size: 12px; font-weight: 400; }
.yw-owner-row-line { margin: 3px 0 0; overflow: hidden; color: #929097; font-size: 12px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.yw-owner-row--form .yw-owner-row-line { white-space: normal; }
.yw-owner-row--form .yw-money-note { margin-top: 6px; }
.yw-owner-row-form { margin-top: 10px; }
.yw-owner-row-amount { color: #202024; font-size: 16px; font-weight: 500; letter-spacing: -.4px; text-align: right; white-space: nowrap; }
.yw-owner-row-unit { display: block; color: #a09aa4; font-size: 10px; font-weight: 400; letter-spacing: 0; }

/* Scrollers: a long list or table scrolls inside its card. */
.yw-owner-scroll { max-height: 26rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-owner-scroll--tall { max-height: 40rem; }
.yw-owner-wide { scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
.yw-card-head + .yw-owner-scroll, .yw-row-stats + .yw-owner-scroll { margin-top: 10px; }
.yw-card-head + .yw-owner-rows { margin-top: 8px; }

/* --------------------------------------------------------------- tables -- */
.yw-owner-table td { vertical-align: middle; }
.yw-owner-table tr[data-strong] > td { color: #202024; font-weight: 500; }
.yw-owner-table tr[data-total] > td { background: #f8f4fb; }
.yw-owner-table tr[data-muted] > td { padding-top: 6px; padding-bottom: 6px; color: #87818c; font-size: 12px; }
.yw-owner-table td[data-gap], .yw-owner-table tr[data-gap-row] > td { color: #c3bdc8; }
.yw-owner-table td[data-quiet], .yw-owner-table tr[data-quiet-row] > td { color: #87818c; }
.yw-owner-table tr.yw-owner-tr-group > td { padding: 16px 8px 6px 0; border-top: 0; color: #59535f; font-size: 12px; font-weight: 500; }
.yw-money-page tbody tr.yw-owner-tr-group:hover { background-color: transparent; }
.yw-owner-table--sticky :is(th, td):first-child { position: sticky; left: 0; z-index: 1; background: #fbfbfb; }
.yw-money-overflow > .yw-owner-table--sticky thead th:first-child { z-index: 2; }
.yw-owner-table--sticky tbody tr:hover > td:first-child { background: #faf8fc; }
.yw-owner-table--sticky tr[data-total] > td:first-child { background: #f8f4fb; }
.yw-owner-table--sticky tfoot td:first-child { background: #f8f4fb; }
.yw-owner-table--months { min-width: 760px; }
.yw-owner-table--years { min-width: 980px; }
.yw-owner-table th.yw-owner-th-year { text-align: center; }
.yw-owner-th-sub { display: block; color: #a09aa4; font-size: 11px; font-weight: 400; }
.yw-money-overflow > .yw-owner-table--years thead tr.yw-owner-th-row2 th { position: static; padding-top: 0; color: #87818c; font-size: 11px; }
.yw-owner-captable { min-width: 980px; }
.yw-owner-dist-table { min-width: 780px; }
.yw-owner-units-table { min-width: 880px; }
.yw-owner-name { color: #202024; font-weight: 500; text-decoration: none; }
.yw-owner-name:hover { color: #7c3aed; text-decoration: underline; text-underline-offset: 2px; }
.yw-owner-tier { margin-left: 8px; }
.yw-owner-strong { color: #202024; font-weight: 500; }
.yw-owner-cell-note { margin-left: 6px; color: #a09aa4; font-size: 11px; font-weight: 400; }
.yw-owner-cell-note[data-block] { display: block; margin: 2px 0 0; }
.yw-owner-cell-flag { margin-left: 8px; }
.yw-owner-status { display: inline-flex; flex-direction: column; gap: 2px; }
.yw-owner-status .yw-owner-cell-note { margin-left: 0; }
.yw-owner-paid { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.yw-owner-hole { white-space: nowrap; }

/* ------------------------------------------------------------ waterfall -- */
.yw-owner-wf { padding-bottom: 14px; }
.yw-owner-wf + .yw-owner-wf { border-top: 1px solid #eae8ec; }
.yw-owner-wf .yw-money-group { padding-top: 14px; }
.yw-owner-wf .yw-money-group-name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: #202024; font-size: 13px; }
.yw-owner-wf-note { margin: 0 2px 6px; overflow: hidden; color: #929097; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.yw-owner-split { display: flex; gap: 2px; height: 8px; margin: 6px 2px 0; overflow: hidden; border-radius: 4px; }
.yw-owner-split > i { display: block; min-width: 3px; flex-basis: 0; }
.yw-owner-wf-tiers { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 8px 2px 4px; color: #87818c; font-size: 12px; }
.yw-owner-wf-tiers > span { white-space: nowrap; }
.yw-owner-wf-tiers i { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 2px; }
.yw-owner-wf-tiers strong { color: #202024; font-weight: 500; }
.yw-owner-wf-flag { color: #87818c; }
:is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="pref"] { background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); }
:is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="roc"] { background: #dcd7e0; }
:is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="catchUp"] { background: #e3d6f6; }
:is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="promote"] { background: #cdb5ee; }
:is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="residual"] { background: #a99ab9; }

/* --------------------------------------------------------------- charts -- */
/* owner-charts.tsx: the Dashboard's thin hatched columns (Refunds' trend),
   one per distribution or year, the picked one said in the line under it. */
.yw-owner-chart { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: flex-end; margin-top: 12px; }
.yw-owner-chart-key { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 16px; margin-bottom: 8px; color: #8e8494; font-size: 10px; }
.yw-owner-chart-key > span { display: inline-flex; align-items: center; gap: 6px; }
.yw-owner-chart-key i { display: inline-block; width: 12px; height: 8px; border-radius: 2px; }
.yw-owner-cols { display: grid; gap: 3px; height: 180px; }
.yw-owner-cols[data-few] { width: min(100%, 22rem); margin: 0 auto; }
.yw-owner-col { display: flex; min-width: 0; flex-direction: column; height: 100%; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: default; transition: background .2s ease; }
.yw-owner-col:hover, .yw-owner-col[data-active="true"] { background: #f4eefb; }
.yw-owner-col:focus-visible { outline: 2px solid #7836e9; outline-offset: -2px; }
.yw-owner-col-rail { position: relative; display: block; flex: 1 1 auto; border-bottom: 1px solid #cfc8d5; background: linear-gradient(to bottom, #ece8f0 0 1px, transparent 1px calc(50% - .5px), #ece8f0 calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)); }
.yw-owner-col-stack { position: absolute; right: max(14%, calc(50% - 17px)); bottom: 0; left: max(14%, calc(50% - 17px)); display: flex; flex-direction: column-reverse; gap: 1px; overflow: hidden; border-radius: 3px 3px 0 0; transform-origin: bottom; animation: yw-owner-grow .65s cubic-bezier(.2, .7, .2, 1) both; }
.yw-owner-col-stack > i { display: block; min-height: 2px; flex-basis: 0; }
.yw-owner-col-layer { position: absolute; right: max(14%, calc(50% - 17px)); bottom: 0; left: max(14%, calc(50% - 17px)); display: block; border-radius: 3px 3px 0 0; transform-origin: bottom; animation: yw-owner-grow .65s cubic-bezier(.2, .7, .2, 1) both; }
.yw-owner-col-layer + .yw-owner-col-layer { right: max(28%, calc(50% - 10px)); left: max(28%, calc(50% - 10px)); }
:is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="violet"] { background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); }
:is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="soft"] { background: #cdb5ee; }
:is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="grey"] { background: #dcd7e0; }
:is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="pink"] { background: repeating-linear-gradient(125deg, #d85e9e 0 2px, #f8dae9 2px 4px); }
.yw-owner-col-label { display: block; height: 22px; padding-top: 6px; overflow: visible; color: #8b8290; font-size: 10px; text-align: left; white-space: nowrap; }
.yw-owner-chart .yw-month-detail { min-height: 40px; margin-top: 6px; }
@keyframes yw-owner-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }

/* ---------------------------------------------------- the fee ledger -- */
.yw-owner-feeledger { margin-top: 4px; }
.yw-owner-feeledger .yw-money-overflow { margin-top: 6px; }
.yw-owner-year-nav { display: inline-flex; align-items: center; gap: 4px; color: #202024; font-size: 12px; font-weight: 500; }
.yw-owner-year-nav > span { min-width: 3rem; text-align: center; }
.yw-owner-year-nav > button { display: inline-grid; width: 26px; height: 26px; place-items: center; padding: 0; border: 0; border-radius: 8px; background: #eeeded; color: #202024; font-size: 14px; line-height: 1; cursor: pointer; }
.yw-owner-year-nav > button:hover { background: #e8e4ed; }
.yw-owner-year-nav > button:disabled { opacity: .35; cursor: not-allowed; }
.yw-owner-feepay { margin-top: 4px; }
.yw-owner-confirmed { margin-top: 14px; }
.yw-owner-confirmed > .yw-owner-subhead { margin-top: 0; }
.yw-owner-confirmed-list { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 8px 0 0; padding: 0; list-style: none; }
.yw-owner-confirmed-list > li { display: inline-flex; align-items: center; gap: 8px; }
.yw-owner-txn { color: #87818c; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; }

/* The investor's ledger page. */
.yw-owner-investor-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }

/* -------------------------------------------------------------- dialogs -- */
/* Every Owner dialog (AcqModal className="yw-owner-dialog"): the menu
   surface, frosted, radius 20, a 17px title, hairlines inside, one card
   level. Unscoped like money.css's dialogs: a <dialog> sits in the top
   layer. */
dialog.yw-owner-dialog { border: 1px solid rgba(226, 225, 228, .9); border-radius: 20px; background: rgba(253, 252, 254, .92); color: #202024; box-shadow: 0 24px 60px rgba(48, 32, 64, .16); -webkit-backdrop-filter: saturate(140%) blur(18px); backdrop-filter: saturate(140%) blur(18px); font-family: var(--font-geist-sans), Geist, system-ui, sans-serif; font-size: 14px; letter-spacing: -.25px; }
dialog.yw-owner-dialog::backdrop { background: rgba(32, 32, 36, .34); }
dialog.yw-owner-dialog > div > header { align-items: center; padding: 20px 23px 14px; border-bottom-color: #eae8ec; }
dialog.yw-owner-dialog > div > header h2 { color: #202024; font-size: 17px; font-weight: 500; letter-spacing: -.4px; }
dialog.yw-owner-dialog > div > header p { margin-top: 3px; color: #929097; font-size: 12px; }
dialog.yw-owner-dialog > div > header button[aria-label="Close"] { display: inline-grid; width: 32px; height: 32px; place-items: center; padding: 0; border-radius: 50%; color: #87818c; font-size: 18px; }
dialog.yw-owner-dialog > div > header button[aria-label="Close"]:hover { background: #eeeded; color: #202024; }
dialog.yw-owner-dialog > div > div { padding: 16px 23px 22px; scrollbar-width: thin; scrollbar-color: #ddd2e7 transparent; }
dialog.yw-owner-dialog .yw-money-table thead th { background: transparent; }
.yw-owner-dialog-hero { padding: 2px 0 14px; border-bottom: 1px solid #eae8ec; }
.yw-owner-dialog-label { margin: 0; color: #87818c; font-size: 12px; }
.yw-owner-dialog-value { margin: 4px 0 0; color: #202024; font-size: 34px; font-weight: 500; line-height: 1.15; letter-spacing: -.05em; }
.yw-owner-dialog-flags { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; }
.yw-owner-dialog-hero .yw-money-note { margin-top: 6px; }
.yw-owner-dialog-group { margin-top: 16px; }
.yw-owner-dialog-group-head { margin: 0 0 2px; color: #87818c; font-size: 12px; font-weight: 500; }
.yw-owner-dialog-group-head[data-tone="bad"] { color: #a96883; }
.yw-owner-dialog-subtotal { margin: 6px 0 0; color: #929097; font-size: 12px; text-align: right; }
.yw-owner-dialog-empty { margin: 4px 0; color: #929097; font-size: 12px; }
.yw-owner-dialog-lines { margin: 0; padding: 0; list-style: none; }
.yw-owner-dialog-warnings { display: flex; flex-direction: column; gap: 4px; margin: 14px 0 0; padding: 0; list-style: none; }
.yw-owner-dialog-warnings > .yw-money-note { margin: 0; }
.yw-owner-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.yw-owner-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 9px 0; border-top: 1px solid #eae8ec; }
.yw-owner-line[data-quiet] { color: #87818c; }
.yw-owner-line--editor { display: block; }
.yw-owner-line-label { display: flex; min-width: 0; flex: 1 1 14rem; flex-direction: column; gap: 2px; color: #343039; font-size: 13px; }
.yw-owner-line[data-quiet] .yw-owner-line-label { color: #6f6975; }
.yw-owner-line-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.yw-owner-line-meta { color: #a09aa4; font-size: 11px; }
.yw-owner-line-note { color: #929097; font-size: 11.5px; line-height: 1.45; }
.yw-owner-line-amount { color: #202024; font-size: 13px; font-weight: 500; white-space: nowrap; }
.yw-owner-line-amount[data-struck] { color: #a09aa4; text-decoration: line-through; }
.yw-owner-line-end { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
/* A payable being edited: the one quiet tinted panel a dialog allows. */
.yw-owner-editor { padding: 12px 14px; border-radius: 14px; background: #f6f5f7; }
.yw-owner-editor > .yw-owner-form-actions { margin-top: 10px; }
.yw-owner-add { margin-top: 6px; }
.yw-owner-receipt { margin: 18px 0 0; padding-top: 12px; border-top: 1px solid #e2e1e4; }
.yw-owner-receipt :is(dt, dd) { margin: 0; }
.yw-owner-receipt-row { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; color: #6f6975; font-size: 13px; }
.yw-owner-receipt-total { display: flex; justify-content: space-between; gap: 12px; margin-top: 6px; padding-top: 8px; border-top: 1px solid #e2e1e4; color: #202024; font-size: 15px; font-weight: 500; }
.yw-owner-low { color: #a96883; font-weight: 500; }
.yw-owner-preview .yw-money-overflow { margin-top: 2px; }
.yw-owner-preview-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #eae8ec; }
.yw-owner-preview-total { margin-left: auto; color: #202024; font-size: 13px; font-weight: 500; }

/* ------------------------------------------------------------- narrower -- */
@media (max-width: 1100px) {
  .yw-owner-page .yw-money-parts.yw-owner-partgrid { grid-template-columns: minmax(0, 1fr); }
  .yw-owner-page .yw-owner-partgrid > .yw-row-stat:first-child { border-top: 0; }
}
@media (max-width: 800px) {
  .yw-money-grid.yw-owner-pair { grid-template-columns: minmax(0, 1fr); }
  .yw-owner-rowgrid { grid-template-columns: minmax(0, 1fr); }
  .yw-owner-page .yw-owner-rowgrid > .yw-row-stat:nth-child(2) { border-top: 1px solid #eae8ec; }
  .yw-owner-form-grid, .yw-owner-form-grid--3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .yw-owner-row { grid-template-columns: 36px minmax(0, 1fr); }
  .yw-owner-row > .yw-owner-row-amount { grid-column: 2; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .yw-owner-col-stack, .yw-owner-col-layer { animation: none; }
  .yw-owner-btn, .yw-owner-row, .yw-owner-col { transition: none; }
}

/* ----------------------------------------------------------------- dark -- */
[data-theme-root].dark :where(.yw-owner-page) .yw-money-note[data-tone="watch"] { color: #e6bd7f; }
[data-theme-root].dark .yw-owner-alert-link { text-decoration-color: rgba(230, 189, 127, .35); }
[data-theme-root].dark :is(.yw-owner-lead, .yw-owner-kpi, .yw-owner-subhead-value, .yw-owner-walk strong, .yw-owner-row-title, .yw-owner-row-title .hw-info-label, .yw-owner-row-amount, .yw-owner-strong, .yw-owner-name, .yw-owner-wf-tiers strong, .yw-owner-year-nav, .yw-owner-line-amount, .yw-owner-preview-total, .yw-owner-dialog-value, .yw-owner-receipt-total) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-owner-subhead, .yw-owner-subhead .hw-info-label, .yw-owner-catchup .yw-money-group .hw-info-label, .yw-owner-wf .yw-money-group-name) { color: #c3b9cc; }
[data-theme-root].dark :is(.yw-owner-row-line, .yw-owner-row-meta, .yw-owner-row-unit, .yw-owner-cell-note, .yw-owner-wf-note, .yw-owner-wf-tiers, .yw-owner-wf-flag, .yw-owner-col-label, .yw-owner-chart-key, .yw-owner-th-sub, .yw-owner-txn, .yw-owner-field, .yw-owner-field-hint, .yw-owner-line-meta, .yw-owner-line-note, .yw-owner-dialog-label, .yw-owner-dialog-group-head, .yw-owner-dialog-subtotal, .yw-owner-dialog-empty, .yw-owner-receipt-row) { color: #a297ab; }
[data-theme-root].dark :is(.yw-owner-check, .yw-owner-line-label) { color: #d9d2e3; }
[data-theme-root].dark .yw-owner-line[data-quiet] .yw-owner-line-label { color: #a297ab; }
[data-theme-root].dark .yw-owner-name:hover { color: #c5a8ff; }
[data-theme-root].dark .yw-owner-dialog-group-head[data-tone="bad"], [data-theme-root].dark .yw-owner-low { color: #e69ac4; }
[data-theme-root].dark .yw-owner-line-amount[data-struck] { color: #8f8996; }
[data-theme-root].dark :is(.yw-owner-row, .yw-owner-wf + .yw-owner-wf, .yw-owner-line, .yw-owner-receipt, .yw-owner-receipt-total, .yw-owner-dialog-hero, .yw-owner-preview-foot, .yw-owner-walk > span, .yw-owner-fieldset, .yw-owner-page .yw-owner-partgrid > .yw-row-stat, .yw-owner-page .yw-owner-confidence > .yw-row-stats > .yw-row-stat:first-child) { border-color: #1c2843; }
[data-theme-root].dark .yw-owner-fieldset > legend { color: #f3eef8; }
[data-theme-root].dark .yw-owner-row:hover { background: #111b30; }
[data-theme-root].dark .yw-owner-mark { background: #3d3350; color: #c5a8ff; }
[data-theme-root].dark .yw-owner-row[data-kind="quiet"] .yw-owner-mark { background: #142036; color: #a297ab; }
[data-theme-root].dark .yw-owner-row[data-kind="watch"] .yw-owner-mark { background: #3f3628; color: #e6bd7f; }
/* Pills and fields. */
[data-theme-root].dark .yw-owner-btn { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-owner-btn:hover { background: #1c2843; color: #f3eef8; }
[data-theme-root].dark .yw-owner-btn--primary { background: #7c3aed; color: #fff; }
[data-theme-root].dark .yw-owner-btn--primary:hover { background: #8b4dfb; color: #fff; }
[data-theme-root].dark .yw-owner-btn--danger { background: #3a2a31; color: #e69ac4; }
[data-theme-root].dark .yw-owner-btn--danger:hover { background: #45303a; color: #f0b8d2; }
[data-theme-root].dark .yw-owner-btn--text { background: transparent; color: #a297ab; }
[data-theme-root].dark .yw-owner-btn--text:hover { background: transparent; color: #f3eef8; }
[data-theme-root].dark a.yw-owner-btn[aria-disabled="true"] { background: #142036; color: #8f8996; }
[data-theme-root].dark .yw-owner-input { border-color: #1c2843; background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-owner-year-nav > button { background: #142036; color: #f3eef8; }
[data-theme-root].dark .yw-owner-year-nav > button:hover { background: #1c2843; }
[data-theme-root].dark .yw-owner-editor { background: #142036; }
/* Tables. */
[data-theme-root].dark .yw-owner-table tr[data-strong] > td { color: #f3eef8; }
[data-theme-root].dark .yw-owner-table tr[data-total] > td, [data-theme-root].dark .yw-owner-table--sticky tr[data-total] > td:first-child, [data-theme-root].dark .yw-owner-table--sticky tfoot td:first-child { background: #2f2638; }
[data-theme-root].dark .yw-owner-table tr[data-muted] > td, [data-theme-root].dark .yw-owner-table :is(td[data-quiet], tr[data-quiet-row] > td) { color: #a297ab; }
[data-theme-root].dark .yw-owner-table :is(td[data-gap], tr[data-gap-row] > td) { color: #6f6975; }
[data-theme-root].dark .yw-owner-table tr.yw-owner-tr-group > td { color: #c3b9cc; }
[data-theme-root].dark .yw-money-page tbody tr.yw-owner-tr-group:hover { background-color: transparent; }
[data-theme-root].dark .yw-owner-table--sticky :is(th, td):first-child { background: #0d1527; }
[data-theme-root].dark .yw-owner-table--sticky tbody tr:hover > td:first-child { background: #111b30; }
[data-theme-root].dark .yw-money-overflow > .yw-owner-table--years thead tr.yw-owner-th-row2 th { color: #a297ab; }
/* Waterfall, tracks and charts. */
[data-theme-root].dark :is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="pref"] { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark :is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="roc"] { background: #243352; }
[data-theme-root].dark :is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="catchUp"] { background: #4a3a63; }
[data-theme-root].dark :is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="promote"] { background: #5c4a78; }
[data-theme-root].dark :is(.yw-owner-split, .yw-owner-wf-tiers) i[data-part="residual"] { background: #6f6382; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-share[data-tone="grey"] > i { background: repeating-linear-gradient(125deg, #8b8794 0 2px, #17243d 2px 4px); }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-share[data-tone="pink"] > i { background: repeating-linear-gradient(125deg, #e07fb4 0 2px, #5a3a4b 2px 4px); }
[data-theme-root].dark .yw-owner-col:hover, [data-theme-root].dark .yw-owner-col[data-active="true"] { background: #30263a; }
[data-theme-root].dark .yw-owner-col-rail { border-bottom-color: #5b5063; background: linear-gradient(to bottom, #39323f 0 1px, transparent 1px calc(50% - .5px), #39323f calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)); }
[data-theme-root].dark :is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="violet"] { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark :is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="soft"] { background: #5c4a78; }
[data-theme-root].dark :is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="grey"] { background: #243352; }
[data-theme-root].dark :is(.yw-owner-col-stack > i, .yw-owner-col-layer, .yw-owner-chart-key i)[data-tone="pink"] { background: repeating-linear-gradient(125deg, #e07fb4 0 2px, #5a3a4b 2px 4px); }
[data-theme-root].dark :is(.yw-owner-scroll, .yw-owner-wide, .yw-owner-confidence, dialog.yw-owner-dialog > div > div) { scrollbar-color: #273656 transparent; }
/* Dialogs: the dark twin of the menu surface. */
[data-theme-root].dark dialog.yw-owner-dialog { border-color: #1c2843; background: rgba(13, 21, 39, .92); color: #f3eef8; box-shadow: 0 24px 60px rgba(0, 0, 0, .4); }
[data-theme-root].dark dialog.yw-owner-dialog::backdrop { background: rgba(0, 0, 0, .5); }
[data-theme-root].dark dialog.yw-owner-dialog > div > header { border-bottom-color: #1c2843; }
[data-theme-root].dark dialog.yw-owner-dialog > div > header h2 { color: #f3eef8; }
[data-theme-root].dark dialog.yw-owner-dialog > div > header p { color: #a297ab; }
[data-theme-root].dark dialog.yw-owner-dialog > div > header button[aria-label="Close"] { color: #a297ab; }
[data-theme-root].dark dialog.yw-owner-dialog > div > header button[aria-label="Close"]:hover { background: #142036; color: #f3eef8; }

/* Lead pass (10/03): a month grid gave its spare width to the months that
   had figures (Jun to Aug swelled, the rest shrank). Fixed layout: the line
   column holds its width and the months share the rest evenly. */
.yw-owner-page .yw-owner-table--months { table-layout: fixed; }
.yw-owner-page .yw-owner-table--months :is(th, td):first-child { width: 11.5rem; }
.yw-owner-page .yw-owner-table--months td { white-space: normal; }
.yw-owner-page .yw-owner-table--months .yw-owner-hole { white-space: normal; }
.yw-owner-page .yw-owner-table--months .yw-owner-hole > .yw-money-flag { display: block; }

/* =========================================================================
   10/11 (owner: "lets re design this owner tab and its sub tabs. with our
   new design, wee need to make it more intuitive and easy to use for the
   customer, lets fix the fonts and font sizes and also the layout and
   everything"). The Room Types scale on every Owner tab: row labels and
   table cells 14px, the quiet words beside them 12.5px, notes 13px, buttons
   and fields 13 to 14px, chart words 12px, nothing under 12px. Then the
   pieces the new layout adds: the hero's cash split, the year's goal track,
   LP cash against the monthly pref, the last closed month's scene card, the
   fee pair, the cap table's tier line and the units' empty state. Dark
   twins at the end of the block.
   ========================================================================= */

/* ---------------------------------------------------------------- scale -- */
.yw-owner-page .yw-card-sub { font-size: 12.5px; }
.yw-owner-page .yw-row-stat { color: #59535f; font-size: 14px; }
.yw-owner-page .yw-row-stat-value { font-size: 15px; }
.yw-owner-page .yw-money-parts > .yw-row-stat > span:first-child { color: #59535f; font-size: 14px; }
.yw-owner-page .yw-money-row-count { color: #a09aa4; font-size: 12.5px; }
.yw-owner-page :is(.yw-money-note, .yw-money-empty) { font-size: 13px; }
.yw-owner-page .yw-hero-status { font-size: 12.5px; }
.yw-owner-page .yw-hero-pill { font-size: 12px; }
.yw-owner-page .yw-hero-muted { font-size: 12.5px; }
.yw-owner-page .yw-money-flag { font-size: 12px; }
.yw-owner-page .hw-info-body .yw-money-hover-meta { font-size: 12px; }
.yw-owner-btn { height: 34px; padding: 0 14px; font-size: 13px; }
.yw-owner-head-link { font-size: 13px; }
.yw-owner-input { height: 36px; font-size: 14px; }
.yw-owner-input--cell { height: 32px; }
.yw-owner-field { gap: 6px; font-size: 12.5px; }
.yw-owner-field-hint { font-size: 12px; }
.yw-owner-check { font-size: 14px; }
.yw-owner-subhead, .yw-owner-subhead .hw-info-label { font-size: 13px; }
.yw-owner-subhead-value { font-size: 15px; }
.yw-owner-row { grid-template-columns: 40px minmax(0, 1fr) auto; min-height: 66px; }
.yw-owner-row--form { grid-template-columns: 40px minmax(0, 1fr); }
.yw-owner-mark { width: 40px; height: 40px; font-size: 15px; }
.yw-owner-mark[data-word] { font-size: 12px; letter-spacing: .02em; }
.yw-owner-row-title { font-size: 15px; }
.yw-owner-row-meta, .yw-owner-row-line { font-size: 13px; }
.yw-owner-row-amount { font-size: 17px; }
.yw-owner-row-unit { font-size: 12px; }
.yw-owner-page .yw-owner-table th { font-size: 12.5px; }
.yw-owner-page .yw-owner-table td { font-size: 14px; }
.yw-owner-page .yw-owner-table tr[data-muted] > td { font-size: 13px; }
.yw-owner-page .yw-owner-table tr.yw-owner-tr-group > td { font-size: 13px; }
.yw-owner-th-sub, .yw-money-overflow > .yw-owner-table--years thead tr.yw-owner-th-row2 th { font-size: 12px; }
.yw-owner-cell-note { font-size: 12.5px; }
.yw-owner-wf .yw-money-group-name { font-size: 14px; }
.yw-owner-wf-note, .yw-owner-wf-tiers { font-size: 13px; }
.yw-owner-chart-key { color: #59535f; font-size: 12px; }
.yw-owner-col-label { font-size: 12px; }
.yw-owner-year-nav { font-size: 14px; }
.yw-owner-year-nav > button { width: 30px; height: 30px; border-radius: 10px; }
.yw-owner-txn { font-size: 12px; }
/* The dialogs sit in the top layer, outside the page root. */
dialog.yw-owner-dialog > div > header p { font-size: 13px; }
dialog.yw-owner-dialog :is(.yw-money-note, .yw-owner-dialog-empty) { font-size: 13px; }
.yw-owner-dialog-label, .yw-owner-dialog-group-head { font-size: 13px; }
.yw-owner-dialog-subtotal { font-size: 12.5px; }
.yw-owner-line-label, .yw-owner-line-amount, .yw-owner-receipt-row { font-size: 14px; }
.yw-owner-line-meta { font-size: 12px; }
.yw-owner-line-note { font-size: 12.5px; }
.yw-owner-receipt-total { font-size: 16px; }

/* ------------------------------------------- Deal: the hero's cash split -- */
/* Bank cash, then one bar in three parts: must pay, held, free. */
.yw-owner-hero > .yw-owner-actions { margin-top: 0; }
.yw-owner-cashsplit { margin-top: 22px; }
.yw-owner-cashsplit-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 8px; color: #59535f; font-size: 13px; }
.yw-owner-cashsplit-head strong { color: #202024; font-size: 15px; font-weight: 500; letter-spacing: -.3px; }
.yw-owner-cashbar { display: flex; gap: 2px; height: 12px; overflow: hidden; border-radius: 6px; }
.yw-owner-cashbar > i { display: block; min-width: 4px; flex-basis: 0; transform-origin: left; animation: yw-scale-in 1s cubic-bezier(.2, .8, .2, 1) backwards; }
.yw-owner-cashkey { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 9px 0 0; color: #59535f; font-size: 12.5px; }
.yw-owner-cashkey > span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.yw-owner-cashkey i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
:is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="must"] { background: repeating-linear-gradient(125deg, #a6a0ac 0 2px, #e2dee6 2px 4px); }
:is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="held"] { background: #d6d0dc; }
:is(.yw-owner-cashbar, .yw-owner-cashkey) i:is([data-part="free"], [data-part="t0"]) { background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); }
:is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="t1"] { background: #cdb5ee; }
:is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="t2"] { background: repeating-linear-gradient(125deg, #a6a0ac 0 2px, #e2dee6 2px 4px); }
:is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="t3"] { background: #d6d0dc; }

/* ------------------------------------------------ Deal: the year's goal -- */
.yw-owner-goal { margin-top: 16px; }
.yw-owner-goal > .yw-money-share { height: 10px; border-radius: 5px; }
.yw-owner-goal-words { margin: 8px 0 0; color: #59535f; font-size: 13px; }

/* ----------------------------- Deal: LP cash against the monthly pref -- */
/* The Dashboard's months against plan (overview.css .yw-month-*): the bar is
   LP cash, grey when it covered the pref, pink when short; the tick is the
   pref. A month not closed has the tick alone. */
.yw-owner-prefchart { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: flex-end; margin-top: 14px; }
.yw-owner-prefchart .yw-owner-chart-key { justify-content: flex-start; margin-bottom: 12px; }
.yw-owner-chart-key i[data-tone="tick"] { width: 14px; height: 2px; border-radius: 1px; background: #a76c8a; }
.yw-owner-prefchart .yw-month-scroll { padding-bottom: 2px; }
.yw-owner-prefchart .yw-month-columns { gap: 4px; }
.yw-owner-prefchart .yw-month-column { height: 236px; padding: 0 4px; border: 0; border-radius: 10px; background: transparent; font: inherit; cursor: default; }
.yw-owner-prefchart .yw-month-column:hover, .yw-owner-prefchart .yw-month-column[data-active="true"] { background: #f4eefb; }
.yw-owner-prefchart .yw-month-column-value { height: 24px; padding-top: 4px; color: #59535f; font-size: 12.5px; }
.yw-owner-prefchart .yw-month-column[data-active="true"] .yw-month-column-value { color: #202024; }
.yw-owner-prefchart .yw-month-column-rail { flex: 1 1 auto; height: auto; }
.yw-owner-prefchart .yw-month-bar-fill { width: min(46%, 34px); }
.yw-owner-prefchart .yw-month-target-tick { left: 16%; width: 68%; }
.yw-owner-prefchart .yw-month-column-label { margin-top: 8px; color: #59535f; font-size: 12.5px; }
.yw-owner-prefchart .yw-month-detail { gap: 6px 18px; margin-top: 10px; color: #87818c; font-size: 13px; }
.yw-owner-prefchart .yw-month-detail-period { font-size: 13px; }
.yw-owner-prefchart .yw-month-detail strong { font-size: 14px; }

/* ------------------------------------ Deal: the last closed month (scene) -- */
/* The Wizard's insight card as P&L's Month close wears it: the beach resort
   in dots fills the lower part and multiplies into the violet. */
.yw-insight.yw-owner-month { height: auto; min-height: 0; }
.yw-owner-month-art { position: absolute; right: 0; bottom: 0; left: 0; z-index: -2; height: 66%; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 40%); mask-image: linear-gradient(180deg, transparent 0, #000 40%); pointer-events: none; }
.yw-owner-month-art > canvas { display: block; width: 100%; height: 100%; mix-blend-mode: multiply; }
.yw-owner-month .yw-insight-tag, .yw-owner-month .yw-insight-tag .hw-info-label { color: inherit; font-size: 12px; font-weight: 400; }
.yw-owner-month .yw-insight-count { padding: 5px 10px; border-radius: 20px; background: rgba(255, 255, 255, .6); color: #5e4380; font-size: 12px; font-weight: 500; }
.yw-owner-month[data-state="covered"] .yw-insight-count { color: #2f7f64; }
.yw-owner-month[data-state="short"] .yw-insight-count { color: #a9507a; }
.yw-owner-month .yw-insight-value { margin-top: 22px; }
.yw-owner-month .yw-insight-value span { font-size: 14px; }
.yw-owner-month h3 { max-width: 300px; margin-top: 10px; font-size: 19px; line-height: 1.3; letter-spacing: -.5px; }
.yw-owner-month-noi { margin: 8px 0 0; color: #725289; font-size: 13px; }
.yw-owner-month .yw-insight-bottom { padding-top: 18px; }
.yw-owner-month .yw-insight-link { font-size: 13px; }

/* ------------------------------------- Deal: returns, pref, the fee pair -- */
.yw-owner-coc { margin-top: 10px; }
.yw-owner-fee-form { margin-top: 18px; padding-top: 14px; border-top: 1px solid #eae8ec; }
.yw-owner-fee-form > .yw-owner-subhead { margin: 0; }
.yw-owner-fee-form .yw-owner-input { width: 100%; }
.yw-owner-fee-save { display: flex; align-items: flex-end; }
.yw-owner-confirmed-list { flex-direction: column; gap: 4px; }
.yw-owner-confirmed-what { color: #59535f; font-size: 13px; }
.yw-owner-confirmed-what strong { color: #202024; font-weight: 500; }
.yw-owner-feeledger .yw-money-overflow { margin-top: 12px; }
.yw-owner-fee-table { min-width: 640px; }

/* ----------------------------------------------- Cap table and Units -- */
.yw-owner-capsum + .yw-money-stack { margin-top: 16px; }
.yw-owner-captable td:first-child { min-width: 15rem; }
.yw-owner-tierline { display: block; margin-top: 3px; color: #87818c; font-size: 12.5px; font-weight: 400; white-space: nowrap; }
.yw-owner-tierword { color: #59535f; font-weight: 500; }
.yw-owner-tierword[data-tone="accent"] { color: #7c3aed; }
.yw-owner-tierword[data-tone="good"] { color: #2f8a6d; }
.yw-owner-tierword[data-tone="watch"] { color: #9a805f; }
.yw-owner-empty-state { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; padding: 20px 0; }
.yw-owner-empty-title { margin: 0; color: #202024; font-size: 17px; font-weight: 500; letter-spacing: -.4px; }
.yw-owner-empty-state > .yw-money-note { max-width: 28rem; margin-top: 6px; }
.yw-owner-assign { flex-wrap: nowrap; }
.yw-owner-assign select.yw-owner-input { width: 12rem; }
.yw-owner-assign input[type="date"].yw-owner-input { width: 9.75rem; }
.yw-owner-assign-end { margin-top: 4px; }
.yw-owner-units-table { min-width: 1080px; }

@media (prefers-reduced-motion: reduce) {
  .yw-owner-cashbar > i { animation: none; }
}

/* ---------------------------------------------------------- 10/11 dark -- */
[data-theme-root].dark .yw-owner-page :is(.yw-row-stat, .yw-money-parts > .yw-row-stat > span:first-child, .yw-owner-cashsplit-head, .yw-owner-cashkey, .yw-owner-goal-words, .yw-owner-chart-key, .yw-owner-confirmed-what) { color: #c3b9cc; }
[data-theme-root].dark .yw-owner-tierword { color: #c3b9cc; }
[data-theme-root].dark .yw-owner-page .yw-money-row-count, [data-theme-root].dark .yw-owner-tierline { color: #a297ab; }
[data-theme-root].dark :is(.yw-owner-cashsplit-head strong, .yw-owner-confirmed-what strong, .yw-owner-empty-title) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-owner-cashbar, .yw-owner-cashkey) i:is([data-part="must"], [data-part="t2"]) { background: repeating-linear-gradient(125deg, #8b8794 0 2px, #17243d 2px 4px); }
[data-theme-root].dark :is(.yw-owner-cashbar, .yw-owner-cashkey) i:is([data-part="held"], [data-part="t3"]) { background: #2b3a5c; }
[data-theme-root].dark :is(.yw-owner-cashbar, .yw-owner-cashkey) i:is([data-part="free"], [data-part="t0"]) { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }
[data-theme-root].dark :is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="t1"] { background: #5c4a78; }
[data-theme-root].dark .yw-owner-chart-key i[data-tone="tick"], [data-theme-root].dark .yw-owner-prefchart .yw-month-target-tick { background: #d58fb3; }
[data-theme-root].dark .yw-owner-prefchart .yw-month-column:hover, [data-theme-root].dark .yw-owner-prefchart .yw-month-column[data-active="true"] { background: #1c2843; }
[data-theme-root].dark .yw-owner-prefchart :is(.yw-month-column-value, .yw-month-column-label, .yw-month-detail) { color: #a297ab; }
[data-theme-root].dark .yw-owner-prefchart .yw-month-column[data-active="true"] .yw-month-column-value { color: #f3eef8; }
[data-theme-root].dark .yw-owner-prefchart .yw-month-detail { border-top-color: #1c2843; }
[data-theme-root].dark .yw-owner-month-art > canvas { filter: invert(1) hue-rotate(180deg); mix-blend-mode: screen; opacity: .55; }
[data-theme-root].dark .yw-owner-month .yw-insight-count { background: rgba(255, 255, 255, .1); color: #d9c8f0; }
[data-theme-root].dark .yw-owner-month[data-state="covered"] .yw-insight-count { color: #7fd3b4; }
[data-theme-root].dark .yw-owner-month[data-state="short"] .yw-insight-count { color: #f0b8d2; }
[data-theme-root].dark .yw-owner-month-noi { color: #cdb9e6; }
[data-theme-root].dark .yw-owner-fee-form { border-top-color: #1c2843; }
[data-theme-root].dark .yw-owner-tierword[data-tone="accent"] { color: #c5a8ff; }
[data-theme-root].dark .yw-owner-tierword[data-tone="good"] { color: #7fd3b4; }
[data-theme-root].dark .yw-owner-tierword[data-tone="watch"] { color: #e6bd7f; }

/* 10/11, the layout under the new scale. A card stretched to its row's
   tallest neighbor keeps its rows together at the top: the shared Last full
   week rows spread over the card's height (money.css .yw-money-parts), which
   left a hole between two rows on Capital vs repairs and Deal terms. The
   draws summary is two rows to a line as it was meant to be. The months
   against the pref fill their card. A pref-only payout's holders are rows,
   two to a line, each over its share of the distribution. */
.yw-owner-page .yw-money-parts { justify-content: flex-start; }
.yw-owner-page .yw-money-grid > .yw-money-card > .yw-money-card-body { flex: 0 0 auto; }
.yw-owner-page .yw-money-grid > .yw-money-card > .yw-owner-rowgrid.yw-money-card-body { display: grid; }
.yw-owner-cashkey { gap: 4px 12px; }
.yw-owner-prefchart .yw-month-scroll { display: flex; flex: 1 1 auto; flex-direction: column; }
.yw-owner-prefchart .yw-month-columns { flex: 1 1 auto; min-height: 236px; }
.yw-owner-prefchart .yw-month-column { height: auto; }
.yw-owner-holders { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; margin-top: 6px; }
.yw-owner-page .yw-owner-holders > .yw-row-stat { row-gap: 7px; padding: 11px 0 10px; border-top: 1px solid #eae8ec; }
.yw-owner-page .yw-owner-holders .yw-row-stat-value { font-size: 15px; letter-spacing: -.3px; }
.yw-owner-page .yw-owner-holders > .yw-row-stat > span:first-child { font-size: 14px; }
.yw-owner-holders .yw-money-share { height: 6px; }
.yw-owner-holders-sum { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin: 10px 0 0; padding-top: 10px; border-top: 1px solid #eae8ec; color: #59535f; font-size: 13px; }
.yw-owner-holders-sum strong { margin-left: 6px; color: #202024; font-weight: 500; }
[data-theme-root].dark .yw-owner-page .yw-owner-holders > .yw-row-stat, [data-theme-root].dark .yw-owner-holders-sum { border-color: #1c2843; }
[data-theme-root].dark .yw-owner-holders-sum { color: #c3b9cc; }
[data-theme-root].dark .yw-owner-holders-sum strong { color: #f3eef8; }
.yw-owner-kpi[data-muted] { color: #a09aa4; font-size: clamp(22px, 1.9vw, 26px); letter-spacing: -.03em; }
[data-theme-root].dark .yw-owner-kpi[data-muted] { color: #8f8996; }
.yw-owner-captable td:first-child { min-width: 13rem; }
.yw-owner-page .yw-owner-captable :is(th, td) { padding-right: 10px; padding-left: 10px; }
.yw-owner-page .yw-owner-captable :is(th, td):first-child { padding-left: 0; }
.yw-owner-page .yw-owner-captable :is(th, td):last-child { padding-right: 0; }
.yw-owner-assign select.yw-owner-input { width: 10rem; }
.yw-owner-assign input[type="date"].yw-owner-input { width: 9rem; }
.yw-owner-units-table { min-width: 1020px; }
.yw-owner-prefchart .yw-owner-chart-key i[data-tone="grey"] { background: repeating-linear-gradient(125deg, #a6a0ac 0 2px, #d8d3dc 2px 4px); }
[data-theme-root].dark .yw-owner-prefchart .yw-month-bar-fill { background: repeating-linear-gradient(125deg, #e07fb4 0 2px, #5a3a4b 2px 4px); }
[data-theme-root].dark .yw-owner-prefchart .yw-month-column[data-plan-state="met"] .yw-month-bar-fill, [data-theme-root].dark .yw-owner-prefchart .yw-owner-chart-key i[data-tone="grey"] { background: repeating-linear-gradient(125deg, #8b8794 0 2px, #17243d 2px 4px); }

/* ------------------------------------------- the cash dialog (10/11) -- */
/* Owner, of See the math: "this modal needs re design with the new style we
   have at the dashboard. right now it looks non intuitive". The answer and
   how it adds up side by side (the figure, its pills and Distribute; the
   card's three-part bar over the four-line receipt), the next 90 days as
   three month figures, then the detail in two columns of hairline sections,
   each head carrying its total. One surface, no box inside it. */
dialog.yw-owner-dialog.yw-owner-cash { max-width: min(1120px, 94vw); }
dialog.yw-owner-cash > div > div { padding: 22px 28px 28px; }
.yw-owner-cash-top { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 36px; padding-bottom: 24px; border-bottom: 1px solid #eae8ec; }
.yw-owner-cash-lead .yw-owner-dialog-label { font-size: 13px; }
.yw-owner-cash-lead .yw-owner-dialog-value { margin-top: 6px; font-size: 46px; letter-spacing: -.05em; }
.yw-owner-cash-lead .yw-owner-dialog-flags { margin-top: 12px; }
.yw-owner-cash-lead > .yw-money-note { max-width: 34rem; margin-top: 10px; }
dialog.yw-owner-cash .yw-hero-pill { padding: 5px 10px; background: #f1eff3; box-shadow: none; color: #59535f; font-size: 12px; }
dialog.yw-owner-cash .yw-hero-pill[data-pace="ahead"] { color: #2f8a6d; }
dialog.yw-owner-cash .yw-hero-pill[data-pace="behind"] { color: #a96883; }
.yw-owner-cash-cta { margin-top: 20px; }
.yw-owner-cash-cta > .yw-owner-btn { height: 40px; padding: 0 20px; border-radius: 12px; font-size: 14px; }
.yw-owner-cash-sum { align-self: start; padding-top: 6px; }
.yw-owner-cash-sum > .yw-owner-cashbar { height: 14px; border-radius: 7px; }
.yw-owner-cash-sum > .yw-owner-receipt { margin: 14px 0 0; padding: 0; border: 0; }
.yw-owner-cash-sum .yw-owner-receipt-row { align-items: center; padding: 10px 0; border-top: 1px solid #eae8ec; color: #59535f; font-size: 14px; }
.yw-owner-cash-sum .yw-owner-receipt-row:first-child { border-top: 0; }
.yw-owner-cash-sum .yw-owner-receipt-row dd { color: #202024; font-weight: 500; }
.yw-owner-cash-sum .yw-owner-receipt-total { align-items: center; margin-top: 0; padding-top: 12px; border-top: 1px solid #d9d5de; font-size: 16px; }
.yw-owner-receipt dt { display: inline-flex; align-items: center; gap: 9px; }
.yw-owner-receipt dt > i { display: inline-block; width: 11px; height: 11px; flex-shrink: 0; border-radius: 3px; }
.yw-owner-receipt i[data-part="cash"] { border: 1.5px solid #bdb6c4; }
.yw-owner-receipt i[data-part="must"] { background: repeating-linear-gradient(125deg, #a6a0ac 0 2px, #e2dee6 2px 4px); }
.yw-owner-receipt i[data-part="held"] { background: #d6d0dc; }
.yw-owner-receipt i[data-part="free"] { background: repeating-linear-gradient(125deg, #8a45f0 0 2px, #d4b6fb 2px 4px); }

/* The next 90 days: three figures, each said against the floor. */
.yw-owner-cash-forward { padding: 20px 0 22px; border-bottom: 1px solid #eae8ec; }
.yw-owner-cash-forward > .yw-owner-cash-sec-head { padding-bottom: 0; border-bottom: 0; }
.yw-owner-cash-months { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 14px 0 0; padding: 0; list-style: none; }
.yw-owner-cash-month { display: flex; min-width: 0; flex-direction: column; gap: 3px; padding: 0 18px; border-left: 1px solid #eae8ec; }
.yw-owner-cash-month:first-child { padding-left: 0; border-left: 0; }
.yw-owner-cash-month-name { color: #59535f; font-size: 13px; }
.yw-owner-cash-month > strong { color: #202024; font-size: 24px; font-weight: 500; letter-spacing: -.7px; }
.yw-owner-cash-month-word { color: #2f8a6d; font-size: 12.5px; }
.yw-owner-cash-month[data-low] .yw-owner-cash-month-word { color: #a96883; }

/* The detail: two columns of hairline sections. */
.yw-owner-cash-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; align-items: start; }
.yw-owner-cash-cols > :only-child { grid-column: 1 / -1; }
.yw-owner-cash-col { display: flex; min-width: 0; flex-direction: column; }
.yw-owner-cash-sec { min-width: 0; padding-top: 22px; }
.yw-owner-cash-sec-head { display: flex; align-items: baseline; gap: 4px 10px; padding-bottom: 9px; border-bottom: 1px solid #e2e1e4; }
.yw-owner-cash-sec-title { flex-shrink: 0; margin: 0; color: #202024; font-size: 15px; font-weight: 500; letter-spacing: -.3px; }
.yw-owner-cash-sec-title .hw-info-label { font-weight: 500; }
.yw-owner-cash-sec-meta { min-width: 0; overflow: hidden; color: #929097; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.yw-owner-cash-sec-total { flex-shrink: 0; margin-left: auto; color: #202024; font-size: 15px; font-weight: 500; white-space: nowrap; }
.yw-owner-cash-sec-body > :first-child > .yw-owner-line:first-child, .yw-owner-cash-sec-body > .yw-owner-line:first-child { border-top: 0; }
dialog.yw-owner-cash .yw-owner-line { flex-wrap: nowrap; align-items: flex-start; padding: 11px 0; }
dialog.yw-owner-cash .yw-owner-line-label { flex: 1 1 auto; gap: 3px; font-size: 14px; }
dialog.yw-owner-cash .yw-owner-line-note { font-size: 12.5px; }
dialog.yw-owner-cash .yw-owner-line-end { flex-shrink: 0; flex-wrap: nowrap; gap: 10px; }
dialog.yw-owner-cash .yw-owner-line-amount { min-width: 6.5rem; padding-top: 1px; font-size: 14px; text-align: right; }
dialog.yw-owner-cash .yw-owner-line--form { flex-wrap: wrap; align-items: center; }
dialog.yw-owner-cash .yw-owner-line--editor { display: block; }
dialog.yw-owner-cash .yw-owner-edit { padding: 2px 0 0; font-size: 13px; }
dialog.yw-owner-cash .yw-owner-dialog-empty { margin: 10px 0 0; }
.yw-owner-cash-add .yw-owner-add { margin-top: 14px; }
.yw-owner-cash-add .yw-owner-field--grow { flex-basis: 16rem; }

/* Dark twins. */
[data-theme-root].dark :is(.yw-owner-cash-top, .yw-owner-cash-forward, .yw-owner-cash-month, .yw-owner-cash-sum .yw-owner-receipt-row, .yw-owner-cash-sec-head) { border-color: #1c2843; }
[data-theme-root].dark .yw-owner-cash-sum .yw-owner-receipt-total { border-color: #273656; }
[data-theme-root].dark :is(.yw-owner-cash-sec-title, .yw-owner-cash-sec-total, .yw-owner-cash-month > strong, .yw-owner-cash-sum .yw-owner-receipt-row dd) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-owner-cash-month-name, .yw-owner-cash-sum .yw-owner-receipt-row) { color: #c3b9cc; }
[data-theme-root].dark .yw-owner-cash-sec-meta { color: #a297ab; }
[data-theme-root].dark .yw-owner-cash-month-word { color: #7fd3b4; }
[data-theme-root].dark .yw-owner-cash-month[data-low] .yw-owner-cash-month-word { color: #e69ac4; }
[data-theme-root].dark dialog.yw-owner-cash .yw-hero-pill { background: #142036; color: #d9cfe3; }
[data-theme-root].dark dialog.yw-owner-cash .yw-hero-pill[data-pace="ahead"] { color: #7fd3b4; }
[data-theme-root].dark dialog.yw-owner-cash .yw-hero-pill[data-pace="behind"] { color: #e69ac4; }
[data-theme-root].dark .yw-owner-receipt i[data-part="cash"] { border-color: #5b5063; }
[data-theme-root].dark .yw-owner-receipt i[data-part="must"] { background: repeating-linear-gradient(125deg, #8b8794 0 2px, #17243d 2px 4px); }
[data-theme-root].dark .yw-owner-receipt i[data-part="held"] { background: #2b3a5c; }
[data-theme-root].dark .yw-owner-receipt i[data-part="free"] { background: repeating-linear-gradient(125deg, #a883ee 0 2px, #4a3a63 2px 4px); }

/* The other linked accounts, alone on the last line, two to a row. */
.yw-owner-cash-cols > .yw-owner-cash-other:only-child .yw-owner-dialog-lines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.yw-owner-cash-cols > .yw-owner-cash-other:only-child .yw-owner-dialog-lines > .yw-owner-line:nth-child(2) { border-top: 0; }

/* ------------------------- the cash dialog, second pass (10/11) -- */
/* Owner: "a lot of ai slop colors and text ... not clear what the design
   language is". The Dashboard's one colour rule: words in ink and grey, a
   tone only on a bar (pink short of its target, grey once met). */

/* The next 90 days: the Dashboard's target bar (overview.css
   .yw-kpi-progress) under each figure, the floor its marker. */
.yw-owner-cash-month { gap: 4px; }
.yw-owner-cash-month > .yw-kpi-progress { height: 14px; margin: 10px 0 2px; }
.yw-owner-cash-month > .yw-kpi-progress .yw-kpi-progress-target { top: -3px; height: 20px; width: 1.5px; }
.yw-owner-cash-month-word, .yw-owner-cash-month[data-low] .yw-owner-cash-month-word { color: #87818c; font-size: 12.5px; }

/* A bill against the bank: its state is one quiet word with a dot. */
.yw-owner-state { display: inline-flex; align-items: center; gap: 6px; color: #59535f; font-weight: 500; }
.yw-owner-state::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.yw-owner-state[data-state="paid"]::before { background: #7c3aed; }
.yw-owner-state[data-state="part"]::before { background: linear-gradient(90deg, #7c3aed 0 50%, transparent 50%); box-shadow: inset 0 0 0 1.5px #7c3aed; }
.yw-owner-state[data-state="held"]::before { box-shadow: inset 0 0 0 1.5px #a59fab; }
dialog.yw-owner-cash .yw-owner-line-note .hw-info-label { color: inherit; text-decoration: underline dotted #b9b2c0; text-underline-offset: 3px; }

/* Adding or editing a holdback: filled fields, a segmented kind, a switch. */
.yw-owner-addform { display: flex; flex-direction: column; gap: 14px; }
.yw-owner-addform-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; }
.yw-owner-addform-row > .yw-owner-field--grow { flex: 1 1 18rem; }
.yw-owner-addform-go { margin-left: auto; }
.yw-owner-addform-go .yw-owner-btn { height: 38px; padding: 0 18px; border-radius: 10px; font-size: 14px; }
dialog.yw-owner-cash.yw-owner-dialog .yw-owner-addform :is(input, select).yw-owner-input { height: 40px; padding: 0 12px; border: 1px solid transparent; border-radius: 10px; background: #f1f0f3; color: #202024; font-size: 14px; }
dialog.yw-owner-cash.yw-owner-dialog .yw-owner-addform :is(input, select).yw-owner-input:focus { border-color: #b993ff; background: #fff; }
dialog.yw-owner-cash .yw-owner-addform .yw-owner-input::placeholder { color: #a09aa4; }
dialog.yw-owner-cash .yw-owner-addform input[type="date"].yw-owner-input { width: 11rem; }
dialog.yw-owner-cash .yw-owner-addform .yw-owner-field { color: #59535f; font-size: 12.5px; }
dialog.yw-owner-cash .yw-owner-editor.yw-owner-addform { padding: 14px; border-radius: 14px; background: #f6f5f8; }
dialog.yw-owner-cash.yw-owner-dialog .yw-owner-editor :is(input, select).yw-owner-input { background: #fff; }

.yw-owner-seg { display: inline-flex; flex-wrap: wrap; gap: 2px; margin: 0; padding: 3px; border: 0; border-radius: 12px; background: #efeef1; }
.yw-owner-seg > label { position: relative; display: inline-flex; cursor: pointer; }
.yw-owner-seg > label > input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.yw-owner-seg > label > span { display: inline-flex; align-items: center; height: 32px; padding: 0 13px; border-radius: 9px; color: #59535f; font-size: 13px; white-space: nowrap; transition: background-color .16s, color .16s, box-shadow .16s; }
.yw-owner-seg > label:hover > span { color: #202024; }
.yw-owner-seg > label > input:checked + span { background: #fff; color: #202024; font-weight: 500; box-shadow: 0 1px 3px rgba(32, 32, 36, .1); }
.yw-owner-seg > label > input:focus-visible + span { outline: 2px solid #b993ff; outline-offset: 1px; }

.yw-owner-switch { display: inline-flex; align-items: center; gap: 9px; min-height: 38px; color: #59535f; font-size: 13px; cursor: pointer; }
.yw-owner-switch > input { position: relative; flex-shrink: 0; width: 32px; height: 18px; margin: 0; border-radius: 9px; background: #d9d5de; cursor: pointer; transition: background-color .16s; -webkit-appearance: none; appearance: none; }
.yw-owner-switch > input::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .18); transition: transform .16s; }
.yw-owner-switch > input:checked { background: #7c3aed; }
.yw-owner-switch > input:checked::after { transform: translateX(14px); }
.yw-owner-switch > input:focus-visible { outline: 2px solid #b993ff; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .yw-owner-seg > label > span, .yw-owner-switch > input, .yw-owner-switch > input::after { transition: none; }
}

/* Dark twins. */
[data-theme-root].dark .yw-owner-cash-month-word { color: #a297ab; }
[data-theme-root].dark .yw-owner-cash-month > .yw-kpi-progress { background: #142036; }
[data-theme-root].dark .yw-owner-cash-month .yw-kpi-progress-fill { background: repeating-linear-gradient(125deg, #e07fb4 0 2px, #5a3a4b 2px 4px); }
[data-theme-root].dark .yw-owner-cash-month .yw-kpi-progress-fill[data-met] { background: repeating-linear-gradient(125deg, #8b8794 0 2px, #17243d 2px 4px); }
[data-theme-root].dark .yw-owner-cash-month .yw-kpi-progress-target { background: #e6dff0; }
[data-theme-root].dark .yw-owner-state { color: #c3b9cc; }
[data-theme-root].dark .yw-owner-state[data-state="paid"]::before { background: #a883ee; }
[data-theme-root].dark .yw-owner-state[data-state="part"]::before { background: linear-gradient(90deg, #a883ee 0 50%, transparent 50%); box-shadow: inset 0 0 0 1.5px #a883ee; }
[data-theme-root].dark .yw-owner-state[data-state="held"]::before { box-shadow: inset 0 0 0 1.5px #6f6975; }
[data-theme-root].dark dialog.yw-owner-cash.yw-owner-dialog .yw-owner-addform :is(input, select).yw-owner-input { background: #142036; color: #f3eef8; }
[data-theme-root].dark dialog.yw-owner-cash.yw-owner-dialog .yw-owner-addform :is(input, select).yw-owner-input:focus { border-color: #8b5cf6; background: #0d1527; }
[data-theme-root].dark dialog.yw-owner-cash .yw-owner-addform .yw-owner-field { color: #c3b9cc; }
[data-theme-root].dark dialog.yw-owner-cash .yw-owner-editor.yw-owner-addform { background: #111b30; }
[data-theme-root].dark .yw-owner-seg { background: #142036; }
[data-theme-root].dark .yw-owner-seg > label > span { color: #a297ab; }
[data-theme-root].dark .yw-owner-seg > label:hover > span { color: #f3eef8; }
[data-theme-root].dark .yw-owner-seg > label > input:checked + span { background: #273656; color: #f3eef8; box-shadow: none; }
[data-theme-root].dark .yw-owner-switch { color: #c3b9cc; }
[data-theme-root].dark .yw-owner-switch > input { background: #273656; }
[data-theme-root].dark .yw-owner-switch > input:checked { background: #7c3aed; }

/* One scroller per Owner dialog (10/11, owner: "it glitches, and scrolles
   very weird"): the body scrolls, the dialog never does. An absolute child
   whose containing block was the dialog (the kind choice's screen-reader
   legend, 1,552px down) gave the dialog a scroll of its own, so the wheel
   moved the body and then the whole dialog, header and all. */
dialog.yw-owner-dialog { overflow: hidden; }
dialog.yw-owner-dialog > div > div { position: relative; }
.yw-owner-seg { position: relative; }

/* The fee ledger (10/11, owner: "this container has blank space"): the
   year's total closes the table, the bank payments sit under it, the basis
   and the paid state are quiet words (a dot for paid, as in the cash
   dialog). */
.yw-owner-page .yw-owner-fee-table tfoot td { padding-top: 12px; border-top: 1px solid #d9d5de; color: #202024; font-weight: 500; }
.yw-owner-page .yw-owner-fee-table tfoot td[data-quiet] { color: #87818c; font-weight: 400; }
.yw-owner-page .yw-owner-fee-table td.yw-owner-basis { color: #87818c; font-size: 13px; }
.yw-owner-page .yw-owner-fee-table td.yw-owner-basis[data-basis="closed"] { color: #343039; }
.yw-owner-fee-table .yw-owner-state { font-size: 13px; font-weight: 400; }
.yw-owner-feeledger-pay { margin-top: 16px; padding-top: 4px; border-top: 1px solid #eae8ec; }
.yw-owner-feeledger-pay .yw-owner-confirmed { margin-top: 12px; }
[data-theme-root].dark .yw-owner-page .yw-owner-fee-table tfoot td { border-top-color: #273656; color: #f3eef8; }
[data-theme-root].dark .yw-owner-page .yw-owner-fee-table tfoot td[data-quiet], [data-theme-root].dark .yw-owner-page .yw-owner-fee-table td.yw-owner-basis { color: #a297ab; }
[data-theme-root].dark .yw-owner-page .yw-owner-fee-table td.yw-owner-basis[data-basis="closed"] { color: #d9d2e3; }
[data-theme-root].dark .yw-owner-feeledger-pay { border-top-color: #1c2843; }

/* The last closed month's art (10/11, owner: "why are you using the same
   image evrywhere"): an identity abstract no other surface uses, the dune by
   day and the pulse by night, along the card's foot, multiplied (screened by
   night) into the card's violet so only the dots show. */
.yw-owner-month-art { height: 62%; background: url("/dashboard-landscapes/dune-day.webp") 72% 100% / cover no-repeat; mix-blend-mode: multiply; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 34%); mask-image: linear-gradient(180deg, transparent 0, #000 34%); }
[data-theme-root].dark .yw-owner-month-art { background-image: url("/dashboard-landscapes/pulse-night.webp"); background-position: 50% 100%; mix-blend-mode: screen; opacity: .9; }

/* Underwriting's Wizard card (10/11, owner: "a lot of blank space and lack of
   wizard identity"): the Deal month card's shape with its own abstract, the
   silk wave by day and the aurora by night. */
.yw-owner-month-art[data-art="silk"] { background-image: url("/dashboard-landscapes/silk-day.webp"); background-position: 30% 100%; }
[data-theme-root].dark .yw-owner-month-art[data-art="silk"] { background-image: url("/dashboard-landscapes/aurora-night.webp"); background-position: 0 100%; }
.yw-owner-uwinsight h3 { max-width: 320px; }

/* The cap table, second pass (10/11, owner: "remove the ai slop text, it looks weird"): the tier line is grey words, the pref card's unpaid part is the pink of a shortfall. */
.yw-owner-tierline, .yw-owner-tierline .yw-owner-tierword { color: #929097; font-weight: 400; }
:is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="unpaid"] { background: repeating-linear-gradient(125deg, #d85e9e 0 2px, #f8dae9 2px 4px); }
[data-theme-root].dark :is(.yw-owner-cashbar, .yw-owner-cashkey) i[data-part="unpaid"] { background: repeating-linear-gradient(125deg, #e07fb4 0 2px, #5a3a4b 2px 4px); }
[data-theme-root].dark .yw-owner-tierline { color: #a297ab; }
.yw-owner-funds-more { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 8px; background: #f1eff3; color: #87818c; font-size: 12px; cursor: help; }
[data-theme-root].dark .yw-owner-funds-more { background: #142036; color: #a297ab; }

/* Owner > Units, second pass (10/11, owner: "this tab needs to be more
   intuitive and easy to read also the wizard identity is missing"): the
   Wizard card's arches by day and orbital rings by night; the rooms grouped
   under their type, one quiet line each, the place beside the number; the
   assign form opening under its room in the one tinted panel a card allows,
   white fields on it, the select drawn without the native chrome. */
.yw-owner-month-art[data-art="arches"] { background-image: url("/dashboard-landscapes/arches-day.webp"); background-position: 88% 100%; }
[data-theme-root].dark .yw-owner-month-art[data-art="arches"] { background-image: url("/dashboard-landscapes/orbital-night.webp"); background-position: 100% 100%; }
.yw-owner-page .yw-owner-units-table { min-width: 0; }
.yw-owner-page .yw-owner-units-table td { vertical-align: middle; }
.yw-owner-unit-place { margin-left: 12px; color: #929097; font-size: 13px; }
.yw-owner-page .yw-owner-units-table tr.yw-owner-unitgroup > td { padding: 20px 0 8px; }
.yw-owner-unitgroup-name { color: #202024; font-size: 14px; font-weight: 500; }
.yw-owner-unitgroup-sum { margin-left: 10px; color: #929097; font-size: 13px; font-weight: 400; }
.yw-owner-page .yw-owner-units-table .yw-owner-unit-toggle { color: #8553c2; font-size: 13px; font-weight: 500; }
.yw-owner-page .yw-owner-units-table .yw-owner-unit-toggle:hover { color: #6d28d9; }
.yw-owner-page .yw-owner-units-table tr.yw-owner-unitrow[data-open] > td { border-bottom: 0; }
.yw-owner-page .yw-owner-units-table tr.yw-owner-unitform > td { padding: 0 0 14px; border-top: 0; }
.yw-owner-assignform { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; padding: 14px 16px; border-radius: 14px; background: #f6f5f8; }
.yw-owner-assignform > .yw-owner-field--grow { flex: 1 1 16rem; }
.yw-owner-page .yw-owner-assignform :is(input, select).yw-owner-input { height: 38px; border-color: #e2e1e4; background-color: #fff; font-size: 14px; }
.yw-owner-page .yw-owner-assignform select.yw-owner-input { width: 100%; padding-right: 32px; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2387818c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position: right 12px center; background-repeat: no-repeat; cursor: pointer; }
.yw-owner-page .yw-owner-assignform input[type="date"].yw-owner-input { width: 10.5rem; }
.yw-owner-assignform .yw-owner-btn--primary { height: 38px; padding: 0 18px; font-size: 14px; }
.yw-owner-unitform .yw-owner-assign-end { margin-top: 8px; }
[data-theme-root].dark :is(.yw-owner-unitgroup-name) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-owner-unit-place, .yw-owner-unitgroup-sum) { color: #a297ab; }
[data-theme-root].dark .yw-owner-page .yw-owner-units-table .yw-owner-unit-toggle { color: #c5a8ff; }
[data-theme-root].dark .yw-owner-assignform { background: #111b30; }
[data-theme-root].dark .yw-owner-page .yw-owner-assignform :is(input, select).yw-owner-input { border-color: #1c2843; background-color: #142036; }

/* By room type: compact rows, the count on its own line under the name, a shorter scroller so the row sits level with the revenue card. */
.yw-owner-bytype .yw-owner-scroll { max-height: 16rem; }
.yw-owner-page .yw-owner-typerows > .yw-row-stat { row-gap: 7px; padding: 11px 0 10px; }
.yw-owner-page .yw-owner-typerows .yw-row-stat-value { font-size: 15px; letter-spacing: -.3px; }
.yw-owner-typerows .yw-money-row-count { display: block; margin: 2px 0 0; }
.yw-owner-typerows .yw-money-share { height: 6px; }

/* The revenue card's rooms in the Wizard's halftone (10/11, owner: "lets get
   wizard identity here on this container"): one dot per room, sized by its
   revenue this month (--s, 0.35 to 1), violet, hollow when it sold nothing. */
.yw-owner-roomdots { display: grid; grid-template-columns: repeat(auto-fill, minmax(17px, 1fr)); gap: 3px; margin-top: 18px; }
.yw-owner-roomdot { display: grid; aspect-ratio: 1; place-items: center; }
.yw-owner-roomdot::before { content: ""; width: calc(100% * var(--s, .5)); aspect-ratio: 1; border-radius: 50%; background: #8a45f0; opacity: calc(.35 + .65 * var(--s, .5)); transform: scale(0); animation: yw-owner-dot-in .5s cubic-bezier(.2, .8, .2, 1) forwards; }
.yw-owner-roomdot[data-empty]::before { width: 7px; background: transparent; box-shadow: inset 0 0 0 1.5px #c9b8e6; opacity: 1; }
.yw-owner-roomdot:hover::before { background: #6d28d9; opacity: 1; }
@keyframes yw-owner-dot-in { to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .yw-owner-roomdot::before { animation: none; transform: none; } }
[data-theme-root].dark .yw-owner-roomdot::before { background: #a883ee; }
[data-theme-root].dark .yw-owner-roomdot[data-empty]::before { background: transparent; box-shadow: inset 0 0 0 1.5px #4a3a63; }

/* The GP fees tracker and the bank-distribution card (#3785, #3786, ported
   10/11): the few pieces testing's Money skin gave them, at the Owner scale. */
:where(.yw-owner-page) .yw-money-act { padding: 5px 10px; border: 0; border-radius: 9px; background: transparent; color: #8553c2; font-size: 13px; font-weight: 500; cursor: pointer; }
:where(.yw-owner-page) .yw-money-act:hover { background: #f0e9fb; }
:where(.yw-owner-page) .yw-money-act[data-quiet] { color: #87818c; }
:where(.yw-owner-page) .yw-money-act[data-quiet]:hover { background: #f4f2f6; color: #202024; }
:where(.yw-owner-page) .yw-money-act:focus-visible { outline: 2px solid #b993ff; outline-offset: 1px; }
:where(.yw-owner-page) .yw-money-cta { display: inline-block; margin-top: 16px; }
:where(.yw-owner-page) .yw-money-subsection { margin-top: 20px; padding-top: 16px; border-top: 1px solid #eae8ec; }
:where(.yw-owner-page) .yw-money-subhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 10px; }
:where(.yw-owner-page) .yw-money-subhead-title { color: #202024; font-size: 15px; font-weight: 500; letter-spacing: -.3px; }
:where(.yw-owner-page) .yw-money-subhead-title .hw-info-label { color: inherit; font-size: inherit; font-weight: inherit; }
:where(.yw-owner-page) .yw-money-subhead-meta { color: #929097; font-size: 12.5px; }
/* GP fees (10/11, nothing folds): the fee by month and the bank payments
   side by side, each a short in-card scroller; stacked under 960px. */
.yw-owner-gppair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.yw-owner-scroll--short { max-height: 17rem; }
.yw-owner-gppair .yw-money-table td[data-muted] { color: #a09aa4; }
.yw-owner-addpartner { margin-top: 12px; }
.yw-owner-addpartner > summary { display: inline-flex; width: auto; }
.yw-owner-addpartner[open] > summary { margin-bottom: 10px; }
@media (max-width: 960px) {
  .yw-owner-gppair { grid-template-columns: minmax(0, 1fr); }
}
.yw-owner-backlist { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.yw-owner-backrow { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 0; border-top: 1px solid #eae8ec; font-size: 13px; }
.yw-owner-backrow:first-child { border-top: 0; }
[data-theme-root].dark .yw-owner-backrow { border-color: #1c2843; }
@media (max-width: 640px) {
  .yw-owner-backrow { grid-template-columns: auto minmax(0, 1fr) auto; }
  .yw-owner-backrow > span:nth-of-type(2) { display: none; }
}
.yw-owner-form-line { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 4px 0 8px; }
.yw-owner-form-line label { color: #87818c; font-size: 12.5px; }
.yw-owner-candidates { margin: 0; padding: 0; list-style: none; }
.yw-owner-candidate { padding: 12px 0; border-top: 1px solid #eae8ec; }
.yw-owner-candidate:first-child { padding-top: 2px; border-top: 0; }
.yw-owner-candidate-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: #929097; font-size: 12.5px; }
.yw-owner-candidate-head > strong { color: #202024; font-size: 15px; font-weight: 500; }
.yw-owner-candidate-meta { margin-top: 3px; color: #929097; font-size: 12.5px; line-height: 1.45; }
.yw-owner-candidate-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px; margin-top: 8px; }
.yw-owner-feerule .yw-owner-fee-form { margin-top: 10px; padding-top: 0; border-top: 0; }
.yw-owner-feerule .yw-owner-fee-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.yw-owner-feerule .yw-owner-fee-form > .yw-owner-subhead { display: none; }
[data-theme-root].dark :is(.yw-money-subhead-title, .yw-owner-candidate-head > strong) { color: #f3eef8; }
[data-theme-root].dark :is(.yw-money-subhead-meta, .yw-owner-candidate-head, .yw-owner-candidate-meta, .yw-owner-form-line label) { color: #a297ab; }
[data-theme-root].dark :is(.yw-money-subsection, .yw-owner-candidate) { border-color: #1c2843; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-act { color: #c5a8ff; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-act:hover { background: #142036; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-act[data-quiet] { color: #a297ab; }
[data-theme-root].dark :where(.yw-owner-page) .yw-money-act[data-quiet]:hover { color: #f3eef8; }

/* The GP fees tracker in the Owner design (10/11): the four figures one row,
   the long lists scrolling inside the card. */
.yw-owner-page .yw-money-parts.yw-owner-gpsum { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 28px; }
.yw-owner-page .yw-owner-gpsum > .yw-row-stat { border-top: 1px solid #eae8ec; }
.yw-owner-gpcands { max-height: 30rem; margin-top: 4px; }
.yw-owner-gpcands > .yw-owner-feepay { margin-top: 0; }
.yw-owner-gppartner { margin-top: 14px; }
.yw-owner-gppartner .yw-owner-input { width: 100%; }
[data-theme-root].dark .yw-owner-page .yw-owner-gpsum > .yw-row-stat { border-color: #1c2843; }

/* Revenue by room (10/11, owner: "this is very hard to understand ... the
   hover modlas are generic"): a label and a two-word key over the dots, the
   picked room ringed and named under them, each dot's hover the frosted tip
   of the redesigned tabs. */
.yw-owner-roomstrip { margin-top: 18px; }
.yw-owner-roomstrip-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin-bottom: 8px; color: #59535f; font-size: 13px; }
.yw-owner-roomstrip-key { display: inline-flex; gap: 12px; color: #87818c; font-size: 12px; }
.yw-owner-roomstrip-key > span { display: inline-flex; align-items: center; gap: 5px; }
.yw-owner-roomstrip-key i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; }
.yw-owner-roomstrip-key i[data-k="sold"] { background: #8a45f0; }
.yw-owner-roomstrip-key i[data-k="empty"] { box-shadow: inset 0 0 0 1.5px #c9b8e6; }
.yw-owner-roomstrip .yw-owner-roomdots { margin-top: 0; }
.yw-owner-roomdot { position: relative; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.yw-owner-roomdot[data-active]::before { box-shadow: 0 0 0 2px #fbfbfb, 0 0 0 3.5px #7c3aed; }
.yw-owner-roomdot[data-empty][data-active]::before { box-shadow: inset 0 0 0 1.5px #c9b8e6, 0 0 0 2px #fbfbfb, 0 0 0 3.5px #7c3aed; }
.yw-owner-roomdot:focus-visible { outline: none; }
.yw-owner-roomdot:focus-visible::before { box-shadow: 0 0 0 2px #fbfbfb, 0 0 0 3.5px #b993ff; }
.yw-owner-roomdot[data-tip]::after { position: absolute; bottom: calc(100% + 6px); left: 50%; z-index: 9; display: block; width: max-content; max-width: 240px; padding: 6px 11px; border: 1px solid #e5ddea; border-radius: 12px; background: rgba(253, 252, 254, .96); box-shadow: 0 12px 30px #3a214424, 0 2px 6px #3a21440d; color: #59535f; content: attr(data-tip); font-size: 12px; font-weight: 400; line-height: 1.4; text-align: left; white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(-50%, 4px); transition: opacity .16s ease, transform .24s cubic-bezier(.2, .8, .2, 1); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.yw-owner-roomdot[data-tip][data-edge="start"]::after { left: 0; transform: translate(0, 4px); }
.yw-owner-roomdot[data-tip][data-edge="end"]::after { right: 0; left: auto; transform: translate(0, 4px); }
.yw-owner-roomdot[data-tip]:hover::after { opacity: 1; transform: translate(-50%, 0); }
.yw-owner-roomdot[data-tip][data-edge]:hover::after { transform: translate(0, 0); }
.yw-owner-roomstrip-detail { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-height: 22px; margin: 10px 0 0; color: #87818c; font-size: 13px; }
.yw-owner-roomstrip-detail strong { color: #202024; font-size: 14px; font-weight: 500; }
.yw-owner-roomstrip-type { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yw-owner-roomstrip-best { color: #8553c2; font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .yw-owner-roomdot[data-tip]::after { transition: none; } }
[data-theme-root].dark .yw-owner-roomstrip-head { color: #c3b9cc; }
[data-theme-root].dark :is(.yw-owner-roomstrip-key, .yw-owner-roomstrip-detail) { color: #a297ab; }
[data-theme-root].dark .yw-owner-roomstrip-detail strong { color: #f3eef8; }
[data-theme-root].dark .yw-owner-roomstrip-key i[data-k="sold"] { background: #a883ee; }
[data-theme-root].dark .yw-owner-roomstrip-key i[data-k="empty"] { box-shadow: inset 0 0 0 1.5px #4a3a63; }
[data-theme-root].dark .yw-owner-roomstrip-best { color: #c5a8ff; }
[data-theme-root].dark .yw-owner-roomdot[data-active]::before { box-shadow: 0 0 0 2px #0d1527, 0 0 0 3.5px #a883ee; }
[data-theme-root].dark .yw-owner-roomdot[data-tip]::after { border-color: #1c2843; background: rgba(13, 21, 39, .96); box-shadow: 0 12px 30px #00000066, 0 2px 6px #00000033; color: #c3b9cc; }

/* By room type fills its card to the revenue card's height and scrolls inside it (10/11). */
.yw-owner-bytype .yw-owner-scroll { max-height: none; flex: 1 1 0; min-height: 0; }

