:root {
  --bg: #0c0d12;
  --sidebar: #0e1016;
  --panel: #14161e;
  --panel-2: #181a23;
  --panel-hover: #1c1f2a;
  --line: #252833;
  --line-subtle: #1d2029;
  --text: #f2f3f7;
  --muted: #9699a6;
  --dim: #666a78;
  --blue: #5c82ff;
  --blue-bright: #7b9cff;
  --blue-soft: rgba(92,130,255,.13);
  --green: #46d8a1;
  --orange: #f3ad65;
  --red: #ff747e;
  --purple: #ab8bff;
  --person-avatar-radius: 24%;
  --financing-status-height: 23px;
  --radius: 11px;
  --shadow: 0 20px 60px rgba(0,0,0,.32);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
}

/* Team management shares the workspace surface and task status rhythm. */
.team-section { padding: 24px; }
.team-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.team-section-head h2 { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 16px; font-weight: 550; letter-spacing: -.3px; }
.team-section-head p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.team-section-head > .button { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.team-section-head > .button .ui-icon { width: 13px; height: 13px; }
.team-count { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 5px; border: 1px solid var(--line); border-radius: 5px; font-size: 11px; color: var(--muted); }
.team-member-row { min-height: 70px; display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--line-subtle); }
.team-avatar { width: 32px; height: 32px; flex-shrink: 0; display: inline-grid; place-items: center; border-radius: 9px; background: var(--blue-soft); color: var(--blue-bright); font-size: 11px; font-weight: 550; letter-spacing: .3px; }
.team-avatar-pending { color: var(--muted); background: var(--panel-2); border: 1px solid var(--line); }
.team-avatar .ui-icon { width: 15px; height: 15px; }
.team-member-copy { min-width: 0; flex: 1; display: grid; gap: 4px; }
.team-member-copy strong { display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.team-member-copy small { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.team-you { font-size: 10px; color: var(--dim); font-weight: 400; }
.team-role-label { color: var(--muted); font-size: 12px; padding: 7px 10px; }
.team-role-select, .team-workspace-switch select { color: var(--text); background: var(--panel); color-scheme: dark; border: 1px solid var(--line); border-radius: 6px; padding: 7px 24px 7px 9px; font: inherit; font-size: 12px; }
.team-remove { display: grid; place-items: center; width: 28px; height: 28px; background: transparent; color: var(--muted); border-radius: 6px; }
.team-remove:hover { background: var(--panel-hover); color: var(--text); }
.team-remove .ui-icon { width: 15px; height: 15px; }
.team-pending { margin-top: 18px; }
.team-pending h3 { font-size: 11px; font-weight: 500; color: var(--muted); margin: 0 0 12px; }
.team-pending h3 span { color: var(--dim); margin-left: 5px; }
.team-role-help { display: flex; flex-wrap: wrap; gap: 12px 22px; padding-top: 18px; border-top: 1px solid var(--line-subtle); color: var(--dim); font-size: 11px; line-height: 1.6; }
.team-role-help strong { color: var(--muted); font-weight: 500; }
.team-workspace-switch { display: flex; align-items: center; gap: 12px; color: var(--muted); margin-bottom: 18px; font-size: 12px; }
.team-task-row { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--line-subtle); padding-right: 14px; }
.team-task-row .loan-workflow-task { flex: 1; min-width: 0; border: 0; }
.team-assignee { display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex-shrink: 0; max-width: 130px; min-height: 28px; padding: 0 7px; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 6px; font-size: 11px; }
.team-assignee:hover:not(:disabled) { color: var(--text); border-color: var(--dim); background: var(--panel-hover); }
.team-assignee.is-assigned { border: 0; background: transparent; }
.team-assignee.is-assigned:hover:not(:disabled) { color: var(--text); background: transparent; }
.team-assignee:disabled { cursor: default; }
.team-assignee > .ui-icon { width: 13px; height: 13px; }
.team-assignee > span:not(.team-avatar) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.team-assignee .team-avatar { width: var(--financing-status-height); height: var(--financing-status-height); border-radius: 5px; font-size: 9px; }
.team-assignees { display: inline-flex; align-items: center; min-width: 0; max-width: 100%; }
.team-assignees.is-stack { flex-wrap: wrap; row-gap: 4px; padding-left: 0; }
.team-assignees.is-stack .team-assignee.is-assigned { position: relative; min-width: 0; min-height: var(--financing-status-height); padding: 0; max-width: none; border-radius: 5px; }
.team-assignees.is-stack .team-assignee.is-assigned + .team-assignee.is-assigned { margin-left: -7px; }
.team-assignees.is-stack .team-avatar { box-shadow: 0 0 0 2px var(--panel); background: var(--panel-2); }
.team-assignees.is-stack .team-assignee:hover, .team-assignees.is-stack .team-assignee:focus-visible { z-index: 2; }
.team-assignees.is-stack .team-assignee .team-avatar-tooltip { display: none; position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); width: max-content; max-width: 200px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 5px; color: var(--text); background: var(--panel-2); box-shadow: 0 4px 12px #0003; font-size: 10px; font-weight: 450; pointer-events: none; }
.team-assignees.is-stack .team-assignee:hover .team-avatar-tooltip, .team-assignees.is-stack .team-assignee:focus-visible .team-avatar-tooltip { display: block; }
.team-assignees.is-names { flex-wrap: wrap; gap: 8px 12px; }
.team-assignees.is-names .team-assignee.is-assigned { max-width: 100%; padding: 0; min-height: var(--financing-status-height); gap: 6px; font-size: 11px; color: var(--text); }
.team-assignees.is-names .team-assignee > span:not(.team-avatar) { display: inline; }
.team-assignee-add { min-height: var(--financing-status-height); font-size: 10px; border-style: dashed; }
.team-assignee-add.is-icon { width: var(--financing-status-height); min-width: var(--financing-status-height); padding: 0; }
.team-dialog-spacer { flex: 1; }
.team-assignee-options .team-choice-check { flex: 0 0 16px !important; width: 16px; height: 16px; border: 1px solid var(--line); border-radius: 4px; }
.team-choice-check .ui-icon { width: 14px; height: 14px; color: var(--blue-bright); }
.team-assignee-options button[aria-pressed="true"] .team-choice-check { border-color: var(--blue); background: var(--blue-soft); }
.team-dialog { position: fixed; padding: 24px; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); overflow: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--text); box-shadow: 0 24px 90px #0007; }
.team-dialog::backdrop { background: #07080ba6; backdrop-filter: blur(5px); }
.team-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.team-dialog h2 { font-size: 17px; letter-spacing: -.4px; font-weight: 550; margin: 0; }
.team-dialog-description { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 0 0 20px; }
.team-dialog label { display: grid; gap: 8px; font-size: 12px; margin: 16px 0; }
.team-dialog input, .team-dialog select { width: 100%; min-height: 38px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 7px; background: var(--bg); color: var(--text); color-scheme: dark; font: inherit; font-size: 12px; }
.team-dialog input:focus-visible, .team-dialog select:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.team-access-note { font-size: 11px; line-height: 1.7; color: var(--muted); }
.team-dialog footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; }
.team-dialog-status { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 12px 0 0; }
.team-dialog-status:empty { display: none; }
.team-assignee-options { margin: 12px -8px -6px; max-height: 320px; overflow-y: auto; }
.team-assignee-options button { width: 100%; display: flex; align-items: center; gap: 11px; padding: 10px 8px; border-radius: 7px; text-align: left; background: transparent; }
.team-assignee-options button:hover, .team-assignee-options button[aria-pressed="true"] { background: var(--panel-hover); }
.team-assignee-options button > span:not(.team-avatar) { flex: 1; display: grid; min-width: 0; gap: 4px; }
.team-assignee-options strong { font-size: 12px; font-weight: 500; }
.team-assignee-options small { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.team-assignee-options button > .ui-icon { width: 14px; height: 14px; color: var(--blue-bright); }
@media (max-width: 620px) {
  .team-section { padding: 18px; }
  .team-section-head { align-items: flex-start; }
  .team-role-help { flex-direction: column; gap: 5px; }
  .team-task-row { gap: 5px; padding-right: 8px; }
  .team-assignee > span:not(.team-avatar) { display: none; }
  .team-assignee { padding: 1px; min-width: 28px; }
  .team-member-row { gap: 8px; }
  .team-role-select { max-width: 92px; padding-right: 3px; }
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--bg); font-size: 14px; -webkit-font-smoothing: antialiased; }
button { font: inherit; color: inherit; border: 0; cursor: pointer; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.ui-icon { width: 1em; height: 1em; display: block; flex: 0 0 auto; overflow: visible; }
.icon-label { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.icon-label > .ui-icon { width: 14px; height: 14px; }
.app-shell { min-height: 100vh; display: flex; }

.loading-screen {
  position: fixed;
  z-index: 300;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 18px;
  background: var(--bg);
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}
.loading-screen[hidden] { display: none; }
.loading-screen img { width: 112px; max-height: 34px; object-fit: contain; }
.loading-screen::after {
  width: 136px;
  height: 2px;
  content: "";
  overflow: hidden;
  border-radius: 4px;
  background: linear-gradient(90deg, transparent 0%, var(--blue) 48%, transparent 100%);
  background-size: 70% 100%;
  animation: portfolio-loading 1.2s ease-in-out infinite;
}
@keyframes portfolio-loading {
  from { background-position: -130px 0; }
  to { background-position: 180px 0; }
}

.sidebar { width: 248px; flex: 0 0 248px; min-height: 100vh; display: flex; flex-direction: column; border-right: 1px solid var(--line-subtle); background: var(--sidebar); position: sticky; top: 0; height: 100vh; z-index: 10; }
.brand { height: 81px; padding: 0 24px; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid var(--line-subtle); color: #e8ecfa; font-size: 29px; letter-spacing: -2px; font-weight: 600; }
.brand-logo { width: auto; height: 18px; display: block; object-fit: contain; }
.brand-symbol { width: 22px; height: 18px; display: block; overflow: hidden; }
.brand-symbol img { width: auto; max-width: none; height: 18px; display: block; }
.workspace-wrap { position: relative; padding: 21px 12px 15px; border-bottom: 1px solid var(--line-subtle); }
.eyebrow { margin: 0 0 8px; color: var(--dim); font-size: 10px; letter-spacing: .11em; font-weight: 650; }
.workspace-switcher { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; padding: 9px; background: #171922; border: 1px solid #282b36; border-radius: 8px; transition: background .18s, border-color .18s; }
.workspace-switcher:hover { background: #1c1f29; border-color: #383c4a; }
.workspace-initials, .option-icon { display: grid; place-items: center; flex: 0 0 auto; width: 29px; height: 29px; border-radius: 7px; background: linear-gradient(135deg,#3f527d,#252c3f); color: #cbd7ff; font-size: 10px; font-weight: 750; letter-spacing: .02em; }
.workspace-copy { min-width: 0; flex: 1; }
.workspace-copy strong, .profile strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; font-weight: 560; color: #e3e5eb; }
.workspace-copy small, .profile small { color: var(--muted); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; margin-top: 2px; }
.chevron { width: 16px; height: 16px; display: grid; place-items: center; color: var(--dim); font-size: 16px; line-height: 1; }
.chevron .ui-icon { width: 14px; height: 14px; }
.main-nav { padding: 20px 12px; flex: 1; }
.nav-item { width: 100%; height: 39px; padding: 0 10px; display: flex; align-items: center; gap: 10px; color: #a5a8b3; background: transparent; border-radius: 7px; text-align: left; font-size: 13px; transition: color .18s, background .18s; }
.nav-item:hover { color: #e3e5eb; background: #181a23; }
.nav-item.active { background: #242732; color: #f4f5f8; font-weight: 540; }
.nav-icon { width: 18px; height: 18px; display: grid; place-items: center; color: #8f95a3; text-align: center; font-size: 18px; line-height: 1; }
.nav-icon .ui-icon { width: 17px; height: 17px; stroke-width: 1.7; }
.nav-item.active .nav-icon { color: #dce6ff; }
.sidebar-bottom { padding: 12px; border-top: 1px solid var(--line-subtle); }
.profile { width: 100%; padding: 9px; display: flex; align-items: center; gap: 9px; border-radius: 7px; background: transparent; text-align: left; }
.profile:hover { background: #171923; }
.profile > span:nth-child(2) { min-width: 0; flex: 1; }
.profile { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--line-subtle); }
.avatar { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: #6557a8; border-radius: var(--person-avatar-radius); font-size: 9px; font-weight: 700; }

.main-content { min-width: 0; flex: 1; }
.topbar { height: 81px; display: flex; align-items: center; justify-content: space-between; padding: 0 36px; border-bottom: 1px solid var(--line-subtle); }
.breadcrumb { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.breadcrumb strong { color: #d2d4da; font-weight: 500; }
.breadcrumb-icon { width: 18px; height: 18px; display: grid; place-items: center; color: #858a99; font-size: 18px; }.breadcrumb-icon .ui-icon { width: 16px; height: 16px; }.slash { color: #4c505c; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.icon-button { height: 32px; min-width: 32px; padding: 0 8px; display: flex; align-items: center; gap: 7px; justify-content: center; border-radius: 6px; color: #a9acb8; background: transparent; position: relative; }
.icon-button:hover { background: #1a1c25; color: #e7e9ee; }.icon-button span { display: grid; place-items: center; font-size: 20px; }.icon-button span .ui-icon { width: 17px; height: 17px; }.icon-button kbd { color: #737785; font-size: 10px; font-family: inherit; }.icon-button b { position: absolute; top: 6px; right: 6px; width: 5px; height: 5px; background: var(--blue); border-radius: 50%; }
.data-freshness { border: 0; background: transparent; cursor: pointer; padding-left: 7px; color: #7e828e; font-size: 11px; }.data-freshness i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--green); }
.mobile-menu { display: none; width: 32px; height: 32px; padding: 0; place-items: center; background: transparent; color: #bbbfc9; font-size: 19px; }.mobile-menu .ui-icon { width: 19px; height: 19px; }

.view { max-width: 1540px; margin: 0 auto; padding: 30px 36px 44px; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; margin-bottom: 28px; }.page-heading h1 { margin: 0; letter-spacing: -.04em; color: #f3f4f7; font-size: 26px; line-height: 1.15; font-weight: 620; }.page-heading p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }.heading-actions { display: flex; align-items: center; gap: 9px; }.outline-button, .button { height: 34px; padding: 0 12px; border: 1px solid #2a2e39; border-radius: 6px; background: #191b24; color: #c6c9d1; font-size: 12px; transition: .18s; white-space: nowrap; }.outline-button:hover { background: #21242e; border-color: #3a3e4c; }.button { background: #5678f5; border-color: #6485fb; color: white; font-weight: 570; }.button:hover { background: #6887fb; }.button.icon-label span { padding: 0; font-size: inherit; }.subtle-button { background: transparent; border: 0; color: #87a3ff; font-size: 12px; }.subtle-button:hover { color: #b3c4ff; }
.trust-pill, .status-pill, .data-tag, .alert-tag { display: inline-flex; align-items: center; gap: 5px; min-height: 21px; padding: 0 7px; border: 1px solid; border-radius: 5px; white-space: nowrap; font-size: 10px; font-weight: 600; letter-spacing: .01em; }.trust-pill i, .status-pill i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }.trust-pill.verified, .status-pill.verified { color: #74d7ac; border-color: rgba(70,216,161,.2); background: rgba(70,216,161,.07); }.trust-pill.derived { color: #93aafe; border-color: rgba(92,130,255,.23); background: rgba(92,130,255,.08); }.trust-pill.estimated, .status-pill.estimated { color: #dfaa72; border-color: rgba(243,173,101,.2); background: rgba(243,173,101,.07); }.trust-pill.unavailable, .status-pill.unavailable { color: #898d99; border-color: #30333d; background: #1b1d25; }.status-pill.high { color: #76d8ac; border-color: rgba(70,216,161,.2); background: rgba(70,216,161,.07); }.status-pill.medium { color: #e8b271; border-color: rgba(243,173,101,.2); background: rgba(243,173,101,.07); }.status-pill.attention { color: #ed9898; border-color: rgba(228,104,104,.24); background: rgba(228,104,104,.08); }

.metric-strip { border: 1px solid var(--line); background: var(--panel); display: grid; grid-template-columns: 1.4fr 1.2fr 1.2fr 1fr .9fr .9fr; border-radius: var(--radius); overflow: hidden; margin-bottom: 18px; }.metric { min-height: 112px; padding: 18px 19px; border-right: 1px solid var(--line); }.metric:last-child { border: 0; }.metric-label { color: #969aa6; font-size: 12px; }.metric-value { margin-top: 9px; font-size: 24px; line-height: 1; letter-spacing: -.04em; font-weight: 570; color: #f5f5f8; }.metric-value small { color: #a3a7b1; font-size: 13px; letter-spacing: -.01em; }.metric-note { margin-top: 8px; color: #6f7380; font-size: 10px; }.metric-note.positive { color: #73d3a9; }.metric-note.positive::before { content: '↗'; margin-right: 4px; }.metric-note.dashed { color: #8d92a1; }.metric-note.dashed::before { content: '—'; margin-right: 4px; }.metric .trust-pill { margin-top: 9px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(360px, .92fr); gap: 18px; }.dashboard-left, .dashboard-right { min-width: 0; display: grid; gap: 18px; align-content: start; }.dashboard-left { grid-template-rows: auto auto; }.dashboard-right { grid-template-rows: auto auto; }
.decision-grid { margin-bottom: 18px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); align-items: stretch; gap: 18px; }.decision-grid > .panel { min-width: 0; height: 100%; }.dashboard-view > .table-panel { margin-bottom: 0; }.dashboard-view .page-heading { margin-bottom: 20px; }
.panel { position: relative; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }.panel-head { min-height: 59px; padding: 17px 20px 13px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.panel-head h2 { margin: 0; font-size: 14px; color: #e5e6eb; font-weight: 570; letter-spacing: -.01em; }.panel-head p { margin: 5px 0 0; color: var(--dim); font-size: 11px; }.panel-head-right { display: flex; gap: 6px; align-items: center; }.period-switch { display: flex; padding: 2px; border-radius: 6px; background: #101218; border: 1px solid #232631; }.period-switch button { padding: 4px 8px; color: #777b88; background: transparent; border-radius: 4px; font-size: 10px; }.period-switch button.active { color: #d9dce3; background: #252833; }.link { color: #80a0ff; background: none; font-size: 11px; }.link:hover { color: #b3c4ff; }
.value-panel { min-height: 315px; }.value-content { padding: 0 20px 19px; }.value-topline { display: flex; align-items: flex-end; gap: 13px; }.value-main { font-size: 32px; font-weight: 560; letter-spacing: -.05em; }.value-growth { color: var(--green); font-size: 11px; margin-bottom: 5px; }.value-growth::before { content: '↗ '; }.chart-key { margin-left: auto; display: flex; gap: 13px; color: #8e929e; font-size: 10px; }.chart-key i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 4px; }.chart-key i.value-key { background: #7a98ff; }.chart-key i.debt-key { background: #363b4a; }.area-chart { margin-top: 18px; height: 165px; position: relative; }.area-chart svg { width: 100%; height: 100%; overflow: visible; }.chart-axis { position: absolute; width: 100%; bottom: -1px; display: flex; justify-content: space-between; color: #626675; font-size: 10px; }.chart-tooltip { position: absolute; top: 19px; right: 13%; background: #252935; border: 1px solid #343946; padding: 5px 7px; color: #e8e9ed; border-radius: 5px; font-size: 10px; box-shadow: 0 4px 12px rgba(0,0,0,.18); }.chart-tooltip b { color: #9db1ff; font-weight: 600; }
.attention-list { border-top: 1px solid var(--line-subtle); }.attention-item { width: 100%; min-height: 66px; padding: 12px 19px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 10px; background: transparent; border-bottom: 1px solid var(--line-subtle); text-align: left; }.attention-item:last-child { border-bottom: 0; }.attention-item:hover { background: #191b24; }.attention-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; font-size: 13px; }.attention-icon.orange { color: #f5b775; background: rgba(243,173,101,.12); }.attention-icon.red { color: #ff828b; background: rgba(255,116,126,.10); }.attention-icon.blue { color: #8ba9ff; background: rgba(92,130,255,.12); }.attention-copy { min-width: 0; }.attention-copy strong { display: block; color: #dde0e6; font-size: 12px; font-weight: 540; }.attention-copy small { display: block; margin-top: 4px; color: #838794; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 10px; }.attention-arrow { color: #6e7280; font-size: 16px; }
.exposure-content { padding: 0 20px 18px; display: grid; grid-template-columns: 138px minmax(0,1fr); gap: 22px; align-items: center; }.donut-wrap { position: relative; width: 120px; height: 120px; margin: 2px auto 0; }.donut { width: 120px; height: 120px; border-radius: 50%; background: conic-gradient(#7a98ff 0 45%, #9e82ff 45% 70%, #48d5a0 70% 87%, #efa963 87% 100%); mask: radial-gradient(transparent 0 43px,#000 44px); }.donut-center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }.donut-center strong { display: block; font-size: 20px; letter-spacing: -.04em; }.donut-center small { color: #777b88; font-size: 10px; }.exposure-list { display: grid; gap: 10px; }.exposure-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }.exposure-row div { min-width: 0; }.exposure-row span { color: #c7cad2; font-size: 11px; }.exposure-row small { margin-left: 5px; color: #737784; font-size: 10px; }.exposure-row strong { font-size: 11px; font-weight: 550; }.mini-bar { grid-column: 1 / -1; height: 3px; overflow: hidden; background: #242731; border-radius: 3px; }.mini-bar i { display: block; height: 100%; border-radius: 3px; background: var(--bar, var(--blue)); }
.table-panel { min-height: 340px; }.table-tools { display: flex; align-items: center; gap: 8px; }.table-filter { height: 27px; display: flex; align-items: center; gap: 5px; padding: 0 8px; border: 1px solid #2a2e39; border-radius: 5px; background: #181a22; color: #9296a2; font-size: 10px; }.table-filter:hover { border-color: #3b4050; color: #d4d7de; }.portfolio-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.portfolio-table th { height: 34px; padding: 0 20px; text-align: left; border-top: 1px solid var(--line-subtle); border-bottom: 1px solid var(--line-subtle); color: #707482; font-size: 10px; font-weight: 550; }.portfolio-table td { height: 52px; padding: 8px 20px; border-bottom: 1px solid var(--line-subtle); color: #d4d6dd; font-size: 11px; vertical-align: middle; }.portfolio-table tbody tr { transition: background .15s; cursor: pointer; }.portfolio-table tbody tr:hover { background: #1a1c25; }.property-name { display: block; color: #e7e8ed; font-size: 12px; font-weight: 530; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.property-sub { display: block; color: #777b88; margin-top: 3px; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.amount { color: #eff0f4; font-variant-numeric: tabular-nums; }.muted { color: #848895; }.table-footer { min-height: 43px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; color: #6e7280; font-size: 10px; }

.page-grid { display: grid; grid-template-columns: minmax(0,1fr) 315px; gap: 18px; }.page-grid > * { min-width: 0; }.secondary-stack { display: grid; gap: 18px; align-content: start; }.list-card { padding: 14px 18px; border-top: 1px solid var(--line-subtle); }.entity-row, .lender-row, .timeline-row { display: grid; align-items: center; gap: 13px; padding: 12px 2px; border-bottom: 1px solid var(--line-subtle); }.entity-row:last-child, .lender-row:last-child, .timeline-row:last-child { border: 0; }.entity-row { grid-template-columns: 33px minmax(0,1fr) 115px 80px; }.entity-logo { width: 33px; height: 33px; display: grid; place-items: center; background: #232838; border-radius: 8px; color: #aabaff; font-size: 10px; font-weight: 700; }.entity-row strong, .lender-row strong, .timeline-row strong { color: #e2e4ea; font-size: 12px; font-weight: 540; }.entity-row small, .lender-row small, .timeline-row small { display: block; color: #777b88; font-size: 10px; margin-top: 4px; }.entity-row .right, .lender-row .right { text-align: right; }.entity-row .right strong, .lender-row .right strong { font-variant-numeric: tabular-nums; font-size: 11px; }.entity-row .chevron { text-align: right; }.entity-metric { color: #c3c6ce; font-size: 11px; }.summary-stat { display: flex; justify-content: space-between; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--line-subtle); }.summary-stat:last-child { border: 0; }.summary-stat span { color: #828692; font-size: 11px; }.summary-stat strong { color: #e6e7eb; font-size: 13px; font-weight: 550; }.summary-stat strong.blue { color: #88a3ff; }.summary-stat strong.green { color: #72d2a7; }
.filter-row { min-height: 58px; display: flex; align-items: center; gap: 8px; padding: 0 18px; border-bottom: 1px solid var(--line-subtle); }.filter-pill { padding: 6px 9px; border: 1px solid #2c303c; border-radius: 5px; color: #9296a3; background: #171920; font-size: 10px; }.filter-pill:hover, .filter-pill.active { color: #dce0e7; border-color: #454b5b; background: #21242e; }.search-input { width: 190px; padding-left: 9px; height: 28px; margin-left: auto; color: #e0e2e8; border: 1px solid #2b2e38; background: #12141a; border-radius: 5px; font-size: 10px; }.search-input::placeholder { color: #666a76; }.search-input:focus { outline: 1px solid #5978e9; border-color: #5978e9; }
.trust-legend { padding: 13px 18px; display: grid; gap: 10px; }.trust-legend p { margin: 0; color: #7d818e; font-size: 11px; line-height: 1.45; }.legend-line { display: flex; gap: 7px; align-items: center; }.legend-line span:last-child { color: #999da9; font-size: 10px; }.map-list { padding: 0 18px 15px; }.map-row { display: grid; grid-template-columns: 1fr 1.25fr auto; align-items: center; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--line-subtle); color: #858996; font-size: 10px; }.map-row strong { color: #d5d8df; font-weight: 520; }.map-row:last-child { border-bottom: 0; }
.empty-state { padding: 55px 30px; text-align: center; }.empty-state .empty-icon { width: 40px; height: 40px; margin: 0 auto 12px; display: grid; place-items: center; border: 1px solid #323642; border-radius: 10px; color: #9aafff; font-size: 21px; }.empty-state h3 { margin: 0; font-size: 13px; }.empty-state p { max-width: 310px; margin: 7px auto 16px; color: #7d818e; font-size: 11px; line-height: 1.5; }

.popover { position: absolute; width: 310px; z-index: 30; border: 1px solid #333744; border-radius: 9px; overflow: hidden; background: #1a1c25; box-shadow: var(--shadow); }.workspace-menu { left: 12px; top: 91px; }.popover-heading { padding: 13px 13px 9px; color: #9b9fac; font-size: 11px; }.workspace-option { width: 100%; min-height: 51px; padding: 7px 13px; gap: 9px; display: flex; align-items: center; text-align: left; background: transparent; }.workspace-option:hover { background: #242732; }.workspace-option > span:nth-child(2) { min-width: 0; flex: 1; }.workspace-option strong { display: block; overflow: hidden; color: #e1e3e8; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 550; }.workspace-option small { display: block; color: #7a7e8a; margin-top: 3px; font-size: 10px; }.workspace-option b { color: #92acff; font-size: 12px; }.option-icon { width: 27px; height: 27px; font-size: 9px; }.option-icon.all { color: #96aeff; background: #25304a; }.menu-label { padding: 13px 13px 5px; color: #686c78; font-size: 9px; font-weight: 700; letter-spacing: .11em; }.add-workspace { width: calc(100% - 18px); margin: 9px; padding: 10px 6px; text-align: left; border-top: 1px solid #2d303b; color: #91aaff; background: transparent; font-size: 11px; }.add-workspace span { font-size: 15px; vertical-align: -1px; padding-right: 4px; }
.scrim { position: fixed; z-index: 20; inset: 0; background: rgba(3,4,8,.48); backdrop-filter: blur(2px); }.detail-drawer { position: fixed; z-index: 40; top: 0; right: 0; bottom: 0; width: min(500px, 100vw); overflow-y: auto; transform: translateX(102%); background: #151720; border-left: 1px solid #303441; box-shadow: none; transition: transform .24s ease; }.detail-drawer.open { transform: translateX(0); box-shadow: -18px 0 60px rgba(0,0,0,.34); }.drawer-head { padding: 22px 25px 19px; border-bottom: 1px solid var(--line); }.drawer-close { float: right; width: 28px; height: 28px; border-radius: 5px; background: #20232d; color: #aaaeba; font-size: 18px; }.drawer-close:hover { background: #292d39; color: #fff; }.drawer-kicker { color: #7e99fb; font-size: 10px; font-weight: 650; letter-spacing: .09em; }.drawer-head h2 { margin: 8px 32px 4px 0; letter-spacing: -.035em; font-size: 22px; }.drawer-head p { margin: 0; color: #8b8f9b; font-size: 12px; }.drawer-trust { margin-top: 14px; }.drawer-section { padding: 21px 25px; border-bottom: 1px solid var(--line); }.drawer-section h3 { margin: 0 0 14px; color: #dcdfe6; font-size: 12px; font-weight: 560; }.drawer-section .section-note { margin: -6px 0 13px; color: #757986; font-size: 10px; }.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 24px; }.detail-metric span { display: block; color: #777b88; font-size: 10px; }.detail-metric strong { display: block; margin-top: 4px; color: #eceef1; font-size: 13px; font-weight: 540; }.detail-metric small { color: #86a1fb; font-size: 9px; }.drawer-timeline { display: grid; gap: 0; }.drawer-timeline .timeline-row { grid-template-columns: 8px minmax(0,1fr) auto; }.timeline-bullet { width: 7px; height: 7px; background: var(--blue); border-radius: 50%; }.timeline-bullet.green { background: var(--green); }.timeline-bullet.orange { background: var(--orange); }.drawer-footer { padding: 18px 25px 28px; display: flex; gap: 9px; }.drawer-footer .button, .drawer-footer .outline-button { flex: 1; }
.modal-wrap { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(4,5,9,.62); backdrop-filter: blur(3px); }.modal { width: min(650px, 100%); max-height: min(710px, calc(100vh - 36px)); overflow-y: auto; border: 1px solid #363a47; border-radius: 11px; background: #171923; box-shadow: var(--shadow); }.modal-head { padding: 19px 22px 17px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; justify-content: space-between; }.modal-head h2 { margin: 0; font-size: 15px; letter-spacing: -.02em; }.modal-head p { margin: 5px 0 0; color: #858996; font-size: 11px; }.modal-close { width: 28px; height: 28px; background: #22252f; color: #aaaeba; border-radius: 5px; font-size: 18px; }.modal-body { padding: 18px 22px 22px; }.modal-body h3 { margin: 19px 0 9px; color: #dedfe5; font-size: 12px; }.modal-body h3:first-child { margin-top: 0; }.modal-body p { color: #888c98; font-size: 11px; line-height: 1.55; }.api-status { display: flex; gap: 10px; padding: 12px; border: 1px solid rgba(92,130,255,.24); border-radius: 8px; background: rgba(92,130,255,.07); }.api-status strong { display: block; color: #dce5ff; font-size: 11px; }.api-status p { margin: 4px 0 0; color: #9ba5c4; }.api-status span { color: #8da7ff; font-size: 16px; }.field-map { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }.field-map-row { display: grid; grid-template-columns: 1.1fr .9fr 1fr; min-height: 41px; align-items: center; gap: 8px; padding: 7px 12px; border-bottom: 1px solid var(--line-subtle); font-size: 10px; }.field-map-row:last-child { border: 0; }.field-map-row.header { min-height: 31px; background: #111319; color: #777b88; font-size: 9px; font-weight: 650; letter-spacing: .06em; }.field-map-row strong { color: #dce0e7; font-weight: 530; }.modal-footer { padding: 14px 22px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; gap: 8px; }
.toast { position: fixed; z-index: 70; left: 50%; bottom: 24px; transform: translate(-50%, 16px); padding: 10px 14px; color: #e6e8ed; background: #282c37; border: 1px solid #3d4352; border-radius: 7px; box-shadow: var(--shadow); opacity: 0; pointer-events: none; font-size: 12px; transition: .2s; }.toast.show { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 1200px) { .metric-strip { grid-template-columns: repeat(3,1fr); }.metric:nth-child(3) { border-right: 0; }.metric:nth-child(-n+3) { border-bottom: 1px solid var(--line); }.dashboard-grid { grid-template-columns: 1fr; }.dashboard-right { grid-template-columns: 1fr 1fr; }.decision-grid { grid-template-columns: 1fr; }.page-grid { grid-template-columns: 1fr; }.secondary-stack { grid-template-columns: 1fr 1fr; }.secondary-stack .panel:last-child { grid-column: 1/-1; } }
@media (max-width: 840px) { .sidebar { position: fixed; left: 0; transform: translateX(-102%); transition: transform .2s; box-shadow: 18px 0 50px rgba(0,0,0,.3); }.sidebar.open { transform: translateX(0); }.topbar { height: 62px; padding: 0 18px; }.mobile-menu { display: grid; }.breadcrumb .slash, .breadcrumb strong { display: none; }.data-freshness { display: none; }.view { padding: 23px 18px 32px; }.page-heading { margin-bottom: 20px; }.heading-actions .outline-button { display: none; }.metric-strip { grid-template-columns: repeat(2,1fr); }.metric:nth-child(3) { border-right: 1px solid var(--line); }.metric:nth-child(even) { border-right: 0; }.metric { min-height: 95px; }.dashboard-right, .secondary-stack { grid-template-columns: 1fr; }.secondary-stack .panel:last-child { grid-column: auto; }.exposure-content { grid-template-columns: 140px 1fr; }.table-panel { overflow-x: auto; }.portfolio-table { min-width: 700px; }.page-grid .panel { overflow-x: auto; }.entity-row { min-width: 650px; }.entity-row, .lender-row { padding-left: 16px; padding-right: 16px; }.filter-row { overflow-x: auto; }.search-input { display: none; } }
@media (max-width: 520px) { .topbar-actions .search-trigger { display: none; }.page-heading { display: block; }.heading-actions { margin-top: 14px; }.metric-strip { display: grid; grid-template-columns: 1fr 1fr; }.metric-value { font-size: 20px; }.metric { padding: 15px; }.value-main { font-size: 27px; }.chart-key { display: none; }.exposure-content { grid-template-columns: 1fr; }.donut-wrap { margin: 0 auto; }.entity-row { grid-template-columns: 33px 1fr 75px 24px; }.detail-drawer { width: 100vw; }.field-map-row { grid-template-columns: 1fr 1fr; }.field-map-row > :last-child { display: none; } }

/* Investor discovery onboarding */
.onboarding-mode { background: #090a0d; }
.scrim[hidden], .modal-wrap[hidden] { display: none !important; pointer-events: none !important; }
.scrim, .modal-wrap { backdrop-filter: none; }
.onboarding-mode .app-shell { display: block; min-height: 100vh; }
.onboarding-mode .sidebar, .onboarding-mode .topbar { display: none; }
.onboarding-mode .main-content { width: 100%; min-height: 100vh; }
.onboarding-shell { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(600px 350px at 50% 42%, rgba(52,63,90,.12), transparent 70%), #090a0d; }
.onboarding-top { height: 72px; padding: 0 32px; display: flex; justify-content: space-between; align-items: center; }
.onboarding-top-actions { display: flex; align-items: center; gap: 10px; }
.onboarding-user { max-width: 220px; overflow: hidden; color: #777d8a; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.onboarding-logout { height: 30px; padding: 0 10px; color: #a9aeba; border: 1px solid #2b2f39; border-radius: 6px; background: #111319; font-size: 10px; }
.onboarding-logout:hover { color: #eef0f4; border-color: #3a404d; background: #171a21; }
.onboarding-brand, .onboard-logo { display: flex; align-items: center; gap: 7px; color: #f2f4f9; font-size: 23px; font-weight: 600; letter-spacing: -1.6px; }
.onboarding-brand .brand-logo, .onboard-logo .brand-logo { height: 20px; }
.onboarding-main { width: 100%; flex: 1; padding: 8px 20px 56px; display: grid; place-items: start center; }
.onboarding-card { --onboarding-content-width: 510px; width: min(100%, 510px); color: #f1f2f5; }
.onboarding-form-card { padding: 0; }
.onboarding-progress { width: min(100%, var(--onboarding-content-width)); margin: 0 auto 25px; display: grid; gap: 11px; }
.onboarding-progress.is-review { gap: 0; }
.onboarding-back-row { min-height: 30px; display: flex; align-items: center; }
.onboarding-back-placeholder { width: 1px; height: 30px; visibility: hidden; }
.onboarding-back { max-width: 100%; min-height: 30px; padding: 0; display: inline-flex; align-items: center; gap: 5px; color: #858b98; background: transparent; font-size: 11px; }.onboarding-back span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-back:hover { color: #d8ddea; }
.onboarding-back:focus-visible { outline: 2px solid #607fe9; outline-offset: 4px; border-radius: 3px; }
.onboarding-stepper { justify-self: center; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; color: #626875; list-style: none; font-size: 10px; white-space: nowrap; }
.onboarding-stepper li { display: flex; align-items: center; gap: 6px; }
.onboarding-stepper li:not(:last-child)::after { width: 22px; height: 1px; margin: 0 8px; content: ''; background: #30343e; }
.onboarding-stepper li.done:not(:last-child)::after { background: #4e62aa; }
.onboarding-stepper i { width: 18px; height: 18px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #363a45; border-radius: 50%; font-size: 9px; font-style: normal; }
.onboarding-stepper li.active { color: #eef1fb; }
.onboarding-stepper li.active i { border-color: #7290ff; color: #eef2ff; background: rgba(91,126,249,.17); }
.onboarding-stepper li.done { color: #a7b8fb; }
.onboarding-stepper li.done i { color: #e6ecff; border-color: #627fe6; background: #3d55a6; }
.onboarding-title { width: min(100%, var(--onboarding-content-width)); margin: 0 auto; text-align: center; }.onboarding-title h1, .onboarding-complete h1 { margin: 0; color: #f5f6f8; letter-spacing: -.04em; font-size: 25px; font-weight: 630; }.onboarding-title p, .onboarding-complete > p { max-width: 470px; margin: 10px auto 24px; color: #8a8e99; font-size: 13px; line-height: 1.5; }
.onboarding-card > form { width: min(100%, var(--onboarding-content-width)); margin-right: auto; margin-left: auto; display: grid; gap: 15px; }.onboarding-card label { display: grid; gap: 7px; color: #aaafba; font-size: 12px; font-weight: 540; }.onboarding-card label > span { color: #696f7c; font-weight: 450; }
.onboarding-card input, .onboarding-card select { width: 100%; height: 40px; padding: 0 12px; border: 1px solid #252933; border-radius: 7px; color: #e7e9ee; background: #111319; font: inherit; font-size: 13px; transition: border .16s, box-shadow .16s, background .16s; }.onboarding-card input::placeholder { color: #555a65; }.onboarding-card input:hover, .onboarding-card select:hover { border-color: #363b48; }.onboarding-card input:focus, .onboarding-card select:focus { outline: 0; border-color: #5e82fb; box-shadow: 0 0 0 3px rgba(92,130,255,.13); background: #13161e; }.onboarding-card select { appearance: none; background-image: linear-gradient(45deg,transparent 50%,#7b8190 50%),linear-gradient(135deg,#7b8190 50%,transparent 50%); background-position: calc(100% - 16px) 16px,calc(100% - 11px) 16px; background-size: 5px 5px,5px 5px; background-repeat:no-repeat; }
.form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.form-hint, .sample-note { margin: -3px 0 0; color: #717683; font-size: 11px; line-height: 1.45; }.form-error { min-height: 16px; margin: -6px 0 0; color: #ff8c94; font-size: 11px; }.onboard-primary, .onboard-secondary { width: 100%; height: 42px; display: flex; align-items: center; justify-content: center; gap: 5px; border-radius: 7px; font-size: 12px; font-weight: 580; }.onboard-primary { margin-top: 3px; color: #fdfdff; background: #5d7ef4; border: 1px solid #7592ff; box-shadow: 0 7px 22px rgba(42,67,156,.18); }.onboard-primary:hover { background: #6989ff; }.onboard-primary:disabled { cursor: wait; opacity: .65; }.onboard-primary span { margin-left: 3px; font-size: 16px; }.onboard-secondary { color: #bdc4d5; border: 1px solid #2d313d; background: #14161d; }.onboard-secondary:hover { color: #e6e9f0; border-color: #404654; background: #191c25; }
.onboarding-footer { min-height: 48px; padding: 0 30px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #171a22; color: #565b68; font-size: 10px; }.onboard-source { display: inline-flex; align-items: center; gap: 6px; color: #9197a4; font-size: 10px; }.onboard-source i { width: 6px; height: 6px; border-radius: 50%; background: #737986; }.onboard-source.live { color: #78d8ad; }.onboard-source.live i { background: #46d8a1; box-shadow: 0 0 0 3px rgba(70,216,161,.1); }.onboard-source.sample { color: #aab2c4; }.onboard-source.sample i { background: #8b9fc8; }.onboard-source.pending { color: #d8a974; }.onboard-source.pending i { background: #e3aa6b; }
.connection-card, .connection-error { margin: 0 0 16px; padding: 12px 13px; border: 1px solid #393027; border-radius: 8px; background: rgba(199,137,61,.07); }.onboarding-card > .connection-card, .onboarding-card > .connection-error { width: min(100%, var(--onboarding-content-width)); margin-right: auto; margin-left: auto; }.connection-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.connection-card > div { display: grid; grid-template-columns: 21px minmax(0,1fr); column-gap: 7px; }.connection-card .connection-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 5px; color: #e1b57e; background: rgba(234,170,95,.13); }.connection-card strong { color: #d9c7b0; font-size: 11px; }.connection-card p, .connection-error p { grid-column: 2; margin: 3px 0 0; color: #978c7e; font-size: 10px; line-height: 1.35; }.connection-card > span { padding: 4px 6px; color: #d7a36a; border: 1px solid rgba(224,162,95,.22); border-radius: 4px; font-size: 9px; }.connection-card.ready { border-color: rgba(70,216,161,.23); background: rgba(70,216,161,.07); }.connection-card.ready .connection-icon { color: #78d8ad; background: rgba(70,216,161,.12); }.connection-card.ready strong { color: #c5e7d6; }.connection-card.ready p { color: #93b7a4; }.connection-card.ready > span { color: #70d4a7; border-color: rgba(70,216,161,.22); }.connection-error { border-color: rgba(255,116,126,.25); background: rgba(255,116,126,.07); }.connection-error strong { display: block; color: #f09ba1; font-size: 11px; }.connection-error p { margin: 4px 0 0; color: #bf8d92; }.data-availability-note { margin: 0 0 18px; padding: 11px 14px; border: 1px solid rgba(227,170,107,.24); border-radius: 8px; background: rgba(227,170,107,.06); }.data-availability-note strong { display: block; color: #e4bc8f; font-size: 11px; }.data-availability-note p { margin: 4px 0 0; color: #a58e78; font-size: 10px; line-height: 1.45; }
.onboard-divider { height: 1px; margin: 20px 0; position: relative; background: #20232c; }.onboard-divider span { position: absolute; left: 50%; top: -7px; padding: 0 9px; transform: translateX(-50%); color: #626774; background: #090a0d; font-size: 10px; }.sample-note { margin: 9px 0 0; text-align: center; }
.onboarding-review-card { --onboarding-content-width: 750px; width: min(100%, 750px); }.onboarding-review-card .onboarding-title { margin-top: 0; }.review-source { width: min(100%, var(--onboarding-content-width)); margin: 0 auto 11px; display: flex; align-items: center; justify-content: space-between; color: #6d7280; font-size: 10px; }.review-list, .property-review-table { overflow: hidden; border: 1px solid #292d38; border-radius: 9px; background: #111319; }.review-row { min-height: 81px; display: grid !important; grid-template-columns: 17px 32px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #242731; cursor: pointer; }.review-row:last-child { border: 0; }.review-row:hover { background: #171a22; }.review-row input, .property-review-row input { position: absolute; opacity: 0; pointer-events: none; }.review-check { width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid #414653; border-radius: 4px; color: transparent; font-size: 11px; }.review-row input:checked + .review-check, .property-review-row input:checked + .review-check { color: #f5f7ff; border-color: #6988f7; background: #5b7af0; }.review-avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: #b6c4fb; background: #283047; font-size: 9px; font-weight: 700; }.review-copy { min-width: 0; }.review-copy strong { display: block; overflow: hidden; color: #e4e6eb; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 560; }.review-copy small, .review-copy em { display: block; margin-top: 4px; color: #858a97; font-size: 10px; font-style: normal; }.review-copy em { margin-top: 3px; color: #6c7180; }.confidence { padding: 4px 6px; border: 1px solid #353946; border-radius: 4px; color: #9298a6; font-size: 9px; }.confidence.high { color: #75d5aa; border-color: rgba(70,216,161,.2); background: rgba(70,216,161,.06); }.confidence.medium { color: #e2ad70; border-color: rgba(243,173,101,.2); background: rgba(243,173,101,.06); }.manual-add { display: flex; gap: 8px; margin-top: 11px; }.manual-add input { height: 35px; }.manual-add button { flex: 0 0 auto; padding: 0 13px; color: #a4b7ff; border: 1px solid #39405a; border-radius: 6px; background: #171a24; font-size: 11px; }.manual-add button:hover { color: #dde5ff; background: #202537; }.review-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 7px; }.review-actions > span { color: #6d7280; font-size: 10px; line-height: 1.35; }.review-actions .onboard-primary { width: auto; min-width: 162px; padding: 0 14px; }
.property-review-head, .property-review-row { display: grid; grid-template-columns: 17px minmax(0,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr); align-items: center; gap: 13px; }.property-review-head { min-height: 32px; padding: 0 14px; color: #717684; border-bottom: 1px solid #282b35; font-size: 9px; font-weight: 650; letter-spacing: .06em; }.property-review-row { min-height: 62px; padding: 9px 14px; color: #bec1cb; border-bottom: 1px solid #242731; cursor: pointer; font-size: 10px; }.property-review-row:last-child { border-bottom: 0; }.property-review-row:hover { background: #171a22; }.property-review-row strong { display: block; overflow: hidden; color: #e0e2e8; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 540; }.property-review-row small { display: block; overflow: hidden; margin-top: 4px; color: #767b88; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }.empty-review { padding: 28px; color: #838895; text-align: center; font-size: 11px; }.onboarding-complete { width: min(100%, 440px); text-align: center; }.complete-icon { width: 45px; height: 45px; display: grid; place-items: center; margin: 0 auto 16px; color: #e3fff2; border: 1px solid rgba(70,216,161,.32); border-radius: 14px; background: rgba(70,216,161,.12); font-size: 19px; }.complete-list { margin: 22px 0; padding: 14px 16px; display: grid; gap: 10px; color: #abb0bb; border: 1px solid #282c36; border-radius: 8px; background: #111319; text-align: left; font-size: 11px; }.complete-list span { color: #bac8bd; }.complete-list span::first-letter { color: #63d8a4; }
@media (max-width: 720px) { .onboarding-top { height: 64px; padding: 0 18px; }.onboarding-brand { font-size: 20px; }.onboarding-user, .onboarding-top-actions .onboard-source { display: none; }.onboarding-footer { padding: 0 18px; }.onboarding-footer span:last-child { display: none; }.onboarding-main { padding: 18px 16px 44px; }.onboarding-progress { gap: 9px; margin-bottom: 21px; }.onboarding-progress.is-review { gap: 0; }.onboarding-back { min-width: 30px; height: 30px; font-size: 12px; }.onboarding-stepper li { gap: 0; }.onboarding-stepper li > span { display: none; }.onboarding-stepper li:not(:last-child)::after { width: 18px; margin: 0 6px; }.onboarding-stepper i { font-size: 9px; }.onboarding-title h1, .onboarding-complete h1 { font-size: 22px; }.onboarding-title p { margin-bottom: 21px; font-size: 12px; }.review-row { grid-template-columns: 17px 29px minmax(0,1fr); }.review-row .confidence { display: none; }.property-review-head { display: none; }.property-review-row { grid-template-columns: 17px minmax(0,1fr); gap: 10px; padding: 12px; }.property-review-row > span:nth-of-type(2), .property-review-row > span:nth-of-type(3) { grid-column: 2; }.review-actions { align-items: flex-end; flex-direction: column; }.review-actions .onboard-primary { width: 100%; }.form-split { grid-template-columns: 1fr; } }

/* Account access and guided entity finder */
.auth-shell { min-height: 100vh; position: relative; display: flex; flex-direction: column; overflow: hidden; background: #090a0d; }
.auth-glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(520px 380px at 50% 40%, rgba(67,88,150,.17), transparent 72%); }
.auth-main { position: relative; z-index: 1; flex: 1; display: grid; place-items: center; padding: 45px 20px; }
.auth-card { width: min(100%, 390px); padding: 30px; border: 1px solid #232731; border-radius: 13px; background: rgba(16,18,24,.88); box-shadow: 0 24px 80px rgba(0,0,0,.32); }
.auth-card .onboard-logo { justify-content: center; margin-bottom: 28px; }
.auth-form { display: grid; gap: 15px; }.auth-form label { display: grid; gap: 7px; color: #aaafba; font-size: 12px; font-weight: 540; }
.auth-form input { width: 100%; height: 41px; padding: 0 12px; color: #e7e9ee; border: 1px solid #2a2e39; border-radius: 7px; background: #111319; font: inherit; }
.auth-form input:focus { outline: 0; border-color: #5e82fb; box-shadow: 0 0 0 3px rgba(92,130,255,.13); }
.auth-switch { margin: 18px 0 0; color: #717683; text-align: center; font-size: 11px; }.auth-switch button { color: #89a4ff; background: transparent; }
.auth-recovery { margin: 16px 0 0; text-align: center; font-size: 12px; }
.auth-recovery button { color: #acb7ff; background: transparent; padding: 5px; }
.auth-notice { padding: 12px 14px; margin: 0 0 18px; border: 1px solid #454863; border-radius: 7px; background: #262938; color: #d1d6ed; font-size: 12px; line-height: 1.6; }
.auth-password-field { position: relative; display: block; }
.auth-password-field input { padding-right: 62px; }
.auth-password-field button { position: absolute; right: 6px; top: 5px; bottom: 5px; padding: 0 8px; border-radius: 4px; background: transparent; color: #acb7ff; font-size: 11px; }
.auth-form .form-error:empty { display: none; }
.auth-form button:disabled { cursor: wait; opacity: .65; }
.auth-card[data-auth-mode="forgot-password"], .auth-card[data-auth-mode^="reset-"] { width: min(100%, 420px); padding: 32px; }
.auth-card #authTitle { outline: none; }
.auth-card .form-error { font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.auth-card .form-error:focus { outline: 1px solid #ce8088; outline-offset: 5px; border-radius: 2px; }
.auth-card input[aria-invalid="true"] { border-color: #da7e89; }
.auth-input-hint { color: #a6a9b7; font-size: 14px; line-height: 1.5; font-weight: 400; }
.auth-form-note { margin: 0; color: #a6a9b7; text-align: center; font-size: 14px; line-height: 1.6; }
.auth-result .onboarding-title h1 { font-size: 25px; line-height: 1.2; }
.auth-result .onboarding-title p { color: #acafbb; font-size: 14px; margin-bottom: 18px; line-height: 1.65; }
.auth-email-summary { display: grid; gap: 9px; padding: 14px; border: 1px solid #454750; border-radius: 8px; background: #1b1c21; text-align: center; }
.auth-email-summary > span { color: #eceef5; font-size: 14px; font-weight: 550; overflow-wrap: anywhere; }
.auth-email-summary button { justify-self: center; min-height: 40px; padding: 8px 10px; color: #aab6ff; background: transparent; font-size: 13px; }
.auth-recovery-detail { margin: 17px 0 24px; color: #a9adbb; font-size: 14px; line-height: 1.7; text-align: center; }
.auth-result-actions { display: grid; gap: 2px; }
.auth-resend-form .onboard-secondary { min-height: 44px; font-size: 14px; color: #d0d4e6; border-color: #4b4e62; background: #292b36; }
.auth-resend-form button:disabled { cursor: default; opacity: .6; }
.auth-resend-form[aria-busy="true"] button { cursor: wait; }
.auth-result .auth-switch { margin-top: 16px; }
.auth-card:is([data-auth-mode="forgot-password"], [data-auth-mode^="reset-"]) .onboarding-title p { font-size: 14px; line-height: 1.65; }
.auth-card:is([data-auth-mode="forgot-password"], [data-auth-mode^="reset-"]) .auth-switch button { min-height: 40px; padding: 8px; font-size: 13px; }
.auth-card:is([data-auth-mode="forgot-password"], [data-auth-mode^="reset-"]) .onboard-primary { font-size: 14px; }
@media (max-width: 480px) { .auth-email-summary button, .auth-card:is([data-auth-mode="forgot-password"], [data-auth-mode^="reset-"]) .auth-switch button { min-height: 44px; } }
.auth-card .auth-switch button, .auth-card .auth-recovery button { min-height: 32px; padding: 6px; }
@media (max-width: 480px) { .auth-main { padding: 28px 16px; }.auth-card[data-auth-mode="forgot-password"], .auth-card[data-auth-mode^="reset-"] { padding: 28px 22px; }.auth-card .auth-form input { font-size: 16px; min-height: 44px; }.auth-result .onboarding-title h1 { font-size: 23px; }.auth-card .onboard-primary, .auth-card .onboard-secondary { min-height: 44px; } }
.workspace-sync-notice { position: fixed; z-index: 90; left: 50%; bottom: 22px; transform: translateX(-50%); width: min(720px, calc(100% - 32px)); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid #4b5271; border-radius: 10px; background: #23252e; color: #e4e6ef; box-shadow: 0 8px 32px #0005; font-size: 12px; }
.workspace-sync-notice[hidden] { display: none; }
.workspace-sync-notice p, .workspace-sync-notice small { margin: 4px 0 0; color: #b7bdcf; line-height: 1.5; }
.workspace-sync-notice[data-status="conflict"], .workspace-sync-notice[data-status="error"] { border-color: #bb8a52; }
.workspace-sync-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.workspace-sync-notice[data-status="saving"], .workspace-sync-notice[data-status="pending"] { width: auto; }
.workspace-sync-notice strong { font-size: 12px; }
#portfolioSearchResults .workspace-option { width: 100%; text-align: left; }
#portfolioSearchResults .workspace-option > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) { .workspace-sync-notice { align-items: stretch; flex-direction: column; gap: 10px; bottom: 12px; }.workspace-sync-actions .outline-button { font-size: 11px; } }
.auth-card button:focus-visible { outline: 2px solid #9aa8ff; outline-offset: 3px; }
.auth-form .auth-link { min-height: 40px; padding: 8px 12px; background: transparent; color: #acb7ff; font: inherit; font-size: 13px; }
.loan-workflow-sync { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 20px; padding: 10px 14px; border: 1px solid var(--line-subtle); border-radius: 9px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.loan-workflow-sync.is-delayed { background: rgba(180, 134, 70, .08); border-color: rgba(206, 164, 107, .28); color: #ddc59f; }
.loan-workflow-sync button { flex-shrink: 0; min-height: 32px; }
.loan-workflow-error { margin: 12px 0; padding: 12px 14px; color: #ffc3c9; background: rgba(181, 73, 90, .09); border: 1px solid rgba(214, 119, 136, .25); border-radius: 8px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
form > .loan-workflow-error { margin: 16px; }
.loan-workflow-notice { color: var(--muted); margin: 16px 0; font-size: 13px; line-height: 1.65; }
.loan-workflow-view .financing-section-head p { max-width: 650px; line-height: 1.7; }
.loan-workflow-view .loan-workflow-notice { padding: 0 18px; }
.loan-workflow-original-quote { margin-top: 16px; padding: 12px 18px 18px; border-top: 1px solid var(--line-subtle); }
.loan-workflow-original-quote summary { width: fit-content; padding: 6px 0; color: var(--text); font-size: 12px; cursor: pointer; }
.loan-workflow-original-quote > p { margin: 12px 0 20px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.loan-workflow-completion { height: 3px; margin: 0; overflow: hidden; background: var(--line-subtle); }

/* Full-width checklist with an inline property picker and task status filters. */
.tasks-workspace { border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.tasks-toolbar { --tasks-control-height: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.tasks-property-picker { position: relative; min-width: 0; }
.tasks-property-trigger { display: flex; align-items: center; gap: 8px; max-width: 300px; height: var(--tasks-control-height); padding: 0 9px; border: 1px solid var(--line); border-radius: 6px; background: transparent; font-size: 11px; font-weight: 500; }
.tasks-property-trigger:hover, .tasks-property-trigger[aria-expanded="true"] { border-color: color-mix(in srgb, var(--blue) 55%, var(--line)); background: var(--panel-2); }
.tasks-property-trigger > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tasks-property-trigger > .ui-icon { width: 13px; height: 13px; color: var(--muted); }
.tasks-property-trigger > .ui-icon:last-child { width: 12px; height: 12px; margin-left: 8px; color: var(--dim); }
.tasks-property-menu { position: absolute; z-index: 35; top: calc(100% + 6px); left: 0; width: 360px; max-width: calc(100vw - 84px); padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); box-shadow: 0 12px 36px rgba(0,0,0,.32); }
.tasks-property-menu[hidden] { display: none; }
.tasks-search { display: flex; align-items: center; gap: 8px; padding: 0 10px; margin: 2px 2px 6px; border-bottom: 1px solid var(--line); }
.tasks-search .ui-icon { width: 13px; height: 13px; color: var(--dim); }
.tasks-search input { width: 100%; min-width: 0; height: 37px; padding: 0; color: var(--text); background: transparent; border: 0; outline: 0; box-shadow: none; font: inherit; font-size: 11px; }
.tasks-search:focus-within { border-color: var(--blue); }
.tasks-search input:focus, .tasks-search input:focus-visible { border: 0; outline: 0; box-shadow: none; }
.tasks-search input::placeholder { color: var(--dim); }
.tasks-property-options { max-height: 310px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.tasks-property-option { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; border-radius: 5px; background: transparent; text-align: left; }
.tasks-property-all { min-height: 34px; margin-bottom: 4px; }
.tasks-property-option:hover, .tasks-property-option:focus-visible { background: var(--hover-fill); outline: none; }
.tasks-property-option[aria-selected="true"] { background: var(--blue-soft); }
.tasks-property-option-copy { display: grid; flex: 1; min-width: 0; gap: 5px; }
.tasks-property-option-copy strong { color: var(--text); font-size: 11px; font-weight: 550; overflow-wrap: anywhere; }
.tasks-property-option-copy small { color: var(--dim); font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.tasks-property-option-count { flex-shrink: 0; color: var(--muted); font-size: 9px; }
.tasks-property-check { width: 12px; flex: 0 0 12px; color: var(--blue-bright); }
.tasks-property-check .ui-icon { width: 12px; height: 12px; }
.tasks-property-empty { padding: 24px 12px; color: var(--muted); text-align: center; font-size: 11px; }
.tasks-filters { display: inline-flex; align-items: center; gap: 2px; height: var(--tasks-control-height); padding: 2px; border: 1px solid var(--line); border-radius: 6px; background: var(--bg); }
.tasks-filters button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 100%; min-width: 0; padding: 0 8px; border: 0; border-radius: 3px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 500; white-space: nowrap; }
.tasks-filters button > span { color: var(--dim); font-size: 9px; font-variant-numeric: tabular-nums; }
.tasks-filters button[aria-pressed="true"] { color: var(--text); background: var(--panel-2); box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.tasks-filters button[aria-pressed="true"] > span { color: var(--muted); }
.tasks-filters button:hover:not([aria-pressed="true"]) { color: var(--text); background: var(--hover-fill); }
.tasks-filters button:focus-visible { outline: 1px solid var(--blue-bright); outline-offset: -1px; }
.tasks-detail { min-width: 0; border-radius: 0 0 10px 10px; overflow: hidden; }
.tasks-table-head, .tasks-table-row { display: grid; grid-template-columns: minmax(0, 1fr) 88px 104px 58px; align-items: center; gap: 12px; padding: 0 16px; }
.tasks-table-head { min-height: 32px; color: var(--dim); font-size: 10px; border-bottom: 1px solid var(--line-subtle); }
.tasks-table-row { min-height: 48px; padding-top: 6px; padding-bottom: 6px; border-bottom: 1px solid var(--line-subtle); }
.tasks-table-row:last-child { border-bottom: 0; }
.tasks-table-row:hover { background: var(--hover-fill); }
.tasks-table-row > .financing-status { justify-self: start; }
.tasks-task-open { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 2px 0; background: transparent; text-align: left; border-radius: 4px; }
.tasks-task-open .financing-need-check { width: 25px; height: 25px; flex-shrink: 0; border-radius: 6px; }
.tasks-task-copy { display: grid; gap: 3px; min-width: 0; }
.tasks-task-copy strong { color: var(--text); font-size: 11px; font-weight: 500; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tasks-task-copy small { color: var(--dim); font-size: 9px; line-height: 1.4; overflow-wrap: anywhere; }
.tasks-task-copy .loan-workflow-feedback { color: var(--red); }
.tasks-task-assignee { min-width: 0; display: flex; align-items: center; }
.tasks-task-assignee .team-assignee { min-height: 26px; max-width: 100%; padding: 0 5px; border-color: transparent; font-size: 10px; }
.tasks-task-action { display: flex; justify-content: flex-end; }
.tasks-row-action { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 0 8px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 500; }
.tasks-row-action:hover { color: var(--text); border-color: var(--dim); background: var(--panel-2); }
.tasks-loan-group + .tasks-loan-group { border-top: 1px solid var(--line); }
.tasks-loan-group-head { display: flex; align-items: center; min-height: 34px; padding: 0 16px; border-bottom: 1px solid var(--line-subtle); background: var(--panel-2); }
.tasks-loan-group-head button { display: inline-flex; align-items: center; gap: 8px; min-width: 0; padding: 4px 0; background: transparent; color: var(--muted); font-size: 10px; font-weight: 500; text-align: left; overflow-wrap: anywhere; }
.tasks-loan-group-head button:hover { color: var(--text); }
.tasks-loan-group-head .ui-icon { width: 11px; height: 11px; flex-shrink: 0; color: var(--dim); }
.tasks-caught-up { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line-subtle); }
.tasks-caught-up-icon { display: grid; place-items: center; flex-shrink: 0; width: 28px; height: 28px; border-radius: 8px; background: var(--blue-soft); color: var(--blue-bright); }
.tasks-caught-up-icon .ui-icon { width: 16px; height: 16px; }
.tasks-caught-up > div { flex: 1; }
.tasks-caught-up strong { color: var(--text); font-size: 11px; font-weight: 550; }
.tasks-caught-up p { margin: 3px 0 0; color: var(--dim); font-size: 9px; line-height: 1.6; }
.tasks-caught-up .table-action { font-size: 9px; }
.tasks-detail-empty, .tasks-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 360px; padding: 40px 24px; color: var(--dim); text-align: center; }
.tasks-empty > .ui-icon { width: 24px; height: 24px; color: var(--muted); }
.tasks-detail-empty p, .tasks-empty p { max-width: 390px; margin: 0; font-size: 11px; line-height: 1.7; }
.tasks-detail-empty h2, .tasks-empty h2 { margin: 0; color: var(--text); font-size: 18px; font-weight: 550; }
@media (max-width: 760px) {
  .tasks-toolbar { gap: 8px; padding: 10px 12px; }
  .tasks-property-picker, .tasks-property-trigger { width: 100%; max-width: none; }
  .tasks-property-trigger > span { flex: 1; text-align: left; }
  .tasks-property-menu { width: 100%; max-width: none; }
  .tasks-filters { gap: 1px; width: 100%; }
  .tasks-filters button { flex: 1; padding: 0 5px; gap: 4px; }
  .tasks-table-head, .tasks-table-row { grid-template-columns: minmax(0, 1fr) 76px 38px 50px; gap: 8px; padding-right: 12px; padding-left: 12px; }
  .tasks-table-head > span:nth-child(3) { font-size: 9px; }
  .tasks-task-assignee .team-assignee > span:not(.team-avatar) { display: none; }
  .tasks-task-assignee .team-assignee { min-width: 26px; }
  .tasks-loan-group-head, .tasks-caught-up { padding-right: 12px; padding-left: 12px; }
  .tasks-caught-up { flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .tasks-table-head { display: none; }
  .tasks-table-row { grid-template-columns: minmax(0, 1fr) auto auto; gap: 5px 10px; padding-top: 9px; padding-bottom: 9px; }
  .tasks-task-open { grid-column: 1 / -1; }
  .tasks-task-copy strong { white-space: normal; }
  .tasks-table-row > .financing-status { margin-left: 35px; }
  .tasks-task-assignee .team-assignee > span:not(.team-avatar) { display: inline; }
  .tasks-task-assignee { max-width: 100px; }
}
.loan-workflow-list { padding: 0; margin: 0; list-style: none; }
.loan-workflow-list > li + li { border-top: 1px solid var(--line-subtle); }
.loan-workflow-list-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) minmax(120px, 1fr) minmax(150px, 1.2fr) 16px; width: 100%; align-items: center; gap: 24px; padding: 24px; color: var(--text); background: transparent; text-align: left; }
.loan-workflow-list-row:hover { background: rgba(138, 145, 177, .05); }
.loan-workflow-list-row:focus-visible { outline: 2px solid #a1acfb; outline-offset: -3px; }
.loan-workflow-list-row > span { display: grid; gap: 7px; justify-items: start; min-width: 0; }
.loan-workflow-list-row strong { font-size: 14px; font-weight: 590; overflow-wrap: anywhere; }
.loan-workflow-list-row small { color: var(--muted); font-size: 11px; line-height: 1.6; }
.loan-workflow-list-row > svg { width: 16px; height: 16px; color: var(--muted); }
.loan-workflow-completion span { display: block; height: 100%; background: #73bda1; border-radius: inherit; }
.loan-workflow-task-group + .loan-workflow-task-group { margin-top: 0; }
.loan-workflow-task-group h3 { margin: 0; padding: 11px 18px; color: var(--muted); background: var(--quiet-fill); border-bottom: 1px solid var(--line-subtle); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.loan-workflow-task { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 58px; padding: 10px 14px; text-align: left; color: var(--text); background: transparent; border-bottom: 1px solid var(--line-subtle); border-radius: 0; }
.loan-workflow-task:hover { background: rgba(138, 145, 177, .05); }
.loan-workflow-task:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: -2px; }
.loan-workflow-task > svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--muted); }
.loan-workflow-task-dot { display: grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; border: 1px solid #3a3c46; border-radius: 8px; color: #898d9d; background: var(--panel-2); }
.loan-workflow-task-dot.is-complete { border-color: #64a991; color: #8acfb7; background: rgba(91, 166, 139, .12); }
.loan-workflow-task-dot svg { width: 13px; height: 13px; }
.loan-workflow-task-copy { display: grid; gap: 5px; flex: 1; min-width: 0; }
.loan-workflow-task-copy strong { font-size: 10px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.loan-workflow-task-copy small { font-size: 8px; color: var(--dim); line-height: 1.6; }
.loan-workflow-task-copy .loan-workflow-feedback, .loan-workflow-feedback { color: #eeb4ab; }
.loan-workflow-attachment { display: flex; align-items: center; gap: 14px; justify-content: space-between; margin-bottom: 10px; padding: 12px; border: 1px solid var(--line-subtle); border-radius: 8px; font-size: 12px; }
.loan-workflow-attachment > span:first-child { display: grid; gap: 5px; overflow-wrap: anywhere; min-width: 0; }
.loan-workflow-attachment small { color: var(--muted); line-height: 1.6; }
@media (max-width: 650px) {
  .loan-workflow-list-row { grid-template-columns: 1fr 1fr; gap: 20px; padding: 20px; }
  .loan-workflow-list-property { grid-column: 1 / -1; }
  .loan-workflow-list-row > svg { display: none; }
  .loan-workflow-title { align-items: flex-start; flex-direction: column; gap: 14px; }
  .loan-workflow-task { gap: 10px; padding: 15px 3px; flex-wrap: wrap; }
  .loan-workflow-task-copy { min-width: calc(100% - 54px); }
  .loan-workflow-task .financing-status { margin-left: 32px; }
  .loan-workflow-task > svg { margin-left: auto; }
  .loan-workflow-view .financing-section-head { flex-direction: column; gap: 8px; }
  .loan-workflow-view .financing-quote-actions { flex-direction: column-reverse; }
  .loan-workflow-view .financing-quote-actions button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.auth-loading { min-height: 230px; display: grid; place-content: center; justify-items: center; gap: 12px; color: #8d93a1; font-size: 12px; }.auth-loading i, .finder-loading i { width: 21px; height: 21px; border: 2px solid #313744; border-top-color: #7692fa; border-radius: 50%; animation: xoan-spin .7s linear infinite; }
@keyframes xoan-spin { to { transform: rotate(360deg); } }
.account-summary { display: flex; align-items: center; gap: 11px; padding: 13px; border: 1px solid #292d38; border-radius: 8px; background: #111319; }.account-summary .avatar { position: static; width: 36px; height: 36px; }.account-summary strong, .account-summary small { display: block; }.account-summary strong { color: #e9ebf0; font-size: 12px; }.account-summary small { margin-top: 4px; color: #7d8390; font-size: 10px; }.danger-button { color: #f4a0a7 !important; border-color: rgba(255,115,126,.3) !important; }
.onboarding-finder-card { --onboarding-content-width: 680px; width: min(100%, 760px); padding-bottom: 20px; }.onboarding-finder-card > form { max-width: var(--onboarding-content-width); }.onboarding-finder-card > .form-error, .onboarding-finder-card > .connection-error { max-width: var(--onboarding-content-width); margin-right: auto; margin-left: auto; }.onboarding-finder-card > .form-error:empty { display: none; }
.entity-narrowing { padding: 0 12px 12px; color: #7f8592; border: 1px solid #292d37; border-radius: 8px; background: #101218; }.entity-narrowing summary { padding: 11px 0; cursor: pointer; font-size: 10px; }.entity-narrowing[open] summary { margin-bottom: 2px; }.entity-narrowing label { margin-top: 2px; }
.finder-location-grid { display: grid; grid-template-columns: 1.3fr .8fr .8fr; gap: 10px; }.finder-search-button { margin-top: 2px; }
.finder-loading, .finder-empty { max-width: var(--onboarding-content-width); min-height: 76px; margin: 0 auto; padding: 17px; display: flex; align-items: center; justify-content: center; gap: 11px; color: #9198a7; border: 1px solid #282d38; border-radius: 9px; background: #111319; font-size: 11px; }
.finder-empty { display: block; text-align: center; }.finder-empty strong { color: #d9dce4; }.finder-empty p { margin: 6px 0 0; color: #747a87; line-height: 1.5; }
.candidate-heading { max-width: var(--onboarding-content-width); margin: 0 auto 9px; display: flex; align-items: center; justify-content: space-between; color: #d9dce4; font-size: 11px; }.candidate-heading small { color: #737987; font-size: 9px; }
.candidate-list { max-width: var(--onboarding-content-width); max-height: 390px; margin: 0 auto 12px; overflow-y: auto; border: 1px solid #292e39; border-radius: 10px; background: #101218; }
.candidate-card { width: 100%; min-height: 92px; padding: 13px 14px; display: grid; grid-template-columns: 18px minmax(0,1fr) 92px; align-items: center; gap: 12px; text-align: left; color: inherit; border-bottom: 1px solid #252933; background: transparent; }.candidate-card:last-child { border-bottom: 0; }.candidate-card:hover { background: #171a22; }.candidate-card.selected { background: rgba(83,115,222,.1); box-shadow: inset 3px 0 #6687fa; }.candidate-card:disabled { cursor: wait; opacity: .72; }
.candidate-radio { width: 16px; height: 16px; display: grid; place-items: center; border: 1px solid #454b59; border-radius: 50%; }.candidate-radio i { width: 7px; height: 7px; border-radius: 50%; }.candidate-card.selected .candidate-radio { border-color: #7190ff; }.candidate-card.selected .candidate-radio i { background: #7190ff; }
.candidate-copy { min-width: 0; }.candidate-copy strong, .candidate-copy small, .candidate-copy em, .candidate-copy b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.candidate-copy strong { color: #e7e9ee; font-size: 12px; font-weight: 580; }.candidate-copy small { margin-top: 4px; color: #858b98; font-size: 9px; }.candidate-copy em { margin-top: 6px; color: #7e8fb9; font-size: 9px; font-style: normal; }.candidate-copy b { margin-top: 5px; color: #67cda0; font-size: 9px; font-weight: 520; }.candidate-copy b.muted-evidence { color: #777e8c; }
.candidate-stats { text-align: right; }.candidate-stats strong, .candidate-stats small, .candidate-stats em { display: block; }.candidate-stats strong { color: #e4e7ee; font-size: 15px; }.candidate-stats small { margin-top: 2px; color: #747a87; font-size: 8px; }.candidate-stats em { margin-top: 7px; color: #8c93a2; font-size: 9px; font-style: normal; }
.onboarding-finder-card > .onboard-primary { max-width: var(--onboarding-content-width); margin: 0 auto; }.finder-alternatives { max-width: var(--onboarding-content-width); margin: 17px auto 0; padding-top: 12px; color: #787e8c; border-top: 1px solid #222630; }.finder-alternatives summary { cursor: pointer; text-align: center; font-size: 10px; }.finder-alternatives form { margin-top: 14px; display: grid; grid-template-columns: minmax(0,1fr) 170px; align-items: end; gap: 10px; }.finder-alternatives form button { height: 40px; }.finder-alt-actions { margin-top: 12px; display: flex; justify-content: center; gap: 18px; }.finder-alt-actions button { color: #87a1fb; background: transparent; font-size: 10px; }
@media (max-width: 720px) { .auth-card { padding: 24px 20px; }.finder-location-grid { grid-template-columns: 1fr; }.candidate-card { grid-template-columns: 18px minmax(0,1fr); }.candidate-stats { display: none; }.candidate-heading small { display: none; }.finder-alternatives form { grid-template-columns: 1fr; }.finder-alt-actions { flex-direction: column; align-items: center; gap: 10px; } }

/* RentCast valuation controls */
.valuation-disclaimer { margin: -7px 0 18px; padding: 11px 14px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; color: #8d94a3; border: 1px solid #2a303c; border-radius: 8px; background: rgba(94, 126, 244, .045); font-size: 10px; line-height: 1.45; }
.valuation-disclaimer strong { color: #c9d4fa; font-weight: 600; }
.valuation-disclaimer em { color: #7f8aaa; font-style: normal; white-space: nowrap; }
.valuation-disclaimer a, .valuation-legal a { color: #8fa8ff; text-decoration: none; }
.valuation-disclaimer a:hover, .valuation-legal a:hover { text-decoration: underline; }
.rentcast-status > span { color: #aac0ff; background: rgba(91, 126, 249, .12); }
.valuation-quote-grid { margin: 15px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid #2b303b; border-radius: 8px; background: #111319; }
.valuation-quote-grid > div { min-height: 78px; padding: 14px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #292d37; }
.valuation-quote-grid > div:last-child { border-right: 0; }
.valuation-quote-grid span { color: #747b89; font-size: 9px; }
.valuation-quote-grid strong { margin-top: 7px; color: #e6e9f1; font-size: 16px; font-weight: 590; }
.valuation-legal { margin: 14px 0 0; color: #7e8593; font-size: 10px; line-height: 1.55; }
.refresh-step-complete { margin-bottom: 14px; padding: 11px 12px; display: flex; align-items: center; gap: 10px; color: #9bd9bb; border: 1px solid rgba(91, 204, 153, .22); border-radius: 8px; background: rgba(91, 204, 153, .07); }
.refresh-step-complete > span { width: 22px; height: 22px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: rgba(91, 204, 153, .14); font-size: 11px; font-weight: 750; }
.refresh-step-complete strong { display: block; color: #cdebdc; font-size: 11px; }
.refresh-step-complete p { margin: 3px 0 0; color: #82aa96; font-size: 9px; }
.refresh-exclusions { margin-bottom: 14px; padding: 11px 12px; border: 1px solid rgba(224, 171, 92, .22); border-radius: 8px; background: rgba(224, 171, 92, .06); }
.refresh-exclusions strong { display: block; color: #e8cfaa; font-size: 10px; }
.refresh-exclusions p { margin: 4px 0 0; color: #a99172; font-size: 9px; line-height: 1.45; }
.live-records-modal { display: grid; gap: 14px; }
.live-records-status { min-height: 70px; padding: 14px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(91, 204, 153, .21); border-radius: 9px; background: linear-gradient(135deg, rgba(91, 204, 153, .08), rgba(95, 110, 205, .045)); }
.live-records-pulse { width: 11px; height: 11px; flex: 0 0 auto; border-radius: 50%; background: #62d2a0; box-shadow: 0 0 0 5px rgba(98, 210, 160, .09); }
.live-records-status.offline { border-color: #383a42; background: #202126; }
.live-records-status.offline .live-records-pulse { background: #70727c; box-shadow: 0 0 0 5px rgba(130,132,143,.07); }
.live-records-status small { color: #779287; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.live-records-status strong { display: block; margin-top: 3px; color: #e7eee9; font-size: 13px; font-weight: 620; }
.live-records-status p { margin: 4px 0 0; color: #84918a; font-size: 9px; }
.live-records-coverage { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid #30323a; border-radius: 8px; background: #1b1c21; }
.live-records-coverage > div { min-height: 82px; padding: 12px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #30323a; }
.live-records-coverage > div:last-child { border-right: 0; }
.live-records-coverage span { color: #7e8089; font-size: 8px; }
.live-records-coverage strong { margin-top: 6px; color: #f0f0f2; font-size: 17px; font-weight: 650; font-variant-numeric: tabular-nums; }
.live-records-coverage small { margin-top: 4px; color: #686a73; font-size: 8px; line-height: 1.3; }
.live-records-fields { overflow: hidden; border: 1px solid #30323a; border-radius: 8px; }
.live-records-field { min-height: 58px; padding: 10px 12px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid #2d2f36; }
.live-records-field:last-child { border-bottom: 0; }
.live-records-field > span { width: 28px; height: 28px; display: grid; place-items: center; color: #aab4ec; border-radius: 7px; background: rgba(98, 110, 207, .12); }
.live-records-field .ui-icon { width: 14px; height: 14px; }
.live-records-field strong { display: block; color: #dedfe4; font-size: 10px; font-weight: 620; }
.live-records-field p { margin: 3px 0 0; color: #777983; font-size: 9px; line-height: 1.35; }
.live-records-field > small { color: #777fba; font-size: 8px; white-space: nowrap; }
.modal-body p.live-records-note { margin: 0; padding: 10px 11px; color: #83858e; border-radius: 7px; background: rgba(255,255,255,.025); font-size: 9px; line-height: 1.45; }
@media (max-width: 720px) { .valuation-disclaimer { grid-template-columns: 1fr; }.valuation-quote-grid, .live-records-coverage { grid-template-columns: 1fr 1fr; }.valuation-quote-grid > div:nth-child(2), .live-records-coverage > div:nth-child(2) { border-right: 0; }.valuation-quote-grid > div:nth-child(-n+2), .live-records-coverage > div:nth-child(-n+2) { border-bottom: 1px solid #292d37; }.live-records-field { grid-template-columns: 28px minmax(0, 1fr); }.live-records-field > small { display: none; } }

/* Investor portfolio-value chart */
.panel.capital-chart-panel {
  margin-bottom: 18px;
  overflow: hidden;
  border-color: var(--line-subtle);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 8% -28%, rgba(124,134,237,.15), transparent 40%),
    radial-gradient(circle at 100% 0, rgba(98,211,167,.065), transparent 40%),
    linear-gradient(155deg, rgba(255,255,255,.02), transparent 48%),
    var(--panel);
}
.capital-chart-head { min-height: 88px; padding: 12px 16px; display: grid; grid-template-columns: minmax(190px,.65fr) minmax(440px,1.55fr); align-items: center; gap: 20px; }
.capital-chart-summary { min-width: 0; align-self: center; }
.capital-eyebrow { color: var(--accent-text); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.capital-chart-head h2 { margin: 6px 0 0; color: #f5f7fb; font-size: 31px; line-height: 1; letter-spacing: -.045em; font-weight: 650; font-variant-numeric: tabular-nums; }
.capital-chart-kpis { min-width: 0; height: 64px; align-self: center; display: grid; grid-template-columns: repeat(4, minmax(92px,1fr)); overflow: hidden; border: 1px solid var(--line-subtle); border-radius: 8px; background: rgba(8,9,13,.1); }
.capital-chart-kpis div { min-width: 0; padding: 9px 12px; display: grid; align-content: center; gap: 5px; border-left: 1px solid var(--line-subtle); background: linear-gradient(145deg, var(--quiet-fill), transparent 62%); }
.capital-chart-kpis div:first-child { border-left: 0; }
.capital-chart-kpis span { overflow: hidden; color: #858b98; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.capital-chart-kpis strong { overflow: hidden; color: #e4e6ec; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 590; font-variant-numeric: tabular-nums; }
.capital-chart-kpis strong.equity-color { color: #6bd7ae; }
.capital-chart-legend { min-height: 40px; padding: 0 16px; display: grid; grid-template-columns: minmax(180px,1fr) auto auto; align-items: center; gap: 18px; color: #888e9b; border: 0; font-size: 9px; }
.capital-chart-title { color: #e1e3e9; font-size: 11px; font-weight: 620; }
.capital-series-key { display: flex; align-items: center; gap: 16px; }
.capital-series-key span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.capital-series-key i { width: 8px; height: 8px; border-radius: 2px; }
.capital-series-key .debt-key { background: #737d94; }
.capital-series-key .equity-key { background: #46c99a; }
.capital-series-key .total-key { width: 13px; height: 2px; border-radius: 3px; background: #69dfb1; box-shadow: 0 0 5px rgba(105,224,177,.2); }
.capital-range { justify-self: end; }
.capital-chart-wrap { min-width: 0; height: 270px; padding: 3px 8px 8px; }
.capital-chart { width: 100%; height: 100%; display: block; overflow: visible; }
.capital-plot-surface { fill: rgba(10,11,15,.08); stroke: var(--chart-grid); stroke-width: var(--chart-grid-width); vector-effect: non-scaling-stroke; }
.capital-grid line { stroke: var(--chart-grid); stroke-width: var(--chart-grid-width); shape-rendering: geometricPrecision; vector-effect: non-scaling-stroke; }
.capital-grid text, .capital-axis text { fill: var(--dim); font-size: 9px; font-family: inherit; font-variant-numeric: tabular-nums; }
.capital-stack { stroke: none; opacity: .82; }
.capital-stack.debt-stack { fill: url(#capitalDebtFill); }
.capital-stack.equity-stack { fill: url(#capitalEquityFill); }
.capital-stack.equity-stack.negative { fill: rgba(221,92,105,.2); }
.capital-line { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.capital-line.debt-line { stroke: #89909f; stroke-width: var(--chart-line-width); opacity: .9; }
.capital-line.value-line { stroke: #69dfb1; stroke-width: var(--chart-line-width); filter: drop-shadow(0 4px 7px rgba(105,224,177,.16)); }
.capital-point { outline: none; }
.capital-crosshair { stroke: #8c909e; stroke-width: 1; stroke-dasharray: 2 3; opacity: 0; pointer-events: none; transition: opacity .12s ease; vector-effect: non-scaling-stroke; }
.capital-hit { fill: transparent; stroke: none; opacity: 0; cursor: crosshair; pointer-events: all; }
.capital-dot { fill: var(--chart-dot); stroke: #79e6b8; stroke-width: var(--chart-point-stroke-width); opacity: 0; transition: opacity .12s, r .12s, fill .12s; vector-effect: non-scaling-stroke; }
.capital-point.latest .capital-dot { r: 3.6; opacity: 1; filter: drop-shadow(0 0 4px rgba(105,224,177,.42)); }
.capital-latest-ring { fill: rgba(105,224,177,.04); stroke: #69dfb1; stroke-width: 1; opacity: .45; pointer-events: none; vector-effect: non-scaling-stroke; }
.capital-point:hover .capital-dot, .capital-point:focus .capital-dot, .capital-point:focus-visible .capital-dot { r: 4.4; fill: var(--panel); opacity: 1; }
.capital-point:hover .capital-latest-ring, .capital-point:focus .capital-latest-ring, .capital-point:focus-visible .capital-latest-ring { opacity: .88; }
.capital-point:hover .capital-crosshair, .capital-point:focus .capital-crosshair, .capital-point:focus-visible .capital-crosshair { opacity: .62; }
.capital-point:focus, .capital-point:focus-visible { outline: none; }
.capital-tooltip { opacity: 0; pointer-events: none; transition: opacity .12s; }
.capital-point:hover .capital-tooltip, .capital-point:focus .capital-tooltip, .capital-point:focus-visible .capital-tooltip { opacity: 1; }
.capital-tooltip rect { fill: var(--raised); stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; filter: drop-shadow(0 8px 16px rgba(0,0,0,.42)); }
.capital-tooltip text { fill: #a9acb7; font-family: inherit; font-size: 8px; font-variant-numeric: tabular-nums; }
.capital-tooltip .tooltip-date { fill: #eef0f3; font-weight: 670; letter-spacing: .01em; }
.capital-tooltip .tooltip-value { fill: #7ce9bb; }
.capital-tooltip .tooltip-debt { fill: #c2c8d3; }
.capital-tooltip .tooltip-equity { fill: #68d8ae; }
.capital-tooltip .tooltip-ltv { fill: #dce1eb; font-weight: 600; }
.capital-chart-foot { min-height: 40px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #737a88; border-top: 1px solid var(--line-subtle); font-size: 9px; line-height: 1.4; }
.capital-chart-foot > span { min-width: 0; flex: 1; display: flex; align-items: flex-start; gap: 7px; }
.capital-chart-foot .link { flex: 0 0 auto; }
.capital-chart-foot span i { width: 5px; height: 5px; flex: 0 0 auto; margin-top: 4px; border-radius: 50%; background: #697fcb; }
.capital-chart-empty { padding: 42px 30px 48px; }
@media (max-width: 980px) {
  .capital-chart-head { min-height: 0; grid-template-columns: 1fr; gap: 12px; }
  .capital-chart-legend { grid-template-columns: minmax(180px,1fr) auto; padding-top: 8px; padding-bottom: 8px; }
  .capital-series-key { grid-row: 2; grid-column: 1 / -1; }
  .capital-range { grid-row: 1; grid-column: 2; }
}
@media (max-width: 620px) {
  .capital-chart-head { padding: 12px; gap: 12px; }
  .capital-chart-head h2 { font-size: 29px; }
  .capital-chart-kpis { height: auto; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .capital-chart-kpis div { border-top: 1px solid rgba(255,255,255,.055); }
  .capital-chart-kpis div:nth-child(-n + 2) { border-top: 0; }
  .capital-chart-kpis div:nth-child(odd) { border-left: 0; }
  .capital-chart-kpis strong { font-size: 13px; }
  .capital-chart-legend { padding: 9px 17px; gap: 9px 14px; }
  .capital-series-key { flex-wrap: wrap; gap: 8px 13px; }
  .capital-chart-wrap { height: 235px; padding-left: 5px; padding-right: 5px; }
  .capital-chart { min-width: 0; }
  .capital-chart-foot { padding: 10px 17px; align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .capital-dot, .capital-crosshair, .capital-tooltip { transition: none; }
}

/* Investor operating dashboard */
.dashboard-filter-bar { min-height: 60px; margin-bottom: 14px; padding: 9px 11px 9px 15px; display: flex; align-items: center; gap: 12px; border: 1px solid #292e39; border-radius: 9px; background: #14161d; }
.filter-scope { min-width: 118px; padding-right: 12px; border-right: 1px solid #292e38; }.filter-scope span, .filter-scope strong { display: block; }.filter-scope span { color: #5f6f9f; font-size: 7px; font-weight: 720; letter-spacing: .12em; }.filter-scope strong { margin-top: 4px; color: #c8ccd5; font-size: 9px; font-weight: 560; }
.dashboard-filter-controls { min-width: 0; flex: 1; display: grid; grid-template-columns: repeat(5,minmax(100px,1fr)); gap: 6px; }.dashboard-filter { min-width: 0; height: 38px; padding: 6px 8px; position: relative; display: grid; align-content: center; border: 1px solid #292e39; border-radius: 6px; background: #101218; }.dashboard-filter:hover, .dashboard-filter:focus-within { border-color: #3d465a; background: #151820; }.dashboard-filter span { color: #5e6573; font-size: 7px; }.dashboard-filter select { min-width: 0; padding: 1px 14px 0 0; overflow: hidden; color: #b4bac5; border: 0; outline: 0; appearance: none; background: transparent; text-overflow: ellipsis; white-space: nowrap; font: 9px inherit; }.dashboard-filter i { position: absolute; right: 8px; bottom: 7px; color: #535b69; font-size: 7px; font-style: normal; pointer-events: none; }.filter-reset { height: 36px; padding: 0 10px; flex: 0 0 auto; color: #5f6673; border-radius: 6px; background: transparent; font-size: 8px; }.filter-reset.active { color: #99adf4; background: rgba(92,130,255,.08); }.filter-reset:disabled { cursor: default; opacity: .45; }
.dashboard-filter i .ui-icon { width: 10px; height: 10px; }
.decision-queue { margin-bottom: 18px; overflow: hidden; }.decision-queue .panel-head { min-height: 70px; }.outline-button.compact { height: 30px; padding: 0 9px; font-size: 8px; }.decision-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line-subtle); }.decision-column { min-width: 0; border-right: 1px solid var(--line-subtle); }.decision-column:last-child { border-right: 0; }.decision-column > header { min-height: 52px; padding: 10px 13px; display: grid; grid-template-columns: 6px minmax(0,1fr) auto; align-items: center; gap: 9px; background: #15171e; border-bottom: 1px solid var(--line-subtle); }.decision-column header strong, .decision-column header small { display: block; }.decision-column header strong { color: #d9dce4; font-size: 10px; font-weight: 620; }.decision-column header small { margin-top: 3px; color: #626977; font-size: 7px; }.decision-column header b { min-width: 20px; height: 20px; display: grid; place-items: center; color: #8b92a1; border-radius: 6px; background: #20232c; font-size: 8px; }.decision-status { width: 5px; height: 20px; border-radius: 5px; background: #708eea; }.decision-status.red { background: #e16f7a; }.decision-status.orange { background: #e2a15d; }.decision-status.blue { background: #6689ee; }
.decision-row { width: 100%; min-height: 61px; padding: 10px 12px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 9px; color: inherit; text-align: left; border-bottom: 1px solid var(--line-subtle); background: transparent; }.decision-row:last-child { border-bottom: 0; }.decision-row:hover { background: #191c24; }.decision-row > span:nth-child(2) { min-width: 0; }.decision-row strong, .decision-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.decision-row strong { color: #d8dbe3; font-size: 9px; font-weight: 570; }.decision-row small { margin-top: 4px; color: #747b89; font-size: 8px; }.decision-row > i { color: #565d6b; font-size: 13px; font-style: normal; }.decision-icon { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; color: #88a5ff; border-radius: 7px; background: rgba(92,130,255,.1); font-size: 11px; }.decision-icon.red { color: #f18b94; background: rgba(225,91,105,.1); }.decision-icon.orange { color: #edb276; background: rgba(225,153,83,.1); }.decision-icon.purple { color: #b6a1ff; background: rgba(143,113,235,.11); }.decision-icon.muted { color: #9199a8; background: rgba(137,146,162,.09); }.decision-empty { min-height: 112px; display: grid; place-items: center; padding: 20px; color: #565d69; text-align: center; font-size: 8px; }
.decision-icon .ui-icon { width: 14px; height: 14px; }.decision-row > i .ui-icon { width: 12px; height: 12px; }
.dashboard-support-grid { margin-bottom: 18px; }
.drawer-action { margin: 15px 19px 0; padding: 13px; display: grid; grid-template-columns: 29px minmax(0,1fr); align-items: center; gap: 10px; border: 1px solid #2f3747; border-radius: 9px; background: linear-gradient(145deg,rgba(91,122,226,.085),rgba(21,23,31,.7)); }.drawer-action > div { min-width: 0; }.drawer-action small, .drawer-action strong, .drawer-action p { display: block; }.drawer-action small { color: #6d82c8; font-size: 7px; font-weight: 700; letter-spacing: .1em; }.drawer-action strong { margin-top: 4px; color: #e3e6ed; font-size: 10px; }.drawer-action p { margin: 4px 0 0; overflow: hidden; color: #79808d; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }.drawer-section-head { margin-bottom: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.drawer-section-head h3 { margin-bottom: 0; }.drawer-section-head p { margin: 5px 0 0; color: #666e7b; font-size: 8px; }.basis-badge { padding: 4px 6px; color: #9c835f; border: 1px solid rgba(217,165,94,.2); border-radius: 5px; background: rgba(217,165,94,.06); white-space: nowrap; font-size: 7px; }.basis-badge.current { color: #71caa8; border-color: rgba(75,208,157,.2); background: rgba(75,208,157,.06); }.data-readiness { margin-top: 17px; padding-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; border-top: 1px solid #272b35; }.data-readiness span { padding: 5px 7px; color: #68707e; border: 1px solid #2b303b; border-radius: 5px; background: #15171e; font-size: 7px; }.data-readiness span.ready { color: #6fcaa7; border-color: rgba(73,204,156,.18); background: rgba(73,204,156,.045); }.current-balance-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 9px; }.current-balance-form label > span { display: block; margin-bottom: 6px; color: #777e8b; font-size: 8px; }.current-balance-form label > div { height: 36px; padding: 0 9px; display: flex; align-items: center; gap: 4px; border: 1px solid #303642; border-radius: 7px; background: #111319; }.current-balance-form label b { color: #69717f; font-size: 9px; font-weight: 500; }.current-balance-form input { min-width: 0; width: 100%; color: #e1e4ea; border: 0; outline: 0; background: transparent; font: 10px inherit; }.current-balance-form > .link { grid-column: 1 / -1; justify-self: start; padding: 0; }.drawer-empty-row { padding: 14px; color: #626a77; border: 1px dashed #2c313c; border-radius: 7px; text-align: center; font-size: 8px; }
.threshold-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }.threshold-grid label { min-width: 0; padding: 12px; border: 1px solid #292e39; border-radius: 8px; background: #12141a; }.threshold-grid label > span { display: block; color: #bcc1cc; font-size: 9px; font-weight: 560; }.threshold-grid label > div { height: 34px; margin-top: 8px; padding: 0 9px; display: flex; align-items: center; gap: 5px; border: 1px solid #303642; border-radius: 6px; background: #0e1015; }.threshold-grid input { min-width: 0; flex: 1; color: #e4e7ed; border: 0; outline: 0; background: transparent; font: 11px inherit; }.threshold-grid b { color: #737b89; font-size: 8px; font-weight: 500; }.threshold-grid small { display: block; margin-top: 7px; color: #616875; font-size: 7px; line-height: 1.4; }.threshold-note { margin-top: 12px; padding: 10px; display: flex; gap: 8px; color: #7c8492; border: 1px solid rgba(111,139,239,.14); border-radius: 7px; background: rgba(90,119,220,.045); font-size: 8px; line-height: 1.45; }.threshold-note span { color: #839bef; }
@media (max-width: 1180px) { .dashboard-filter-bar { align-items: flex-start; flex-wrap: wrap; }.filter-scope { height: 38px; display: grid; align-content: center; }.dashboard-filter-controls { order: 3; width: 100%; flex-basis: 100%; }.filter-reset { margin-left: auto; }.decision-columns { grid-template-columns: 1fr; }.decision-column { border-right: 0; border-bottom: 1px solid var(--line-subtle); }.decision-column:last-child { border-bottom: 0; }.decision-column > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }.decision-row { border-right: 1px solid var(--line-subtle); border-bottom: 0; }.decision-row:last-child { border-right: 0; }.decision-empty { min-height: 70px; }.dashboard-support-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .dashboard-filter-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }.dashboard-filter-controls .dashboard-filter:last-child { grid-column: 1 / -1; }.decision-column > div { grid-template-columns: 1fr; }.decision-row { border-right: 0; border-bottom: 1px solid var(--line-subtle); }.threshold-grid { grid-template-columns: 1fr; }.current-balance-form { grid-template-columns: 1fr; }.current-balance-form .outline-button { width: 100%; }.drawer-action { grid-template-columns: 29px minmax(0,1fr); } }

/* Capital partner directory */
.lender-view .page-heading { margin-bottom: 20px; }
.lender-metric-strip { margin-bottom: 18px; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.lender-metric-strip > div { min-height: 102px; padding: 17px 18px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.lender-metric-strip > div:last-child { border-right: 0; }
.lender-metric-strip span { color: #858b98; font-size: 10px; }
.lender-metric-strip strong { margin-top: 8px; overflow: hidden; color: #f0f2f6; font-size: 22px; line-height: 1; letter-spacing: -.04em; text-overflow: ellipsis; white-space: nowrap; font-weight: 590; }
.lender-metric-strip small { margin-top: 7px; overflow: hidden; color: #656c79; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.lender-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 18px; }
.lender-directory { min-width: 0; }
.lender-directory-head { min-height: 74px; padding: 17px 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.lender-directory-head h2 { margin: 0; color: #e5e7ed; font-size: 14px; font-weight: 570; }
.lender-directory-head p { margin: 5px 0 0; color: #6e7481; font-size: 10px; }
.lender-search { width: min(310px,42%); height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 10px; color: #68707e; border: 1px solid #2b303c; border-radius: 7px; background: #111319; }
.lender-search > span .ui-icon { width: 13px; height: 13px; }
.lender-search:focus-within { color: #8fa8ff; border-color: #5269b7; box-shadow: 0 0 0 3px rgba(89,120,233,.09); }
.lender-search input { min-width: 0; width: 100%; color: #e3e6ec; border: 0; outline: 0; background: transparent; font: inherit; font-size: 10px; }
.lender-search input::placeholder { color: #555c69; }
.lender-toolbar { min-height: 43px; padding: 0 19px; display: flex; align-items: center; justify-content: space-between; color: #666d7a; border-top: 1px solid var(--line-subtle); border-bottom: 1px solid var(--line-subtle); font-size: 9px; }
.lender-toolbar > div { display: flex; gap: 4px; }
.lender-toolbar button { padding: 5px 8px; color: #747b89; border-radius: 5px; background: transparent; font-size: 9px; }
.lender-toolbar button:hover, .lender-toolbar button.active { color: #dce2ee; background: #242832; }
.lender-card-grid { padding: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.lender-profile-card { min-width: 0; min-height: 202px; padding: 15px; display: flex; flex-direction: column; color: inherit; text-align: left; border: 1px solid #292e39; border-radius: 9px; background: linear-gradient(160deg,#171a22,#14161d); transition: border-color .16s, background .16s, transform .16s; }
.lender-profile-card:hover { transform: translateY(-1px); border-color: #3b4353; background: linear-gradient(160deg,#1c202a,#171a22); }
.lender-profile-card:focus-visible { outline: 2px solid #607fe9; outline-offset: 2px; }
.lender-profile-head { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 11px; }
.lender-avatar { width: 46px; height: 46px; position: relative; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; color: #eef0ff; border: 1px solid var(--blue); border-radius: 12px; background: linear-gradient(145deg,rgba(124,134,237,.38),rgba(98,108,213,.18)); font-size: 11px; font-weight: 720; letter-spacing: .02em; box-shadow: inset 0 1px rgba(255,255,255,.04); }
.lender-avatar.tone-1, .lender-avatar.tone-2, .lender-avatar.tone-3, .lender-avatar.tone-4 { color: #eef0ff; background: linear-gradient(145deg,rgba(124,134,237,.38),rgba(98,108,213,.18)); }
.lender-avatar img { position: absolute; inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px); padding: 5px; object-fit: contain; border-radius: 9px; background: #f7f8fa; }
.lender-avatar.compact { width: 32px; height: 32px; border-radius: 9px; font-size: 8px; }.lender-avatar.compact img { inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); padding: 3px; border-radius: 7px; }
.lender-profile-name { min-width: 0; }
.lender-profile-name strong { display: block; overflow: hidden; color: #e8eaf0; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 590; }
.lender-profile-name small { display: block; overflow: hidden; margin-top: 5px; color: #717886; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.lender-badge { align-self: start; padding: 4px 6px; color: #7f8aa5; border: 1px solid #303747; border-radius: 5px; background: #1b1f29; white-space: nowrap; font-size: 8px; }.lender-badge.attention { color: #e6ae70; border-color: rgba(235,167,93,.22); background: rgba(235,167,93,.07); }
.lender-exposure { margin-top: 19px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.lender-exposure > span { display: grid; gap: 5px; }.lender-exposure .right { text-align: right; }.lender-exposure small { color: #656c79; font-size: 8px; }.lender-exposure strong { color: #f0f2f6; font-size: 18px; letter-spacing: -.035em; font-weight: 580; font-variant-numeric: tabular-nums; }
.lender-share-bar { height: 3px; margin-top: 11px; overflow: hidden; border-radius: 4px; background: #262b35; }.lender-share-bar i { height: 100%; display: block; border-radius: 4px; background: linear-gradient(90deg,#5979ed,#819dff); }
.lender-card-foot { margin-top: auto; padding-top: 13px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px 12px; color: #69717f; border-top: 1px solid rgba(255,255,255,.035); font-size: 8px; }
.lender-card-foot > span:first-child { display: inline-flex; align-items: center; gap: 5px; color: #8b93a2; }.lender-card-foot > span:nth-child(2) { overflow: hidden; text-align: right; text-overflow: ellipsis; white-space: nowrap; }.lender-card-foot b { grid-column: 1 / -1; color: #87a2ff; font-size: 9px; font-weight: 550; }
.lender-card-foot i .ui-icon, .lender-card-foot b .ui-icon { width: 11px; height: 11px; }.lender-card-foot b { display: inline-flex; align-items: center; gap: 5px; }
.lender-side { grid-template-columns: 1fr; }
.lender-concentration { padding: 5px 18px 18px; display: grid; gap: 12px; }.lender-concentration > p { color: #747b88; font-size: 10px; }
.lender-maturity-list { border-top: 1px solid var(--line-subtle); }.lender-maturity-list > button { width: 100%; min-height: 62px; padding: 10px 17px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 10px; color: inherit; text-align: left; border-bottom: 1px solid var(--line-subtle); background: transparent; }.lender-maturity-list > button:last-child { border-bottom: 0; }.lender-maturity-list > button:hover { background: #191c24; }
.lender-maturity-list strong, .lender-maturity-list small { display: block; }.lender-maturity-list strong { overflow: hidden; color: #dce0e8; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 550; }.lender-maturity-list small { max-width: 145px; overflow: hidden; margin-top: 4px; color: #707784; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }.lender-maturity-list .right { text-align: right; }
.lender-empty { padding: 30px 18px; }
.lender-modal-head { align-items: center; }.lender-modal-identity { min-width: 0; display: flex; align-items: center; gap: 12px; }.lender-modal-identity h2 { margin-top: 3px; }.lender-modal-identity p { margin-top: 4px; }
.lender-detail-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; border: 1px solid #2b303b; border-radius: 8px; background: #111319; }.lender-detail-metrics > div { min-height: 80px; padding: 13px; display: grid; align-content: center; gap: 5px; border-right: 1px solid #292d37; }.lender-detail-metrics > div:last-child { border-right: 0; }.lender-detail-metrics span, .lender-detail-metrics small { color: #68707d; font-size: 8px; }.lender-detail-metrics strong { overflow: hidden; color: #e6e9ef; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 570; }
.lender-detail-note { margin-top: 13px; padding: 11px 12px; display: flex; align-items: flex-start; gap: 9px; color: #8f99b9; border: 1px solid rgba(90,122,231,.17); border-radius: 7px; background: rgba(90,122,231,.05); }.lender-detail-note > span { width: 17px; height: 17px; display: grid; place-items: center; flex: 0 0 auto; color: #9bb0fa; border-radius: 50%; background: rgba(90,122,231,.13); font-size: 9px; }.lender-detail-note p { margin: 0; color: #7e879c; font-size: 9px; line-height: 1.5; }
.lender-facility-head { margin-top: 18px; display: flex; align-items: flex-end; justify-content: space-between; }.lender-facility-head h3 { margin: 0; }.lender-facility-head p { margin: 5px 0 0; font-size: 9px; }.lender-facility-head > span { color: #6c7481; font-size: 9px; }
.lender-facilities { margin-top: 9px; overflow: hidden; border: 1px solid #2b303a; border-radius: 8px; }.lender-facilities > button { width: 100%; min-height: 62px; padding: 10px 12px; display: grid; grid-template-columns: minmax(0,1fr) 115px 12px; align-items: center; gap: 12px; color: inherit; text-align: left; border-bottom: 1px solid #272b35; background: #12141a; }.lender-facilities > button:last-child { border-bottom: 0; }.lender-facilities > button:hover { background: #181b23; }.lender-facilities strong, .lender-facilities small { display: block; }.lender-facilities strong { overflow: hidden; color: #dfe2e9; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 550; }.lender-facilities small { overflow: hidden; margin-top: 4px; color: #6f7683; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }.lender-facilities > button > span:nth-child(2) { text-align: right; }.lender-facilities i { color: #6d7688; font-style: normal; }
.lender-modal-footer { justify-content: flex-end; }.lender-modal-footer > a:first-child { margin-right: auto; display: inline-flex; align-items: center; }
@media (max-width: 1120px) { .lender-metric-strip { grid-template-columns: repeat(3,1fr); }.lender-metric-strip > div:nth-child(3) { border-right: 0; }.lender-metric-strip > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }.lender-layout { grid-template-columns: 1fr; }.lender-side { grid-template-columns: repeat(2,minmax(0,1fr)); }.lender-side > :last-child { grid-column: 1 / -1; } }
@media (max-width: 760px) { .lender-metric-strip { grid-template-columns: repeat(2,1fr); }.lender-metric-strip > div, .lender-metric-strip > div:nth-child(3) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.lender-metric-strip > div:nth-child(even) { border-right: 0; }.lender-metric-strip > div:last-child { grid-column: 1 / -1; border: 0; }.lender-directory-head { align-items: flex-start; flex-direction: column; }.lender-search { width: 100%; }.lender-card-grid { grid-template-columns: 1fr; }.lender-side { grid-template-columns: 1fr; }.lender-side > :last-child { grid-column: auto; }.lender-detail-metrics { grid-template-columns: 1fr 1fr; }.lender-detail-metrics > div:nth-child(2) { border-right: 0; }.lender-detail-metrics > div:nth-child(-n+2) { border-bottom: 1px solid #292d37; }.lender-modal-footer { flex-wrap: wrap; }.lender-modal-footer > a:first-child { width: 100%; margin: 0; justify-content: center; } }
@media (max-width: 480px) { .lender-profile-head { grid-template-columns: 42px minmax(0,1fr); }.lender-badge { grid-column: 2; justify-self: start; }.lender-avatar { width: 42px; height: 42px; }.lender-toolbar { align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; padding-top: 8px; padding-bottom: 8px; }.lender-facilities > button { grid-template-columns: minmax(0,1fr) 80px 8px; } }

/* Semantic icon polish */
.option-icon .ui-icon { width: 14px; height: 14px; }
.workspace-option > b .ui-icon { width: 13px; height: 13px; }
.empty-icon .ui-icon { width: 20px; height: 20px; }
.modal-close, .drawer-close { display: grid; place-items: center; }
.modal-close .ui-icon, .drawer-close .ui-icon { width: 15px; height: 15px; }
.lender-facilities > button > i .ui-icon { width: 12px; height: 12px; }
.lender-detail-note > span .ui-icon { width: 14px; height: 14px; }
.modal-search-field { height: 37px; padding: 0 11px; display: flex; align-items: center; gap: 8px; color: #707887; border: 1px solid #2b2e38; border-radius: 7px; background: #12141a; }
.modal-search-field:focus-within { color: #8da5f5; border-color: #5269ad; box-shadow: 0 0 0 3px rgba(91,122,226,.08); }
.modal-search-field > .ui-icon { width: 14px; height: 14px; }
.modal-search-field .search-input { width: 100%; height: 100%; margin: 0; padding: 0; display: block; color: #e0e2e8; border: 0; outline: 0; background: transparent; }

/* Inline property record completion */
.inline-edit-hint { color: #8d96b9; font-size: 10px; }
.inline-property-editor {
  width: 100%;
  min-height: 29px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  color: #aeb7ff;
  border: 1px dashed #51587a;
  border-radius: 6px;
  background: rgba(94, 106, 210, .07);
  cursor: text;
  transition: border-color .16s, background .16s;
}
.inline-property-editor:hover, .inline-property-editor:focus-within { border-color: #7a85e6; background: rgba(94, 106, 210, .12); }
.inline-property-editor b { color: #9ea7d9; font-size: 11px; font-weight: 500; }
.inline-property-editor input {
  width: 100%;
  min-width: 0;
  height: 27px;
  padding: 0;
  color: #f1f2f6;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
  font-size: 10px;
}
.inline-property-editor input::placeholder { color: #9ca6d5; opacity: 1; }
.inline-property-note { display: block; margin-top: 4px; color: #838cad; font-size: 9px; }
.property-lender { margin-top: 0; color: #c3c6cf !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* --------------------------------------------------------------------------
   Product system
   A single, neutral visual language shared by portfolio, onboarding, and AI.
   -------------------------------------------------------------------------- */
:root {
  color-scheme: dark;
  --bg: #1a1b1f;
  --sidebar: #17181c;
  --panel: #202126;
  --panel-2: #24252a;
  --panel-hover: #292a30;
  --line: #303136;
  --line-subtle: #292a2f;
  --text: #f5f5f7;
  --muted: #a0a0aa;
  --dim: #767680;
  --blue: #5e6ad2;
  --blue-bright: #7782e6;
  --blue-soft: rgba(94, 106, 210, .16);
  --green: #46c99a;
  --orange: #d89b5d;
  --red: #e56b78;
  --purple: #9b8afb;
  --radius: 9px;
  --shadow: 0 20px 60px rgba(0, 0, 0, .34);
}

* { scrollbar-color: #3b3c43 transparent; }
*::selection { color: #fff; background: rgba(119, 130, 230, .48); }
body { background: var(--bg); letter-spacing: -.005em; }
button, input, select, textarea { font-family: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #8992ef;
  outline-offset: 2px;
}

/* Application frame */
.app-shell { background: var(--bg); }
.sidebar {
  width: 240px;
  flex-basis: 240px;
  background: var(--sidebar);
  border-color: var(--line-subtle);
}
.brand {
  height: 64px;
  padding: 0 20px;
  gap: 8px;
  color: #f6f6f8;
  border-color: var(--line-subtle);
  font-size: 25px;
  font-weight: 650;
  letter-spacing: -1.7px;
}
.brand .brand-logo { height: 18px; }
.workspace-wrap { padding: 17px 12px 13px; border-color: var(--line-subtle); }
.eyebrow { color: #70717a; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.workspace-switcher {
  padding: 8px;
  background: #202126;
  border-color: #303136;
  border-radius: 7px;
}
.workspace-switcher:hover { background: #25262b; border-color: #3a3b41; }
.workspace-initials, .option-icon {
  border-radius: 6px;
  background: #363956;
  color: #e4e7ff;
}
.workspace-copy strong, .profile strong { color: #ededf0; font-weight: 600; }
.workspace-copy small, .profile small { color: #8d8e98; }
.main-nav { padding: 15px 10px; }
.nav-item {
  height: 36px;
  padding: 0 9px;
  border-radius: 6px;
  color: #b1b1ba;
  font-size: 12px;
}
.nav-item:hover { color: #f0f0f2; background: #212226; }
.nav-item.active { color: #f7f7f8; background: rgba(94, 106, 210, .17); font-weight: 590; }
.nav-icon { color: #92939d; }
.nav-item.active .nav-icon { color: #b8c0ff; }
.sidebar-bottom { padding: 10px; border-color: var(--line-subtle); }
.profile { border-radius: 6px; }
.profile:hover { background: #222328; }
.profile { border-color: var(--line-subtle); }
.avatar { background: #7067bb; }

.main-content { background: radial-gradient(900px 420px at 65% -160px, rgba(113, 123, 207, .06), transparent 68%), var(--bg); }
.topbar { height: 64px; padding: 0 32px; border-color: var(--line-subtle); }
.breadcrumb { color: #9798a2; font-size: 12px; }
.breadcrumb strong { color: #e5e5e9; font-weight: 570; }
.topbar-actions { gap: 8px; }
.icon-button { height: 30px; min-width: 30px; border-radius: 6px; color: #9b9ca5; }
.icon-button:hover { color: #f1f1f3; background: #24252a; }
.data-freshness { color: #8c8d97; }

/* Page hierarchy and reusable controls */
.view { max-width: 1600px; padding: 32px 40px 48px; }
.page-heading { margin-bottom: 24px; }
.page-heading h1 { color: #f6f6f8; font-size: 27px; font-weight: 650; letter-spacing: -.045em; }
.page-heading p { color: #9a9ba5; line-height: 1.45; }
.heading-actions { gap: 8px; }
.outline-button, .button {
  height: 33px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 560;
}
.outline-button { color: #dedee3; background: #24252a; border-color: #34353b; }
.outline-button:hover { color: #fff; background: #2a2b30; border-color: #44454d; }
.button { background: #5e6ad2; border-color: #6874dc; box-shadow: inset 0 1px rgba(255,255,255,.12); }
.button:hover { background: #6b76dd; border-color: #7782e6; }
.subtle-button, .link { color: #aeb7ff; }
.subtle-button:hover, .link:hover { color: #d3d7ff; }

.panel, .metric-strip, .lender-metric-strip, .dashboard-filter-bar {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: 0 1px 0 rgba(255,255,255,.018);
}
.panel { border-radius: var(--radius); }
.panel-head { min-height: 58px; padding: 16px 18px 13px; }
.panel-head h2, .lender-directory-head h2 { color: #eeeeF1; font-weight: 620; }
.panel-head p, .lender-directory-head p { color: #858690; }
.metric-strip, .lender-metric-strip { margin-bottom: 16px; }
.metric { min-height: 104px; padding: 17px 18px; border-color: var(--line); }
.metric-label, .lender-metric-strip span { color: #9697a1; }
.metric-value, .lender-metric-strip strong { color: #f5f5f7; font-weight: 630; }
.metric-note, .lender-metric-strip small { color: #7d7e88; }
.period-switch { background: #1a1b1f; border-color: #303136; }
.period-switch button { color: #91929c; }
.period-switch button.active { color: #f0f0f2; background: #303137; }

.trust-pill, .status-pill, .data-tag, .alert-tag { border-radius: 5px; font-weight: 650; }
.trust-pill.verified, .status-pill.verified, .status-pill.high { color: #70d5ab; background: rgba(70, 201, 154, .09); border-color: rgba(70, 201, 154, .22); }
.trust-pill.derived { color: #b4bcff; background: rgba(94, 106, 210, .13); border-color: rgba(119, 130, 230, .25); }
.trust-pill.estimated, .status-pill.estimated, .status-pill.medium { color: #efbd84; background: rgba(216, 155, 93, .09); border-color: rgba(216, 155, 93, .22); }

/* Data-dense views */
.table-filter, .filter-pill, .lender-search, .modal-search-field {
  background: #1b1c20;
  border-color: #34353b;
  border-radius: 6px;
}
.table-filter:hover, .filter-pill:hover, .filter-pill.active { background: #292a30; border-color: #44454d; }
.search-input, .lender-search input { color: #eeeeF1; }
.search-input { background: #1a1b1f; border-color: #34353b; border-radius: 6px; }
.search-input:focus, .lender-search:focus-within, .modal-search-field:focus-within {
  border-color: #6974d6;
  box-shadow: 0 0 0 3px rgba(94, 106, 210, .16);
}
.portfolio-table th { color: #83848e; background: rgba(0,0,0,.08); }
.portfolio-table td { color: #d7d7dc; }
.portfolio-table tbody tr:hover, .attention-item:hover, .decision-row:hover, .lender-maturity-list > button:hover { background: #292a2f; }
.property-name { color: #eeeeF1; font-weight: 580; }
.property-sub, .muted { color: #83848e; }
.amount { color: #f0f0f3; }
.filter-row, .portfolio-table th, .portfolio-table td, .attention-list, .attention-item,
.lender-toolbar, .lender-maturity-list, .decision-columns, .decision-column, .decision-row { border-color: var(--line-subtle); }

/* Dashboard and capital views */
.dashboard-filter-bar { border-radius: var(--radius); }
.dashboard-filter { background: #1b1c20; border-color: #34353b; border-radius: 6px; }
.dashboard-filter:hover, .dashboard-filter:focus-within { background: #202126; border-color: #51525b; }
.dashboard-filter select { color: #d5d5db; }
.decision-column > header { background: #222328; border-color: var(--line-subtle); }
.decision-column header b { background: #303137; }
.decision-status { background: #7580df; }
.capital-chart-head, .capital-chart-legend { border-color: var(--line-subtle); }
.capital-grid line { stroke: var(--chart-grid); }
.capital-chart-foot { border-color: var(--line-subtle); }
.capital-tooltip rect { fill: var(--raised); stroke: var(--line); }

/* Lender and relationship views */
.lender-directory-head { min-height: 70px; padding: 16px 18px; }
.lender-toolbar button:hover, .lender-toolbar button.active { color: #f0f0f3; background: #303137; }
.lender-card-grid { padding: 12px; gap: 10px; }
.lender-profile-card {
  min-height: 198px;
  background: #222328;
  border-color: #34353b;
  border-radius: 8px;
  box-shadow: none;
}
.lender-profile-card:hover { background: #27282e; border-color: #494a52; }
.lender-avatar { border-radius: 10px; }
.lender-profile-name strong, .lender-exposure strong { color: #f2f2f4; }
.lender-badge { color: #aeb0bd; background: #2a2b31; border-color: #3b3c44; }
.lender-share-bar, .mini-bar { background: #35363c; }
.lender-share-bar i { background: #7580df; }
.lender-card-foot { border-color: var(--line-subtle); }
.lender-card-foot b { color: #b3bcff; }
.lender-detail-metrics, .lender-facilities { background: #1b1c20; border-color: #35363c; }
.lender-facilities > button { background: #1e1f24; border-color: var(--line-subtle); }
.lender-facilities > button:hover { background: #28292e; }

/* Drawers, popovers, and first-run surfaces */
.popover, .modal, .detail-drawer {
  background: #222328;
  border-color: #3a3b42;
}
.popover, .modal {
  box-shadow: var(--shadow);
}
.detail-drawer { box-shadow: none; }
.detail-drawer.open { box-shadow: -18px 0 60px rgba(0, 0, 0, .34); }
.modal-wrap { background: rgba(12, 12, 15, .62); backdrop-filter: blur(8px); }
.modal-head, .modal-footer { border-color: var(--line); }
.modal-close { color: #b7b8c1; background: #303137; }
.modal-close:hover { color: #fff; background: #3a3b43; }
.field-map, .review-list, .property-review-table { background: #1b1c20; border-color: #35363c; }
.field-map-row, .review-row { border-color: var(--line-subtle); }
.onboarding-mode, .auth-shell { background: #18191d; }
.onboarding-shell {
  background: radial-gradient(700px 420px at 50% 42%, rgba(94, 106, 210, .12), transparent 70%), #18191d;
}
.auth-glow { background: radial-gradient(540px 400px at 50% 40%, rgba(94, 106, 210, .16), transparent 72%); }
.auth-card { background: rgba(32, 33, 38, .94); border-color: #36373d; border-radius: 10px; }
.onboarding-card input, .onboarding-card select, .auth-form input { background: #1b1c20; border-color: #35363c; }
.onboarding-card input:focus, .onboarding-card select:focus, .auth-form input:focus { border-color: #6974d6; box-shadow: 0 0 0 3px rgba(94, 106, 210, .16); }

@media (max-width: 840px) {
  .topbar { height: 60px; padding: 0 18px; }
  .view { padding: 24px 18px 36px; }
}

/* Property workspace */
.property-metric-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}
.property-metric-strip > div { min-height: 94px; padding: 16px 17px; border-right: 1px solid var(--line); }
.property-metric-strip > div:last-child { border-right: 0; }
.property-metric-strip span, .property-card-metrics span, .property-coverage-list span { display: block; color: #8f909a; font-size: 10px; }
.property-metric-strip strong { display: block; margin-top: 7px; color: #f4f4f6; font-size: 21px; font-weight: 640; letter-spacing: -.035em; }
.property-metric-strip strong.attention { color: #e9b276; }
.property-metric-strip strong.positive { color: #71d3a9; }
.property-metric-strip small, .property-card-metrics small { display: block; margin-top: 4px; color: #777983; font-size: 9px; line-height: 1.35; }
.property-layout { display: grid; grid-template-columns: minmax(0, 1fr) 292px; gap: 18px; align-items: start; }
.property-directory { min-width: 0; overflow: hidden; }
.property-directory-head { min-height: 72px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line-subtle); }
.property-directory-head h2 { margin: 0; color: #f0f0f3; font-size: 14px; font-weight: 620; }
.property-directory-head p { margin: 4px 0 0; color: #858690; font-size: 10px; }
.property-search { width: min(260px, 38%); height: 34px; padding: 0 9px; display: flex; align-items: center; gap: 7px; color: #737987; border: 1px solid #34353b; border-radius: 7px; background: #1b1c20; }
.property-search:focus-within { color: #91a2eb; border-color: #6974d6; box-shadow: 0 0 0 3px rgba(94, 106, 210, .16); }
.property-search .ui-icon { width: 13px; height: 13px; flex: 0 0 auto; }
.property-search input { width: 100%; min-width: 0; padding: 0; color: #eeeeF1; border: 0; outline: 0; background: transparent; font: 10px inherit; }
.property-search input::placeholder { color: #6d6f78; }
.property-toolbar { height: 49px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #858690; border-bottom: 1px solid var(--line-subtle); font-size: 10px; }
.property-toolbar > div { display: flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid #34353b; border-radius: 7px; background: #1b1c20; }
.property-toolbar button { height: 25px; padding: 0 8px; color: #8c8e98; border-radius: 5px; background: transparent; font-size: 9px; }
.property-toolbar button:hover, .property-toolbar button.active { color: #f0f0f3; background: #303137; }
.property-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
.property-profile-card { min-width: 0; padding: 14px; display: grid; gap: 13px; color: inherit; text-align: left; border: 1px solid #35363c; border-radius: 8px; background: #222328; transition: border-color .15s, background .15s, transform .15s; }
.property-profile-card:hover { border-color: #4b4c55; background: #28292e; transform: translateY(-1px); }
.property-card-top { min-width: 0; display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: start; gap: 9px; }
.property-card-icon { width: 31px; height: 31px; display: grid; place-items: center; color: #c3c9ff; border: 1px solid #3a3e58; border-radius: 8px; background: #2a2e42; }
.property-card-icon .ui-icon { width: 15px; height: 15px; }
.property-card-copy { min-width: 0; }
.property-card-copy strong { display: block; overflow: hidden; color: #f0f0f3; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 600; }
.property-card-copy small { display: block; overflow: hidden; margin-top: 3px; color: #858690; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.property-card-alert, .property-card-ready { align-self: start; display: inline-flex; align-items: center; gap: 4px; padding: 4px 5px; border-radius: 5px; font-size: 8px; font-weight: 600; white-space: nowrap; }
.property-card-alert { color: #e8b37b; border: 1px solid rgba(216,155,93,.25); background: rgba(216,155,93,.08); }
.property-card-alert .ui-icon { width: 10px; height: 10px; }
.property-card-ready { color: #7cd5ae; border: 1px solid rgba(70,201,154,.22); background: rgba(70,201,154,.07); }
.property-card-tags { min-width: 0; display: flex; gap: 5px; overflow: hidden; }
.property-card-tags span { overflow: hidden; padding: 4px 6px; color: #a5a7b1; border: 1px solid #383940; border-radius: 5px; background: #1b1c20; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }
.property-card-metrics { display: grid; grid-template-columns: 1.05fr 1fr .8fr; gap: 9px; }
.property-card-metrics > div { min-width: 0; }
.property-card-metrics strong { display: block; overflow: hidden; margin-top: 5px; color: #eeeeF1; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 620; letter-spacing: -.02em; }
.property-card-foot { min-width: 0; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--line-subtle); }
.property-card-foot > span:first-child { overflow: hidden; color: #a6a8b0; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.property-card-foot .trust-pill { flex: 0 0 auto; }
.property-side { display: grid; gap: 18px; }
.property-coverage-list { padding: 1px 18px 12px; }
.property-coverage-list > div { padding: 11px 0; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line-subtle); }
.property-coverage-list > div:last-child { border-bottom: 0; }
.property-coverage-list strong { color: #eeeeF1; font-size: 12px; font-weight: 600; }
.property-side-note .trust-legend { padding-top: 2px; padding-bottom: 17px; }

.property-record-form { max-height: min(66vh, 610px); overflow-y: auto; }
.property-form-section { padding: 3px 0 18px; border-bottom: 1px solid var(--line-subtle); }
.property-form-section + .property-form-section { padding-top: 18px; border-bottom: 0; }
.property-form-section h3 { margin: 0 0 12px; color: #ececf0; font-size: 12px; font-weight: 620; }
.property-form-section h3 small { margin-left: 5px; color: #9299c7; font-size: 9px; font-weight: 500; }
.property-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.property-field { min-width: 0; display: grid; gap: 5px; }
.property-field.wide { grid-column: span 2; }
.property-field > span { color: #a0a1aa; font-size: 9px; font-weight: 560; }
.property-field input, .property-field select, .property-field textarea, .property-currency-input { width: 100%; min-width: 0; color: #eeeeF1; border: 1px solid #35363c; border-radius: 6px; background: #1b1c20; font: 10px inherit; }
.property-field input, .property-field select { height: 33px; padding: 0 9px; }
.property-field textarea { min-height: 52px; padding: 8px 9px; resize: vertical; }
.property-field input:focus, .property-field select:focus, .property-field textarea:focus, .property-currency-input:focus-within { outline: 0; border-color: #6974d6; box-shadow: 0 0 0 3px rgba(94,106,210,.15); }
.property-currency-input { height: 33px; padding: 0 9px; display: flex; align-items: center; gap: 5px; }
.property-currency-input b { color: #9da5c9; font-size: 10px; }
.property-currency-input input { height: 100%; padding: 0; border: 0; outline: 0; background: transparent; }
.property-form-note { margin: 11px 0 0; color: #858690; font-size: 9px; line-height: 1.45; }

@media (max-width: 1120px) {
  .property-layout { grid-template-columns: 1fr; }
  .property-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 840px) {
  .property-metric-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .property-metric-strip > div:nth-child(3) { border-right: 0; }
  .property-metric-strip > div:nth-child(-n + 3) { border-bottom: 1px solid var(--line); }
  .property-card-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .property-directory-head { align-items: stretch; flex-direction: column; }
  .property-search { width: 100%; }
  .property-toolbar { height: auto; min-height: 50px; align-items: flex-start; flex-direction: column; padding: 10px 14px; }
  .property-toolbar > div { width: 100%; }
  .property-toolbar button { flex: 1; }
  .property-metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-metric-strip > div { border-bottom: 1px solid var(--line); }
  .property-metric-strip > div:nth-child(2n) { border-right: 0; }
  .property-metric-strip > div:last-child { border-bottom: 0; }
  .property-side { grid-template-columns: 1fr; }
  .property-form-grid { grid-template-columns: 1fr 1fr; }
  .property-field.wide { grid-column: span 2; }
}

/* Property inventory and record detail */
.property-inventory-view { max-width: 1640px; }
.property-inventory-view .page-heading { margin-bottom: 18px; }
.portfolio-kpi-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.portfolio-kpi-grid > div { min-width: 0; min-height: 104px; padding: 17px 18px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.portfolio-kpi-grid > div:last-child { border-right: 0; }
.portfolio-kpi-grid span { color: #8a8b95; font-size: 10px; }
.portfolio-kpi-grid strong { overflow: hidden; margin-top: 8px; color: #f4f4f6; font-size: clamp(18px, 1.5vw, 23px); line-height: 1; letter-spacing: -.045em; text-overflow: ellipsis; white-space: nowrap; font-weight: 650; font-variant-numeric: tabular-nums; }
.portfolio-kpi-grid strong.positive, .positive { color: #76d8ae; }
.portfolio-kpi-grid small { margin-top: 7px; overflow: hidden; color: #777983; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.property-inventory { overflow: visible; }
.property-inventory-head { min-height: 77px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line-subtle); }
.property-inventory-head h2 { margin: 0; color: #f1f1f4; font-size: 14px; font-weight: 630; }
.property-inventory-head p { margin: 5px 0 0; color: #858690; font-size: 10px; }
.property-inventory-actions { position: relative; display: flex; align-items: center; gap: 7px; }
.property-inventory-actions .property-search { width: 210px; }
.property-select { height: 34px; max-width: 126px; padding: 0 26px 0 9px; color: #a7a9b3; border: 1px solid #34353b; border-radius: 7px; outline: 0; background: #1b1c20; font: 10px inherit; appearance: auto; }
.property-select:focus { border-color: #6974d6; box-shadow: 0 0 0 3px rgba(94, 106, 210, .14); }
.property-column-control { position: relative; }
.property-column-control .outline-button { height: 34px; padding: 0 10px; gap: 6px; font-size: 10px; }
.property-column-control .outline-button .ui-icon { width: 13px; height: 13px; }
.property-column-menu { width: 175px; position: absolute; z-index: 5; top: calc(100% + 7px); right: 0; padding: 10px; display: grid; gap: 7px; color: #b8bac3; border: 1px solid #414249; border-radius: 8px; background: #25262c; box-shadow: 0 16px 36px rgba(0,0,0,.34); }
.property-column-menu strong { padding: 1px 2px 5px; color: #dfe0e6; font-size: 9px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.property-column-menu label { display: flex; align-items: center; gap: 8px; padding: 5px 4px; color: #b6b8c0; font-size: 10px; cursor: pointer; }
.property-column-menu input { width: 13px; height: 13px; margin: 0; accent-color: #7380df; }
.property-table-wrap { overflow-x: auto; }
.property-inventory-table { width: 100%; min-width: 1540px; border-collapse: collapse; table-layout: auto; }
.property-inventory-table th { height: 39px; padding: 0 15px; color: #82838d; border-bottom: 1px solid var(--line-subtle); background: rgba(0,0,0,.07); text-align: left; white-space: nowrap; font-size: 9px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.property-inventory-table th:first-child, .property-inventory-table td:first-child { padding-left: 18px; }
.property-inventory-table th:last-child, .property-inventory-table td:last-child { padding-right: 18px; }
.property-inventory-table th button { display: inline-flex; align-items: center; gap: 5px; padding: 0; color: inherit; background: transparent; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.property-inventory-table th button:hover, .property-inventory-table th.sorted button { color: #c2c8ed; }
.property-inventory-table th i { color: #747dba; font-style: normal; font-size: 11px; }
.property-inventory-table td { height: 65px; padding: 10px 15px; color: #dedee3; border-bottom: 1px solid var(--line-subtle); vertical-align: middle; white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums; }
.property-inventory-table td > strong { color: #e7e7eb; font-weight: 610; }
.property-inventory-table .property-cell-note, .property-entity-cell small, .property-lender-cell small { display: block; max-width: 170px; overflow: hidden; margin-top: 5px; color: #747680; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; font-weight: 450; }
.property-entity-cell, .property-lender-cell { max-width: 190px; }
.property-entity-cell strong, .property-lender-cell strong { display: block; max-width: 180px; overflow: hidden; color: #d8d9df; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 590; }
.property-inventory-table tbody tr { cursor: pointer; transition: background .15s; }
.property-inventory-table tbody tr:hover, .property-inventory-table tbody tr:focus { outline: 0; background: #292a2f; }
.property-primary-cell { min-width: 236px; }
.property-primary-cell strong, .property-primary-cell span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-primary-cell strong { max-width: 265px; color: #f0f0f3; font-size: 12px; font-weight: 620; }
.property-primary-cell span { max-width: 265px; margin-top: 4px; color: #797b85; font-size: 9px; }
.property-inventory-table .equity-cell { color: #74d3aa; }
.facility-cell-trigger { min-width: 190px; padding: 0; display: grid; justify-items: start; gap: 4px; color: inherit; background: transparent; text-align: left; }
.facility-cell-trigger > strong { color: #e7e7eb; font-size: 11px; font-weight: 610; }
.facility-cell-trigger > span { display: inline-flex; align-items: center; gap: 5px; padding: 3px 6px; color: #e0b373; border: 1px solid rgba(224,179,115,.28); border-radius: 5px; background: rgba(224,179,115,.08); font-size: 8px; font-weight: 620; }
.facility-cell-trigger > span .ui-icon { width: 10px; height: 10px; }
.facility-cell-trigger > small { color: #8b8e99; font-size: 8px; }
.facility-cell-trigger:hover > span, .facility-cell-trigger:focus-visible > span { color: #f1c98f; border-color: rgba(241,201,143,.5); background: rgba(224,179,115,.14); }
.facility-cell-trigger:focus-visible { outline: 2px solid #6e7dd6; outline-offset: 4px; border-radius: 4px; }
.property-inventory-table .facility-state-cell { color: #c4c6d0; }
.property-inventory-table .facility-state-label { color: #c7c9d2; font-size: 10px; font-weight: 610; }
.property-inventory-table .facility-state-note { color: #9a7f5f; }
.property-status-cell { min-width: 218px; }
.property-status-cell small { display: block; max-width: 205px; overflow: hidden; margin-top: 5px; color: #81828c; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.property-health { display: inline-flex; align-items: center; gap: 5px; min-height: 21px; padding: 0 7px; border: 1px solid; border-radius: 5px; font-size: 9px; font-weight: 650; }
.property-health i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.property-health.unscored { color: #a3a6b0; border-color: rgba(163,166,176,.24); background: rgba(163,166,176,.07); }
.property-health.healthy { color: #72d8aa; border-color: rgba(92,207,155,.25); background: rgba(92,207,155,.08); }
.property-health.watch { color: #e8b271; border-color: rgba(232,178,113,.25); background: rgba(232,178,113,.08); }
.property-health.attention { color: #f08089; border-color: rgba(240,128,137,.25); background: rgba(240,128,137,.08); }
.property-inventory-foot { min-height: 43px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #777983; border-top: 1px solid rgba(255,255,255,.02); font-size: 9px; }
.property-inventory-foot > span:last-child { display: inline-flex; align-items: center; gap: 5px; color: #9097c7; }
.property-inventory-foot .ui-icon { width: 12px; height: 12px; }

.facility-drawer-head { background: radial-gradient(350px 140px at 85% 0, rgba(222,169,92,.11), transparent 72%); }
.facility-summary .detail-grid { gap: 1px; overflow: hidden; border: 1px solid #30343e; border-radius: 8px; background: #30343e; }
.facility-summary .detail-metric { min-height: 75px; padding: 12px; background: #191b22; }
.facility-allocation-note { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 11px; border-left: 3px solid #c68f4c; background: rgba(198,143,76,.055); }
.facility-allocation-note > span { width: 30px; height: 30px; display: grid; place-items: center; color: #e0b373; border-radius: 7px; background: rgba(224,179,115,.1); }
.facility-allocation-note .ui-icon { width: 15px; height: 15px; }
.facility-allocation-note strong { color: #e6d4bb; font-size: 10px; }
.facility-allocation-note p { margin: 6px 0 0; color: #96929a; font-size: 9px; line-height: 1.5; }
.facility-collateral-list { display: grid; gap: 7px; }
.facility-collateral-row { min-width: 0; width: 100%; min-height: 57px; padding: 10px 11px; display: grid; grid-template-columns: minmax(0,1fr) auto 14px; align-items: center; gap: 10px; color: inherit; border: 1px solid #30343e; border-radius: 7px; background: #191b21; text-align: left; }
.facility-collateral-row:not(.unresolved):hover { border-color: #4b5370; background: #20232c; }
.facility-collateral-row > span { min-width: 0; }
.facility-collateral-row > span:nth-child(2) { text-align: right; }
.facility-collateral-row strong, .facility-collateral-row small { display: block; }
.facility-collateral-row strong { overflow: hidden; color: #e3e4e9; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; font-weight: 610; }
.facility-collateral-row small { overflow: hidden; margin-top: 4px; color: #767b87; text-overflow: ellipsis; white-space: nowrap; font-size: 7px; }
.facility-collateral-row > .ui-icon { width: 12px; height: 12px; color: #747b9e; }
.facility-collateral-row.unresolved { grid-template-columns: minmax(0,1fr) auto; border-style: dashed; }

.property-detail-view { max-width: 1450px; }
.property-detail-nav { margin-bottom: 14px; display: flex; align-items: center; gap: 10px; color: #6f717a; font-size: 10px; }
.back-link { display: inline-flex; align-items: center; gap: 4px; padding: 4px 0; color: #9ea7df; background: transparent; font-size: 10px; }
.back-link:hover { color: #ccd2ff; }
.back-link .ui-icon { width: 13px; height: 13px; }
.property-detail-hero { min-height: 176px; padding: 17px; display: grid; grid-template-columns: 172px minmax(0, 1fr) minmax(230px, .45fr); align-items: stretch; gap: 20px; overflow: hidden; border: 1px solid #37383f; border-radius: 11px; background: radial-gradient(450px 200px at 68% 0, rgba(101,115,213,.12), transparent 75%), #222328; }
.property-photo { min-height: 140px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; overflow: hidden; color: #c8d0ff; border: 1px solid #45475a; border-radius: 8px; background: linear-gradient(140deg, #34364c 0%, #232633 45%, #1a1b21 100%); background-position: center; background-size: cover; }
.property-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,.08), transparent 40%, rgba(0,0,0,.32)); pointer-events: none; }
.property-photo > * { position: relative; z-index: 1; }
.property-photo .ui-icon { width: 35px; height: 35px; }
.property-photo small { color: #a8b2df; font-size: 9px; }
.property-photo.has-image > span, .property-photo.has-image > small { display: none; }
.property-hero-copy { min-width: 0; align-self: center; }
.property-hero-kicker { color: #9da9ee; font-size: 9px; font-weight: 670; letter-spacing: .1em; text-transform: uppercase; }
.property-hero-copy h1 { max-width: 620px; overflow: hidden; margin: 8px 0 0; color: #f5f5f7; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(22px, 2.4vw, 31px); font-weight: 640; letter-spacing: -.045em; }
.property-hero-copy p { margin: 7px 0 0; overflow: hidden; color: #a1a3ad; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.property-hero-meta { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 6px; }
.property-hero-meta span { padding: 5px 7px; color: #b6b8c2; border: 1px solid #3b3c43; border-radius: 5px; background: rgba(0,0,0,.1); font-size: 9px; }
.property-hero-actions { min-width: 0; padding: 7px 0 7px 20px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; border-left: 1px solid rgba(255,255,255,.07); }
.property-hero-actions p { max-width: 260px; margin: 8px 0 0; color: #a0a2ab; font-size: 10px; line-height: 1.45; }
.property-hero-actions .button { align-self: stretch; }
.property-detail-summary { margin: 15px 0 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.property-detail-summary > div { min-width: 0; min-height: 76px; padding: 13px 16px; display: grid; align-content: center; gap: 7px; border-right: 1px solid var(--line); }
.property-detail-summary > div:last-child { border-right: 0; }
.property-detail-summary span { color: #868892; font-size: 9px; }
.property-detail-summary strong { overflow: hidden; color: #f1f1f4; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; font-weight: 640; font-variant-numeric: tabular-nums; }
.property-detail-summary strong i { color: #757782; font-style: normal; font-weight: 400; }
.property-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 282px; align-items: start; gap: 18px; }
.property-detail-sections { min-width: 0; display: grid; gap: 13px; }
.property-detail-section { padding: 0 18px 17px; }
.property-detail-section > header { min-height: 61px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line-subtle); }
.property-detail-section > header > div > span { color: #7f8bca; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.property-detail-section h2 { margin: 4px 0 0; color: #ececf0; font-size: 14px; font-weight: 630; letter-spacing: -.01em; }
.property-detail-section .link { color: #98a6eb; font-size: 10px; }
.property-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 15px; overflow: hidden; border: 1px solid #34353b; border-radius: 7px; background: #34353b; }
.property-detail-metric { min-width: 0; min-height: 76px; padding: 12px; display: grid; align-content: center; gap: 6px; background: #1d1e23; }
.property-detail-metric span { overflow: hidden; color: #858690; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.property-detail-metric strong { overflow: hidden; color: #ededf0; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 610; font-variant-numeric: tabular-nums; }
.property-detail-metric small { overflow: hidden; color: #72747e; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }
.property-health-panel { padding: 17px; display: grid; align-content: start; gap: 11px; border: 1px solid #383940; border-radius: 9px; background: #202126; }
.property-health-panel > span:first-child { color: #818bc2; font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.property-health-panel > .property-health { justify-self: start; }
.property-health-panel h2 { margin: 0; color: #f0f0f3; font-size: 15px; font-weight: 630; letter-spacing: -.02em; }
.property-health-panel p { margin: 0; color: #a4a6ae; font-size: 10px; line-height: 1.52; }
.property-health-panel ul { margin: 0; padding: 10px 0 1px 15px; color: #8d8f99; border-top: 1px solid var(--line-subtle); font-size: 9px; line-height: 1.55; }
.property-health-panel li + li { margin-top: 5px; }
.property-health-thresholds { padding-top: 9px; border-top: 1px solid var(--line-subtle); }
.property-health-thresholds span, .property-health-thresholds small { display: block; }
.property-health-thresholds span { color: #a6a8b1; font-size: 9px; font-weight: 620; }
.property-health-thresholds small { margin-top: 5px; color: #6f717b; font-size: 8px; line-height: 1.45; }
.property-health-panel .outline-button { width: 100%; margin-top: 2px; font-size: 10px; }
.property-number-input { height: 33px; padding: 0 9px; display: flex; align-items: center; gap: 6px; color: #9da5c9; border: 1px solid #35363c; border-radius: 6px; background: #1b1c20; }
.property-number-input:focus-within { border-color: #6974d6; box-shadow: 0 0 0 3px rgba(94,106,210,.15); }
.property-number-input input { min-width: 0; width: 100%; height: 100%; padding: 0; color: #eeeeF1; border: 0; outline: 0; background: transparent; font: 10px inherit; }
.property-number-input b { color: #9da5c9; font-size: 10px; font-weight: 500; }

@media (max-width: 1240px) {
  .portfolio-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portfolio-kpi-grid > div:nth-child(3) { border-right: 0; }
  .portfolio-kpi-grid > div:nth-child(-n + 3) { border-bottom: 1px solid var(--line); }
  .property-inventory-head { align-items: flex-start; flex-direction: column; }
  .property-inventory-actions { width: 100%; }
  .property-inventory-actions .property-search { flex: 1; }
  .property-detail-hero { grid-template-columns: 155px minmax(0, 1fr); }
  .property-hero-actions { grid-column: 1 / -1; padding: 13px 0 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 15px; border-top: 1px solid rgba(255,255,255,.07); border-left: 0; }
  .property-hero-actions .button { width: auto; align-self: end; }
  .property-detail-layout { grid-template-columns: 1fr; }
  .property-health-panel { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .property-health-panel > span:first-child, .property-health-panel > .property-health { grid-column: 1; }
  .property-health-panel h2, .property-health-panel p, .property-health-panel ul, .property-health-thresholds { grid-column: 2; }
  .property-health-panel .outline-button { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .portfolio-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-kpi-grid > div, .portfolio-kpi-grid > div:nth-child(3) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .portfolio-kpi-grid > div:nth-child(even) { border-right: 0; }
  .portfolio-kpi-grid > div:last-child { border-bottom: 0; }
  .property-inventory-actions { flex-wrap: wrap; }
  .property-inventory-actions .property-search { width: 100%; flex-basis: 100%; }
  .property-select { flex: 1; max-width: none; }
  .property-detail-hero { padding: 13px; grid-template-columns: 105px minmax(0, 1fr); gap: 13px; }
  .property-photo { min-height: 118px; }
  .property-hero-copy h1 { font-size: 22px; }
  .property-detail-summary { grid-template-columns: 1fr 1fr; }
  .property-detail-summary > div:nth-child(2) { border-right: 0; }
  .property-detail-summary > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .property-detail-grid { grid-template-columns: 1fr 1fr; }
  .property-detail-section { padding-left: 13px; padding-right: 13px; }
  .property-health-panel { grid-template-columns: 1fr; }
  .property-health-panel > span:first-child, .property-health-panel > .property-health, .property-health-panel h2, .property-health-panel p, .property-health-panel ul, .property-health-thresholds { grid-column: auto; }
  .property-inventory-foot { align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; padding-top: 8px; padding-bottom: 8px; }
}

@media (max-width: 500px) {
  .property-select { min-width: 0; }
  .property-column-control { margin-left: auto; }
  .property-hero-actions { grid-template-columns: 1fr; }
  .property-hero-actions .button { width: 100%; }
  .property-detail-hero { grid-template-columns: 1fr; }
  .property-photo { min-height: 130px; }
  .property-detail-grid { grid-template-columns: 1fr; }
}

.workspace-menu-actions { margin: 9px; padding-top: 9px; border-top: 1px solid #303136; }
.workspace-menu-actions .add-workspace { width: 100%; min-height: 58px; margin: 0; padding: 9px; display: grid; grid-template-columns: 30px minmax(0, 1fr) 14px; align-items: center; gap: 9px; color: #d9dcf7; text-align: left; border: 1px solid #393c49; border-radius: 8px; background: #24262f; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.workspace-menu-actions .add-workspace:hover { color: #f2f3ff; border-color: #59629a; background: #2a2d3b; transform: translateY(-1px); }
.add-workspace .add-workspace-icon { width: 30px; height: 30px; padding: 0; display: grid; place-items: center; color: #d5daff; border: 1px solid rgba(121,132,226,.38); border-radius: 8px; background: rgba(98,108,213,.18); }
.add-workspace .add-workspace-icon .ui-icon { width: 14px; height: 14px; }
.add-workspace .add-workspace-copy { min-width: 0; padding: 0; font-size: inherit; }
.add-workspace-copy strong { display: block; color: inherit; font-size: 10px; font-weight: 650; }
.add-workspace-copy small { display: block; overflow: hidden; margin-top: 3px; color: #8f94a9; text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }
.add-workspace > i { display: grid; place-items: center; color: #8f98d3; }
.add-workspace > i .ui-icon { width: 12px; height: 12px; }
.add-entity-back { margin-bottom: 8px; }

/* Xoan Admin-aligned product surface: shared tokens, density, and interaction language. */
:root {
  color-scheme: dark;
  --bg: #1b1c21;
  --sidebar: #18191e;
  --panel: #202126;
  --panel-2: #24252b;
  --panel-hover: #292a31;
  --line: #34353c;
  --line-subtle: #2b2c33;
  --text: #f2f2f4;
  --muted: #a0a1ab;
  --dim: #777881;
  --blue: #626cd5;
  --blue-bright: #7c86ed;
  --blue-soft: rgba(98, 108, 213, .14);
  --green: #62d3a7;
  --green-soft: rgba(98, 211, 167, .12);
  --orange: #d89b5d;
  --orange-soft: rgba(225, 173, 96, .12);
  --red: #e56b78;
  --red-soft: rgba(239, 127, 130, .12);
  --purple: #9b8afb;
  --field: #1d1e23;
  --raised: #27282f;
  --topbar: rgba(27, 28, 33, .93);
  --overlay: rgba(5, 6, 9, .64);
  --placeholder: #666873;
  --accent-text: #cdd1ff;
  --accent-text-strong: #eef0ff;
  --accent-link: #aeb5ff;
  --success-text: #92e4c4;
  --warning-text: #ecc682;
  --danger-text: #ffacaf;
  --chart-grid: rgba(255, 255, 255, .055);
  --chart-dot: #202126;
  --chart-line-width: 1.6;
  --chart-grid-width: .75;
  --chart-point-stroke-width: 1.25;
  --quiet-fill: rgba(255, 255, 255, .018);
  --hover-fill: rgba(255, 255, 255, .035);
  --radius: 10px;
  --radius-lg: 14px;
  --sidebar-width: 240px;
  font-synthesis: none;
}

body { line-height: 1.45; }
body, .app-shell, .main-content { background: var(--bg); }
.main-content { background-image: none; }
.sidebar {
  z-index: 30;
  width: var(--sidebar-width);
  flex-basis: var(--sidebar-width);
  padding: 18px 14px 14px;
  border-right-color: var(--line-subtle);
}
.brand {
  min-height: 45px;
  height: auto;
  padding: 0 10px;
  border: 0;
}
.brand .brand-logo {
  width: 92px;
  height: auto;
  max-height: 28px;
  object-fit: contain;
  object-position: left center;
}
.workspace-wrap {
  margin-top: 12px;
  padding: 0;
  border: 0;
}
.workspace-switcher {
  min-height: 50px;
  padding: 7px 8px;
  gap: 9px;
  border-color: var(--line-subtle);
  border-radius: 9px;
  background: var(--panel);
}
.workspace-switcher:hover { background: var(--panel-2); border-color: var(--line); }
.workspace-initials, .option-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--blue-soft);
  color: var(--accent-text);
  font-size: 11px;
  font-weight: 700;
}
.workspace-copy strong { color: var(--text); font-size: 12px; font-weight: 600; }
.workspace-copy small { margin-top: 1px; color: var(--dim); font-size: 10px; }
.workspace-switcher > .chevron { width: 14px; height: 14px; color: var(--dim); }
.workspace-switcher > .chevron .ui-icon { width: 14px; height: 14px; }
.workspace-menu { top: calc(100% + 8px); left: 0; }
.main-nav {
  display: grid;
  flex: 0 0 auto;
  gap: 3px;
  margin-top: 18px;
  padding: 0;
}
.nav-item {
  position: relative;
  isolation: isolate;
  min-height: 40px;
  height: auto;
  gap: 11px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 550;
  transform: translateZ(0);
  transition: border-color 160ms ease, background 160ms ease, box-shadow 180ms ease, color 160ms ease, transform 110ms ease;
}
.nav-item::before,
.nav-item::after {
  position: absolute;
  z-index: -1;
  content: '';
  pointer-events: none;
}
.nav-item::before {
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 24% 50%, rgba(124, 134, 237, .2), transparent 58%);
  opacity: 0;
  transform: scale(.82);
  transition: opacity 160ms ease, transform 180ms ease;
}
.nav-item::after {
  top: 5px;
  right: -1px;
  bottom: 5px;
  width: 3px;
  border-radius: 999px 0 0 999px;
  background: linear-gradient(180deg, rgba(155, 138, 251, 0), var(--purple) 24%, var(--purple) 76%, rgba(155, 138, 251, 0));
  box-shadow: -2px 0 10px rgba(155, 138, 251, .48);
  opacity: 0;
  transform: translateX(3px) scaleY(.45);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(.2, .8, .2, 1);
}
.nav-icon { width: 18px; height: 18px; color: inherit; }
.nav-icon .ui-icon { width: 18px; height: 18px; stroke-width: 1.65; }
.nav-item .ui-icon { transition: color 160ms ease, filter 180ms ease, transform 180ms ease; }
.nav-item:hover:not(.active) { border-color: var(--hover-fill); background: var(--hover-fill); color: var(--text); }
.nav-item:focus-visible { outline: 2px solid rgba(124, 134, 237, .82); outline-offset: 2px; }
.nav-item:active { transform: translateY(1px) scale(.985); }
.nav-item:active::before { opacity: 1; transform: scale(1); }
.nav-item.active {
  border-color: rgba(155, 138, 251, .17);
  background:
    linear-gradient(90deg, rgba(255,255,255,.028) 0%, rgba(255,255,255,.018) 55%, rgba(98,108,213,.065) 77%, rgba(155,138,251,.16) 100%),
    var(--panel);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), inset -6px 0 14px rgba(155,138,251,.055), 0 5px 14px rgba(0,0,0,.13);
  color: var(--accent-text-strong);
}
.nav-item.active:hover {
  border-color: rgba(155, 138, 251, .23);
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 0%, rgba(255,255,255,.022) 55%, rgba(98,108,213,.08) 77%, rgba(155,138,251,.2) 100%),
    var(--panel);
}
.nav-item.active::after { opacity: 1; transform: translateX(0) scaleY(1); }
.nav-item.active .nav-icon .ui-icon { color: var(--accent-text-strong); filter: drop-shadow(0 0 4px rgba(155,138,251,.24)); }
.sidebar-bottom {
  position: relative;
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding: 0;
  border: 0;
}
.profile {
  min-height: 50px;
  margin: 0;
  padding: 7px 8px;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--text);
}
.profile:hover { border-color: var(--line-subtle); background: var(--panel); }
.profile[aria-expanded="true"] {
  border-color: rgba(124, 134, 237, .42);
  background: linear-gradient(110deg, rgba(124, 134, 237, .10), rgba(155, 138, 251, .04)), var(--panel);
  box-shadow: inset 0 0 0 1px rgba(124, 134, 237, .08), 0 8px 20px rgba(0, 0, 0, .18);
}
.profile > span:nth-child(2) { min-width: 0; display: grid; flex: 1; }
.profile strong { color: var(--text); font-size: 12px; font-weight: 600; }
.profile small { margin-top: 1px; color: var(--dim); font-size: 10px; }
.avatar {
  width: 32px;
  height: 32px;
  border-radius: var(--person-avatar-radius);
  background: var(--blue-soft);
  color: var(--accent-text);
  font-size: 11px;
  font-weight: 700;
}
.profile-menu {
  width: min(286px, calc(100vw - 28px));
  max-height: calc(100vh - 96px);
  position: absolute;
  z-index: 60;
  left: 0;
  bottom: calc(100% + 9px);
  overflow-y: auto;
  color: var(--text);
  border: 1px solid #3a3b46;
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(124, 134, 237, .055), transparent 48%), #25262d;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .43), inset 0 1px 0 rgba(255, 255, 255, .025);
  transform-origin: left bottom;
  scrollbar-width: thin;
}
.profile-menu[hidden] { display: none; }
.profile-menu-identity {
  min-height: 68px;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid var(--line-subtle);
}
.profile-menu-avatar {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #d9dcff;
  border-radius: var(--person-avatar-radius);
  background: rgba(94, 106, 210, .24);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
}
.avatar, .profile-menu-avatar, .settings-profile-avatar {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.person-avatar {
  position: relative;
  border-radius: var(--person-avatar-radius);
  overflow: hidden;
  isolation: isolate;
}
.profile-avatar-fallback {
  position: relative;
  z-index: 0;
  display: grid;
  place-items: center;
}
.avatar > .profile-avatar-fallback,
.profile-menu-avatar > .profile-avatar-fallback,
.settings-profile-avatar > .profile-avatar-fallback { width: 100%; height: 100%; }
.avatar > img,
.profile-menu-avatar > img,
.settings-profile-avatar > img {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  object-fit: cover;
  background: var(--panel-2);
}
.profile-menu-identity > span:last-child,
.profile-menu-item > span:last-child { min-width: 0; }
.profile-menu-identity strong,
.profile-menu-identity small,
.profile-menu-item strong,
.profile-menu-item small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-menu-identity strong { color: #f1f1f4; font-size: 12px; font-weight: 640; }
.profile-menu-identity small { margin-top: 2px; color: #8f909a; font-size: 9.5px; }
.profile-menu-group { padding: 7px 8px; }
.profile-menu-group + .profile-menu-group { border-top: 1px solid var(--line-subtle); }
.profile-menu-item {
  width: 100%;
  min-height: 52px;
  padding: 7px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: inherit;
  border: 0;
  border-radius: 8px;
  background: transparent;
  text-align: left;
}
.profile-menu-item:hover { background: rgba(255, 255, 255, .038); }
.profile-menu-item:focus-visible { outline-offset: -1px; background: rgba(124, 134, 237, .10); }
.profile-menu-item-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: #aaaab5;
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
}
.profile-menu-item-icon .ui-icon { width: 16px; height: 16px; stroke-width: 1.65; }
.profile-menu-item strong { color: #ededf0; font-size: 11px; font-weight: 620; }
.profile-menu-item small { margin-top: 2px; color: #858690; font-size: 9px; }
.profile-menu-signout { padding-top: 6px; padding-bottom: 6px; }
.profile-menu-signout .profile-menu-item-icon { color: #a8a9b3; }
.topbar { border-color: var(--line-subtle); }
.topbar {
  position: sticky;
  z-index: 20;
  top: 0;
  height: 65px;
  padding: 0 27px;
  background: var(--topbar);
  backdrop-filter: blur(12px);
}
.breadcrumb {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  overflow: hidden;
  color: var(--dim);
  font-size: 12px;
}
.breadcrumb-link {
  min-width: 0;
  max-width: min(240px, 25vw);
  padding: 3px 2px;
  overflow: hidden;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--dim);
  text-overflow: ellipsis;
  white-space: nowrap;
  font: inherit;
  cursor: pointer;
  transition: color 140ms ease, background-color 140ms ease, transform 140ms ease;
}
.breadcrumb-link:hover { color: var(--text); background: var(--hover-fill); }
.breadcrumb-link:active { transform: scale(.97); }
.breadcrumb-link:focus-visible { outline: 2px solid rgba(139,154,255,.72); outline-offset: 2px; }
.breadcrumb .breadcrumb-current {
  min-width: 0;
  overflow: hidden;
  color: #f5f5f7;
  font: inherit;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.breadcrumb-separator { flex: 0 0 auto; color: var(--dim); }
.topbar-actions { flex: 0 0 auto; }
.property-detail-nav { display: none; }
.icon-button { height: 36px; min-width: 36px; border: 1px solid transparent; border-radius: 8px; }
.view { max-width: 1540px; padding: 25px 27px 48px; }
.page-heading { gap: 20px; margin-bottom: 22px; }
.page-heading h1 { font-size: clamp(24px, 2.2vw, 30px); font-weight: 650; line-height: 1.18; }
.page-heading p { color: #a2a3ad; }
.button, .outline-button { height: 38px; min-height: 38px; padding: 8px 13px; border-radius: 8px; font-size: 12px; font-weight: 620; }
.button { background: var(--blue); border-color: var(--blue); box-shadow: none; }
.button:hover { background: var(--blue-bright); border-color: var(--blue-bright); }
.outline-button { background: var(--panel-2); border-color: var(--line); }
.outline-button:hover { background: var(--panel-hover); border-color: #454750; }
.button:disabled, .outline-button:disabled { cursor: not-allowed; opacity: .46; }

.portfolio-kpi-grid { margin-bottom: 19px; border-color: #36373f; border-radius: 10px; background: #202126; }
.portfolio-kpi-grid > div { min-height: 105px; padding: 18px; border-color: #36373f; }
.portfolio-kpi-grid span { color: #a0a1aa; font-size: 10px; }
.portfolio-kpi-grid strong { margin-top: 9px; color: #f3f3f5; font-size: clamp(20px, 1.55vw, 24px); }
.portfolio-kpi-grid strong.positive, .positive { color: #69d8ad; }
.portfolio-kpi-grid small { color: #858690; }

.property-inventory { border-color: var(--line-subtle); border-radius: var(--radius); background: var(--panel); }
.property-inventory-head { min-height: 66px; padding: 13px 15px; border-color: var(--line-subtle); }
.property-inventory-head h2 { color: #f1f1f3; font-size: 15px; }
.property-inventory-head p { color: var(--dim); }
.property-inventory-actions { gap: 8px; }
.property-inventory-actions .property-search { width: 230px; height: 34px; border-color: var(--line-subtle); border-radius: 8px; background: var(--field); }
.property-inventory-actions .property-search:focus-within { border-color: #737ce3; box-shadow: 0 0 0 3px rgba(98,108,213,.14); }
.property-select { height: 34px; color: var(--muted); border-color: var(--line-subtle); border-radius: 8px; background: var(--field); }
.property-column-control .outline-button { height: 34px; min-width: 82px; background: #24252b; }
.property-column-menu { border-color: #44454e; border-radius: 8px; background: #25262c; }
.property-inventory-table { min-width: 1400px; }
.property-inventory-table th { height: 40px; padding: 9px 12px; color: var(--dim); border-color: var(--line-subtle); background: var(--field); font-size: 9px; font-weight: 650; letter-spacing: .06em; }
.property-inventory-table th button:hover, .property-inventory-table th.sorted button { color: #cdd2ff; }
.property-inventory-table th i { color: #8c96eb; }
.property-inventory-table td { height: 57px; padding: 9px 12px; color: var(--muted); border-color: var(--line-subtle); background: var(--panel); font-size: 11px; }
.property-inventory-table tbody tr:hover, .property-inventory-table tbody tr:focus { background: #282930; }
.property-inventory-table tbody tr:hover td, .property-inventory-table tbody tr:focus td { background: #282930; }
.property-primary-cell strong { color: var(--text); font-weight: 610; letter-spacing: -.01em; }
.property-primary-cell span { color: var(--dim); font-size: 9px; letter-spacing: 0; text-transform: none; }
.property-inventory-table .equity-cell { color: #67d6aa; }
.property-status-cell small { color: #8b8c95; }
.property-inventory-foot { color: var(--dim); border-color: var(--line-subtle); }

.property-detail-hero { border-color: var(--line-subtle); border-radius: var(--radius-lg); background: radial-gradient(circle at 92% -20%, rgba(124,134,237,.1), transparent 38%), var(--panel); }
.property-detail-summary, .property-detail-section, .property-health-panel { border-color: var(--line-subtle); background: var(--panel); }
.property-detail-section > header, .property-health-panel ul, .property-health-thresholds { border-color: var(--line-subtle); }
.property-detail-grid { border-color: #36373f; background: #36373f; }
.property-detail-metric { background: #1e1f24; }
.property-detail-metric strong, .property-detail-summary strong { color: #f1f1f3; }
.property-photo { border-color: #494b5a; background: linear-gradient(140deg, #36384d, #242632 45%, #1c1d22); }

@media (max-width: 840px) {
  .view { padding-top: 25px; }
  .breadcrumb .breadcrumb-current { display: block; }
  .property-inventory-table { min-width: 1370px; }
}

@media (max-width: 680px) {
  .breadcrumb-home, .breadcrumb-root-separator { display: none; }
  .breadcrumb-link { max-width: min(180px, 35vw); }
}

/* Mortgage inventory mirrors the Properties information hierarchy. */
.mortgage-inventory-view .page-heading { margin-bottom: 18px; }
.mortgage-kpi-grid { grid-template-columns: minmax(170px, 1.15fr) repeat(4, minmax(0, 1fr)); }
.mortgage-kpi-grid .mortgage-kpi-context span { color: #9199d2; font-size: 8px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.mortgage-kpi-grid .mortgage-kpi-context strong { overflow: visible; font-size: 15px; line-height: 1.15; letter-spacing: -.02em; text-overflow: clip; white-space: normal; }
.mortgage-kpi-grid .mortgage-kpi-context small { white-space: normal; }
.mortgage-kpi-grid strong.blue { color: #93a9ff; }
.mortgage-inventory .property-inventory-actions .outline-button { height: 34px; padding: 0 10px; gap: 6px; font-size: 10px; }
.mortgage-inventory .property-inventory-actions .ui-icon { width: 13px; height: 13px; }
.mortgage-filter-row { min-height: 49px; gap: 6px; background: #1e1f24; }
.mortgage-filter-row .filter-pill { padding: 6px 9px; border-color: #3a3b43; border-radius: 6px; background: #24252b; }
.mortgage-filter-row .filter-pill:hover, .mortgage-filter-row .filter-pill.active { color: #f0f0f3; border-color: #4a4b55; background: #303137; }
.mortgage-inventory-table, .mortgage-inventory-table.live-records { min-width: 980px; }
.mortgage-inventory-table th:nth-child(1) { width: 25%; }
.mortgage-inventory-table th:nth-child(2) { width: 17%; }
.mortgage-inventory-table th:nth-child(3) { width: 16%; }
.mortgage-inventory-table th:nth-child(4) { width: 17%; }
.mortgage-inventory-table th:nth-child(5) { width: 14%; }
.mortgage-inventory-table th:nth-child(6) { width: 11%; }
.mortgage-inventory-table tbody tr { cursor: default; }
.mortgage-inventory-table tbody tr[data-open-property] { cursor: pointer; }
.mortgage-inventory-table .property-primary-cell { min-width: 220px; }
.mortgage-inventory-table .property-lender-cell { min-width: 150px; }
.mortgage-inventory-table .mortgage-structure-cell { min-width: 205px; }
.mortgage-inventory-note { min-height: 66px; padding: 13px 18px; display: grid; grid-template-columns: minmax(125px, .22fr) minmax(0, 1fr) auto; align-items: center; gap: 18px; color: #858690; border-top: 1px solid #303139; background: #1e1f24; }
.mortgage-inventory-note > strong { color: #d9dae0; font-size: 10px; font-weight: 650; }
.mortgage-inventory-note p { margin: 0; max-width: 900px; color: #858690; font-size: 9px; line-height: 1.5; }
.mortgage-inventory-note .trust-pill { justify-self: end; white-space: nowrap; }

@media (max-width: 1240px) {
  .mortgage-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mortgage-kpi-grid .mortgage-kpi-context { min-height: 68px; grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--line); }
  .mortgage-kpi-grid > div:nth-child(n + 2) { border-bottom: 0; }
  .mortgage-kpi-grid > div:nth-child(2), .mortgage-kpi-grid > div:nth-child(3), .mortgage-kpi-grid > div:nth-child(4) { border-right: 1px solid var(--line); }
  .mortgage-kpi-grid > div:nth-child(5) { border-right: 0; }
  .mortgage-inventory-table, .mortgage-inventory-table.live-records { min-width: 940px; }
}

@media (max-width: 900px) {
  .mortgage-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mortgage-kpi-grid > div:nth-child(2), .mortgage-kpi-grid > div:nth-child(3) { border-bottom: 1px solid var(--line); }
  .mortgage-kpi-grid > div:nth-child(2), .mortgage-kpi-grid > div:nth-child(4) { border-right: 1px solid var(--line); }
  .mortgage-kpi-grid > div:nth-child(3), .mortgage-kpi-grid > div:nth-child(5) { border-right: 0; }
  .mortgage-kpi-grid > div:nth-child(4), .mortgage-kpi-grid > div:nth-child(5) { border-bottom: 0; }
  .mortgage-inventory-note { grid-template-columns: 1fr; gap: 7px; }
  .mortgage-inventory-note .trust-pill { justify-self: start; }
}

/* Property performance — compact enough to keep the inventory in the first viewport. */
.property-performance-overview {
  min-width: 0;
  min-height: 252px;
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(300px, 1fr);
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-lg);
  background: var(--panel);
}
.property-detail-hero + .property-performance-overview { margin-top: 15px; }
.performance-chart-card { min-width: 0; height: 252px; display: grid; grid-template-rows: 62px minmax(0, 1fr); border-right: 1px solid var(--line-subtle); background: radial-gradient(circle at 8% -28%, rgba(124,134,237,.15), transparent 40%), linear-gradient(155deg, rgba(255,255,255,.02), transparent 48%), var(--panel); }
.performance-chart-head { min-width: 0; padding: 9px 16px 8px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: transparent; }
.performance-chart-summary { min-width: 0; }
.performance-chart-eyebrow, .performance-kpi-panel > header > span { display: block; color: var(--accent-text); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.performance-current-value { margin-top: 5px; display: flex; align-items: baseline; gap: 7px; }
.performance-current-value h2 { margin: 0; color: var(--green); font-size: 21px; line-height: 1; font-weight: 680; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.performance-current-value h2.negative, .performance-table-metric strong.negative { color: #f08b93; }
.performance-current-value small { color: var(--dim); font-size: 9px; white-space: nowrap; }
.performance-chart-controls { min-width: 0; flex: 0 0 auto; display: grid; justify-items: end; gap: 5px; }
.performance-range { flex: 0 0 auto; padding: 2px; border: 1px solid var(--line-subtle); border-radius: 8px; background: var(--quiet-fill); }
.performance-range button { min-width: 34px; min-height: 25px; padding: 4px 9px; border-radius: 6px; color: var(--dim); font-size: 9px; line-height: 1; font-weight: 620; transition: color .12s ease, background .12s ease, box-shadow .12s ease; }
.performance-range button:hover { color: var(--text); background: transparent; }
.performance-range button.active { color: var(--text); background: var(--panel-hover); box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.performance-range button:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 1px; box-shadow: none; }
.performance-chart-wrap { min-width: 0; min-height: 0; padding: 3px 8px 8px; }
.performance-chart { width: 100%; height: 100%; display: block; overflow: visible; }
.performance-plot-surface { fill: rgba(10,11,15,.08); stroke: var(--chart-grid); stroke-width: var(--chart-grid-width); vector-effect: non-scaling-stroke; }
.performance-grid-lines line { stroke: var(--chart-grid); stroke-width: var(--chart-grid-width); shape-rendering: geometricPrecision; vector-effect: non-scaling-stroke; }
.performance-grid-lines text, .performance-chart-axis text { fill: var(--dim); font-family: inherit; font-size: 9px; font-variant-numeric: tabular-nums; }
.performance-crosshair { stroke: #8c909e; stroke-width: 1; stroke-dasharray: 2 3; opacity: 0; pointer-events: none; transition: opacity .12s ease; vector-effect: non-scaling-stroke; }
.performance-zero-line { stroke: rgba(172,176,190,.38); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.performance-chart-area { fill: var(--performance-fill); stroke: none; opacity: .82; }
.performance-chart-line { fill: none; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; vector-effect: non-scaling-stroke; }
.performance-chart-line { stroke-width: var(--chart-line-width); stroke-dasharray: none; opacity: 1; }
.performance-chart-line.positive { stroke: #69dfb1; filter: drop-shadow(0 4px 7px rgba(105,224,177,.16)); }
.performance-chart-line.negative { stroke: #f06470; filter: drop-shadow(0 4px 7px rgba(240,100,112,.15)); }
.performance-chart-line.neutral { stroke: #89909f; }
.performance-chart-line.partial { stroke-dasharray: none; opacity: .78; }
.performance-chart-area.partial { opacity: .5; }
.performance-point { outline: none; }
.performance-point .performance-point-dot { fill: var(--chart-dot); stroke: #79e6b8; stroke-width: var(--chart-point-stroke-width); opacity: 0; transition: opacity .12s, r .12s, fill .12s; vector-effect: non-scaling-stroke; }
.performance-point.latest .performance-point-dot { r: 3.6; fill: var(--chart-dot); stroke: #79e6b8; opacity: 1; filter: drop-shadow(0 0 4px rgba(105,224,177,.42)); }
.performance-latest-ring { fill: rgba(105,224,177,.04); stroke: #69dfb1; stroke-width: 1; opacity: .45; pointer-events: none; vector-effect: non-scaling-stroke; }
.performance-point.negative .performance-point-dot { fill: var(--chart-dot); stroke: #ff7d86; }
.performance-point.latest.negative .performance-point-dot { fill: var(--chart-dot); stroke: #ff8991; filter: drop-shadow(0 0 4px rgba(240,100,112,.4)); }
.performance-point.negative .performance-latest-ring { fill: rgba(240,100,112,.07); stroke: #f06470; }
.performance-point.neutral .performance-point-dot { fill: var(--chart-dot); stroke: #a3a8b5; }
.performance-point.latest.neutral .performance-point-dot { fill: var(--chart-dot); stroke: #b8bdc8; filter: none; }
.performance-point.neutral .performance-latest-ring { fill: rgba(163,168,181,.07); stroke: #89909f; }
.performance-point .performance-hit { fill: transparent; stroke: none; opacity: 0; cursor: crosshair; pointer-events: all; }
.performance-point:hover .performance-point-dot, .performance-point:focus .performance-point-dot, .performance-point:focus-visible .performance-point-dot { r: 4.4; fill: var(--panel); opacity: 1; }
.performance-point:hover .performance-latest-ring, .performance-point:focus .performance-latest-ring, .performance-point:focus-visible .performance-latest-ring { opacity: .88; }
.performance-point:hover .performance-crosshair, .performance-point:focus .performance-crosshair, .performance-point:focus-visible .performance-crosshair, .performance-crosshair.active { opacity: .62; }
.performance-point:focus, .performance-point:focus-visible { outline: none; }
.performance-tooltip { opacity: 0; pointer-events: none; transition: opacity .12s; }
.performance-point:hover .performance-tooltip, .performance-point:focus .performance-tooltip, .performance-point:focus-visible .performance-tooltip { opacity: 1; }
.performance-tooltip rect { fill: var(--raised); stroke: var(--line); stroke-width: 1; filter: drop-shadow(0 8px 16px rgba(0,0,0,.42)); vector-effect: non-scaling-stroke; }
.performance-tooltip text { fill: #a9acb7; font-family: inherit; font-size: 8px; font-variant-numeric: tabular-nums; }
.performance-tooltip .tooltip-date { fill: #eef0f3; font-weight: 670; letter-spacing: .01em; }
.performance-tooltip .tooltip-key { stroke: rgba(255,255,255,.12); stroke-width: .5; vector-effect: non-scaling-stroke; }
.performance-tooltip .tooltip-key.net, .performance-tooltip .tooltip-net-key, .performance-tooltip .tooltip-net-label { fill: #79e6b8; }
.performance-tooltip .tooltip-key.cash-in, .performance-tooltip .tooltip-cash-in-key, .performance-tooltip .tooltip-cash-in-label { fill: #79e6b8; }
.performance-tooltip .tooltip-key.cash-out, .performance-tooltip .tooltip-cash-out-key, .performance-tooltip .tooltip-cash-out-label { fill: #ff7a83; }
.performance-tooltip .tooltip-value { fill: #eef0f4; font-size: 9px; font-weight: 660; }
.performance-tooltip .tooltip-net-value { fill: #7ce9bb; font-size: 9px; font-weight: 740; }
.performance-tooltip .tooltip-net-key.positive, .performance-tooltip .tooltip-net-value.positive, .performance-point.positive .tooltip-net-key, .performance-point.positive .tooltip-net-value { fill: #7ce9bb; }
.performance-tooltip .tooltip-net-key.negative, .performance-tooltip .tooltip-net-value.negative, .performance-point.negative .tooltip-net-key, .performance-point.negative .tooltip-net-value { fill: #ff7d86; }
.performance-tooltip .tooltip-net-key.neutral, .performance-tooltip .tooltip-net-value.neutral, .performance-point.neutral .tooltip-net-key, .performance-point.neutral .tooltip-net-value { fill: #b8bdc8; }
.performance-tooltip .tooltip-cash-in-value { fill: #7ce9bb; }
.performance-tooltip .tooltip-cash-out-value { fill: #ff7d86; }
.performance-chart-empty { min-height: 0; padding: 10px 22px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-content: center; align-items: center; gap: 3px 10px; }
.performance-chart-empty > .ui-icon { width: 20px; height: 20px; grid-row: 1 / span 2; color: #6f789f; }
.performance-chart-empty strong { color: #d6d7dd; font-size: 10px; font-weight: 620; }
.performance-chart-empty p { grid-column: 2; margin: 0; color: #858793; font-size: 9px; line-height: 1.35; }
.performance-chart-empty .link { grid-column: 3; grid-row: 1 / span 2; font-size: 9px; }
.performance-kpi-panel { min-width: 0; height: 252px; display: grid; grid-template-rows: 43px minmax(0, 1fr); background-image: radial-gradient(circle at 100% 0, rgba(98,211,167,.065), transparent 40%); }
.performance-kpi-panel > header { min-width: 0; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--line-subtle); }
.performance-kpi-panel > header > small { overflow: hidden; color: var(--dim); text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.performance-kpi-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); }
.performance-kpi { min-width: 0; padding: 9px 11px; display: grid; align-content: center; gap: 5px; border-right: 1px solid var(--line-subtle); border-bottom: 1px solid var(--line-subtle); outline: none; background: linear-gradient(145deg, var(--quiet-fill), transparent 62%); }
.performance-kpi:nth-child(even) { border-right: 0; }
.performance-kpi:nth-last-child(-n + 2) { border-bottom: 0; }
.performance-kpi.wide { grid-column: span 2; border-right: 0; }
.performance-kpi:focus-visible { box-shadow: inset 0 0 0 2px #6873d1; }
.performance-kpi > span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.performance-kpi > strong { overflow: hidden; color: #f0f0f3; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(15px, 1.25vw, 19px); line-height: 1; font-weight: 650; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.performance-kpi > strong.positive { color: #69d8ad; }
.performance-kpi > strong.negative { color: #f08b93; }
.performance-kpi > small { display: -webkit-box; overflow: hidden; color: var(--dim); white-space: normal; font-size: 9px; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.performance-kpi.incomplete > small { color: #ba9566; }
.asset-performance-overview .performance-kpi:nth-child(6) { border-bottom: 1px solid var(--line-subtle); }
.asset-performance-overview .performance-kpi-panel, .asset-performance-overview .performance-chart-card { height: 270px; }
.asset-performance-overview { min-height: 270px; }
.asset-performance-overview .performance-kpi-panel { grid-template-rows: 40px minmax(0, 1fr); }
.asset-performance-overview .performance-kpi { padding-top: 6px; padding-bottom: 6px; gap: 4px; }
.performance-first-hero { min-height: 146px; padding: 14px; }
.performance-first-hero .property-photo { min-height: 116px; }
.performance-property-table { min-width: 1300px; table-layout: fixed; }
.performance-property-table th:nth-child(1) { width: 18%; }
.performance-property-table th:nth-child(2) { width: 9%; }
.performance-property-table th:nth-child(3) { width: 10%; }
.performance-property-table th:nth-child(4) { width: 9%; }
.performance-property-table th:nth-child(5) { width: 10%; }
.performance-property-table th:nth-child(6) { width: 8%; }
.performance-property-table th:nth-child(7) { width: 8%; }
.performance-property-table th:nth-child(8) { width: 13%; }
.performance-property-table th:nth-child(9) { width: 8%; }
.performance-property-table th:nth-child(10) { width: 7%; }
.performance-table-metric { min-width: 0; }
.performance-table-metric > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.performance-table-metric.net-cash-flow-cell > strong { color: #72d9af; font-weight: 650; }
.performance-table-metric.net-cash-flow-cell > strong.negative { color: #f08b93; }
.performance-property-table .property-primary-cell { min-width: 0; }
.performance-property-table .property-status-cell { min-width: 0; }
.performance-property-table .property-status-cell .property-health { white-space: nowrap; }
.performance-property-table .property-type-cell { min-width: 0; }
.performance-property-table .property-type-cell > strong, .performance-property-table .property-type-cell > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.performance-property-table .property-type-cell > strong { color: #dedee4; font-size: 10px; font-weight: 610; }
.performance-property-table .property-type-cell > small { margin-top: 5px; color: #7e80a0; font-size: 8px; font-weight: 500; }
.performance-property-table th:first-child, .performance-property-table td:first-child { position: sticky; left: 0; z-index: 1; background: var(--panel); box-shadow: 1px 0 var(--line-subtle); }
.performance-property-table th:first-child { z-index: 2; background: var(--field); }
.performance-property-table tbody tr:hover td:first-child, .performance-property-table tbody tr:focus td:first-child { background: var(--panel-hover); }
.performance-property-table tbody tr:focus-visible { outline: 2px solid #8791e7; outline-offset: -2px; }
.performance-property-table tbody tr:focus-visible td:first-child { box-shadow: inset 2px 0 #8791e7, 1px 0 var(--line-subtle); }

@media (max-width: 1120px) {
  .property-performance-overview, .asset-performance-overview { grid-template-columns: 1fr; }
  .property-performance-overview { min-height: 0; }
  .performance-chart-card, .asset-performance-overview .performance-chart-card { height: 245px; border-right: 0; border-bottom: 1px solid var(--line-subtle); }
  .performance-kpi-panel, .asset-performance-overview .performance-kpi-panel { height: auto; grid-template-rows: 40px auto; }
  .performance-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .performance-kpi { min-height: 61px; }
  .performance-kpi:nth-child(even), .performance-kpi:nth-last-child(-n + 2) { border-right: 1px solid var(--line-subtle); border-bottom: 1px solid var(--line-subtle); }
  .performance-kpi:nth-child(3n) { border-right: 0; }
  .performance-kpi:nth-last-child(-n + 3) { border-bottom: 0; }
  .performance-kpi.wide { grid-column: auto; }
  .asset-performance-overview .performance-kpi:nth-child(7) { grid-column: 1 / -1; border-right: 0; }
  .asset-performance-overview .performance-kpi:nth-child(5), .asset-performance-overview .performance-kpi:nth-child(6) { border-bottom: 1px solid var(--line-subtle); }
}

@media (max-width: 650px) {
  .performance-chart-card, .asset-performance-overview .performance-chart-card { grid-template-rows: 67px minmax(0, 1fr); }
  .performance-chart-head { align-items: flex-start; gap: 8px; padding-inline: 12px; }
  .performance-current-value small { display: -webkit-box; max-width: 115px; overflow: hidden; white-space: normal; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .performance-chart-controls { gap: 4px; }
  .performance-range button { min-width: 25px; min-height: 21px; padding: 3px 5px; font-size: 8px; }
  .performance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .performance-kpi:nth-child(3n) { border-right: 1px solid var(--line-subtle); }
  .performance-kpi:nth-child(even) { border-right: 0; }
  .performance-kpi:nth-last-child(-n + 3) { border-bottom: 1px solid var(--line-subtle); }
  .performance-kpi:nth-last-child(-n + 2) { border-bottom: 0; }
  .asset-performance-overview .performance-kpi:nth-child(7) { grid-column: 1 / -1; border-bottom: 0; }
  .asset-performance-overview .performance-kpi:nth-child(6) { border-bottom: 1px solid var(--line-subtle); }
  .performance-chart-empty { grid-template-columns: 20px minmax(0, 1fr); }
  .performance-chart-empty .link { grid-column: 2; grid-row: auto; justify-self: start; }
  .performance-chart { width: 100%; min-width: 0; }
  .performance-property-table { min-width: 1300px; }
}

@media (max-width: 420px) {
  .performance-chart-head { padding-inline: 10px; }
  .performance-current-value { gap: 5px; }
  .performance-current-value small { max-width: 88px; font-size: 8px; }
  .performance-chart-wrap { padding-inline: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-item, .nav-item::before, .nav-item::after, .nav-item .ui-icon, .breadcrumb-link, .performance-range button, .performance-point-dot, .performance-crosshair, .performance-tooltip { transition: none; }
  .nav-item:active, .breadcrumb-link:active { transform: none; }
}

/* Unit performance — nested operational detail without implying unit-level capital values. */
.unit-inventory { margin-bottom: 16px; overflow: hidden; border-color: var(--line-subtle); background: var(--panel); }
.unit-inventory > header { min-height: 66px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line-subtle); }
.unit-inventory > header > div > span { color: var(--accent-text); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.unit-inventory > header h2 { margin: 3px 0 0; color: #f1f1f4; font-size: 15px; font-weight: 630; }
.unit-inventory > header p { margin: 5px 0 0; color: #858793; font-size: 9px; }
.unit-coverage, .unit-source-label { color: #8d94bd; font-size: 9px; }
.unit-inventory-actions { display: flex; align-items: center; gap: 10px; }
.unit-inventory-actions .outline-button { height: 31px; padding: 0 10px; font-size: 9px; }
.unit-inventory-actions .ui-icon { width: 12px; height: 12px; }
.unit-table-wrap { max-height: 360px; overflow: auto; }
.unit-table-wrap:focus-visible { outline: 2px solid #8791e7; outline-offset: -2px; }
.unit-performance-table { width: 100%; min-width: 990px; border-collapse: collapse; table-layout: fixed; }
.unit-performance-table th { position: sticky; top: 0; z-index: 2; height: 40px; padding: 9px 12px; color: var(--dim); border-bottom: 1px solid var(--line-subtle); background: var(--field); text-align: left; font-size: 9px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.unit-performance-table th:nth-child(1) { width: 19%; }
.unit-performance-table th:nth-child(2) { width: 12%; }
.unit-performance-table th:nth-child(3) { width: 14%; }
.unit-performance-table th:nth-child(4) { width: 13%; }
.unit-performance-table th:nth-child(5) { width: 12%; }
.unit-performance-table th:nth-child(6) { width: 15%; }
.unit-performance-table th:nth-child(7) { width: 15%; }
.unit-performance-table td { height: 57px; padding: 9px 12px; color: var(--muted); border-bottom: 1px solid var(--line-subtle); background: var(--panel); vertical-align: middle; font-size: 11px; font-variant-numeric: tabular-nums; }
.unit-performance-table tbody tr { cursor: pointer; outline: none; }
.unit-performance-table tbody tr:hover td, .unit-performance-table tbody tr:focus-within td { background: var(--panel-hover); }
.unit-performance-table tbody tr:focus-within { outline: 2px solid #8791e7; outline-offset: -2px; }
.unit-performance-table td > strong, .unit-performance-table td > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.unit-performance-table td > strong, .unit-row-link strong { color: #ededf0; font-weight: 610; }
.unit-performance-table td > strong.negative { color: #f08b93; }
.unit-performance-table td > small { margin-top: 4px; color: #777983; font-size: 8px; }
.unit-performance-table .property-health { white-space: nowrap; }
.unit-performance-table th:first-child, .unit-performance-table td:first-child { position: sticky; left: 0; z-index: 1; background: var(--panel); box-shadow: 1px 0 var(--line-subtle); }
.unit-performance-table th:first-child { z-index: 3; background: var(--field); }
.unit-performance-table tbody tr:hover td:first-child, .unit-performance-table tbody tr:focus-within td:first-child { background: var(--panel-hover); }
.unit-row-link { max-width: 100%; margin: 0; padding: 0; overflow: hidden; color: inherit; border: 0; border-radius: 3px; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.unit-row-link strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.unit-row-link:focus { outline: none; }
.unit-row-link:focus-visible { box-shadow: 0 0 0 2px #8791e7; }
.unit-inventory > footer { min-height: 42px; padding: 8px 17px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #81838d; border-top: 1px solid #303139; font-size: 9px; }
.unit-inventory > footer > span:first-child { max-width: 720px; line-height: 1.4; }
.unit-inventory > footer > span:last-child { display: inline-flex; align-items: center; gap: 5px; color: #969ed3; white-space: nowrap; }
.unit-inventory > footer .ui-icon { width: 12px; height: 12px; }
.unit-roster-empty { min-height: 126px; padding: 24px; display: flex; align-items: center; justify-content: center; gap: 13px; color: #7f87ae; }
.unit-roster-empty > .ui-icon { width: 25px; height: 25px; }
.unit-roster-empty strong { color: #dfe0e5; font-size: 11px; }
.unit-roster-empty p { max-width: 580px; margin: 6px 0 0; color: #858793; font-size: 9px; line-height: 1.5; }
.unit-detail-hero .unit-photo { background: radial-gradient(circle at 50% 25%, rgba(117,130,224,.22), transparent 58%), linear-gradient(145deg, #303347, #1d1f28); }
.unit-detail-hero .unit-photo .ui-icon { width: 39px; height: 39px; }
.unit-detail-hero [data-view-heading]:focus { outline: none; }
.unit-detail-layout { margin-top: 0; }
.unit-performance-overview .performance-kpi:nth-child(6) { border-bottom: 0; }
@media (min-width: 1241px) {
  .unit-detail-hero .unit-hero-status { justify-content: center; }
}

@media (max-width: 760px) {
  .unit-inventory > header, .unit-inventory > footer { align-items: flex-start; flex-direction: column; }
  .unit-inventory-actions { width: 100%; justify-content: space-between; }
  .unit-inventory > footer { gap: 6px; }
  .unit-table-wrap { max-height: 330px; }
  .unit-performance-table th:first-child { width: 150px; }
  .unit-inventory > footer > span:last-child { white-space: normal; }
}

/* Property record — compact, progressively completed inputs beneath performance. */
.property-record-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
.property-record-layout .property-detail-sections { gap: 12px; }
.property-record-section { padding: 0; overflow: hidden; }
.property-record-section > header {
  min-height: 58px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line-subtle);
}
.property-record-section > header h2 { margin: 0; color: var(--text); font-size: 14px; font-weight: 650; letter-spacing: -.015em; }
.property-record-section > header p { margin: 5px 0 0; color: var(--dim); font-size: 9px; line-height: 1.4; }
.property-record-section .outline-button.compact,
.mortgage-record-focus .outline-button.compact { min-height: 32px; padding: 0 10px; gap: 6px; border-radius: 7px; font-size: 9px; white-space: nowrap; }
.property-record-section .outline-button.compact .ui-icon { width: 12px; height: 12px; }
.property-record-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: var(--line-subtle);
}
.property-record-section:nth-child(2) .property-record-grid,
.financing-record-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.unit-performance-record-grid,
.unit-detail-record-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.property-record-field {
  min-width: 0;
  min-height: 76px;
  position: relative;
  display: grid;
  align-content: center;
  background: var(--panel);
}
.property-record-field.is-calculated,
.property-record-field.is-readonly { padding: 11px 15px 10px; gap: 4px; }
.property-record-field.is-calculated { background: linear-gradient(145deg, rgba(255,255,255,.01), transparent 62%), var(--panel); }
.property-record-field.wide { grid-column: span 2; }
.financing-record-grid > .property-record-field:first-child { grid-column: span 2; }
.property-record-control {
  width: 100%;
  min-width: 0;
  min-height: 76px;
  position: relative;
  padding: 11px 42px 10px 15px;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 4px;
  color: inherit;
  border: 0;
  outline: 0;
  background: linear-gradient(145deg, rgba(255,255,255,.012), transparent 62%);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: background .14s ease, box-shadow .14s ease;
}
.property-record-control:hover { background: linear-gradient(145deg, rgba(124,134,237,.07), rgba(255,255,255,.015) 58%, transparent); }
.property-record-control:focus-visible { box-shadow: inset 0 0 0 2px var(--blue-bright); }
.property-record-label { max-width: 100%; color: var(--muted); font-size: 9px; line-height: 1.25; }
.property-record-value { max-width: 100%; overflow: hidden; color: #f1f1f4; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; line-height: 1.25; font-weight: 640; letter-spacing: -.015em; font-variant-numeric: tabular-nums; }
.property-record-field.wide .property-record-value { white-space: normal; }
.property-record-value.missing-action { color: #aeb8f7; font-size: 11px; font-weight: 610; }
.property-record-edit-icon {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 12px;
  top: 50%;
  display: grid;
  place-items: center;
  color: #727996;
  border: 1px solid transparent;
  border-radius: 6px;
  opacity: 0;
  transform: translateY(-50%);
  transition: color .14s ease, border-color .14s ease, background .14s ease, opacity .14s ease;
}
.property-record-edit-icon .ui-icon { width: 12px; height: 12px; }
.property-record-field.is-editable .property-record-edit-icon { opacity: .4; }
.property-record-field.is-missing .property-record-edit-icon { color: #9ba5eb; opacity: .82; }
.property-record-control:hover .property-record-edit-icon,
.property-record-control:focus-visible .property-record-edit-icon { color: #c4caff; border-color: #454956; background: rgba(124,134,237,.08); opacity: 1; }
@media (hover: none), (pointer: coarse) {
  .property-record-field.is-editable .property-record-edit-icon { opacity: .58; }
}
.property-record-field.is-editing { min-height: 88px; padding: 10px 14px; align-content: center; background: linear-gradient(145deg, rgba(124,134,237,.055), transparent 65%), var(--panel); box-shadow: inset 0 0 0 1px rgba(124,134,237,.42); }
.property-inline-form { min-width: 0; width: 100%; margin-top: 7px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 7px; }
.property-inline-input { min-width: 0; height: 34px; display: flex; align-items: center; color: #9ca5d4; border: 1px solid #474a59; border-radius: 7px; background: #191a1f; }
.property-inline-input:focus-within { border-color: var(--blue-bright); box-shadow: 0 0 0 3px rgba(124,134,237,.12); }
.property-inline-input input,
.property-inline-form select {
  min-width: 0;
  width: 100%;
  height: 34px;
  padding: 0 10px;
  color: var(--text);
  border: 1px solid #474a59;
  border-radius: 7px;
  outline: 0;
  background: #191a1f;
  font: inherit;
  font-size: 10px;
}
.property-inline-input input { height: 100%; border: 0; background: transparent; }
.property-inline-form select:focus { border-color: var(--blue-bright); box-shadow: 0 0 0 3px rgba(124,134,237,.12); }
.property-inline-prefix, .property-inline-suffix { padding-left: 9px; color: #8992c1; font-size: 10px; }
.property-inline-suffix { padding: 0 9px 0 0; }
.property-inline-actions { display: flex; align-items: center; gap: 4px; }
.property-inline-save, .property-inline-cancel {
  min-height: 34px;
  padding: 0 9px;
  border: 1px solid #484b5a;
  border-radius: 7px;
  background: #292b34;
  color: #e8e9ee;
  font: inherit;
  font-size: 9px;
  font-weight: 600;
  cursor: pointer;
}
.property-inline-save { border-color: #626bd0; background: #5963c6; color: white; }
.property-inline-save:hover { background: #6771d2; }
.property-inline-cancel:hover { background: #33353e; }

.mortgage-record-focus { margin-bottom: 14px; overflow: hidden; }
.mortgage-record-focus > header { min-height: 65px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line-subtle); }
.mortgage-record-focus > header span { color: var(--accent-text); font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.mortgage-record-focus > header h2 { margin: 4px 0 0; color: var(--text); font-size: 15px; font-weight: 650; }
.mortgage-record-focus > header p { margin: 4px 0 0; color: var(--dim); font-size: 9px; }
.mortgage-record-detail-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: var(--line-subtle); }
.mortgage-record-detail-grid > div { min-width: 0; min-height: 76px; padding: 12px; display: grid; align-content: center; gap: 6px; background: var(--panel); }
.mortgage-record-detail-grid span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }
.mortgage-record-detail-grid strong { overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 620; font-variant-numeric: tabular-nums; }
.mortgage-inventory-table tbody tr[data-mortgage-record] { cursor: pointer; outline: 0; }
.mortgage-inventory-table tbody tr.selected-mortgage-record td { background: rgba(105,114,211,.09); box-shadow: inset 0 1px rgba(124,134,237,.2), inset 0 -1px rgba(124,134,237,.2); }
.mortgage-inventory-table tbody tr[data-mortgage-record]:focus-visible td { background: rgba(105,114,211,.08); box-shadow: inset 0 0 0 1px var(--blue-bright); }

@media (max-width: 980px) {
  .property-record-grid,
  .property-record-section:nth-child(2) .property-record-grid,
  .financing-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-record-field.wide { grid-column: span 2; }
  .financing-record-grid > .property-record-field:first-child { grid-column: span 2; }
  .mortgage-record-detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .property-record-section > header, .mortgage-record-focus > header { align-items: flex-start; flex-direction: column; }
  .property-record-grid,
  .property-record-section:nth-child(2) .property-record-grid,
  .financing-record-grid { grid-template-columns: minmax(0, 1fr); }
  .property-record-field.wide { grid-column: span 1; }
  .financing-record-grid > .property-record-field:first-child { grid-column: span 1; }
  .property-inline-form { grid-template-columns: minmax(0, 1fr); }
  .property-inline-actions { justify-content: flex-end; }
  .mortgage-record-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Property financial profile — investor-first detail experience. */
.property-financial-profile { --property-profile-green: #69dfb1; --property-profile-blue: #8fa2ff; }
.property-financial-hero {
  min-height: 142px;
  grid-template-columns: 122px minmax(245px, .75fr) minmax(560px, 1.65fr);
  gap: 16px;
  padding: 14px;
  background:
    radial-gradient(circle at 4% -30%, rgba(124,134,237,.14), transparent 36%),
    radial-gradient(circle at 100% -40%, rgba(98,211,167,.08), transparent 38%),
    var(--panel);
}
.property-financial-hero .property-photo { min-height: 112px; border-color: var(--line-subtle); }
.property-financial-hero .property-photo img { width: 100%; height: 100%; position: absolute; inset: 0; z-index: 0; object-fit: cover; }
.property-financial-hero .property-hero-copy { align-self: center; }
.property-financial-hero .property-hero-kicker { color: var(--accent-text); letter-spacing: .12em; }
.property-financial-hero .property-hero-copy h1 { max-width: 100%; margin-top: 7px; font-size: clamp(20px, 2vw, 27px); }
.property-financial-hero .property-hero-copy p { margin-top: 6px; }
.property-purchase-line { display: block; margin-top: 13px; color: var(--dim); font-size: 9px; line-height: 1.4; }
.property-headline-metrics {
  min-width: 0;
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: 9px;
  background: var(--line-subtle);
  gap: 1px;
}
.property-headline-metric { min-width: 0; padding: 12px 11px; display: grid; align-content: center; gap: 8px; background: linear-gradient(145deg, rgba(255,255,255,.015), transparent 65%), var(--panel); }
.property-headline-metric span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }
.property-headline-metric strong { overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; font-size: clamp(14px, 1.25vw, 18px); line-height: 1; font-weight: 660; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.property-headline-metric strong.positive { color: var(--property-profile-green); }
.property-headline-metric strong.negative { color: #f08b93; }

.property-financial-hero + .property-financial-performance { margin-top: 14px; }
.property-financial-performance { min-height: 296px; grid-template-columns: minmax(0, 1.9fr) minmax(330px, 1fr); background: var(--panel); }
.property-financial-performance .performance-chart-card,
.property-financial-performance .performance-kpi-panel { height: 296px; }
.property-financial-performance .performance-chart-card { grid-template-rows: 70px minmax(0, 1fr); }
.property-metric-chart-head { padding: 10px 14px 8px 16px; }
.property-metric-switch { display: flex; align-items: center; padding: 2px; border: 1px solid var(--line-subtle); border-radius: 8px; background: var(--quiet-fill); }
.property-metric-switch button { min-height: 27px; padding: 5px 10px; color: var(--dim); border: 0; border-radius: 6px; background: transparent; font: inherit; font-size: 9px; font-weight: 620; cursor: pointer; }
.property-metric-switch button:hover { color: var(--text); }
.property-metric-switch button.active { color: var(--text); background: var(--panel-hover); box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.property-metric-switch button:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 1px; }
.property-metric-chart .performance-current-value h2.value { color: var(--property-profile-blue); }
.property-metric-chart .performance-current-value h2.equity { color: var(--property-profile-green); }
.property-metric-chart .performance-current-value h2.revenue { color: #63d7ca; }
.property-metric-chart .performance-current-value h2.expense { color: #e5848d; }
.performance-chart-line.value { stroke: #8fa2ff; filter: drop-shadow(0 4px 7px rgba(143,162,255,.14)); }
.performance-chart-line.equity { stroke: #69dfb1; filter: drop-shadow(0 4px 7px rgba(105,223,177,.14)); }
.performance-chart-line.revenue { stroke: #63d7ca; filter: drop-shadow(0 4px 7px rgba(99,215,202,.13)); }
.performance-chart-line.expense { stroke: #e5848d; filter: drop-shadow(0 4px 7px rgba(229,132,141,.12)); }
.performance-point.value .performance-point-dot, .performance-point.value .performance-latest-ring { stroke: #9aabff; }
.performance-point.equity .performance-point-dot, .performance-point.equity .performance-latest-ring { stroke: #79e6b8; }
.performance-point.revenue .performance-point-dot, .performance-point.revenue .performance-latest-ring { stroke: #72e4d8; }
.performance-point.expense .performance-point-dot, .performance-point.expense .performance-latest-ring { stroke: #ef929b; }
.performance-point.value .tooltip-net-key, .performance-point.value .tooltip-net-value { fill: #a7b5ff; }
.performance-point.equity .tooltip-net-key, .performance-point.equity .tooltip-net-value { fill: #7ce9bb; }
.performance-point.revenue .tooltip-net-key, .performance-point.revenue .tooltip-net-value { fill: #75e7db; }
.performance-point.expense .tooltip-net-key, .performance-point.expense .tooltip-net-value { fill: #f09aa2; }
.property-financial-performance .performance-kpi-panel { grid-template-rows: 40px minmax(0, 1fr); }
.property-financial-performance .performance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.property-financial-performance .performance-kpi { min-height: 0; padding: 7px 11px; gap: 4px; }
.property-financial-performance .performance-kpi:nth-child(odd) { border-right: 1px solid var(--line-subtle); }
.property-financial-performance .performance-kpi:nth-child(even) { border-right: 0; }
.property-financial-performance .performance-kpi:nth-child(-n + 6) { border-bottom: 1px solid var(--line-subtle); }
.property-financial-performance .performance-kpi:nth-child(7) { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }

.property-financial-profile .property-record-layout { margin-top: 0; }
.property-financial-profile .property-detail-sections { gap: 13px; }
.property-financial-profile .property-record-section > header { min-height: 58px; }
.property-financial-profile .property-record-field,
.property-financial-profile .property-record-control { min-height: 70px; }
.property-financial-profile .property-record-field.is-editing {
  width: 100%;
  height: 70px;
  min-height: 70px;
  padding: 6px 14px;
  box-shadow: inset 0 0 0 1px rgba(124,134,237,.42);
}
.property-financial-profile .property-record-field.is-editing .property-inline-form { margin-top: 3px; }
.property-financial-profile .property-inline-input:focus-within,
.property-financial-profile .property-inline-form select:focus {
  border-color: #474a59;
  box-shadow: inset 0 0 0 2px var(--blue-bright);
}
.property-financial-profile .property-record-field.is-calculated,
.property-financial-profile .property-record-field.is-readonly { padding-block: 10px; }
.property-financial-profile .property-record-value { font-size: 13px; }
.property-financial-profile .financing-record-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.property-financial-profile .financing-record-grid > .property-record-field:first-child { grid-column: auto; }
.property-operating-groups { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr); gap: 1px; background: var(--line-subtle); }
.property-operating-group { min-width: 0; background: var(--panel); }
.property-operating-group > h3,
.property-cashflow-inputs > h3 { height: 35px; margin: 0; padding: 0 15px; display: flex; align-items: center; color: var(--accent-text); border-bottom: 1px solid var(--line-subtle); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.property-financial-profile .income-expense-section .income-record-grid { grid-template-columns: minmax(0, 1fr); }
.property-financial-profile .income-expense-section .expense-record-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.property-cashflow-inputs { border-top: 1px solid var(--line-subtle); background: var(--panel); }
.property-financial-profile .income-expense-section .cashflow-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.property-calculation-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--line-subtle); background: var(--line-subtle); }
.property-calculation-strip .property-record-field { min-height: 68px; }
.property-calculation-strip .property-record-label::after { content: ' · monthly'; color: var(--dim); }
.property-financial-profile .property-facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.property-financial-profile .valuation-record-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.valuation-source-chip { min-width: 0; display: grid; justify-items: end; gap: 3px; }
.valuation-source-chip span { color: var(--dim); font-size: 8px; }
.valuation-source-chip strong { max-width: 190px; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 9px; font-weight: 620; }
.property-activity-timeline { margin: 0; padding: 5px 16px 9px; list-style: none; }
.property-activity-timeline li { min-height: 55px; position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 10px; align-items: center; border-bottom: 1px solid var(--line-subtle); }
.property-activity-timeline li:last-child { border-bottom: 0; }
.property-activity-marker { width: 8px; height: 8px; position: relative; z-index: 1; justify-self: center; border: 2px solid #8e99e7; border-radius: 50%; background: var(--panel); }
.property-activity-timeline li:not(:last-child) .property-activity-marker::after { content: ''; width: 1px; height: 48px; position: absolute; top: 6px; left: 2px; z-index: -1; background: var(--line); }
.property-activity-timeline li > div { min-width: 0; display: grid; grid-template-columns: 108px minmax(150px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 14px; }
.property-activity-timeline time { color: var(--dim); font-size: 8px; font-variant-numeric: tabular-nums; }
.property-activity-timeline strong { overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 620; }
.property-activity-timeline p { overflow: hidden; margin: 0; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.property-activity-timeline .property-activity-empty { min-height: 82px; }
.property-activity-empty > .ui-icon { width: 18px; height: 18px; color: var(--accent-text); }
.property-activity-empty > div { grid-template-columns: 1fr; gap: 5px; }

@media (max-width: 1220px) {
  .property-financial-hero { grid-template-columns: 108px minmax(0, 1fr); }
  .property-financial-hero .property-headline-metrics { grid-column: 1 / -1; min-height: 72px; }
  .property-operating-groups { grid-template-columns: 1fr; }
  .property-financial-profile .income-expense-section .income-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1120px) {
  .property-financial-performance { grid-template-columns: 1fr; }
  .property-financial-performance .performance-chart-card { height: 270px; border-right: 0; border-bottom: 1px solid var(--line-subtle); }
  .property-financial-performance .performance-kpi-panel { height: auto; }
  .property-financial-performance .performance-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .property-financial-performance .performance-kpi { min-height: 62px; border-right: 1px solid var(--line-subtle); border-bottom: 1px solid var(--line-subtle); }
  .property-financial-performance .performance-kpi:nth-child(3n) { border-right: 0; }
  .property-financial-performance .performance-kpi:nth-child(7) { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
  .property-calculation-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .property-financial-hero { grid-template-columns: 86px minmax(0, 1fr); }
  .property-financial-hero .property-photo { min-height: 92px; }
  .property-purchase-line { margin-top: 9px; }
  .property-headline-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-headline-metric:last-child { grid-column: 1 / -1; }
  .property-metric-chart-head { min-height: 104px; align-items: flex-start; flex-direction: column; }
  .property-financial-performance .performance-chart-card { height: 310px; grid-template-rows: 108px minmax(0, 1fr); }
  .property-metric-switch { width: 100%; }
  .property-metric-switch button { min-width: 0; flex: 1; padding-inline: 5px; }
  .property-financial-performance .performance-kpi-grid,
  .property-financial-profile .financing-record-grid,
  .property-financial-profile .income-expense-section .expense-record-grid,
  .property-calculation-strip,
  .property-financial-profile .property-facts-grid,
  .property-financial-profile .valuation-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-financial-performance .performance-kpi:nth-child(3n) { border-right: 1px solid var(--line-subtle); }
  .property-financial-performance .performance-kpi:nth-child(even) { border-right: 0; }
  .property-financial-performance .performance-kpi:nth-child(7) { grid-column: 1 / -1; }
  .property-activity-timeline li > div { grid-template-columns: 1fr; gap: 4px; padding: 10px 0; }
  .property-activity-timeline p { white-space: normal; line-height: 1.4; }
}

@media (max-width: 620px) {
  .property-financial-profile .property-record-field.is-editing {
    height: auto;
    min-height: 104px;
  }
}

@media (max-width: 520px) {
  .property-financial-hero { grid-template-columns: 1fr; }
  .property-financial-hero .property-photo { display: none; }
  .property-financial-hero .property-headline-metrics { grid-column: auto; }
  .property-financial-profile .income-expense-section .income-record-grid,
  .property-financial-profile .financing-record-grid,
  .property-financial-profile .income-expense-section .expense-record-grid,
  .property-financial-profile .income-expense-section .cashflow-input-grid,
  .property-calculation-strip,
  .property-financial-profile .property-facts-grid,
  .property-financial-profile .valuation-record-grid { grid-template-columns: minmax(0, 1fr); }
  .property-financial-performance .performance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .valuation-source-chip { justify-items: start; }
}

/* Mortgage management — aligned with the compact Properties performance system. */
.mortgage-inventory-view,
.mortgage-detail-view {
  --mortgage-indigo: #8f9df2;
  --mortgage-indigo-soft: rgba(124, 134, 237, .12);
  --mortgage-violet: #ab8bff;
  --mortgage-neutral: #858a98;
}

/* Portfolio debt summary */
.mortgage-performance-overview {
  min-width: 0;
  min-height: 288px;
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(300px, 1fr);
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-lg);
  background: var(--panel);
}
.mortgage-summary-panel {
  margin-bottom: 14px;
  overflow: hidden;
  border-color: var(--line-subtle);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0, rgba(98, 211, 167, .065), transparent 40%),
    var(--panel);
}
.mortgage-performance-overview > .mortgage-summary-panel {
  min-width: 0;
  height: 288px;
  margin: 0;
  display: grid;
  grid-template-rows: 43px minmax(0, 1fr);
  border: 0;
  border-radius: 0;
}
.mortgage-summary-panel > header {
  min-height: 42px;
  padding: 9px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line-subtle);
}
.mortgage-summary-panel > header > span {
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
}
.mortgage-summary-panel > header > small {
  overflow: hidden;
  color: var(--dim);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
}
.mortgage-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  background: transparent;
}
.mortgage-summary-grid > div {
  min-width: 0;
  min-height: 0;
  padding: 11px 13px;
  display: grid;
  align-content: center;
  gap: 7px;
  border-right: 1px solid var(--line-subtle);
  border-bottom: 1px solid var(--line-subtle);
  outline: none;
  background: transparent;
}
.mortgage-summary-grid > div:nth-child(even) { border-right: 0; }
.mortgage-summary-grid > div:nth-last-child(-n + 2) { border-bottom: 0; }
.mortgage-summary-grid > div:focus-visible { box-shadow: inset 0 0 0 2px var(--blue-bright); }
.mortgage-summary-grid span,
.mortgage-summary-grid strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mortgage-summary-grid span { color: var(--muted); font-size: 9px; }
.mortgage-summary-grid strong {
  color: var(--text);
  font-size: clamp(15px, 1.35vw, 20px);
  line-height: 1;
  font-weight: 660;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}
.mortgage-summary-grid > .top-lender-metric {
  padding-block: 8px;
  gap: 5px;
}
.mortgage-summary-lender {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mortgage-summary-grid .mortgage-summary-lender .lender-avatar.compact {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 8px;
  font-size: 8px;
}
.mortgage-summary-grid .mortgage-summary-lender .lender-avatar.compact img {
  inset: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  padding: 3px;
  border-radius: 6px;
}
.mortgage-summary-grid .mortgage-summary-lender .lender-avatar > span {
  color: inherit;
  font-size: 8px;
  font-weight: 720;
}
.mortgage-summary-grid .mortgage-summary-lender > strong {
  min-width: 0;
  flex: 1;
  color: var(--text);
  font-size: 13px;
  line-height: 1.15;
  font-weight: 620;
  letter-spacing: -.02em;
}

/* Historical mortgage exposure */
.mortgage-exposure-panel {
  min-width: 0;
  margin-bottom: 16px;
  overflow: hidden;
  border-color: var(--line-subtle);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 7% -30%, rgba(124, 134, 237, .14), transparent 38%),
    linear-gradient(155deg, rgba(255, 255, 255, .018), transparent 48%),
    var(--panel);
}
.mortgage-performance-overview > .mortgage-exposure-panel {
  min-width: 0;
  height: 288px;
  margin: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 0;
  border-right: 1px solid var(--line-subtle);
  border-radius: 0;
}
.mortgage-exposure-panel > header {
  min-height: 70px;
  padding: 10px 16px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.mortgage-exposure-panel > header > div:first-child { min-width: 0; }
.mortgage-exposure-panel > header > div:first-child > span {
  display: block;
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
}
.mortgage-exposure-panel > header h2 {
  overflow: hidden;
  margin: 6px 0 0;
  color: var(--mortgage-indigo);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 23px;
  line-height: 1;
  font-weight: 680;
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
}
.mortgage-exposure-panel > header small {
  display: block;
  margin-top: 6px;
  color: var(--dim);
  font-size: 9px;
}
.mortgage-exposure-legend {
  min-width: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  align-self: center;
  justify-content: flex-end;
  gap: 15px;
  color: var(--muted);
  font-size: 9px;
}
.mortgage-exposure-legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.mortgage-exposure-legend i { width: 13px; height: 3px; border-radius: 999px; }
.mortgage-exposure-legend i.long { background: var(--mortgage-indigo); }
.mortgage-exposure-legend i.short { background: var(--mortgage-violet); }
.mortgage-exposure-legend i.unknown { background: var(--mortgage-neutral); }
.mortgage-exposure-chart-wrap {
  min-width: 0;
  height: 242px;
  padding: 3px 8px 8px;
}
.mortgage-performance-overview .mortgage-exposure-chart-wrap { min-height: 0; height: auto; }
.mortgage-exposure-chart { width: 100%; height: 100%; display: block; overflow: visible; }
.mortgage-exposure-surface {
  fill: rgba(10, 11, 15, .08);
  stroke: var(--chart-grid);
  stroke-width: var(--chart-grid-width);
  vector-effect: non-scaling-stroke;
}
.mortgage-exposure-grid line {
  stroke: var(--chart-grid);
  stroke-width: var(--chart-grid-width);
  shape-rendering: geometricPrecision;
  vector-effect: non-scaling-stroke;
}
.mortgage-exposure-grid text,
.mortgage-exposure-axis text {
  fill: var(--dim);
  font-family: inherit;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}
.mortgage-exposure-area { stroke: none; opacity: .84; }
.mortgage-exposure-area.long { fill: url(#mortgageLongFill); }
.mortgage-exposure-area.short { fill: url(#mortgageShortFill); }
.mortgage-exposure-area.unknown { fill: url(#mortgageUnknownFill); }
.mortgage-exposure-boundary {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.mortgage-exposure-boundary.unknown { stroke: rgba(143, 147, 159, .58); stroke-width: 1; }
.mortgage-exposure-boundary.short { stroke: rgba(171, 139, 255, .78); stroke-width: 1.15; }
.mortgage-exposure-boundary.total {
  stroke: var(--mortgage-indigo);
  stroke-width: var(--chart-line-width);
  filter: drop-shadow(0 4px 7px rgba(143, 157, 242, .15));
}
.mortgage-exposure-point { outline: none; }
.mortgage-exposure-hit { fill: transparent; stroke: none; opacity: 0; cursor: crosshair; pointer-events: all; }
.mortgage-exposure-crosshair {
  stroke: #8c909e;
  stroke-width: 1;
  stroke-dasharray: 2 3;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
  vector-effect: non-scaling-stroke;
}
.mortgage-exposure-dot {
  fill: var(--chart-dot);
  stroke: #a8b3ff;
  stroke-width: var(--chart-point-stroke-width);
  opacity: 0;
  transition: opacity .12s, r .12s, fill .12s;
  vector-effect: non-scaling-stroke;
}
.mortgage-exposure-point.latest .mortgage-exposure-dot {
  r: 3.6;
  opacity: 1;
  filter: drop-shadow(0 0 4px rgba(143, 157, 242, .42));
}
.mortgage-exposure-latest-ring {
  fill: rgba(143, 157, 242, .04);
  stroke: var(--mortgage-indigo);
  stroke-width: 1;
  opacity: .45;
  pointer-events: none;
  transition: opacity .12s;
  vector-effect: non-scaling-stroke;
}
.mortgage-exposure-point:hover .mortgage-exposure-dot,
.mortgage-exposure-point:focus .mortgage-exposure-dot,
.mortgage-exposure-point:focus-visible .mortgage-exposure-dot { r: 4.4; fill: var(--panel); opacity: 1; }
.mortgage-exposure-point:hover .mortgage-exposure-latest-ring,
.mortgage-exposure-point:focus .mortgage-exposure-latest-ring,
.mortgage-exposure-point:focus-visible .mortgage-exposure-latest-ring { opacity: .88; }
.mortgage-exposure-point:hover .mortgage-exposure-crosshair,
.mortgage-exposure-point:focus .mortgage-exposure-crosshair,
.mortgage-exposure-point:focus-visible .mortgage-exposure-crosshair { opacity: .62; }
.mortgage-exposure-point:focus,
.mortgage-exposure-point:focus-visible { outline: none; }
.mortgage-exposure-tooltip { opacity: 0; pointer-events: none; transition: opacity .12s; }
.mortgage-exposure-point:hover .mortgage-exposure-tooltip,
.mortgage-exposure-point:focus .mortgage-exposure-tooltip,
.mortgage-exposure-point:focus-visible .mortgage-exposure-tooltip { opacity: 1; }
.mortgage-exposure-tooltip rect {
  fill: var(--raised);
  stroke: var(--line);
  stroke-width: 1;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .42));
  vector-effect: non-scaling-stroke;
}
.mortgage-exposure-tooltip text { fill: #a9acb7; font-family: inherit; font-size: 8px; font-variant-numeric: tabular-nums; }
.mortgage-exposure-tooltip .tooltip-date { fill: #eef0f3; font-weight: 670; letter-spacing: .01em; }
.mortgage-exposure-tooltip .tooltip-value { fill: #b2bbff; font-size: 9px; font-weight: 700; }
.mortgage-exposure-empty { min-height: 206px; border-top: 1px solid var(--line-subtle); }

/* Mortgage inventory */
.mortgage-inventory {
  overflow: hidden;
  border-color: var(--line-subtle);
  border-radius: var(--radius);
  background: var(--panel);
}
.mortgage-inventory .property-inventory-head { min-height: 66px; padding: 12px 15px; }
.mortgage-inventory .property-inventory-actions .property-search { width: 230px; }
.mortgage-inventory-table,
.mortgage-inventory-table.live-records { min-width: 1180px; table-layout: fixed; }
.mortgage-inventory-table th:nth-child(1) { width: 20%; }
.mortgage-inventory-table th:nth-child(2) { width: 13%; }
.mortgage-inventory-table th:nth-child(3) { width: 13%; }
.mortgage-inventory-table th:nth-child(4) { width: 10%; }
.mortgage-inventory-table th:nth-child(5) { width: 12%; }
.mortgage-inventory-table th:nth-child(6) { width: 8%; }
.mortgage-inventory-table th:nth-child(7) { width: 13%; }
.mortgage-inventory-table th:nth-child(8) { width: 11%; }
.mortgage-inventory-table th,
.mortgage-inventory-table td { padding-right: 12px; padding-left: 12px; }
.mortgage-inventory-table th:first-child,
.mortgage-inventory-table td:first-child { position: sticky; left: 0; z-index: 1; padding-left: 16px; background: var(--panel); box-shadow: 1px 0 var(--line-subtle); }
.mortgage-inventory-table th:first-child { z-index: 2; background: var(--field); }
.mortgage-inventory-table th:last-child,
.mortgage-inventory-table td:last-child { padding-right: 16px; }
.mortgage-inventory-table tbody tr[data-mortgage-record] { cursor: pointer; outline: none; }
.mortgage-inventory-table tbody tr[data-mortgage-record]:hover td,
.mortgage-inventory-table tbody tr[data-mortgage-record]:focus td { background: var(--panel-hover); }
.mortgage-inventory-table tbody tr[data-mortgage-record]:hover td:first-child,
.mortgage-inventory-table tbody tr[data-mortgage-record]:focus td:first-child { background: var(--panel-hover); }
.mortgage-inventory-table tbody tr[data-mortgage-record]:focus-visible td { box-shadow: inset 0 1px var(--blue-bright), inset 0 -1px var(--blue-bright); }
.mortgage-inventory-table tbody tr[data-mortgage-record]:focus-visible td:first-child { box-shadow: inset 2px 0 var(--blue-bright), inset 0 1px var(--blue-bright), inset 0 -1px var(--blue-bright), 1px 0 var(--line-subtle); }
.mortgage-inventory-table .property-primary-cell,
.mortgage-inventory-table .property-lender-cell,
.mortgage-inventory-table .property-status-cell { min-width: 0; max-width: none; }
.mortgage-inventory-table .property-primary-cell strong,
.mortgage-inventory-table .property-primary-cell span,
.mortgage-inventory-table .property-lender-cell strong,
.mortgage-term-cell strong,
.mortgage-term-cell small { max-width: 100%; }
.mortgage-list-lender {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mortgage-list-lender .lender-avatar.compact {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 8px;
}
.mortgage-list-lender > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mortgage-balance-cell strong { color: var(--mortgage-indigo); font-weight: 660; }
.mortgage-term-cell strong,
.mortgage-term-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mortgage-inventory-table .property-status-cell .status-pill {
  width: max-content;
  max-width: none;
  vertical-align: middle;
  font-size: 9px;
}
.mortgage-inventory-table .status-pill.high {
  color: #ee9d8d;
  border-color: rgba(238, 125, 107, .22);
  background: rgba(238, 125, 107, .08);
}
.mortgage-inventory .property-inventory-foot { min-height: 41px; }

/* Mortgage detail */
.mortgage-detail-view { max-width: 1450px; }
.mortgage-detail-tabs { margin-bottom: 14px; }
.mortgage-tab-panel[hidden] { display: none; }
.mortgage-detail-hero {
  min-height: 136px;
  margin-bottom: 14px;
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(620px, 1.65fr);
  align-items: stretch;
  gap: 14px;
  overflow: hidden;
  border-color: var(--line-subtle);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 5% -40%, rgba(124, 134, 237, .14), transparent 38%),
    radial-gradient(circle at 100% -55%, rgba(98, 211, 167, .055), transparent 36%),
    var(--panel);
}
.mortgage-detail-identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 4px 3px;
}
.mortgage-detail-identity .lender-avatar { width: 54px; height: 54px; border-radius: 12px; }
.mortgage-detail-identity > div { min-width: 0; }
.mortgage-detail-identity > div > span {
  display: block;
  color: var(--accent-text);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mortgage-detail-identity h1 {
  overflow: hidden;
  margin: 7px 0 0;
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.1;
  font-weight: 650;
  letter-spacing: -.04em;
}
.mortgage-detail-identity h1:focus { outline: none; }
.mortgage-detail-identity h1 button {
  width: 100%;
  max-width: 100%;
  padding: 0;
  display: block;
  overflow: hidden;
  color: inherit;
  border-radius: 4px;
  background: transparent;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: inherit;
}
.mortgage-detail-identity h1 button:hover { color: #cfd4ff; }
.mortgage-detail-identity h1 button:focus-visible { outline-offset: 3px; }
.mortgage-detail-identity p {
  overflow: hidden;
  margin: 7px 0 0;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
}
.mortgage-headline-metrics { min-height: 104px; }
.mortgage-headline-metrics .property-headline-metric:first-child strong { color: var(--mortgage-indigo); }
.mortgage-record-layout { margin-top: 0; }
.mortgage-record-layout .property-detail-sections { gap: 13px; }
.mortgage-detail-view .property-record-section > header { min-height: 56px; }
.mortgage-detail-view .property-record-field,
.mortgage-detail-view .property-record-control { min-height: 70px; }
.mortgage-detail-view .property-record-field.is-editing {
  width: 100%;
  min-height: 70px;
  padding: 6px 14px;
  box-shadow: inset 0 0 0 1px rgba(124, 134, 237, .42);
}
.mortgage-detail-view .property-record-field.is-editing .property-inline-form { margin-top: 3px; }
.mortgage-detail-view .property-inline-input:focus-within,
.mortgage-detail-view .property-inline-form select:focus {
  border-color: #474a59;
  box-shadow: inset 0 0 0 2px var(--blue-bright);
}
.mortgage-detail-view .property-record-field.is-calculated,
.mortgage-detail-view .property-record-field.is-readonly { padding-block: 10px; }
.mortgage-detail-view .property-record-value { font-size: 13px; }
.mortgage-loan-term-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mortgage-paydown-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.mortgage-detail-view .property-record-grid.mortgage-payment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mortgage-section-total {
  color: var(--mortgage-indigo);
  font-size: 12px;
  line-height: 1;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.mortgage-secured-properties,
.mortgage-document-list { background: var(--line-subtle); }
.mortgage-secured-property-row {
  min-width: 0;
  min-height: 68px;
  padding: 10px 14px;
  display: grid;
  grid-template-columns: minmax(220px, 1.7fr) minmax(150px, 1fr) minmax(90px, .55fr) auto;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--panel);
}
.mortgage-secured-property-row:last-child { border-bottom: 0; }
.mortgage-secured-property-row > div { min-width: 0; }
.mortgage-secured-property-row span,
.mortgage-secured-property-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mortgage-secured-property-row span { color: var(--muted); font-size: 8px; }
.mortgage-secured-property-row strong { margin-top: 6px; color: var(--text); font-size: 11px; font-weight: 620; font-variant-numeric: tabular-nums; }
.mortgage-secured-property-row > div:nth-child(2) strong { color: #dfe1e8; }
.mortgage-secured-property-row > div:nth-child(3) strong { color: var(--mortgage-indigo); }
.mortgage-document-row {
  min-width: 0;
  min-height: 61px;
  padding: 9px 14px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--panel);
}
.mortgage-document-row:last-child { border-bottom: 0; }
.mortgage-document-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #aeb7f4;
  border: 1px solid rgba(124, 134, 237, .18);
  border-radius: 7px;
  background: rgba(124, 134, 237, .07);
}
.mortgage-document-icon .ui-icon { width: 14px; height: 14px; }
.mortgage-document-row > div { min-width: 0; }
.mortgage-document-row strong,
.mortgage-document-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mortgage-document-row strong { color: var(--text); font-size: 10px; font-weight: 620; }
.mortgage-document-row small { margin-top: 5px; color: var(--dim); font-size: 8px; }
.mortgage-document-state { color: var(--muted); font-size: 9px; }
.mortgage-detail-empty { min-height: 126px; }

@media (max-width: 1220px) {
  .mortgage-detail-hero { grid-template-columns: 1fr; }
  .mortgage-headline-metrics { min-height: 76px; }
}

@media (max-width: 1120px) {
  .mortgage-performance-overview { min-height: 0; grid-template-columns: 1fr; }
  .mortgage-performance-overview > .mortgage-exposure-panel {
    height: 288px;
    border-right: 0;
    border-bottom: 1px solid var(--line-subtle);
  }
  .mortgage-performance-overview > .mortgage-summary-panel {
    height: 226px;
    grid-template-rows: 43px minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .mortgage-performance-overview > .mortgage-exposure-panel { height: 330px; }
  .mortgage-exposure-panel > header { align-items: flex-start; flex-direction: column; gap: 10px; padding-top: 13px; padding-bottom: 10px; }
  .mortgage-exposure-legend { margin-left: 0; align-self: flex-start; justify-content: flex-start; }
  .mortgage-exposure-chart-wrap { height: 230px; }
  .mortgage-inventory-table,
  .mortgage-inventory-table.live-records { min-width: 1100px; }
  .mortgage-loan-term-grid,
  .mortgage-paydown-grid,
  .mortgage-payment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .mortgage-paydown-grid > .property-record-field:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .mortgage-summary-panel > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .mortgage-summary-panel > header > small { white-space: normal; }
  .mortgage-exposure-legend { flex-wrap: wrap; gap: 8px 13px; }
  .mortgage-exposure-chart-wrap { height: 220px; }
  .mortgage-inventory .property-inventory-head { align-items: flex-start; }
  .mortgage-inventory .property-inventory-actions { width: 100%; }
  .mortgage-inventory .property-inventory-actions .property-search { width: 100%; flex-basis: 100%; }
  .mortgage-inventory .property-inventory-foot { gap: 5px; }
  .mortgage-detail-hero { padding: 12px; }
  .mortgage-headline-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mortgage-headline-metrics .property-headline-metric:last-child { grid-column: 1 / -1; }
  .mortgage-secured-property-row { grid-template-columns: minmax(0, 1.4fr) minmax(110px, .8fr) auto; gap: 11px; }
  .mortgage-secured-property-row > div:nth-child(3) { grid-row: 2; grid-column: 1; }
  .mortgage-secured-property-row > button { grid-row: 1 / span 2; grid-column: 3; }
}

@media (max-width: 420px) {
  .mortgage-exposure-chart-wrap { padding-inline: 5px; }
}

@media (max-width: 520px) {
  .mortgage-exposure-panel > header h2 { font-size: 21px; }
  .mortgage-exposure-chart-wrap { height: 210px; }
  .mortgage-detail-identity .lender-avatar { width: 46px; height: 46px; }
  .mortgage-detail-identity h1 { font-size: 20px; }
  .mortgage-loan-term-grid,
  .mortgage-paydown-grid,
  .mortgage-payment-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .mortgage-paydown-grid > .property-record-field:last-child { grid-column: auto; }
  .mortgage-detail-view .property-record-field.is-editing { min-height: 104px; }
  .mortgage-secured-property-row { grid-template-columns: minmax(0, 1fr) auto; }
  .mortgage-secured-property-row > div:nth-child(2),
  .mortgage-secured-property-row > div:nth-child(3) { grid-row: auto; grid-column: 1; }
  .mortgage-secured-property-row > button { grid-row: 1 / span 3; grid-column: 2; }
  .mortgage-section-total { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .mortgage-exposure-crosshair,
  .mortgage-exposure-dot,
  .mortgage-exposure-latest-ring,
  .mortgage-exposure-tooltip { transition: none; }
}

/* Dashboard intelligence and current portfolio notifications */
.decision-queue .panel-head-right { align-self: center; }
.intelligence-view-all { min-height: 30px; padding: 0 8px; border-radius: 6px; }
.intelligence-view-all:hover { background: rgba(124, 134, 237, .08); }

#notifyButton.has-intelligence { color: #dfe1eb; }
#notifyButton .notification-count {
  position: absolute;
  top: -4px;
  right: -5px;
  z-index: 1;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  color: #f4f4fb;
  border: 2px solid var(--bg);
  border-radius: 999px;
  background: var(--blue);
  box-shadow: 0 2px 7px rgba(0, 0, 0, .28);
  font-size: 8px;
  font-weight: 720;
  line-height: 1;
  letter-spacing: -.02em;
}
#notifyButton.urgent .notification-count { background: #d86f79; }

.intelligence-modal-body { padding: 16px 18px 20px; }
.intelligence-notification-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #1c1d22;
}
.intelligence-notification-summary > div {
  min-width: 0;
  min-height: 50px;
  padding: 11px 13px;
  display: grid;
  grid-template-columns: 5px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border-right: 1px solid var(--line);
}
.intelligence-notification-summary > div:last-child { border-right: 0; }
.intelligence-notification-summary span:not(.decision-status) { color: var(--muted); font-size: 9px; }
.intelligence-notification-summary strong { color: var(--text); font-size: 13px; font-weight: 650; }
.intelligence-notification-summary .decision-status { height: 18px; }

.intelligence-notification-list { margin-top: 13px; display: grid; gap: 10px; }
.intelligence-notification-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #1c1d22;
}
.intelligence-notification-group > header {
  min-height: 48px;
  padding: 9px 12px;
  display: grid;
  grid-template-columns: 5px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--line);
  background: #202126;
}
.intelligence-notification-group > header h3 { margin: 0; color: var(--text); font-size: 10px; font-weight: 640; }
.intelligence-notification-group > header p { margin: 3px 0 0; color: var(--dim); font-size: 8px; line-height: 1.2; }
.intelligence-notification-group > header b {
  min-width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: #a9abb5;
  border-radius: 6px;
  background: #303137;
  font-size: 9px;
}
.intelligence-notification-group .decision-row {
  min-height: 58px;
  border-right: 0;
  border-bottom: 1px solid var(--line-subtle);
}
.intelligence-notification-group .decision-row:last-child { border-bottom: 0; }
.intelligence-notification-group .decision-row strong { font-size: 10px; }
.intelligence-notification-group .decision-row small { font-size: 8px; }
.quote-notification-row {
  width: 100%;
  min-height: 58px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 10px;
  color: inherit;
  text-align: left;
  border-bottom: 1px solid var(--line-subtle);
  background: transparent;
}
.quote-notification-row:last-child { border-bottom: 0; }
.quote-notification-row:hover { background: rgba(113, 124, 225, .07); }
.quote-notification-row > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; color: #b7bcf8; border-radius: 7px; background: rgba(108,117,219,.12); }
.quote-notification-row > span:nth-child(2) { min-width: 0; }
.quote-notification-row strong,
.quote-notification-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quote-notification-row strong { color: var(--text); font-size: 10px; font-weight: 620; }
.quote-notification-row small { margin-top: 4px; color: var(--dim); font-size: 8px; }
.quote-notification-row > .ui-icon { width: 13px; height: 13px; color: #686d7d; }
.intelligence-group-empty { min-height: 54px; padding: 17px; color: var(--dim); text-align: center; font-size: 9px; }
.intelligence-notification-empty { min-height: 210px; display: grid; place-items: center; align-content: center; text-align: center; }
.intelligence-notification-empty > .ui-icon { width: 26px; height: 26px; color: var(--green); }
.intelligence-notification-empty h3 { margin: 13px 0 0; color: var(--text); font-size: 13px; }
.intelligence-notification-empty p { max-width: 330px; margin: 6px 0 0; color: var(--dim); }
.intelligence-modal-footer .outline-button { margin-right: auto; }

@media (max-width: 560px) {
  .decision-queue .panel-head { align-items: flex-start; flex-direction: column; }
  .decision-queue .panel-head-right { width: 100%; align-self: stretch; justify-content: space-between; }
  .intelligence-notification-summary { grid-template-columns: minmax(0, 1fr); }
  .intelligence-notification-summary > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .intelligence-notification-summary > div:last-child { border-bottom: 0; }
}

/* Account settings — stable personal and organization-wide preferences */
.account-settings-link {
  width: 100%;
  min-height: 58px;
  margin-top: 12px;
  padding: 10px 11px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 10px;
  color: inherit;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
}
.account-settings-link:hover { border-color: #494b55; background: var(--panel-hover); }
.account-settings-link > span:first-child {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: var(--accent-text);
  border-radius: 7px;
  background: var(--blue-soft);
}
.account-settings-link > span:first-child .ui-icon { width: 14px; height: 14px; }
.account-settings-link > span:nth-child(2) { min-width: 0; }
.account-settings-link strong, .account-settings-link small { display: block; }
.account-settings-link strong { color: var(--text); font-size: 11px; font-weight: 620; }
.account-settings-link small { margin-top: 3px; color: var(--dim); font-size: 8px; line-height: 1.35; }
.account-settings-link > i { color: var(--dim); }
.account-settings-link > i .ui-icon { width: 13px; height: 13px; }

.settings-view { max-width: 1540px; }
.settings-view .page-heading { max-width: none; }
.settings-layout {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: start;
  gap: 13px;
}
.workspace-settings-layout { grid-template-columns: minmax(0, 1fr); }
.settings-nav {
  height: fit-content;
  overflow: hidden;
  padding: 6px;
  border-color: var(--line-subtle);
  border-radius: var(--radius);
  background: var(--panel);
}
.settings-nav > button {
  width: 100%;
  min-height: 37px;
  padding: 8px 9px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  border: 0;
  border-radius: 7px;
  background: transparent;
  text-align: left;
  font-size: 11px;
  font-weight: 540;
}
.settings-nav > button:hover { color: var(--text); background: var(--hover-fill); }
.settings-nav > button.active {
  color: var(--accent-text);
  background: var(--blue-soft);
  box-shadow: none;
}
.settings-nav > button .ui-icon { width: 14px; height: 14px; color: currentColor; }

.settings-content { min-width: 0; display: grid; gap: 13px; }
.settings-content > .settings-section { display: none; }
.settings-layout[data-settings-page="workspace"] .team-section { display: block; }
.settings-layout[data-settings-page="personal"] #settings-personal,
.settings-layout[data-settings-page="notifications"] #settings-notifications,
.settings-layout[data-settings-page="security"] #settings-security,
.settings-layout[data-settings-page="workspace"] #settings-workspace { display: block; }
.settings-section { overflow: hidden; border-color: var(--line-subtle); }
.settings-section-head {
  min-height: 54px;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--panel);
}
.settings-section-head h2 { margin: 0; color: var(--text); font-size: 20px; font-weight: 650; letter-spacing: -.015em; }
.settings-section-head p { margin: 2px 0 0; color: var(--dim); font-size: 11px; line-height: 1.4; }
.settings-scope {
  min-height: 22px;
  padding: 3px 7px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(98, 108, 213, .26);
  border-radius: 999px;
  color: var(--accent-text);
  background: var(--blue-soft);
  font-size: 9px;
  font-weight: 630;
  white-space: nowrap;
}
.settings-scope.workspace { color: var(--accent-text); border-color: rgba(98, 108, 213, .26); background: var(--blue-soft); }

.settings-form { padding: 16px; }
.settings-avatar-row {
  min-height: 104px;
  padding: 15px 16px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid var(--line-subtle);
  background: linear-gradient(110deg, rgba(94, 106, 210, .045), transparent 42%);
}
.settings-profile-avatar {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  color: #d9dcff;
  border: 1px solid rgba(124, 134, 237, .38);
  border-radius: var(--person-avatar-radius);
  background: linear-gradient(145deg, rgba(124, 134, 237, .28), rgba(94, 106, 210, .14));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 8px 22px rgba(0, 0, 0, .18);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .01em;
}
.settings-avatar-copy { min-width: 0; display: grid; align-content: center; justify-items: start; }
.settings-avatar-copy > strong { color: var(--text); font-size: 12px; font-weight: 610; }
.settings-avatar-copy > p:not(.settings-form-status) { margin: 4px 0 9px; color: var(--dim); font-size: 10px; line-height: 1.4; }
.settings-avatar-actions { display: flex; align-items: center; gap: 10px; }
.settings-avatar-button {
  min-height: 32px;
  height: 32px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 10px;
  font-weight: 620;
}
.settings-avatar-button:focus-within { outline: 2px solid var(--blue); outline-offset: 2px; }
.settings-avatar-remove { min-height: 32px; padding: 0 3px; color: var(--muted); font-size: 10px; }
.settings-avatar-remove:hover { color: var(--danger-text); }
.settings-avatar-remove[hidden] { display: none; }
.settings-avatar-copy > .settings-form-status { min-height: 13px; margin-top: 7px; }
.settings-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.settings-field-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.settings-field { min-width: 0; display: grid; align-content: start; gap: 7px; }
.settings-field-wide { grid-column: 1 / -1; }
.settings-field > span { color: var(--muted); font-size: 12px; font-weight: 560; }
.settings-field input, .settings-field select {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: 0;
  background: var(--field);
  font-size: 12px;
  transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.settings-field select { color-scheme: dark; }
.settings-field input:hover, .settings-field select:hover { border-color: #454750; }
.settings-field input:focus, .settings-field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(98,108,213,.18); }
.settings-field input:disabled, .settings-field select:disabled { cursor: not-allowed; opacity: .5; }
.settings-field small { color: var(--dim); font-size: 11px; font-weight: 450; line-height: 1.4; }
.settings-static-field {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.settings-static-field strong {
  min-height: 40px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--field);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
}
.settings-form-footer {
  min-height: 38px;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 0;
  background: transparent;
}
.settings-form-footer .button { min-height: 38px; height: 38px; padding: 8px 13px; border-radius: 8px; font-size: 12px; font-weight: 620; }
.settings-form-status { min-width: 0; margin: 0 auto 0 0; color: var(--dim); font-size: 11px; }
.settings-form-status.error { color: var(--danger-text); }
.settings-form-status.success { color: var(--success-text); }

.settings-sync-notice {
  min-height: 56px;
  margin: 0;
  padding: 11px 14px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  border: 1px solid var(--line-subtle);
  border-radius: 9px;
  background: var(--panel);
}
.settings-sync-notice strong, .settings-sync-notice p { display: block; margin: 0; }
.settings-sync-notice strong { color: var(--text); font-size: 12px; font-weight: 620; }
.settings-sync-notice p { margin-top: 3px; color: var(--dim); font-size: 10px; }
.settings-sync-notice.error { border-color: rgba(229,107,120,.24); background: rgba(229,107,120,.055); }
.settings-sync-notice.error > span { color: var(--danger-text); }
.settings-sync-notice.error > span .ui-icon { width: 16px; height: 16px; }
.settings-spinner { width: 15px; height: 15px; margin-left: 3px; border: 2px solid #3b3d47; border-top-color: var(--blue-bright); border-radius: 50%; animation: settings-spin .8s linear infinite; }
@keyframes settings-spin { to { transform: rotate(360deg); } }

.settings-status-list { display: grid; }
.settings-status-row {
  min-height: 66px;
  padding: 12px 15px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid var(--line-subtle);
}
.settings-status-icon { width: 30px; height: 30px; display: grid; place-items: center; color: var(--dim); border-radius: 8px; background: var(--quiet-fill); }
.settings-status-icon.active { color: var(--success-text); background: var(--green-soft); }
.settings-status-icon .ui-icon { width: 14px; height: 14px; }
.settings-status-row strong, .settings-status-row p { display: block; margin: 0; }
.settings-status-row strong { color: var(--text); font-size: 12px; font-weight: 590; }
.settings-status-row p { margin-top: 3px; color: var(--dim); font-size: 10px; line-height: 1.4; }
.settings-state { min-height: 22px; padding: 3px 7px; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; background: var(--panel-2); font-size: 9px; font-weight: 630; text-transform: uppercase; }
.settings-state.active { color: var(--success-text); border-color: rgba(98,211,167,.22); background: var(--green-soft); }
.settings-notification-form { border-bottom: 1px solid var(--line-subtle); }
.settings-section-action, .settings-security-action {
  min-height: 66px;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
}
.settings-section-action strong, .settings-section-action p, .settings-security-action strong, .settings-security-action p { display: block; margin: 0; }
.settings-section-action strong, .settings-security-action strong { color: var(--text); font-size: 12px; font-weight: 590; }
.settings-section-action p, .settings-security-action p { margin-top: 3px; color: var(--dim); font-size: 10px; }
.settings-section-action .outline-button, .settings-security-action .outline-button { min-height: 38px; height: 38px; padding: 8px 13px; border-radius: 8px; font-size: 12px; font-weight: 620; }
.settings-security-action { grid-template-columns: minmax(0, 1fr) auto; border-top: 1px solid var(--line-subtle); }
.settings-security-action > .settings-form-status { grid-column: 1 / -1; min-height: 0; margin-top: -5px; }
.settings-password-form { width: 100%; max-width: 540px; padding: 24px; }
.settings-password-intro { margin: 0 0 24px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.settings-password-fields { display: grid; gap: 20px; }
.settings-password-fields .settings-field > span { font-size: 13px; }
.settings-password-fields .settings-field small { font-size: 12px; line-height: 1.5; }
.settings-password-input { position: relative; display: block; }
.settings-password-input input { min-height: 44px; padding-right: 66px; font-size: 14px; }
.settings-password-input input[aria-invalid="true"] { border-color: var(--danger-text); }
.settings-password-input button { position: absolute; top: 0; right: 4px; bottom: 0; min-width: 52px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: var(--accent-text); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.settings-recovery-link { justify-self: start; min-height: 36px; margin: -18px 0 -8px; padding: 4px 0; border: 0; border-radius: 3px; background: transparent; color: var(--accent-text); font: inherit; font-size: 12px; cursor: pointer; }
.settings-password-input button:hover, .settings-recovery-link:hover { color: var(--text); }
.settings-password-form .settings-form-footer { display: grid; justify-content: stretch; gap: 14px; margin-top: 24px; }
.settings-password-form .settings-form-footer .button { width: 100%; min-height: 44px; height: auto; font-size: 13px; }
#settings-security .settings-form-status { font-size: 12px; line-height: 1.5; }
#settings-security .settings-form-status:empty { display: none; }
#settings-security .settings-form-status.error { color: var(--danger-text); }
#settings-security .settings-form-status.success { color: var(--success-text); }
.settings-security-action { padding: 20px 24px; gap: 16px; }
.settings-security-action strong { font-size: 13px; }
.settings-security-action p { font-size: 12px; line-height: 1.5; }
.settings-security-action .outline-button { min-height: 44px; height: auto; }
@media (max-width: 650px) {
  .settings-password-form { max-width: none; padding: 20px 16px; }
  .settings-password-input input { font-size: 16px; }
  .settings-recovery-link { min-height: 44px; }
  .settings-security-action { padding: 20px 16px; }
}
.settings-workspace-warning {
  min-height: 46px;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #9b91c3;
  border-bottom: 1px solid var(--line-subtle);
  background: rgba(155,138,251,.035);
}
.settings-workspace-warning .ui-icon { width: 13px; height: 13px; }
.settings-workspace-warning p { margin: 0; color: #8e879f; font-size: 10px; }
.settings-workspace-warning.readonly { color: #9698a4; background: var(--quiet-fill); }
.settings-workspace-warning.readonly p { color: var(--dim); }

@media (max-width: 940px) {
  .settings-layout { grid-template-columns: minmax(0, 1fr); }
  .settings-nav { display: flex; align-items: center; gap: 2px; overflow-x: auto; scrollbar-width: none; }
  .settings-nav > button { width: auto; flex: 0 0 auto; }
}

@media (max-width: 680px) {
  .settings-avatar-row { grid-template-columns: 58px minmax(0, 1fr); gap: 12px; }
  .settings-profile-avatar { width: 58px; height: 58px; font-size: 15px; }
  .settings-field-grid, .settings-field-grid.three { grid-template-columns: minmax(0, 1fr); }
  .settings-field-wide { grid-column: auto; }
  .settings-section-head { align-items: flex-start; flex-direction: column; }
  .settings-status-row { grid-template-columns: 30px minmax(0, 1fr); }
  .settings-status-row .settings-state { grid-column: 2; justify-self: start; }
  .settings-section-action, .settings-security-action { grid-template-columns: minmax(0, 1fr); }
  .settings-section-action button, .settings-security-action button { width: 100%; }
  .settings-form-footer { align-items: stretch; flex-direction: column; }
  .settings-form-footer .button { width: 100%; }
  .settings-form-status { min-height: 14px; margin: 0; }
  .settings-sync-notice { grid-template-columns: 22px minmax(0, 1fr); }
  .settings-sync-notice button { grid-column: 2; justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .settings-spinner { animation: none; }
}
/* Financing lifecycle */
.financing-lifecycle-view { max-width: 1640px; }
.financing-archive-tabs { display: flex; gap: 26px; min-height: 44px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.financing-archive-tabs button { position: relative; display: inline-flex; align-items: center; gap: 7px; flex-shrink: 0; padding: 10px 0 13px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 550; }
.financing-archive-tabs button:hover { color: var(--text); }
.financing-archive-tabs button[aria-selected="true"] { color: var(--text); }
.financing-archive-tabs button[aria-selected="true"]::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--blue); border-radius: 2px 2px 0 0; }
.financing-archive-tabs button:focus-visible { outline-offset: -2px; border-radius: 4px; }
.financing-archive-tabs b { min-width: 18px; padding: 2px 5px; border-radius: 5px; color: var(--muted); background: var(--panel-2); font-size: 9px; font-weight: 500; font-variant-numeric: tabular-nums; }
.financing-archive-tabs button[aria-selected="true"] b { color: var(--blue-bright); background: var(--blue-soft); }
#financing-archive-panel:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; border-radius: var(--radius); }
@media (max-width: 480px) { .financing-archive-tabs { gap: 20px; } .financing-archive-tabs button { font-size: 10px; gap: 5px; } }
.financing-detail-view { max-width: 1640px; }
.financing-lifecycle-view .page-heading { margin-bottom: 18px; }
.collection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.collection-toolbar > span { color: var(--dim); font-size: 10px; }
.collection-view-toggle { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--line-subtle); border-radius: 9px; background: var(--panel); }
.collection-view-toggle button { min-height: 29px; padding: 5px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 550; }
.collection-view-toggle button .ui-icon { width: 13px; height: 13px; }
.collection-view-toggle button:hover { background: var(--hover-fill); color: var(--text); }
.collection-view-toggle button[aria-pressed="true"] { color: var(--accent-text); border-color: rgba(124,134,237,.2); background: rgba(124,134,237,.1); }
.collection-view-toggle button:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.financing-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.financing-card-grid > li { display: flex; min-width: 0; }
.financing-record-card { display: flex; flex-direction: column; width: 100%; min-width: 0; padding: 20px; border: 1px solid var(--line-subtle); border-radius: var(--radius-lg); color: var(--text); background: linear-gradient(145deg, rgba(255,255,255,.015), transparent 60%), var(--panel); text-align: left; transition: border-color .15s ease, background .15s ease; }
.financing-record-card:hover { border-color: rgba(124,134,237,.42); background: linear-gradient(145deg, rgba(124,134,237,.035), transparent 60%), var(--panel); }
.financing-record-card:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 3px; }
.financing-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; }
.financing-card-icon { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line-subtle); border-radius: 9px; color: var(--accent-text); background: rgba(124,134,237,.05); }
.financing-card-icon .ui-icon { width: 16px; height: 16px; }
.financing-card-top .financing-status { max-width: calc(100% - 44px); white-space: normal; text-align: left; }
.financing-card-identity { display: grid; gap: 6px; margin-top: 17px; width: 100%; }
.financing-card-identity > strong { color: var(--text); font-size: 15px; line-height: 1.4; letter-spacing: -.015em; font-weight: 620; overflow-wrap: anywhere; }
.financing-card-identity > span { color: var(--dim); font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.financing-card-amount { display: grid; gap: 7px; margin: 24px 0 21px; }
.financing-card-amount > span { color: var(--muted); font-size: 10px; }
.financing-card-amount > strong { font-size: clamp(22px, 2vw, 27px); font-weight: 650; line-height: 1.1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.financing-card-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; width: 100%; padding: 18px 0; margin-bottom: 17px; border-top: 1px solid var(--line-subtle); }
.financing-card-facts > span { display: grid; align-content: start; gap: 5px; min-width: 0; }
.financing-card-facts small { color: var(--dim); font-size: 9px; }
.financing-card-facts strong { color: var(--text); font-size: 11px; line-height: 1.5; font-weight: 540; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.financing-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line-subtle); }
.financing-card-footer > span:first-child { min-width: 0; color: var(--muted); font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.financing-card-open { display: inline-flex; align-items: center; flex-shrink: 0; gap: 5px; color: var(--accent-link); font-size: 10px; font-weight: 550; }
.financing-card-open .ui-icon { width: 12px; height: 12px; }
@media (max-width: 1280px) { .financing-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .financing-card-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; } .financing-record-card { padding: 18px; } .collection-view-toggle button { min-height: 34px; padding: 6px 12px; } }
@media (prefers-reduced-motion: reduce) { .financing-record-card { transition: none; } }
/* Match xoan-admin/public/styles.css dashboard-kpi cards and shared theme tokens. */
.financing-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin: 20px 0 18px; }
.financing-kpi {
  display: flex; flex-direction: column; min-width: 0; min-height: 126px; padding: 16px;
  border: 1px solid var(--line-subtle); border-radius: var(--radius-lg);
  background: radial-gradient(circle at 96% -20%, rgba(124,134,237,.13), transparent 46%), linear-gradient(145deg, rgba(255,255,255,.018), transparent 58%), var(--panel);
  color: var(--text); text-align: left; text-decoration: none;
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}
.financing-kpi-top, .financing-kpi-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.financing-kpi-top { color: var(--muted); font-size: 11px; font-weight: 540; line-height: 1.4; }
.financing-kpi-icon { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid rgba(124,134,237,.16); border-radius: 9px; background: rgba(124,134,237,.08); color: var(--accent-text); }
.financing-kpi-icon .ui-icon { width: 14px; height: 14px; }
.financing-kpi-value { display: block; margin: 15px 0 11px; font-size: clamp(25px, 2.4vw, 32px); font-weight: 690; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.financing-kpi-date .financing-kpi-value { font-size: clamp(24px, 2.2vw, 30px); }
.financing-kpi-foot { margin-top: auto; color: var(--dim); font-size: 10px; line-height: 1.5; }
.financing-kpi-foot > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.financing-kpi-link { color: var(--accent-link); }
.financing-kpi-link .ui-icon { width: 13px; height: 13px; }
.financing-kpi-action.has-actions { border-color: rgba(124,134,237,.28); }
:is(button,a).financing-kpi:hover { border-color: rgba(124,134,237,.44); transform: translateY(-1px); box-shadow: 0 12px 28px rgba(0,0,0,.16); }
:is(button,a).financing-kpi:active { transform: scale(.985); }
:is(button,a).financing-kpi:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 2px; }
.financing-action-body { padding: 0; }
.financing-action-list { list-style: none; padding: 0; margin: 0; }
.financing-action-list > li + li { border-top: 1px solid var(--line-subtle); }
.financing-action-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 18px 22px; background: transparent; text-align: left; }
.financing-action-row:hover { background: var(--hover-fill); }
.financing-action-row:focus-visible { outline-offset: -3px; }
.financing-action-copy { display: grid; gap: 5px; min-width: 0; }
.financing-action-copy strong { color: var(--text); font-size: 12px; font-weight: 550; }
.financing-action-copy small { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.financing-action-copy small:last-child { color: var(--dim); font-size: 10px; }
.financing-action-row > .ui-icon { width: 14px; height: 14px; color: var(--blue); }
@media (max-width: 1120px) {
  .financing-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .financing-kpis { gap: 8px; }
  .financing-kpi { min-height: 112px; padding: 13px; }
  .financing-kpi-value { margin: 12px 0 9px; font-size: 24px; }
  .financing-kpi-date .financing-kpi-value { font-size: 22px; }
  .financing-kpi-top, .financing-kpi-foot { font-size: 9px; }
  .financing-kpi-icon { flex-basis: 25px; width: 25px; height: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .financing-kpi { transition: none; }
  :is(button,a).financing-kpi:hover, :is(button,a).financing-kpi:active { transform: none; }
}
.financing-lifecycle-shell { overflow: hidden; border: 1px solid var(--line-subtle); border-radius: var(--radius); background: var(--panel); }
.financing-tabs { display: flex; align-items: stretch; gap: 22px; min-height: 50px; padding: 0 18px; overflow-x: auto; border-bottom: 1px solid var(--line-subtle); background: rgba(255,255,255,.012); scrollbar-width: none; }
.financing-tabs::-webkit-scrollbar { display: none; }
.financing-tabs button { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 0 1px; color: var(--dim); background: transparent; font-size: 11px; font-weight: 620; }
.financing-tabs button::after { content: ''; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; border-radius: 2px 2px 0 0; background: transparent; }
.financing-tabs button:hover { color: #d5d6dc; }
.financing-tabs button.active { color: #f2f2f5; }
.financing-tabs button.active::after { background: var(--blue); box-shadow: 0 -2px 12px rgba(94,106,210,.35); }
.financing-tabs button b { min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 5px; border: 1px solid var(--line-subtle); border-radius: 6px; background: var(--panel-2); color: #999ba6; font-size: 9px; font-variant-numeric: tabular-nums; }
.financing-inventory { border: 0; border-radius: 0; background: transparent; }
.financing-inventory-head { min-height: 65px; padding: 13px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-subtle); }
.financing-inventory-head h2 { margin: 0; color: #f0f0f3; font-size: 15px; font-weight: 640; }
.financing-inventory-head p { margin: 5px 0 0; color: var(--dim); font-size: 10px; }
.financing-table { min-width: 1180px; }
.financing-table th:last-child,
.financing-table td:last-child { text-align: right; }
.table-action { display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; padding: 5px 0; color: #aab1ee; background: transparent; font-size: 10px; font-weight: 620; }
.table-action:hover { color: #d9dcff; }
.table-action .ui-icon { width: 12px; height: 12px; }
.financing-status { display: inline-flex; align-items: center; gap: 6px; min-height: var(--financing-status-height); padding: 0 8px; white-space: nowrap; border: 1px solid #393b44; border-radius: 7px; color: #aaaab3; background: rgba(255,255,255,.025); font-size: 9px; font-weight: 650; }
.financing-need > .financing-status { justify-self: start; }
.financing-status i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.financing-status.positive { color: #6dd8ad; border-color: rgba(82,207,159,.27); background: rgba(82,207,159,.08); }
.financing-status.progress { color: #b4b9ff; border-color: rgba(112,120,229,.28); background: rgba(112,120,229,.09); }
.financing-status.negative { color: #ee9c9c; border-color: rgba(224,105,105,.3); background: rgba(224,105,105,.08); }
.financing-status.task-complete { color: #6dd8ad; border-color: rgba(82,207,159,.27); background: rgba(82,207,159,.08); }
.financing-status.task-todo { color: #f2f3ff; border-color: var(--blue); background: var(--blue); }
.financing-status.task-review { color: var(--accent-text); border-color: color-mix(in srgb, var(--blue) 45%, transparent); background: var(--blue-soft); }
.financing-status.task-revise { color: #ee9c9c; border-color: rgba(224,105,105,.3); background: rgba(224,105,105,.08); }
.financing-table-progress { min-width: 105px; display: flex; align-items: center; gap: 8px; }
.financing-table-progress > span { width: 72px; height: 5px; overflow: hidden; border-radius: 999px; background: #30313a; }
.financing-table-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #626ed9, #8d91ef); }
.financing-table-progress b { color: #adafba; font-size: 9px; font-weight: 600; }
.financing-empty { min-height: 280px; display: grid; place-items: center; align-content: center; padding: 35px; text-align: center; }
.financing-empty > span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; color: #9ca4ef; background: var(--panel-2); }
.financing-empty h3 { margin: 12px 0 0; font-size: 13px; }
.financing-empty p { margin: 6px 0 0; color: var(--dim); font-size: 10px; }

.financing-detail-header { position: relative; margin-bottom: 16px; overflow: hidden; border: 1px solid var(--line-subtle); border-radius: var(--radius-lg); background: radial-gradient(650px 220px at 0 0, rgba(97,105,202,.14), transparent 62%), radial-gradient(520px 220px at 100% 0, rgba(73,176,138,.08), transparent 68%), var(--panel); }
.financing-detail-header::before { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 1px rgba(255,255,255,.025); }
.financing-detail-title { padding: 16px 20px 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.financing-detail-title > div > span { color: #aeb3f3; font-size: 9px; font-weight: 680; letter-spacing: .1em; text-transform: uppercase; }
.financing-detail-title h1 { margin: 7px 0 0; color: #f5f5f7; font-size: clamp(23px,2.4vw,32px); font-weight: 650; letter-spacing: -.045em; }
.financing-detail-title p { margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.financing-detail-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line-subtle); }
.financing-summary-metric { min-width: 0; min-height: 78px; padding: 15px 18px; border-right: 1px solid var(--line-subtle); }
.financing-summary-metric:last-child { border-right: 0; }
.financing-summary-metric span { display: block; color: var(--dim); font-size: 9px; }
.financing-summary-metric strong { display: block; margin-top: 7px; overflow: hidden; color: #eeeeF1; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; font-weight: 630; font-variant-numeric: tabular-nums; }
.financing-active-header { --active-gutter: clamp(18px,1.5vw,24px); margin-bottom: 16px; }
.financing-active-overview { min-width: 0; padding: 16px var(--active-gutter); display: grid; grid-template-columns: minmax(285px,1fr) auto; align-items: center; column-gap: 24px; }
.financing-active-identity { min-width: 0; padding: 0; display: flex; flex-direction: column; justify-content: center; }
.financing-active-eyebrow { color: #aeb3f3; font-size: 8px; font-weight: 680; letter-spacing: .11em; text-transform: uppercase; }
.financing-active-identity h1 { margin: 6px 0 0; overflow-wrap: anywhere; color: #f5f5f7; font-size: clamp(21px,2vw,27px); font-weight: 650; line-height: 1.08; letter-spacing: -.04em; }
.financing-active-identity p { margin: 5px 0 0; overflow: hidden; color: #858894; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.financing-active-right { width: max-content; min-width: 0; justify-self: end; display: flex; align-items: stretch; overflow: hidden; border: 1px solid var(--line-subtle); border-radius: 10px; background: rgba(255,255,255,.018); }
.financing-active-status-row { min-width: 0; margin: 0; display: grid; grid-template-columns: max-content max-content; }
.financing-active-status-block,
.financing-active-todos-block { min-width: 0; padding: 10px 14px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 8px; }
.financing-active-todos-block { border-left: 1px solid var(--line-subtle); }
.financing-active-status-label,
.financing-active-todo-label { color: var(--dim); font-size: 8px; font-weight: 570; letter-spacing: .035em; }
.financing-active-todo-count { min-width: 0; display: inline-flex; align-items: center; gap: 10px; color: #858894; font-size: 10px; white-space: nowrap; }
.financing-active-todo-count > b { color: #6ed9ae; font-weight: 620; }
.financing-active-todo-count > b strong,
.financing-active-todo-count > span strong { font-weight: 680; font-variant-numeric: tabular-nums; }
.financing-active-todo-count > i { width: 1px; height: 14px; background: #3a3c45; }
.financing-active-todo-count > span strong { color: #c6c8d0; }
.financing-active-summary { min-width: 0; padding: 0 var(--active-gutter); display: grid; grid-template-columns: minmax(68px,.78fr) minmax(150px,1.28fr) minmax(90px,1fr) minmax(64px,.68fr) minmax(150px,1.18fr); border-top: 1px solid var(--line-subtle); }
.financing-active-fact { min-width: 0; min-height: 68px; padding: 12px 18px 13px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line-subtle); }
.financing-active-fact:first-child { padding-left: 0; border-left: 0; }
.financing-active-fact:last-child { padding-right: 0; }
.financing-active-fact > span { overflow: hidden; color: var(--dim); text-overflow: ellipsis; white-space: nowrap; font-size: 8px; font-weight: 570; letter-spacing: .035em; }
.financing-active-fact > strong { min-width: 0; margin-top: 6px; overflow: hidden; color: #ececf0; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 620; font-variant-numeric: tabular-nums; }
.financing-active-transaction > strong { display: -webkit-box; white-space: normal; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.financing-active-fact:nth-child(3) > strong,
.financing-active-fact:nth-child(4) > strong { font-size: 14px; }
.financing-active-contact > strong { display: flex; align-items: center; gap: 8px; }
.financing-contact-avatar { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border: 1px solid rgba(137,145,242,.34); border-radius: var(--person-avatar-radius); color: #e0e2ff; background: linear-gradient(145deg, rgba(110,119,221,.42), rgba(68,76,161,.26)); font-size: 8px; font-weight: 680; letter-spacing: .03em; }
.financing-contact-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.financing-progress-panel { --loan-progress-green: #6ed9ae; --loan-progress-purple: #b4b9ff; position: relative; margin: 0; padding: 13px var(--active-gutter) 15px; overflow: hidden; border-top: 1px solid var(--line-subtle); background: rgba(255,255,255,.006); }
.financing-progress-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.financing-progress-heading > div { display: flex; align-items: baseline; gap: 9px; }
.financing-progress-heading span { color: var(--dim); font-size: 8px; font-weight: 650; text-transform: uppercase; letter-spacing: .1em; }
.financing-progress-heading strong { color: #e5e5e9; font-size: 12px; font-weight: 630; }
.financing-progress-heading > b { padding: 4px 7px; border: 1px solid var(--line-subtle); border-radius: 6px; color: #9296b8; background: rgba(255,255,255,.018); font-size: 8px; font-weight: 650; letter-spacing: .01em; }
.financing-progress-scroll { overflow-x: auto; overflow-y: hidden; padding: 2px 0 0; scrollbar-width: none; }
.financing-progress-scroll::-webkit-scrollbar { display: none; }
.financing-progress { position: relative; min-width: 650px; min-height: 41px; margin: 0; padding: 0; list-style: none; }
.financing-progress > li { position: absolute; top: 0; left: var(--stage-left,11px); width: 0; min-width: 0; display: grid; grid-template-rows: 22px auto; justify-items: start; gap: 7px; color: #696b75; font-size: 8px; font-weight: 570; }
.financing-progress > li:not(:last-child)::before { content: ''; position: absolute; z-index: 0; top: 10px; left: 0; width: var(--stage-segment,0); height: 1px; border-radius: 999px; background: #353740; pointer-events: none; }
.financing-progress > li.is-complete::before { background: var(--loan-progress-green); }
.financing-progress > li.is-transition::before { background: linear-gradient(90deg, var(--loan-progress-green), var(--loan-progress-purple)); }
.financing-progress > li > span { position: relative; z-index: 1; width: max-content; justify-self: start; white-space: nowrap; text-align: center; transform: translateX(-50%); }
.financing-progress > li i { position: relative; z-index: 1; width: 22px; height: 22px; margin-top: -1px; display: grid; place-items: center; justify-self: start; border: 1px solid #3a3c46; border-radius: 50%; background: var(--panel); color: transparent; font-style: normal; font-size: 7px; transform: translateX(-50%); }
.financing-progress > li i .ui-icon { width: 10px; height: 10px; }
.financing-progress > li.is-complete { color: var(--loan-progress-green); }
.financing-progress > li.is-complete i { color: var(--loan-progress-green); border-color: rgba(76,194,148,.3); background: linear-gradient(rgba(76,194,148,.09), rgba(76,194,148,.09)), var(--panel); }
.financing-progress > li.is-current { color: var(--loan-progress-purple); font-weight: 640; }
.financing-progress > li.is-current i { color: #fff; border-color: var(--loan-progress-purple); background: linear-gradient(rgba(112,120,229,.72), rgba(112,120,229,.72)), var(--panel); box-shadow: 0 0 0 4px rgba(112,120,229,.1); }
.financing-progress > li.is-upcoming i { border-color: transparent; background: transparent; }
.financing-progress > li.is-upcoming i::after { content: ''; width: 8px; height: 8px; border: 1px solid #464852; border-radius: 50%; background: #24262e; }
.financing-active-workspace { margin-bottom: 16px; overflow: hidden; }
.financing-active-tabs { min-height: 50px; padding: 0 18px; display: flex; align-items: stretch; gap: 25px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid var(--line-subtle); scrollbar-width: none; }
.financing-active-tabs::-webkit-scrollbar { display: none; }
.financing-active-tabs button { position: relative; min-width: max-content; padding: 0; display: inline-flex; align-items: center; gap: 7px; border: 0; color: #858791; background: transparent; font-size: 10px; font-weight: 610; }
.financing-active-tabs button::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; border-radius: 999px 999px 0 0; background: transparent; }
.financing-active-tabs button:hover { color: #cfd0d6; }
.financing-active-tabs button.active { color: #e8e8ed; }
.financing-active-tabs button.active::after { background: linear-gradient(90deg, #6974df, #9699ef); }
.financing-active-tabs button:focus-visible { outline: 0; color: #f4f4f7; box-shadow: inset 0 0 0 1px rgba(121,130,226,.55); }
.financing-active-tabs b { min-width: 19px; height: 18px; padding: 0 6px; display: inline-grid; place-items: center; border: 1px solid #393b47; border-radius: 999px; color: #a8aab6; background: rgba(255,255,255,.025); font-size: 8px; font-weight: 650; }
.financing-active-tabs button.active b { color: #cfd2ff; border-color: rgba(112,121,224,.35); background: rgba(101,111,210,.1); }
.financing-active-tab-content { outline: 0; }
.financing-active-tab-content > .financing-detail-section { margin: 0; border: 0; border-radius: 0; background: transparent; }
.financing-active-tab-content .financing-section-head { min-height: 50px; padding: 10px 18px; }
.financing-active-tab-content .financing-section-head h2 { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.financing-active-tab-content .financing-section-head p { margin: 0; }
.financing-active-todos > div:last-child { display: grid; }
.financing-loan-details-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.financing-loan-details-grid .financing-summary-metric:nth-child(4n) { border-right: 0; }
.financing-loan-details-grid .financing-summary-metric:last-child { grid-column: span 2; }
.financing-detail-grid { margin-bottom: 16px; display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: 16px; align-items: start; }
.financing-detail-section,
.financing-quote-card,
.financing-funded-card { margin-bottom: 16px; }
.financing-detail-grid .financing-detail-section { margin-bottom: 0; }
.financing-section-head { min-height: 63px; padding: 14px 17px; display: flex; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line-subtle); }
.financing-section-head h2 { margin: 0; color: #efeff2; font-size: 14px; font-weight: 640; }
.financing-section-head p { margin: 5px 0 0; color: var(--dim); font-size: 9px; }
.financing-section-head > span { color: #898b96; font-size: 9px; white-space: nowrap; }
.financing-terms-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.financing-terms-grid.compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
.financing-terms-grid .financing-summary-metric { border-bottom: 1px solid var(--line-subtle); }
.financing-terms-grid .financing-summary-metric:nth-child(4n) { border-right: 0; }
.financing-terms-grid.compact .financing-summary-metric:nth-child(2n) { border-right: 0; }
.financing-needs > div:last-child { display: grid; }
.financing-need { min-height: 58px; padding: 10px 14px; display: grid; grid-template-columns: minmax(0,1fr) 86px 54px; align-items: center; gap: 10px; border-bottom: 1px solid var(--line-subtle); transition: background .16s ease; }
.financing-need:has(> .team-assignees) { grid-template-columns: minmax(0,1fr) 86px 106px 64px; }
.financing-need > .team-assignees { justify-self: start; max-width: 106px; }
.financing-need:last-child { border-bottom: 0; }
.financing-need:hover { background: rgba(255,255,255,.012); }
.financing-need-open { min-width: 0; margin: -5px 0; padding: 5px 7px 5px 0; display: grid; grid-template-columns: 30px minmax(0,1fr) 14px; align-items: center; gap: 10px; border-radius: 8px; background: transparent; text-align: left; }
.financing-need-open:focus-visible { outline: 1px solid rgba(142,149,242,.78); outline-offset: 2px; }
.financing-need-check { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #3a3c46; border-radius: 8px; color: #898d9d; background: var(--panel-2); }
.financing-need-check.complete { color: #6ed9ae; border-color: rgba(76,194,148,.3); background: rgba(76,194,148,.09); }
.financing-need-check .ui-icon { width: 13px; height: 13px; }
.financing-need-copy { min-width: 0; }
.financing-need-copy strong,
.financing-need-copy small { display: block; }
.financing-need-copy strong { overflow: hidden; color: #e1e2e6; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 600; }
.financing-need-copy small { margin-top: 4px; color: var(--dim); font-size: 8px; }
.financing-need-arrow { color: #555967; transition: color .16s ease, transform .16s ease; }
.financing-need-arrow .ui-icon { width: 12px; height: 12px; }
.financing-need-open:hover .financing-need-arrow { color: #aeb3f4; transform: translateX(2px); }
.financing-documents table { width: 100%; min-width: 840px; border-collapse: collapse; }
.financing-documents th { height: 38px; padding: 0 15px; color: var(--dim); border-bottom: 1px solid var(--line-subtle); background: var(--field); text-align: left; font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }
.financing-documents td { height: 54px; padding: 9px 15px; color: var(--muted); border-bottom: 1px solid var(--line-subtle); font-size: 10px; }
.financing-documents td:last-child,
.financing-documents th:last-child { text-align: right; }
.financing-section-empty { padding: 28px 18px; color: var(--dim); text-align: center; font-size: 10px; }
.financing-activity { padding: 4px 17px 12px; }
.financing-activity > div { position: relative; min-height: 55px; display: grid; grid-template-columns: 8px 84px minmax(0,1fr); align-items: start; gap: 10px; padding-top: 13px; }
.financing-activity > div:not(:last-child)::before { content: ''; position: absolute; top: 21px; bottom: -13px; left: 3px; width: 1px; background: var(--line); }
.financing-activity i { position: relative; z-index: 1; width: 7px; height: 7px; margin-top: 2px; border: 2px solid var(--panel); border-radius: 50%; background: #7882e7; box-sizing: content-box; transform: translateX(-2px); }
.financing-activity time { color: var(--dim); font-size: 8px; }
.financing-activity strong,
.financing-activity small { display: block; }
.financing-activity strong { color: #dedfe4; font-size: 10px; font-weight: 610; }
.financing-activity small { margin-top: 4px; color: var(--dim); font-size: 9px; }
.financing-assumptions { margin: 16px; padding: 14px 16px; border: 1px solid var(--line-subtle); border-radius: 9px; background: rgba(255,255,255,.018); }
.financing-assumptions h3 { margin: 0 0 8px; color: #dfe0e5; font-size: 10px; }
.financing-assumptions ul { margin: 0; padding-left: 17px; color: var(--muted); font-size: 9px; line-height: 1.7; }
.financing-quote-actions { padding: 0 16px 16px; display: flex; justify-content: flex-end; gap: 8px; }

.modal.quote-request-modal { width: min(920px, 100%); }
.quote-request-form { padding-top: 16px; }
.quote-request-intro { margin-bottom: 20px; padding: 13px 15px; display: grid; gap: 5px; border: 1px solid rgba(112,121,224,.25); border-radius: 9px; background: rgba(102,112,210,.07); }
.quote-request-intro strong { color: #e6e8ff; font-size: 11px; font-weight: 650; }
.quote-request-intro span { color: #989db7; font-size: 9px; line-height: 1.45; }
.quote-request-form fieldset + fieldset { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line-subtle); }
.financing-quote-form fieldset { margin: 0 0 18px; padding: 0; border: 0; }
.financing-quote-form legend { margin-bottom: 12px; color: #ededf1; font-size: 13px; font-weight: 640; }
.financing-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.financing-form-wide { grid-column: 1 / -1; }
.financing-quote-form .form-field { display: grid; gap: 6px; }
.financing-quote-form .form-field > span { color: #aaaab3; font-size: 9px; }
.financing-quote-form .form-field small { color: var(--dim); font-size: 8px; }
.financing-quote-form input,
.financing-quote-form select,
.financing-document-form select { width: 100%; height: 39px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; outline: 0; color: #ececf0; background: var(--field); font-size: 11px; }
.financing-quote-form input:focus,
.financing-quote-form select:focus,
.financing-document-form select:focus { border-color: #737ce3; box-shadow: inset 0 0 0 1px #737ce3, 0 0 0 3px rgba(98,108,213,.12); }
.financing-quote-form .field-prefix { height: 39px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: var(--field); }
.financing-quote-form .field-prefix:focus-within { border-color: #737ce3; box-shadow: inset 0 0 0 1px #737ce3, 0 0 0 3px rgba(98,108,213,.12); }
.financing-quote-form .field-prefix b { padding-left: 11px; color: #898b96; font-size: 11px; }
.financing-quote-form .field-prefix input { height: 37px; border: 0; background: transparent; box-shadow: none; }
.financing-quote-form .field-suffix { height: 39px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: var(--field); }
.financing-quote-form .field-suffix:focus-within { border-color: #737ce3; box-shadow: inset 0 0 0 1px #737ce3, 0 0 0 3px rgba(98,108,213,.12); }
.financing-quote-form .field-suffix b { padding-right: 11px; color: #898b96; font-size: 11px; }
.financing-quote-form .field-suffix input { height: 37px; border: 0; background: transparent; box-shadow: none; }
.financing-quote-form [aria-invalid="true"] { border-color: #d86f79; box-shadow: 0 0 0 3px rgba(216,111,121,.11); }
/* Guided quote intake */
.modal.quote-request-modal { width: min(820px, 100%); max-height: none; padding: 0; overflow: hidden; border-radius: 16px; background: var(--panel); }
.qw-form { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; height: min(720px, calc(100dvh - 40px)); }
.qw-form [hidden] { display: none !important; }
.qw-form .modal-head { padding: 20px 28px; min-height: 65px; background: var(--panel); }
.qw-brand { display: flex; align-items: center; gap: 10px; }
.qw-brand.xoan-intelligence-brand > .xoan-intelligence-icon { width: 28px; height: 28px; color: var(--accent-text); }
.qw-brand h2 { font-size: 14px; font-weight: 580; }
.qw-progress { padding: 18px 28px 0; }
.qw-progress > span { display: flex; align-items: center; justify-content: space-between; color: var(--dim); font-size: 10px; }
.qw-progress strong { color: var(--muted); font-size: 10px; font-weight: 500; }
.qw-progress ol { display: flex; gap: 5px; padding: 0; margin: 10px 0 0; list-style: none; }
.qw-progress li { flex: 1; height: 3px; border-radius: 2px; background: var(--line); }
.qw-progress li.is-done { background: var(--blue); }
.qw-progress li[aria-current="step"] { background: var(--accent-text); }
.qw-form .quote-request-form { min-height: 0; overflow: auto; padding: 28px; overscroll-behavior: contain; }
.qw-step-head h3 { margin: 0; color: var(--text); font-size: 25px; font-weight: 630; letter-spacing: -.035em; line-height: 1.2; outline: none; }
.qw-step-head p { margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.qw-step-head { margin-bottom: 20px; }
.qw-prefill-status:empty { display: none; }
.qw-prefill-status { display: flex; align-items: center; gap: 12px; min-height: 18px; margin: -9px 0 18px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.qw-prefill-status[aria-busy="true"] { color: var(--accent-text); }
.qw-prefill-count { color: var(--dim); font-size: 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.qw-choices { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.qw-programs { grid-template-columns: repeat(2, minmax(0,1fr)); }
.qw-choice { position: relative; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; min-width: 0; padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.01); text-align: left; }
.qw-choice:hover, .qw-property:hover { border-color: rgba(124,134,237,.4); background: rgba(124,134,237,.035); }
.qw-choice[aria-pressed="true"], .qw-property[aria-pressed="true"] { border-color: var(--blue); background: rgba(98,108,213,.08); }
.qw-choice:focus-visible, .qw-property:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.qw-choice-icon { display: grid; place-items: center; flex: 0 0 35px; width: 35px; height: 35px; border-radius: 9px; border: 1px solid var(--line-subtle); color: var(--accent-text); background: rgba(124,134,237,.05); }
.qw-choice-icon .ui-icon { width: 17px; height: 17px; }
.qw-choice > strong { font-size: 13px; font-weight: 600; color: var(--text); }
.qw-choice > span:not(.qw-choice-icon) { font-size: 11px; color: var(--muted); line-height: 1.65; }
.qw-choice > i { position: absolute; right: 17px; top: 28px; color: var(--dim); }
.qw-choice > i .ui-icon { width: 14px; height: 14px; }
.qw-choice[aria-pressed="true"] > i { color: var(--accent-text); }
[data-qw-purposes] .qw-choice { display: grid; grid-template-columns: 24px 1fr; gap: 8px 8px; padding: 16px; border-radius: 10px; }
[data-qw-purposes] .qw-choice-icon { width: 24px; height: 24px; border: 0; background: transparent; }
[data-qw-purposes] .qw-choice > strong { align-self: center; font-size: 12px; }
[data-qw-purposes] .qw-choice > span:not(.qw-choice-icon) { grid-column: 1 / -1; font-size: 10px; }
[data-qw-purposes] .qw-choice > i { display: none; }
.qw-search { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.qw-search > .ui-icon { width: 16px; height: 16px; color: var(--muted); }
.qw-properties { display: grid; gap: 0; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.qw-property { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; padding: 9px 12px; border: 0; border-bottom: 1px solid var(--line-subtle); border-radius: 0; background: transparent; text-align: left; }
.qw-property:last-child { border-bottom: 0; }
.qw-property[aria-pressed="true"] { border-color: var(--line-subtle); box-shadow: inset 2px 0 var(--blue); }
.qw-property > .qw-choice-icon { width: 27px; height: 27px; flex-basis: 27px; border: 0; background: transparent; }
.qw-property > .qw-choice-icon .ui-icon { width: 15px; height: 15px; }
.qw-property > span:nth-child(2) { flex: 1; min-width: 0; display: grid; gap: 3px; }
.qw-property strong { font-size: 12px; color: var(--text); font-weight: 550; overflow-wrap: anywhere; }
.qw-property small { color: var(--muted); font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.qw-property > .ui-icon { width: 15px; height: 15px; color: var(--accent-text); flex-shrink: 0; }
[data-qw-owned-property] .qw-search { position: relative; margin-bottom: 12px; }
[data-qw-owned-property] .qw-search > .ui-icon { position: absolute; left: 12px; width: 14px; height: 14px; pointer-events: none; z-index: 1; }
.qw-form [data-qw-property-search] { height: 38px; padding-left: 35px; border-radius: 8px; }
.qw-properties > .qw-empty { margin: 0; padding: 18px; }
.qw-form .financing-form-grid { gap: 20px 18px; }
.qw-form .form-field { align-content: start; }
.qw-form .form-field > span { color: var(--muted); font-size: 11px; line-height: 1.6; }
.qw-form .form-field small { font-size: 10px; line-height: 1.5; }
.qw-form input, .qw-form select { height: 43px; font-size: 12px; background: var(--field); }
.qw-form .field-prefix { height: 43px; }
.qw-form .field-prefix input { height: 41px; }
.qw-form .quote-request-form fieldset { margin: 0; padding: 0; border: 0; }
.qw-form [data-qw-advanced] { margin-top: 24px; border-top: 1px solid var(--line-subtle); padding-top: 17px; }
.qw-form [data-qw-advanced] summary { color: var(--muted); font-size: 11px; cursor: pointer; }
.qw-form [data-qw-advanced] .financing-form-grid { margin-top: 20px; }
.qw-loan-amount { margin-bottom: 22px; }
.qw-input-wrap, .qw-form .field-prefix { position: relative; }
.qw-form .qw-source { color: var(--accent-text); font-size: 9px; transition: opacity .2s ease; }
.qw-filling .qw-source { opacity: 0; }
.qw-filling input, .qw-filling select { color: transparent !important; -webkit-text-fill-color: transparent; caret-color: transparent; }
.qw-form .qw-filling-active > span { color: var(--accent-text); }
.qw-filling-active .qw-input-wrap > input, .qw-filling-active .qw-input-wrap > select, .qw-filling-active > .field-prefix { border-color: var(--accent-text); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-text) 12%, transparent); }
.qw-typed-value { position: absolute; inset: 1px 28px 1px 12px; display: flex; align-items: center; color: var(--text); background: var(--field); font-size: 12px; font-weight: 400; line-height: normal; pointer-events: none; white-space: pre; overflow: hidden; }
.field-prefix .qw-typed-value { left: 29px; }
.qw-typed-text { min-width: 0; overflow: hidden; }
.qw-reveal-character { animation: qw-character-reveal .16s ease-out both; }
.qw-typing-cursor { flex: 0 0 2px; width: 2px; height: 1.1em; margin-left: 2px; border-radius: 1px; background: var(--accent-text); transition: opacity .16s ease; }
.qw-typing-cursor.is-finishing { opacity: 0; }
@keyframes qw-character-reveal { from { opacity: 0; filter: blur(1px); } to { opacity: 1; filter: blur(0); } }
.qw-form .modal-footer { display: flex; align-items: center; gap: 15px; min-height: 77px; margin: 0; padding: 17px 28px; border-top: 1px solid var(--line-subtle); background: var(--panel); }
.qw-form .modal-footer .button { min-width: 125px; height: 40px; margin-left: auto; font-size: 12px; }
.qw-back { display: inline-flex; align-items: center; gap: 5px; min-height: 38px; padding: 5px 0; color: var(--muted); background: transparent; font-size: 12px; }
.qw-back .ui-icon { width: 13px; height: 13px; }
.qw-footer-note { display: inline-flex; align-items: center; gap: 5px; font-size: 9px; color: var(--dim); }
.qw-footer-note .ui-icon { width: 11px; height: 11px; }
.qw-hint, .qw-empty { color: var(--muted); font-size: 11px; line-height: 1.7; margin-top: 18px; }
.qw-review-overview { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.qw-review-property { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px 10px; }
.qw-review-property > div { min-width: 0; }
.qw-review-eyebrow { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.qw-review-eyebrow i { width: 3px; height: 3px; border-radius: 50%; background: var(--dim); }
.qw-review-property strong { display: block; margin-top: 7px; color: var(--text); font-size: 17px; font-weight: 580; line-height: 1.45; letter-spacing: -.02em; overflow-wrap: anywhere; }
.qw-review-property small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.qw-edit { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 7px; background: transparent; color: var(--muted); }
.qw-edit:hover { color: var(--text); background: var(--panel-hover); }
.qw-edit .ui-icon { width: 13px; height: 13px; }
.qw-edit-text { padding: 5px 7px; flex-shrink: 0; border-radius: 6px; background: transparent; color: var(--accent-text); font-size: 11px; font-weight: 500; }
.qw-edit-text:hover { background: rgba(124,134,237,.06); }
.qw-review-metrics { display: grid; grid-template-columns: repeat(var(--qw-metric-count,3),minmax(0,1fr)); margin: 0; padding: 0 20px 14px; gap: 18px; }
.qw-review-metrics > div { min-width: 0; }
.qw-review-metrics dt { color: var(--muted); font-size: 10px; line-height: 1.5; }
.qw-review-metrics dd { margin: 6px 0 0; color: var(--text); font-size: 21px; line-height: 1.15; font-weight: 560; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.qw-review-lender { display: flex; align-items: center; gap: 10px; padding: 9px 20px; border-top: 1px solid var(--line-subtle); }
.qw-review-lender > span:nth-child(2), .qw-selected-lender > span:nth-child(2) { flex: 1; min-width: 0; display: grid; gap: 3px; }
.qw-review-lender small, .qw-selected-lender small { color: var(--dim); font-size: 9px; }
.qw-review-lender strong, .qw-selected-lender strong { color: var(--text); font-size: 12px; line-height: 1.5; font-weight: 500; overflow-wrap: anywhere; }
.qw-auto-lender { display: grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; border-radius: 7px; background: rgba(124,134,237,.06); color: var(--accent-text); }
.qw-auto-lender.xoan-intelligence-brand > .xoan-intelligence-icon { width: 26px; height: 26px; color: currentColor; }
.qw-review-sections { margin-top: 16px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.qw-review-section { position: relative; }
.qw-review-section + .qw-review-section { border-top: 1px solid var(--line); }
.qw-review-section > .qw-edit { position: absolute; right: 42px; top: 16px; }
.qw-review-section summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 66px; padding: 13px 18px 13px 20px; list-style: none; cursor: pointer; }
.qw-review-section summary::-webkit-details-marker { display: none; }
.qw-review-section summary > span { display: grid; gap: 5px; min-width: 0; padding-right: 36px; }
.qw-review-section summary strong { color: var(--text); font-size: 12px; font-weight: 550; }
.qw-review-section summary small { color: var(--muted); font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.qw-review-section summary > .ui-icon { width: 13px; height: 13px; color: var(--dim); transition: transform .15s ease; }
.qw-review-section details[open] summary > .ui-icon { transform: rotate(180deg); }
.qw-review-section summary:hover { background: rgba(255,255,255,.015); }
.qw-review-section summary:focus-visible { outline: 2px solid var(--accent-text); outline-offset: -3px; border-radius: 8px; }
.qw-review-section-body { padding: 0 20px 17px; }
.qw-review-section-body dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 26px; margin: 0; }
.qw-review-section-body dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; min-width: 0; padding: 10px 0; border-top: 1px solid var(--line-subtle); }
.qw-review-section-body dt { flex: 1; min-width: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.qw-review-section-body dd { max-width: 60%; margin: 0; color: var(--text); text-align: right; font-size: 11px; line-height: 1.5; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.qw-review-section-body h4 { margin: 16px 0 10px; color: var(--dim); font-size: 10px; font-weight: 500; }
.qw-confirm { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; font-size: 11px; color: var(--muted); line-height: 1.7; cursor: pointer; }
.qw-confirm input { width: 16px; height: 16px; margin: 0; flex-shrink: 0; accent-color: var(--blue); }
.qw-form .loan-workflow-error:empty { display: none; }
.qw-lender-choice { margin-top: 20px; }
.qw-lender-choice h4 { margin: 0 0 10px; font-size: 11px; font-weight: 500; color: var(--muted); }
.qw-lender-modes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: rgba(0,0,0,.08); }
.qw-lender-modes button { display: flex; justify-content: center; align-items: center; gap: 8px; min-width: 0; min-height: 35px; padding: 8px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 500; }
.qw-lender-modes button[aria-pressed="true"] { border-color: var(--line); background: var(--panel-2); color: var(--accent-text); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.qw-lender-modes .ui-icon { width: 14px; height: 14px; flex-shrink: 0; }
.qw-lender-hint { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
[data-qw-lender-picker] { margin-top: 14px; }
.qw-lender-choice .qw-search { position: relative; margin-bottom: 11px; }
.qw-lender-choice .qw-search > .ui-icon { position: absolute; left: 12px; width: 14px; height: 14px; z-index: 1; pointer-events: none; }
.qw-lender-choice .qw-search input { height: 38px; padding-left: 35px; border-radius: 8px; font-size: 11px; }
.qw-lender-status { color: var(--dim); font-size: 10px; line-height: 1.6; margin: 12px 0 6px; }
.qw-lender-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 12px; }
.qw-lender-result { display: flex; align-items: center; gap: 10px; min-width: 0; width: 100%; padding: 8px; border-radius: 8px; background: transparent; text-align: left; }
.qw-lender-result:hover { background: var(--panel-hover); }
.qw-lender-result > span:nth-child(2) { flex: 1; min-width: 0; display: grid; gap: 4px; }
.qw-lender-result strong { color: var(--text); font-size: 11px; font-weight: 500; overflow-wrap: anywhere; }
.qw-lender-result small { color: var(--muted); font-size: 9px; }
.qw-lender-result > .ui-icon { width: 12px; height: 12px; color: var(--dim); flex-shrink: 0; opacity: 0; }
.qw-lender-result:hover > .ui-icon, .qw-lender-result:focus-visible > .ui-icon { opacity: 1; }
.qw-selected-lender { display: flex; align-items: center; gap: 10px; min-width: 0; margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; }
.qw-form .lender-avatar.compact { width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--muted); box-shadow: none; }
.qw-form .lender-avatar.compact img { inset: 0; width: 100%; height: 100%; padding: 4px; border-radius: 6px; }
.qw-lender-modes button:focus-visible, .qw-lender-result:focus-visible { outline: 2px solid var(--accent-text); outline-offset: -2px; }

.financing-file-picker { min-height: 90px; display: flex; align-items: center; gap: 12px; padding: 18px; border: 1px dashed #444753; border-radius: 10px; color: #aab1ee; background: rgba(255,255,255,.015); cursor: pointer; }
.financing-file-picker:hover { border-color: #676fca; background: rgba(100,110,210,.05); }
.financing-file-picker .ui-icon { width: 20px; height: 20px; }
.financing-file-picker span { min-width: 0; flex: 1; }
.financing-file-picker strong,
.financing-file-picker small { display: block; }
.financing-file-picker strong { color: #e0e1e5; font-size: 11px; }
.financing-file-picker small { margin-top: 4px; color: var(--dim); font-size: 9px; }
.financing-file-picker input { max-width: 220px; color: var(--muted); font-size: 9px; }
.financing-document-form { display: grid; gap: 15px; }

body.drawer-open { overflow: hidden; }
.detail-drawer.financing-todo-drawer { inset: 0 0 0 auto; width: min(480px, calc(100vw - 32px)); height: 100vh; height: 100dvh; overflow: hidden; border: 0; border-left: 1px solid var(--line); background: var(--panel); transform: translateX(102%); }
.detail-drawer.financing-todo-drawer.open { transform: translateX(0); box-shadow: -18px 0 60px rgba(0,0,0,.38); }
.detail-drawer.financing-todo-drawer #drawerContent { height: 100%; min-height: 0; }
.financing-todo-drawer-shell { height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(0,auto) auto minmax(180px,1fr); }
.financing-todo-drawer-head { position: relative; padding: 22px 56px 22px 24px; display: grid; gap: 8px; border-bottom: 1px solid var(--line); background: var(--panel-2); }
.task-drawer-details { min-height: 0; max-height: 48dvh; overflow-y: auto; padding: 24px 24px 20px; scrollbar-color: var(--line) transparent; }
.financing-todo-drawer-head .drawer-close { position: absolute; top: 14px; right: 14px; width: 28px; height: 28px; margin: 0; float: none; border: 0; border-radius: 6px; background: transparent; }
.financing-todo-property { min-width: 0; color: var(--dim); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-detail-fields { display: grid; gap: 12px; margin: 0; font-size: 11px; }
.task-detail-fields > div { display: grid; grid-template-columns: 92px minmax(0,1fr); align-items: start; min-height: var(--financing-status-height); gap: 10px; }
.task-detail-fields dt { color: var(--dim); line-height: var(--financing-status-height); }
.task-detail-fields dd { min-width: 0; margin: 0; color: var(--text); line-height: var(--financing-status-height); }
.task-detail-fields .financing-status { height: var(--financing-status-height); line-height: 1.2; vertical-align: middle; }
.task-detail-empty { color: var(--dim); }
.task-detail-person { display: inline-flex; align-items: center; gap: 6px; }
.task-detail-person .task-discussion-avatar { width: var(--financing-status-height); height: var(--financing-status-height); border-radius: 5px; }
.task-drawer-tabs { display: flex; gap: 24px; padding: 0 24px; border-bottom: 1px solid var(--line); }
.task-drawer-tabs button { padding: 11px 0 10px; background: transparent; color: var(--dim); border-radius: 0; border-bottom: 2px solid transparent; font-size: 11px; }
.task-drawer-tabs button:hover { color: var(--text); }
.task-drawer-tabs button[aria-selected="true"] { color: var(--text); border-bottom-color: var(--blue-bright); }
.task-drawer-tabs button:focus-visible { outline: 1px solid var(--blue-bright); outline-offset: -3px; }
[data-task-panel][hidden] { display: none !important; }
.task-activity-panel { min-height: 0; overflow-y: auto; padding: 24px; scrollbar-color: var(--line) transparent; }
.task-activity-list { list-style: none; padding: 0; margin: 0; }
.task-activity-list li { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 11px; position: relative; padding-bottom: 23px; }
.task-activity-list li:not(:last-child)::before { content: ''; position: absolute; top: 30px; bottom: 5px; left: 12px; width: 1px; background: var(--line); }
.task-activity-list .task-discussion-avatar { width: 26px; height: 26px; border-radius: 6px; }
.task-activity-list strong { color: var(--text); font-size: 11px; font-weight: 500; }
.task-activity-list p { margin: 3px 0 0; font-size: 11px; color: var(--muted); line-height: 1.5; }
.task-activity-list small { display: block; margin-top: 4px; font-size: 10px; line-height: 1.5; color: var(--muted); overflow-wrap: anywhere; }
.task-activity-list time { display: block; margin-top: 6px; color: var(--dim); font-size: 9px; }
.task-activity-dot { width: 6px; height: 6px; border-radius: 50%; margin: 7px 10px; background: var(--dim); }
.task-activity-empty, .task-activity-notice { margin: 0; color: var(--dim); font-size: 11px; line-height: 1.5; }
.task-activity-notice:empty { display: none; }
.financing-todo-drawer-head .drawer-close:focus-visible { outline: 1px solid #8e95f2; outline-offset: 2px; }
.financing-todo-drawer-title { width: 100%; min-width: 0; }
.financing-todo-drawer-title h2 { min-width: 0; margin: 0; color: var(--text); letter-spacing: -.02em; font-size: 17px; line-height: 1.35; font-weight: 550; overflow-wrap: anywhere; }
.financing-todo-drawer-title .financing-status { flex: 0 0 auto; }
.financing-todo-drawer-body { min-height: 0; display: grid; grid-template-rows: minmax(300px,1fr); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: var(--line) transparent; padding-top: 16px; }
.task-drawer-details .financing-todo-overview { margin-top: 28px; }
.task-drawer-details .financing-todo-overview h3 { margin: 0 0 8px; color: var(--muted); font-size: 11px; font-weight: 500; }
.task-drawer-details .financing-todo-overview p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.task-drawer-details .financing-todo-upload { margin: 28px 0 0; }
.task-drawer-details .financing-todo-upload h3 { margin: 0; color: var(--muted); font-size: 11px; font-weight: 500; }
.task-drawer-details .financing-todo-section-heading { margin-bottom: 12px; }
.task-drawer-details .financing-todo-section-heading p { display: none; }
.financing-todo-drawer-body > section { padding: 16px 20px; }
.financing-todo-drawer-body h3 { margin: 0; color: var(--muted); font-size: 11px; font-weight: 550; }
.financing-todo-overview > p { margin: 7px 0 0; color: var(--text); font-size: 12px; line-height: 1.6; }
.financing-todo-upload { padding-top: 0 !important; }
.financing-todo-section-heading { margin-bottom: 9px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.financing-todo-section-heading p { margin: 5px 0 0; color: #9295a0; font-size: 10px; line-height: 1.4; }
.financing-todo-section-heading > span:not(.financing-todo-contact) { padding: 4px 7px; flex: 0 0 auto; color: #aeb3f4; border: 1px solid rgba(133,140,231,.25); border-radius: 999px; background: rgba(108,117,219,.07); font-size: 8px; }
#financingTodoUploadForm { display: block; }
#financingTodoUploadForm.is-compact { display: block; }
.financing-todo-linked-file { min-height: 42px; margin: 0; padding: 7px 9px; display: grid; grid-template-columns: 26px minmax(0,1fr) auto auto; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 7px; background: transparent; }
.financing-todo-linked-icon { width: 30px; height: 30px; display: grid; place-items: center; color: #b9bdf8; border-radius: 8px; background: rgba(111,120,219,.12); }
.financing-todo-linked-icon .ui-icon { width: 15px; height: 15px; }
.financing-todo-linked-file > span:nth-child(2) { min-width: 0; }
.financing-todo-linked-file strong,
.financing-todo-linked-file small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.financing-todo-linked-file strong { color: #e3e4e9; font-size: 10px; font-weight: 610; }
.financing-todo-linked-file small { margin-top: 3px; color: #858894; font-size: 9px; }
.financing-todo-linked-state { padding: 4px 7px; color: #b8bcf8; border: 1px solid rgba(132,140,235,.26); border-radius: 999px; background: rgba(110,119,220,.08); font-size: 8px; white-space: nowrap; }
.financing-todo-compact-upload { min-height: 26px; padding: 0 7px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: var(--muted); border: 1px solid var(--line); border-radius: 5px; background: transparent; white-space: nowrap; cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease; }
.financing-todo-compact-upload:hover { color: #ececff; border-color: rgba(143,151,242,.56); background: rgba(109,118,218,.16); }
.financing-todo-compact-upload:focus-within { border-color: #858ce7; box-shadow: 0 0 0 3px rgba(112,121,224,.1); }
.financing-todo-compact-upload .ui-icon { width: 13px; height: 13px; }
.financing-todo-compact-upload strong { color: inherit; font-size: 9px; font-weight: 620; }
.financing-todo-file-picker { min-width: 0; min-height: 44px; padding: 7px 10px; display: flex; align-items: center; gap: 9px; overflow: hidden; color: var(--muted); border: 1px dashed var(--line); border-radius: 7px; background: transparent; cursor: pointer; transition: border-color .16s ease, background .16s ease; }
.financing-todo-file-picker:hover { border-color: #6269b9; background: rgba(104,112,213,.055); }
.financing-todo-file-picker:focus-within { border-color: #858ce7; box-shadow: 0 0 0 3px rgba(112,121,224,.1); }
.financing-todo-file-picker > span:first-of-type { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 28px; border-radius: 7px; background: rgba(108,117,219,.11); }
.financing-todo-file-picker .ui-icon { width: 14px; height: 14px; }
.financing-todo-file-picker > span:last-child { min-width: 0; }
.financing-todo-file-picker strong,
.financing-todo-file-picker small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.financing-todo-file-picker strong { color: #e1e2e7; font-size: 10px; font-weight: 610; }
.financing-todo-file-picker small { margin-top: 3px; color: #858894; font-size: 9px; }
.financing-todo-thread { min-height: 0; margin: 0 12px 12px; padding: 0 !important; display: grid; grid-template-rows: auto minmax(90px,1fr) auto; border: 1px solid var(--line); border-radius: 9px; background: var(--bg); }
.financing-todo-thread-heading { display: flex; justify-content: space-between; gap: 12px; min-height: 52px; padding: 10px 14px; align-items: center; border-bottom: 1px solid var(--line-subtle); }
.task-discussion-agent { gap: 7px; color: var(--muted); font-size: 10px; }
.task-discussion-agent > .xoan-intelligence-icon { width: 27px; height: 27px; }
.financing-todo-message-log { min-height: 0; padding: 18px 14px; display: grid; grid-auto-rows: max-content; align-content: start; gap: 20px; overflow-y: auto; outline: 0; overscroll-behavior: contain; scrollbar-color: var(--line) transparent; }
.financing-todo-message-log:focus-visible { box-shadow: inset 0 0 0 1px rgba(142,149,242,.72); }
.financing-todo-message { min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; align-items: start; }
.task-discussion-avatar { display: inline-grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--muted); font-size: 9px; font-weight: 550; }
.task-discussion-avatar img { width: 100%; height: 100%; object-fit: cover; }
.financing-todo-message > .task-discussion-avatar { width: 36px; height: 36px; border-radius: 8px; font-size: 10px; }
.task-discussion-avatar.is-agent { border-color: transparent; background: transparent; overflow: visible; }
.task-discussion-avatar.is-agent > .xoan-intelligence-icon { width: 28px; height: 28px; }
.financing-todo-message.is-user > .task-discussion-avatar { color: var(--blue-bright); background: var(--blue-soft); }
.task-discussion-message-content { min-width: 0; }
.task-discussion-message-content > header { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin-bottom: 2px; line-height: 14px; }
.task-discussion-message-content strong { color: var(--text); font-size: 11px; font-weight: 550; }
.task-discussion-message-content time { color: var(--dim); font-size: 9px; }
.financing-todo-message p { margin: 0; padding: 0; overflow-wrap: anywhere; color: var(--muted); white-space: pre-wrap; font-size: 12px; line-height: 20px; }
.task-discussion-agent-badge { padding: 1px 4px; border-radius: 3px; background: var(--panel-2); color: var(--dim); font-size: 8px; }
.task-discussion-mention { color: var(--blue-bright); font-weight: 500; }
.financing-todo-message-empty { padding: 14px 0; color: var(--dim); }
.financing-todo-message-empty strong { color: var(--muted); font-size: 11px; font-weight: 500; }
.financing-todo-message-empty p { margin: 5px 0 0; font-size: 11px; line-height: 1.6; }
.financing-todo-composer { position: relative; min-width: 0; margin: 0 10px calc(10px + env(safe-area-inset-bottom)); padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
.financing-todo-composer:focus-within { border-color: color-mix(in srgb, var(--blue) 40%, var(--line)); }
.financing-todo-composer textarea { display: block; width: 100%; min-height: 76px; max-height: 140px; padding: 12px; resize: none; overflow-y: auto; color: var(--text); border: 0; border-radius: 8px; outline: 0; background: transparent; font: inherit; font-size: 12px; line-height: 1.6; box-shadow: none; }
.financing-todo-composer textarea::placeholder { color: var(--dim); }
.financing-todo-composer textarea:focus { border: 0; outline: 0; box-shadow: none; }
.task-discussion-composer-tools { display: flex; align-items: center; gap: 3px; padding: 0 8px 8px; }
.task-discussion-composer-spacer { flex: 1; }
.task-discussion-tool, .task-discussion-send { width: 28px; height: 28px; padding: 0; display: grid; place-items: center; border-radius: 5px; background: transparent; color: var(--muted); }
.task-discussion-tool .ui-icon, .task-discussion-send .ui-icon { width: 16px; height: 16px; }
.task-discussion-at { font-size: 18px; font-weight: 400; }
.task-discussion-tool:hover:not(:disabled) { color: var(--text); background: var(--hover-fill); }
.task-discussion-tool:disabled { opacity: .35; cursor: default; }
.task-discussion-send { color: var(--text); background: var(--blue); }
.task-discussion-send:hover:not(:disabled) { background: var(--blue-bright); }
.task-discussion-send:disabled { color: var(--dim); background: transparent; opacity: .5; cursor: default; }
.task-discussion-tool:focus-visible, .task-discussion-send:focus-visible { outline: 1px solid var(--blue-bright); outline-offset: 2px; }
.task-mention-menu { position: absolute; z-index: 5; bottom: calc(100% + 7px); left: 0; width: min(320px, 100%); padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); box-shadow: 0 8px 24px rgba(0,0,0,.28); }
.task-mention-menu[hidden] { display: none; }
.task-mention-menu input { width: 100%; min-width: 0; padding: 8px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--text); font-size: 11px; }
.task-mention-options { max-height: 180px; overflow-y: auto; }
.task-mention-options button { width: 100%; display: flex; align-items: center; gap: 9px; padding: 8px; border-radius: 5px; background: transparent; text-align: left; }
.task-mention-options button:hover, .task-mention-options button:focus-visible { background: var(--hover-fill); outline: none; }
.task-mention-options button > span:last-child { display: grid; gap: 3px; min-width: 0; }
.task-mention-options strong { color: var(--text); font-size: 11px; font-weight: 500; }
.task-mention-options small { overflow: hidden; text-overflow: ellipsis; color: var(--dim); font-size: 10px; }
.task-mention-menu > p, .task-mention-empty { margin: 0; padding: 8px; color: var(--dim); font-size: 9px; line-height: 1.5; }
.task-mention-menu > p { border-top: 1px solid var(--line-subtle); }

@media (max-width: 1050px) {
  .financing-detail-grid { grid-template-columns: 1fr; }
  .financing-terms-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .financing-terms-grid .financing-summary-metric:nth-child(2n) { border-right: 0; }
}
@media (max-width: 1040px) {
  .financing-active-overview { padding: 16px var(--active-gutter); grid-template-columns: 1fr; row-gap: 14px; column-gap: 0; }
  .financing-active-identity { min-height: 0; padding: 0; }
  .financing-active-right { width: 100%; max-width: 560px; }
  .financing-active-status-row { width: 100%; min-height: 72px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .financing-active-summary { grid-template-columns: repeat(5,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .qw-form { height: calc(100dvh - 24px); }
  .qw-form .modal-head, .qw-form .modal-footer { padding: 16px 18px; }
  .qw-form .qw-progress { padding: 15px 18px 0; }
  .qw-form .quote-request-form { padding: 24px 18px; }
  .qw-step-head h3 { font-size: 23px; }
  .qw-choices, .qw-programs { grid-template-columns: 1fr; gap: 10px; }
  .qw-choice { display: grid; grid-template-columns: 35px 1fr; gap: 6px 13px; padding: 16px 38px 16px 16px; }
  .qw-choice-icon { grid-row: span 2; }
  .qw-choice > span:not(.qw-choice-icon) { grid-column: 2; }
  .qw-choice > i { top: 24px; right: 14px; }
  [data-qw-purposes] .qw-choice { grid-template-columns: 28px 1fr; padding: 12px 14px; gap: 3px 10px; }
  [data-qw-purposes] .qw-choice-icon { grid-row: span 2; align-self: center; }
  [data-qw-purposes] .qw-choice > span:not(.qw-choice-icon) { grid-column: 2; }
  .qw-review-property { padding: 16px; }
  .qw-review-property strong { font-size: 16px; }
  .qw-review-metrics { padding: 0 16px 16px; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qw-review-metrics > div:first-child { grid-column: 1 / -1; margin-bottom: 4px; }
  .qw-review-metrics > div:first-child dd { font-size: 25px; }
  .qw-review-metrics dd { font-size: 18px; }
  .qw-review-lender { padding: 12px 16px; }
  .qw-review-section summary { padding-left: 16px; min-height: 80px; }
  .qw-review-section > .qw-edit { top: 21px; }
  .qw-review-section-body { padding: 0 16px 14px; }
  .qw-review-section-body dl { grid-template-columns: 1fr; }
  .qw-confirm { align-items: flex-start; }
  .qw-confirm input { margin-top: 3px; }
  .qw-lender-results { grid-template-columns: 1fr; }
  .qw-lender-choice .qw-search input { font-size: 16px; }
  .qw-footer-note { display: none; }
  .qw-form .modal-footer .button { min-width: 136px; }
  .qw-form input, .qw-form select { font-size: 16px; }
  .qw-typed-value { font-size: 16px; }

  .modal.quote-request-modal { width: 100%; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
  .quote-request-modal .modal-head { background: var(--panel); }
  .quote-request-modal .modal-footer { padding-bottom: max(16px, env(safe-area-inset-bottom)); background: var(--panel); }
  .quote-request-form { padding: 15px 16px 22px; }
  .financing-detail-title { display: grid; }
  .financing-detail-metrics { grid-template-columns: 1fr; }
  .financing-detail-metrics .financing-summary-metric { border-right: 0; border-bottom: 1px solid var(--line-subtle); }
  .financing-form-grid,
  .financing-terms-grid,
  .financing-terms-grid.compact { grid-template-columns: 1fr; }
  .financing-terms-grid .financing-summary-metric { border-right: 0; }
  .financing-need { grid-template-columns: minmax(0,1fr) auto; }
  .financing-need .outline-button { grid-column: 1 / -1; justify-self: start; margin-left: 40px; }
  .financing-need:has(> .team-assignees) { grid-template-columns: minmax(0,1fr) auto auto; }
  .financing-need:has(> .team-assignees) .financing-need-open { grid-column: 1 / -1; }
  .financing-need:has(> .team-assignees) > .financing-status { grid-column: 1; }
  .financing-need:has(> .team-assignees) > .team-assignees { grid-column: 2; }
  .financing-need:has(> .team-assignees) > .outline-button { grid-column: 3; margin-left: 0; }
  .financing-file-picker { align-items: flex-start; flex-wrap: wrap; }
  .financing-active-tabs { padding: 0 14px; gap: 20px; }
  .financing-active-header { --active-gutter: 14px; }
  .financing-active-identity { min-height: 0; }
  .financing-active-status-row { min-height: 72px; }
  .financing-active-status-block,
  .financing-active-todos-block { padding: 12px 14px; }
  .financing-active-todo-count { gap: 8px; white-space: normal; }
  .financing-active-summary { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
  .financing-active-fact { min-height: 64px; padding-right: 0; padding-left: 0; border-top: 1px solid var(--line-subtle); border-left: 0; }
  .financing-active-fact:nth-child(-n+2) { border-top: 0; }
  .financing-active-fact:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line-subtle); }
  .financing-active-contact { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
  .financing-loan-details-grid .financing-summary-metric:last-child { grid-column: auto; }
  .financing-progress-scroll { scroll-snap-type: x proximity; }
  .financing-progress { min-width: 700px; }
  .financing-progress > li { scroll-snap-align: center; }
}
@media (max-width: 540px) {
  .financing-active-status-row { grid-template-columns: 1fr; }
  .financing-active-todos-block { border-top: 1px solid var(--line-subtle); border-left: 0; }
  .detail-drawer.financing-todo-drawer { width: 100%; }
  .financing-todo-drawer-head { padding: 16px calc(48px + env(safe-area-inset-right)) 14px max(16px, env(safe-area-inset-left)); }
  .financing-todo-drawer-head .drawer-close { right: max(14px, env(safe-area-inset-right)); }
  .financing-todo-drawer-body > section { padding-right: max(18px, env(safe-area-inset-right)); padding-left: max(18px, env(safe-area-inset-left)); }
  .financing-todo-thread-heading { padding-right: max(18px, env(safe-area-inset-right)); padding-left: max(18px, env(safe-area-inset-left)); }
  .financing-todo-message-log { padding-right: max(18px, env(safe-area-inset-right)); padding-left: max(18px, env(safe-area-inset-left)); }
}

@media (max-width: 360px) {
  .financing-todo-drawer-title { display: grid; justify-items: start; }
  .financing-todo-thread-heading { align-items: flex-start; }
  .financing-todo-linked-state { display: none; }
}

@media (max-height: 700px) {
  .financing-todo-drawer-head { min-height: 66px; padding-top: 14px; padding-bottom: 14px; }
  .financing-todo-drawer-head .drawer-close { top: 14px; }
  .financing-todo-drawer-body > section { padding-top: 15px; padding-bottom: 15px; }
  .financing-todo-thread { min-height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  .detail-drawer.financing-todo-drawer,
  .financing-need-arrow { transition: none; }
}

/* Mobile navigation remains reachable without covering the selected page. */
.mobile-nav-close { display: none; }
@media (max-width: 840px) {
  .sidebar:not(.open) { visibility: hidden; }
  .sidebar.open { visibility: visible; }
  .mobile-nav-close { display: grid; place-items: center; width: 34px; height: 34px; margin-left: auto; color: #bec2d1; background: transparent; }
  .mobile-nav-close .ui-icon { width: 18px; height: 18px; }
  .heading-actions .outline-button[data-action="export"] { display: inline-flex; }
}
@media (max-width: 520px) {
  .topbar-actions .search-trigger { display: inline-flex; width: 32px; justify-content: center; }
  .search-trigger kbd { display: none; }
  .topbar-actions { gap: 6px; }
}

.loan-document-upload-progress { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface, #fff); margin-top: 12px; }
.loan-document-upload-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; font-size: 13px; line-height: 1.5; }
.loan-document-upload-heading strong { font-weight: 500; overflow-wrap: anywhere; }
.loan-document-upload-heading > span { color: var(--muted); font-variant-numeric: tabular-nums; }
.loan-document-upload-progress progress { width: 100%; height: 6px; border: 0; border-radius: 10px; accent-color: var(--accent, #216446); }
.loan-document-upload-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.loan-document-upload-actions button { min-height: 36px; }
.loan-workflow-attachment { flex-wrap: wrap; }
.loan-workflow-attachment > span:first-child { flex: 1 1 180px; }
.loan-task-response-form { display: grid; gap: 12px; }
.loan-task-response-form textarea { width: 100%; min-height: 110px; resize: vertical; }
.loan-task-response-form > button { justify-self: start; }
.loan-task-response-form > p { font-size: 12px; line-height: 1.5; margin: 0; }

/* Ownership selection steps */
.review-source { gap: 12px; }
.review-select-all { flex: 0 0 auto; min-height: 28px; padding: 4px 8px 4px 0; border: 0; border-radius: 4px; color: #a4b7ff; background: transparent; font-size: 11px; font-weight: 540; }
.review-select-all:hover { color: #dde5ff; }
.review-select-all:focus-visible { outline: 2px solid #a8baff; outline-offset: 4px; }
.review-select-all:disabled { color: #6d7280; cursor: default; }
.onboarding-card input:not(:checked) + .review-check { color: transparent; }
.entity-review-count { color: #a7adbb; font-size: 11px; white-space: nowrap; }
.entity-review-row .review-copy em { line-height: 1.5; }
.review-row input:focus-visible + .review-check, .property-review-row input:focus-visible + .review-check { outline: 2px solid #a8baff; outline-offset: 4px; }
.entity-review-row:has(input:checked), .property-review-row:has(input:checked) { background: rgba(91, 122, 240, .08); }
@media (max-width: 720px) {
  .entity-review-count { grid-column: 3; }
  .entity-review-row .review-copy strong { white-space: normal; line-height: 1.4; }
}

/* Xoan Intelligence: shared identity for AI features. */
.xoan-intelligence-icon { display: inline-block; flex: 0 0 auto; width: 20px; height: 20px; overflow: visible; color: #b0aaff; vertical-align: middle; pointer-events: none; }
.xoan-intelligence-particle { opacity: var(--particle-opacity); }
.xoan-intelligence-icon.is-animating { animation: xoan-intelligence-cycle 2s linear; }
.xoan-intelligence-icon.is-animating .xoan-intelligence-particle { animation: xoan-intelligence-particle 2s linear; }
.xoan-intelligence-label { display: block; color: #aaa6dc; font-size: 9px; line-height: 1.4; font-weight: 550; letter-spacing: .035em; }
.xoan-intelligence-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 22px; border-bottom: 1px solid var(--line); }
.xoan-intelligence-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.xoan-intelligence-brand > .xoan-intelligence-icon { width: 32px; height: 32px; }
.xoan-intelligence-brand .xoan-intelligence-label { font-size: 13px; font-weight: 600; letter-spacing: -.01em; color: #c2bff0; }
.xoan-intelligence-header + .modal-head p { overflow-wrap: anywhere; }
.xoan-intelligence-action > .xoan-intelligence-icon { width: 19px; height: 19px; }
.button.xoan-intelligence-action > .xoan-intelligence-icon { color: currentColor; }
/* The icon-level cycle supplies one completion event for all 260 particles. */
@keyframes xoan-intelligence-cycle { from { opacity: 1; } to { opacity: 1; } }
@keyframes xoan-intelligence-particle {
  0%, 4% { opacity: var(--particle-opacity); transform: translate(0, 0); animation-timing-function: cubic-bezier(.12, .72, .24, 1); }
  18% { opacity: .85; transform: translate(var(--burst-x), var(--burst-y)); animation-timing-function: cubic-bezier(.42, 0, 1, 1); }
  23% { opacity: .9; transform: translate(var(--gather-1-x), var(--gather-1-y)); }
  28% { opacity: .95; transform: translate(var(--gather-2-x), var(--gather-2-y)); }
  33% { opacity: .95; transform: translate(var(--gather-3-x), var(--gather-3-y)); animation-timing-function: cubic-bezier(0, 0, .58, 1); }
  38%, 68% { opacity: .95; transform: translate(var(--geometric-x), var(--geometric-y)); animation-timing-function: cubic-bezier(.4, 0, .2, 1); }
  96%, 100% { opacity: var(--particle-opacity); transform: translate(0, 0); }
}

/* Mortgage document autofill */
.mortgage-statement-body { display: grid; gap: 16px; }
.mortgage-statement-body > p { margin: 0; }
.mortgage-statement-picker { position: relative; overflow: hidden; cursor: pointer; transition: border-color .2s, background-color .2s; }
.mortgage-statement-picker::after { content: ''; position: absolute; bottom: 0; left: 0; width: 40%; height: 2px; pointer-events: none; opacity: 0; background: linear-gradient(90deg, transparent, #aaa3ff, transparent); }
.mortgage-statement-picker input { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; opacity: 0; cursor: pointer; }
.mortgage-statement-picker:focus-within { outline: 2px solid var(--accent, #8b8af5); outline-offset: 3px; }
.mortgage-statement-picker strong { overflow-wrap: anywhere; }
.mortgage-statement-body .mortgage-statement-status { color: #bab5ef; font-size: 11px; }
.mortgage-statement-status:empty, .mortgage-statement-body .form-error:empty { display: none; }
#mortgageStatementUploadForm[aria-busy="true"] .mortgage-statement-picker { border-color: #7771b2; background-color: rgba(139, 130, 245, .04); cursor: progress; }
#mortgageStatementUploadForm[aria-busy="true"] .mortgage-statement-picker input { cursor: progress; }
#mortgageStatementUploadForm[aria-busy="true"] .mortgage-statement-picker::after { opacity: 1; animation: xoan-intelligence-scan 2.4s ease-in-out infinite; }
#mortgageStatementUploadForm[aria-busy="true"] .xoan-intelligence-action { opacity: .85; cursor: progress; }
@keyframes xoan-intelligence-scan { from { transform: translateX(-100%); } to { transform: translateX(350%); } }
.mortgage-statement-body .mortgage-statement-note { color: #999daa; font-size: 11px; }
.mortgage-statement-date { max-width: 310px; }
.mortgage-statement-date small { color: #999daa; font-size: 10px; line-height: 1.5; }
.mortgage-statement-fields { overflow: hidden; border: 1px solid var(--line); border-radius: 7px; }
.mortgage-statement-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 18px; padding: 14px; border-bottom: 1px solid var(--line-subtle); }
.mortgage-statement-row:last-child { border-bottom: 0; }
.mortgage-statement-include { display: grid; grid-template-columns: 16px minmax(0, 1fr); align-content: start; align-items: center; gap: 6px 9px; color: #dedfe5; font-size: 11px; cursor: pointer; }
.mortgage-statement-include input { width: 15px; height: 15px; margin: 0; accent-color: #7580df; }
.mortgage-statement-include small { grid-column: 2; color: #969aa7; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.mortgage-statement-value { display: grid; gap: 6px; }
.mortgage-statement-value input { width: 100%; min-width: 0; height: 35px; padding: 0 10px; border: 1px solid #41434d; border-radius: 5px; color: #ececf2; background: #1b1c20; font: inherit; font-size: 12px; color-scheme: dark; }
.mortgage-statement-value input:focus-visible { outline: 2px solid #7580df; outline-offset: 2px; }
.mortgage-statement-value input:disabled { opacity: .45; }
.mortgage-statement-value small { color: #999daa; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.mortgage-statement-warnings { padding: 10px 13px; border: 1px solid #61503b; border-radius: 6px; background: rgba(224, 174, 99, .04); }
.mortgage-statement-warnings p { margin: 0; color: #d8bd97; }
.mortgage-statement-warnings p + p { margin-top: 7px; }
@media (max-width: 520px) {
  .mortgage-statement-row { grid-template-columns: 1fr; gap: 10px; }
  .mortgage-statement-value { margin-left: 25px; }
  .mortgage-loan-terms > header { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .xoan-intelligence-icon.is-animating,
  .xoan-intelligence-icon.is-animating .xoan-intelligence-particle,
  #mortgageStatementUploadForm[aria-busy="true"] .mortgage-statement-picker::after { animation: none !important; }
  #mortgageStatementUploadForm[aria-busy="true"] .mortgage-statement-picker::after { width: 100%; }
}

/* Entity management shares Financing's page, tab, and table primitives. */
.workspace-entity-row { display: flex; align-items: center; padding-right: 12px; gap: 3px; }
.workspace-entity-row .workspace-option { flex: 1; width: auto; min-width: 0; padding-right: 5px; }
.workspace-manage { flex: 0 0 28px; width: 28px; height: 28px; padding: 0; display: grid; place-items: center; color: var(--muted); border: 0; border-radius: 7px; background: transparent; transition: color .15s ease, background-color .15s ease; }
.workspace-manage .ui-icon { width: 14px; height: 14px; }
.workspace-manage:hover, .workspace-manage:focus-visible { color: var(--blue); background: color-mix(in srgb, var(--blue) 12%, transparent); }
.ew-eyebrow { margin-bottom: 8px; color: var(--dim); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ew-tabs { padding: 0; margin: 0 0 24px; border-bottom: 1px solid var(--line-subtle); }
.ew-tabs button { min-height: 44px; }
.ew-tabs button:first-child { padding-left: 0; }
.ew-ownership-summary { display: grid; grid-template-columns: auto minmax(150px, 420px) auto; justify-content: start; align-items: center; gap: 42px; margin: 28px 0; }
.ew-ownership-summary > div > span { color: var(--muted); font-size: 11px; }
.ew-ownership-summary > div > strong { display: block; margin-top: 6px; color: var(--text); font-size: 27px; letter-spacing: -.045em; font-weight: 550; font-variant-numeric: tabular-nums; }
.ew-ownership-progress > div { height: 5px; width: 100%; min-width: 260px; border-radius: 4px; background: var(--line); overflow: hidden; }
.ew-ownership-progress > div > span { height: 100%; display: block; background: var(--blue); border-radius: inherit; }
.ew-ownership-progress p { margin: 10px 0 0; color: var(--dim); font-size: 11px; }
.ew-ownership-progress p strong { color: var(--muted); font-weight: 500; }
.ew-view .financing-inventory-head h2 { margin: 0; font-size: 13px; font-weight: 600; }
.ew-view .financing-inventory-head p { margin: 5px 0 0; color: var(--dim); font-size: 11px; }
.ew-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 270px; padding: 36px 18px; text-align: center; }
.ew-empty > .ui-icon { width: 26px; height: 26px; margin-bottom: 16px; color: var(--dim); }
.ew-empty h3 { margin: 0; font-size: 15px; font-weight: 550; }
.ew-empty p { max-width: 450px; margin: 10px 0 22px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.ew-table { min-width: 650px; }
.ew-table td { white-space: nowrap; }
.ew-table td:last-child { width: 1%; }
.ew-table td.ew-relationship { max-width: 260px; white-space: normal; line-height: 1.5; }
.ew-properties-table { min-width: 850px; }
.ew-properties-table tbody tr { cursor: default; }
.ew-properties-table tbody tr:hover td { background: var(--panel); }
.ew-properties-table td.ew-property-type { max-width: 220px; white-space: normal; line-height: 1.5; }
.ew-properties-table th:last-child, .ew-properties-table td:last-child { min-width: 100px; white-space: nowrap; word-break: normal; }
.ew-owner, .ew-file, .ew-actions { display: flex; align-items: center; gap: 12px; }
.ew-avatar { display: grid; place-items: center; flex: 0 0 29px; height: 29px; border-radius: 50%; background: var(--field); border: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.ew-file .ui-icon { flex: 0 0 16px; color: var(--muted); }
.ew-file strong, .ew-owner strong { max-width: 340px; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.ew-share { font-variant-numeric: tabular-nums; }
.ew-muted { color: var(--dim); font-size: 11px; }
.ew-footnote { margin: 16px 0 0; color: var(--dim); font-size: 11px; line-height: 1.65; }
.ew-details { padding: 24px; }
.ew-details .settings-field-grid { max-width: 870px; gap: 24px; }
.ew-details textarea { width: 100%; padding: 12px; color: var(--text); border: 1px solid var(--line); border-radius: 8px; background: var(--field); font: inherit; font-size: 12px; resize: vertical; }
.ew-details textarea:focus { outline: 1px solid var(--blue); }
.ew-details input[readonly] { color: var(--muted); background: transparent; border-color: var(--line-subtle); cursor: default; }
.ew-details .settings-field small { display: flex; align-items: center; gap: 5px; }
.ew-details .settings-field small .ui-icon { width: 10px; height: 10px; vertical-align: -1px; }
.ew-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line-subtle); }
.ew-error { color: var(--orange); font-size: 12px; line-height: 1.6; }
.ew-error:empty { display: none; }
.ew-remove-owner { margin-right: auto; color: var(--orange); }
.ew-notice { color: var(--muted); font-size: 12px; margin: 0 0 20px; }
.ew-load-notice { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 20px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); font-size: 12px; line-height: 1.6; }
.ew-load-notice > div { flex: 1 1 260px; }
.ew-load-notice strong { color: var(--text); }
.ew-load-notice p { margin: 4px 0 0; color: var(--muted); }
.ew-suggestions { margin-top: 24px; border-top: 1px solid var(--line-subtle); padding-top: 18px; }
.ew-suggestions summary { cursor: pointer; color: var(--muted); font-size: 12px; }
.ew-suggestions summary span { margin-left: 8px; color: var(--dim); }
.ew-suggestions > p { color: var(--dim); font-size: 11px; margin: 16px 0; }
.ew-suggestion { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line-subtle); }
.ew-suggestion strong, .ew-suggestion small { display: block; font-size: 12px; }
.ew-suggestion strong { font-weight: 500; }
.ew-suggestion small { margin-top: 4px; color: var(--dim); font-size: 11px; }
.ew-registry { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 24px; border-bottom: 1px solid var(--line-subtle); font-size: 11px; color: var(--dim); }
.ew-registry strong { color: var(--text); font-weight: 500; }
.ew-upload-field input[type=file] { padding: 18px 12px; border-style: dashed; }
.ew-upload-field input::file-selector-button { padding: 7px 10px; margin-right: 10px; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 5px; cursor: pointer; }
@media (max-width: 700px) {
  .ew-ownership-summary { grid-template-columns: 1fr auto; gap: 20px; }
  .ew-ownership-progress { grid-column: 1 / -1; grid-row: 2; }
  .ew-ownership-progress > div { min-width: 0; }
  .ew-details { padding: 18px; }
  .ew-details .settings-field-grid { grid-template-columns: 1fr; gap: 18px; }
  .ew-view .page-heading { align-items: flex-start; gap: 16px; flex-wrap: wrap; }
  .ew-tabs button { padding: 10px 12px; white-space: nowrap; }
  .ew-form-footer { align-items: flex-start; }
  .ew-view .financing-inventory-head { gap: 12px; }
}

/* Financing dashboard */
.fd-dashboard .fd-table { min-width: 660px; }
.fd-dashboard .fd-pipeline .fd-table { min-width: 790px; }
.fd-dashboard .fd-count { margin-left: 6px; }
.fd-dashboard .fd-quotes, .fd-dashboard .fd-dates { border: 1px solid var(--line-subtle); border-radius: var(--radius); background: var(--panel); padding: 18px; }
.fd-dashboard .fd-side-column { padding-left: 0; border-left: 0; }
.fd-dashboard .fd-quote-terms b, .fd-dashboard .fd-quote-card > strong, .fd-dashboard .fd-date-row strong, .fd-dashboard .fd-date-tile b { color: var(--text); }
.fd-dashboard { --fd-line: var(--line-subtle); --fd-muted: var(--muted); }
.fd-dashboard .ui-icon { width: 15px; height: 15px; }
.fd-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 36px; }
.fd-header h1 { margin: 0; font-size: 28px; font-weight: 530; letter-spacing: -.9px; line-height: 1.3; }
.fd-header p { margin: 8px 0 0; color: var(--fd-muted); font-size: 13px; }
.fd-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 16px; align-items: start; }
.fd-main-column, .fd-side-column { display: grid; gap: 16px; min-width: 0; }
.fd-panel { background: transparent; }
.fd-actions { scroll-margin-top: 24px; }
.fd-section-head { display: flex; justify-content: space-between; align-items: center; padding: 20px 22px 10px; gap: 12px; }
.fd-section-head h2 { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 14px; font-weight: 550; letter-spacing: -.2px; }
.fd-count { font-size: 12px; font-weight: 400; color: var(--muted); }
.fd-order-note { color: var(--muted); font-size: 10px; }
.fd-action-row { display: flex; align-items: center; gap: 16px; width: calc(100% - 44px); margin: 0 22px; padding: 18px 0; border: 0; border-bottom: 1px solid var(--fd-line); background: transparent; text-align: left; }
.fd-action-row:last-child { border-bottom: 0; }
.fd-action-row:hover .fd-action-label { color: var(--blue); }
.fd-action-copy { min-width: 0; flex: 1; }
.fd-action-label { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; font-weight: 500; }
.fd-action-copy > small { display: block; color: var(--muted); font-size: 11px; margin-top: 5px; }
.fd-tag { font-size: 10px; font-weight: 400; color: var(--muted); }
.fd-tag.amber { color: var(--orange); }
.fd-tag.violet { color: var(--blue); }
.fd-action-end { display: flex; align-items: center; gap: 12px; color: var(--muted); flex-shrink: 0; }
.fd-action-end small { font-size: 10px; }
.fd-overdue { color: #daaa87 !important; }
.fd-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; border-top: 1px solid var(--fd-line); }
.fd-panel-footer > span { color: var(--muted); font-size: 10px; }
.fd-text-link { display: inline-flex; align-items: center; gap: 5px; padding: 3px 0; background: transparent; color: var(--blue); font-size: 11px; font-weight: 400; white-space: nowrap; }
.fd-text-link:hover { color: var(--blue); }
.fd-text-link .ui-icon { width: 12px; height: 12px; }
.fd-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.fd-heading-row h2 { display: flex; align-items: center; gap: 9px; margin: 0; font-size: 14px; font-weight: 550; letter-spacing: -.2px; }
.fd-heading-row h2 > span { font-size: 12px; color: var(--muted); font-weight: 400; }
.fd-heading-row p { color: var(--fd-muted); font-size: 11px; margin: 5px 0 0; }
.fd-heading-row > .ui-icon { color: var(--muted); }
.fd-loan-row { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(95px,1fr) minmax(105px,1fr) 12px; align-items: center; gap: 18px; width: 100%; padding: 21px 0; border-top: 1px solid var(--fd-line); background: transparent; text-align: left; }
.fd-loan-row > span { display: flex; flex-direction: column; min-width: 0; gap: 5px; }
.fd-loan-row strong { color: var(--muted); font-size: 12px; font-weight: 500; }
.fd-loan-row small { color: var(--muted); font-size: 10px; }
.fd-loan-row em { color: var(--muted); font-size: 10px; font-style: normal; margin-top: 3px; }
.fd-loan-row > .ui-icon { width: 12px; color: var(--muted); }
.fd-loan-row:hover .fd-loan-identity strong { color: var(--blue); }
.fd-quote-card { display: block; text-align: left; width: 100%; background: transparent; padding: 0 0 18px; border-bottom: 1px solid var(--fd-line); margin-bottom: 14px; }
.fd-quote-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); margin-bottom: 12px; }
.fd-quote-card > strong { display: block; color: var(--muted); font-size: 12px; font-weight: 500; }
.fd-quote-terms { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.fd-quote-terms b { color: var(--muted); font-size: 23px; font-weight: 500; letter-spacing: -.65px; }
.fd-quote-terms > span { color: var(--muted); font-size: 10px; }
.fd-quote-card > small { display: block; font-size: 10px; color: var(--muted); margin-top: 9px; }
.fd-quote-card:hover > strong { color: var(--blue); }
.fd-footnote { color: var(--muted); font-size: 9px; line-height: 1.7; margin: 10px 0 0; }
.fd-date-row { display: flex; align-items: center; width: 100%; gap: 12px; padding: 12px 0; background: transparent; text-align: left; }
.fd-date-tile { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; min-width: 30px; }
.fd-date-tile small { font-size: 9px; text-transform: uppercase; color: var(--muted); }
.fd-date-tile b { font-size: 20px; font-weight: 400; color: var(--muted); }
.fd-date-row > span:nth-child(2) { flex: 1; min-width: 0; }
.fd-date-row strong { display: block; font-size: 11px; font-weight: 500; color: var(--muted); }
.fd-date-row > span > small { display: block; font-size: 10px; color: var(--muted); margin-top: 3px; }
.fd-date-row em { display: block; font-size: 9px; font-style: normal; color: var(--muted); margin-top: 3px; }
.fd-date-row > .ui-icon { width: 11px; color: var(--muted); }
.fd-date-row:hover strong { color: var(--blue); }
.fd-funded { display: flex; align-items: flex-start; gap: 10px; border-top: 1px solid var(--fd-line); padding-top: 20px; }
.fd-funded-icon { color: var(--green); padding-top: 2px; }
.fd-funded h3 { margin: 0; font-size: 12px; font-weight: 500; }
.fd-funded p { color: var(--muted); font-size: 10px; margin: 5px 0 7px; }
.fd-activity { border-top: 1px solid var(--fd-line); margin-top: 30px; padding-top: 18px; }
.fd-activity summary { width: fit-content; cursor: pointer; font-size: 12px; color: var(--muted); }
.fd-activity-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding-top: 22px; }
.fd-activity-grid button { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 0; background: transparent; text-align: left; }
.fd-activity-grid time { color: var(--muted); font-size: 10px; }
.fd-activity-grid strong { color: var(--muted); font-size: 12px; font-weight: 500; }
.fd-activity-grid small { color: var(--muted); font-size: 10px; }
.fd-bottom-note { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; margin-top: 28px; }
.fd-bottom-note .ui-icon { width: 11px; height: 11px; }
.fd-caught-up { display: flex; align-items: center; gap: 14px; padding: 24px 22px; }
.fd-caught-up > span { color: var(--green); }
.fd-caught-up h3 { margin: 0; font-size: 14px; font-weight: 500; }
.fd-caught-up p, .fd-quiet-copy { font-size: 11px; line-height: 1.7; color: var(--muted); margin: 7px 0 0; }
.fd-empty { padding: 26px 0; border-top: 1px solid var(--fd-line); }
.fd-empty > span { color: var(--muted); display: block; margin-bottom: 14px; }
.fd-empty h3 { font-size: 18px; font-weight: 500; margin: 0 0 10px; }
.fd-empty p { font-size: 12px; color: var(--muted); line-height: 1.7; max-width: 440px; margin: 0 0 20px; }
.fd-quiet-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.fd-quiet-empty > .ui-icon { color: var(--muted); }
.fd-quiet-empty strong { font-size: 12px; font-weight: 500; }
.fd-quiet-empty p { margin: 0; font-size: 11px; color: var(--muted); line-height: 1.7; }
.fd-dashboard :is(button,a,summary):focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
@media (max-width: 1200px) { .fd-layout { grid-template-columns: minmax(0,1fr) 250px; } .fd-loan-row { grid-template-columns: 1fr 1fr 12px; gap: 12px; } .fd-loan-identity { grid-column: 1 / -1; } }
@media (max-width: 1000px) { .fd-layout { grid-template-columns: 1fr; } .fd-side-column { grid-template-columns: 1fr 1fr; } .fd-funded { grid-column: 1 / -1; } .fd-loan-row { grid-template-columns: minmax(0,1.5fr) 1fr 1fr 12px; } .fd-loan-identity { grid-column: auto; } }
@media (max-width: 650px) { .fd-header { align-items: flex-start; flex-wrap: wrap; gap: 20px; margin-bottom: 30px; } .fd-header h1 { font-size: 25px; } .fd-header p { font-size: 12px; } .fd-section-head { padding: 18px 17px 8px; } .fd-action-row { width: calc(100% - 34px); margin: 0 17px; padding: 17px 0; } .fd-action-label { font-size: 12px; gap: 5px 10px; } .fd-action-copy > small { font-size: 10px; } .fd-action-end { flex-direction: column; align-items: flex-end; gap: 5px; } .fd-panel-footer { padding: 12px 17px; } .fd-side-column { grid-template-columns: 1fr; } .fd-loan-row { grid-template-columns: 1fr 1fr 12px; gap: 14px; } .fd-loan-identity { grid-column: 1 / -1; } .fd-activity-grid { grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .fd-dashboard * { transition: none; scroll-behavior: auto; } }

@media (prefers-reduced-motion: reduce) { .qw-review-section summary > .ui-icon { transition: none; } }

/* Investor debt analytics — shared admin palette, quiet borders and thin chart strokes. */
.dashboard-debt { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(290px, 1fr); gap: 16px; margin-bottom: 18px; --debt-total: var(--blue-bright); --debt-long: var(--purple); --debt-short: #79b5c7; --debt-unknown: var(--muted); }
.debt-panel { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line-subtle); border-radius: var(--radius); background: var(--panel); overflow: hidden; }
.debt-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 0; min-height: 47px; }
.debt-panel-head h2 { margin: 0; font-size: 13px; font-weight: 550; letter-spacing: -.1px; }
.debt-ranges { display: inline-flex; align-items: center; gap: 3px; }
.debt-ranges button { min-width: 31px; height: 26px; padding: 0 8px; border-radius: 5px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 500; transition: color .15s, background .15s; }
.debt-ranges button:hover { background: var(--hover-fill); color: var(--text); }
.debt-ranges button[aria-pressed="true"] { background: var(--blue-soft); color: var(--accent-text, var(--blue-bright)); }
.debt-ranges button:disabled { cursor: default; opacity: .5; }
.debt-summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 13px 20px 0; }
.debt-total { display: block; font-size: 31px; line-height: 1.2; font-weight: 550; letter-spacing: -1.1px; font-variant-numeric: tabular-nums; }
.debt-comparison { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.debt-comparison > span { color: var(--accent-link, var(--blue-bright)); margin-right: 4px; }
.debt-legend { display: grid; grid-template-columns: auto auto; gap: 10px 18px; color: var(--muted); font-size: 10px; }
.debt-legend > span { display: flex; gap: 6px; align-items: center; white-space: nowrap; }
.debt-dot { display: inline-block; flex: 0 0 auto; width: 5px; height: 5px; border-radius: 50%; background: var(--series-color); }
.debt-total.debt-dot, .debt-total.debt-line, .debt-total.debt-point { --series-color: var(--debt-total); }
.debt-long { --series-color: var(--debt-long); }
.debt-short { --series-color: var(--debt-short); }
.debt-unknown { --series-color: var(--debt-unknown); }
.debt-plot { position: relative; min-width: 0; height: 202px; margin: 14px 20px 0; }
.debt-plot > svg { display: block; overflow: visible; }
.debt-grid { stroke: var(--chart-grid, rgba(255,255,255,.055)); stroke-width: .75; }
.debt-axis { fill: var(--dim); font-size: 9px; font-family: inherit; font-variant-numeric: tabular-nums; }
.debt-line { fill: none; stroke: var(--series-color); stroke-width: 1.35; stroke-linejoin: round; stroke-linecap: round; }
.debt-line.debt-total { stroke-width: 1.8; }
.debt-line.debt-unknown { stroke-dasharray: 3 4; opacity: .8; }
.debt-end-dot { fill: var(--debt-total); }
.debt-chart-interaction { position: absolute; inset: 0 0 22px; cursor: crosshair; border-radius: 4px; touch-action: pan-y; }
.debt-chart-interaction:focus-visible { outline: 1px solid var(--blue); outline-offset: 5px; }
.debt-crosshair { stroke: var(--muted); stroke-width: .8; stroke-dasharray: 3 4; opacity: .6; }
.debt-point { fill: var(--series-color); stroke: var(--panel); stroke-width: 2; }
.debt-tooltip { position: absolute; z-index: 3; top: -10px; width: 207px; max-width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--raised, var(--panel-2)); box-shadow: 0 8px 26px rgba(0,0,0,.23); pointer-events: none; font-size: 10px; }
.debt-tooltip[hidden] { display: none; }
.debt-tooltip time { display: block; color: var(--muted); font-size: 10px; padding-bottom: 9px; }
.debt-tooltip > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 0; }
.debt-tooltip > div > span { display: flex; gap: 7px; align-items: center; color: var(--muted); }
.debt-tooltip strong { font-variant-numeric: tabular-nums; font-weight: 500; }
.debt-tooltip > .debt-tooltip-total { padding: 0 0 9px; margin-bottom: 4px; border-bottom: 1px solid var(--line-subtle); }
.debt-tooltip-total > strong { color: var(--accent-text, var(--blue-bright)); }
.debt-panel-note { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; margin-top: auto; padding: 12px 20px 15px; color: var(--dim); font-size: 9px; line-height: 1.5; }
.debt-panel-note > span { color: var(--muted); }
.debt-coverage { position: relative; margin-left: auto; color: var(--muted); }
.debt-coverage summary { cursor: pointer; }
.debt-coverage p { max-width: 380px; font-size: 10px; line-height: 1.6; }
.debt-partial { margin-left: 7px; color: var(--muted); font-size: 9px; font-weight: 400; }
.debt-period-dropdown { position: relative; flex: 0 0 auto; }
.debt-period-trigger { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 29px; padding: 5px 9px; border: 1px solid var(--line-subtle); border-radius: 6px; background: var(--panel-2); color: var(--muted); font-size: 11px; line-height: 1.4; transition: border-color .15s, color .15s, background .15s; }
.debt-period-trigger:hover, .debt-period-trigger[aria-expanded="true"] { border-color: var(--line); background: var(--panel-hover); color: var(--text); }
.fd-dashboard .debt-period-trigger .ui-icon { width: 12px; height: 12px; color: var(--muted); transition: transform .15s; }
.debt-period-trigger[aria-expanded="true"] .ui-icon { transform: rotate(180deg); }
.debt-period-trigger:disabled { opacity: .5; cursor: default; }
.debt-period-menu { position: absolute; z-index: 10; right: 0; top: calc(100% + 6px); width: 152px; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--raised, var(--panel-2)); box-shadow: 0 12px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.025); }
.debt-period-menu[hidden] { display: none; }
.debt-period-option { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 14px; min-height: 32px; padding: 7px 9px; border-radius: 4px; background: transparent; color: var(--muted); font-size: 11px; text-align: left; }
.debt-period-option:hover, .debt-period-option:focus-visible { background: var(--hover-fill); color: var(--text); }
.debt-period-option[aria-checked="true"] { background: var(--blue-soft); color: var(--accent-text); }
.fd-dashboard .debt-period-option .ui-icon { width: 12px; height: 12px; visibility: hidden; }
.debt-period-option[aria-checked="true"] .ui-icon { visibility: visible; }
.fd-dashboard .debt-period-option:focus-visible { outline: 1px solid var(--blue); outline-offset: -1px; }
.debt-lender-list { list-style: none; margin: 0; padding: 20px 20px 0; display: grid; align-content: start; gap: 17px; }
.debt-lender-list li { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.debt-lender-list .lender-avatar.compact { width: 28px; height: 28px; flex: 0 0 28px; margin-top: 2px; border-radius: 7px; background: var(--panel-2); border: 1px solid var(--line-subtle); font-size: 10px; }
.debt-lender-list .lender-avatar img { padding: 4px; object-fit: contain; }
.debt-lender-content { flex: 1; min-width: 0; }
.debt-lender-label { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.debt-lender-label strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 500; }
.debt-lender-label > span { font-size: 11px; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--text); }
.debt-lender-track { height: 3px; background: var(--track-fill, rgba(255,255,255,.04)); border-radius: 4px; margin-top: 8px; overflow: hidden; }
.debt-lender-track i { display: block; height: 100%; min-width: 3px; border-radius: inherit; background: var(--blue-bright); }
.debt-lender-content > small { display: block; margin-top: 5px; color: var(--dim); font-size: 9px; line-height: 1; }
.debt-empty { min-height: 270px; padding: 34px 26px; display: grid; align-content: center; justify-items: start; gap: 11px; }
.debt-empty strong { font-size: 15px; font-weight: 500; }
.debt-empty p { max-width: 320px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.debt-empty-mark, .debt-loading-mark { width: 35px; height: 3px; border-radius: 8px; background: var(--blue-soft); }
.debt-loading-mark { background: linear-gradient(90deg, var(--blue-soft), var(--blue-bright), var(--blue-soft)); background-size: 200% 100%; animation: debt-loading 1.4s ease-in-out infinite; }
.debt-lenders-empty { padding: 30px 20px; flex: 1; color: var(--muted); font-size: 11px; line-height: 1.6; }
@keyframes debt-loading { to { background-position: -200% 0; } }
@media (max-width: 1100px) { .dashboard-debt { grid-template-columns: minmax(0,1.5fr) minmax(265px,1fr); } .debt-summary { align-items: flex-start; } .debt-legend { grid-template-columns: auto; gap: 6px; } }
@media (max-width: 850px) { .dashboard-debt { grid-template-columns: minmax(0,1fr); } .debt-legend { grid-template-columns: auto auto; gap: 10px 18px; } .debt-lender-list { padding-bottom: 14px; } }
@media (max-width: 430px) { .debt-panel-head { padding: 16px 16px 0; } .debt-summary { padding: 13px 16px 0; gap: 10px; } .debt-total { font-size: 28px; } .debt-legend { grid-template-columns: auto; gap: 6px; font-size: 9px; } .debt-plot { margin-left: 16px; margin-right: 16px; } .debt-panel-note { padding-left: 16px; padding-right: 16px; } .debt-lender-list { padding-left: 16px; padding-right: 16px; } }
@media (prefers-reduced-motion: reduce) { .debt-loading-mark { animation: none; } .debt-ranges button, .debt-period-trigger, .fd-dashboard .debt-period-trigger .ui-icon { transition: none; } }

/* A lender identity follows the same financing request through every investor section. */
.financing-lender-identity { display: inline-flex; align-items: center; gap: 9px; min-width: 0; max-width: 100%; vertical-align: middle; text-align: left; }
.financing-lender-copy { display: grid; min-width: 0; gap: 3px; }
.financing-lender-identity .financing-lender-copy > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); font-size: 11px; line-height: 1.4; font-weight: 550; }
.financing-lender-identity .financing-lender-copy > small { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.3; }
.financing-lender-identity .lender-avatar.compact, .financing-lender-mark { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border: 1px solid var(--line-subtle); border-radius: 7px; background: var(--panel-2); color: var(--muted); font-size: 9px; }
.financing-lender-identity .lender-avatar img { object-fit: contain; padding: 4px; }
.financing-lender-mark > .ui-icon { width: 14px; height: 14px; }
.financing-lender-matching > .xoan-intelligence-icon { width: 21px; height: 21px; }
.financing-lender-identity.unknown .financing-lender-copy > strong { color: var(--muted); font-weight: 400; }
.financing-table .financing-lender-cell { min-width: 155px; max-width: 225px; }
.financing-lender-cell .financing-lender-identity { max-width: 210px; }
.financing-card-top > .financing-lender-identity { flex: 1; }
.financing-card-top .financing-status { flex: 0 1 auto; max-width: 42%; }
.financing-loan-heading-line { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 5px; }
.financing-loan-heading-line .financing-lender-identity { padding-left: 12px; border-left: 1px solid var(--line); }
.financing-loan-heading-line .financing-lender-copy { display: flex; align-items: baseline; gap: 7px; }
.loan-workflow-list-row { grid-template-columns: minmax(180px,1.4fr) minmax(150px,1fr) minmax(120px,1fr) minmax(150px,1.2fr) 16px; gap: 20px; }
.loan-workflow-list-row .financing-lender-identity { display: flex; }
@media (max-width: 1050px) {
  .loan-workflow-list-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .loan-workflow-list-row > svg { display: none; }
  .loan-workflow-list-lender { justify-self: end; }
}
@media (max-width: 650px) {
  .financing-loan-heading-line { align-items: flex-start; flex-direction: column; gap: 10px; }
  .financing-loan-heading-line .financing-lender-identity { padding-left: 0; border-left: 0; }
}

/* Financing lists fit their panel; smaller panels reflow instead of scrolling. */
.financing-inventory { min-width: 0; container: financing-list / inline-size; }
.financing-inventory .property-table-wrap { overflow: visible; }
.financing-inventory .financing-table { width: 100%; min-width: 0; table-layout: fixed; }
.financing-table th, .financing-table td { min-width: 0; padding: 12px 9px; white-space: normal; overflow-wrap: anywhere; }
.financing-table th { height: 44px; line-height: 1.5; }
.financing-table td { line-height: 1.5; }
.financing-table th:first-child { width: 18%; }
.financing-table th:nth-child(2) { width: 15%; }
.financing-table th:last-child { width: 6%; }
.financing-table .property-primary-cell, .financing-table .financing-lender-cell { min-width: 0; max-width: none; }
.financing-table .property-primary-cell strong, .financing-table .property-primary-cell span { max-width: none; white-space: normal; }
.financing-table .financing-lender-identity { max-width: 100%; gap: 7px; }
.financing-table .financing-lender-copy > strong { white-space: normal; overflow-wrap: anywhere; }
.financing-table .financing-status { max-width: 100%; padding: 4px 7px; gap: 5px; line-height: 1.4; white-space: normal; }
.financing-table .financing-table-progress { min-width: 0; gap: 5px; }
.financing-table-progress > span { min-width: 0; flex: 1; }
.financing-table-progress b { flex-shrink: 0; }
.financing-table .table-action { max-width: 100%; gap: 3px; white-space: nowrap; }
.financing-table[data-section="active"] th:first-child { width: 17%; }
.financing-table[data-section="active"] th:nth-child(7) { width: 12%; }
.financing-table[data-section="funded"] th:first-child,
.financing-table[data-section="archived"] th:first-child { width: 23%; }
.financing-table[data-section="funded"] th:nth-child(2),
.financing-table[data-section="archived"] th:nth-child(2) { width: 19%; }
.loan-workflow-list-row { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) 16px; }
.loan-workflow-list-row .financing-status { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }

@container financing-list (max-width: 960px) {
  .financing-table, .financing-table tbody { display: block; }
  .financing-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .financing-table tbody tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 24px; padding: 20px; border-bottom: 1px solid var(--line-subtle); }
  .financing-table tbody tr:last-child { border-bottom: 0; }
  .financing-table td, .financing-table td:first-child, .financing-table td:last-child { display: block; height: auto; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; }
  .financing-table td::before { content: attr(data-label); display: block; margin-bottom: 5px; color: var(--dim); font-size: 9px; font-weight: 450; }
  .financing-table .property-primary-cell { grid-column: span 2; }
  .financing-table .property-primary-cell::before, .financing-table .financing-lender-cell::before,
  .financing-table td:last-child::before { display: none; }
  .financing-table .property-primary-cell strong { font-size: 13px; }
  .financing-table .financing-lender-cell { justify-self: end; align-self: start; }
  .financing-table td:last-child { align-self: end; }
  .financing-table .financing-table-progress { max-width: 130px; min-height: 23px; }
  .financing-table .table-action { min-height: 28px; }
  .loan-workflow-list-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .loan-workflow-list-row > svg { display: none; }
  .loan-workflow-list-row .loan-workflow-list-lender { justify-self: end; }
}
@container financing-list (max-width: 520px) {
  .financing-table tbody tr { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 18px; }
  .financing-table .property-primary-cell { grid-column: auto; }
}
