/* Lenders, solicitors and firms (round 9, owner, 21 October 2026): a lender's own page with its links, the links window,
   a lender's links on a case's application, a firm's details under its picker and a phone answer's Call link. */

/* A lender's page. */
.lender-grid { margin-bottom: 16px; }
.lender-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lender-links li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
.lender-links li .t-sub { min-width: 0; overflow-wrap: anywhere; }
.lender-contact + .lender-contact { padding-top: 10px; border-top: 1px solid var(--line-2); }
.lender-contact .small { overflow-wrap: anywhere; }
.lender-notes-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.lender-case-closed td { opacity: .65; }
.lender-row-links { overflow-wrap: anywhere; }

/* The links window: a name, an address and its buttons on one line; stacked on a phone. */
.link-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; gap: 8px; align-items: end; }
.link-row .link-acts { display: flex; gap: 2px; padding-bottom: 2px; }
@media (max-width: 640px) {
  .link-row { grid-template-columns: minmax(0, 1fr); padding-bottom: 10px; border-bottom: 1px solid var(--line-2); }
  .link-row .link-acts { justify-content: flex-end; }
}

/* A lender's links on its application, on a case. */
.app-links { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.app-links .app-lender-page { margin-left: 2px; }

/* Under a firm picker, its details; under a phone answer, its Call link. */
.firm-details { margin-top: 4px; overflow-wrap: anywhere; }
.ff-call:empty, .firm-details:empty { display: none; }
.ff-call { margin-top: 4px; }

/* A firm's people (owner, 22 October 2026): the fact-find's Solicitor acting, picked from them, and a firm's own page. */
.person-pick { position: relative; }
.person-list { position: absolute; left: 0; right: 0; top: calc(100% + 4px); background: var(--raised); border: 1px solid var(--line); border-radius: 10px;
  box-shadow: var(--shadow-2); z-index: 30; max-height: 300px; overflow: auto; }
.person-list button { display: block; width: 100%; text-align: left; padding: 8px 12px; border: 0; background: transparent; color: inherit; cursor: pointer; overflow-wrap: anywhere; }
.person-list button:hover, .person-list button.sel { background: var(--accent-soft); }
.person-list .person-add { color: var(--accent-2); font-weight: 600; }
.person-list button + .person-add { border-top: 1px solid var(--line-2); }
.person-list .person-none { padding: 8px 12px; }
.person-firm { color: var(--muted); }
.person-note { margin-top: 4px; }
.person-note:empty { display: none; }
@media (pointer: coarse) { .person-list button { min-height: 44px; } }

.firm-grid { margin-bottom: 16px; }
.firm-people { display: grid; gap: 10px; }
.firm-person { display: grid; gap: 2px; min-width: 0; }
.firm-person + .firm-person { padding-top: 10px; border-top: 1px solid var(--line-2); }
.firm-person .small, .firm-person .fp-who { overflow-wrap: anywhere; }
.fp-acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }

/* Round 12 (owner, 26 October 2026). On a purchase, the purchase price in place of the value's box, with Different? to type
   another (forms.js priceLineHtml, New case); and the solicitor details as a PDF, with what is not given yet and where to fill it. */
.ff-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; padding: 8px 10px; border-radius: var(--r-sm);
  background: var(--sunk); color: var(--ink-2); overflow-wrap: anywhere; }
.ff-price b { color: var(--ink); }
.ff-price-diff { border: 0; background: none; padding: 0; color: var(--accent-2); font: inherit; font-weight: 600; cursor: pointer; text-decoration: underline;
  text-underline-offset: 2px; }
.ff-price-diff:hover { color: var(--accent); }
.vx-row .ff-price { display: inline-flex; padding: 0; background: none; }
@media (pointer: coarse) { .ff-price-diff { min-height: 44px; } }
.sol-pdf { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line-2); }
.sol-pdf-gaps { flex: 1 1 220px; min-width: 0; overflow-wrap: anywhere; }
.sol-pdf-gaps:empty { display: none; }
.field.has-price > .money-wrap, .field.has-price > .row { display: none; }
.ff-price[hidden], .money-wrap[hidden] { display: none; }
