/* Property tools: plot-price check, society pages, legal-status search. Uses the tokens in css/style.css
   (--accent, --ink, --stone, --rule, --ash) and the result/toolbar/badge styles in css/bf-tools.css. */
.pi-panel{background:#fff;color:#202020;border:1px solid #ddd;border-radius:8px;padding:24px;margin:20px 0}
.pi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.pi-grid>*{min-width:0}
.pi-h{margin:28px 0 8px}
.pi-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:18px 0}
.pi-filters label{display:grid;gap:6px;font-size:.9rem}
.pi-filters select,.pi-filters input{padding:10px;border:1px solid #bbb;border-radius:4px;max-width:240px;background:#fff;color:#222;font:inherit}
.pi-filters [data-compare-picker]{max-width:min(100%,380px)}
.pi-filters .pi-muted{flex-basis:100%;margin:0;min-height:1.2em}
.pi-source{font-size:.85rem;border-top:1px solid #ddd;margin-top:14px;padding-top:12px;line-height:1.7;color:#3d3d3d}
.pi-state{display:inline-block;padding:3px 8px;border-radius:4px;font-weight:600;background:#eee;color:#333}
.pi-state.current{background:#e4f3e9;color:#18582e}.pi-state.stale{background:#fff0cf;color:#744800}
.pi-state.review{background:#fce5e1;color:#8d271d}.pi-state.expired{background:#fdecea;color:#9b1c1c}
.pi-disclaimer{font-size:.88rem;line-height:1.7;border-left:3px solid #bd4328;padding:12px 16px;background:#faf7f5}
.pi-note{border-left:3px solid #c9c9c4;padding:4px 0 4px 12px}
.pi-note-label{font-weight:600;color:#3d3d3d}
.pi-muted{color:#595959}
.pi-count{font-size:.9rem;color:#595959}
.pi-sr{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
.pi-status{min-height:1.2em;font-size:.95rem;color:#3d3d3d}
.pi-drawer{width:min(720px,95vw);max-height:90vh;border:1px solid #ccc;border-radius:8px;padding:24px;background:#fff;color:#202020}
.pi-drawer::backdrop{background:#0008}
.pi-close{float:right;padding:10px 14px;min-height:44px;cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:4px;font:inherit}
.pi-panel button.link,.pi-index button.link{text-align:left;background:none;border:0;padding:6px 0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;min-height:32px}
.pi-panel :focus-visible,.pi-drawer :focus-visible,.pp-form :focus-visible,.pp-result :focus-visible,.pi-index :focus-visible{outline:3px solid #bd4328;outline-offset:3px}
.btn-link{background:none;border:0;padding:6px 0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.pi-results{list-style:none;padding:0}.pi-results li{border-bottom:1px solid #ddd;padding:12px 0}.pi-results button{white-space:normal}
.pi-panel table{width:100%;border-collapse:collapse}
.pi-panel th,.pi-panel td{padding:10px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}
.pi-table-scroll{max-width:100%;overflow:auto;margin:18px 0}
.pi-table-scroll table{min-width:860px}.pi-table-scroll td{min-width:150px}
.pi-table-scroll .pp-ref{padding:10px;margin:8px 0}
.pi-panel .btn-row{flex-wrap:wrap;gap:8px;align-items:center}.pi-panel .btn{white-space:normal}
.pi-panel .btn-row .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center}
.pi-maplinks{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:8px 0 4px}
.pi-maplinks a{overflow-wrap:anywhere}
.pi-refs{padding-left:20px}.pi-refs li{margin:6px 0}
.pi-block h3,.pi-block h4{margin-top:0}
#compare{scroll-margin-top:100px}
.pi-authority-filter{display:flex;gap:8px;align-items:center;font-size:.95rem}
.pi-authority-filter select{padding:10px;min-height:44px;border:1px solid #bbb;border-radius:4px;background:#fff;font:inherit}
/* compact browse list on society-status.html */
.pi-browse>summary{font-weight:600;cursor:pointer;font-size:17px;padding:10px 0}
.pi-index{width:100%;border-collapse:collapse;font-size:14.5px}
.pi-index th,.pi-index td{padding:8px 10px;border-bottom:1px solid #e3e3e0;text-align:left;vertical-align:top}
.pi-index thead th{font-size:13px;color:#595959;border-bottom-color:#151515}
.pi-index tbody th{font-weight:500}
.status-browse .pi-table-scroll table{min-width:640px}

/* plot-price check */
.pp-form{display:grid;gap:14px;max-width:960px;margin-bottom:12px}
.pp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 18px;align-items:start}
.pp-steps .field{min-width:0}
.pp-steps select,.pp-steps input[type=text]{width:100%;max-width:100%;min-height:44px;font:inherit;font-size:16px;padding:10px 12px;border:1px solid #bbb;border-radius:4px;background:#fff;color:#151515}
.pp-steps select:disabled{background:#f3f3f1;color:#6a6a68}
.pp-steps [hidden]{display:none!important}
.pp-custom{display:flex;flex-direction:column;gap:5px;font-size:14px;color:var(--stone,#6a6a68)}
.pp-custom small{line-height:1.4}
.pp-steps [aria-invalid=true]{border-color:#b3261e;outline:1px solid #b3261e}
.pp-mode label,.pp-prefs label{min-height:44px}
.pp-prefs{border:0;margin:0;padding:0}
.pp-prefs legend{padding:0 0 4px;float:left;width:100%}
.pp-form>.btn{justify-self:start;min-height:44px}
.pp-status{margin:8px 0;font-size:15px;color:#3d3d3d}
.pp-status[hidden]{display:none}
.pp-result{max-width:960px;margin:12px 0 24px}
.pp-result h4{margin:22px 0 8px;font-size:17px}
.pp-echo{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:14.5px;color:#3d3d3d;margin:0 0 8px}
.pp-modetag{display:inline-block;padding:2px 8px;border-radius:4px;background:#151515;color:#fff;font-size:13px;font-weight:600}
.pp-ref{border:1px solid #e3e3e0;border-left:4px solid var(--accent,#e2451c);border-radius:6px;padding:14px 16px;margin:10px 0;background:#fff}
.pp-ref--expired{border-left-color:#8a8a86;background:#fafaf8}
.pp-ref p{margin:4px 0}
.pp-ref-kind{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.pp-ref-value{font-size:18px;font-weight:600;overflow-wrap:anywhere}
.pp-ref--expired .pp-ref-value{color:#4a4a48}
.pp-ref-meta,.pp-ref-per,.pp-ref-note{font-size:14px;color:#3d3d3d}
.pp-ref-scope{font-size:14.5px}
.pp-context{border-top:1px solid #e3e3e0;margin-top:18px;padding-top:4px}
.pp-context ul{padding-left:20px}
.pp-links{display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;list-style:none;margin:16px 0 0}
.pp-loading{color:#3d3d3d}
.pp-more{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:18px 0}
.pp-compare:empty{display:none}
@media(max-width:760px),(pointer:coarse){
  .pi-filters select,.pi-filters input,.pi-panel .btn,.btn-link,.pi-close{min-height:44px}
  .pp-links a,.pp-more a,.pi-refs a,.pi-block a{display:inline-block;padding:10px 0}
  .pi-index button.link,.pi-panel button.link{min-height:44px}
  .pi-maplinks a{display:inline-flex;align-items:center;min-height:44px}
  #prices .btn-row .btn{display:inline-flex;align-items:center;min-height:44px}
  details.pi-panel>summary,.pi-expired>summary,.pi-panel details>summary,.pp-result details>summary{min-height:44px;padding:10px 0;box-sizing:border-box;cursor:pointer}
}
@media(max-width:600px){
  .pi-panel{padding:16px}
  .pi-filters{align-items:stretch}.pi-filters label{width:100%}.pi-filters select,.pi-filters input{max-width:100%}
  .pp-steps{grid-template-columns:1fr}
  .pp-form>.btn{justify-self:stretch}
  .pi-table-scroll table{min-width:600px}
  .status-browse .pi-table-scroll table{min-width:520px}
  .pi-drawer{padding:16px}
}
@media print{
  .pi-drawer,.pp-form,.pp-status,.pp-compare,#pp-fbr,.pp-more{display:none!important}
  .pp-ref{break-inside:avoid;border-left-color:#000}
}
