.pem-shell{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:44px 0 82px}
.pem-hero,.pem-map-card,.pem-evidence-panel,.pem-inventory,.pem-boundary-grid article,.pem-posture article{border:1px solid var(--rule-soft);background:rgba(255,253,246,.82);box-shadow:0 20px 44px -34px rgba(10,42,67,.34)}
.pem-hero{padding:40px;position:relative;overflow:hidden}
.pem-hero:after{content:"";position:absolute;right:-70px;top:-100px;width:300px;height:300px;border:1px solid rgba(11,125,115,.2);border-radius:50%;pointer-events:none}
.pem-hero h1{font-size:clamp(44px,6vw,76px);margin:12px 0 16px;max-width:18ch}
.pem-hero>p{max-width:78ch;color:var(--ink-soft);font-size:17px;line-height:1.7}
.pem-boundary{max-width:92ch;margin-top:18px;padding:15px 17px;border-left:4px solid #b38a3e;background:#fff9ed;color:var(--ink-soft);line-height:1.55}
.pem-programme-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.pem-programme-nav a{display:inline-flex;align-items:center;min-height:44px;padding:11px 14px;border:1px solid var(--rule-soft);background:rgba(255,253,246,.68);color:var(--ink);font:500 10px/1 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em;text-decoration:none}
.pem-programme-nav a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff9ec!important;-webkit-text-fill-color:#fff9ec!important}
.pem-posture{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}
.pem-posture article{padding:16px;min-width:0}
.pem-posture b{display:block;margin-bottom:9px;font:500 9px/1.25 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.pem-posture strong{display:block;font-size:25px;overflow-wrap:anywhere}
.pem-posture p{margin:7px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.48}
.pem-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.75fr);gap:16px;align-items:start}
.pem-map-card,.pem-evidence-panel,.pem-inventory{padding:22px}
.pem-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.pem-section-head h2,.pem-evidence-panel h2,.pem-inventory h2{margin:5px 0 0;font-size:clamp(25px,3vw,34px)}
.pem-legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:430px}
.pem-legend span,.pem-status-chip,.pem-kind-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--rule-soft);font:600 9px/1 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.04em;background:#fff}
.pem-legend i{display:block;width:8px;height:8px;border-radius:50%;background:#8a99a2}
.pem-legend .confirmed i,.pem-status-chip.confirmed{background:#edf8f2;color:#1d6d4a;border-color:#9cc9b2}.pem-legend .confirmed i{background:#1d6d4a}
.pem-legend .unconfirmed i,.pem-status-chip.unconfirmed{background:#f4f5f3;color:#53636b;border-color:#c8d0d3}.pem-legend .unconfirmed i{background:#7c8a91}
.pem-legend .held i,.pem-status-chip.held{background:#fff8e8;color:#7b5a13;border-color:#dfc47a}.pem-legend .held i{background:#a87a16}
.pem-legend .disputed i,.pem-status-chip.disputed{background:#fff1ef;color:#963b31;border-color:#e3aaa3}.pem-legend .disputed i{background:#b44337}
.pem-legend .test_only i,.pem-status-chip.test_only{background:#f1eef8;color:#674a88;border-color:#b9aad0}.pem-legend .test_only i{background:#755594}
.pem-map{min-height:700px;border:1px solid var(--rule-soft);background:linear-gradient(rgba(10,42,67,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(10,42,67,.035) 1px,transparent 1px),#fffdf8;background-size:32px 32px;overflow:auto;position:relative}
.pem-map-svg{display:block;width:100%;min-width:720px;height:700px}
.pem-edge{fill:none;stroke:#8a99a2;stroke-width:2;opacity:.72;cursor:pointer;transition:opacity .15s,stroke-width .15s}
.pem-edge.confirmed{stroke:#2b7a57}.pem-edge.held{stroke:#a87a16;stroke-dasharray:7 5}.pem-edge.disputed{stroke:#b44337;stroke-dasharray:3 4}.pem-edge.test_only{stroke:#755594;stroke-dasharray:7 5}.pem-edge.unconfirmed{stroke:#7c8a91;stroke-dasharray:3 5}
.pem-edge-hit{fill:none;stroke:transparent;stroke-width:18;cursor:pointer}
.pem-edge-group:hover .pem-edge,.pem-edge-group:focus .pem-edge,.pem-edge-group.selected .pem-edge{opacity:1;stroke-width:4}
.pem-edge-label{font:600 9px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.03em;fill:#40525c;paint-order:stroke;stroke:#fffdf8;stroke-width:5;stroke-linejoin:round;pointer-events:none}
.pem-node{cursor:pointer;outline:none}
.pem-node rect{fill:#fffdf8;stroke:#7c8a91;stroke-width:2;rx:14;transition:stroke-width .15s,filter .15s}
.pem-node.confirmed rect{stroke:#2b7a57}.pem-node.held rect{stroke:#a87a16}.pem-node.disputed rect{stroke:#b44337}.pem-node.test_only rect{stroke:#755594}.pem-node.unconfirmed rect{stroke:#7c8a91;stroke-dasharray:4 4}
.pem-node.programme rect{fill:#0a2a43;stroke:#0a2a43}.pem-node.programme text{fill:#fff9ec}.pem-node.programme .pem-node-sub{fill:#d8e0df}
.pem-node:hover rect,.pem-node:focus rect,.pem-node.selected rect{stroke-width:4;filter:drop-shadow(0 7px 7px rgba(10,42,67,.18))}
.pem-node-title{font:700 12px/1.2 Inter,Arial,sans-serif;fill:#0a2a43;pointer-events:none}.pem-node-sub{font:600 8px/1 "JetBrains Mono",ui-monospace,monospace;fill:#63737b;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}
.pem-empty{display:grid;place-items:center;min-height:260px;padding:34px;text-align:center;color:var(--ink-soft)}
.pem-evidence-panel{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto}
.pem-evidence-panel>p{color:var(--ink-soft);line-height:1.62}
.pem-panel-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}
.pem-kind-chip{color:var(--accent);background:#f7fbfa}
.pem-detail-grid{display:grid;gap:1px;background:var(--rule-soft);border:1px solid var(--rule-soft);margin-top:14px}
.pem-detail{padding:12px;background:#fffdf8;min-width:0}
.pem-detail b{display:block;margin-bottom:6px;font:500 9px/1.2 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}
.pem-detail span,.pem-detail p{display:block;margin:0;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.pem-reference-list,.pem-history-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.pem-reference-list li,.pem-history-list li{padding:9px;border:1px solid var(--rule-soft);background:#fff;overflow-wrap:anywhere}
.pem-history-list small{display:block;margin-top:4px;color:var(--ink-soft)}
.pem-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pem-panel-actions a{display:inline-flex;align-items:center;min-height:42px;padding:10px 13px;border:1px solid var(--ink);background:var(--ink);color:#fff9ec!important;-webkit-text-fill-color:#fff9ec!important;font:500 9px/1.2 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
.pem-panel-actions a.secondary{background:transparent;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;border-color:var(--rule-soft)}
.pem-profile-loading{margin-top:14px;padding:11px;border-left:3px solid #b38a3e;background:#fff9ed;color:var(--ink-soft)}
.pem-inventory{margin-top:16px}
.pem-inventory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pem-inventory-grid article{padding:15px;border:1px solid var(--rule-soft);background:#fffdf8;min-width:0}
.pem-inventory-grid b{display:block;margin-bottom:8px;font:500 9px/1.2 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}
.pem-inventory-grid strong{display:block;font-size:24px;overflow-wrap:anywhere}.pem-inventory-grid p{margin:7px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.45}
.pem-boundary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.pem-boundary-grid article{padding:18px;min-width:0}.pem-boundary-grid h3{margin:5px 0 8px;font-size:21px}.pem-boundary-grid p{margin:0;color:var(--ink-soft);line-height:1.55}
@media(max-width:1180px){.pem-layout{grid-template-columns:1fr}.pem-evidence-panel{position:static;max-height:none}.pem-posture{grid-template-columns:repeat(2,1fr)}.pem-inventory-grid{grid-template-columns:repeat(3,1fr)}.pem-boundary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.pem-shell{width:min(100% - 28px,1440px);padding-top:28px}.pem-hero{padding:27px 22px}.pem-map-card,.pem-evidence-panel,.pem-inventory{padding:16px}.pem-section-head{display:block}.pem-legend{justify-content:flex-start;margin-top:12px}.pem-posture,.pem-inventory-grid,.pem-boundary-grid{grid-template-columns:1fr}.pem-map{min-height:560px}.pem-map-svg{height:560px}.pem-programme-nav a{flex:1 1 145px;justify-content:center}.pem-hero h1{font-size:42px}}
