:root{--font-ui:"Archivo", "Helvetica Neue", Arial, sans-serif;--font-data:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--bg:#e7eae6;--panel:#f7f9f6;--panel2:#eff2ed;--ink:#161a16;--ink2:#4b534a;--muted:#7c857a;--line:#cbd1c7;--line2:#dde2d9;--cut:#cf3218;--cut-soft:#cf32181f;--warn:#a8600c;--ok:#2f7d4f;--grid:#161a160e;--focus:#cf3218;--s1:4px;--s2:8px;--s3:12px;--s4:18px;--r-sm:3px;--r-md:5px;--elev:0 6px 20px #00000024}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111411;--panel:#191d19;--panel2:#141814;--ink:#e6ebe4;--ink2:#b6bfb2;--muted:#8a947f;--line:#333b31;--line2:#262d25;--cut:#ff6244;--cut-soft:#ff624426;--warn:#d6a33f;--ok:#5fbf85;--grid:#e6ebe40d;--focus:#ff6244}}:root[data-theme=dark]{--bg:#111411;--panel:#191d19;--panel2:#141814;--ink:#e6ebe4;--ink2:#b6bfb2;--muted:#8a947f;--line:#333b31;--line2:#262d25;--cut:#ff6244;--cut-soft:#ff624426;--warn:#d6a33f;--ok:#5fbf85;--grid:#e6ebe40d;--focus:#ff6244}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}.mono{font-family:var(--font-data);font-variant-numeric:tabular-nums}.pista{font-family:var(--font-ui);color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.app{flex-direction:column;height:100%;display:flex}.top{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;flex:none;align-items:center;gap:4px 7px;padding:7px 12px 8px;display:flex}.fila-break{flex-basis:100%;order:5;height:0;margin-block:-2px}.espacios,.acciones-rapidas{order:10}.espacios{margin-left:0}.acciones-rapidas{margin-left:auto}.brand{letter-spacing:-.015em;font-size:18px;font-weight:700}.brand span{color:var(--cut)}.tag{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:10.5px}.spacer{flex:1}.statbar{gap:22px;margin:0;display:flex}.calculando{white-space:nowrap;letter-spacing:.04em;color:var(--muted);align-self:center;font-size:11px;animation:1.2s ease-in-out infinite calculando}@keyframes calculando{50%{opacity:.45}}.stat dt{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:9px}.stat dd{letter-spacing:-.01em;margin:1px 0 0;font-size:16px;font-weight:500}.stat dd small{color:var(--muted);margin-left:2px;font-size:10.5px;font-weight:400}.shell{grid-template-columns:var(--left-rail,288px) 5px minmax(0, 1fr) 5px var(--right-rail,300px);flex:1;min-height:0;display:grid}@media (width<=1240px){.shell{grid-template-columns:var(--left-rail,288px) 5px minmax(0, 1fr)}.rail.derecha,.derecha-split{display:none}}@media (width<=900px){.shell{grid-template-columns:1fr}}.splitter{cursor:col-resize;background:var(--line2);z-index:5;position:relative}.splitter:hover,.splitter:active{background:var(--cut)}.rail{border-right:1px solid var(--line);background:var(--panel);padding-bottom:32px;overflow-y:auto}.rail[hidden]{display:none}.rail.derecha{flex-direction:column;gap:6px;padding:8px;display:flex}.rail.derecha .biblioteca{padding:0}.rail.derecha>*{flex-shrink:0}.group{border-bottom:1px solid var(--line2);flex-direction:column;gap:12px;padding:15px 18px;display:flex}.group h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500}.note{color:var(--muted);margin:0;font-size:11.5px;line-height:1.45}.ctl{grid-template-columns:1fr auto;align-items:center;gap:2px 10px;display:grid}.ctl label{color:var(--ink2);font-size:12.5px}.ctl .valor{color:var(--ink);background:var(--panel2);border:1px solid var(--line2);text-align:right;border-radius:2px;width:74px;min-width:0;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500}.ctl .valor:hover{border-color:var(--line)}.ctl .valor:focus{border-color:var(--cut);color:var(--cut);outline:none}.ctl input[type=range]{width:100%;accent-color:var(--cut);grid-column:1/-1;margin:2px 0 0}.row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.row select{text-overflow:ellipsis;flex:0 auto;min-width:0}.row input[type=range]{flex:40px;min-width:0}.row label{color:var(--ink2);font-size:12.5px}select{color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:2px;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:11.5px}input[type=checkbox]{accent-color:var(--cut);width:15px;height:15px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.stage{flex-direction:column;min-width:0;min-height:0;display:flex}.block{border-bottom:1px solid var(--line);flex-direction:column;display:flex}.lienzo{border-bottom:0;flex:1;min-height:0}.pane{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.pane[hidden]{display:none}.pane>.sheetwrap{flex:1;overflow:auto}.block-head{border-bottom:1px solid var(--line2);background:var(--panel);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex}.block-head h2{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500}.hint{color:var(--muted);font-size:11.5px}.explode{align-items:center;gap:9px;min-width:190px;display:flex}.explode label{color:var(--ink2);white-space:nowrap;font-size:11.5px}.explode input{accent-color:var(--cut);flex:1}.viewport{background:linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 24px 24px, var(--panel2);flex:1;min-height:260px;position:relative}.lazo{pointer-events:none;z-index:2;border:1px dashed var(--cut);background:var(--cut-soft);position:absolute}.viewport canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.parts{background:var(--panel);flex-wrap:wrap;gap:6px;padding:10px 20px;display:flex}.part,button{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:2px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:10.5px}button:hover:not(:disabled){border-color:var(--cut);color:var(--cut)}button:disabled{opacity:.4;cursor:not-allowed}.part.on,.tabs button.on,.block-head>button.on{background:var(--cut-soft);border-color:var(--cut);color:var(--cut)}.part.off{opacity:.38;text-decoration:line-through}.tabs{gap:4px;display:flex}.seleccion-rapida{border:1px solid var(--line);background:var(--panel2);border-radius:4px;align-items:center;gap:5px;padding:3px 5px;display:flex}.seleccion-rapida>span{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:600;overflow:hidden}.seleccion-rapida button{padding:3px 6px}.context-menu{z-index:100;border:1px solid var(--line);background:var(--panel);border-radius:6px;min-width:150px;padding:4px;position:fixed;box-shadow:0 12px 34px #0000003d}.context-menu button{text-align:left;background:0 0;border:0;width:100%;padding:7px 10px;display:block}.context-menu button:hover{background:var(--panel2)}.modal-fondo{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a0894;place-items:center;display:grid;position:fixed;inset:0}.tutorial{border:1px solid var(--line);background:var(--panel);border-radius:12px;width:min(480px,100vw - 32px);padding:34px;position:relative;box-shadow:0 24px 70px #00000052}.tutorial h2{letter-spacing:-.03em;margin:5px 0 18px;font-size:25px}.tutorial ol{color:var(--ink2);gap:10px;margin:0 0 24px;padding-left:22px;display:grid}.tutorial .paso{color:var(--cut);letter-spacing:.16em;font:600 10px IBM Plex Mono,monospace}.tutorial .cerrar{background:0 0;border:0;font-size:20px;position:absolute;top:12px;right:12px}.tutorial .principal{color:#fff;background:var(--cut);border-color:var(--cut);width:100%;padding:10px}.modal-fondo.bienvenida-fondo{z-index:200;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.bienvenida{border:1px solid var(--line);background:var(--panel);border-radius:12px;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);width:min(1120px,100vw - 32px);max-height:calc(100vh - 32px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000038}.bienvenida .cerrar{z-index:1;background:0 0;border:0;font-size:20px;position:absolute;top:10px;right:12px}.bv-imagen{border-right:1px solid var(--line);background:#fff;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex}.bv-imagen img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:calc(100vh - 80px);display:block}.bv-lado{flex-direction:column;gap:18px;padding:34px 28px 28px;display:flex;overflow:auto}.bv-marca{align-items:center;gap:14px;display:flex}.bv-marca img{width:48px;height:48px}.bv-marca h2{letter-spacing:-.02em;margin:0;font-size:26px}.bv-marca h2 .marca-kerf{color:var(--cut)}.bv-lema{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:2px 0 0;font:500 11px IBM Plex Mono,monospace}.bv-continuar{color:#fff;background:var(--cut);border-color:var(--cut);padding:11px;font-weight:600}.bv-continuar:hover{filter:brightness(1.08)}.bv-acciones{gap:6px;display:grid}.bv-ayuda{border-top:1px solid var(--line);padding-top:14px}.bv-accion{text-align:left;border-color:var(--line);background:0 0;gap:2px;padding:9px 12px;display:grid}.bv-accion:hover{border-color:var(--cut);background:var(--panel2)}.bv-accion strong{font-size:14px}.bv-accion span{color:var(--muted);text-transform:none;letter-spacing:normal;font-size:12px;font-weight:400}@media (width<=760px){.bienvenida{grid-template-columns:1fr;overflow:auto}.bv-imagen{border-right:0;border-bottom:1px solid var(--line)}.bv-imagen img{max-height:40vh}}.tutorial.soporte{width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}.soporte h2 .marca-kerf{color:var(--cut)}.soporte h2 .version{color:var(--muted);letter-spacing:0;margin-left:6px;font-size:13px;font-weight:500}.soporte h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px;font-size:11px}.soporte .funcion{color:var(--ink2);margin:0;line-height:1.45}.soporte .autores,.soporte .novedades{gap:8px;margin:0;padding:0;list-style:none;display:grid}.soporte .autores li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.soporte .whatsapp{border-color:var(--ok);color:var(--ok);background:0 0;padding:5px 10px}.soporte .whatsapp:hover{background:var(--ok);color:#fff}.soporte .novedades li{color:var(--ink2);padding-left:14px;position:relative}.soporte .novedades li:before{content:"·";color:var(--cut);font-weight:700;position:absolute;left:3px}.soporte .sitio{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;display:flex}.soporte .enlace{color:var(--cut);background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.soporte .provisional{color:var(--cut);font:600 10px var(--font-data);letter-spacing:.08em;text-transform:uppercase}.soporte .nota{color:var(--muted);margin:6px 0 0;font-size:12px}.soporte .principal{margin-top:20px}.ui-basica .advanced-only,.ui-basica [data-advanced=true]{display:none!important}button,select,textarea,input,.part,button,.group h3,.block-head h2,.grupo-barra,.biblioteca>h3,.biblioteca .titulo,.gaveta .titulo,.tag,.stat dt,.chip,.node-name .kind,.node-name .count{font-family:var(--font-ui)}.ctl .valor,.stat dd,.angulo select,input[type=number],.esquinas input,.medida,.regla-texto,.cota-texto{font-family:var(--font-data);font-variant-numeric:tabular-nums}.group .nota{color:var(--muted);margin:0;font-size:11.5px;line-height:1.45}.esquinas .row>label{font-family:var(--font-ui);font-size:11.5px}.top{min-height:0;box-shadow:0 1px #0000000a}.top>.espacios{background:0 0;border-color:#0000;padding:0}.top>.espacios button{min-height:36px;padding-block:5px}.top>.acciones-rapidas{padding-right:4px}.rail{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.group{padding-block:17px}.group+.group{border-top:0}button,select,input{transition:border-color .12s,background-color .12s,color .12s,opacity .12s}button{border-radius:4px}.node.on{background:var(--cut-soft);box-shadow:inset 3px 0 var(--cut)}.node.off{opacity:.46}.node .isolate{background:0 0;border-color:#0000;padding-inline:6px}@media (width<=1240px){.shell{grid-template-columns:var(--left-rail,288px) 5px minmax(0, 1fr)!important}.rail.derecha,.derecha-split{display:none!important}}@media (width<=1400px){.top>.tag,.top>.statbar,.top>.chip:not(.alarma){display:none}}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)!important}.shell>.rail,.shell>.splitter{display:none!important}.top{gap:6px;padding-inline:10px}.espacios .sub,.tag,.statbar{display:none}}.icono{flex:none;display:block}.tabs.iconos button,.boceto-barra.herramientas button{align-items:center;gap:6px;display:inline-flex}.espacios{border:1px solid var(--line);background:var(--panel2);border-radius:4px;flex:none;gap:2px;padding:2px;display:flex}.espacios button{text-transform:none;letter-spacing:0;color:var(--ink2);background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:8px;padding:7px 14px;font-family:inherit;font-size:13px;display:flex}.espacios button .que{font-weight:600}.espacios button .sub{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:9.5px}.espacios button:hover:not(:disabled){color:var(--ink);background:var(--panel)}.espacios button.on{background:var(--cut);border-color:var(--cut);color:var(--panel)}.espacios button.on .sub{color:var(--panel);opacity:.75}.espacios button.on:hover{background:var(--cut);color:var(--panel)}.archivo{flex:none;align-items:center;gap:6px;display:flex}.menu{position:relative}.menu>button{align-items:center;gap:6px;display:inline-flex}.menu>button .flecha{opacity:.6;font-size:9px}.menu>button.on{border-color:var(--ink2);color:var(--ink)}.menu-caja{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:2px;min-width:216px;padding:4px;display:flex;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 6px 20px #00000024}.menu-caja button{letter-spacing:0;text-transform:none;width:100%;color:var(--ink);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:3px;align-items:center;gap:9px;padding:7px 9px;font-family:inherit;font-size:13px;display:flex}.menu-caja button .que{flex:1}.menu-caja button .atajo{letter-spacing:.06em;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:10px}.menu-caja button:hover:not(:disabled){background:var(--panel2);color:var(--ink)}.boceto-barra.herramientas button.lista{border-color:var(--ok);color:var(--ok)}.boceto-barra.herramientas button.lista:hover:not(:disabled){background:var(--ok);border-color:var(--ok);color:var(--panel)}.grupo-barra{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:10.5px;display:inline-flex}.boceto-barra .grupo.activa{color:var(--cut);align-items:center;gap:5px;display:inline-flex}.chip.alarma{color:var(--cut);border-color:var(--cut);background:var(--cut-soft)}.tema select,.angulo select{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:2px;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.boceto{background:var(--panel2);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.boceto-barra,.boceto-pie{background:var(--panel);border-bottom:1px solid var(--line2);flex-wrap:nowrap;align-items:center;gap:10px;padding:8px 20px;display:flex}.boceto-barra>.hint{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.boceto-barra>button,.boceto-barra>.radio-punto{flex:none}.boceto-barra>.spacer{flex:auto;min-width:0}.boceto-barra.herramientas{border-bottom-color:var(--line);flex-wrap:wrap;row-gap:6px}.boceto-barra.herramientas button.on{color:var(--panel);background:var(--cut);border-color:var(--cut)}.boceto-barra .grupo{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none;font-family:IBM Plex Mono,monospace;font-size:10.5px}.boceto-barra .small{color:var(--muted);font-size:11px}.boceto-barra.herramientas .radio-punto input{text-align:center;width:52px}.boceto-barra.herramientas button.neutro{border-right:1px solid var(--line);margin-right:4px;padding-right:12px}.boceto-barra.opciones{background:var(--panel2);gap:8px;min-height:30px;padding-top:5px;padding-bottom:5px}.boceto-barra.opciones button.on{color:var(--panel);background:var(--ink2);border-color:var(--ink2)}.boceto-barra.opciones .radio-punto input{text-align:right;width:58px}.marquesina{fill:var(--cut-soft);stroke:var(--cut);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.previa{fill:var(--cut-soft);stroke:var(--cut);stroke-width:1.4px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}.previa-ancla{fill:var(--cut);stroke:none;pointer-events:none}.boceto-pie{border-bottom:0;border-top:1px solid var(--line2);font-size:11.5px}.boceto-pie .malo{color:var(--cut)}.sketch-canvas{cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;background:#cfd2d3;flex:1;width:100%;min-height:0;display:block}.sketch-canvas.infinito{background:#fff}.hoja-boceto{fill:#fff;stroke:#8c9295;stroke-width:1px;vector-effect:non-scaling-stroke}:root[data-theme=dark] .sketch-canvas{--grid:#b7b3ab;background:#202425}:root[data-theme=dark] .sketch-canvas.infinito{background:#d8d4cc}:root[data-theme=dark] .hoja-boceto{fill:#d8d4cc;stroke:#77736c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sketch-canvas{--grid:#b7b3ab;background:#202425}:root:not([data-theme=light]) .sketch-canvas.infinito{background:#d8d4cc}:root:not([data-theme=light]) .hoja-boceto{fill:#d8d4cc;stroke:#77736c}}.rejilla-linea{fill:none;stroke:var(--grid);stroke-width:.4px}.eje{stroke:var(--line);stroke-width:.5px;vector-effect:non-scaling-stroke}.curva-base{fill:none;stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;opacity:.55}.curva{fill:none;stroke:var(--cut);stroke-width:1.6px;vector-effect:non-scaling-stroke}.curva.cerrada{fill:var(--cut-soft)}.cota-input{border:1px solid var(--line);background:var(--panel);width:100%;height:100%;color:var(--ink);text-align:center}.cota-borrar{fill:var(--cut);cursor:pointer;font-weight:700}.pieza{fill:var(--cut-soft);stroke:none;pointer-events:none}.pieza.rota{fill:none}.contorno{fill:none;stroke:var(--cut);stroke-width:1.4px;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.75}.contorno.on{opacity:1;stroke-width:1.9px}.contorno.resta{stroke:var(--warn);stroke-dasharray:6 3}.contorno.elegida{stroke:var(--ok);stroke-width:2.6px;opacity:1}.contorno.trabada{opacity:.5}.punto.trabado{opacity:.35}.cota-viva{z-index:4;pointer-events:none;background:var(--ink);color:var(--panel);letter-spacing:.04em;white-space:nowrap;border-radius:10px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;position:absolute;box-shadow:0 1px 3px #0003}.manija path{stroke:var(--ok);stroke-width:1.2px;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}.manija circle{fill:var(--panel);stroke:var(--ok);stroke-width:1.4px;vector-effect:non-scaling-stroke}.manija circle.ancla{fill:var(--ok)}.manija.puesta circle{cursor:grab}.ref-caja rect{fill:none;stroke:var(--muted);stroke-width:1px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;pointer-events:none}.ref-caja .punta{fill:var(--panel);stroke:var(--muted);stroke-width:1.4px;vector-effect:non-scaling-stroke;cursor:nwse-resize}.ref-caja .punta:hover{stroke:var(--ink2)}.boton-archivo{cursor:pointer;color:var(--ink2);background:var(--panel);border:1px solid var(--line);align-items:center;padding:4px 10px;font-size:11.5px;display:inline-flex}.boton-archivo:hover{border-color:var(--ink2)}.boton-archivo input{display:none}.boceto-barra,.boceto-pie{-webkit-user-select:none;user-select:none}.punto.resta{stroke:var(--warn)}.punto.resta.on{fill:var(--warn)}.previa.resta{stroke:var(--warn);fill:none}.boceto-barra .modo{flex:none;gap:0;display:flex}.boceto-barra .modo button{border-radius:0}.boceto-barra .modo button:first-child{border-radius:2px 0 0 2px}.boceto-barra .modo button:last-child{border-left:0;border-radius:0 2px 2px 0}.boceto-barra .modo button.on{color:var(--panel);background:var(--warn);border-color:var(--warn)}.boceto-barra .modo button:last-child.on{background:var(--cut);border-color:var(--cut)}.punto{fill:var(--panel);stroke:var(--cut);stroke-width:1.2px;vector-effect:non-scaling-stroke;pointer-events:none}.agarre{fill:#0000;stroke:none;pointer-events:all;cursor:grab}.punto.esquina{fill:var(--panel)}.punto.on{fill:var(--cut)}.punto.cierra{fill:var(--ok);stroke:var(--ok);cursor:pointer}.punto.redondo{stroke-width:2.4px}.guia{fill:none;stroke:var(--ok);stroke-width:1px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}.guia-cota{fill:var(--ok);dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:IBM Plex Mono,monospace}.guia-vertice{fill:none;stroke:var(--ok);stroke-width:1.6px;vector-effect:non-scaling-stroke;pointer-events:none}.osnap{pointer-events:none}.osnap rect,.osnap circle,.osnap path{fill:none;stroke:var(--warn,#e0a33e);stroke-width:1.6px;vector-effect:non-scaling-stroke}.radio-punto{color:var(--ink2);align-items:center;gap:6px;font-size:11.5px;display:flex}.radio-punto input{text-align:right;width:62px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:2px;padding:3px 5px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.radio-punto input:disabled{opacity:.45}button.mini{white-space:nowrap;min-width:62px;padding:2px 5px;font-size:9.5px}button.mini:disabled{opacity:.5}.radio-punto .mono{min-width:62px;color:var(--muted)}.pista{fill:none;stroke:var(--cut);stroke-width:1.2px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;pointer-events:none}.curva.rota{stroke:var(--warn);stroke-dasharray:6 3}.curva.rota.cerrada{fill:none}.libreria{flex-direction:column;gap:7px;display:flex}.libreria .fila{gap:5px;display:flex}.libreria .fila button{white-space:nowrap;flex:1}.comp{border:1px solid var(--line2);background:var(--panel2);border-radius:2px;align-items:center;gap:8px;padding:5px 8px;display:flex}.comp .nombre{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.comp .cuenta{letter-spacing:.1em;color:var(--muted);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:9px}.comp button{padding:2px 6px}.comp.vacia{color:var(--muted);border-style:dashed;justify-content:center;font-size:11.5px}.sheetwrap{background:var(--panel2);padding:16px 20px 22px;overflow-x:auto}.sheet{width:100%;max-width:1100px;height:auto;margin:0 auto;display:block}.sheet-face{fill:var(--panel);stroke:var(--line);stroke-width:.6px}.sheet-usable{fill:none;stroke:var(--line2);stroke-width:.4px;stroke-dasharray:3 3}.piece path{fill:var(--cut-soft);stroke:var(--cut);stroke-width:.25px;vector-effect:non-scaling-stroke;cursor:pointer}.piece.on path{fill:var(--cut);fill-opacity:.3;stroke-width:.6px}.piece path.open-cut{fill:none;stroke:var(--cut);stroke-width:.25px}.piece.on path.open-cut{fill:none;stroke-width:.5px}.piece path.engrave{fill:none;stroke:var(--ink2);stroke-width:.2px;opacity:.7}.piece-label{fill:var(--muted);letter-spacing:.5px;text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:IBM Plex Mono,monospace}.sheet-vista{position:relative}.sheet-vista .sheet{touch-action:none;cursor:grab}.sheet-vista.midiendo .sheet,.sheet-vista.midiendo .piece path{cursor:crosshair}.sheet-herramientas{z-index:2;justify-content:flex-end;gap:4px;max-width:1100px;margin:0 auto 8px;display:flex;position:sticky;top:0}.sheet-herramientas button{min-width:30px;padding:4px 9px;font-size:12px}.sheet-herramientas button.on{background:var(--cut);color:#fff;border-color:var(--cut)}.sheet-medida{z-index:2;background:var(--panel);border:1px solid var(--line);pointer-events:none;border-radius:6px;flex-direction:column;gap:2px;min-width:190px;padding:8px 11px;font-family:IBM Plex Mono,monospace;font-size:12.5px;display:flex;position:absolute;top:38px;right:8px;box-shadow:0 4px 14px #00000040}.sheet-medida b{color:var(--cut);margin-right:4px;font-family:inherit}.sheet-medida small{color:var(--muted);font-size:11px}.sheet-medida small.nota{opacity:.7;margin-top:3px}.sheet-medida .madera{color:var(--ink);font-size:12px}.medida-tramo{fill:none;stroke:#22c3ee;stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}.medida-regla{stroke:#22c3ee;stroke-width:1.5px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}.medida-punto{fill:#22c3ee;pointer-events:none}.medida-iman{fill:none;stroke:#22c3ee;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.alert{color:var(--ink2);border-bottom:1px solid var(--line2);background:var(--panel);align-items:flex-start;gap:9px;padding:9px 20px;font-size:12.5px;display:flex}.alert i{letter-spacing:.1em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);border-radius:2px;flex:none;margin-top:2px;padding:0 5px;font-family:IBM Plex Mono,monospace;font-size:9.5px;font-style:normal}.alert.error i{color:var(--cut);border-color:var(--cut)}.avisos{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.avisos li{color:var(--ink2);border-left:2px solid var(--warn);padding:3px 0 3px 8px;font-size:11.5px;line-height:1.45}.aviso-eleccion{z-index:30;background:var(--panel,#fff);color:var(--ink);border:1px solid var(--warn);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:12.5px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.vista-patron{margin:6px 0 10px}.vista-patron svg{background:var(--bg-2,#00000040);border-radius:6px;width:100%;max-height:170px;display:block}.vista-patron-mal{color:#ff6b5a}.vista-patron .row{justify-content:space-between;gap:8px;margin-top:4px}.aviso-patron{color:var(--ink);border-left:3px solid var(--accent,var(--warn));margin:8px 0 0;padding:4px 0 4px 8px;font-size:11.5px;font-weight:600;line-height:1.45}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.derived{grid-template-columns:1fr 1fr;gap:6px 10px;margin:2px 0 0;display:grid}.derived dt{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:9px}.derived dd{color:var(--ink2);margin:1px 0 0;font-size:12.5px}.tree-panel{gap:0}.biblioteca .hint{margin:0}.tree-panel .tree-actions{padding-top:0}.tree{border:1px solid var(--line2);background:var(--panel2);border-radius:2px;max-height:264px;padding:4px 0;overflow:auto}.branch{display:block}.node{align-items:center;gap:2px;min-height:23px;padding:1px 4px 1px 0;display:flex}.node:hover{background:var(--panel)}.node.tambien{box-shadow:inset 2px 0 0 var(--cut)}.node.on{background:var(--cut-soft)}.node.off .node-name{opacity:.42}.node.on .node-name{color:var(--cut)}.twisty,.eye,.kill{width:19px;height:19px;color:var(--muted);text-transform:none;letter-spacing:0;background:0 0;border:0;border-radius:2px;flex:none;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:flex}.twisty:disabled{opacity:.3;cursor:default}.twisty:hover:not(:disabled),.eye:hover,.kill:hover{background:var(--line2);color:var(--ink);border:0}.kill:hover{color:var(--cut)}.node-name{text-align:left;text-transform:none;letter-spacing:0;min-width:0;color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:2px 4px;font-family:Archivo,sans-serif;font-size:12.5px;display:flex;overflow:hidden}.node-name:hover{color:var(--ink);border:0}.node-name .kind{letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);border-radius:2px;flex:none;padding:0 3px;font-family:IBM Plex Mono,monospace;font-size:8.5px}.node-name .count{color:var(--muted);flex:none;font-family:IBM Plex Mono,monospace;font-size:9.5px}.tree-actions{flex-wrap:wrap;gap:5px;display:flex}.tree-actions button{text-align:center;white-space:nowrap;flex:1;min-width:70px}.angulo select{color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:2px;padding:3px 4px;font-family:IBM Plex Mono,monospace;font-size:11.5px}input.text{color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:2px;flex:1;min-width:0;max-width:150px;padding:3px 7px;font-family:Archivo,sans-serif;font-size:12.5px}.empty{text-align:center;background:var(--panel);padding:26px 20px}.empty p{color:var(--ink2);margin:0 0 6px;font-size:14px}.empty .note{max-width:44ch;margin:0 auto}.chip{letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);background:var(--panel2);border:1px solid var(--line);border-radius:2px;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:10px}.import-error{color:var(--cut)}.cubo{z-index:3;perspective:420px;touch-action:none;cursor:grab;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:absolute;top:12px;right:12px}.cubo:active{cursor:grabbing}.cubo-caja{width:0;height:0;transform-style:preserve-3d;position:relative}.cubo-cara{letter-spacing:.06em;width:54px;height:54px;color:var(--ink2);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;margin:-27px 0 0 -27px;padding:0;font-family:IBM Plex Mono,monospace;font-size:8.5px;transition:opacity .12s linear,background .12s linear;display:flex;position:absolute}.cubo-cara:hover{background:var(--cut-soft);color:var(--cut);border-color:var(--cut)}.cubo-iso{letter-spacing:.08em;color:var(--muted);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:2px;padding:2px 5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;position:absolute;bottom:0;right:0}.cubo-iso:hover{color:var(--cut);border-color:var(--cut)}.union{border-left:2px solid var(--cut);background:var(--panel2);border-radius:2px;flex-direction:column;gap:7px;padding:8px 9px;display:flex}.union>.row>label{font-size:11.5px;font-weight:600}.rail.derecha{border-right:0;border-left:1px solid var(--line)}.biblioteca{flex-direction:column;gap:6px;display:flex}.biblioteca>h3{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0;font-family:IBM Plex Mono,monospace;font-size:10.5px}.biblioteca section,.rail.derecha>.gaveta{border:1px solid var(--line2);border-radius:3px;overflow:hidden}.biblioteca .titulo,.gaveta .titulo{text-align:left;background:var(--panel2);letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--ink2);cursor:pointer;border:0;border-radius:0;align-items:center;gap:8px;padding:7px 9px;font-family:IBM Plex Mono,monospace;font-size:10.5px;display:flex}.biblioteca section.abierta .titulo,.gaveta.abierta .titulo{color:var(--cut);background:var(--panel)}.biblioteca .cuenta,.gaveta .cuenta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:55%;margin-left:auto;overflow:hidden}.rejilla{flex-direction:column;gap:5px;padding:6px;display:flex}.tarjeta{text-align:left;background:var(--panel2);border:1px solid var(--line2);cursor:pointer;color:var(--ink);border-radius:3px;flex-direction:row;align-items:center;gap:8px;padding:5px 6px;display:flex}.tarjeta:hover{border-color:var(--cut)}.tarjeta .texto{flex-direction:column;gap:1px;min-width:0;display:flex}.tarjeta strong{font-size:12px;font-weight:600}.tarjeta .texto>span{color:var(--ink2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.3;display:-webkit-box;overflow:hidden}.tarjeta .vista,.tarjeta .sin-vista{aspect-ratio:100/68;background:var(--bg);border:1px solid var(--line2);border-radius:2px;flex:none;width:74px}.tarjeta .vista path{stroke:none;fill-rule:evenodd;shape-rendering:geometricprecision}.tarjeta .sin-vista{color:var(--muted);justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:15px;display:flex}.tarjeta.guardar{text-transform:uppercase;letter-spacing:.08em;justify-content:center;padding:7px;font-size:10.5px}.tarjeta.guardar:disabled{opacity:.5;cursor:default}.tarjeta.guardado{flex-direction:column;align-items:stretch;gap:0;padding:0}.tarjeta.guardado .cuerpo{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;flex-direction:row;flex:1;align-items:center;gap:8px;min-width:0;padding:5px 6px;display:flex}.tarjeta.guardado>.mini{align-self:center;margin:0 6px}.armado{flex-direction:column;gap:3px;display:flex}.armado .paso{border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border-top:0;border-left:0;border-right:0;border-radius:0;align-items:baseline;gap:8px;padding:3px 0;display:flex}.armado .paso:hover{color:var(--cut)}.armado .paso .n{color:var(--ink2);font-variant-numeric:tabular-nums;min-width:20px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.armado .paso .que{flex:auto;font-size:12.5px}.armado .paso .como{color:var(--ink2);font-size:10.5px}.armado .trabado{border-left:2px solid var(--warn);background:var(--panel2);color:var(--warn);border-radius:2px;padding:8px 9px;font-size:12px}.tarjeta.guardado .acciones{gap:6px;padding:0 6px 6px;display:flex}.tarjeta.guardado .acciones .mini{flex:1 1 0}label.tarjeta.guardar{cursor:pointer;text-align:center;place-items:center;display:grid}.componente-datos{width:min(420px,100vw - 28px)}.componente-datos>label{color:var(--ink2);grid-template-columns:92px 1fr;align-items:center;gap:8px;font-size:11px;display:grid}.componente-datos input,.componente-datos select,.componente-datos textarea{width:100%;min-width:0}.componente-datos textarea{resize:vertical;min-height:64px}.esquinas{border-left:1px solid var(--line);flex-direction:column;gap:2px;padding-left:10px;display:flex}.esquinas .row>label{font-family:var(--font-ui);align-items:baseline;gap:6px;font-size:12px;display:flex}.esquinas .tope{color:var(--muted);font-size:10px}.cruces-flotante{z-index:12;pointer-events:none;flex-direction:column;gap:6px;max-width:min(680px,92%);display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.cruces-flotante .fila{pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:3px;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;padding:6px 8px 6px 11px;display:flex;box-shadow:0 4px 14px #00000024}.cruces-flotante .con{color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:12px;overflow:hidden}.cruces-flotante .con strong{color:var(--ink)}.cruces-flotante .con .une{color:var(--ink2);margin:0 6px;font-style:normal}.cruces-flotante .par{flex:none;margin-left:auto;display:flex}.cruces-flotante .vecinas{flex:100%;gap:3px;min-width:0;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.cruces-flotante .vecinas button{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;min-height:24px;color:var(--ink2);border:1px solid var(--line);background:0 0;border-radius:2px;flex-shrink:0;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:flex}.cruces-flotante .vecinas button:hover{color:var(--ink)}.cruces-flotante .vecinas button.on{background:var(--panel2);color:var(--ink);border-color:var(--ink2)}.cruces-flotante .vecinas .falta{background:var(--cut);border-radius:50%;flex:none;width:5px;height:5px}.cruces-flotante .par button{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:var(--panel2);min-height:26px;color:var(--ink2);border:1px solid var(--line);border-right-width:0;padding:6px 11px;font-family:IBM Plex Mono,monospace;font-size:10.5px;line-height:1}.cruces-flotante .par button:focus-visible{outline:2px solid var(--cut);outline-offset:-2px}.cruces-flotante .par button:last-child{border-right-width:1px;border-radius:0 2px 2px 0}.cruces-flotante .par button:first-child{border-radius:2px 0 0 2px}.cruces-flotante .par button:hover:not(:disabled){color:var(--ink)}.cruces-flotante .par button:disabled{opacity:.42;cursor:not-allowed}.cruces-flotante .par button.on{background:var(--cut);border-color:var(--cut);color:var(--panel)}.cruces-flotante .dientes-flotante{max-width:100%;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;font:600 10.5px/1 IBM Plex Mono,monospace;display:flex}.cruces-flotante .dientes-flotante button{border:1px solid var(--line);background:var(--panel2);min-height:25px;color:var(--ink2);font:inherit;cursor:pointer;text-transform:uppercase;border-radius:2px;padding:5px 8px}.cruces-flotante .dientes-flotante button.on{background:var(--cut);border-color:var(--cut);color:var(--panel)}.cruces-flotante .dientes-flotante input{width:150px;accent-color:var(--cut);cursor:ew-resize}.cruces-flotante .dientes-flotante output{min-width:2ch;color:var(--ink);text-align:right}.uniones h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:7px;margin:0 0 8px;font:600 10px/1 IBM Plex Mono,monospace;display:flex}.uniones .cuenta{background:var(--panel2);color:var(--ink2);border-radius:8px;padding:1px 5px;font-size:10px}.uniones .nota{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.lista-uniones{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.lista-uniones>li{border:1px solid var(--line2);background:var(--panel2);border-radius:4px;padding:7px 8px}.union-head{align-items:flex-start;gap:6px;display:flex}.union-nombre{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:0;display:flex}.union-nombre b{text-transform:uppercase;letter-spacing:.07em;color:var(--cut);font:600 10px/1 IBM Plex Mono,monospace}.union-nombre span{color:var(--ink2);font-size:11px}.union-nombre:hover span{color:var(--ink)}.lista-uniones .quitar{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 5px;font-size:15px;line-height:1}.lista-uniones .quitar:hover{color:var(--cut)}.que-hace{color:var(--muted);margin:4px 0 0;font-size:10.5px;line-height:1.45}.perillas{flex-wrap:wrap;gap:4px 10px;margin-top:6px;display:flex}.perillas label{color:var(--muted);align-items:center;gap:4px;font-size:10.5px;display:flex}.perillas input[type=number]{border:1px solid var(--line);background:var(--panel);width:46px;color:var(--ink);border-radius:3px;padding:2px 4px;font:400 11px/1 IBM Plex Mono,monospace}.perillas input[type=range]{width:66px}.perillas select{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:3px;padding:2px 3px;font-size:10.5px}.perillas i{font-style:normal}.deducidas{border-top:1px dashed var(--line);margin-top:10px;padding-top:9px}.deducidas h4{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:7px;margin:0 0 6px;font:600 10px/1 IBM Plex Mono,monospace;display:flex}.deducidas ul{flex-direction:column;gap:3px;margin:0 0 6px;padding:0;list-style:none;display:flex}.deducidas li{align-items:center;gap:6px;display:flex}.deducidas li button{border:1px dashed var(--line);color:var(--muted);text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border-radius:3px;flex:1;padding:3px 6px;font:400 11px/1.3 Archivo,system-ui,sans-serif}.deducidas li button:hover{border-color:var(--cut);color:var(--ink)}.deducidas li i{text-transform:uppercase;letter-spacing:.06em;color:var(--warn);font:500 9.5px/1 IBM Plex Mono,monospace}.deducidas .nota{color:var(--muted);margin:0;font-size:10.5px;line-height:1.5}.lista-uniones>li.on{border-color:var(--cut);background:var(--cut-soft)}.lista-uniones>li.on .union-nombre span{color:var(--ink)}.deducidas li.on button{border-color:var(--cut);color:var(--ink);border-style:solid}.perillas .perilla{flex-direction:column;flex:92px;gap:3px;display:flex}.perilla-cab{color:var(--muted);justify-content:space-between;align-items:baseline;gap:6px;font-size:10.5px;display:flex}.perilla-cab b{color:var(--ink);font:500 11px/1 IBM Plex Mono,monospace}.perilla-cab b i{color:var(--muted);font-style:normal}.perillas .perilla input[type=range]{width:100%;margin:0}.perillas .ancha{flex:100%}.perillas select{width:100%}.perillas .que-hace.ancha{margin:2px 0 0}.avisos-barra{flex:none}.alert-cab{border:0;border-bottom:1px solid var(--line2);background:var(--panel);width:100%;color:var(--ink2);text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;border-radius:0;align-items:center;gap:9px;padding:8px 20px;font:400 12.5px/1.4 Archivo,system-ui,sans-serif;display:flex}.alert-cab:hover{background:var(--panel2);border-color:var(--line);color:var(--ink)}.alert-cab i{border:1px solid var(--warn);min-width:18px;color:var(--warn);text-align:center;border-radius:2px;flex:none;padding:0 5px;font:500 9.5px/1.5 IBM Plex Mono,monospace}.alert-cab i.grave{color:var(--cut);border-color:var(--cut)}.alert-cab span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.alert-cab em{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex:none;font:500 9.5px/1 IBM Plex Mono,monospace}.alert-scroll{max-height:30vh;overflow-y:auto}.medida{color:var(--muted);align-items:center;gap:5px;font-size:10.5px;display:flex}.medida input{border:1px solid var(--line);background:var(--panel);width:54px;color:var(--ink);border-radius:3px;padding:2px 4px;font:400 11px/1 IBM Plex Mono,monospace}.medida i{color:var(--muted);font-style:normal}.boceto{position:relative}.reglas-caja{pointer-events:none;position:absolute}.reglas{pointer-events:none;display:block}.regla-banda{fill:var(--panel2);stroke:var(--line);stroke-width:1px}.regla-marca{stroke:var(--ink2);stroke-width:1px}.regla-texto{fill:var(--ink2);font:400 9px/1 IBM Plex Mono,monospace}.regla-cursor{stroke:var(--cut);stroke-width:1px}.cota{cursor:pointer}.cota-linea,.cota-ref{fill:none;stroke:var(--ok);stroke-width:.4px;vector-effect:non-scaling-stroke}.cota-ref{stroke-dasharray:2 2;opacity:.7}.cota-punta{fill:var(--ok)}.cota-texto{fill:var(--ok);text-anchor:middle;font-family:IBM Plex Mono,monospace}.cota:hover .cota-linea,.cota:hover .cota-texto{stroke:var(--cut);fill:var(--cut)}.boceto-barra.herramientas button{gap:0;padding:5px 7px}.boceto-barra.herramientas .grupo{margin-left:6px}.boceto-pie .radio-punto{align-items:center;gap:5px;display:flex}.boceto-pie .radio-punto input{width:48px}.boceto-pie button{padding:2px 7px}.bt{fill-rule:evenodd}.bt-fantasma{fill:none;stroke:currentColor;stroke-width:1.1px;opacity:.4}.bt-solido{fill:currentColor;stroke:none}button.buscatrazos:disabled .bt-fantasma{stroke:var(--line)}button.buscatrazos:disabled .bt-solido{fill:var(--line)}button.buscatrazos:hover:not(:disabled) .bt-solido{fill:var(--cut)}button.tema{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:3px;padding:3px 9px;font:500 9.5px/1.6 IBM Plex Mono,monospace}button.tema:hover{border-color:var(--cut);color:var(--cut)}.row.tintes{align-items:center}.paleta{flex-wrap:wrap;gap:4px;display:flex}.tinte{border:1px solid var(--line);cursor:pointer;border-radius:3px;width:16px;height:16px;padding:0}.tinte.sin{background:0 0;position:relative}.tinte.sin:after{content:"";border-top:1px solid var(--muted);position:absolute;inset:3px;transform:rotate(-45deg)}.tinte.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.modal-fondo{z-index:60;background:#0000006b;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;width:min(560px,92vw);max-height:82vh;padding:18px 20px;overflow:auto;box-shadow:0 18px 48px #00000047}.modal h3{margin:0 0 2px}ul.revision{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}ul.revision li{border-left:3px solid var(--line);background:var(--panel2);border-radius:4px;gap:2px;padding:9px 11px;display:grid}ul.revision li.grave{border-left-color:var(--cut);background:var(--cut-soft)}ul.revision li.revisar{border-left-color:var(--warn)}ul.revision li.ok{border-left-color:var(--ok)}ul.revision li span{color:var(--ink2)}button.lista.malo{color:var(--cut);border-color:var(--cut)}.top{gap:var(--s2);padding:var(--s2) var(--s3);row-gap:6px}.top>.brand{margin-right:var(--s2)}.top>.archivo:not(.acciones-rapidas){border:1px solid var(--line2);border-radius:var(--r-md);background:var(--panel2);gap:1px;padding:2px}.top>.archivo:not(.acciones-rapidas)>.menu>button,.top>.archivo:not(.acciones-rapidas)>button{letter-spacing:0;text-transform:none;background:0 0;border-color:#0000;min-height:30px;padding:4px 11px;font-size:12.5px}.top>.archivo:not(.acciones-rapidas)>.menu>button:hover:not(:disabled),.top>.archivo:not(.acciones-rapidas)>button:hover:not(:disabled){background:var(--panel);color:var(--ink)}.top>.acciones-rapidas .tabs.iconos button{min-height:30px}.top>.tag{letter-spacing:.02em;text-transform:none;color:var(--ink);padding-left:var(--s3);border-left:1px solid var(--line2);text-overflow:ellipsis;white-space:nowrap;max-width:24ch;font-size:12px;overflow:hidden}.top>.statbar{gap:var(--s4);padding-left:var(--s3);border-left:1px solid var(--line2)}.stat dd{font-size:15px}.chip{border-radius:9px;padding:3px 8px}.group{padding:var(--s4);gap:var(--s3)}.group h3{letter-spacing:.14em;color:var(--ink2);font-size:10.5px;font-weight:600}.group .note+.note,.group .nota+.nota{margin-top:calc(var(--s2) * -1)}.ctl{gap:var(--s1) var(--s3)}.ctl .valor{border-radius:var(--r-sm);background:var(--bg);border-color:var(--line);padding:3px 8px;font-size:13px}.ctl input[type=range],.row input[type=range]{height:18px}.row{gap:var(--s3)}select,input.text,.radio-punto input,.perillas input[type=number]{border-radius:var(--r-sm)}.rail{padding-bottom:var(--s4)}.rail.derecha{gap:var(--s2);padding:var(--s2)}.biblioteca>h3{padding:var(--s1) 2px 0;letter-spacing:.14em}.biblioteca section,.rail.derecha>.gaveta{border-radius:var(--r-md)}.biblioteca .titulo,.gaveta .titulo{min-height:34px;padding:var(--s2) var(--s3)}.biblioteca section.abierta .titulo,.gaveta.abierta .titulo{box-shadow:inset 2px 0 var(--cut)}.biblioteca .cuenta,.gaveta .cuenta{background:var(--bg);border:1px solid var(--line2);border-radius:9px;padding:2px 7px;font-size:9.5px}.grupo-cuerpo{gap:var(--s3);padding:var(--s3);background:var(--panel);border-top:1px solid var(--line2);flex-direction:column;display:flex}.grupo-cuerpo>.group{gap:var(--s2);border-bottom:0;padding:0}.grupo-cuerpo>.group+.group,.grupo-cuerpo>.group~.row{padding-top:var(--s3);border-top:1px solid var(--line2)}.grupo-cuerpo small,.grupo-cuerpo .small{color:var(--muted);font-size:11px;line-height:1.45}.tree-panel .tree,.tree-panel .tree-actions{padding:var(--s2)}.tree{border-radius:var(--r-sm)}.rejilla{gap:var(--s1);padding:var(--s2)}.tarjeta{border-radius:var(--r-sm);padding:6px}.block-head{padding:var(--s2) var(--s3);gap:var(--s2)}.block-head button{min-height:28px}.block-head>.tabs.iconos{border:1px solid var(--line2);border-radius:var(--r-md);background:var(--panel2);gap:2px;padding:2px}.block-head>.tabs.iconos>button{background:0 0;border-color:#0000}.block-head>.tabs.iconos>button:hover:not(:disabled){background:var(--panel)}.explode{gap:var(--s2);min-width:156px;padding:0 var(--s2) 0 0}.explode label{letter-spacing:.02em;color:var(--muted);font-size:11px}.seleccion-rapida{border-radius:var(--r-md)}.empty p{font-size:14.5px}.empty.flotante{z-index:1;pointer-events:none;background:0 0;align-content:center;justify-items:center;padding:0;display:grid;position:absolute;inset:0}.empty.flotante p{border:1px solid var(--line);background:var(--panel);color:var(--ink2);border-radius:999px;margin:0;padding:7px 16px;font-size:13px}button,.part{border-radius:var(--r-sm)}.splitter{background:var(--line2)}.rail.derecha{border-left-color:var(--line)}@media (width<=1400px){.top>.statbar{display:flex}.top>.chip:not(.alarma){display:inline-flex}}@media (width<=1100px){.top>.statbar,.top>.chip:not(.alarma){display:none}}.montaje-flotante{top:var(--s3);left:var(--s3);z-index:6;align-items:center;gap:var(--s2);max-width:calc(100% - var(--s3) * 2);padding:6px var(--s2);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--elev);flex-wrap:wrap;display:flex;position:absolute}.montaje-flotante span{color:var(--ink2);font-size:11.5px}.shell>.rail:not(.derecha){grid-column:1}.shell>.splitter:not(.derecha-split){grid-column:2}.shell>.stage{grid-column:3}.shell>.derecha-split{grid-column:4}.shell>.rail.derecha{grid-column:5}@media (width<=900px){.shell>.stage{grid-column:1}}.rail.derecha[hidden]{display:none}.stage{position:relative}.toast{left:var(--s3);bottom:var(--s3);z-index:20;align-items:center;gap:var(--s2);max-width:min(420px, calc(100% - var(--s3) * 2));padding:var(--s2) var(--s3);border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--elev);color:var(--ink);cursor:pointer;font-size:12.5px;line-height:1.4;animation:.16s ease-out toast-entra;display:flex;position:absolute}.toast b{color:var(--ok);flex:none;font-size:13px;line-height:1}.toast span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.toast span:first-letter{text-transform:uppercase}.toast.aviso{border-left-color:var(--warn)}.toast.aviso b{color:var(--warn)}.toast.error{border-left-color:var(--cut)}.toast.error b{color:var(--cut)}@keyframes toast-entra{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.biblioteca>h3{margin:2px 0 var(--s4);cursor:default;font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);background:0 0;border:0;border-radius:0;flex-direction:column;gap:3px;padding:0 0 0 13px;font-size:10.5px;font-weight:600;display:flex;position:relative}.biblioteca>h3:before{content:"";background:var(--cut);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;left:0}.biblioteca>h3 small{font-family:var(--font-ui);letter-spacing:0;text-transform:none;color:var(--muted);font-size:11px;font-weight:400}.tarjeta{border-color:var(--line2);background:0 0}.tarjeta strong{font-weight:500}.tarjeta:hover{background:var(--panel2)}.mandos-visor{top:var(--s3);left:var(--s3);z-index:6;align-items:stretch;gap:var(--s2);max-width:calc(100% - var(--s3) * 2);flex-direction:column;display:flex;position:absolute}.mandos-visor>.vista-flotante,.mandos-visor>.aperturas{max-width:none;position:static}.mandos-visor>.vista-flotante>button{flex:1}.vista-flotante{top:var(--s3);left:var(--s3);z-index:6;max-width:calc(100% - var(--s3) * 2);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--elev);align-items:stretch;gap:0;padding:2px;display:flex;position:absolute}.vista-flotante>button,.vista-flotante>.montaje-flotante>button{min-height:28px;padding:5px var(--s3);border-radius:var(--r-sm);color:var(--ink2);letter-spacing:.08em;background:0 0;border:1px solid #0000;font-size:10.5px}.vista-flotante>button:hover:not(:disabled),.vista-flotante>.montaje-flotante>button:hover:not(:disabled){background:var(--panel2);color:var(--cut)}.vista-flotante>.montaje-flotante{gap:var(--s1);max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:static}.vista-flotante>*+*{margin-left:var(--s1);padding-left:var(--s1);border-left:1px solid var(--line2)}.vista-flotante>.montaje-flotante.puesto{background:var(--cut-soft);border-radius:var(--r-sm);box-shadow:inset 2px 0 var(--cut);padding-left:var(--s2)}.vista-flotante>.montaje-flotante.puesto>button{color:var(--ink2)}.avisos-chip{display:flex;position:relative}.avisos-chip>button{text-transform:none;letter-spacing:.02em;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.avisos-chip>button b{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-weight:600}.chip.atencion{color:var(--warn);border-color:var(--warn);background:0 0}.avisos-chip>button.on{border-color:var(--ink2)}.avisos-caja{z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);width:min(420px,100vw - 24px);max-height:46vh;box-shadow:var(--elev);position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.avisos-caja .alert{padding:9px 12px}.avisos-caja .alert:last-child{border-bottom:0}.avisos-caja .alert.clic{cursor:pointer}.avisos-caja .alert.clic:hover,.avisos-caja .alert.clic:focus-visible{filter:brightness(.96);outline:none}.boceto-barra.herramientas .grupo{margin-left:var(--s2);padding-left:var(--s3);border-left:1px solid var(--line);align-self:stretch;align-items:center;display:inline-flex}.boceto-barra.herramientas>.neutro+.grupo{margin-left:var(--s1)}.boceto-barra.herramientas .grupo.lienzo{border-left:0}.boceto-pie{padding-block:7px;font-size:12px}.boceto-pie>.mono{color:var(--ink);letter-spacing:.01em}.boceto-pie>.malo{font-weight:500}.boceto{padding-left:78px}.caja-herramientas{z-index:3;overscroll-behavior:contain;align-items:center;gap:var(--s2);width:78px;padding:var(--s2) 0;background:var(--panel);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.grupo-vertical{padding-bottom:var(--s3);grid-template-columns:repeat(2,32px);justify-content:center;gap:2px;width:100%;display:grid}.grupo-vertical+.grupo-vertical{padding-top:var(--s3);position:relative}.grupo-vertical+.grupo-vertical:before{content:"";background:var(--line);width:34px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.grupo-vertical:last-child{padding-bottom:0}.caja-herramientas button{border-radius:var(--r-sm);width:32px;height:32px;color:var(--ink2);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.caja-herramientas button:hover:not(:disabled){background:var(--panel2);border-color:var(--line);color:var(--cut)}.caja-herramientas button:active:not(:disabled){transform:translateY(1px)}.caja-herramientas button:focus-visible{outline-offset:1px}.caja-herramientas button.on{background:var(--cut);border-color:var(--cut);color:var(--panel);box-shadow:0 0 0 2px var(--cut-soft)}.caja-herramientas button.on:hover{background:var(--cut);color:var(--panel)}.grupo-vertical[data-grupo=Ayudas] button.on{background:var(--cut-soft);border-color:var(--cut);color:var(--cut);box-shadow:none}.grupo-vertical[data-grupo=Ayudas] button.on:hover{background:var(--cut-soft);color:var(--cut)}.caja-herramientas .signo{width:20px;height:20px;font-family:var(--font-ui);place-items:center;font-size:18px;font-weight:600;line-height:1;display:grid}.boceto-barra .grilla-mm{margin-left:var(--s2);flex:none;gap:5px}.boceto-barra .grilla-mm input{width:54px}@media (width<=560px){.boceto{padding-top:44px;padding-left:0}.caja-herramientas{width:auto;height:44px;padding:0 var(--s2);gap:var(--s2);border-right:0;border-bottom:1px solid var(--line);flex-direction:row;inset:0 0 auto;overflow:auto hidden}.grupo-vertical{flex-direction:row;width:auto;padding:0;display:flex}.grupo-vertical+.grupo-vertical{border-top:0;border-left:1px solid var(--line2);padding:0 0 0 var(--s2);margin-left:var(--s1)}}.pedido-medidas{z-index:20;gap:var(--s2);width:232px;padding:var(--s3);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--elev);flex-direction:column;display:flex;position:absolute;top:40%;left:50%;transform:none}.pedido-medidas h4{color:var(--ink);margin:0 0 2px;font-size:12.5px;font-weight:600}.pedido-medidas .radio-punto{justify-content:space-between;gap:var(--s2)}.pedido-medidas .radio-punto>span{flex:1}.pedido-medidas .radio-punto input{width:74px}.pedido-medidas .tabs button{flex:1}.pedido-pie{align-items:center;gap:var(--s1);flex-wrap:wrap;margin-top:2px;display:flex}.pedido-pie .small{margin-bottom:var(--s1);color:var(--muted);white-space:nowrap;flex:1 0 100%;font-size:10px}.pedido-pie .spacer{display:none}.pedido-pie button{flex:1}.pedido-medidas .principal{color:var(--panel);background:var(--cut);border-color:var(--cut)}.pedido-medidas .principal:hover:not(:disabled){color:var(--panel)}.caja-herramientas button:disabled .bt{opacity:.5}.aperturas{top:calc(var(--s3) + 42px);left:var(--s3);z-index:5;align-items:stretch;gap:var(--s2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.aperturas>.apertura{pointer-events:auto;align-items:center;gap:var(--s2);min-height:34px;padding:2px var(--s3);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--elev);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);font-size:10.5px;display:flex}.aperturas>.apertura label{align-items:center;gap:var(--s2);flex:1;display:flex}.aperturas>.apertura input[type=range]{flex:1;min-width:60px}.aperturas>.apertura output{text-align:right;min-width:3.5ch}.modal.comandos{width:min(920px,94vw)}.modal.comandos h4{letter-spacing:.1em;text-transform:uppercase;color:var(--cut);margin:18px 0 6px;font-size:11px}.modal.comandos table{border-collapse:collapse;width:100%;font-size:12.5px}.modal.comandos th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 8px 6px;font-size:10px;font-weight:600}.modal.comandos td{border-bottom:1px solid var(--line2);vertical-align:top;padding:6px 8px}.modal.comandos tr:last-child td{border-bottom:0}.modal.comandos .que{color:var(--ink);white-space:nowrap}.modal.comandos .hace{color:var(--ink2);line-height:1.4}.modal.comandos .atajo{font-family:var(--font-data);color:var(--cut);white-space:nowrap}.modal.comandos .donde{color:var(--muted);white-space:nowrap}.modal.comandos>.row{margin-top:20px}@media (width<=760px){.modal.comandos .donde,.modal.comandos th:last-child{display:none}}.modal.comandos .manos{white-space:nowrap;text-align:right}.modal.comandos .manos button{padding:3px 8px;font-size:10.5px}.modal.comandos .manos button+button{margin-left:4px}.modal.comandos .atajo.propio{font-weight:600}.modal.comandos .atajo.propio:after{content:"•";color:var(--cut);margin-left:5px}.modal.comandos tr.editando{background:var(--panel2)}.modal.comandos tr.editando .atajo{color:var(--ok)}.modal.comandos .captura{color:var(--cut);margin-top:3px;font-size:11px;display:block}.red-al-pie{max-width:60ch;margin:12vh auto;padding:24px}.red-al-pie h1{margin:0 0 12px;font-size:20px}.red-al-pie p{color:var(--ink2);margin:0 0 12px}.red-al-pie pre{border:1px solid var(--line);background:var(--panel2);color:var(--cut);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px;padding:12px;font-size:12px}.red-al-pie .acciones{gap:8px;display:flex}.panel-esquina{width:216px}.panel-esquina .tabs{gap:var(--s1);display:flex}.panel-esquina input[type=range]{width:100%}.panel-esquina .malo{font-size:10.5px}.contorno.fantasma{stroke:var(--ok);stroke-dasharray:4 3;opacity:.9}.panel-matriz{width:236px}.panel-matriz .tabs{gap:var(--s1);display:flex}.panel-matriz .tabs button{flex:1}.panel-matriz input[type=range]{width:100%}.panel-matriz .radio-punto>span:first-child{flex:1}.panel-matriz .radio-punto input{width:72px}.panel-matriz .radio-punto .unidad{width:22px;color:var(--muted)}.panel-matriz .casilla{align-items:center;gap:6px;font-size:12px;display:flex}.panel-matriz .esperando{color:var(--ok);font-size:11px}.modal.explorador{flex-direction:column;width:min(980px,95vw);height:min(680px,90vh);max-height:none;padding:0;display:flex;overflow:hidden}.modal.explorador>.exp-cuerpo{flex:1}.exp-cabeza{border-bottom:1px solid var(--line2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.exp-cabeza h3{align-items:center;gap:var(--s2);margin:0;font-size:15px;display:flex}.exp-x{color:var(--ink2);cursor:pointer;background:0 0;border:0;padding:2px 8px;font-size:22px;line-height:1}.exp-barra{align-items:center;gap:var(--s2);border-bottom:1px solid var(--line2);flex-wrap:wrap;padding:10px 16px;display:flex}.exp-barra>button{align-items:center;gap:6px;display:inline-flex}.exp-busca{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);min-width:160px;color:var(--ink);flex:1;padding:6px 10px}.exp-vista button{min-width:32px}.exp-cuerpo{grid-template-columns:220px 1fr;min-height:0;display:grid}.exp-lado{border-right:1px solid var(--line2);background:var(--panel2);flex-direction:column;gap:2px;padding:12px 10px;display:flex;overflow:auto}.exp-lado h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;margin:10px 6px 4px;font-size:10.5px;display:flex}.exp-mas{color:var(--cut);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:16px}.exp-lugar{border-radius:var(--r-md);align-items:center;display:flex}.exp-lugar>button{border-radius:var(--r-md);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;flex:1;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:flex}.exp-lugar:hover>button{background:var(--panel)}.exp-lugar.on>button{background:var(--cut-soft);border-color:var(--cut);color:var(--cut)}.exp-lugar-nombre{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.exp-cuenta{color:var(--muted);background:var(--panel);border-radius:9px;padding:0 7px;font-size:11px}.exp-lugar-acc{display:none}.exp-lugar:hover .exp-lugar-acc{display:flex}.exp-lugar-acc button{color:var(--ink2);cursor:pointer;background:0 0;border:0;padding:2px 5px}.exp-vacio-lado{color:var(--muted);margin:2px 8px;font-size:12px;font-style:italic}.exp-nota{border-top:1px solid var(--line2);color:var(--muted);margin-top:auto;padding:10px 6px 0;font-size:11.5px}.exp-contenido{min-width:0;padding:12px 16px;overflow:auto}.exp-titulo{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.exp-titulo>span:first-of-type{color:var(--muted);font-size:12px}.exp-aviso{color:var(--ok);margin-left:auto;font-size:12px}.exp-vacio{text-align:center;color:var(--ink2);place-items:center;gap:6px;padding:60px 20px;display:grid}.exp-vacio p{margin:0}.exp-items{margin:0;padding:0;list-style:none}.exp-items.grilla{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.exp-items.lista{flex-direction:column;gap:4px;display:flex}.exp-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);cursor:default;position:relative}.exp-item:hover{border-color:var(--ink2);box-shadow:var(--elev)}.exp-item.actual{border-color:var(--cut)}.exp-mini{background:var(--bg);color:var(--muted);place-items:center;display:grid;overflow:hidden}.exp-mini img{object-fit:contain;width:100%;height:100%;display:block}.exp-datos{flex-direction:column;gap:2px;min-width:0;display:flex}.exp-nombre{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.exp-fecha,.exp-carpeta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.exp-acc{gap:4px;display:flex}.exp-acc button{padding:3px 9px}.exp-items.grilla .exp-mini{aspect-ratio:4/3;border-bottom:1px solid var(--line2);border-radius:var(--r-md) var(--r-md) 0 0}.exp-items.grilla .exp-datos{padding:8px 10px 4px}.exp-items.grilla .exp-acc{padding:0 10px 10px}.exp-items.grilla .exp-acc .primario{flex:1}.exp-items.lista .exp-item{grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:6px 10px;display:grid}.exp-items.lista .exp-mini{border-radius:var(--r-sm);width:64px;height:48px}.exp-items.lista .exp-datos{flex-direction:row;align-items:baseline;gap:14px}.exp-menu{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);min-width:190px;box-shadow:var(--elev);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% - 8px);right:8px}.exp-menu>button{text-align:left;border-radius:var(--r-sm);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:7px 10px}.exp-menu>button:hover{background:var(--panel2)}.exp-menu>.peligro{color:var(--cut)}.exp-mover{justify-content:space-between;align-items:center;gap:8px;padding:5px 10px;font-size:13px;display:flex}.exp-mover select{max-width:110px}.exp-pie{border-top:1px solid var(--line2);justify-content:flex-end;padding:10px 16px;display:flex}@media (width<=640px){.exp-cuerpo{grid-template-columns:1fr}.exp-lado{display:none}}.exp-lugar>button,.exp-menu>button{text-transform:none;letter-spacing:normal;font-size:13px}.modal.explorador button.primario{background:var(--cut);border-color:var(--cut);color:#fff}.modal.explorador button.primario:hover{filter:brightness(1.08)}.exp-ubicacion{margin-left:auto;margin-right:var(--s2);border:1px solid var(--line);border-radius:var(--r-md);gap:2px;padding:2px;display:flex}.exp-ubicacion button{border-radius:var(--r-sm);color:var(--ink2);text-transform:none;letter-spacing:normal;background:0 0;border:0;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}.exp-ubicacion button.on{background:var(--cut-soft);color:var(--cut)}.exp-permiso{justify-content:space-between;align-items:center;gap:var(--s3);background:var(--cut-soft);border-bottom:1px solid var(--line2);padding:8px 16px;font-size:12.5px;display:flex}.exp-ruta{flex-wrap:wrap;align-items:center;gap:2px;font-weight:600;display:flex}.exp-ruta button{border-radius:var(--r-sm);color:var(--ink);text-transform:none;letter-spacing:normal;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:14px;font-weight:600}.exp-ruta button:hover{background:var(--panel2);color:var(--cut)}.exp-subcarpetas{flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.exp-subcarpetas button{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel2);color:var(--ink);text-transform:none;letter-spacing:normal;cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.exp-subcarpetas button:hover{border-color:var(--cut)}.exp-pie{gap:var(--s2)}.exp-olvidar{text-transform:none;letter-spacing:normal;color:var(--muted);background:0 0;border-color:#0000;margin-right:auto;font-size:12px}.exp-nuevo{align-items:center;gap:var(--s2);background:var(--cut-soft);border-bottom:1px solid var(--line2);flex-wrap:wrap;padding:12px 16px;display:flex}.exp-nuevo label{font-size:13px;font-weight:600}.exp-nuevo input{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--ink);flex:0 260px;padding:6px 10px;font-size:14px}.exp-donde{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.modal.explorador .exp-nuevo button.primario{background:var(--cut);border-color:var(--cut);color:#fff}.vacio-recorta{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel2);border-left:3px solid #38bdf8;flex-direction:column;gap:4px;margin:6px 0 10px;padding:8px 10px;font-size:12.5px;display:flex}.vacio-recorta .row{justify-content:space-between;align-items:center;gap:8px;display:flex}.vacio-recorta small{color:var(--muted)}.matriz-flotante{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--cut);border-radius:var(--r-md);box-shadow:var(--elev);color:var(--ink);flex-direction:column;gap:6px;padding:10px 12px;font-size:12.5px;display:flex}.mf-titulo{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:6px;display:flex;overflow:hidden}.mf-titulo span{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.mf-fila{justify-content:space-between;align-items:center;gap:8px;display:flex}.mf-fila label{color:var(--ink2)}.mf-botones{gap:2px;display:inline-flex}.mf-botones button,.mf-num button{text-transform:none;letter-spacing:normal;min-width:28px;padding:3px 8px;font-size:12px}.mf-botones button.on{background:var(--cut);border-color:var(--cut);color:#fff}.mf-num{align-items:center;gap:2px;display:inline-flex}.mf-num input{text-align:right;width:64px;font-family:var(--font-data);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--ink);padding:3px 6px}.mf-unidad{color:var(--muted);margin-left:4px}.mf-rango{width:100%}.mf-pie{justify-content:flex-end}.mf-pie button{text-transform:none;letter-spacing:normal;padding:3px 12px;font-size:12px}.mf-pie button.on{background:var(--cut);border-color:var(--cut);color:#fff}.mf-cuenta{color:var(--ink2);margin:0;font-size:12px}.mf-bien{color:var(--ok)}.mf-mal{color:var(--cut);font-weight:600}.tour{z-index:60;pointer-events:none;position:fixed;inset:0}.tour-velo{background:#00000073;position:fixed;inset:0}.tour-foco{border:2px solid var(--cut);border-radius:8px;transition:all .2s;position:fixed;box-shadow:0 0 0 9999px #00000073}.tour-burbuja{pointer-events:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:14px 16px 12px;transition:top .2s,left .2s;position:fixed;box-shadow:0 10px 30px #00000059}.tour-burbuja .paso{letter-spacing:1px;color:var(--cut);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10.5px}.tour-burbuja h3{margin:4px 0 6px;font-size:16px}.tour-burbuja p{color:var(--ink2);margin:0 0 10px;font-size:13px;line-height:1.45}.tour-burbuja p.nota{color:var(--muted);font-size:11.5px}.tour-burbuja .acciones{justify-content:space-between;gap:8px;display:flex}.tour-burbuja .acciones button.principal{background:var(--cut);color:#fff;border-color:var(--cut)}@media (prefers-reduced-motion:reduce){.tour-foco,.tour-burbuja{transition:none}}.panel-materiales{flex-direction:column;gap:10px;padding:4px 0 10px;display:flex}.panel-materiales .familias{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;display:grid}.panel-materiales .familia{text-align:left;border:1px solid var(--line);background:var(--panel2);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:26px 1fr;align-items:center;column-gap:7px;padding:7px 8px;transition:border-color .15s,transform .15s;display:grid}.panel-materiales .familia:hover{transform:translateY(-1px)}.panel-materiales .familia.on{border-color:var(--cut);box-shadow:0 0 0 1px var(--cut) inset}.panel-materiales .familia .muestra{grid-row:1/3}.panel-materiales .familia .nombre{font-size:12px;line-height:1.1}.panel-materiales .familia .espesor{color:var(--muted);font-size:10.5px}.panel-materiales .tipos{flex-wrap:wrap;gap:4px;display:flex}.panel-materiales .tipos button{border-radius:999px;padding:3px 8px;font-size:11px}.panel-materiales .tipos button.on{background:var(--cut);color:#fff;border-color:var(--cut)}.panel-materiales .colores{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.panel-materiales .color{text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:10.5px;line-height:1.15;display:flex}.panel-materiales .color:hover{background:var(--panel2)}.panel-materiales .color.on{border-color:var(--cut);background:var(--panel2)}.panel-materiales .elegido{background:var(--panel2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.panel-materiales .elegido .texto{flex-direction:column;flex:1;min-width:0;display:flex}.panel-materiales .elegido b{font-size:12.5px}.panel-materiales .elegido small{color:var(--muted);font-size:10.5px}.panel-materiales .pintar{white-space:nowrap;padding:6px 10px;font-size:11.5px}.panel-materiales .pintar.on{background:var(--cut);color:#fff;border-color:var(--cut);animation:1.4s ease-in-out infinite pincel}@keyframes pincel{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--cut) 35%, transparent)}}.panel-materiales .en-uso h4{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:4px 0 6px;font-size:10.5px}.panel-materiales .usado{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:4px 6px;display:flex}.panel-materiales .usado:hover{background:var(--panel2)}.panel-materiales .usado .nombre{flex:1;font-size:12px}.panel-materiales .usado .cuenta{color:var(--muted);font-size:11px}.muestra{--m:#c08d4e;border-radius:50%;flex-shrink:0;width:24px;height:24px;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000002e,0 1px 2px #00000040}.muestra.grande{border-radius:10px;width:42px;height:42px}.muestra.madera{background:repeating-linear-gradient(100deg,#c9955a 0 3px,#b98347 3px 5px,#d3a36a 5px 9px)}.muestra.mdf{background:radial-gradient(circle at 30% 30%,#d6c6aa,#b9a37f)}.muestra.carton{background:repeating-linear-gradient(0deg,#b9b3a6 0 2px,#cdc8bb 2px 4px)}.muestra.acr{background:linear-gradient(135deg, #ffffff8c 0 22%, transparent 38%), linear-gradient(color-mix(in srgb, var(--m) 70%, transparent), color-mix(in srgb, var(--m) 70%, transparent)), repeating-conic-gradient(#d9d9d9 0 25%, #fff 0 50%) 0 0 / 8px 8px}.muestra.acr.solido,.muestra.acr.opal{background:linear-gradient(135deg, #ffffff80 0 20%, transparent 36%), var(--m)}.muestra.acr.ahumado{background:linear-gradient(135deg, #ffffff59 0 20%, transparent 36%), linear-gradient(color-mix(in srgb, var(--m) 82%, transparent), color-mix(in srgb, var(--m) 82%, transparent)), repeating-conic-gradient(#d9d9d9 0 25%, #fff 0 50%) 0 0 / 8px 8px}.muestra.acr.espejo{background:linear-gradient(135deg, #fff 0%, var(--m) 30%, color-mix(in srgb, var(--m) 55%, #333) 55%, #fff 75%, var(--m) 100%)}.muestra.acr.fluor{background:linear-gradient(135deg, #ffffff80 0 20%, transparent 36%), var(--m);box-shadow:inset 0 0 0 1px #0000001f, 0 0 8px color-mix(in srgb, var(--m) 80%, transparent)}.panel-materiales button{text-transform:none;letter-spacing:0;font-family:inherit}.panel-materiales .familias{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-materiales .familia{min-width:0}.panel-materiales .familia .nombre{white-space:normal;overflow-wrap:anywhere;min-width:0;font-weight:500}.panel-materiales .tipos button{font-size:10.5px}.panel-materiales .colores{grid-template-columns:repeat(3,1fr)}.panel-materiales .color span:last-child{color:var(--ink2);font-size:10px}.panel-materiales .elegido{flex-wrap:wrap}.panel-materiales .elegido .texto{min-width:120px}.panel-materiales .elegido .pintar{flex-basis:100%}.panel-materiales .familia .nombre{word-break:normal;overflow-wrap:normal;font-size:11px}.panel-trazo{border:1px solid var(--line);background:var(--panel2);border-radius:4px;flex-direction:column;gap:5px;padding:6px 8px;display:flex}.panel-trazo .fila{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.panel-trazo .fila>span{min-width:52px;font-weight:600}.panel-trazo button{padding:3px 7px}.panel-trazo button.on{background:var(--cut-soft);border-color:var(--cut);color:var(--cut)}.panel-trazo label{align-items:center;gap:4px;display:flex}.panel-trazo input[type=number]{width:58px}.calibrar h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 4px;font-size:11px;font-weight:500}.calibrar h4:first-of-type{margin-top:2px}.calibrar>.tarjeta{width:100%;margin:4px 0}.calibrar .row,.cal-campo{margin:4px 0}.cal-valor{align-items:center;gap:4px;display:inline-flex}.cal-valor small{color:var(--muted);font-size:11px}.ctl .valor.corto{width:40px}.kt-shell{flex:1;grid-template-columns:288px minmax(0,1fr);min-height:0;display:grid}.kt-shell>.stage{min-height:0}.kt-texto{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s1) var(--s2);width:100%;min-width:0;font-size:22px;font-weight:700}.kt-texto:focus{border-color:var(--cut);outline:none}.kt-opciones{padding:0}.kt-opciones .part{text-align:center;flex:calc(50% - 6px)}button.kt-accion{background:var(--cut);border-color:var(--cut);color:#fff}button.kt-accion:hover:not(:disabled){color:#fff;filter:brightness(1.08)}.kt-msg{padding:var(--s2) 20px;border-bottom:1px solid var(--line2);margin:0;font-size:12.5px}.kt-aviso{color:var(--warn);background:var(--panel)}.kt-error{color:var(--cut);background:var(--cut-soft)}.kt-vista{flex:1}.kt-vacio{color:var(--muted);margin:auto}.kt-planchas{align-content:start;gap:var(--s3);padding:var(--s3) 20px;background:var(--panel2);flex:1;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));display:grid;overflow:auto}.kt-planchas figure{margin:0}.kt-planchas img{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;width:100%;display:block}.kt-planchas figcaption{color:var(--muted);margin-top:var(--s1);font-size:10.5px}.kt-licencia{white-space:pre-wrap;max-height:160px;font-size:10.5px;overflow:auto}@media (width<=760px){.kt-shell{grid-template-rows:auto minmax(420px,1fr);grid-template-columns:1fr}.kt-shell>.rail{border-right:0;border-bottom:1px solid var(--line);padding-bottom:0}.statbar{gap:12px}}.rail a{color:var(--cut);font-weight:600}.kt-tres .part{flex:calc(33% - 6px)}.kt-nota{color:var(--muted);background:var(--panel)}.kt-opacidad{accent-color:var(--cut);width:110px}.top>a.brand{color:inherit;text-decoration:none}
