.pipe-hidden{display:none!important}.pipe-switch{display:flex!important;align-items:center;gap:.65rem;font-size:1.08rem;font-weight:800;margin:.5rem 0}.pipe-switch input{width:1.25rem;height:1.25rem}.pipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:.8rem 0}.pipe-grid label{display:flex;flex-direction:column;gap:.3rem}.pipe-grid input,.pipe-grid select,.pipe-accessory-row input,.pipe-accessory-row select{width:100%;box-sizing:border-box}.pipe-info{background:#111827;border:1px solid #374151;border-left:4px solid #ff6a00;border-radius:10px;padding:.85rem;margin:.8rem 0}.pipe-appliances{display:grid;gap:.45rem;margin:.6rem 0 1rem}.pipe-appliance{display:grid!important;grid-template-columns:1fr minmax(120px,180px) 90px;gap:.6rem;align-items:center;padding:.55rem .7rem;border:1px solid #374151;border-radius:9px;background:#111827}.pipe-appliance.used{opacity:.65}.pipe-appliance b{font-size:.82rem;color:#86efac}.pipe-appliance:not(.used) b{color:#fbbf24}.pipe-accessory-row{display:grid;grid-template-columns:1fr 90px auto;gap:.6rem;align-items:end;margin:.7rem 0}.pipe-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.55rem 0}.pipe-chips button{padding:.35rem .55rem;background:#252525;border:1px solid #555;border-radius:999px;color:#fff}.pipe-table{min-width:1050px}.pipe-table td,.pipe-table th{vertical-align:top}.pipe-table button{padding:.35rem .55rem}.pipe-ok{color:#86efac;font-weight:700}.pipe-bad{color:#fca5a5;font-weight:700}.pipe-warn{color:#fbbf24;font-weight:700}.pipe-feeds{border:1px solid #475569;border-radius:10px;margin:.8rem 0;padding:.75rem}.pipe-feeds legend{font-weight:800}.pipe-feeds #edgeFeeds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.pipe-feeds label{display:flex;gap:.45rem;align-items:center;background:#111827;border-radius:7px;padding:.45rem}.pipe-feeds input{width:1.05rem;height:1.05rem}.pipe-diameter-ok{background:#064e3b!important;color:#bbf7d0!important;font-weight:800}.pipe-diameter-bad{background:#7f1d1d!important;color:#fecaca!important;font-weight:800}.pipe-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.pipe-toolbar button,.pipe-toolbar select{min-height:40px}.pipe-block-library{display:flex;gap:.45rem;align-items:center;overflow:auto;padding:.5rem;background:#0b1220;border:1px solid #334155;border-radius:10px}.pipe-block-library span{display:grid;grid-template-columns:52px auto;align-items:center;gap:.25rem;min-width:125px;padding:.3rem .45rem;border:1px solid #475569;border-radius:8px}.pipe-block-library svg{width:48px;height:32px;fill:none;stroke:#f59e0b;stroke-width:1.5}.pipe-canvas{height:560px;position:relative;overflow:auto;border:1px solid #475569;border-radius:12px;background-color:#07111f;background-image:linear-gradient(30deg,#172033 1px,transparent 1px),linear-gradient(150deg,#172033 1px,transparent 1px),linear-gradient(90deg,#172033 1px,transparent 1px);background-size:50px 29px;margin:.7rem 0}.pipe-canvas[data-view="plan"]{background-image:linear-gradient(#172033 1px,transparent 1px),linear-gradient(90deg,#172033 1px,transparent 1px);background-size:25px 25px}.pipe-canvas.pipe-full{position:fixed;z-index:99999;inset:8px;width:auto;height:auto;margin:0;background-color:#07111f}.pipe-canvas svg,.pipe-canvas #pipeDiagram{position:absolute;inset:0;width:100%;height:100%;transform-origin:0 0}.pipe-canvas svg{pointer-events:none;overflow:visible}.pipe-canvas line{stroke-width:5;stroke-linecap:round}.pipe-canvas line.ok{stroke:#22c55e}.pipe-canvas line.bad{stroke:#ef4444}.pipe-canvas text{fill:#e2e8f0;font-size:12px;text-anchor:middle}.pipe-diagram-node{position:absolute!important;z-index:2;width:128px;min-height:72px;padding:.3rem!important;cursor:grab;touch-action:none;border-radius:10px!important;border:2px solid #38bdf8!important;background:#0f172a!important;color:#fff!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center}.pipe-diagram-node svg{position:static!important;width:68px!important;height:44px!important;fill:none;stroke:#38bdf8;stroke-width:1.8;transform:none!important}.pipe-diagram-node.app{border-color:#f59e0b!important}.pipe-diagram-node.app svg{stroke:#f59e0b}.pipe-diagram-node span{font-size:11px;line-height:1.1}.pipe-diagram-node:active{cursor:grabbing}@media(max-width:760px){.pipe-grid{grid-template-columns:1fr}.pipe-appliance{grid-template-columns:1fr}.pipe-accessory-row{grid-template-columns:1fr 90px}.pipe-accessory-row button{grid-column:1/-1}.pipe-feeds #edgeFeeds{grid-template-columns:1fr}.pipe-canvas{height:620px}}
/* Visible escape control while the drawing canvas occupies the screen. */
.pipe-full-exit{display:none;position:fixed;z-index:100002;top:20px;right:24px;background:#ea580c!important;color:#fff!important;border:1px solid #fdba74!important}.pipe-canvas.pipe-full .pipe-full-exit{display:block}
/* Interactive isometric pipe network. */
.pipe-canvas #pipeSvg{pointer-events:auto;z-index:1}.pipe-canvas #pipeDiagram{pointer-events:none;z-index:2}.pipe-diagram-node{pointer-events:auto}.pipe-canvas path.ok{stroke:#22c55e}.pipe-canvas path.bad{stroke:#ef4444}.pipe-canvas .pipe-line-group>path:not(.pipe-line-hit){fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.pipe-line-hit{fill:none;stroke:transparent;stroke-width:22;cursor:pointer;pointer-events:stroke}.pipe-line-group:hover>path:not(.pipe-line-hit){stroke:#fbbf24}.pipe-acc-symbol circle{fill:#0f172a;stroke:#f59e0b;stroke-width:2}.pipe-acc-symbol text{font-size:7px;fill:#fff}.pipe-canvas[data-view="axo"] .pipe-diagram-node.node{border-color:#f59e0b!important}.pipe-canvas[data-view="axo"] .pipe-diagram-node.node svg{stroke:#f59e0b}
/* Sequential construction of scaled pipe routes. */
.pipe-route-builder{margin-top:1rem;padding:1rem;border:1px solid #475569;border-left:4px solid #38bdf8;border-radius:10px;background:#07111f}.pipe-route-builder h4{margin:.1rem 0 .45rem}.pipe-route-parts{display:grid;gap:.35rem;margin-top:.75rem}.pipe-route-parts>div{padding:.45rem .6rem;border:1px solid #334155;border-radius:7px;background:#0f172a}.pipe-canvas{user-select:none}.pipe-canvas:has(.pipe-diagram-node):active{cursor:grabbing}
/* Diagram reset and element deletion controls. */
.pipe-toolbar .pipe-danger{background:#991b1b!important;border-color:#ef4444!important;color:#fff!important}.pipe-diagram-node.selected{outline:4px solid #fde047!important;outline-offset:3px;box-shadow:0 0 0 7px rgba(253,224,71,.18)!important}
/* Axonometric volume, orientation and connection ports. */
.pipe-diagram-node.isometric-3d{background:linear-gradient(145deg,#1e293b 0 54%,#0b1220 55% 100%)!important;box-shadow:8px 8px 0 #020617,9px 9px 0 #475569!important;transform-style:preserve-3d}.pipe-diagram-node.isometric-3d svg{filter:drop-shadow(5px 5px 0 rgba(0,0,0,.55));transition:transform .2s ease}.pipe-diagram-node[data-diagram^="app:"] .connection-port{display:block;position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border:3px solid #f97316;border-radius:50%;background:#111827;transform-origin:center;z-index:5}.pipe-canvas[data-view="plan"] .pipe-diagram-node{box-shadow:none!important;background:#0f172a!important}.pipe-canvas[data-view="plan"] .pipe-diagram-node svg{filter:none}.pipe-acc-symbol{transform-box:fill-box;transform-origin:center}.pipe-acc-symbol circle{stroke-width:3}.pipe-acc-symbol:after{content:''}
/* Full-width CAD drafting presentation. */
main.wrap{width:100%!important;max-width:none!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box}.pipe-card{width:100%!important;max-width:none!important;box-sizing:border-box}.pipe-canvas{height:76vh;min-height:720px;background:#000!important;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)!important;background-size:40px 40px!important;border-color:#4b5563!important;border-radius:2px!important}.pipe-block-library{background:#080808!important;border-color:#374151!important}.pipe-diagram-node,.pipe-diagram-node.isometric-3d{width:112px!important;min-height:82px!important;padding:3px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important}.pipe-diagram-node svg,.pipe-diagram-node.app svg,.pipe-diagram-node.isometric-3d svg{width:86px!important;height:58px!important;stroke:#f8fafc!important;stroke-width:1.25!important;filter:none!important}.pipe-diagram-node span{font:11px Consolas,'Courier New',monospace!important;color:#f8fafc;text-shadow:0 1px #000}.pipe-diagram-node.node span,.pipe-diagram-node.regulator span,.pipe-diagram-node.source span{color:#ef4444!important;font-size:13px!important}.pipe-diagram-node.selected{outline:1px dashed #22d3ee!important;outline-offset:5px;box-shadow:none!important}.pipe-diagram-node[data-diagram^="app:"] .connection-port{width:8px;height:8px;border:2px solid #00ff4c;background:#001a08;box-shadow:0 0 7px #00ff4c}.pipe-canvas path.ok,.pipe-canvas path.bad,.pipe-canvas .pipe-line-group:hover>path:not(.pipe-line-hit){stroke:#ef2424!important;stroke-width:2!important}.pipe-line-hit{stroke-width:18!important}.pipe-canvas text{font-family:Consolas,'Courier New',monospace;font-size:11px;fill:#f8fafc}.pipe-canvas .route-dimension{fill:#ff2b2b;font-size:11px;letter-spacing:.3px}.pipe-acc-symbol circle{fill:#000!important;stroke:#ef2424!important;stroke-width:1.5!important}.pipe-acc-symbol text{fill:#ff3030!important}.pipe-canvas[data-view="plan"]{background:#000!important;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)!important;background-size:40px 40px!important}@media(max-width:900px){main.wrap{padding-left:8px!important;padding-right:8px!important}.pipe-canvas{min-height:600px;height:70vh}}
/* Break out of the embedded calculator column and enable port-to-port drafting. */
.pipe-card{position:relative!important;left:50%!important;width:calc(100vw - 18px)!important;max-width:none!important;margin-left:calc(-50vw + 9px)!important;margin-right:0!important;padding-left:22px!important;padding-right:22px!important}.cad-port{position:absolute!important;left:50%!important;top:50%!important;width:14px!important;height:14px!important;min-height:0!important;margin:-7px!important;padding:0!important;border:2px solid #00ff59!important;border-radius:50%!important;background:#001a08!important;box-shadow:0 0 8px #00ff59!important;z-index:12!important;transform:rotate(var(--port-angle)) translateX(54px)!important;transform-origin:center!important;cursor:crosshair!important}.cad-port[data-port-role="in"]{border-color:#38bdf8!important;box-shadow:0 0 7px #38bdf8!important;background:#001827!important}.cad-preview{fill:none;stroke:#22d3ee;stroke-width:2;stroke-dasharray:7 5;pointer-events:none}.pipe-diagram-node.endpoint{width:34px!important;min-height:34px!important}.pipe-diagram-node.endpoint svg{display:none}.cad-endpoint-menu{position:absolute;z-index:30;left:34px;top:-20px;width:190px;padding:8px;background:#111827;border:1px solid #22d3ee;border-radius:6px;display:grid;gap:4px;color:#fff}.cad-endpoint-menu b{font-size:12px}.cad-endpoint-menu button{min-height:30px!important;padding:4px 7px!important;text-align:left!important;background:#1f2937!important;border:1px solid #475569!important;color:#fff!important}.cad-endpoint-menu button:hover{background:#b91c1c!important}.pipe-toolbar{position:sticky;top:0;z-index:40;background:#090909;padding:8px;border-bottom:1px solid #374151}
.pipe-diagram-node.endpoint span{display:none!important}.pipe-diagram-node.endpoint{border:0!important;outline:0!important}.pipe-diagram-node.endpoint .cad-port{transform:none!important;left:50%!important;top:50%!important;width:16px!important;height:16px!important}.pipe-diagram-node.node svg{stroke:#ef2424!important}.pipe-diagram-node.node .cad-port{border-color:#ff3030!important;box-shadow:0 0 6px #ff3030!important}.cad-endpoint-menu:before{content:'Clic derecho';display:block;font:10px Consolas;color:#94a3b8}
/* V18: native fullscreen drafting, contextual properties and persistent controls. */
.pipe-edge-floating{display:block!important;position:fixed!important;z-index:100006!important;width:min(380px,calc(100vw - 20px))!important;max-height:calc(100vh - 20px);overflow:auto;margin:0!important;padding:14px!important;background:#0b0b0b!important;border:1px solid #22d3ee!important;border-radius:8px!important;box-shadow:0 14px 45px #000!important}
.pipe-card:fullscreen,.pipe-card.native-full{width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;left:0!important;padding:0!important;background:#000!important;overflow:hidden!important}
.pipe-card:fullscreen .pipe-toolbar,.pipe-card.native-full .pipe-toolbar{display:flex!important;position:fixed!important;left:8px!important;right:8px!important;top:8px!important;z-index:100005!important;max-height:58px;overflow:auto;background:#090909!important;border:1px solid #374151!important}
.pipe-card:fullscreen .pipe-canvas,.pipe-card.native-full .pipe-canvas,.pipe-card:fullscreen .pipe-canvas.pipe-full,.pipe-card.native-full .pipe-canvas.pipe-full{display:block!important;position:fixed!important;left:8px!important;right:8px!important;top:76px!important;bottom:8px!important;inset:76px 8px 8px!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;z-index:100001!important}
.pipe-card:fullscreen .pipe-full-exit,.pipe-card.native-full .pipe-full-exit{display:block!important;top:15px!important;right:18px!important;z-index:100007!important}
.pipe-card:fullscreen .cad-endpoint-menu,.pipe-card.native-full .cad-endpoint-menu{z-index:100008!important}

