/* AI Prospectivity module (public/prospectivity.js). The tab + panel reuse the Projects / Stake
   chrome (.projtab / .projpanel / .pp-* in style.css); everything else is ps-*. */
.prosptab{top:332px}
.prosppanel{width:360px;padding-bottom:24px}
/* [hidden] loses to any display rule below — make it win inside the module */
#prosppanel [hidden],.selp [hidden]{display:none!important}
.ps-body{padding:12px 16px 0;font-size:12px;color:var(--tp)}
.ps-sec{margin:0 0 14px}
.ps-h{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ts);margin:0 0 6px}
.ps-note{color:var(--tm);font-size:11px;line-height:1.45;margin:3px 0}
.ps-note.bad,.ps-msg.bad{color:var(--danger)}
.ps-msg{font-size:11.5px;color:var(--ts);line-height:1.45;margin:-4px 0 14px;min-height:1px}
.ps-banner{background:#fcf6ec;border:1px solid #e9c46a;color:#6b4e00;border-radius:8px;padding:7px 10px;font-size:11.5px;line-height:1.45;margin:0 0 12px}
.ps-err{background:#fdecec;border:1px solid #e8a3a3;color:#7a1f1f;border-radius:8px;padding:7px 10px;font-size:11.5px;line-height:1.45;margin:8px 0;word-break:break-word}
.ps-warn{background:#fcf6ec;border:1px solid #e9c46a;color:#6b4e00;border-radius:8px;padding:6px 10px 6px 24px;font-size:11px;line-height:1.45;margin:6px 0}
.ps-row{display:flex;gap:14px;flex-wrap:wrap}
.ps-grid2{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.ps-chk{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tp);cursor:pointer;padding:2px 0;min-width:0}
.ps-chk input{accent-color:var(--accent);margin:0;flex:none}
.ps-chk.off{color:var(--tm);cursor:not-allowed}
.ps-pub{margin-top:8px}
.ps-range{display:flex;align-items:center;gap:10px}
.ps-range input{flex:1;accent-color:var(--accent)}
.ps-out{font-variant-numeric:tabular-nums;font-weight:600;min-width:42px;text-align:right}
.ps-area{border:1px solid var(--bd);border-radius:8px;padding:8px 10px;background:#f8f8f8}
.ps-areanum{font-size:12px;color:var(--ts)}.ps-areanum b{font-size:15px;color:var(--tp);font-weight:600}
.ps-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.ps-btn{border:1px solid var(--bd);background:var(--content);color:var(--ts);border-radius:999px;padding:4px 10px;cursor:pointer;font:500 11.5px var(--font)}
.ps-btn:hover{background:var(--accentS);color:var(--tp)}
.ps-danger{color:var(--danger)}
.ps-link{border:0;background:none;color:var(--info);font:500 11.5px var(--font);cursor:pointer;padding:0 2px}
.ps-link:hover{text-decoration:underline}.ps-link.ps-danger{color:var(--tm)}.ps-link.ps-danger:hover{color:var(--danger)}
.ps-run{margin:4px 0 8px}
.ps-run:disabled,.ps-confirm:disabled{background:#c7c7c7;border-color:#c7c7c7;cursor:not-allowed}
/* runs */
.ps-jobs{display:flex;flex-direction:column;gap:6px}
.ps-job{position:relative;border:1px solid var(--bd);border-radius:8px;background:var(--content)}
.ps-job.onmap{border-color:var(--accent);box-shadow:0 0 0 1px var(--accentL)}
.ps-job-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:0;background:none;padding:8px 28px 8px 10px;cursor:pointer;font:inherit;color:inherit}
.ps-job-main:hover{background:var(--accentS);border-radius:8px}
.ps-job-name{font-size:12.5px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-job-sub{font-size:10.5px;color:var(--tm)}
.ps-job-st{font-size:11px;color:var(--ts);display:flex;gap:8px;flex-wrap:wrap;word-break:break-word}
.ps-job.st-failed .ps-job-st,.ps-job.st-stalled .ps-job-st{color:var(--danger)}
.ps-job-x{position:absolute;top:7px;right:9px;color:var(--tm);cursor:pointer;font-size:11px}.ps-job-x:hover{color:var(--danger)}
.ps-prog{height:4px;background:#eeeeee;border-radius:3px;overflow:hidden;width:100%;margin-top:4px}
.ps-prog i{display:block;height:100%;background:var(--accent);transition:width .4s ease}
.ps-badge{display:inline-block;font-size:10px;font-weight:600;border-radius:999px;padding:1px 7px;border:1px solid;white-space:nowrap;line-height:1.5}
.ps-badge.c-good{color:#1d7d3e;background:#e9f5ec;border-color:#a9d5b5}
.ps-badge.c-moderate{color:#1f5f7a;background:#e7f2f7;border-color:#a7cfe0}
.ps-badge.c-low{color:#8a4b0f;background:#fbf0e3;border-color:#e8c49b}
.ps-badge.c-failed{color:#9e1c1c;background:#fbeaea;border-color:#e3a9a9}
.ps-vcards{margin:4px 0 12px}
.ps-vcard{border:1px solid var(--bd);border-left:4px solid #898989;border-radius:8px;padding:8px 10px;margin:0 0 8px;background:#fff}
.ps-vcard.c-good{border-left-color:#3f9a5c}.ps-vcard.c-moderate{border-left-color:#3b88a8}.ps-vcard.c-low{border-left-color:#d08a3a}.ps-vcard.c-failed{border-left-color:#c0392b}
.ps-vcard-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.ps-vcard-h b{font-size:12.5px}
.ps-verdict{font-size:13px;font-weight:600;margin:4px 0 2px;color:var(--tp,#242424)}
.ps-why{margin:2px 0 0;padding-left:15px;font-size:11.5px;line-height:1.4;color:var(--ts,#3f3f3f)}.ps-why li{margin:1px 0}.ps-why li.x{list-style:'✕  ';color:#9e1c1c}
.ps-todo{margin-top:6px;padding-top:5px;border-top:1px dashed #dedede}
.ps-todo-h{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent,#426e90)}
.ps-todo ul{margin:2px 0 0;padding-left:15px;font-size:11.5px;line-height:1.4}.ps-todo li{list-style:'→  '}
.ps-dc{border:1px solid var(--bd);border-radius:8px;padding:7px 10px;margin:0 0 12px;background:#f8f8f8}
.ps-dc-h{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:11.5px}.ps-dc-h b{font-size:12px}.ps-dc-h span{color:var(--ts,#3f3f3f)}
.ps-more{border-top:1px solid #eeeeee;padding:6px 0}.ps-more>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--ts,#3f3f3f)}
.ps-more[open]>summary{margin-bottom:6px}
.ps-lyr-row{display:flex;align-items:center;justify-content:space-between;gap:6px}
.ps-i{flex:none;width:17px;height:17px;border-radius:50%;border:1px solid #c7c7c7;background:#fff;color:#606060;font:italic 600 10px/15px Georgia,serif;cursor:pointer;padding:0}
.ps-i.on{background:var(--accent,#426e90);color:#fff;border-color:var(--accent,#426e90)}
.ps-ramp-ticks{display:flex;justify-content:space-between}
.ps-grp{border-top:1px solid #eeeeee;padding:4px 0}
.ps-grp>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--tx,#242424);padding:4px 0;list-style-position:inside}
.ps-grp[open]>summary{color:var(--accent,#426e90)}
.ps-ev-h{margin-top:10px}
.ps-sw.ev{background:linear-gradient(90deg,#e07a7a,#5fa35f,#6f9fd8)}
.ps-badge.c-insufficient,.ps-badge.c-skipped,.ps-badge.c-unknown,.ps-badge.c-null{color:#3f3f3f;background:#eeeeee;border-color:#c7c7c7}
.ps-conf{display:inline-flex;align-items:center;gap:3px}
/* one run */
.ps-back{border:0;background:none;color:var(--info);font:500 12px var(--font);cursor:pointer;padding:0;margin:0 0 8px}
.ps-jhead{margin:0 0 4px}
.ps-jname{font-size:15px;font-weight:600;word-break:break-word}
.ps-jfor{font-size:12px;color:var(--ts);margin-top:2px}
.ps-jobview .ps-acts{margin:6px 0 12px}
.ps-status{border:1px solid var(--bd);border-radius:8px;padding:8px 10px;margin:0 0 12px;font-size:12px}
.ps-dls{display:flex;gap:6px;flex-wrap:wrap}
.ps-dl{display:inline-block;border:1px solid var(--bd);border-radius:999px;padding:4px 10px;color:var(--tp);text-decoration:none;font-weight:500;font-size:11.5px;background:var(--content)}
.ps-dl:hover{background:var(--accentS)}
.ps-tifs{margin-top:6px}.ps-tifs summary{cursor:pointer;color:var(--ts);font-size:11px}.ps-tifs .ps-dl{margin:4px 4px 0 0}
.ps-lyr{border-top:1px solid #eeeeee;padding:6px 0}
.ps-lyr:first-of-type{border-top:0}
.ps-lyr.off .ps-lyr-name{color:var(--tm)}
.ps-lyr-name{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis}
.ps-lyr-op{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--tm);margin:2px 0 0 20px}
.ps-lyr-op input{flex:1;accent-color:var(--accent)}
.ps-ramp{margin:4px 0 0 20px}
.ps-ramp-bar{height:9px;border-radius:3px;border:1px solid rgba(0,0,0,.08)}
.ps-ramp-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--ts);margin-top:2px;font-variant-numeric:tabular-nums}
.ps-classes{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 0;font-size:11px;color:var(--ts)}
.ps-classes span{display:inline-flex;align-items:center;gap:5px}
.ps-classes i{width:11px;height:11px;border-radius:2px;border:1px solid rgba(0,0,0,.15);flex:none}
.ps-sw{display:inline-block;width:12px;height:12px;flex:none;border-radius:2px}
.ps-sw.tgt{background:rgba(31,111,139,.3);border:2px solid #1f6f8b}
.ps-sw.exp{background:rgba(124,58,237,.12);border:1.5px dashed #7c3aed}
.ps-sw.pt{border-radius:50%;background:#b8860b;border:1.5px solid #fff;box-shadow:0 0 0 1px #b8860b}
.ps-card{border:1px solid var(--bd);border-radius:8px;padding:8px 10px;margin:0 0 8px}
.ps-card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.ps-card-h b{font-size:12.5px}
.ps-reasons{margin:4px 0;padding-left:16px;font-size:11.5px;line-height:1.45;color:var(--tp)}
.ps-reasons li{margin:2px 0}
.ps-kv{width:100%;border-collapse:collapse;font-size:11px;margin-top:4px}
.ps-kv td{padding:2px 0;vertical-align:top;border-top:1px solid #eeeeee}
.ps-kv td:first-child{color:var(--ts);width:48%;padding-right:8px}
.ps-kv td:last-child{font-variant-numeric:tabular-nums;word-break:break-word}
.ps-dq{display:flex;align-items:center;gap:8px}
.ps-dq b{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.ps-dq-bar{flex:1;height:7px;background:#eeeeee;border-radius:4px;overflow:hidden}
.ps-dq-bar i{display:block;height:100%;background:var(--accent)}
.ps-sub{margin-top:6px}
.ps-tblwrap{max-height:260px;overflow:auto;border:1px solid var(--bd);border-radius:8px}
.ps-tbl{width:100%;border-collapse:collapse;font-size:11px}
.ps-tbl th{position:sticky;top:0;background:#f8f8f8;text-align:left;font-weight:600;color:var(--ts);padding:4px 6px;border-bottom:1px solid var(--bd)}
.ps-tbl td{padding:3px 6px;border-top:1px solid #eeeeee;vertical-align:top}
.ps-tbl td.n{text-align:right;font-variant-numeric:tabular-nums}
.ps-tbl tr.go{cursor:pointer}.ps-tbl tr.go:hover td{background:var(--accentS)}
.ps-steps{margin:0;padding-left:18px;font-size:11.5px;line-height:1.45}
.ps-steps li{margin:0 0 6px}.ps-steps li div{color:var(--ts)}
.ps-chips{display:flex;flex-wrap:wrap;gap:4px}
.ps-chips span{font-size:10.5px;background:var(--accentS);border:1px solid var(--accentL);color:var(--accent);border-radius:999px;padding:1px 8px}
/* your data */
.ps-data{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.ps-data>.ps-btn{align-self:flex-start}
.ps-layer{border:1px solid var(--bd);border-radius:8px;padding:6px 9px}
.ps-layer.away{opacity:.7}
.ps-layer-top{display:flex;align-items:center;gap:8px}
.ps-layer-name{flex:1;min-width:0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-layer-bot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.ps-pill{font-size:10px;border-radius:999px;padding:1px 7px;background:#eeeeee;color:var(--ts);white-space:nowrap}
.ps-pill.st-done{background:#e9f5ec;color:#1d7d3e}
.ps-pill.st-needs_mapping{background:#fcf6ec;color:#6b4e00}
.ps-pill.st-failed,.ps-pill.st-stalled{background:#fdecec;color:#7a1f1f}
.ps-vis,.ps-sel,.ps-in{font:11.5px var(--font);border:1px solid var(--bd);border-radius:6px;padding:3px 5px;color:var(--tp);background:#fff;min-width:0}
.ps-mapping{border:1px solid var(--accentL);background:#f7f9fa;border-radius:10px;padding:9px 10px;margin:6px 0}
.ps-map-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.ps-map-h b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-field{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:2px 8px;margin:5px 0;font-size:11.5px}
.ps-field>span{color:var(--ts)}
.ps-field em{grid-column:2;font-style:normal;font-size:10.5px;color:var(--tm)}
.ps-field .ps-link{grid-column:2;justify-self:start}
.ps-eltbl{max-height:220px;margin:4px 0 8px}
.ps-eltbl td.c{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-eltbl td.v{color:var(--tm);font-variant-numeric:tabular-nums;white-space:nowrap}
.ps-eltbl tr.on td.c{font-weight:600}
.ps-eltbl .ps-sel{width:100%}
.ps-vis-row{margin:6px 0 8px}
.ps-confirm{margin:4px 0 6px}
/* map popup */
.ps-pop-h{font-weight:600;margin-bottom:4px}
.ps-pop table{font-size:11px;border-collapse:collapse}
.ps-pop td{padding:1px 8px 1px 0;vertical-align:top}
.ps-pop td:first-child{color:var(--ts);white-space:nowrap}
.ps-pop-s{color:var(--tm);font-size:10.5px;margin-top:4px}
/* "Run prospectivity on this area" in the AOI selection panel (#selpanel) */
.selp .selx-sum{margin:0 0 6px}
