/* Local-only preview of real, site-identifiable opportunities. */
.real-journey .journey-panel{display:block;min-height:0;background:#10283a}
.real-journey .journey-panel[hidden]{display:none}
.case-kicker,.evidence-tag,.sheet-block>span,.sheet-decision span{font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.1em;color:#67e6aa}
.explorer-toolbar,.roof-heading{display:flex;justify-content:space-between;align-items:end;gap:26px;padding:27px 31px;background:#10283a;border-bottom:1px solid #38516a}
.explorer-toolbar h3,.roof-heading h3{font-size:clamp(24px,2.5vw,36px);line-height:1.12;margin:8px 0 0;letter-spacing:-.03em}
.explorer-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.explorer-tools label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.explorer-tools input,.explorer-tools button{min-height:41px;border:1px solid #526879;background:#1b3a4a;color:#fff;padding:9px 13px;font:500 13px 'DM Sans',sans-serif}
.explorer-tools input{min-width:190px}.explorer-tools input::placeholder{color:#c7d4d4}.explorer-tools button{cursor:pointer}
.explorer-tools button:hover,.filter-chip:hover,.asset-item:hover{background:#2b5160}
.case-explorer{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);min-height:690px}
.explorer-map-wrap,.roof-map-wrap{position:relative;min-height:690px;background:#193b44;overflow:hidden}
.real-journey .real-map{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.real-journey .real-map[hidden]{display:none}
.map-place{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:50px;background:radial-gradient(circle at 50% 34%,#355963,#132a39 70%);color:#e8f2ed}
.map-place[hidden]{display:none}.map-place strong{font-size:25px;line-height:1.15;max-width:400px}.map-place span{font-size:14px;line-height:1.5;max-width:420px;color:#ccdad8}
.map-overlay-label,.roof-map-badge{position:absolute;z-index:3;top:17px;left:18px;background:#092231e8;color:#e6f5ed;border:1px solid #608378;padding:8px 10px;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.08em;pointer-events:none}
.roof-map-badge span{color:#64e8a4}.map-live-status{position:absolute;z-index:3;bottom:25px;left:18px;margin:0;max-width:330px;padding:8px 10px;background:#092231e8;color:#e6f5ed;font:500 11px 'DM Sans',sans-serif;pointer-events:none}
.map-site-pin{width:37px;height:37px;border-radius:50%;border:2px solid #a9f8d0;background:#102b39;color:#fff;font:700 13px 'IBM Plex Mono',monospace;box-shadow:0 0 0 6px #50e6a344;cursor:pointer}
.map-site-pin.is-selected{background:#38d99a;color:#092b2a;box-shadow:0 0 0 9px #50e6a350}.map-site-pin[hidden]{display:none}
.map-site-pin:focus-visible,.case-next:focus-visible,.filter-chip:focus-visible,.asset-item:focus-visible,.explorer-tools button:focus-visible,.explorer-tools input:focus-visible{outline:3px solid #ffdb78;outline-offset:3px}
.explorer-sidebar{display:flex;flex-direction:column;border-left:1px solid #38516a;background:#112b3b}
.filter-group{display:flex;gap:7px;flex-wrap:wrap;padding:21px 20px;border-bottom:1px solid #38516a}
.filter-chip{border:1px solid #536d77;background:#173647;color:#e0ebea;padding:8px 10px;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.filter-chip.is-active{border-color:#65e7aa;background:#154b43}.filter-chip span{margin-left:3px;color:#83d9b2}
.asset-list{max-height:255px;overflow:auto;border-bottom:1px solid #38516a}.asset-item{width:100%;display:flex;gap:13px;align-items:start;text-align:left;border:0;border-bottom:1px solid #304b5a;background:transparent;color:#fff;padding:17px 20px;cursor:pointer}.asset-item.is-selected{background:#1c4b4a;box-shadow:inset 3px 0 #72edaf}.asset-number{color:#78e7af;font:600 11px 'IBM Plex Mono',monospace;padding-top:4px}.asset-item strong,.asset-item small{display:block}.asset-item strong{font-size:14px;line-height:1.3}.asset-item small{color:#c1d2d3;margin-top:5px;font-size:11px}.empty-results{padding:20px;color:#c1d2d3}
.selected-site{padding:25px 21px 27px}.selected-site h4{font-size:clamp(22px,2vw,29px);line-height:1.12;margin:10px 0 6px}.selected-site>p{color:#c9d8d7;font-size:13px;line-height:1.5;margin:0 0 19px}.selected-site dl{margin:0 0 16px;border-top:1px solid #45606a}.selected-site dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #45606a;padding:10px 0}.selected-site dt{color:#a9c1c3;font-size:12px}.selected-site dd{margin:0;text-align:right;font-size:12px;font-weight:600;max-width:55%}.selected-site #selected-summary{margin-bottom:18px}
.case-next{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;border:1px solid #6de3a4;background:#247e5b;color:#fff;padding:14px 16px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.case-next:hover{background:#19946a}.case-next span{font-size:19px}
.case-source-line{margin:0;padding:13px 19px;color:#aabdc0;background:#0b202f;font-size:11px;line-height:1.45}.case-source-line a{color:#a8eabf;text-decoration:underline}
.roof-heading{align-items:center}.roof-heading p{font-size:13px;color:#c2d3d2;margin:7px 0 0}.evidence-tag{color:#d4e4db;border:1px solid #638779;padding:9px 10px;text-align:right}
.roof-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr)}.roof-map-wrap{min-height:650px}.roof-analysis{padding:35px 29px;background:#f5f3ee;color:#102b39}.roof-analysis .case-kicker{color:#087d5a}.roof-analysis h4{font-size:clamp(27px,2.7vw,38px);line-height:1.08;letter-spacing:-.035em;margin:14px 0 28px}.analysis-row{border-top:1px solid #cfdbd5;padding:13px 0 15px}.analysis-row span{display:block;color:#087d5a;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.07em;margin-bottom:8px}.analysis-row strong{font-size:16px;line-height:1.35}.analysis-caveat{font-size:12px;color:#536971;line-height:1.5;margin:17px 0 23px}.roof-analysis .case-next{background:#103948}.roof-analysis .case-next:hover{background:#176452}
.operational-sheet{background:#f5f3ee;color:#112e3b;padding:clamp(22px,4vw,52px)}.sheet-top{display:flex;justify-content:space-between;gap:15px;border-bottom:2px solid #143e48;padding-bottom:13px;font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.08em}.sheet-heading{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:25px;align-items:end;padding:30px 0 33px}.sheet-heading .case-kicker,.sheet-block>span,.sheet-decision span{color:#087d5a}.sheet-heading h3{font-size:clamp(30px,4.5vw,60px);letter-spacing:-.045em;line-height:1.02;margin:10px 0}.sheet-heading p{font-size:15px;margin:0;color:#4b6269}.sheet-score{display:grid;gap:5px;padding:16px;border-left:3px solid #27a16c;background:#e5f1e9}.sheet-score small{font:600 9px 'IBM Plex Mono',monospace;color:#087d5a}.sheet-score strong{font-size:35px;line-height:1}.sheet-score span{font-size:12px;line-height:1.4;color:#46626a}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cbd7d2;border:1px solid #cbd7d2}.sheet-block{background:#fff;padding:25px}.sheet-block dl{margin:14px 0 0}.sheet-block dl div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid #d8e2dc}.sheet-block dt{font-size:12px;color:#5e7175;max-width:43%}.sheet-block dd{margin:0;text-align:right;font-size:13px;line-height:1.35;font-weight:600;max-width:57%}.sheet-block a{color:#08644e}.sheet-decision{display:grid;grid-template-columns:1fr 1fr;gap:35px;background:#deeee3;border-top:3px solid #158762;padding:24px;margin-top:18px}.sheet-decision p{font-size:16px;line-height:1.5;margin:10px 0 0}.sheet-footer{font-size:11px;line-height:1.5;color:#52666a;margin:21px 0 0}
@media(max-width:850px){.case-explorer,.roof-layout{grid-template-columns:1fr}.explorer-map-wrap,.roof-map-wrap{min-height:480px}.explorer-sidebar{border-left:0}.asset-list{max-height:none}.selected-site{padding:25px}.sheet-heading{grid-template-columns:1fr}.sheet-score{max-width:350px}.sheet-grid{grid-template-columns:1fr}}
@media(max-width:600px){.explorer-toolbar,.roof-heading{display:block;padding:22px 17px}.explorer-tools{margin-top:18px}.explorer-tools input{min-width:0;flex:1}.explorer-tools button{flex:none}.explorer-map-wrap,.roof-map-wrap{min-height:390px}.map-overlay-label,.roof-map-badge{left:12px;top:12px;font-size:8px}.map-live-status{left:12px;bottom:20px;font-size:10px}.evidence-tag{display:inline-block;margin-top:16px}.filter-group{padding:15px 12px}.filter-chip{font-size:10px}.roof-analysis{padding:30px 22px}.operational-sheet{padding:21px 16px}.sheet-top{font-size:9px}.sheet-heading{padding:27px 0}.sheet-block{padding:18px 15px}.sheet-block dl div{display:block}.sheet-block dt,.sheet-block dd{max-width:none;text-align:left}.sheet-block dd{margin-top:5px}.sheet-decision{grid-template-columns:1fr;gap:20px;padding:20px}.sheet-decision p{font-size:14px}}
