.iso-workspace .iso-panel-catalog{width:min(414px,calc(100% - 100px));max-width:414px}
.iso-parts-library{--part-metal:#d6e1e8;--part-hole:#f7fafb;--part-accent:#91cec6;--part-line:#385569}
.iso-parts-intro{padding:15px 16px;border-radius:12px;background:linear-gradient(125deg,#143e48,#142a3a);color:#eff9f8;margin-bottom:13px}
.iso-parts-intro .iso-eyebrow{color:#91dfd0;letter-spacing:1.3px;font-size:9px}.iso-parts-intro h3{font-size:22px;line-height:1.2;letter-spacing:-.6px;margin:8px 0}.iso-parts-intro p{color:#bed6dc;font-size:12px;line-height:1.6;margin:0}.iso-parts-auto{display:block;color:#a3e2d5;border-top:1px solid #ffffff21;padding-top:9px;margin-top:10px;font-size:11px}
.iso-workspace .iso-parts-intro h3{color:#eff9f8;text-transform:none;letter-spacing:-.6px}
.iso-parts-filters{display:grid;gap:8px}.iso-workspace .iso-parts-filters input,.iso-workspace .iso-parts-filters select{width:100%;font-size:12px;min-height:39px}.iso-parts-tip{font-size:11px;line-height:1.6;color:var(--iso-muted);margin:10px 2px 15px}.iso-parts-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.iso-parts-section{margin-bottom:19px}.iso-parts-section>h3{display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--iso-muted);margin:0 1px 9px}.iso-parts-section>h3 small{font-size:10px;font-weight:500;letter-spacing:0;padding:2px 5px;border:1px solid var(--iso-border);border-radius:4px}
.iso-parts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.iso-part-tile{position:relative;min-width:0}
.iso-workspace button.iso-part-card{display:flex;flex-direction:column;align-items:stretch;justify-content:start;width:100%;height:100%;min-height:124px;padding:7px 6px 10px;border-radius:10px;border:1px solid var(--iso-border);background:var(--iso-paper);box-shadow:0 2px 4px #15314a04;text-align:center;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;color:var(--iso-ink)}
.iso-workspace button.iso-part-card:hover{background:var(--iso-wash);border-color:#64b7af;box-shadow:0 3px 10px #157f8012}.iso-workspace button.iso-part-card:active{cursor:grabbing}.iso-part-picture{display:flex;justify-content:center;align-items:center;min-height:80px;margin:-1px 0 7px;background:linear-gradient(155deg,#f6f9fa,#edf3f5);border-radius:6px}.iso-part-picture>svg{display:block;width:88px;height:76px;max-width:100%;color:var(--part-line)}.iso-part-name{font-size:11px;font-weight:650;line-height:1.35;overflow-wrap:anywhere;display:block;padding:0 1px}
.iso-part-metal{fill:var(--part-metal,#d6e1e8)}.iso-part-hole{fill:var(--part-hole,#f7fafb)}.iso-part-accent{fill:var(--part-accent,#91cec6)}.iso-part-shadow{fill:#213f5210;stroke:none}
.iso-workspace button.iso-part-inspect{position:absolute;right:7px;top:7px;min-height:25px;padding:3px 5px;border-color:#67899755;border-radius:5px;font-size:9px;font-weight:750;color:#365b69;background:#f5fbfbea;line-height:1;opacity:0;transition:opacity .12s;cursor:pointer}.iso-part-tile:hover button.iso-part-inspect,.iso-part-tile:focus-within button.iso-part-inspect{opacity:1}
.iso-workspace button.iso-parts-advanced{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;font-size:11px;line-height:1.4;color:var(--iso-accent);padding:11px;margin-top:4px;background:var(--iso-wash)}.iso-parts-empty{font-size:12px;line-height:1.7;color:var(--iso-muted);padding:15px 3px}
.iso-workspace.iso-fittings-dragging .iso-panel-catalog{opacity:.12;pointer-events:none}.iso-workspace.iso-fittings-dragging .iso-panel-catalog *{pointer-events:none!important}.iso-workspace.iso-fittings-dragging,.iso-workspace.iso-fittings-dragging *{cursor:grabbing!important}.iso-workspace.iso-fittings-armed [data-iso-svg]{cursor:crosshair}
.iso-fitting-placement-layer{position:fixed;inset:0;z-index:2000;pointer-events:none;--part-metal:#c4d9dd;--part-hole:#eef8f7;--part-accent:#77c4b7;--part-line:#355962;--snap-color:#159b83}
.iso-fitting-snap-overlay{position:fixed;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:var(--snap-color)}.iso-fitting-snap-halo{stroke-width:13;opacity:.2;stroke-linecap:round;stroke-linejoin:round}.iso-fitting-snap-line{stroke-width:3;stroke-dasharray:5 5;stroke-linecap:round}.iso-fitting-snap-ring{fill:#e0faf3dc;stroke-width:2.5}.iso-fitting-snap-cross{stroke-width:2;stroke-linecap:round}
.iso-fitting-ghost{position:fixed;top:0;left:0;display:flex;align-items:center;gap:7px;width:174px;max-width:calc(100vw - 20px);padding:7px 11px 7px 6px;background:#102e3ded;color:#f2faf9;border:1px solid #61c6b4;border-radius:11px;box-shadow:0 8px 28px #102f4030;will-change:transform}.iso-fitting-ghost svg{width:46px;height:45px;flex:none;color:#93bdbb}.iso-fitting-ghost>span{font-size:11px;font-weight:650;line-height:1.35}
.iso-fitting-placement-banner{position:fixed;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 34px);padding:10px 12px;background:#102e3df5;color:#e9f8f6;border:1px solid #517a82;border-radius:12px;box-shadow:0 7px 24px #122f4029;font-size:12px;pointer-events:none}.iso-fitting-banner-icon>svg{display:block;width:39px;height:39px;color:#9ccecb}.iso-fitting-placement-banner>div{display:grid;gap:5px;min-width:0}.iso-fitting-placement-banner strong{font-size:12px;line-height:1.3}.iso-fitting-placement-banner [data-fitting-status]{font-size:11px;line-height:1.35;color:#b9dad6;max-width:430px}.iso-workspace .iso-fitting-placement-banner button{pointer-events:auto;color:#e4f4f2;border-color:#537980;background:#ffffff0a;padding:6px 9px;min-height:33px;font-size:11px;white-space:nowrap}.iso-fitting-placement-banner kbd{margin-left:4px;color:#aac4c7;font:9px inherit;opacity:.8}.iso-fitting-placement-layer[data-valid=false]{--snap-color:#cf8a39}.iso-fitting-placement-layer[data-valid=false] .iso-fitting-snap-ring{fill:#fff2ddd9}.iso-fitting-placement-layer[data-valid=false] .iso-fitting-ghost{border-color:#d4a15e}
html[data-qps-theme=dark] .iso-parts-library{--part-metal:#647f90;--part-hole:#233e4d;--part-accent:#4d9d92;--part-line:#a7c1ce}html[data-qps-theme=dark] .iso-part-picture{background:linear-gradient(155deg,#203745,#152c3b)}html[data-qps-theme=dark] .iso-workspace button.iso-part-inspect{color:#c8e7e4;background:#17333eea;border-color:#587f88}html[data-qps-theme=dark] .iso-workspace button.iso-part-card{background:#142b39;color:#dcecf2;border-color:#324e5e}html[data-qps-theme=dark] .iso-workspace button.iso-part-card:hover{background:#193642;border-color:#6ea49e}html[data-qps-theme=dark] .iso-part-shadow{fill:#07172040}
@media(hover:none){.iso-workspace button.iso-part-inspect{opacity:1}}
@media(max-width:700px){.iso-workspace .iso-panel-catalog{left:8px;right:8px;width:auto;max-width:none}.iso-parts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.iso-parts-intro{padding:12px}.iso-parts-intro h3{font-size:20px}.iso-fitting-placement-banner{gap:8px;padding:9px;max-width:calc(100% - 20px)}.iso-fitting-banner-icon{display:none}.iso-fitting-placement-banner [data-fitting-status]{font-size:10px;max-width:260px}.iso-fitting-placement-banner kbd{display:none}.iso-fitting-ghost{width:154px}}
@media(prefers-reduced-motion:reduce){.iso-workspace button.iso-part-inspect{transition:none}}
