/* Device view: product identity, illustrated positions, and evidence-aware matches. */
#deviceExplorer{margin:22px 0 8px;scroll-margin-top:18px}
.device-finder{min-width:0;color:var(--ink)}
.device-finder button{min-height:44px}
.device-picker{margin:0 0 18px}
.device-picker>h2,.device-picker>h3{font-size:18px;letter-spacing:-.4px;margin:0 0 11px;font-weight:600}
.device-picker>p{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 12px}
.device-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.device-option{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;text-align:left;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:9px;transition:border-color .15s,background .15s;min-width:0}
.device-option:hover{background:#f5f8ef;border-color:#a2b299}
.device-option[aria-pressed=true],.device-option.is-active{border-color:#688263;background:#edf3e6;box-shadow:inset 3px 0 #4c6e4a}
.device-option>img,.device-option>svg{grid-row:1/3;width:54px;height:49px;object-fit:contain;border-radius:5px;background:#f0f3e9}
.device-option strong{font-size:12px;font-weight:650;line-height:1.4;min-width:0}
.device-option small{font-size:10px;line-height:1.5;color:#7a876f;overflow-wrap:anywhere}
.device-option>div{min-width:0}
.device-option>div strong,.device-option>div small{display:block}
.device-workspace{border:1px solid #d6decc;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 7px 26px #26361b05}
.device-header{display:grid;grid-template-columns:224px minmax(0,1fr);gap:28px;align-items:center;padding:22px 26px;background:linear-gradient(115deg,#eef3e8,#f8faf3 70%);border-bottom:1px solid #dfe6d6;min-height:218px}
.device-illustration{height:174px;min-width:0;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse,#e0e8d4 0%,#e8efdf66 50%,transparent 72%);border-radius:9px}
.device-illustration>img,.device-illustration>svg{display:block;width:100%;height:100%;max-width:230px;object-fit:contain}
.device-summary{min-width:0}
.device-summary .eyebrow{font-size:9px;color:#6f8260;letter-spacing:1.4px;margin:0 0 8px}
.device-summary h2{font-size:clamp(22px,2.3vw,32px);line-height:1.12;letter-spacing:-1px;margin:0 0 9px;font-weight:600;overflow-wrap:anywhere}
.device-codes{display:flex;flex-wrap:wrap;gap:6px 13px;font:10px 'Cascadia Code',Consolas,monospace;color:#718163;line-height:1.6;overflow-wrap:anywhere}
.device-codes span{display:inline-block}
.device-source-note{font-size:10px;line-height:1.65;color:#7b886f;margin:8px 0 0;max-width:640px}
.device-source-note a{color:#456a3c;text-underline-offset:3px}
.device-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px;max-width:620px}
.device-stats button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:60px;padding:10px 12px;text-align:left;border:1px solid #d7e0cd;background:#ffffffb8;border-radius:7px}
.device-stats button:hover,.device-stats button[aria-pressed=true]{border-color:#759268;background:#e5efda}
.device-stats strong{font-size:24px;font-weight:550;font-variant-numeric:tabular-nums;line-height:1;color:#385a31;flex-shrink:0}
.device-stats span{font-size:10px;line-height:1.4;color:#6c7d5f;max-width:105px}
.device-body{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;padding:24px;align-items:start}
.device-map{position:sticky;top:24px;min-width:0;text-align:center;padding:15px 12px 12px;border:1px solid #e2e7da;border-radius:9px;background:linear-gradient(#f7f9f2,#eff3e8)}
.device-map>h3{font-size:11px;font-weight:650;color:#61764f;text-align:left;margin:0 0 13px}
.device-map>svg,.device-map>img,.device-schematic{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;margin:auto}
.device-map small{display:block;font-size:9px;line-height:1.6;color:#89957e;text-align:left;margin:10px 0 0}
.device-map .device-hotspots{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:12px 0 0}
.device-hotspots button{display:grid;place-items:center;min-width:36px;min-height:36px;border:1px solid #c9d7bb;border-radius:50%;background:#fff;color:#4d6c40;font:600 11px 'Segoe UI',sans-serif}
.device-hotspots button:hover,.device-hotspots button.is-active,.device-hotspots button[aria-pressed=true]{background:#315d3e;color:#fff;border-color:#315d3e;box-shadow:0 0 0 3px #dce8d3}
.device-schematic [data-part],.device-map svg [role=button]{cursor:pointer}
.device-schematic [data-part]:focus-visible,.device-map svg [role=button]:focus-visible{outline:3px solid #ee9c7b;outline-offset:4px}
.device-parts{min-width:0}
.device-parts>header,.device-parts>.heading-row,.device-parts-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.device-parts h3{font-size:15px;font-weight:600;letter-spacing:-.25px;margin:0}
.device-parts>p{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 13px}
.device-part-filter{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 13px}
.device-part-filter button{font-size:10px;padding:7px 11px;border:1px solid #dfe6d6;background:#f7f9f3;border-radius:6px;line-height:1.35;color:#718064}
.device-part-filter button:hover{border-color:#9dae90;color:#3f5e34}
.device-part-filter button[aria-pressed=true],.device-part-filter button.active,.device-part-filter button.is-active{background:#2f563b;border-color:#2f563b;color:#fff}
.device-part-list{display:grid;gap:10px;min-width:0}
.device-part{padding:15px 16px;border:1px solid #dfe5d8;border-radius:9px;background:#fff;min-width:0;scroll-margin-top:20px;transition:border-color .15s,box-shadow .15s}
.device-part:hover{border-color:#b4c3a7}
.device-part.is-active{border-color:#6e8a5f;box-shadow:0 0 0 2px #edf3e5,inset 3px 0 #5f7e50}
.device-part.has-gap{background:#fdfcf9}
.device-part-top{display:grid;grid-template-columns:25px 42px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px}
.part-number{display:grid;place-items:center;align-self:start;width:23px;height:23px;margin-top:7px;border:1px solid #d6e0cc;border-radius:50%;color:#627b53;background:#f0f5e9;font:600 10px 'Segoe UI',sans-serif;flex-shrink:0}
.part-seal-drawing{display:grid;place-items:center;width:42px;height:42px;border-radius:7px;background:#f1f5eb}
.part-seal-drawing svg,.part-seal-drawing img{display:block;width:42px;height:42px;object-fit:contain}
.part-title{min-width:0}
.part-title h3{font-size:13px;line-height:1.45;letter-spacing:-.1px;font-weight:650;margin:0 0 3px;overflow-wrap:anywhere}
.part-title p,.part-title small,.part-title .part-oem{display:block;font:9px/1.65 'Cascadia Code',Consolas,monospace;color:#839175;margin:0;overflow-wrap:anywhere}
.part-status{font-size:9px;line-height:1.4;border-radius:5px;padding:5px 7px;font-weight:600;background:#eef1e9;color:#758169;max-width:128px}
.part-status.candidate{color:#4d743e;background:#eaf3e1}
.part-status.gap{color:#927355;background:#f7eee1}
.part-status.reported{color:#6d7a87;background:#edf1f4}
.part-status.conflict{color:#a2503c;background:#faeae4}
.part-measures{display:flex;flex-wrap:wrap;gap:7px 22px;padding:9px 0;border-top:1px solid #eef1e9;font-size:11px;line-height:1.65}
.part-measures label,.part-measures>span{display:flex;gap:8px;align-items:baseline;color:#849078;font-size:10px}
.part-measures strong{font-size:11px;color:#425738;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.catalog-match{border:1px solid #dce7d2;background:#f2f7eb;border-radius:6px;padding:10px 11px;font-size:11px;line-height:1.6;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.catalog-match>strong{font-weight:600;color:#45643b}
.catalog-match p{width:100%;margin:2px 0 0;font-size:10px;color:#738465}
.catalog-sku{font:10px/1.6 'Cascadia Code',Consolas,monospace;color:#3e6234;overflow-wrap:anywhere}
.material-chip{font-size:8px;font-weight:600;padding:3px 6px;border:1px solid #cdddbd;border-radius:4px;background:#fff9;color:#728363;line-height:1.4}
.part-note{font-size:10px;line-height:1.7;color:#859078;margin:8px 0 0}
.part-note strong{font-weight:600;color:#66785a}
.part-sources{font-size:10px;margin-top:8px;border-top:1px solid #eef1e9;padding-top:3px;color:#7a886e}
.part-sources summary{cursor:pointer;min-height:30px;padding:7px 0;line-height:1.5;color:#657d55;list-style-position:inside}
.part-sources[open] summary{color:#365b2e}
.part-sources a{display:block;font-size:10px;line-height:1.6;color:#486c3d;padding:4px 0;text-underline-offset:3px;overflow-wrap:anywhere}
.part-sources p{font-size:10px;line-height:1.65;margin:4px 0}
.device-notice{font-size:10px;line-height:1.7;color:#78876c;padding:12px 24px;border-top:1px solid #e2e8d9;background:#f7f9f2;margin:0}
.device-filter-empty{padding:25px 18px;text-align:center;border:1px dashed #d7dfcd;border-radius:8px;background:#f7f9f3;color:#7c8e6a;font-size:12px;line-height:1.7}
.device-candidate-banner{padding:11px 15px;border:1px solid #e8dcc0;border-radius:7px;background:#fbf7ec;color:#8b7852;font-size:11px;line-height:1.65;margin:12px 0}
.device-candidate-banner strong{font-weight:650;color:#77603e}
.device-catalog-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 15px;margin:18px 0 0;border:1px solid #dce3d2;border-radius:7px;background:#edf2e5;color:#587348;font-size:11px;text-align:left;min-height:46px}
.device-catalog-toggle:hover{border-color:#a2b58e;background:#e7efdc}
.device-catalog-toggle[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0}
body.device-active #catalogSection{scroll-margin-top:16px}
@media(min-width:1550px){.device-header{grid-template-columns:250px minmax(0,1fr);gap:35px}.device-body{grid-template-columns:275px minmax(0,1fr);gap:26px}.device-part-top{grid-template-columns:25px 48px minmax(0,1fr) auto}.part-seal-drawing,.part-seal-drawing svg,.part-seal-drawing img{width:48px;height:48px}.part-title h3{font-size:14px}.part-measures strong{font-size:12px}}
@media(max-width:1200px){.device-header{grid-template-columns:170px minmax(0,1fr);gap:18px;padding:20px}.device-illustration{height:155px}.device-summary h2{font-size:25px}.device-body{grid-template-columns:200px minmax(0,1fr);gap:16px;padding:20px}.device-stats{gap:6px;margin-top:13px}.device-stats button{padding:9px;gap:7px}.device-stats strong{font-size:22px}.device-stats span{font-size:9px}.device-part-top{grid-template-columns:22px 38px minmax(0,1fr);gap:8px}.part-status{grid-column:3;width:fit-content;max-width:none}.part-number{width:21px;height:21px}.part-seal-drawing,.part-seal-drawing svg,.part-seal-drawing img{width:38px;height:38px}}
@media(max-width:950px){.device-options{grid-template-columns:repeat(2,minmax(0,1fr))}.device-header{grid-template-columns:140px minmax(0,1fr);gap:15px;min-height:200px;padding:18px}.device-illustration{height:140px}.device-summary h2{font-size:23px}.device-stats{gap:5px}.device-stats button{padding:8px;min-height:58px;flex-direction:column;align-items:flex-start;gap:5px}.device-stats strong{font-size:21px}.device-stats span{font-size:9px;max-width:none}.device-body{grid-template-columns:1fr;padding:18px;gap:18px}.device-map{position:relative;top:auto;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 1fr;column-gap:18px;align-items:center;text-align:left}.device-map>svg,.device-map>img,.device-map>.device-schematic{grid-column:1;grid-row:1/4;max-height:190px}.device-map>h3,.device-map>small,.device-map>.device-hotspots{grid-column:2}.device-map>h3{margin:0 0 5px}.device-map small{margin:5px 0}.device-map .device-hotspots{justify-content:flex-start}.device-part-top{grid-template-columns:25px 42px minmax(0,1fr) auto}.part-status{grid-column:auto;max-width:118px}.part-seal-drawing,.part-seal-drawing svg,.part-seal-drawing img{width:42px;height:42px}}
@media(max-width:680px){
 #deviceExplorer{margin-top:15px;scroll-margin-top:12px}
 .device-picker{margin-bottom:13px}.device-picker>h2,.device-picker>h3{font-size:16px;margin-bottom:9px}.device-picker>p{font-size:10px}
 .device-options{grid-template-columns:1fr;gap:7px}.device-option{grid-template-columns:48px minmax(0,1fr);padding:10px 12px;gap:1px 10px}.device-option>img,.device-option>svg{width:48px;height:43px}.device-option strong{font-size:12px}.device-option small{font-size:10px}
 .device-workspace{border-radius:9px}.device-header{grid-template-columns:88px minmax(0,1fr);gap:11px;padding:16px 13px;min-height:0;align-items:start}.device-illustration{height:94px;margin-top:13px}.device-summary h2{font-size:21px;letter-spacing:-.65px;line-height:1.18;margin-bottom:7px}.device-summary .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:6px}.device-codes{font-size:9px;gap:2px 9px;line-height:1.6}.device-source-note{font-size:9px;line-height:1.6;margin-top:7px}
 .device-stats{margin-left:-99px;margin-top:13px;gap:6px}.device-stats button{min-height:62px;padding:8px 9px;gap:5px;flex-direction:row;align-items:center}.device-stats strong{font-size:23px}.device-stats span{font-size:8px;line-height:1.5}
 .device-body{padding:13px;gap:15px}.device-map{padding:10px;gap:8px 12px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.device-map>svg,.device-map>img,.device-map>.device-schematic{max-height:160px}.device-map>h3{font-size:10px;line-height:1.5}.device-map small{font-size:8px;line-height:1.6}.device-map .device-hotspots{gap:5px;margin-top:5px}.device-hotspots button{min-width:36px;min-height:44px;border-radius:7px;font-size:10px}
 .device-parts>header,.device-parts>.heading-row,.device-parts-heading{gap:8px;margin-bottom:10px}.device-parts h3{font-size:14px}.device-part-filter{gap:5px;margin-bottom:11px}.device-part-filter button{font-size:9px;padding:7px 9px;flex:1}
 .device-part-list{gap:9px}.device-part{padding:12px 11px;border-radius:7px}.device-part-top{grid-template-columns:20px 35px minmax(0,1fr);gap:7px;margin-bottom:8px}.part-number{width:20px;height:20px;font-size:9px;margin-top:6px}.part-seal-drawing,.part-seal-drawing svg,.part-seal-drawing img{width:35px;height:35px}.part-title h3{font-size:12px;line-height:1.4;letter-spacing:0}.part-title p,.part-title small,.part-title .part-oem{font-size:8px;line-height:1.6}.part-status{grid-column:3;font-size:8px;max-width:none;justify-self:start;padding:4px 6px}
 .part-measures{gap:5px 13px;padding:8px 0}.part-measures label,.part-measures>span{font-size:9px;gap:6px}.part-measures strong{font-size:11px}.catalog-match{padding:8px 9px;font-size:10px;gap:5px 8px}.catalog-sku{font-size:9px}.material-chip{font-size:7px}.catalog-match p{font-size:9px}.part-note{font-size:9px;line-height:1.7;margin-top:7px}.part-sources{font-size:9px}.part-sources summary{min-height:44px;padding:12px 0}.part-sources a{font-size:9px;padding:7px 0}.part-sources p{font-size:9px}
 .device-notice{font-size:9px;line-height:1.7;padding:11px 13px}.device-candidate-banner{font-size:10px;padding:10px 12px;margin:10px 0}.device-catalog-toggle{font-size:10px;padding:11px 13px;margin-top:14px}.device-filter-empty{font-size:11px;padding:22px 13px}
}
@media(max-width:380px){.device-header{grid-template-columns:72px minmax(0,1fr)}.device-illustration{height:80px}.device-summary h2{font-size:19px}.device-stats{margin-left:-83px}.device-stats button{padding:7px;gap:5px}.device-stats strong{font-size:20px}.device-stats span{font-size:7px}.device-part-filter button{font-size:8px;padding:6px}.device-map{grid-template-columns:1fr}.device-map>svg,.device-map>img,.device-map>.device-schematic{grid-row:auto}.device-map>h3,.device-map>small,.device-map>.device-hotspots{grid-column:1}.device-map .device-hotspots{justify-content:center}}
@media print{#deviceExplorer{margin:0}.device-options,.device-part-filter,.device-hotspots,.device-catalog-toggle{display:none!important}.device-workspace{border:0;box-shadow:none}.device-header{background:#fff;padding:12px 0;break-inside:avoid}.device-body{display:block;padding:12px 0}.device-map{position:static;max-width:300px;float:left;margin:0 20px 14px 0}.device-part{break-inside:avoid;margin-bottom:10px}.device-part-list{display:block}.device-notice{clear:both}.part-sources{display:block}.device-stats button{border:1px solid #ddd}.device-candidate-banner{break-inside:avoid}}

.device-option>span{min-width:0}.device-option>span strong,.device-option>span small{display:block}
.catalog-match.different-dimensions{background:#fbf2e8;border-color:#e7c7a4}.catalog-match.different-dimensions .material-chip{color:#8f5c31;border-color:#d6b18c}
.device-invitation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;border:1px solid var(--line);border-radius:10px;background:#eff3e6}.device-invitation h2{font-size:22px;margin:6px 0}.device-invitation p{font-size:12px;color:var(--muted);margin:8px 0}.device-invitation .device-option{min-width:260px}@media(max-width:680px){.device-invitation{display:block;padding:16px}.device-invitation .device-option{width:100%;min-width:0;margin-top:15px}}
