: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;
  --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);
}

* { 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; }

.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, .source-status strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; font-weight: 560; color: #e3e5eb; }
.workspace-copy small, .profile small, .source-status 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; }
.nav-item em { margin-left: auto; min-width: 18px; padding: 2px 5px; border-radius: 9px; background: #20232d; color: #767a87; font-size: 10px; font-style: normal; text-align: center; }
.sidebar-bottom { padding: 12px; border-top: 1px solid var(--line-subtle); }
.source-status, .profile { width: 100%; padding: 9px; background: transparent; display: flex; gap: 9px; align-items: center; text-align: left; border-radius: 7px; }
.source-status:hover, .profile:hover { background: #171923; }
.source-status > span:nth-child(2), .profile > span:nth-child(2) { flex: 1; min-width: 0; }
.live-records-card { display: flex; align-items: center; gap: 2px; padding: 2px; border: 1px solid #2c3038; border-radius: 8px; background: rgba(34, 37, 47, .48); }
.live-records-card .source-status { width: auto; min-width: 0; flex: 1; padding-right: 4px; }
.source-refresh { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; color: #aab4ec; border-radius: 6px; background: rgba(98, 110, 207, .13); transition: color .15s, background .15s; }
.source-refresh:hover:not(:disabled) { color: #e2e6ff; background: rgba(98, 110, 207, .25); }
.source-refresh:disabled { color: #5f626e; background: rgba(255,255,255,.025); cursor: not-allowed; }
.source-refresh .ui-icon { width: 14px; height: 14px; }
.source-refresh.refreshing .ui-icon { animation: xoan-spin .9s linear infinite; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(70,216,161,.1); }
.live-records-card.offline .live-dot { background: #696b75; box-shadow: 0 0 0 3px rgba(130,132,143,.08); }
.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: 50%; 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 { 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; 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 { 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); }

.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: -18px 0 60px rgba(0,0,0,.34); transition: transform .24s ease; }.detail-drawer.open { transform: translateX(0); }.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-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; } }

/* HouseCanary 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; }
.housecanary-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 capital-stack chart */
.capital-chart-panel { margin-bottom: 18px; overflow: visible; background: linear-gradient(180deg, rgba(28,31,42,.98), rgba(20,22,30,.98)); }
.capital-chart-head { min-height: 100px; padding: 19px 21px 12px; display: grid; grid-template-columns: minmax(230px,1fr) auto auto; align-items: center; gap: 28px; }
.capital-eyebrow { color: #758bd5; font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.capital-chart-head h2 { margin: 5px 0 0; color: #f5f7fb; font-size: 34px; line-height: 1; letter-spacing: -.05em; font-weight: 610; }
.capital-chart-head p { margin: 7px 0 0; color: #737987; font-size: 10px; }
.capital-chart-kpis { display: grid; grid-template-columns: repeat(3, minmax(105px,1fr)); gap: 25px; }
.capital-chart-kpis div { display: grid; gap: 5px; }
.capital-chart-kpis span { color: #777e8c; font-size: 9px; }
.capital-chart-kpis strong { color: #d9dde7; font-size: 14px; font-weight: 570; font-variant-numeric: tabular-nums; }
.capital-chart-kpis strong.equity-color { color: #6bd7ae; }
.capital-range { justify-self: end; }
.capital-chart-legend { min-height: 38px; padding: 0 21px; display: flex; align-items: center; gap: 18px; color: #888e9b; border-top: 1px solid rgba(255,255,255,.025); border-bottom: 1px solid rgba(255,255,255,.035); font-size: 9px; }
.capital-chart-legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.capital-chart-legend i { width: 7px; height: 7px; border-radius: 50%; }
.capital-chart-legend .total-key { background: #7897ff; box-shadow: 0 0 0 3px rgba(120,151,255,.1); }
.capital-chart-legend .equity-key { background: #46d6a5; }
.capital-chart-legend .recorded-debt-key { background: #a3aaba; }
.capital-chart-legend em { margin-left: auto; color: #687080; font-style: normal; }
.capital-chart-wrap { min-height: 270px; padding: 10px 18px 0; }
.capital-chart { width: 100%; height: 270px; display: block; overflow: visible; }
.capital-grid line { stroke: #2a2e38; stroke-width: 1; vector-effect: non-scaling-stroke; }
.capital-grid text, .capital-axis text { fill: #5e6573; font-size: 9px; font-family: inherit; }
.capital-area { stroke: none; }
.capital-area.value-area { fill: url(#capitalValueFill); }
.capital-area.equity-area { fill: url(#capitalEquityFill); }
.capital-line { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.capital-line.value-line { stroke: #7897ff; stroke-width: 2.2; filter: drop-shadow(0 0 5px rgba(100,135,255,.2)); }
.capital-line.equity-line { stroke: #43d2a0; stroke-width: 1.5; }
.capital-line.debt-line { stroke: #9ba3b4; stroke-width: 1.35; stroke-dasharray: 4 4; opacity: .82; }
.capital-hit { fill: transparent; cursor: crosshair; }
.capital-dot { fill: #8da7ff; stroke: #181b24; stroke-width: 2; vector-effect: non-scaling-stroke; opacity: .55; transition: opacity .15s, r .15s; }
.capital-point:hover .capital-dot, .capital-point:focus .capital-dot { opacity: 1; r: 5; }
.capital-point:focus { outline: none; }
.capital-tooltip { opacity: 0; pointer-events: none; transition: opacity .12s; }
.capital-point:hover .capital-tooltip, .capital-point:focus .capital-tooltip { opacity: 1; }
.capital-tooltip rect { fill: #20242e; stroke: #3a4150; stroke-width: 1; vector-effect: non-scaling-stroke; filter: drop-shadow(0 8px 13px rgba(0,0,0,.35)); }
.capital-tooltip text { fill: #8c94a3; font-family: inherit; font-size: 9px; }
.capital-tooltip .tooltip-date { fill: #dce1eb; font-weight: 600; }
.capital-tooltip .tooltip-value { fill: #9cb2ff; }
.capital-tooltip .tooltip-debt { fill: #c2c8d3; }
.capital-tooltip .tooltip-equity { fill: #68d8ae; }
.capital-chart-foot { min-height: 43px; padding: 0 21px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #666e7d; border-top: 1px solid rgba(255,255,255,.035); font-size: 9px; line-height: 1.4; }
.capital-chart-foot span { display: flex; align-items: flex-start; gap: 7px; }
.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 { grid-template-columns: 1fr auto; }.capital-chart-kpis { grid-row: 2; grid-column: 1 / -1; padding-top: 11px; border-top: 1px solid #292d37; }.capital-range { grid-row: 1; grid-column: 2; } }
@media (max-width: 620px) { .capital-chart-head { padding: 17px; gap: 15px; }.capital-chart-head h2 { font-size: 29px; }.capital-chart-kpis { gap: 11px; }.capital-chart-kpis strong { font-size: 12px; }.capital-chart-legend { padding: 9px 17px; flex-wrap: wrap; gap: 9px 14px; }.capital-chart-legend em { width: 100%; margin: 0; }.capital-chart-wrap { overflow-x: auto; padding-left: 8px; padding-right: 8px; }.capital-chart { min-width: 690px; }.capital-chart-foot { padding: 10px 17px; align-items: flex-start; flex-direction: column; gap: 6px; } }

/* 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: #d9e0fb; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: linear-gradient(145deg,#2d3856,#1f273b); font-size: 11px; font-weight: 720; letter-spacing: .02em; box-shadow: inset 0 1px rgba(255,255,255,.04); }
.lender-avatar.tone-1 { color: #d9cdfd; background: linear-gradient(145deg,#3a3153,#262238); }.lender-avatar.tone-2 { color: #c2eedc; background: linear-gradient(145deg,#21453d,#19302c); }.lender-avatar.tone-3 { color: #f2d6b9; background: linear-gradient(145deg,#493526,#30251d); }.lender-avatar.tone-4 { color: #d6dbe6; background: linear-gradient(145deg,#363b47,#242833); }
.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: 10px inherit;
}
.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); 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, .source-status strong { color: #ededf0; font-weight: 600; }
.workspace-copy small, .profile small, .source-status 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; }
.nav-item em { background: #292a30; color: #9697a0; }
.sidebar-bottom { padding: 10px; border-color: var(--line-subtle); }
.source-status, .profile { border-radius: 6px; }
.source-status:hover, .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: #33343a; }
.capital-chart-foot { border-color: var(--line-subtle); }
.capital-tooltip rect { fill: #27282e; stroke: #45464e; }

/* 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;
  box-shadow: var(--shadow);
}
.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; }
.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; }

.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; }

/* Reference-aligned portfolio surface: calm, high-density, and deliberately spare. */
:root {
  --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: #7b84e8;
  --blue-soft: rgba(98, 108, 213, .16);
  --green: #62d3a7;
  --radius: 10px;
}

body, .app-shell, .main-content { background: var(--bg); }
.main-content { background-image: none; }
.sidebar { border-right-color: #303139; }
.brand { border-bottom-color: #303139; }
.workspace-wrap, .sidebar-bottom, .topbar { border-color: #303139; }
.workspace-switcher { min-height: 48px; background: #202126; border-color: #36373f; }
.workspace-switcher:hover { background: #24252b; border-color: #44454e; }
.workspace-initials, .option-icon { background: #393b5d; color: #e8eaff; }
.nav-item { height: 36px; color: #b6b6bf; }
.nav-item:hover { background: #212227; }
.nav-item.active { background: rgba(98, 108, 213, .18); color: #f5f5f7; }
.nav-item.active .nav-icon { color: #bfc6ff; }
.nav-item em { background: #303137; color: #aaaab3; }
.topbar { background: #1b1c21; }
.breadcrumb { color: #a7a8b1; }
.breadcrumb strong { color: #f0f0f2; font-weight: 620; }
.view { max-width: 1600px; padding-top: 35px; }
.page-heading h1 { font-size: 28px; }
.page-heading p { color: #a2a3ad; }
.button { background: #626cd5; border-color: #727bea; box-shadow: inset 0 1px rgba(255,255,255,.15); }
.button:hover { background: #727ce1; border-color: #858df1; }
.outline-button { background: #24252b; border-color: #3b3c44; }
.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: #36373f; border-radius: 10px; background: #202126; }
.property-inventory-head { min-height: 76px; padding: 16px 18px; border-color: #303139; }
.property-inventory-head h2 { color: #f1f1f3; font-size: 15px; }
.property-inventory-head p { color: #94959f; }
.property-inventory-actions { gap: 8px; }
.property-inventory-actions .property-search { width: 210px; height: 34px; border-color: #3b3c44; border-radius: 7px; background: #1b1c21; }
.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: #c6c6cd; border-color: #3b3c44; border-radius: 7px; background: #1b1c21; }
.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; color: #90919a; border-color: #303139; background: #1e1f24; font-size: 9px; font-weight: 700; letter-spacing: .045em; }
.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: 65px; color: #dedee4; border-color: #303139; background: #202126; 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: #f2f2f4; font-weight: 650; letter-spacing: .005em; }
.property-primary-cell span { color: #898a94; font-size: 9px; letter-spacing: .015em; text-transform: uppercase; }
.property-inventory-table .equity-cell { color: #67d6aa; }
.property-status-cell small { color: #8b8c95; }
.property-inventory-foot { color: #858690; border-color: #303139; }

.property-detail-hero { border-color: #393a42; border-radius: 10px; background: #202126; }
.property-detail-summary, .property-detail-section, .property-health-panel { border-color: #36373f; background: #202126; }
.property-detail-section > header, .property-health-panel ul, .property-health-thresholds { border-color: #303139; }
.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; }
  .property-inventory-table { min-width: 1370px; }
}

/* 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; }
}
