.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(240px,1fr));gap:16px}
.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:220px;background:#fff;color:#222}
.pi-source{font-size:.85rem;border-top:1px solid #ddd;margin-top:14px;padding-top:12px;line-height:1.7}
.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-map{height:440px;max-height:65vh;border:1px solid #ddd;margin:16px 0;background:#efefef}
.pi-disclaimer{font-size:.88rem;line-height:1.7;border-left:3px solid #bd4328;padding:12px 16px;background:#faf7f5}
.pi-drawer{width:min(700px,95vw);max-height:90vh;border:1px solid #ccc;border-radius:8px;padding:24px;background:white;color:#202020}
.pi-drawer::backdrop{background:#0008}.pi-close{float:right;padding:6px 12px;cursor:pointer}
.pi-panel button.link{text-align:left}.pi-panel :focus-visible,.pi-drawer :focus-visible{outline:3px solid #bd4328;outline-offset:3px}
.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-muted{color:#595959}.pi-compare{overflow:auto}.pi-panel [hidden]{display:none!important}
.pi-table-scroll{max-width:100%;overflow:auto;margin:18px 0}.pi-table-scroll table{min-width:900px}.pi-table-scroll td{min-width:160px}.pi-table-scroll .pi-panel{padding:12px;margin:8px 0}.pi-map-links{margin:18px 0}.pi-map-links a{overflow-wrap:anywhere}.pi-panel .btn-row{flex-wrap:wrap}.pi-panel .btn{white-space:normal}.pi-grid>*{min-width:0}#compare{scroll-margin-top:100px}.pi-filters [data-compare-picker]{max-width:min(100%,380px)}
@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%}.pi-map{height:330px}}
