/* P&ID overlays share the studio theme and never resize the drawing stage. */
.iso-workspace .iso-panel-pid{left:auto;right:12px;width:440px;max-width:calc(100% - 100px)}
.iso-panel-pid .iso-panel-content{padding:16px;flex:1;font-size:12px}
.iso-pid-intro h3{font-size:20px;letter-spacing:-.4px;margin:6px 0 10px;line-height:1.2}
.iso-pid-intro p,.iso-pid-empty,.iso-pid-field-help,.iso-pid-save-note,.iso-pid-selection p,.iso-pid-extras p{font-size:11px;line-height:1.6;color:var(--iso-muted);margin:9px 0}
.iso-pid-summary{background:var(--iso-wash);border:1px solid var(--iso-border);border-left:3px solid var(--iso-accent);border-radius:10px;padding:12px;margin:14px 0}
.iso-pid-summary>strong{display:block;font-size:13px}
.iso-pid-counters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.iso-pid-counters span{font-size:10px;color:var(--iso-muted)}
.iso-pid-counters b{font-size:16px;font-weight:750;color:var(--iso-ink);margin-right:4px}
.iso-pid-summary p{font-size:10px;color:var(--iso-muted);margin:12px 0 0;line-height:1.5}
.iso-pid-summary.is-matched{border-left-color:#31865b}
.iso-pid-source-controls{padding:0 0 16px;border-bottom:1px solid var(--iso-border)}
.iso-pid-source-controls>label{display:block;font-size:10px;color:var(--iso-muted);margin:12px 0}
.iso-pid-source-controls label select{display:block;width:100%;max-width:100%;margin-top:5px;font-size:11px}
.iso-pid-actions,.iso-pid-page-controls,.iso-pid-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.iso-pid-page-controls>label{font-size:10px;color:var(--iso-muted);display:flex;align-items:center;gap:6px}
.iso-pid-page-controls label select{margin:0;width:auto;max-width:130px}
.iso-panel-pid button{font-size:11px;padding:7px 9px}
.iso-panel-pid label.iso-pid-attestation{display:flex;align-items:flex-start;gap:8px;margin:12px 0;color:var(--iso-ink);font-size:11px;line-height:1.5}
.iso-pid-attestation input{width:16px!important;height:16px;margin:1px 0 0;flex:none;accent-color:var(--iso-accent)}
.iso-pid-progress{font-size:11px;line-height:1.6;padding:9px;border-radius:6px;background:var(--iso-wash);color:var(--iso-accent)}
.iso-pid-progress button{display:block;margin-top:6px}
.iso-pid-warnings,.iso-pid-transcript{margin-top:12px;font-size:11px;color:var(--iso-muted)}
.iso-pid-warnings summary,.iso-pid-transcript summary,.iso-pid-extras summary,.iso-pid-selection summary{cursor:pointer;font-weight:650}
.iso-pid-warnings p{line-height:1.5}
.iso-pid-transcript textarea{margin-top:9px;height:160px;resize:vertical;font:11px/1.5 monospace;white-space:pre}
.iso-pid-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:17px 0 12px}
.iso-pid-list-heading>div{display:flex;gap:5px}
.iso-pid-filters{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}
.iso-pid-filters input{grid-column:1/-1}
.iso-pid-filters select{min-width:0;width:100%;font-size:11px;padding:7px 5px}
.iso-pid-row{border:1px solid var(--iso-border);border-left:3px solid #9aa9b3;border-radius:9px;padding:11px;margin:10px 0;background:var(--iso-paper)}
.iso-pid-row header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.iso-pid-row header>div{min-width:0}
.iso-pid-row strong{display:block;font-size:13px;overflow-wrap:anywhere}
.iso-pid-row small{display:block;font-size:10px;color:var(--iso-muted);margin-top:5px;line-height:1.5}
.iso-pid-status{flex:none;font-size:9px;font-weight:700;border:1px solid var(--iso-border);background:var(--iso-wash);padding:4px 6px;border-radius:5px}
.iso-pid-row.status-matched{border-left-color:#348866}
.iso-pid-row.status-missing,.iso-pid-row.status-issue{border-left-color:#c56b37}
.iso-pid-row.status-review{border-left-color:#7991b8}
.iso-pid-row.status-excluded{opacity:.75;border-left-style:dashed}
.iso-pid-row-count,.iso-pid-exclusion{font-size:10px;color:var(--iso-muted);line-height:1.5;margin:9px 0}
.iso-pid-issues{font-size:10px;color:var(--iso-ink);line-height:1.5;margin:8px 0;padding:7px;background:var(--iso-wash);border-radius:5px}
.iso-pid-actual span{display:block;font-size:10px;color:var(--iso-muted);margin:5px 0;overflow-wrap:anywhere}
.iso-pid-row-actions button{font-size:10px;padding:5px 7px;min-height:29px}
.iso-pid-row-actions .iso-pid-subtle{margin-left:auto}
.iso-pid-editor{border:1px solid var(--iso-accent);background:var(--iso-wash);border-radius:10px;padding:12px;margin:13px 0}
.iso-pid-editor h4{margin:0 0 12px;font-size:13px}
.iso-pid-editor textarea{resize:vertical;min-height:50px}
.iso-pid-editor blockquote{margin:10px 0;padding:7px 9px;border-left:2px solid var(--iso-border);font:10px/1.5 monospace;color:var(--iso-muted);overflow-wrap:anywhere;max-height:120px;overflow:auto}
.iso-pid-editor [role=alert]{color:var(--iso-ink);font-size:11px;line-height:1.5}
.iso-pid-selection{padding:12px;background:var(--iso-wash);border:1px solid var(--iso-border);border-radius:9px;margin-top:14px}
.iso-pid-selection form{margin-top:12px}
.iso-pid-selection form>button{margin-top:8px}
.iso-pid-extras{font-size:11px;margin-top:14px}
.iso-pid-extras button{display:block;width:100%;text-align:left;margin-top:5px}
.iso-pid-save-note{border-top:1px solid var(--iso-border);padding-top:12px;margin-top:18px}
.iso-panel-pid .iso-pid-detach{font-size:10px;color:var(--iso-muted);background:transparent;border-color:transparent;padding:5px 0}
.iso-statusbar .iso-pid-badge{font-size:10px;min-height:23px;padding:2px 7px;max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--iso-accent);flex-shrink:0}
.iso-pid-reference{position:absolute;top:12px;left:88px;width:min(520px,calc(100% - 558px));height:min(52%,480px);min-width:250px;display:flex;flex-direction:column;z-index:6;background:var(--iso-paper);border:1px solid var(--iso-border);box-shadow:0 12px 40px #15314a26;border-radius:12px;overflow:hidden}
.iso-pid-reference[hidden]{display:none!important}
.iso-pid-reference>header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:var(--iso-wash);border-bottom:1px solid var(--iso-border);flex:none}
.iso-pid-reference>header div{min-width:0}
.iso-pid-reference>header strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iso-pid-reference>header small{display:block;font-size:10px;color:var(--iso-muted);margin-top:3px}
.iso-pid-reference>nav{display:flex;align-items:center;gap:5px;padding:6px 8px;border-bottom:1px solid var(--iso-border);flex:none;flex-wrap:wrap}
.iso-pid-reference>nav button{font-size:10px;padding:4px 8px;min-height:26px}
.iso-pid-reference>nav output{font-size:10px;min-width:31px;text-align:center}
.iso-pid-reference>nav a{margin-left:auto;color:var(--iso-accent);font-size:10px;text-decoration:none;padding:6px 2px}
.iso-pid-page-image{flex:1;overflow:auto;min-height:0;background:#e6e9ed;overscroll-behavior:contain;touch-action:pan-x pan-y}
.iso-pid-page-image img{display:block;max-width:none;height:auto;user-select:none}
.iso-pid-page-image>p{padding:18px;text-align:center;font-size:12px;color:#31485b}
.iso-pid-reference>footer{flex:none;padding:6px 8px;font-size:9px;color:var(--iso-muted);border-top:1px solid var(--iso-border)}
.iso-focus .iso-pid-reference{display:none!important}
@media(max-width:1100px){.iso-workspace .iso-panel-pid{width:390px}.iso-pid-reference{left:80px;width:calc(100% - 490px);min-width:220px}.iso-statusbar .iso-pid-badge{max-width:40vw}}
@media(max-width:800px){.iso-workspace .iso-panel-pid{left:auto;right:8px;max-width:calc(100% - 85px);width:390px}.iso-pid-reference{left:85px;right:8px;top:8px;width:auto;min-width:0;height:55%;z-index:9}.iso-statusbar .iso-pid-badge{max-width:75vw}.iso-statusbar:has(.iso-pid-badge)>span{display:none}}
@media(max-width:450px){.iso-workspace .iso-panel-pid{left:8px;right:8px;max-width:none;width:auto;top:8px;bottom:8px}.iso-panel-pid .iso-panel-content{padding:12px}.iso-pid-reference{left:8px}.iso-pid-intro h3{font-size:18px}.iso-pid-row-actions{gap:5px}.iso-pid-row-actions button{padding:6px}.iso-pid-reference>nav{gap:3px}}
.iso-pid-source-section>summary{cursor:pointer;font-weight:700;font-size:12px;padding:4px 0 12px}
.iso-pid-source-section>summary small{display:block;font-size:10px;font-weight:400;color:var(--iso-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0 14px}
.iso-pid-source-section:not([open]){border-bottom:1px solid var(--iso-border)}
.iso-pid-page-image>[data-pid-retry-page]{display:block;margin:0 auto 20px}
html[data-qps-theme=dark] .iso-panel-pid,html[data-qps-theme=dark] .iso-pid-reference,html[data-qps-theme=dark] .iso-pid-badge{--iso-ink:#dceaf4;--iso-muted:#a8bdcc;--iso-border:#344b5d;--iso-paper:#172b3b;--iso-wash:#132533;--iso-accent:#72d5d6;color:var(--iso-ink)}
html[data-qps-theme=dark] .iso-panel-pid button:hover,html[data-qps-theme=dark] .iso-pid-reference button:hover{background:#244453;color:#edf8ff;border-color:#72d5d6}
