/* DESIGN241. Visual layer; business markup and existing scripts are unchanged.
   This final layer maps PARA's materials onto the existing Zavod components.
   Default: soft graphite. The separate theme selector chooses data-theme="silver". */

@font-face {
  font-family: 'Zavod Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/para-design/Inter.woff2') format('woff2');
}

@font-face {
  font-family: 'Zavod Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/assets/fonts/para-design/Manrope.woff2') format('woff2');
}

:root {
  color-scheme: dark;
  --para-bg: #30363e;
  --para-panel: #414852;
  --para-input: #353c45;
  --para-hover: #48515d;
  --para-border: #596371;
  --para-border-bright: #83919f;
  --para-text: #f2f4f7;
  --para-dim: #c1c8d1;
  --para-accent: #b9d9eb;
  --para-button: #b9d9eb;
  --para-on-button: #1c2b37;
  --para-selected: #485765;
  --para-sidebar: #2b3139;
  --para-sidebar-text: #e6edf4;
  --para-sidebar-dim: #bbc8d5;
  --para-sidebar-line: #485461;
  --para-green: #a4d5bc;
  --para-amber: #e1c68d;
  --para-red: #f4a8af;

  --night: var(--para-bg);
  --surface: var(--para-panel);
  --raised: var(--para-input);
  --sunken: var(--para-input);
  --border-subtle: var(--para-border);
  --border-strong: var(--para-border-bright);
  --border-field: #8998a7;
  --pearl: var(--para-text);
  --soft: var(--para-dim);
  --mist: var(--para-dim);
  --violet: var(--para-button);
  --lavender: var(--para-accent);
  --on-violet: var(--para-on-button);
  --violet-tint: #485765;
  --violet-edge: #839eaf;
  --window: var(--para-amber);
  --window-tint: #4e4b40;
  --window-edge: #8d805f;
  --ember: var(--para-red);
  --ember-tint: #55434b;
  --ember-edge: #a77580;
  --leaf: var(--para-green);
  --leaf-tint: #3b5149;
  --leaf-edge: #739e87;
  --clay: #e2b798;
  --clay-tint: #514a43;
  --clay-edge: #a78b76;
  --tide: #acd9df;
  --tide-tint: #3b5158;
  --tide-edge: #769da6;
  --state-hover: var(--para-hover);
  --state-active: var(--para-selected);
  --state-disabled: .58;
  --overlay: rgba(21, 27, 34, .66);
  --shadow-1: 0 2px 8px rgba(17, 24, 31, .08);
  --shadow-2: 0 18px 52px rgba(17, 24, 31, .28);
  --shadow-up: 0 -3px 12px rgba(17, 24, 31, .12);
  --ground: var(--para-bg);
  --art-veil: none;
  --glow-window: none;
  --glow-violet: none;
  --glow-ember: none;
  --glow-leaf: none;
  --glow-window-text: none;
  --glow-violet-text: none;
  --glow-ember-text: none;
  --hud-surface: var(--para-panel);
  --hud-surface-strong: var(--para-input);
  --hud-border: var(--para-border);
  --hud-edge: none;
  --focus: var(--para-accent);
  --focus-width: 2px;
  --focus-offset: 3px;
  --font-ui: 'Zavod Inter', 'Segoe UI', system-ui, sans-serif;
  --font-display: 'Zavod Manrope', 'Segoe UI', system-ui, sans-serif;
  /* Reference body density; financial captions/tables retain a 14px floor. */
  --text-small: 14px;
  --text-nav: 14px;
  --text-body: 15px;
  --text-h3: 16px;
  --text-h2: 18px;
  --text-h1: 28px;
  --text-desk-lead: 32px;
  --text-display: 40px;
  --text-24: 22px;
  --radius-sm: 4px;
  --radius-md: 7px;
  --radius-lg: 10px;
  --radius-xl: 12px;
  --radius-pill: 7px;
  --tap: 44px;
  --tap-lg: 48px;
  --paper: var(--night);
  --white: var(--surface);
  --ink: var(--pearl);
  --muted: var(--mist);
  --green: var(--leaf);
  --line: var(--border-subtle);
  --gold: var(--window);
  --soft-bg: var(--sunken);
}

html[data-theme='silver'] {
  color-scheme: light;
  --para-bg: #e8ebef;
  --para-panel: #ffffff;
  --para-input: #f8f9fb;
  --para-hover: #e9eff4;
  --para-border: #d4dce4;
  --para-border-bright: #8c9eae;
  --para-text: #202832;
  --para-dim: #566574;
  --para-accent: #315f80;
  --para-button: #3f6d8e;
  --para-on-button: #ffffff;
  --para-selected: #e4edf3;
  --para-green: #276348;
  --para-amber: #785815;
  --para-red: #a52e43;
  /* Slightly stronger than the kit's decorative border for input affordance. */
  --border-field: #758797;
  --violet-tint: #e4edf3;
  --violet-edge: #829faf;
  --window-tint: #f5eddc;
  --window-edge: #b69c68;
  --ember-tint: #faeaed;
  --ember-edge: #c6808c;
  --leaf-tint: #e8f2ec;
  --leaf-edge: #80a58e;
  --clay: #8b5334;
  --clay-tint: #f4e9e1;
  --clay-edge: #b68f75;
  --tide: #2c6873;
  --tide-tint: #e5f0f2;
  --tide-edge: #7ca4ad;
  --overlay: rgba(27, 36, 46, .42);
  --shadow-1: 0 2px 8px rgba(31, 47, 63, .035);
  --shadow-2: 0 18px 52px rgba(31, 47, 63, .2);
  --shadow-up: 0 -3px 12px rgba(31, 47, 63, .08);
}

html, body { background: var(--night); }
body { background-attachment: scroll; }
body, input, select, textarea, table, button { font-family: var(--font-ui); }
h1, h2, h3, h4, .brand, .brand-name, .brand-motto, .nav button,
.home-name, .home-motto, .sc-motto, .detail-top h2, .login-title h1, .login-card h2 {
  font-family: var(--font-display);
}
/* Screen-specific legacy heading rules use --font-ui; headings keep their display role. */
h1, h2, h3, h4 { font-family: var(--font-display) !important; }
.mobile-nav button, .nav-more button { font-family: var(--font-display); }
h1 { font-weight: 650; letter-spacing: -.035em; line-height: 1.2; }
h2, h3, h4 { font-weight: 650; letter-spacing: -.018em; }
.detail-top h2 { font-size: 22px; font-weight: 650; line-height: 1.3; }
.money, .metric-value, table, input, output, time {
  font-variant-numeric: tabular-nums;
}
a { color: var(--lavender); }
::selection { background: var(--state-active); color: var(--pearl); }

/* A quiet application surface; these nodes contain decoration only. */
canvas.atmosphere, .art-layer, .nav-light, .desk-paper {
  display: none !important;
}
.atm-veil.atm-veil { color: inherit !important; }
.atm-veil.atm-veil > .atm-ink { display: none !important; }
.desk-stage::before, .desk-stage::after, .desk-bill-net::before,
.sc-hero::before, .desk-dial::before {
  background: none;
}
.desk-bill-line { background: var(--border-subtle); }
.desk-bill-net-value, .sc-hero-value { text-shadow: none !important; }
.desk-bill-net .desk-bill-seg { box-shadow: none; }
.desk-ring-halo { stroke: none; }

/* Keep the original navigation and its mobile controls, with a constant dark rail. */
.sidebar {
  --pearl: var(--para-sidebar-text);
  --soft: var(--para-sidebar-dim);
  --mist: var(--para-sidebar-dim);
  --ink: var(--para-sidebar-text);
  --muted: var(--para-sidebar-dim);
  --lavender: #b9d9eb;
  --violet: #b9d9eb;
  --violet-edge: #839eaf;
  --on-violet: #1c2b37;
  --window: #e1c68d;
  --window-tint: #4e4b40;
  --ember: #f4a8af;
  --ember-tint: #55434b;
  --leaf: #a4d5bc;
  --leaf-tint: #3b5149;
  --tide: #acd9df;
  --clay: #e2b798;
  --border-subtle: var(--para-sidebar-line);
  --border-field: #83919f;
  --state-hover: #394550;
  --state-active: #3d4c59;
  --sunken: var(--para-sidebar);
  --raised: #353c45;
  --surface: var(--para-sidebar);
  --hud-surface: #353c45;
  --hud-border: var(--para-sidebar-line);
  --focus: #b9d9eb;
  background: var(--para-sidebar);
  border-color: var(--para-sidebar-line);
  box-shadow: none;
  padding-top: 22px;
}
.sidebar .brand { color: var(--para-sidebar-text); }
.sidebar .brand-version, .sidebar .profile small { color: var(--para-sidebar-dim); }
.nav { gap: 3px; }
.nav button { border-radius: 7px; padding: 9px 11px; font-weight: 500; }
.nav button.active, .nav button.active:hover {
  background: var(--state-active);
  color: #e6edf4;
  box-shadow: inset 2px 0 #b9d9eb;
}
.nav button:hover { box-shadow: none; }
.sidebar-bottom { background: var(--para-sidebar); }
.sidebar .atm-switches button { color: var(--pearl); }
.sidebar .atm-switches button.atm-off { color: var(--soft); }
/* The new preference is a sibling of the existing motion/sound controls. */
.theme-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 240px;
  min-width: 0;
  margin-top: 10px;
  position: relative;
  z-index: 1;
}
.theme-switcher-label { flex: 0 0 auto; color: var(--soft); font-size: 14px; }
.theme-switcher-select {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 500;
  color: var(--pearl);
  background-color: var(--raised);
  border: 1px solid var(--border-field);
  border-radius: 7px;
}
.theme-switcher-select option { color: var(--pearl); background-color: var(--raised); }
.sidebar .theme-switcher-select { color-scheme: dark; }
.theme-switcher--floating {
  position: fixed;
  left: 16px;
  bottom: 72px;
  z-index: 20;
  max-width: calc(100vw - 32px);
  width: 240px;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--border-field);
  border-radius: 7px;
  background: var(--surface);
}
.main { padding-left: 28px; padding-right: 28px; }
.topbar { min-height: 74px; gap: 12px; border-color: var(--border-subtle); }
.page-heading { margin: 24px 0 18px; align-items: center; }
.page-heading p { margin-bottom: 0; }
.brand { margin-bottom: 22px; }

/* One material for panels, a lighter hierarchy through spacing and rules. */
.panel { padding: 18px; margin-bottom: 14px; border-radius: 10px; }
.panel-head { margin-bottom: 14px; }
.showcase .panel { padding: 20px; }
.metrics { margin-bottom: 14px; border-radius: 10px; }
.metric, .metric.hero { padding: 18px 20px; }
.metric-value { margin: 8px 0 4px; font-weight: 650; }
.sc-hero { padding: 22px; margin-bottom: 14px; border-color: var(--border-subtle); }
.desk-stage { border-radius: 10px; border-top-color: var(--border-subtle); }
.sc-window, .sc-flat, .house-card, .house-card-more { border-radius: 8px; }
.empty { border-style: solid; background: var(--sunken); }
.detail-body .panel { border-radius: 8px; padding: 16px; }

/* Existing forms retain their grid, names, mandatory fields and hidden states. */
input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']),
select, textarea {
  color: var(--pearl);
  background-color: var(--raised);
  border-color: var(--border-field);
  border-radius: 7px;
}
.field input, .field select, .field textarea { font-size: 16px; }
input::placeholder, textarea::placeholder { color: var(--mist); opacity: 1; }
input[type='checkbox'], input[type='radio'] { accent-color: var(--violet); }
.field { gap: 6px; }
.field-label, .metric-label { letter-spacing: 0; }
.detail-form { gap: 14px; }
/* Long object names in the native departure selector must not size the grid. */
#departure-form { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.2fr); }
#departure-form > .field { min-width: 0; }
#departure-form input, #departure-form select, #departure-form textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
/* The empty node is the existing date-editor host, not an additional action. */
.record > [data-notice-edit-host]:empty { padding: 0; border: 0; margin: 0; }
.form-notice, .footnote, .cell-note { line-height: 1.5; }
[aria-invalid='true'] { border-color: var(--ember) !important; }
.error, .inline-error:not(:empty) { border-radius: 7px; }

.primary, .secondary { border-radius: 7px; font-weight: 600; padding: 10px 15px; }
.primary { background: var(--violet); color: var(--on-violet); border-color: var(--violet); }
.primary:not(:disabled):hover {
  background: color-mix(in srgb, var(--violet) 89%, var(--pearl));
  color: var(--on-violet);
  border-color: var(--violet-edge);
}
.secondary { background: transparent; color: var(--pearl); border-color: var(--border-field); }
.secondary:not(:disabled):hover { background: var(--state-hover); border-color: var(--violet-edge); }
.subtle-btn:not(:disabled):hover { color: var(--lavender); text-decoration: underline; }
.danger, .secondary.danger {
  color: var(--ember);
  border-color: var(--ember-edge);
  background: var(--ember-tint);
}
button:disabled { opacity: var(--state-disabled); cursor: default; }
button:disabled:hover { transform: none; box-shadow: none; }
.primary:disabled:hover { background: var(--violet); color: var(--on-violet); border-color: var(--violet); }
.secondary:disabled:hover { background: transparent; color: var(--pearl); border-color: var(--border-field); }
.secondary.danger:disabled:hover { background: var(--ember-tint); color: var(--ember); border-color: var(--ember-edge); }
button[aria-busy='true'] { cursor: wait; }
:is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}
.table-wrap :focus-visible, .nav :focus-visible { outline-offset: -2px; }

/* Tables stay tables/cards at their current breakpoint. No data columns are hidden. */
table { font-size: 14px; }
th { font-size: 14px; font-weight: 600; letter-spacing: .015em; text-transform: none; }
td { line-height: 1.5; }
.table-wrap { border-radius: 8px; }
.data-table th, .data-table td { padding: 11px 10px; }
tbody tr:hover { background: var(--state-hover); }
.chip { border-radius: 4px; box-shadow: none; font-size: 14px; }
/* Retain the original glyphs and semantic status classes, including deposit/expense colors. */
.chip.chip--paid, .chip.chip--occupied { color: var(--leaf); }
.chip.chip--overdue { color: var(--ember); }
/* The apartment's partial-payment status is a plain label, with its original glyph/color. */
.as-unit-window .uw-status > .chip.chip--partial {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Dialog/sheet mechanics, scrolling, focus trapping and dismissal stay native. */
.detail-dialog { background: var(--surface); border-color: var(--border-strong); border-radius: 12px; }
.detail-dialog::backdrop { background: var(--overlay); backdrop-filter: none; }
.detail-top { background: var(--surface); padding: 18px 22px; border-color: var(--border-subtle); }
.detail-body { padding: 18px 22px; }
.close-dialog { border-radius: 7px; background: var(--raised); }
.detail-body details { border-radius: 8px; }
.uw-head, .uw-form, .uw-tenant, .uw-notes, .uw-more,
.uw-deposit-block, .uw-rent49-completion { border-radius: 8px; }
.uw-action, .uw-tenant-btn { border-radius: 7px; }
.uw-action[aria-expanded='true'] { border-color: var(--violet-edge); }
.uw-money-text, .uw-deposit-words, .uw-more-intro, .uw-fact,
.history-item, .record, .form-notice, .detail-top h2 {
  overflow-wrap: anywhere;
}
.uw-tenant-acts, .uw-inline-acts, .panel-head-actions { row-gap: 8px; }
#toast { background: var(--surface); color: var(--pearl); border-color: var(--border-strong); border-radius: 8px; }

/* The existing photographs remain object information; only their decorative fallback changes. */
.home-photo { background-image: none; background-color: var(--surface); }
.home-tile {
  --pearl: #f2f4f7;
  --soft: #c1c8d1;
  --mist: #c1c8d1;
  --window: #e1c68d;
  --ember: #f4a8af;
  --leaf: #a4d5bc;
  border-radius: 10px;
}
.home-caption { color: var(--pearl); background: rgba(36, 43, 52, .92); padding: 14px 18px; }
.home-shade { background: rgba(36, 43, 52, .12); }
.home-shade::after { background: none; }
.home-name { font-size: clamp(24px, 2.2vw, 30px); font-weight: 650; }
.home-motto, .sc-motto { font-size: clamp(24px, 2.4vw, 32px); font-weight: 650; }
.home-grid { gap: 14px; }
.login-page { background: var(--night); }
.login-art { background: var(--night); }
.login-form-area { background: var(--surface); }
.login-title h1 { font-size: clamp(30px, 3.2vw, 44px); font-weight: 650; }

/* CARD243: one workspace frame; its price/deposit contents use rules, not nested cards. */
[data-uw-price-pane] { min-width: 0; overflow-wrap: anywhere; }
[data-uw-price-pane], [data-uw-price-notes] { --uw-control-height: 46px; }
[data-uw-price-pane] [hidden], [data-uw-price-notes][hidden] { display: none !important; }
[data-uw-price-pane] :is(.uw-deposit-block, .uw-price-section, .uw-allocation-form,
  .uw-inline, .uw-preview, .uw-deposit-warn, .full-field, details) {
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
[data-uw-price-pane] .uw-deposit-block { margin: 0; }
[data-uw-price-pane] > section + section {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle);
}
[data-uw-price-pane] :is(details, .uw-preview, .uw-deposit-warn) {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--border-subtle);
}
[data-uw-price-pane] .uw-deposit-warn { border-top-color: var(--window-edge); }
/* HISTORY247: recent history is plain content; the sole section rule follows it. */
#user-access-form .unit-actions > .field {
  min-width: 0;
  max-width: 100%;
}
#user-access-form .unit-actions > .field select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
[data-uw-price-pane] .uw-deposit-history {
  margin: 10px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
[data-uw-price-pane] .uw-deposit-history-title {
  margin: 0 0 4px;
  font-size: var(--text-h3);
  line-height: 1.4;
}
[data-uw-price-pane] .uw-deposit-history .uw-money-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 4px 8px;
  padding: 2px 0;
  font-size: 14px;
}
[data-uw-price-pane] .uw-deposit-history .uw-money-text { grid-column: auto; }
[data-uw-price-pane] .uw-deposit-history .uw-row-acts { gap: 8px; }
[data-uw-price-pane] .uw-deposit-history-older {
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
[data-uw-price-pane] .uw-deposit-history-older > summary { min-height: 44px; padding: 0; font-size: 14px; }
[data-uw-price-pane] .uw-deposit-block + .uw-price-section {
  border-top: 1px solid var(--border-subtle);
}
[data-uw-price-pane] .uw-deposit-block:has(.uw-deposit-history) + .uw-price-section {
  margin-top: 12px;
  padding-top: 12px;
}
@media (max-width: 360px) {
  [data-uw-price-pane] .uw-deposit-history .uw-money-row { grid-template-columns: minmax(0, 1fr) auto; }
  [data-uw-price-pane] .uw-deposit-history .uw-money-text { grid-column: 1 / -1; }
}
[data-uw-price-pane] summary { min-height: 44px; overflow-wrap: anywhere; }
[data-uw-price-pane] :is(.detail-form, .uw-allocation-form) { gap: 10px 12px; min-width: 0; }
[data-uw-price-pane] :is(.uw-row-form, .uw-inline, .uw-holder-row) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
}
[data-uw-price-pane] :is(.field, .detail-form > *, [data-allocation-lines]) { min-width: 0; max-width: 100%; }
[data-uw-price-pane] :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
[data-uw-price-pane] :is(input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select),
[data-uw-price-notes] input {
  height: var(--uw-control-height);
  min-height: var(--uw-control-height);
}
[data-uw-price-pane] button:not(.hint) {
  min-height: 44px;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.35;
}
[data-uw-price-pane] :is(.uw-tenant-acts, .uw-inline-acts, .uw-deposit-kind .sc-range) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 8px;
  align-items: stretch;
  width: 100%;
}
[data-uw-price-pane] :is(.uw-inline-acts, .uw-deposit-kind .sc-range,
  .uw-allocation-form > .uw-tenant-acts) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-uw-price-pane] :is(.uw-deposit-actions, .uw-allocation-form > .uw-tenant-acts) { margin-top: 10px; }
[data-uw-price-pane] .uw-deposit-allocation-parts { padding-inline-start: 20px; }
[data-uw-price-pane] :is(.uw-tenant-acts, .uw-inline-acts, .sc-range) > button {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 9px 12px;
}
/* DEPOSIT244: two remaining deposit actions fill their row; narrow screens keep one column. */
@media (min-width: 361px) {
  [data-uw-price-pane] .uw-deposit-actions:has(> button:first-child:nth-last-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
[data-uw-price-pane] .detail-form > :is(.uw-inline-acts, .primary, .secondary) { grid-column: 1 / -1; }
[data-uw-price-pane] .detail-form > :is(.primary, .secondary) {
  width: min(100%, 240px);
  justify-self: start;
}
[data-uw-price-pane] [data-allocation-lines] { display: grid; gap: 10px; }
[data-uw-price-pane] [data-allocation-line] {
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
  margin: 0;
}
[data-uw-price-pane] [data-allocation-remove] { width: 100%; align-self: end; }
[data-uw-price-pane] .uw-price-row { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, .8fr); }
[data-uw-price-pane] .uw-price-row:not(:has([name='payment_day'])) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-uw-price-pane] .uw-price-row > .field:has([name='rent']) { order: 1; }
[data-uw-price-pane] .uw-price-row > .field:has([name='effective_from']) { order: 2; }
[data-uw-price-pane] .uw-price-row > .field:has([name='payment_day']) { order: 3; }
[data-uw-price-pane] .uw-price-row > .field:has([name='reason']) { order: 4; grid-column: 1 / -1; }
[data-uw-price-pane] .uw-price-row > .form-notice { order: 5; }
[data-uw-price-pane] .uw-price-row > .uw-preview { order: 6; margin-top: 0; }
[data-uw-price-pane] .uw-price-row > button { order: 7; }
/* The notes node stays mounted outside the pane, preserving its draft and history. */
[data-uw-form][data-uw-price-active='true']:has(+ [data-uw-price-notes]:not([hidden])) {
  margin-bottom: 0;
  border-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
[data-uw-form][data-uw-price-active='true'] + [data-uw-price-notes]:not([hidden]) {
  margin-top: 0;
  border: 1px solid var(--border-strong);
  border-top-color: var(--border-subtle);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
[data-uw-form][data-uw-price-active='true']:has(> [data-uw-price-pane]:empty) {
  padding-top: 0;
  padding-bottom: 0;
}
[data-uw-form][data-uw-price-active='true']:has(> [data-uw-price-pane]:empty) + [data-uw-price-notes] {
  border-top: 0;
}
[data-uw-price-notes] { min-width: 0; overflow-wrap: anywhere; }
[data-uw-price-notes] :is(.uw-note, details) {
  padding: 10px 0 0;
  border: 0;
  border-top: 1px solid var(--border-subtle);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
[data-uw-price-notes] .uw-note-row { grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 10px 12px; }
[data-uw-price-notes] .field { min-width: 0; }
[data-uw-price-notes] input { width: 100%; min-width: 0; max-width: 100%; }
[data-uw-price-notes] :is(button:not(.hint), summary) { min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
[data-uw-price-notes] .uw-note-row > button { grid-column: 1 / -1; width: min(100%, 240px); justify-self: start; }
@media (max-width: 700px) {
  [data-uw-price-pane], [data-uw-price-notes] { --uw-control-height: 48px; }
  [data-uw-price-pane] :is(.uw-tenant-acts, .uw-inline-acts, .uw-deposit-kind .sc-range) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  [data-uw-price-pane] .uw-price-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-uw-price-pane] .uw-price-row > .field:has([name='payment_day']) { grid-column: 1 / -1; }
  [data-uw-price-notes] .uw-note-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  [data-uw-price-pane] [data-allocation-line] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-uw-price-pane] [data-allocation-line] > .field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 360px) {
  [data-uw-price-pane] :is(.uw-tenant-acts, .uw-inline-acts, .uw-deposit-kind .sc-range,
    .uw-row-form, .uw-inline, .uw-holder-row, .uw-price-row, [data-allocation-line]) {
    grid-template-columns: minmax(0, 1fr);
  }
  [data-uw-price-pane] .uw-allocation-form > .uw-tenant-acts { grid-template-columns: minmax(0, 1fr); }
}

/* Only button hover and the existing JS numeric counter remain animated.
   Do not reset transforms globally: some position icons, charts and controls. */
*, *::before, *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.t-ghost { display: none !important; }
.t-bar--on { background: var(--violet-edge); }
.atm-ink::after { display: none !important; }
.panel:hover, .building:hover, .unit-tile:hover, .metric:hover,
.sc-flat:hover, .sc-flat:active, .house-card.house-card:hover, .house-card:active,
.home-tile:hover, .home-tile:focus-visible, .home-tile--picked, .home-caption {
  transform: none !important;
}
.home-tile:hover .home-photo, .home-tile:focus-visible .home-photo,
.home-tile--picked .home-photo { filter: none; }
html[data-motion='on'] button:active:not(:disabled),
html[data-motion='on'] summary:active { transform: none !important; }

/* Heading typing stays static; expose the overlay only for countUp's original targets. */
@media screen and (prefers-reduced-motion: no-preference) {
  html[data-motion='on'] :is(.metric-value, .status-row strong, [data-atm-count]).atm-veil {
    color: transparent !important;
  }
  html[data-motion='on'] :is(.metric-value, .status-row strong, [data-atm-count]).atm-veil > .atm-ink {
    display: block !important;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html[data-motion='on'] button {
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease,
      box-shadow 200ms ease !important;
  }
  html[data-motion='on'] .primary,
  html[data-motion='on'] .secondary {
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease,
      box-shadow 200ms ease, transform 180ms cubic-bezier(.2,.65,.3,1) !important;
  }
  html[data-motion='on'] .primary:not(:disabled):hover,
  html[data-motion='on'] .secondary:not(:disabled):hover { transform: translateY(-1px); }
  html[data-motion='on'] .primary:active,
  html[data-motion='on'] .secondary:active { transform: translateY(0); }
}
html[data-motion='off'] *, html[data-motion='off'] *::before, html[data-motion='off'] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Any desktop height can overflow with a long role menu or object name.
   Scroll the complete rail; a fixed footer must not cover navigation items. */
@media (min-width: 781px) {
  .sidebar {
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--border-strong) transparent;
    scroll-padding-block: 16px;
  }
  .sidebar > * { flex-shrink: 0; }
  .sidebar-bottom { position: static; }
}
@media (min-width: 1101px) { .shell { grid-template-columns: 244px minmax(0, 1fr); } }
@media (max-width: 1280px) {
  /* Keep the facts together and give the three existing actions their own wrapping row. */
  .record:has(> [data-notice-edit-host]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
  }
  .record:has(> [data-notice-edit-host]) > div:first-child {
    flex: 1 1 100%;
    min-width: 0;
  }
  .record:has(> [data-notice-edit-host]) > button {
    flex: 0 0 auto;
    max-width: 100%;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
  }
  .record > [data-notice-edit-host] {
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
  }
}
@media (min-width: 781px) and (max-width: 1100px) {
  .shell { grid-template-columns: 220px minmax(0, 1fr); }
  .main { padding-left: 20px; padding-right: 20px; }
  #departure-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #departure-form > .field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 780px) {
  :root { --text-h1: 24px; }
  .sidebar { padding-top: 10px; }
  .sidebar .brand { margin-bottom: 0; }
  .sidebar-bottom { padding-top: 0; }
  .sidebar-bottom > .theme-switcher { flex: 0 1 240px; margin: 0 0 0 auto; }
  .theme-switcher-select { font-size: 16px; }
  .theme-switcher--floating { bottom: calc(148px + env(safe-area-inset-bottom, 0px)); }
  .main { padding-left: 16px; padding-right: 16px; }
  .topbar { min-height: 64px; }
  .page-heading { margin: 20px 0 14px; }
  .panel, .showcase .panel { padding: 16px; }
  .detail-top { padding: 14px 16px; }
  .detail-body { padding: 16px; }
  .detail-top h2 { font-size: 20px; }
  .sc-hero { padding: 18px; }
  .metric, .metric.hero { padding: 16px; }
  #departure-form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  button:not(.hint), [role='button'], summary { min-height: 44px; }
  button:not(.hint), [role='button'] { min-width: 44px; }
  input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='hidden']),
  select, textarea { font-size: 16px; }
  .uw-row-acts button, .uw-payment-day-edit, .uw-fact-edit { min-height: 44px; }
  /* The legacy mobile flex-basis:auto kept the entire status sentence unbreakable. */
  .uw-head-top { min-width: 0; max-width: 100%; }
  .uw-head-top > .uw-status {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    min-width: 0;
    max-width: 100%;
  }
  .uw-status > * { min-width: 0; max-width: 100%; }
  .uw-status .cell-note { margin-left: 0; white-space: normal; }
  .uw-status .rent-notice { flex-basis: 100%; }
  .panel-head { flex-wrap: wrap; }
  .panel-head-actions { max-width: 100%; }
  .panel-head-actions > button { white-space: normal; }
  .detail-top > div, .page-heading > div { min-width: 0; }
  .home-caption { padding: 12px 14px; }
  .home-name { font-size: 24px; }
}
@media (max-width: 360px) {
  .main { padding-left: 12px; padding-right: 12px; }
  .panel, .showcase .panel { padding: 12px; }
  .detail-top { padding-left: 12px; padding-right: 12px; }
  .detail-body { padding-left: 12px; padding-right: 12px; }
  .primary, .secondary { padding-left: 12px; padding-right: 12px; }
}

/* Retain all original print visibility/content rules; only ink and paper change. */
@media print {
  .sidebar .theme-switcher-select { color-scheme: light; }
  :root, html[data-theme] {
    color-scheme: light;
    --para-bg: #ffffff;
    --para-panel: #ffffff;
    --para-input: #ffffff;
    --para-hover: #f2f4f7;
    --para-border: #a5afb9;
    --para-border-bright: #6d7884;
    --para-text: #111820;
    --para-dim: #38434e;
    --para-accent: #254b68;
    --para-button: #254b68;
    --para-on-button: #ffffff;
    --para-selected: #e8edf2;
    --para-green: #24563c;
    --para-amber: #66470d;
    --para-red: #892c3b;
    --para-sidebar: #ffffff;
    --para-sidebar-text: #111820;
    --para-sidebar-dim: #38434e;
    --para-sidebar-line: #a5afb9;
    --border-field: #6d7884;
    --clay: #74482e;
    --tide: #245662;
    --window-tint: #ffffff;
    --leaf-tint: #ffffff;
    --ember-tint: #ffffff;
    --clay-tint: #ffffff;
    --tide-tint: #ffffff;
    --shadow-1: none;
    --shadow-2: none;
    --shadow-up: none;
  }
  .sidebar {
    --lavender: #254b68;
    --violet: #254b68;
    --violet-edge: #6d7884;
    --on-violet: #ffffff;
    --window: #66470d;
    --window-tint: #ffffff;
    --ember: #892c3b;
    --ember-tint: #ffffff;
    --leaf: #24563c;
    --leaf-tint: #ffffff;
    --tide: #245662;
    --clay: #74482e;
    --surface: #ffffff;
    --raised: #ffffff;
    --hud-surface: #ffffff;
    --state-hover: #f2f4f7;
    --state-active: #e8edf2;
    --focus: #254b68;
  }
  .nav button.active, .nav button.active:hover { color: #111820; box-shadow: inset 2px 0 #254b68; }
  .home-tile {
    --pearl: #111820;
    --soft: #38434e;
    --mist: #38434e;
    --window: #66470d;
    --ember: #892c3b;
    --leaf: #24563c;
  }
  .home-caption { background: #ffffff; }
}

/* UI249: desktop forms use available width after the obsolete note was removed. */
@media (min-width: 781px) {
  [data-uw-payment-way-form] { grid-template-columns: minmax(0, 1fr) auto; }
  #tenant-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #tenant-form > .field { min-width: 0; }
  #tenant-form > .field :is(input, select, textarea) {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}

/* OVERVIEW250: only the upper Overview panel. No chart animation or inline styles. */
.desk-stage .desk-overview250 {
  --overview250-tone0: #b6c8d7;
  --overview250-tone1: #90afc6;
  --overview250-tone2: #8098ac;
  --overview250-tone3: #96a2ae;
  --overview250-tone4: #80909f;
  --overview250-tone5: #c4cbd2;
  min-width: 0;
  font-size: 14px;
}
html[data-theme='silver'] .desk-stage .desk-overview250 {
  --overview250-tone0: #385970;
  --overview250-tone1: #597e97;
  --overview250-tone2: #6f8fa5;
  --overview250-tone3: #697984;
  --overview250-tone4: #7c8e9c;
  --overview250-tone5: #475d6e;
}
.desk-stage .desk-overview250-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}
.desk-stage .desk-overview250-summary,
.desk-stage .desk-overview250-legend { min-width: 0; }
.desk-stage .desk-overview250-summary .desk-bill { display: grid; gap: 14px; }
.desk-stage .desk-overview250-summary .desk-bill-row { margin: 0; }
.desk-stage .desk-overview250-summary .desk-bill-head { gap: 12px; align-items: baseline; }
.desk-stage .desk-overview250-summary .desk-bill-sum { color: var(--pearl); }
.desk-stage .desk-overview250-summary .desk-bill-row--aside { padding-top: 10px; }
.desk-stage .desk-overview250-summary .desk-bill-sources { margin-top: 10px; }
.desk-stage .desk-overview250 :is(.desk-bill-name, .desk-bill-src-label, .desk-side-title, .desk-dep-name) {
  font-size: 14px;
  font-weight: 500;
}
.desk-stage .desk-overview250 :is(.desk-bill-sum, .desk-bill-src b, .desk-dep-sum, .desk-overview250-person > b) {
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: normal;
  white-space: nowrap;
}
.desk-stage .desk-overview250 :is(.desk-quiet, .desk-bill-src-note) {
  font-size: 14px;
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.desk-stage .desk-overview250-distribution {
  display: grid;
  grid-template-columns: 208px minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  min-width: 0;
}
.desk-stage .desk-overview250-chart { min-width: 0; text-align: center; }
.desk-stage .desk-overview250-dial { position: relative; width: 208px; max-width: 100%; margin: 0 auto; }
.desk-stage .desk-overview250-dial svg { display: block; width: 100%; height: auto; }
.desk-stage .desk-overview250-track { fill: none; stroke: var(--border-subtle); stroke-width: 21; }
.desk-stage .desk-overview250-arc { fill: none; stroke: var(--overview250-color); stroke-width: 21; }
.desk-stage .desk-overview250 :is(.desk-overview250-track, .desk-overview250-arc, .desk-overview250-center) { pointer-events: none; }
.desk-stage .desk-overview250-hit { fill: none; stroke: transparent; stroke-width: 21; pointer-events: stroke; outline: none; }
.desk-stage .desk-overview250-hit.is-highlighted { stroke: var(--overview250-color); stroke-width: 25; }
.desk-stage .desk-overview250-item.is-highlighted { background: var(--state-hover); box-shadow: 0 0 0 2px var(--pearl); border-radius: 5px; }
.desk-stage .desk-overview250-tone0 { --overview250-color: var(--overview250-tone0); }
.desk-stage .desk-overview250-tone1 { --overview250-color: var(--overview250-tone1); }
.desk-stage .desk-overview250-tone2 { --overview250-color: var(--overview250-tone2); }
.desk-stage .desk-overview250-tone3 { --overview250-color: var(--overview250-tone3); }
.desk-stage .desk-overview250-tone4 { --overview250-color: var(--overview250-tone4); }
.desk-stage .desk-overview250-tone5 { --overview250-color: var(--overview250-tone5); }
.desk-stage .desk-overview250-center {
  position: absolute;
  inset: 32px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  line-height: 1.3;
}
.desk-stage .desk-overview250-center > span { color: var(--mist); font-size: 14px; max-width: 110px; }
.desk-stage .desk-overview250-center > b { font-size: 18px; font-weight: 600; font-family: inherit; font-variant-numeric: tabular-nums; white-space: nowrap; }
.desk-stage .desk-overview250-center > b.is-long { font-size: 14px; }
.desk-stage .desk-overview250-basis,
.desk-stage .desk-overview250-reason { margin: 8px 0 0; font-size: 14px; line-height: 1.45; color: var(--mist); overflow-wrap: anywhere; }
.desk-stage .desk-overview250-reason { color: var(--pearl); }
.desk-stage .desk-overview250-list { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 14px; }
.desk-stage .desk-overview250-item { min-width: 0; }
.desk-stage .desk-overview250-person { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 5px 12px; min-width: 0; }
.desk-stage .desk-overview250-name { display: flex; align-items: baseline; gap: 7px; min-width: 0; flex: 1 1 110px; overflow-wrap: anywhere; }
.desk-stage .desk-overview250-name > strong { font-size: 14px; font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.desk-stage .desk-overview250-dot { display: inline-block; width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--overview250-color); }
.desk-stage .desk-overview250-ownership { display: grid; gap: 3px; color: var(--mist); margin: 5px 0; font-size: 14px; overflow-wrap: anywhere; }
.desk-stage .desk-overview250-list .desk-income-units { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; }
.desk-stage .desk-overview250-list .desk-income-units li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 3px 12px; padding: 0; font-size: 14px; }
.desk-stage .desk-overview250-list .desk-income-units li > span { flex: 1 1 150px; color: var(--mist); }
.desk-stage .desk-overview250-list .desk-income-units b { font-family: inherit; font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.desk-stage .desk-overview250 .desk-current-holder { margin-top: 16px; font-size: 14px; }
.desk-stage .desk-overview250 > .desk-dep { margin-top: 18px; }
@media (min-width: 1280px) {
  .desk-stage .desk-overview250-main { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
}
@media (max-width: 780px) {
  .desk-stage .desk-overview250-distribution { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .desk-stage .desk-overview250-chart { max-width: 320px; justify-self: center; }
  .desk-stage .desk-overview250-summary .desk-bill-head { flex-wrap: wrap; }
  .desk-stage .desk-overview250-summary .desk-bill-src { flex-wrap: wrap; gap: 4px 12px; }
}

/* OVERVIEW256: open, read-only expense rows inside the upper Overview panel. */
.desk-stage .desk-overview250 .desk-overview-expenses {
  min-width: 0;
  margin-top: 8px;
  color: var(--pearl);
  font-size: 14px;
  line-height: 1.4;
}
.desk-stage .desk-overview250 .desk-overview-expense-list {
  display: grid;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.desk-stage .desk-overview250 .desk-overview-expense-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: start;
  column-gap: 12px;
  min-width: 0;
  padding: 6px 0;
  border-bottom: 1px solid var(--border-subtle);
}
.desk-stage .desk-overview250 .desk-overview-expense-row:last-child { border-bottom: 0; }
.desk-stage .desk-overview250 .desk-overview-expense-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview250 .desk-overview-expense-title {
  min-width: 0;
  color: var(--pearl);
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview250 .desk-overview-expense-meta {
  min-width: 0;
  color: var(--mist);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview250 .desk-overview-expense-amount {
  min-width: 0;
  color: var(--pearl);
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.desk-stage .desk-overview250 .desk-overview-expense-note {
  margin: 6px 0 0;
  color: var(--mist);
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
@media (max-width: 390px) {
  .desk-stage .desk-overview250 .desk-overview-expense-row { column-gap: 8px; padding: 5px 0; }
}

/* PAYMENT257: receipt method belongs to this rent operation, not tenant terms. */
.rent-receipt257 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  min-width: 0;
}
.rent-receipt257 > .field { min-width: 0; max-width: 100%; }
.rent-receipt257 > .rent-receipt257-method,
.rent-receipt257 > .uw-rent-method257-notice { grid-column: 1 / -1; }
.rent-receipt257 > .field :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.uw-rent-payment257.uw-row-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  min-width: 0;
}
.uw-rent-payment257 > .field { min-width: 0; max-width: 100%; }
.uw-rent-payment257 > .field :is(input, select) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.uw-rent-payment257 > .field:has([name='channel']) { grid-column: 1 / -1; }
.uw-rent-payment257 > .primary {
  grid-column: 1 / -1;
  justify-self: start;
}

.uw-rent-edit257.uw-payment-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  min-width: 0;
}
.uw-rent-edit257 > .field { min-width: 0; max-width: 100%; }
.uw-rent-edit257 > .field :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.uw-rent-edit257 .uw-rent-method257-notice {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--mist);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.uw-rent-edit257 > .uw-inline-acts {
  grid-column: 1 / -1;
  justify-self: start;
}

@media (max-width: 780px) {
  .rent-receipt257,
  .uw-rent-payment257.uw-row-form,
  .uw-rent-edit257.uw-payment-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .uw-rent-payment257 > .primary,
  .uw-rent-edit257 .uw-rent-method257-notice,
  .uw-rent-edit257 > .uw-inline-acts { grid-column: 1 / -1; }
  .uw-rent-payment257 > .primary { min-height: var(--tap); }
}

/* PAYMENT257: keep the shared picker inside the monthly sheet editor. */
.ms-editor .rent-receipt257-method {
  min-width: 0;
  width: 100%;
}
.ms-editor .rent-receipt257-method select {
  min-width: 0;
  max-width: 100%;
}




/* OVERVIEW258: ordered ledger at left, distribution ring at right. */
.desk-stage .desk-overview258 {
  --overview258-income: var(--leaf);
  --overview258-expense: var(--ember);
  min-width: 0;
}
.desk-stage .desk-overview258-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  min-width: 0;
}
.desk-stage .desk-overview258-summary,
.desk-stage .desk-overview258-chart { min-width: 0; }
.desk-stage .desk-overview258-summary .desk-bill {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.desk-stage .desk-overview258-summary .desk-bill-row { min-width: 0; margin: 0; }
.desk-stage .desk-overview258-summary .desk-bill-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: baseline;
  gap: 8px 14px;
  min-width: 0;
}
.desk-stage .desk-overview258-summary .desk-bill-name {
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview258-summary :is(.desk-bill-sum, .desk-bill-src b,
  .desk-overview250-person > b, .desk-overview250-list .desk-income-units b) {
  min-width: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: normal;
  white-space: nowrap;
}
.desk-stage .desk-overview258-summary .desk-bill-row--in .desk-bill-sum,
.desk-stage .desk-overview258-summary .desk-bill-row--in .desk-bill-name,
.desk-stage .desk-overview258-summary .desk-bill-src b { color: var(--overview258-income); }
.desk-stage .desk-overview258-summary .desk-bill-row--out .desk-bill-sum,
.desk-stage .desk-overview258-summary .desk-overview258-expenses .desk-bill-sum,
.desk-stage .desk-overview258-summary .desk-overview258-manager > .desk-overview250-person > b {
  color: var(--overview258-expense);
}
.desk-stage .desk-overview258-summary .desk-bill-row--aside { padding-top: 8px; }
.desk-stage .desk-overview258-summary .desk-bill-sources {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 4px 0 0;
}
.desk-stage .desk-overview258-summary .desk-bill-src {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: baseline;
  gap: 8px 14px;
  min-height: 0;
  padding: 5px 0;
  border: 0;
  border-radius: 0;
  border-top: 1px solid var(--border-subtle);
  background: transparent;
}
.desk-stage .desk-overview258-summary .desk-bill-src-label {
  min-width: 0;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview258-summary .desk-bill-src-note {
  grid-column: 1 / -1;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview258-expenses { min-width: 0; }
.desk-stage .desk-overview258-expenses > .desk-bill-head { cursor: pointer; }
.desk-stage .desk-overview258-expenses > summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
  border-radius: 2px;
}
.desk-stage .desk-overview258-expenses > summary::-webkit-details-marker { color: var(--overview258-expense); }
.desk-stage .desk-overview258-expenses[open] > summary { margin-bottom: 4px; }
.desk-stage .desk-overview258-manager-list { margin-top: 4px; gap: 8px; }
.desk-stage .desk-overview258-manager { padding: 5px 0; border-top: 1px solid var(--border-subtle); }
.desk-stage .desk-overview258-manager .desk-overview250-name > strong { color: var(--overview258-expense); }
.desk-stage .desk-overview258-summary .desk-overview250-legend {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--border-subtle);
}
.desk-stage .desk-overview258-summary .desk-overview250-list { margin-top: 0; gap: 8px; }
.desk-stage .desk-overview258-summary .desk-overview250-item { padding: 4px 0; }
.desk-stage .desk-overview258-summary .desk-overview250-item.is-highlighted {
  background: var(--state-hover);
  box-shadow: 0 0 0 2px var(--pearl);
  border-radius: 5px;
}
.desk-stage .desk-overview258-summary .desk-overview250-name > strong {
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview258-summary .desk-overview250-ownership {
  margin: 3px 0;
  font-size: 14px;
}
.desk-stage .desk-overview258-summary .desk-overview260-receipts {
  display: grid;
  gap: 4px;
  min-width: 0;
  margin: 5px 0 0;
  padding: 0;
  list-style: none;
}
.desk-stage .desk-overview258-summary .desk-overview260-receipts > li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: baseline;
  gap: 4px 12px;
  min-width: 0;
  padding: 0;
  font-size: 14px;
}
.desk-stage .desk-overview258-summary .desk-overview260-receipts > li > span {
  min-width: 0;
  color: var(--mist);
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview258-summary .desk-overview260-receipts > li > b {
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}
.desk-stage .desk-overview258-chart { text-align: center; }
.desk-stage .desk-overview258-chart .desk-overview250-dial {
  width: 256px;
  max-width: 100%;
  margin: 0 auto;
}
.desk-stage .desk-overview258-chart .desk-overview250-center > b {
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}
.desk-stage .desk-overview258-chart .desk-overview250-center > span {
  max-width: 110px;
  font-size: 14px;
}
.desk-stage .desk-overview258 > .desk-dep {
  width: min(100%, 720px);
  margin-top: 16px;
  padding-top: 10px;
}
.desk-stage .desk-overview258 > .desk-dep .desk-dep-rows {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 10px 24px;
}
.desk-stage .desk-overview258 > .desk-dep .desk-dep-row {
  flex: 0 1 140px;
  min-width: 0;
}
.desk-stage .desk-overview258 > .desk-dep :is(.desk-dep-state, .desk-moves) {
  width: min(100%, 720px);
}
.desk-stage .desk-overview258 .desk-overview-expense-amount { font-size: 18px; }
.desk-stage .desk-overview258 .desk-overview-expense-title,
.desk-stage .desk-overview258 .desk-overview-expense-meta,
.desk-stage .desk-overview258 .desk-overview-expense-note { font-size: 14px; }
@media (min-width: 1000px) {
  .desk-stage .desk-overview258-main { grid-template-columns: minmax(0, 1fr) minmax(240px, 290px); gap: 28px; }
}
@media (max-width: 780px) {
  .desk-stage .desk-overview258-main { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .desk-stage .desk-overview258-chart { justify-self: center; width: min(100%, 280px); }
  .desk-stage .desk-overview258-chart .desk-overview250-dial { width: min(100%, 256px); }
  .desk-stage .desk-overview258 > .desk-dep { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
  .desk-stage .desk-overview258 > .desk-dep .desk-dep-rows { gap: 8px 12px; }
}
@media (max-width: 390px) {
  .desk-stage .desk-overview258-summary .desk-bill-head,
  .desk-stage .desk-overview258-summary .desk-bill-src { column-gap: 8px; }
  .desk-stage .desk-overview258-summary :is(.desk-bill-sum, .desk-bill-src b,
    .desk-overview250-person > b) { font-size: 18px; }
  .desk-stage .desk-overview258 > .desk-dep .desk-dep-rows { column-gap: 10px; }
}
.desk-stage .desk-overview258-expenses > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: baseline;
  list-style: none;
}
.desk-stage .desk-overview258-expenses > summary::-webkit-details-marker { display: none; }
.desk-stage .desk-overview258-expenses > summary::marker { content: ''; }
.desk-stage .desk-overview258-disclosure {
  display: inline-block;
  width: 1em;
  color: var(--overview258-expense);
  font-size: 18px;
  line-height: 1;
  transform-origin: 45% 55%;
}
.desk-stage .desk-overview258-disclosure::before { content: '›'; }
.desk-stage .desk-overview258-expenses[open] .desk-overview258-disclosure::before { content: '▾'; }

/* OVERVIEW261: one compact ledger column; retain the distribution ring. */
.desk-stage .desk-overview261 {
  --overview261-label: minmax(0, 1fr);
  --overview261-value: minmax(0, 9rem);
  --overview261-width: min(100%, 28rem);
  --overview261-gap: 10px;
}
.desk-stage .desk-overview261 .desk-overview258-main {
  grid-template-columns: minmax(0, 29rem) minmax(240px, 290px);
  justify-content: space-between;
  align-items: start;
}
.desk-stage .desk-overview261 .desk-overview258-summary {
  width: min(100%, 29rem);
  min-width: 0;
}
.desk-stage .desk-overview261 .desk-overview258-summary .desk-bill {
  width: var(--overview261-width);
  gap: 0;
}
.desk-stage .desk-overview261 .desk-bill-row,
.desk-stage .desk-overview261 .desk-overview258-expenses,
.desk-stage .desk-overview261 .desk-overview258-manager {
  width: var(--overview261-width);
  min-width: 0;
  padding: 6px 0;
  border-bottom: 1px solid var(--border-subtle);
}
.desk-stage .desk-overview261 .desk-overview258-manager { border-top: 0; }
.desk-stage .desk-overview261 .desk-overview258-manager:last-child { border-bottom: 1px solid var(--border-subtle); }
.desk-stage .desk-overview261 .desk-overview258-summary .desk-bill-head,
.desk-stage .desk-overview261 .desk-bill-src,
.desk-stage .desk-overview261 .desk-overview-expense-row,
.desk-stage .desk-overview261 .desk-overview261-monthly,
.desk-stage .desk-overview261 .desk-income-units > li,
.desk-stage .desk-overview261 .desk-overview260-receipts > li {
  display: grid;
  grid-template-columns: var(--overview261-label) var(--overview261-value);
  justify-content: space-between;
  align-items: baseline;
  column-gap: var(--overview261-gap);
  width: var(--overview261-width);
  max-width: 100%;
  min-width: 0;
}
.desk-stage .desk-overview261 .desk-bill-head {
  row-gap: 3px;
  padding: 2px 0;
}
.desk-stage .desk-overview261 .desk-bill-name,
.desk-stage .desk-overview261 .desk-bill-src-label,
.desk-stage .desk-overview261 .desk-overview-expense-copy,
.desk-stage .desk-overview261 .desk-income-units > li > span,
.desk-stage .desk-overview261 .desk-overview260-receipts > li > span,
.desk-stage .desk-overview261 .desk-overview261-monthly > span {
  grid-column: 1;
  min-width: 0;
  max-width: 16rem;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview261 :is(.desk-bill-sum, .desk-bill-src b,
  .desk-overview-expense-amount, .desk-overview261-monthly b,
  .desk-income-units > li > b, .desk-overview260-receipts > li > b) {
  grid-column: 2;
  justify-self: end;
  min-width: 0;
  max-width: 9rem;
  margin: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  text-align: right;
  white-space: nowrap;
}
.desk-stage .desk-overview261 .desk-bill-row--in .desk-bill-sum,
.desk-stage .desk-overview261 .desk-overview261-in .desk-bill-sum,
.desk-stage .desk-overview261 .desk-overview261-in .desk-bill-src b {
  color: var(--leaf);
}
.desk-stage .desk-overview261 .desk-overview261-pay > .desk-overview250-person > b,
.desk-stage .desk-overview261 .desk-overview258-manager .desk-overview250-name > span {
  color: var(--window);
}
.desk-stage .desk-overview261 .desk-overview261-out .desk-bill-sum,
.desk-stage .desk-overview261 .desk-overview261-out .desk-overview-expense-amount {
  color: var(--ember);
}
.desk-stage .desk-overview261 .desk-bill-sources { width: var(--overview261-width); margin: 0; }
.desk-stage .desk-overview261 .desk-overview261-sources > summary,
.desk-stage .desk-overview261 .desk-overview261-details > summary {
  width: var(--overview261-width);
  max-width: 100%;
  padding: 5px 0;
  border-top: 1px solid var(--border-subtle);
  color: var(--mist);
  font-size: 14px;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview261 .desk-overview261-sources > summary:focus-visible,
.desk-stage .desk-overview261 .desk-overview261-details > summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.desk-stage .desk-overview261 .desk-overview250-legend {
  width: var(--overview261-width);
  margin-top: 0;
  padding-top: 4px;
  border-top: 0;
}
.desk-stage .desk-overview261 .desk-overview250-list { width: var(--overview261-width); margin-top: 8px; gap: 0; }
.desk-stage .desk-overview261 .desk-overview261-pay { padding: 7px 0; border-bottom: 1px solid var(--border-subtle); }
.desk-stage .desk-overview261 .desk-overview261-pay > .desk-overview250-person {
  display: grid;
  grid-template-columns: var(--overview261-label) var(--overview261-value);
  justify-content: space-between;
  align-items: baseline;
  column-gap: var(--overview261-gap);
  width: var(--overview261-width);
}
.desk-stage .desk-overview261 .desk-overview261-pay .desk-overview250-name {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr);
  align-items: baseline;
  column-gap: 7px;
  grid-column: 1;
  min-width: 0;
  width: 100%;
}
.desk-stage .desk-overview261 .desk-overview258-manager .desk-overview250-name {
  display: grid;
  grid-template-columns: 9px max-content max-content;
  width: auto;
}
.desk-stage .desk-overview261 .desk-overview261-pay .desk-overview250-dot { grid-column: 1; grid-row: 1; }
.desk-stage .desk-overview261 .desk-overview261-pay .desk-overview250-name > strong {
  grid-column: 2;
  grid-row: 1;
  max-width: 16rem;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview261 .desk-overview261-cash-label {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  max-width: 16rem;
  color: var(--mist);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview261 .desk-overview261-pay > .desk-overview250-person > b {
  grid-column: 2;
  justify-self: end;
  max-width: 9rem;
  font-size: 18px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.desk-stage .desk-overview261 .desk-overview261-details { width: var(--overview261-width); }
.desk-stage .desk-overview261 .desk-overview261-details > summary { border-top: 0; }
.desk-stage .desk-overview261 .desk-overview261-monthly,
.desk-stage .desk-overview261 .desk-income-units > li,
.desk-stage .desk-overview261 .desk-overview260-receipts > li { padding: 4px 0; }
.desk-stage .desk-overview261 .desk-income-units,
.desk-stage .desk-overview261 .desk-overview260-receipts { width: var(--overview261-width); gap: 0; }
.desk-stage .desk-overview261 .desk-overview-expense-row { padding: 5px 0; }
.desk-stage .desk-overview261 .desk-overview258-chart { text-align: center; }
@media (min-width: 1000px) {
  .desk-stage .desk-overview261 .desk-overview258-main {
    grid-template-columns: minmax(0, 29rem) minmax(240px, 290px);
    gap: 28px;
  }
}
@media (max-width: 780px) {
  .desk-stage .desk-overview261 .desk-overview258-main { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .desk-stage .desk-overview261 .desk-overview258-summary { width: 100%; }
  .desk-stage .desk-overview261 .desk-overview258-chart { justify-self: center; width: min(100%, 280px); }
}
@media (max-width: 430px) {
  .desk-stage .desk-overview261 {
    --overview261-label: minmax(0, 1fr);
    --overview261-value: minmax(0, 9rem);
    --overview261-gap: 8px;
  }
}

/* Депозиты: переносим ячейки целиком, сохраняя читаемую ширину суммы. */
.desk-stage .desk-overview261 > .desk-dep .desk-dep-row {
  min-width: min-content;
  max-width: 100%;
  display: flex;
  flex-direction: column;
}
/* Суммы в одной строке стоят на общей линии, даже с высокой кнопкой «кому». */
.desk-stage .desk-overview261 > .desk-dep .desk-dep-rows {
  align-items: stretch;
}
.desk-stage .desk-overview261 > .desk-dep .desk-bill-head {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
}
.desk-stage .desk-overview261 > .desk-dep .desk-dep-sum {
  margin-top: auto;
}
@media (max-width: 780px) {
  .desk-stage .desk-overview261 > .desk-dep .desk-dep-row--net {
    padding-top: 0;
    border-top: 0;
    box-shadow: inset 0 1px 0 var(--border-strong);
  }
}

/* OVERVIEW264: компактная финансовая ведомость в один столбец.
   Стили не затрагивают панель депозитов после Обзора. */
.desk-stage .desk-overview264 {
  --overview261-label: minmax(0, 1fr);
  --overview261-value: max-content;
  --overview261-width: min(100%, 35rem);
  --overview261-gap: 10px;
}
.desk-stage .desk-overview264-main { width: 100%; min-width: 0; }
.desk-stage .desk-overview264-ledger {
  width: var(--overview261-width);
  max-width: 100%;
  margin-inline: auto;
  gap: 0;
}
.desk-stage .desk-overview264-ledger > .desk-overview264-row,
.desk-stage .desk-overview264-ledger > .desk-overview258-expenses,
.desk-stage .desk-overview264-ledger > .desk-overview250-list,
.desk-stage .desk-overview264-ledger > .desk-side-title,
.desk-stage .desk-overview264-ledger > .desk-quiet {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.desk-stage .desk-overview264-ledger > .desk-overview264-row,
.desk-stage .desk-overview264-ledger > .desk-overview258-expenses,
.desk-stage .desk-overview264-ledger > .desk-overview250-list > .desk-overview264-row {
  padding: 7px 0;
  border-bottom: 1px solid var(--border-subtle);
}
.desk-stage .desk-overview264-ledger .desk-bill-head,
.desk-stage .desk-overview264-ledger .desk-overview250-person,
.desk-stage .desk-overview264-ledger .desk-income-line,
.desk-stage .desk-overview264-ledger .desk-overview260-receipts > li,
.desk-stage .desk-overview264-ledger .desk-income-units > li,
.desk-stage .desk-overview264-ledger .desk-overview-expense-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, max-content);
  align-items: baseline;
  column-gap: var(--overview261-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.desk-stage .desk-overview264-ledger .desk-bill-name,
.desk-stage .desk-overview264-ledger .desk-overview250-name,
.desk-stage .desk-overview264-ledger .desk-income-name,
.desk-stage .desk-overview264-ledger .desk-income-units > li > span,
.desk-stage .desk-overview264-ledger .desk-overview260-receipts > li > span,
.desk-stage .desk-overview264-ledger .desk-overview-expense-copy {
  grid-column: 1;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview264-ledger .desk-bill-sum,
.desk-stage .desk-overview264-ledger .desk-income-line > b,
.desk-stage .desk-overview264-ledger .desk-income-units > li > b,
.desk-stage .desk-overview264-ledger .desk-overview260-receipts > li > b,
.desk-stage .desk-overview264-ledger .desk-overview-expense-amount,
.desk-stage .desk-overview264-ledger .desk-overview250-person > b {
  grid-column: 2;
  justify-self: end;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview264-ledger .desk-bill-name,
.desk-stage .desk-overview264-ledger .desk-income-name,
.desk-stage .desk-overview264-ledger .desk-overview260-receipts > li > span,
.desk-stage .desk-overview264-ledger .desk-income-units > li > span,
.desk-stage .desk-overview264-ledger .desk-overview-expense-copy,
.desk-stage .desk-overview264-ledger .desk-overview250-name {
  font-size: 14px;
  line-height: 1.45;
}
.desk-stage .desk-overview264-ledger .desk-overview264-number,
.desk-stage .desk-overview264-ledger .desk-overview264-subnumber {
  flex: 0 0 auto;
  margin-inline-end: 6px;
  color: var(--mist);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.desk-stage .desk-overview264-ledger .desk-overview264-row--in .desk-bill-sum,
.desk-stage .desk-overview264-ledger .desk-overview264-source .desk-income-line > b,
.desk-stage .desk-overview264-ledger .desk-income-units > li > b { color: var(--leaf); }
.desk-stage .desk-overview264-ledger .desk-overview264-row--out .desk-bill-sum,
.desk-stage .desk-overview264-ledger .desk-overview264-row--out .desk-overview-expense-amount { color: var(--ember); }
.desk-stage .desk-overview264-ledger .desk-overview264-row--pay > .desk-overview250-person > b,
.desk-stage .desk-overview264-ledger .desk-overview258-manager .desk-overview250-name { color: var(--window); }
.desk-stage .desk-overview264-ledger .desk-overview264-sources,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts { width: 100%; max-width: 100%; min-width: 0; }
.desk-stage .desk-overview264-ledger .desk-overview264-sources > summary,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts > summary,
.desk-stage .desk-overview264-ledger .desk-overview258-expenses > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, max-content);
  align-items: center;
  column-gap: var(--overview261-gap);
  width: 100%;
  max-width: 100%;
  min-height: var(--tap);
  padding: 4px 0;
  border-top: 1px solid var(--border-subtle);
  color: var(--mist);
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview264-ledger .desk-overview264-sources > summary:focus-visible,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts > summary:focus-visible,
.desk-stage .desk-overview264-ledger .desk-overview258-expenses > summary:focus-visible,
.desk-stage .desk-overview264-ledger .desk-income-more > summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.desk-stage .desk-overview264-ledger .desk-overview264-source { padding: 5px 0; border-bottom: 1px solid var(--border-subtle); }
.desk-stage .desk-overview264-ledger .desk-overview264-source:last-of-type { border-bottom: 0; }
.desk-stage .desk-overview264-ledger .desk-income-line { font-size: 14px; }
.desk-stage .desk-overview264-ledger .desk-income-units,
.desk-stage .desk-overview264-ledger .desk-overview260-receipts { width: 100%; max-width: 100%; gap: 0; margin: 4px 0; padding: 0; }
.desk-stage .desk-overview264-ledger .desk-income-units > li,
.desk-stage .desk-overview264-ledger .desk-overview260-receipts > li { padding: 4px 0; }
.desk-stage .desk-overview264-ledger .desk-overview264-receipts > summary { border-top: 0; }
.desk-stage .desk-overview264-ledger .desk-overview264-row--pay > .desk-overview250-person { grid-template-columns: minmax(0, 1fr) minmax(0, max-content); }
.desk-stage .desk-overview264-ledger .desk-overview264-row--pay .desk-overview250-name {
  display: flex;
  align-items: baseline;
  gap: 0;
  width: 100%;
}
.desk-stage .desk-overview264-ledger .desk-overview264-row--pay .desk-overview250-name > strong { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.desk-stage .desk-overview264-ledger .desk-overview264-row--pay .desk-overview264-receipts { grid-column: 1 / -1; }
.desk-stage .desk-overview264-ledger .desk-overview264-row--pay .desk-overview250-ownership,
.desk-stage .desk-overview264-ledger .desk-overview264-row--pay .desk-quiet { overflow-wrap: anywhere; }
.desk-stage .desk-overview264-ledger .desk-overview264-row--base .desk-bill-sum { color: var(--pearl); }
.desk-stage .desk-overview264-ledger .desk-overview264-row--base .desk-bill-name { font-weight: 650; color: var(--pearl); }
.desk-stage .desk-overview264-ledger .desk-overview258-manager .desk-overview250-person { grid-template-columns: minmax(0, 1fr) minmax(0, max-content); }
.desk-stage .desk-overview264-ledger .desk-overview258-manager .desk-overview250-name { display: flex; width: 100%; gap: 0; }
.desk-stage .desk-overview264-ledger .desk-overview258-manager .desk-overview250-name > .field-label { min-width: 0; overflow-wrap: anywhere; }
.desk-stage .desk-overview264-ledger .desk-overview264-row--out .desk-overview258-disclosure { color: var(--ember); }
@media (max-width: 430px) {
  .desk-stage .desk-overview264 { --overview261-gap: 8px; --overview261-value: minmax(0, max-content); }
  .desk-stage .desk-overview264-ledger .desk-bill-sum,
  .desk-stage .desk-overview264-ledger .desk-income-line > b,
  .desk-stage .desk-overview264-ledger .desk-income-units > li > b,
  .desk-stage .desk-overview264-ledger .desk-overview260-receipts > li > b,
  .desk-stage .desk-overview264-ledger .desk-overview-expense-amount,
  .desk-stage .desk-overview264-ledger .desk-overview250-person > b { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .desk-stage .desk-overview264,
  .desk-stage .desk-overview264 * { scroll-behavior: auto; }
}

/* Вложенные расшифровки квартир и способов оплаты сохраняют доступность с клавиатуры и цель касания. */
.desk-stage .desk-overview264-ledger .desk-income-more > summary { min-height: var(--tap); }
@media (prefers-reduced-motion: reduce) {
  .desk-stage .desk-overview264-ledger,
  .desk-stage .desk-overview264-ledger * {
    scroll-behavior: auto;
    animation: none !important;
    transition: none !important;
  }
}

/* OVERVIEW264: явно обозначаем раскрытие только двух финансовых расшифровок. */
.desk-stage .desk-overview264-ledger .desk-overview264-sources > summary,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts > summary {
  grid-template-columns: 1em minmax(0, 1fr);
  justify-content: start;
  list-style: none;
}
.desk-stage .desk-overview264-ledger .desk-overview264-sources > summary::-webkit-details-marker,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts > summary::-webkit-details-marker { display: none; }
.desk-stage .desk-overview264-ledger .desk-overview264-sources > summary::marker,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts > summary::marker { content: ''; }
.desk-stage .desk-overview264-ledger .desk-overview264-sources > summary::before,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts > summary::before {
  content: '▸';
  color: var(--mist);
  font-size: 16px;
  line-height: 1;
}
.desk-stage .desk-overview264-ledger .desk-overview264-sources[open] > summary::before,
.desk-stage .desk-overview264-ledger .desk-overview264-receipts[open] > summary::before { content: '▾'; }

/* OVERVIEW264 использует строку под витриной для одной панели расходов.
   На остальных страницах стола сохраняется исходная сетка из двух столбцов. */
.page.desk > .desk-stage:has(.desk-overview264) + .desk-row {
  grid-template-columns: minmax(0, 1fr);
}

/* OVERVIEW264: вложенная расшифровка способов оплаты аренды. */
.desk-stage .desk-overview264-ledger .desk-overview264-methods > summary {
  display: grid;
  grid-template-columns: 1em minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  width: 100%;
  max-width: 100%;
  min-height: var(--tap);
  padding: 4px 0;
  color: var(--mist);
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview264-ledger .desk-overview264-methods > summary::-webkit-details-marker { display: none; }
.desk-stage .desk-overview264-ledger .desk-overview264-methods > summary::marker { content: ''; }
.desk-stage .desk-overview264-ledger .desk-overview264-methods > summary::before {
  content: '▸';
  color: var(--mist);
  font-size: 16px;
  line-height: 1;
}
.desk-stage .desk-overview264-ledger .desk-overview264-methods[open] > summary::before { content: '▾'; }
.desk-stage .desk-overview264-ledger .desk-overview264-methods > summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.desk-stage .desk-overview264-ledger .desk-overview264-methods .desk-income-units { margin-top: 0; }



/* OVERVIEW264: color the bank receipt and cash payout distinctly. */
.desk-stage .desk-overview264 .desk-overview264-breakdown > li:first-child > b { color: var(--leaf); }
.desk-stage .desk-overview264 .desk-overview264-breakdown > li:nth-child(2) > b { color: var(--window); }

/* OVERVIEW265: единая табличная сетка ведомости только на Обзоре. */
.desk-stage .desk-overview265 {
  --overview265-index-width: 2.6rem;
  --overview265-value-width: clamp(8rem, 32%, 11rem);
}
.desk-stage .desk-overview265 .desk-overview264-table-row {
  display: grid;
  grid-template-columns: var(--overview265-index-width) minmax(0, 1fr) var(--overview265-value-width);
  align-items: baseline;
  column-gap: var(--overview261-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.desk-stage .desk-overview265 .desk-overview264-index {
  grid-column: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
  min-width: 0;
  color: var(--mist);
  font-size: 13px;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.desk-stage .desk-overview265 .desk-overview264-label {
  grid-column: 2;
  display: block;
  min-width: 0;
  max-width: 100%;
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview265 .desk-overview264-value {
  grid-column: 3;
  justify-self: stretch;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  font-family: inherit;
  font-size: 18px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview265 .desk-bill-head,
.desk-stage .desk-overview265 .desk-income-line,
.desk-stage .desk-overview265 .desk-overview250-person { align-items: baseline; }
.desk-stage .desk-overview265 .desk-bill-name,
.desk-stage .desk-overview265 .desk-income-name,
.desk-stage .desk-overview265 .desk-overview250-name,
.desk-stage .desk-overview265 .desk-overview-expense-copy,
.desk-stage .desk-overview265 .desk-overview260-receipts > li > span,
.desk-stage .desk-overview265 .desk-income-units > li > span {
  grid-column: 2;
  display: block;
  min-width: 0;
  max-width: 100%;
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview265 .desk-overview258-manager .desk-overview250-dot { display: none; }
.desk-stage .desk-overview265 .desk-overview258-manager .desk-overview250-person,
.desk-stage .desk-overview265 .desk-overview264-row--pay > .desk-overview250-person { width: 100%; }
.desk-stage .desk-overview265 .desk-overview264-table-row > .desk-overview264-value {
  justify-self: stretch;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview265 .desk-overview264-source,
.desk-stage .desk-overview265 .desk-overview264-row--pay,
.desk-stage .desk-overview265 .desk-overview264-ledger > .desk-overview258-expenses,
.desk-stage .desk-overview265 .desk-overview264-ledger > .desk-overview264-row {
  border-bottom: 1px solid var(--border-subtle);
}
.desk-stage .desk-overview265 .desk-overview264-source,
.desk-stage .desk-overview265 .desk-overview264-ledger > .desk-overview264-row,
.desk-stage .desk-overview265 .desk-overview264-ledger > .desk-overview258-expenses,
.desk-stage .desk-overview265 .desk-overview264-row--pay { padding-block: 6px; }
.desk-stage .desk-overview265 .desk-income-units > .desk-overview264-table-row,
.desk-stage .desk-overview265 .desk-overview260-receipts > .desk-overview264-table-row,
.desk-stage .desk-overview265 .desk-overview-expense-list > .desk-overview264-table-row {
  padding-block: 4px;
  border-bottom: 1px solid var(--border-subtle);
}
.desk-stage .desk-overview265 .desk-income-units > .desk-overview264-table-row:last-child,
.desk-stage .desk-overview265 .desk-overview260-receipts > .desk-overview264-table-row:last-child,
.desk-stage .desk-overview265 .desk-overview-expense-list > .desk-overview264-table-row:last-child { border-bottom: 0; }
.desk-stage .desk-overview265 .desk-overview264-sources > summary,
.desk-stage .desk-overview265 .desk-overview264-receipts > summary,
.desk-stage .desk-overview265 .desk-overview264-methods > summary,
.desk-stage .desk-overview265 .desk-income-more > summary {
  grid-template-columns: var(--overview265-index-width) minmax(0, 1fr) var(--overview265-value-width);
  align-items: baseline;
  column-gap: var(--overview261-gap);
  min-height: var(--tap);
  border-top: 0;
}
.desk-stage .desk-overview265 .desk-overview264-sources > summary::before,
.desk-stage .desk-overview265 .desk-overview264-receipts > summary::before,
.desk-stage .desk-overview265 .desk-overview264-methods > summary::before {
  grid-column: 1;
  justify-self: start;
  width: auto;
  margin: 0;
}
.desk-stage .desk-overview265 .desk-income-more > summary .desk-caret {
  grid-column: 1;
  justify-self: start;
  margin-inline-start: 0;
}
.desk-stage .desk-overview265 .desk-overview264-sources > summary .desk-overview264-label,
.desk-stage .desk-overview265 .desk-overview264-receipts > summary .desk-overview264-label,
.desk-stage .desk-overview265 .desk-overview264-methods > summary .desk-overview264-label,
.desk-stage .desk-overview265 .desk-income-more > summary .desk-overview264-label { grid-column: 2; }
.desk-stage .desk-overview265 .desk-overview264-sources > summary:focus-visible,
.desk-stage .desk-overview265 .desk-overview264-receipts > summary:focus-visible,
.desk-stage .desk-overview265 .desk-overview264-methods > summary:focus-visible,
.desk-stage .desk-overview265 .desk-income-more > summary:focus-visible,
.desk-stage .desk-overview265 .desk-overview258-expenses > summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.desk-stage .desk-overview265 .desk-income-units,
.desk-stage .desk-overview265 .desk-overview260-receipts,
.desk-stage .desk-overview265 .desk-overview-expense-list {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding-inline: 0;
}
.desk-stage .desk-overview265 .desk-overview264-row--base .desk-overview264-label,
.desk-stage .desk-overview265 .desk-overview264-row--base .desk-overview264-value { font-weight: 700; }
@media (max-width: 430px) {
  .desk-stage .desk-overview265 { --overview265-index-width: 2.3rem; --overview261-gap: 7px; }
}

/* OVERVIEW265: выравниваем только внешний блок депозитов с ведомостью. */
.desk-stage .desk-overview265 > .desk-dep {
  width: var(--overview261-width);
  max-width: 100%;
  margin-inline: auto;
}

/* OVERVIEW265: пустые маркеры раскрытия показывают направление списка. */
.desk-stage .desk-overview265 .desk-overview264-sources > summary::before,
.desk-stage .desk-overview265 .desk-overview264-receipts > summary::before,
.desk-stage .desk-overview265 .desk-overview264-methods > summary::before { display: none; content: none; }
.desk-stage .desk-overview265 .desk-overview264-sources > summary > .desk-overview264-index::before,
.desk-stage .desk-overview265 .desk-overview264-receipts > summary > .desk-overview264-index::before,
.desk-stage .desk-overview265 .desk-overview264-methods > summary > .desk-overview264-index::before {
  content: '▸';
  color: var(--mist);
  font-size: 16px;
  line-height: 1;
}
.desk-stage .desk-overview265 .desk-overview264-sources[open] > summary > .desk-overview264-index::before,
.desk-stage .desk-overview265 .desk-overview264-receipts[open] > summary > .desk-overview264-index::before,
.desk-stage .desk-overview265 .desk-overview264-methods[open] > summary > .desk-overview264-index::before { content: '▾'; }

/* OVERVIEW265: сбрасываем более специфичные старые позиции внутри ведомости. */
.desk-stage .desk-overview265 .desk-overview264-ledger .desk-overview264-table-row {
  display: grid;
  grid-template-columns: var(--overview265-index-width) minmax(0, 1fr) var(--overview265-value-width);
  align-items: baseline;
  column-gap: var(--overview261-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.desk-stage .desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-index {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}
.desk-stage .desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label {
  grid-column: 2;
  grid-row: 1;
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-value {
  grid-column: 3;
  grid-row: 1;
  justify-self: stretch;
  min-width: 0;
  max-width: 100%;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* OVERVIEW265: приоритет новой сетки над наследием двухколоночного Обзора. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row {
  display: grid;
  grid-template-columns: var(--overview265-index-width) minmax(0, 1fr) var(--overview265-value-width);
  align-items: baseline;
  column-gap: var(--overview261-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  background: transparent;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-index {
  grid-column: 1;
  grid-row: 1;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label {
  grid-column: 2;
  grid-row: 1;
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-value {
  grid-column: 3;
  grid-row: 1;
  justify-self: stretch;
  width: auto;
  min-width: 0;
  max-width: 100%;
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* OVERVIEW265: управляющий и переход остаются в одной подписи. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-manager .desk-overview264-table-row > .desk-overview264-label {
  display: flex;
  align-items: baseline;
  justify-self: start;
  gap: 4px;
  width: max-content;
  max-width: 100%;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-manager .desk-overview264-label > .field-label {
  display: inline-flex;
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
  max-width: 100%;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-manager .desk-overview264-label > .desk-bill-goto {
  display: inline;
  flex: 0 0 auto;
  width: auto;
}

/* OVERVIEW267: сводка слева, панель расходов справа только на широком Обзоре. */
@media (min-width: 1001px) {
  .page.desk:has(> .desk-stage > .desk-overview265) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    column-gap: 14px;
    row-gap: 10px;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .page-heading,
  .page.desk:has(> .desk-stage > .desk-overview265) > p.muted {
    grid-column: 1 / -1;
    min-width: 0;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage {
    grid-column: 1;
    min-width: 0;
    max-width: 100%;
    align-self: stretch;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row {
    grid-column: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    align-self: stretch;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row > .desk-expenses {
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }
}

/* OVERVIEW267: заголовок сводки повторяет стиль «Расходы дома». */
.desk-stage .desk-overview267-title {
  margin: 0 0 6px;
  color: var(--clay);
  font-family: var(--font-display) !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.018em;
}




/* OVERVIEW267: в узкой desktop-панели действия записи стоят отдельной строкой. */
@media (min-width: 1001px) and (max-width: 1200px) {
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row .desk-expense-row {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3px;
    min-width: 0;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row .desk-expense-row > .desk-expense-line {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-width: 0;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row .desk-expense-line > span {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row .desk-expense-line > .money {
    flex: 0 0 auto;
    white-space: nowrap;
    text-align: right;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row .desk-expense-row > .desk-feed-origin {
    grid-column: 1;
    grid-row: auto;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .page.desk:has(> .desk-stage > .desk-overview265) > .desk-stage + .desk-row .desk-expense-row > .desk-expense-acts {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-end;
    min-width: 0;
    max-width: 100%;
    margin-top: 2px;
  }
}


/* OVERVIEW267: единый вид названий и основного disclosure-рядка. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label {
  color: var(--pearl);
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label > strong,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label .field-label,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label .field-label > span {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview-expense-title {
  color: var(--pearl);
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 600;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview258-manager .desk-overview250-dot { display: none; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview258-manager-list,
.desk-stage .desk-overview264.desk-overview265 .desk-overview250-list {
  width: var(--overview261-width);
  max-width: 100%;
  margin-block: 0;
  gap: 0;
}

/* Все три раскрытия открываются на самой денежной строке; старые вложенные
   apartment/payment details и их отдельные summary здесь не совпадают. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary {
  display: grid;
  grid-template-columns: var(--overview265-index-width) minmax(0, 1fr) var(--overview265-value-width);
  align-items: baseline;
  column-gap: var(--overview261-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: var(--tap);
  margin: 0;
  padding-block: 4px;
  border-top: 0;
  list-style: none;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary::-webkit-details-marker { display: none; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary::marker { content: ''; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary::before { display: none; content: none; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary .desk-overview258-disclosure {
  display: inline-block;
  width: 1em;
  margin: 0;
  color: var(--mist);
  font-size: 16px;
  line-height: 1;
  transform: none;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary .desk-overview258-disclosure::before { content: '▸'; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure[open] > summary .desk-overview258-disclosure::before { content: '▾'; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure[open] > .desk-overview267-body,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure[open] > .desk-overview-expenses {
  margin: 0;
  padding: 5px 0 0;
  border-top: 1px solid var(--border-subtle);
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview258-expenses[open] > summary { margin-bottom: 0; }

/* OVERVIEW267: пустой общий gutter для стрелок и строк без маркера. */
.desk-stage .desk-overview264.desk-overview265 { --overview265-index-width: 1.5rem; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary .desk-overview258-disclosure {
  width: 1em;
  color: var(--mist);
  font-size: 16px;
}

/* Основные названия 1–5: одинаковый размер и умеренный вес; цвет следует
   смыслу строки и остаётся разборчивым в обеих темах. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--in > summary > .desk-overview264-label,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--in > .desk-bill-head > .desk-overview264-label {
  color: var(--leaf);
  font-size: 16px;
  font-weight: 650;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--out > summary > .desk-overview264-label,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--out > .desk-bill-head > .desk-overview264-label {
  color: var(--ember);
  font-size: 16px;
  font-weight: 650;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--base > .desk-bill-head > .desk-overview264-label {
  color: var(--pearl);
  font-size: 16px;
  font-weight: 650;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-manager .desk-overview264-table-row > .desk-overview264-label,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--pay .desk-overview267-disclosure > summary > .desk-overview264-label {
  color: var(--window);
  font-size: 16px;
  font-weight: 650;
}

/* Денежные строки в раскрытиях немного тише по кеглю и повторяют цвет
   своего раздела: поступления зелёные, расходы красные, выплата жёлтая. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-body .desk-overview264-table-row > .desk-overview264-label {
  font-size: 14px;
  font-weight: 500;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--in .desk-overview267-body .desk-overview264-label { color: var(--leaf); }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--out .desk-overview264-label,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--out .desk-overview-expense-title { color: var(--ember); }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--out .desk-overview264-label { font-size: 14px; font-weight: 500; }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--pay .desk-overview267-body .desk-overview264-label { color: var(--window); }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-breakdown > .desk-overview264-table-row > .desk-overview264-label,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-breakdown > .desk-overview264-table-row > .desk-overview264-value { color: var(--window); }
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview-expense-title {
  color: var(--ember);
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 500;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--pay .desk-overview264-breakdown > .desk-overview264-table-row > .desk-overview264-value { color: var(--window); }

/* OVERVIEW267: убираем только старый псевдомаркер в общем index. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > summary > .desk-overview264-index::before {
  display: none;
  content: none;
}

/* OVERVIEW267: основной expense disclosure сохраняет свой красный заголовок. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure > summary > .desk-overview264-label {
  color: var(--ember);
  font-size: 16px;
  font-weight: 650;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure .desk-overview264-label,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure .desk-overview-expense-title {
  color: var(--ember);
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure .desk-overview-expense-title {
  font-size: 14px;
  font-weight: 500;
}

/* OVERVIEW267: итог инвестора в новом summary остаётся жёлтым. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview264-row--pay .desk-overview267-disclosure > summary > .desk-overview264-value {
  color: var(--window);
}

/* OVERVIEW267: верхний край депозитов заменяет разделитель последнего инвестора. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger > .desk-overview250-list > .desk-overview264-row--pay:last-child {
  border-bottom: 0;
}

/* OVERVIEW267: суммы раскрытых денежных строк чуть меньше основных итогов. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview267-disclosure > .desk-overview267-body .desk-overview264-table-row > .desk-overview264-value,
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure .desk-overview-expenses .desk-overview264-table-row > .desk-overview264-value {
  font-size: 16px;
}

/* OVERVIEW267: разделяем название расхода и строку даты/квартиры. */
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure .desk-overview-expense-copy {
  display: block;
  min-width: 0;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure .desk-overview-expense-title {
  display: block;
  color: var(--ember);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
}
.desk-stage .desk-overview264.desk-overview265 .desk-overview264-ledger .desk-overview258-expenses.desk-overview267-disclosure .desk-overview-expense-meta {
  display: block;
  margin-top: 2px;
  color: var(--mist);
  font-size: 13px;
  line-height: 1.35;
}

/* OVERVIEW269: обе карточки обзора ведут себя одинаково; рамка полей остаётся. */
.page.desk > .desk-stage + .desk-row > .panel.desk-expenses,
.page.desk > .desk-stage + .desk-row > .panel.desk-expenses:hover {
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: var(--shadow-2);
}
.page.desk > .desk-stage + .desk-row > .desk-expenses .desk-quick {
  border: 0;
  padding: 7px 0 9px;
  background: transparent;
  box-shadow: none;
}
/* Завод 2: одна понятная сетка для сводки управляющего и инвестора. */
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger {
  --overview261-width: min(100%, 35rem);
  --overview265-index-width: 1.5rem;
  --overview265-value-width: clamp(8.7rem, 34%, 11rem);
  --overview261-gap: 0px;
  --z2-ledger-label-bg: color-mix(in srgb, var(--surface) 94%, var(--pearl));
  --z2-ledger-value-bg: color-mix(in srgb, var(--surface) 90%, var(--window));
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger {
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row {
  column-gap: 0;
  align-items: stretch;
  min-height: 44px;
  padding-block: 0;
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-index {
  align-items: center;
  padding: 8px 2px 8px 8px;
  background: var(--z2-ledger-label-bg);
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label {
  display: flex;
  align-items: center;
  justify-self: stretch;
  width: auto;
  padding: 8px;
  background: var(--z2-ledger-label-bg);
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-value {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 10px;
  border-left: 1px solid var(--border-subtle);
  background: var(--z2-ledger-value-bg);
  text-align: right;
  white-space: normal;
  overflow-wrap: anywhere;
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-source,
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger > .desk-overview264-row,
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger > .desk-overview258-expenses,
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-row--pay {
  padding-block: 0;
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview267-disclosure > summary {
  padding-block: 0;
}
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview267-disclosure[open] > .desk-overview267-body,
.desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview267-disclosure[open] > .desk-overview-expenses {
  padding-top: 0;
}
@media (max-width: 430px) {
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger {
    --overview265-index-width: 1.25rem;
    --overview265-value-width: clamp(7.6rem, 40%, 10rem);
  }
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label {
    padding-inline: 6px;
  }
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-value {
    padding-inline: 6px;
  }
}
@media (max-width: 360px) {
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger {
    --overview265-index-width: 1rem;
    --overview265-value-width: clamp(7.25rem, 38%, 9rem);
  }
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-index {
    padding-inline: 4px 0;
  }
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-label {
    padding-inline: 4px;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-row > summary > .desk-overview264-label,
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-row > .desk-bill-head > .desk-overview264-label,
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview258-manager .desk-overview264-table-row > .desk-overview264-label {
    font-size: 15px;
  }
  .desk-stage .desk-overview264.desk-overview265.desk-zavod2-ledger .desk-overview264-ledger .desk-overview264-table-row > .desk-overview264-value {
    padding-inline: 4px;
    font-size: 15px;
  }
}

/* Юных Пионеров: инвесторская сводка в той же компактной сетке. */
.sc-overview--pioneers-ledger .sc-overview-table {
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  overflow: hidden;
}
.sc-overview--pioneers-ledger .sc-overview-row {
  grid-template-columns: minmax(0, 1fr) minmax(7.25rem, 11rem);
  align-items: stretch;
  gap: 0;
  padding: 0;
}
.sc-overview--pioneers-ledger .sc-overview-row > span,
.sc-overview--pioneers-ledger .sc-overview-row > strong {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  overflow-wrap: anywhere;
}
.sc-overview--pioneers-ledger .sc-overview-row > span {
  background: color-mix(in srgb, var(--surface) 94%, var(--pearl));
}
.sc-overview--pioneers-ledger .sc-overview-row > strong {
  justify-content: flex-end;
  border-left: 1px solid var(--border-subtle);
  background: color-mix(in srgb, var(--surface) 90%, var(--window));
  text-align: right;
  white-space: normal;
}
.sc-overview--pioneers-ledger .sc-overview-details,
.sc-overview--pioneers-ledger .sc-overview-receipts { padding-left: 0; }
.sc-overview--pioneers-ledger .sc-overview-details .sc-overview-row > span,
.sc-overview--pioneers-ledger .sc-overview-receipts .sc-overview-row > span { padding-left: 22px; }
@media (max-width: 430px) {
  .sc-overview--pioneers-ledger .sc-overview-row {
    grid-template-columns: minmax(0, 1fr) minmax(7.25rem, 40%);
  }
  .sc-overview--pioneers-ledger .sc-overview-row > span,
  .sc-overview--pioneers-ledger .sc-overview-row > strong { padding: 8px 6px; }
  .sc-overview--pioneers-ledger .sc-overview-details .sc-overview-row > span,
  .sc-overview--pioneers-ledger .sc-overview-receipts .sc-overview-row > span { padding-left: 16px; }
}