:root{--ok:#7fd99a;--ok-dim:rgba(127,217,154,.12);--err:#e2705e;--err-text:#f0a999;--err-dim:rgba(226,112,94,.12);--err-border:rgba(226,112,94,.35)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;color:inherit}.hidden{display:none!important}.splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:100dvh;padding:20px;text-align:center}.brand-mark-lg{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--accent),#7fd0ff 55%,var(--accent) 100%);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 10px 30px rgba(79,163,255,.25)}.splash h1{margin:4px 0 0;font-size:19px;font-weight:600;letter-spacing:.2px}.splash .brand-carga{--wm-h:30px;margin-bottom:calc(var(--wm-h) * .34 + 4px)}.splash-sub{color:var(--text-secondary);font-size:12.5px;font-family:var(--mono)}.spinner{width:20px;height:20px;border-radius:50%;margin-top:6px;border:2.5px solid var(--border);border-top-color:var(--accent);animation:mecsoft-spin .8s linear infinite}@keyframes mecsoft-spin{to{transform:rotate(360deg)}}.login{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:20px}.login-card{width:min(360px,100%);background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:28px 26px;display:flex;flex-direction:column;gap:16px}.login-card .brand{display:flex;align-items:center;gap:9px;margin-bottom:2px}.login-card h1{margin:0;font-size:16px;font-weight:600}.login-card .brand-ingreso{--wm-h:16px;margin-bottom:calc(var(--wm-h) * .34 + 2px)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.field input{background:var(--bg-field);border:1px solid var(--border);border-radius:7px;padding:10px 12px;font-size:13.5px;color:var(--text-primary)}.field input:focus{outline:none;border-color:var(--accent)}.login-error{font-size:12.5px;color:var(--err-text);background:var(--err-dim);border:1px solid var(--err-border);border-radius:7px;padding:8px 11px}.login-error:empty{display:none}.btn.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.btn-primary:hover{background:#71b6ff;border-color:#71b6ff}.btn.btn-primary:disabled{opacity:.5;cursor:not-allowed}.shell{display:flex;flex-direction:column;height:100dvh}.shell-header{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-panel-2),var(--bg-panel))}.hdr-r1{display:flex;align-items:center;gap:14px;padding:8px 18px 7px;min-width:0}.hdr-r2{display:flex;align-items:center;padding:5px 13px 6px;border-top:1px solid rgba(42,51,66,.65);background:rgba(13,17,23,.28);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.hdr-sep{width:1px;height:22px;background:var(--border);flex:0 0 auto}.shell-tabs{display:flex;gap:3px;flex-wrap:nowrap;flex:0 0 auto}.shell-tabs button{background:none;border:1px solid transparent;color:var(--text-secondary);white-space:nowrap;padding:7px 13px;border-radius:7px;font-size:13px;cursor:pointer;font-weight:500}.shell-tabs button:hover{color:var(--text-primary)}.shell-tabs button.active{background:var(--accent-dim);color:var(--accent);border-color:rgba(79,163,255,.3)}.shell-spacer{flex:1 1 auto}.shell-user{font-size:12px;color:var(--text-secondary);font-family:var(--mono);white-space:nowrap}.shell-content{flex:1 1 auto;min-height:0;overflow:auto}.tab-panel{height:100%}.tab-panel.scroll{overflow-y:auto;padding:22px}#tab-visor.tab-panel{overflow:hidden}.page-head{margin-bottom:18px;max-width:720px}.page-head h2{margin:0 0 6px;font-size:17px;font-weight:600}.page-head p{margin:0;font-size:12.5px;color:var(--text-secondary);line-height:1.65}.page-head code{font-family:var(--mono);font-size:11.5px;background:var(--bg-panel-2);padding:1px 5px;border-radius:4px}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-bottom:16px;max-width:780px}.card h3{margin:0 0 12px;font-size:13.5px;font-weight:600}table.data-table{width:100%;border-collapse:collapse;font-size:12.5px}table.data-table th{text-align:left;color:var(--text-muted);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;border-bottom:1px solid var(--border)}table.data-table td{padding:9px 10px;border-bottom:1px solid var(--border-soft);font-family:var(--mono);color:var(--text-secondary);vertical-align:top}table.data-table tr:last-child td{border-bottom:none}table.data-table .empty-row td{color:var(--text-muted);font-style:italic;font-family:var(--sans)}table.data-table .row-btn{font-family:var(--sans);font-size:11.5px;background:var(--accent-dim);color:var(--accent);border:1px solid rgba(79,163,255,.3);border-radius:5px;padding:3px 8px;cursor:pointer;margin:0 4px 4px 0}table.data-table .row-btn:hover{background:rgba(79,163,255,.22)}textarea.json-editor{width:100%;min-height:260px;background:var(--bg-field);border:1px solid var(--border);border-radius:7px;padding:12px;color:var(--text-primary);font-family:var(--mono);font-size:12px;line-height:1.55;resize:vertical}textarea.json-editor:focus{outline:none;border-color:var(--accent)}.status-pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;padding:3px 9px;border-radius:20px;white-space:nowrap}.status-pill::before{content:"";width:6px;height:6px;border-radius:50%}.status-pill.st-done{color:var(--ok);background:var(--ok-dim)}.status-pill.st-done::before{background:var(--ok)}.status-pill.st-error{color:var(--err-text);background:var(--err-dim)}.status-pill.st-error::before{background:var(--err)}.status-pill.st-running,.status-pill.st-queued{color:var(--warn);background:rgba(226,163,61,.12)}.status-pill.st-running::before,.status-pill.st-queued::before{background:var(--warn)}.err-list{margin:6px 0 0;padding-left:18px;font-size:11.5px;color:var(--err-text);line-height:1.6}.ok-text{color:var(--ok)}.err-text{color:var(--err-text)}.toast{position:fixed;right:18px;bottom:18px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;padding:11px 16px;font-size:12.5px;max-width:340px;box-shadow:0 10px 30px rgba(0,0,0,.4);z-index:80;transition:opacity .2s}.toast.err{border-color:var(--err-border);color:var(--err-text)}@media(max-width:760px){.hdr-r1{padding:6px 10px;gap:8px}.hdr-r2{padding:4px 6px 5px}.shell-user{display:none}}:root{--bg-app:#0d1117;--bg-panel:#151b24;--bg-panel-2:#1c2430;--bg-field:#0f141b;--border:#2a3342;--border-soft:#212a37;--text-primary:#e8edf4;--text-secondary:#93a1b6;--text-muted:#5a6678;--accent:#4fa3ff;--accent-dim:rgba(79,163,255,.14);--accent-ink:#0a1622;--warn:#e2a33d;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased}button,input{font-family:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100dvh}.brand{display:flex;align-items:baseline;gap:9px}.brand-mark{width:22px;height:22px;border-radius:5px;flex:0 0 auto;background:linear-gradient(135deg,var(--accent),#7fd0ff 55%,var(--accent) 100%);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}.brand-name{font-weight:600;font-size:15px;letter-spacing:.2px}.badge{margin-left:auto;display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--warn);background:rgba(226,163,61,.10);border:1px solid rgba(226,163,61,.35);padding:5px 10px;border-radius:6px;white-space:nowrap}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warn);flex:0 0 auto}.badge.ok{color:var(--accent);background:var(--accent-dim);border-color:rgba(79,163,255,.35)}.badge.ok::before{background:var(--accent)}.main{flex:1 1 auto;display:flex;min-height:0}.panel{flex:0 0 272px;overflow-y:auto;background:var(--bg-panel);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:18px}.viewport-wrap{flex:1 1 auto;position:relative;min-width:0;background:var(--bg-field)}.viewport-wrap canvas{display:block;touch-action:none}.viewport-hint{position:absolute;left:14px;bottom:12px;font-size:11px;color:var(--text-muted);font-family:var(--mono);pointer-events:none;line-height:1.5}.colorbar-wrap{flex:0 0 108px;border-left:1px solid var(--border);background:var(--bg-panel);display:flex;flex-direction:column;align-items:center;padding:16px 10px;gap:8px}@media(max-width:760px){.main{flex-direction:column}.panel{flex:0 0 auto;width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:38vh}.colorbar-wrap{flex:0 0 auto;width:100%;flex-direction:row;border-left:none;border-top:1px solid var(--border);padding:10px 14px;gap:12px}.colorbar-wrap .cb-body{flex-direction:column;width:100%;gap:6px}.colorbar-wrap .cb-track{width:100%;height:16px}.colorbar-wrap .cb-ticks{flex-direction:row;justify-content:space-between;width:100%;height:auto;text-align:center}.viewport-wrap{min-height:260px}}.group{display:flex;flex-direction:column;gap:8px}.group-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.source-line{font-size:12.5px;color:var(--text-secondary);line-height:1.5}.source-line b{color:var(--text-primary);font-weight:600}.btn{appearance:none;border:1px solid var(--border);background:var(--bg-panel-2);color:var(--text-primary);padding:8px 12px;border-radius:7px;font-size:12.5px;cursor:pointer;text-align:center;transition:border-color .12s,background .12s}.btn:hover{border-color:var(--accent);background:var(--accent-dim)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-row{display:flex;gap:8px}.btn-row .btn{flex:1 1 0}.file-btn{position:relative;overflow:hidden}.file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:100px}.seg{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{flex:1 1 0;background:var(--bg-panel-2);border:none;color:var(--text-secondary);padding:9px 6px;font-size:12px;cursor:pointer;border-right:1px solid var(--border);font-weight:500}.seg button:last-child{border-right:none}.seg button.active{background:var(--accent-dim);color:var(--accent)}.seg button:disabled{opacity:.35;cursor:not-allowed}.campo-btn{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:9px 10px 9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-2);color:var(--text-primary);font-family:var(--sans);font-size:12.5px;font-weight:500;line-height:1.3;text-align:start;cursor:pointer;transition:border-color .12s,box-shadow .12s}.campo-btn:hover{border-color:rgba(79,163,255,.55)}.campo-btn:focus-visible{outline:2px solid #8fc4ff;outline-offset:1px}.campo-btn[aria-expanded=true]{border-color:rgba(79,163,255,.55);box-shadow:0 0 0 2px rgba(79,163,255,.14)}.campo-btn:disabled{opacity:.4;cursor:not-allowed}.campo-txt{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campo-btn svg{flex:0 0 auto;opacity:.8}.campo-lista{position:fixed;z-index:60;overflow-y:auto;padding:5px;border:1px solid var(--border);border-radius:9px;background:#1a212c;box-shadow:0 12px 30px rgba(0,0,0,.5)}.campo-op{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;color:var(--text-primary);font-size:12.5px;font-weight:500;line-height:1.3;white-space:nowrap;cursor:pointer;outline:none}.campo-op svg{flex:0 0 12px;visibility:hidden}.campo-op[aria-selected=true]{background:var(--accent-dim);color:var(--accent)}.campo-op[aria-selected=true] svg{visibility:visible}.campo-op:hover,.campo-op:focus{background:rgba(79,163,255,.2)}.campo-op:focus-visible{box-shadow:inset 0 0 0 1px rgba(143,196,255,.7)}.campo-op[aria-disabled=true]{background:none;color:var(--text-muted);cursor:not-allowed}.campo-nota{margin-inline-start:auto;padding-inline-start:14px;font-size:11px;font-weight:400;color:var(--text-muted);white-space:normal}.campo-sep{height:1px;margin:4px 8px;background:var(--border)}@media(pointer:coarse){.campo-op{padding:14px 12px}}.stat-mapa{margin-top:-2px}.stat-mapa .stat-value{font-size:12.5px}.stat-mapa-nota{margin-top:-4px}.stat{display:flex;align-items:baseline;justify-content:space-between;background:var(--bg-panel-2);border:1px solid var(--border-soft);border-radius:7px;padding:9px 11px}.stat-label{font-size:11.5px;color:var(--text-muted)}.stat-value{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}.slider-row{display:flex;flex-direction:column;gap:6px}.slider-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px}.slider-head span:last-child{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--accent-ink)}input[type=range]:disabled{opacity:.35}.helper{font-size:11px;color:var(--text-muted);line-height:1.5}.check-row{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-secondary);cursor:pointer}.check-row input{width:15px;height:15px;accent-color:var(--accent)}.spacer{flex:1 1 auto}.link-btn{background:none;border:none;color:var(--accent);font-size:12px;text-align:left;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.cb-field{font-size:11px;color:var(--text-secondary);text-align:center;font-weight:600}.cb-body{display:flex;flex-direction:row;align-items:stretch;gap:8px}.cb-track{width:22px;height:220px;border-radius:5px;border:1px solid var(--border-soft);background:linear-gradient(180deg,#7a0d0d,#e2432d,#f5c53d,#3fbf6b,#2f7fd6,#2a3f9e);flex:0 0 auto}.cb-ticks{display:flex;flex-direction:column;justify-content:space-between;height:220px;font-family:var(--mono);font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right;flex:0 0 auto}.cb-unit{font-size:10.5px;color:var(--text-muted)}.contract-overlay{position:fixed;inset:0;background:rgba(6,9,13,.72);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.contract-overlay[hidden]{display:none}.contract-card{width:min(560px,100%);max-height:80vh;overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:20px 22px}.contract-card h2{margin:0 0 4px;font-size:15px}.contract-card p{margin:6px 0 14px;font-size:12.5px;color:var(--text-secondary);line-height:1.6}.contract-card pre{margin:0;background:var(--bg-field);border:1px solid var(--border-soft);border-radius:7px;padding:14px;font-family:var(--mono);font-size:11.5px;color:#bcd4ee;line-height:1.6;overflow-x:auto}.contract-close{margin-top:14px}#tab-visor{display:flex;flex-direction:column}#tab-visor .app{height:100%}.shell-content{overflow:hidden}.workspace{display:flex;height:100%;min-height:0}.work-left{flex:0 0 50%;min-width:340px;min-height:0;display:flex;flex-direction:column;background:var(--bg-app)}.work-left .tab-panel{height:auto;flex:1 1 auto;min-height:0}.work-splitter{flex:0 0 8px;position:relative;cursor:col-resize;touch-action:none;background:var(--bg-panel);border-left:1px solid var(--border);border-right:1px solid var(--border);transition:background .12s}.work-splitter::after{content:"";position:absolute;top:50%;left:50%;width:2px;height:36px;margin:-18px 0 0 -1px;border-radius:2px;background:var(--text-muted);opacity:.55}.work-splitter:hover,.work-splitter.dragging,.work-splitter:focus-visible{background:var(--accent-dim);outline:none}.work-splitter:hover::after,.work-splitter.dragging::after{background:var(--accent);opacity:1}.work-right{flex:1 1 0;min-width:300px;min-height:0;position:relative}body.splitting,body.splitting *{cursor:col-resize!important;user-select:none!important}.model-bar{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:9px 22px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.mb-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:600}.mb-select{background:var(--bg-field);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:6px 8px;font-size:12.5px;max-width:100%}.mb-select:focus{outline:none;border-color:var(--accent)}.mb-select:disabled{opacity:.5}.mb-note{flex:1 1 100%;font-size:11px;color:var(--text-muted);line-height:1.45}.mb-note:empty{display:none}table.click-rows tbody tr:not(.empty-row){cursor:pointer}table.click-rows tbody tr:not(.empty-row):hover td{background:rgba(79,163,255,.06)}table.click-rows tbody tr.row-selected td{background:var(--accent-dim);color:var(--text-primary)}table.click-rows tbody tr.row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.btn-next{margin-top:12px;width:100%}.btn-run{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#238636;border-color:#2ea043;color:#fff;font-weight:600;letter-spacing:.02em}.btn-run:hover{background:#2ea043;border-color:#3fb950}.btn-run:disabled{background:#238636;border-color:#2ea043;opacity:.42}.btn-run .play-ico{width:12px;height:12px;fill:currentColor;flex:0 0 auto}.btn-run.running .play-ico{animation:mecanoid-blink 1s ease-in-out infinite}@keyframes mecanoid-blink{50%{opacity:.25}}.btn-row .btn-run{flex:0 0 auto;min-width:104px}.k-force{color:#ff7a70}.k-fixed{color:#c77dff}.k-mesh{color:#b5bac2}.prompt-box{width:100%;min-height:76px;resize:vertical;background:var(--bg-field);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13.5px;line-height:1.5;color:var(--text-primary)}.prompt-box:focus{outline:none;border-color:var(--accent)}.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 12px}.chip-label{font-size:11px;color:var(--text-muted);margin-right:2px}.chip{font-size:11.5px;padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--bg-panel-2);color:var(--text-secondary);cursor:pointer}.chip:hover{border-color:var(--accent);color:var(--accent)}.assistant-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.assistant-actions .btn-primary{margin-left:auto;min-width:120px}.seg-sm button{padding:6px 12px;font-size:11.5px}.engine-note{margin-top:7px}#assistantStatus:empty{display:none}#assistantStatus{margin-top:8px}.tree-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.tree-head h3{margin:0}.name-field{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;max-width:330px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.name-input{background:var(--bg-field);border:1px solid var(--border);border-radius:6px;padding:6px 9px;font-family:var(--mono);font-size:12px;color:var(--text-primary);text-transform:none;letter-spacing:0;font-weight:400}.name-input:focus{outline:none;border-color:var(--accent)}.tree{display:flex;flex-direction:column;gap:14px}.tree-group-title{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.tree-group-title .count{font-family:var(--mono);font-weight:500;letter-spacing:0}.tree-list{display:flex;flex-direction:column;gap:7px}.tree-item{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:8px;padding:9px 11px;background:var(--bg-panel-2);display:flex;flex-direction:column;gap:6px}.tree-item.k-load{border-left-color:#e0231c}.tree-item.k-support{border-left-color:#a020ff}.tree-item.k-mesh{border-left-color:#6a6f78}.tree-item.has-error{border-color:var(--err-border);border-left-color:var(--err)}.tree-empty{font-size:12px;color:var(--text-muted);font-style:italic}.ti-main{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.ti-label{font-size:12.5px;font-weight:600;color:var(--text-primary);line-height:1.45}.ti-eye{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:0 5px 0 -3px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);vertical-align:-6px;cursor:pointer}.ti-eye svg{display:block}.ti-eye:hover{color:var(--text-primary);background:rgba(255,255,255,.06)}.ti-eye:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ti-eye.off{color:var(--accent)}.tree-item.escondido .ti-label{color:var(--text-secondary)}.conf{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:20px;white-space:nowrap;flex:0 0 auto}.conf-high{color:var(--ok);background:var(--ok-dim)}.conf-mid{color:var(--warn);background:rgba(226,163,61,.12)}.conf-low,.conf-err{color:var(--err-text);background:var(--err-dim)}.ti-faces{display:flex;flex-wrap:wrap;gap:5px}.face-chip{display:inline-flex;align-items:center;gap:2px;font-family:var(--mono);font-size:11px;border-radius:5px;border:1px solid var(--border);background:var(--bg-field);color:var(--text-secondary)}.face-chip button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:2px 7px}.face-chip button.fc-x{padding:2px 6px 2px 2px;color:var(--text-muted)}.face-chip:hover{border-color:var(--accent);color:var(--accent)}.face-chip button.fc-x:hover{color:var(--err-text)}.ti-why{font-size:11px;color:var(--text-muted);line-height:1.5}.ti-err{font-size:11.5px;color:var(--err-text);line-height:1.5}.ti-actions{display:flex;gap:14px;flex-wrap:wrap}.ti-actions .link-btn{font-size:11.5px}.ti-actions .link-btn:disabled{opacity:.4;cursor:not-allowed}.tree-ico{flex:0 0 auto;width:14px;height:14px;display:inline-block}.tree-ico.i-force{color:#ff4b40}.tree-ico.i-fixed{width:9px;height:9px;margin:0 3px 0 2px;background:#a020ff;transform:rotate(45deg);box-shadow:0 0 6px rgba(160,32,255,.9)}.tree-ico.i-mesh{border:1px solid #6a6f78;border-radius:2px;background-color:#2b2f36;background-image:linear-gradient(#8a9099 1px,transparent 1px),linear-gradient(90deg,#8a9099 1px,transparent 1px);background-size:4.5px 4.5px}.msgs{display:flex;flex-direction:column;gap:8px;margin-top:14px}.msgs:empty{display:none}.msg-box{border-radius:7px;padding:8px 11px;font-size:12px;line-height:1.55}.msg-box ul{margin:4px 0 0;padding-left:18px}.msg-box li+li{margin-top:3px}.msg-title{font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em}.msg-err{background:var(--err-dim);border:1px solid var(--err-border);color:var(--err-text)}.msg-q{background:rgba(226,163,61,.10);border:1px solid rgba(226,163,61,.35);color:#f2c879}.msg-warn{background:var(--bg-panel-2);border:1px solid var(--border);color:var(--text-secondary)}.msg-ok{background:var(--bg-panel-2);border:1px solid var(--border-soft);color:var(--text-secondary)}.msg-ok summary{cursor:pointer;color:var(--text-secondary)}.msg-ok.valid{border-color:rgba(127,217,154,.35)}.msg-ok .ok-head{color:var(--ok);font-weight:600}.tree-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.tree-actions .btn{flex:0 0 auto;min-width:110px}#draftStatus{margin-top:8px}#draftStatus:empty{display:none}details.advanced summary{cursor:pointer;font-size:13.5px;font-weight:600}details.advanced[open] summary{margin-bottom:10px}details.advanced .helper{margin:0 0 10px}.shell-header .brand{align-items:center}.brand-btn{background:none;border:1px solid transparent;border-radius:7px;padding:3px 6px 7px;margin:-4px -7px -8px;color:inherit;font:inherit;cursor:pointer;flex:0 0 auto}.brand-btn:hover{background:var(--bg-panel-2);border-color:var(--border)}.brand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.news-overlay{position:fixed;inset:0;background:rgba(6,9,13,.72);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.news-card{width:min(820px,100%);max-height:84vh;overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:20px 22px}.news-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.news-head{position:sticky;top:-20px;z-index:1;margin:-20px -22px 0;padding:20px 22px 0;background:var(--bg-panel)}.news-head h2{margin:0;font-size:16px}.news-ver{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-soft)}.news-ver:first-child{border-top:none;padding-top:0}.news-ver h3{margin:0;font-size:13.5px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.news-ver .news-tag{font-family:var(--mono);font-size:10px;color:var(--accent);background:var(--accent-dim);padding:1px 7px;border-radius:20px}.news-ver .news-date{font-family:var(--mono);font-size:11px;color:var(--text-muted);font-weight:400}.news-ver ul{margin:8px 0 0;padding-left:18px;font-size:12.5px;line-height:1.6;color:var(--text-secondary)}.news-ver li+li{margin-top:4px}.news-ver h3 .news-v{font-family:var(--mono);color:var(--accent);font-weight:600;letter-spacing:.02em}.news-ver h3 .news-title{color:var(--text-primary)}.news-ver ul.news-grid{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:7px 16px}.news-ver li.news-it{margin:0;display:flex;align-items:center;gap:9px;min-width:0;font-size:12.5px;line-height:1.35}.news-chip{flex:none;min-width:92px;text-align:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(79,163,255,.28);padding:3px 7px;border-radius:4px;white-space:nowrap}.news-txt{min-width:0;color:var(--text-secondary)}details.news-ver>summary{cursor:pointer;list-style:none}details.news-ver>summary::-webkit-details-marker{display:none}details.news-ver>summary h3::before{content:"▸";color:var(--text-muted);font-size:11px}details.news-ver[open]>summary h3::before{content:"▾"}.panel .visor-badge{margin-left:0;white-space:normal;line-height:1.45;flex:0 0 auto}@media(max-width:760px){.workspace{flex-direction:column}.work-right{order:-1;flex:0 0 42vh;min-width:0;min-height:240px}.work-splitter{display:none}.work-left{flex:1 1 auto!important;min-width:0}.model-bar{padding:8px 12px;flex-wrap:nowrap}.model-bar .mb-label,.model-bar .mb-note{display:none}.tab-panel.scroll{padding:14px}}.tree-note{font-size:11.5px;color:var(--text-secondary);background:var(--bg-panel-2);border:1px dashed var(--border);border-radius:7px;padding:7px 10px;line-height:1.5}.tree-note .link-btn{font-size:11.5px}.preview-fail{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:13px;line-height:1.6;color:var(--text-secondary);background:var(--bg-field)}.tree-card.busy .tree,.tree-card.busy .tree-actions{pointer-events:none;opacity:.55}[hidden]{display:none!important}.brand-mark{display:inline-block;width:19px;height:22px;flex:0 0 auto;border-radius:0;background:var(--brand-cubo, url(/brand/cubo-m.svg)) center / contain no-repeat;box-shadow:none;color:transparent;font-size:0;user-select:none}.brand-mark::after{content:none}:root{--brand-cubo-defecto:url(/brand/cubo-m.svg)}.brand-mark.brand-mark-lg{width:52px;height:60px;box-shadow:none;filter:drop-shadow(0 10px 22px rgba(79,163,255,.28))}.brand-name .brand-ai{color:#0fb0fd;background:linear-gradient(180deg,#00b8fd,#0aa0f4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-name .brand-wordmark{display:block;height:var(--wm-h, 12.5px);width:auto;user-select:none;-webkit-user-drag:none}:root{--wm-h:12.5px}.brand-lockup{position:relative;display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1;vertical-align:middle}.brand-lockup .brand-texto{display:block;line-height:1}.brand-year{position:absolute;top:100%;right:0;display:block;min-height:1em;margin-top:calc(var(--wm-h) * .1);margin-right:-.14em;font-family:var(--sans);font-size:max(8px,calc(var(--wm-h) * .62));font-weight:600;line-height:1;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;user-select:none}.splash .brand-carga,.login-card .brand-ingreso,.shell-header .brand-btn,.home-brand{display:flex;align-items:center;gap:calc(var(--wm-h) * .72)}.splash .brand-carga .brand-mark,.login-card .brand-ingreso .brand-mark,.shell-header .brand-btn .brand-mark,.home-brand .brand-mark{width:calc(var(--wm-h) * 1.43);height:calc(var(--wm-h) * 1.76)}.brand-carga .brand-name,.brand-ingreso .brand-name,.brand-btn .brand-name,.home-brand .brand-name{display:flex;margin:0}.shell-tabs .tab-ai{font-size:11px;font-weight:600;color:var(--accent);opacity:.85;margin-left:1px}.shell-tabs button.active .tab-ai{opacity:1}.head-icons{display:flex;align-items:center;gap:2px}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);cursor:pointer;padding:0;transition:background .12s,color .12s,border-color .12s}.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-btn:hover{color:var(--text-primary);background:var(--bg-panel-2);border-color:var(--border)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.icon-btn.active{color:var(--accent);background:var(--accent-dim);border-color:rgba(79,163,255,.3)}.icon-btn:disabled{opacity:.35;cursor:not-allowed;background:transparent;border-color:transparent}.icon-btn.dirty{position:relative}.icon-btn.dirty::after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px var(--bg-panel)}.engine-badge{margin-left:0;font-weight:600;letter-spacing:.08em}.engine-badge.active{color:#8dffa6;background:rgba(57,255,20,.07);border-color:rgba(57,255,20,.38);text-shadow:0 0 6px rgba(57,255,20,.35)}.engine-badge.active::before{width:8px;height:8px;background:#39ff14;box-shadow:0 0 4px 1px rgba(57,255,20,.95),0 0 12px 3px rgba(57,255,20,.45);animation:engine-glow 2.4s ease-in-out infinite}@keyframes engine-glow{0%,100%{box-shadow:0 0 4px 1px rgba(57,255,20,.95),0 0 12px 3px rgba(57,255,20,.45)}50%{box-shadow:0 0 3px 1px rgba(57,255,20,.75),0 0 6px 1px rgba(57,255,20,.25)}}.engine-badge.test::before{background:var(--warn)}.engine-badge.off{color:var(--err-text);background:var(--err-dim);border-color:var(--err-border)}.engine-badge.off::before{background:var(--err)}.user-zone{display:flex;align-items:center;gap:8px}.user-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid transparent;border-radius:20px;padding:2px 10px 2px 2px;cursor:pointer;color:var(--text-secondary)}.user-btn:hover,.user-btn[aria-expanded=true]{background:var(--bg-panel-2);border-color:var(--border);color:var(--text-primary)}.user-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.user-btn .shell-user{font-family:var(--sans);font-size:12.5px;font-weight:500}.avatar{width:28px;height:28px;border-radius:50%;flex:0 0 auto;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.02em;color:#fff;background:linear-gradient(145deg,#1f4f8f 0%,#3b82d6 55%,#7fbfff 100%);box-shadow:0 0 0 1.5px rgba(255,255,255,.85),0 2px 6px rgba(16,48,92,.35)}.avatar img,.uc-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.user-card{position:fixed;top:52px;right:14px;z-index:70;width:min(352px,calc(100vw - 24px));border-radius:16px;padding:14px 16px 12px;color:#10233a;overflow:hidden;overflow:clip;font-family:var(--sans);background:radial-gradient(120% 85% at 0% 0%,rgba(255,255,255,.96) 0%,rgba(255,255,255,0) 58%),radial-gradient(90% 70% at 100% 100%,rgba(79,163,255,.30) 0%,rgba(79,163,255,0) 70%),linear-gradient(148deg,#f6f9fd 0%,#e0eaf6 28%,#c3d5ec 60%,#a3bddf 100%);box-shadow:0 22px 60px rgba(2,8,18,.6),0 0 0 1px rgba(255,255,255,.65) inset,0 0 0 1px rgba(28,58,98,.35);transform-origin:top right;animation:uc-in .16s ease-out}@keyframes uc-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.uc-sheen{position:absolute;top:-40%;left:-60%;width:45%;height:180%;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));transform:rotate(18deg) translateX(-120%);opacity:.9}.user-card:not(.hidden) .uc-sheen{animation:uc-sheen 1.5s ease-out .12s 1 both}@keyframes uc-sheen{from{transform:rotate(18deg) translateX(-60%)}to{transform:rotate(18deg) translateX(420%)}}.uc-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.uc-brand{--wm-h:7.7px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.14em;color:#16304f}.uc-brand .brand-mark{width:17px;height:20px;background-image:var(--brand-cubo-claro, url(/brand/cubo-m-claro.svg))}.uc-brand .brand-name{display:flex;font-size:11px;font-weight:700}.uc-brand .brand-texto{line-height:.7}.uc-brand .brand-year{color:inherit;opacity:.72}.uc-logout{background:none;border:none;padding:3px 2px;cursor:pointer;color:#1c4f8d;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em}.uc-logout:hover{text-decoration:underline;text-underline-offset:3px}.uc-main{position:relative;display:flex;gap:14px;align-items:flex-start}.uc-avatar{width:68px;height:68px;border-radius:50%;flex:0 0 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;letter-spacing:.02em;color:#fff;background:linear-gradient(145deg,#1f4f8f 0%,#3b82d6 55%,#7fbfff 100%);box-shadow:0 0 0 3px rgba(255,255,255,.85),0 6px 18px rgba(16,48,92,.35)}.uc-info{min-width:0;display:flex;flex-direction:column;gap:3px;padding-top:4px}.uc-name{font-size:16.5px;font-weight:700;color:#0c1d31;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.uc-email{font-size:12.5px;color:#2b4665;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.uc-email:empty{display:none}.uc-link{font-size:12.5px;color:#1c4f8d;text-decoration:underline;text-underline-offset:2px;cursor:pointer;line-height:1.6}.uc-link[aria-disabled=true]{color:rgba(28,79,141,.6);text-decoration-style:dotted;cursor:not-allowed}.uc-add{position:relative;width:100%;margin-top:14px;padding:10px 4px 2px;display:flex;align-items:center;gap:10px;background:none;border:none;border-top:1px solid rgba(28,58,98,.22);color:#1d3a5c;font-family:var(--sans);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.uc-add svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.uc-add:disabled{cursor:not-allowed;color:rgba(29,58,92,.55)}.uc-soon{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1b5eb0;background:rgba(255,255,255,.6);border:1px solid rgba(27,94,176,.28);border-radius:20px;padding:1px 8px}@media(prefers-reduced-motion:reduce){.user-card,.user-card .uc-sheen,.engine-badge.active::before{animation:none!important}}.wb-work{display:flex;align-items:baseline;gap:8px;flex:1 1 220px;min-width:0}.wb-name{font-size:13px;font-weight:600;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-state{font-family:var(--mono);font-size:10.5px;white-space:nowrap;color:var(--text-muted)}.wb-state.unsaved{color:var(--warn)}.wb-state.saved{color:var(--ok)}.h-sub{font-size:11px;font-weight:500;color:var(--text-muted);margin-left:4px}.name-field .req{color:var(--err);font-weight:700;margin-left:1px}.name-input::placeholder{color:var(--text-muted);opacity:.8}.name-input.invalid{border-color:var(--err);box-shadow:0 0 0 3px var(--err-dim);animation:mecanoid-nudge .28s ease-in-out 1}@keyframes mecanoid-nudge{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.btn-ico{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;vertical-align:-2px;margin-right:5px}#saveDraftBtn{display:inline-flex;align-items:center;justify-content:center}.run-wrap{position:relative;display:inline-flex;flex:0 0 auto}.run-wrap .btn-run{min-width:104px}.btn-run .lock-ico{display:none;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;flex:0 0 auto}.run-wrap.blocked{cursor:not-allowed}.run-wrap.blocked .btn-run{pointer-events:none;opacity:.42}.run-wrap.blocked:hover .btn-run .play-ico{display:none}.run-wrap.blocked:hover .btn-run .lock-ico{display:inline-block}.run-wrap.blocked:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);right:0;z-index:20;white-space:nowrap;font-size:12px;font-weight:500;color:#f4f7fb;background:#223044;border:1px solid #3a4b63;border-radius:7px;padding:6px 10px;box-shadow:0 8px 22px rgba(0,0,0,.45);pointer-events:none}.run-wrap.blocked:hover::before{content:"";position:absolute;bottom:calc(100% + 4px);right:22px;z-index:21;width:9px;height:9px;background:#223044;border-right:1px solid #3a4b63;border-bottom:1px solid #3a4b63;transform:rotate(45deg)}.btn-row .run-wrap{flex:0 0 auto}.tree-actions .run-wrap .btn{min-width:110px}.home{height:100%;overflow-y:auto;background:radial-gradient(900px 420px at 18% -8%,rgba(79,163,255,.10),rgba(79,163,255,0) 70%),var(--bg-app)}.home-inner{max-width:1352px;margin:0 auto;padding:30px 28px 40px}.home-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 30px;margin-bottom:28px}.home-hero-text{max-width:620px}.home-brand{--wm-h:22px;margin-bottom:calc(var(--wm-h) * .34 + 18px)}.home-hero h2{margin:0 0 8px;font-size:24px;font-weight:600;letter-spacing:.1px}.home-hero p{margin:0;font-size:13px;line-height:1.65;color:var(--text-secondary)}.home-actions{display:flex;flex-wrap:wrap;gap:10px}.home-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px}.home-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.home-section{margin-bottom:26px}.home-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.home-section-head h3{margin:0;font-size:14px;font-weight:600}.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(214px,1fr));gap:14px}.recent-card{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;cursor:pointer;background:var(--bg-panel);border:1px solid var(--border);border-radius:11px;color:var(--text-primary);font-family:var(--sans);transition:transform .12s,border-color .12s,box-shadow .12s}.recent-card:hover,.recent-card:focus-visible{transform:translateY(-2px);border-color:rgba(79,163,255,.55);box-shadow:0 10px 26px rgba(0,0,0,.35);outline:none}.rc-thumb{position:relative;aspect-ratio:16/10;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0a0f17,#182232);border-bottom:1px solid var(--border-soft);overflow:hidden}.rc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rc-thumb .brand-mark{width:35px;height:40px;opacity:.55}.rc-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.rc-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-meta{font-family:var(--mono);font-size:10.5px;color:var(--text-muted);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-empty{grid-column:1/-1;padding:26px;text-align:center;color:var(--text-muted);font-size:12.5px;line-height:1.6;border:1px dashed var(--border);border-radius:11px}.home-tips{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-size:12px;color:var(--text-muted)}.home-tips b{font-family:var(--mono);font-weight:500;color:var(--text-secondary);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:4px;padding:0 5px}.ask-overlay{position:fixed;inset:0;background:rgba(6,9,13,.72);display:flex;align-items:center;justify-content:center;z-index:75;padding:20px}.ask-card{width:min(460px,100%);background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:20px 22px 18px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.ask-card h2{margin:0 0 8px;font-size:15.5px}.ask-card p{margin:0 0 18px;font-size:13px;line-height:1.6;color:var(--text-secondary)}.ask-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ask-buttons .btn{min-width:96px}.ask-buttons.ask-apilados{flex-direction:column;align-items:stretch}.btn-danger{border-color:var(--err-border);color:var(--err-text)}.btn-danger:hover{background:var(--err-dim);border-color:var(--err)}.viewport-wrap{overflow:hidden;background:#0f141b}.viewport-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.viewport-wrap canvas.viewport-canvas{position:relative;z-index:1}.viewport-hint{z-index:2}select.vp-theme{position:absolute;top:12px;right:12px;z-index:5;width:130px;appearance:none;-webkit-appearance:none;cursor:pointer;font-family:var(--sans);font-size:11.5px;font-weight:500;line-height:1;color:#eef2f8;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:6px 22px 6px 9px;background-color:rgba(13,17,23,.58);background-image:linear-gradient(45deg,transparent 50%,#cfd8e4 50%),linear-gradient(135deg,#cfd8e4 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}select.vp-theme:hover{border-color:rgba(127,190,255,.75);background-color:rgba(79,163,255,.30)}select.vp-theme option{background:#151b24;color:#e8edf4}.viewport-logo{position:absolute;top:48px;right:14px;z-index:4;display:flex;align-items:center;gap:7px;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.16em;color:rgba(226,234,245,.78);pointer-events:none;user-select:none;text-shadow:0 1px 2px rgba(0,0,0,.45)}.viewport-logo .brand-mark{width:17px;height:20px}.vp-light .viewport-logo .brand-mark{background-image:var(--brand-cubo-claro, url(/brand/cubo-m-claro.svg))}.vp-light .viewport-logo{color:rgba(22,40,64,.78);text-shadow:none}.vp-light .viewport-hint{color:rgba(22,40,64,.7)}.viewport-empty{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;pointer-events:none;font-size:14px;line-height:1.6;font-weight:500;color:rgba(226,234,245,.86);text-shadow:0 1px 3px rgba(0,0,0,.5)}.vp-light .viewport-empty{color:rgba(18,30,46,.82);text-shadow:none}.badge.idle{color:var(--text-secondary);background:var(--bg-panel-2);border-color:var(--border)}.badge.idle::before{background:var(--text-muted)}.main.results-empty .colorbar-wrap{visibility:hidden}.main.results-empty .panel .group~.group{opacity:.42;pointer-events:none}@media(max-width:760px){.head-icons{gap:0}.icon-btn{width:30px;height:30px}.user-btn{padding:2px}.home-inner{padding:18px 14px 28px}.home-hero h2{font-size:20px}.wb-work .mb-label{display:none}.user-card{top:auto;bottom:12px;right:12px;left:12px;width:auto}}@media(max-width:1100px){.user-btn .shell-user{display:none}.user-btn{padding:2px}}@media(max-width:900px){.hdr-r1{gap:10px;padding-left:12px;padding-right:12px}.engine-badge{letter-spacing:.04em;padding:5px 8px}.shell-tabs button{padding:7px 10px;font-size:12.5px}}@media(max-width:480px){.hdr-r1{gap:6px;padding-left:8px;padding-right:8px}.hdr-sep,#logoutBtn{display:none}}@media(max-width:400px){.engine-badge{font-size:0;gap:0;padding:7px}}.sr-only{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:root{--seg:#22c55e;--noseg:#facc15;--confd:#16a34a}.wb-chip{font-family:var(--mono);font-size:10.5px;color:var(--text-secondary);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:20px;padding:3px 10px;cursor:pointer;white-space:nowrap}.wb-chip:hover{border-color:var(--accent);color:var(--accent)}.wb-chip.wb-contacts{color:#f2c879;border-color:rgba(226,163,61,.45)}.wb-chip.wb-legacy{color:var(--text-muted)}.wb-menu-wrap{position:relative;flex:0 0 auto}.wb-more{width:30px;height:26px;border-radius:6px;border:1px solid var(--border);background:var(--bg-panel-2);color:var(--text-secondary);cursor:pointer;font-size:15px;line-height:1;padding:0 0 4px}.wb-more:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wb-more:disabled{opacity:.4;cursor:not-allowed}.wb-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:270px;padding:5px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:9px;box-shadow:0 14px 34px rgba(0,0,0,.5);display:flex;flex-direction:column}.wb-menu button{display:flex;justify-content:space-between;gap:14px;align-items:baseline;text-align:left;background:none;border:none;color:var(--text-primary);font-size:12.5px;padding:8px 10px;border-radius:6px;cursor:pointer}.wb-menu button:hover,.wb-menu button:focus-visible{background:var(--accent-dim);color:var(--accent);outline:none}.wb-menu button:disabled{opacity:.4;cursor:not-allowed;background:none;color:var(--text-primary)}.wb-key{font-family:var(--mono);font-size:10px;color:var(--text-muted)}.page-head .ph-sub{font-size:13px;color:var(--text-secondary)}.phys-dominios{container:fisica / inline-size;max-width:780px;margin-bottom:16px}.phys-carrusel{position:relative}.phys-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.phys-card{position:relative;display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;cursor:pointer;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-family:var(--sans);transition:transform .12s,border-color .12s,box-shadow .12s}.phys-card:hover:not(.locked),.phys-card:focus-visible{transform:translateY(-2px);border-color:rgba(79,163,255,.55);box-shadow:0 10px 26px rgba(0,0,0,.35);outline:none}.phys-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 10px 26px rgba(0,0,0,.35)}.phys-card.selected::after{content:"";position:absolute;top:10px;left:10px;width:24px;height:24px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.6l3.1 3.1 6.5-7.2' fill='none' stroke='%230a1622' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat;box-shadow:0 2px 8px rgba(0,0,0,.4)}.phys-card.locked{cursor:not-allowed}.phys-card.locked .pc-thumb img{filter:grayscale(.75) brightness(.55)}.pc-thumb{position:relative;display:block;aspect-ratio:16/10;width:100%;background:#0a0f17;border-bottom:1px solid var(--border-soft)}.pc-thumb img{display:block;width:100%;height:100%;object-fit:cover}.pc-lock{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%);width:fit-content;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;text-wrap:balance;font-size:12px;font-weight:600;color:#eef2f8;background:rgba(8,12,18,.78);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:7px 13px;box-shadow:0 6px 18px rgba(0,0,0,.45)}.pc-lock svg{flex:0 0 auto;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}.pc-body{display:flex;flex-direction:column;gap:5px;padding:12px 14px 14px}.pc-name{font-size:15px;font-weight:600}.pc-meta{font-size:12px;color:var(--text-secondary);line-height:1.5}.phys-forms{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.phys-form{position:relative;display:flex;flex-direction:column;gap:5px;text-align:left;cursor:pointer;padding:12px 14px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:9px;color:var(--text-primary);font-family:var(--sans)}.phys-form:hover{border-color:rgba(79,163,255,.55)}.phys-form.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}.pf-name{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.phys-form.selected .pf-name::before{content:"●";color:var(--accent);font-size:11px}.pf-meta{font-size:11.5px;color:var(--text-secondary);line-height:1.5}.pf-tag{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.04em;color:#0b1a10;background:var(--seg);border-radius:20px;padding:1px 7px}.phys-rec{font-size:12.5px;line-height:1.6;color:var(--text-secondary);background:var(--bg-panel-2);border:1px solid var(--border-soft);border-left:3px solid var(--accent);border-radius:7px;padding:9px 12px}.phys-rec:empty,.phys-summary:empty{display:none}.phys-rec b{color:var(--text-primary)}.phys-rec .pr-linea{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px}.phys-rec .pr-forma{color:var(--text-primary);font-weight:500}.phys-rec .pr-linea .info-tip{margin:-3px 0 -3px -2px}.phys-rec .pr-aviso{display:block;margin-top:6px;color:#f2c879}.phys-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ps-pill{font-family:var(--mono);font-size:11px;color:var(--text-secondary);background:var(--bg-field);border:1px solid var(--border);border-radius:20px;padding:2px 9px}.ps-pill b{color:var(--text-primary);font-weight:600}.phys-note{margin-top:10px;font-size:12px;line-height:1.55;color:#f2c879;background:rgba(226,163,61,.08);border:1px solid rgba(226,163,61,.3);border-radius:7px;padding:8px 11px}#physStatus:empty{display:none}#physStatus{margin-top:8px}.conf-segura{color:var(--seg);background:rgba(34,197,94,.13)}.conf-nosegura{color:var(--noseg);background:rgba(250,204,21,.13)}.conf-confirmado{color:#fff;background:var(--confd);font-weight:600}.ti-main .ti-right{display:flex;align-items:center;gap:6px;flex:0 0 auto}.ck{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;vertical-align:-1px;margin-right:4px;flex:0 0 auto}.conf-btn .ck{margin:0;width:13px;height:13px;vertical-align:middle}.conf-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;border-radius:6px;border:1px solid rgba(34,197,94,.45);background:rgba(22,163,74,.10);color:var(--seg);font-size:13px;font-weight:700;line-height:1;cursor:pointer;padding:0}.conf-btn:hover{background:var(--confd);border-color:var(--confd);color:#fff}.conf-btn:disabled{opacity:.35;cursor:not-allowed}.tree-item.confirmed{border-left-color:var(--confd)}.tree-item.unsure:not(.confirmed){box-shadow:inset 0 0 0 1px rgba(250,204,21,.35)}.tree-confirm{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tree-confirm .tc-text{font-size:11.5px;color:var(--text-muted)}.tree-confirm .tc-text.pending{color:var(--noseg)}.tree-confirm .tc-text.all{color:var(--seg)}.btn-confirm-all{border-color:rgba(34,197,94,.45);color:var(--seg);padding:6px 12px;font-size:12px}.btn-confirm-all:hover:not(:disabled){background:var(--confd);border-color:var(--confd);color:#fff}.btn-confirm-all:disabled{opacity:.4;cursor:not-allowed}.refine-panel{margin-top:4px;border:1px solid var(--border);border-radius:8px;background:var(--bg-field);padding:10px 11px;display:flex;flex-direction:column;gap:9px}.rp-tabs{display:flex;gap:4px}.rp-tabs button{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:5px 11px;font-size:11.5px;cursor:pointer}.rp-tabs button.active{background:var(--accent-dim);border-color:rgba(79,163,255,.4);color:var(--accent)}.rp-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rp-row .btn{padding:6px 11px;font-size:12px}.rp-size{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.rp-size input{width:72px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:5px 7px;font-family:var(--mono);font-size:12px;color:var(--text-primary)}.rp-size input:focus{outline:none;border-color:var(--accent)}.rp-help{font-size:11px;color:var(--text-muted);line-height:1.5}.rp-sel{display:flex;flex-wrap:wrap;gap:5px;min-height:22px;align-items:center}.rp-sel:empty::before{content:var(--txt-sin-caras, "");font-size:11px;color:var(--text-muted);font-style:italic}.rp-sugg{display:flex;flex-direction:column;gap:7px}.rp-s{display:flex;gap:9px;align-items:flex-start;padding:8px 9px;border:1px solid var(--border-soft);border-radius:7px;background:var(--bg-panel)}.rp-s input{margin-top:2px;accent-color:var(--accent)}.rp-s-body{display:flex;flex-direction:column;gap:4px;min-width:0}.rp-s-title{font-size:12px;font-weight:600}.rp-s-why{font-size:11px;color:var(--text-secondary);line-height:1.5}.rp-notes{font-size:11px;color:var(--text-muted);line-height:1.5;margin:0;padding-left:16px}.ref-entry{position:relative;padding:6px 30px 6px 9px;border:1px solid var(--border-soft);border-radius:7px;background:var(--bg-panel-2);display:flex;flex-direction:column;gap:5px}.ref-entry .ref-x{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:5px;border:none;background:none;color:var(--text-muted);font-size:15px;line-height:1;cursor:pointer}.ref-entry .ref-x:hover{color:var(--err-text);background:var(--err-dim)}.ref-src{font-family:var(--mono);font-size:9.5px;color:var(--text-muted);border:1px solid var(--border);border-radius:20px;padding:0 6px;margin-left:6px}.ref-list{display:flex;flex-direction:column;gap:6px}.act-box{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12.5px;line-height:1.55;border-radius:8px;padding:9px 12px;background:rgba(226,163,61,.08);border:1px solid rgba(226,163,61,.35);color:#f2c879}.act-box.err{background:var(--err-dim);border-color:var(--err-border);color:var(--err-text)}.act-box.info{background:var(--accent-dim);border-color:rgba(79,163,255,.35);color:#a9d1ff}.act-box .ab-text{flex:1 1 240px}.act-box .btn{padding:6px 12px;font-size:12px}.job-card{margin-top:12px;border:1px solid var(--border);border-radius:9px;background:var(--bg-panel-2);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.job-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.job-stage{font-size:13.5px;font-weight:600;color:var(--warn);display:flex;align-items:center;gap:8px}.job-stage::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:mecanoid-blink 1.2s ease-in-out infinite}.job-card.running .job-stage{color:var(--accent)}.job-card.done .job-stage{color:var(--ok)}.job-card.failed .job-stage,.job-card.cancelled .job-stage{color:var(--err-text)}.job-card.done .job-stage::before,.job-card.failed .job-stage::before,.job-card.cancelled .job-stage::before{animation:none}.job-clock{font-family:var(--mono);font-size:20px;font-weight:500;color:var(--text-primary);letter-spacing:.04em}.job-bar{height:6px;border-radius:6px;background:var(--bg-field);overflow:hidden;border:1px solid var(--border-soft)}.job-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),#7fd0ff);transition:width .5s ease}.job-card.queued .job-bar i{background:repeating-linear-gradient(45deg,rgba(226,163,61,.55) 0 8px,rgba(226,163,61,.25) 8px 16px);width:100%!important;animation:mecanoid-stripes 1s linear infinite;background-size:22px 22px}@keyframes mecanoid-stripes{to{background-position:22px 0}}.job-sub{font-size:12px;color:var(--text-secondary);line-height:1.5}.job-sub:empty{display:none}.job-actions{display:flex;justify-content:flex-end}.job-actions .btn{padding:7px 14px}.nv-badge{position:relative;display:inline-block;margin-left:6px;font-family:var(--mono);font-size:10px;font-weight:600;color:var(--noseg);background:rgba(250,204,21,.12);border:1px solid rgba(250,204,21,.4);border-radius:20px;padding:0 7px;cursor:help}.nv-badge.soft{color:var(--text-secondary);background:var(--bg-panel-2);border-color:var(--border)}.nv-badge:hover::after,.nv-badge:focus::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:-6px;z-index:30;width:270px;white-space:normal;font-family:var(--sans);font-size:11.5px;font-weight:500;line-height:1.5;color:#f4f7fb;background:#223044;border:1px solid #3a4b63;border-radius:7px;padding:7px 10px;box-shadow:0 8px 22px rgba(0,0,0,.45);pointer-events:none}.status-pill.st-cancelled{color:var(--text-secondary);background:var(--bg-panel-2)}.status-pill.st-cancelled::before{background:var(--text-muted)}table.data-table th.col-act,table.data-table td.col-act{width:38px;text-align:right;padding-right:6px}.case-del{width:28px;height:26px;border-radius:6px;border:1px solid transparent;background:none;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.case-del svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.case-del:hover{color:var(--err-text);background:var(--err-dim);border-color:var(--err-border)}.join-card{width:min(580px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.join-card .join-lead{margin-bottom:14px}.join-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.join-opt{display:flex;gap:11px;align-items:flex-start;cursor:pointer;padding:11px 13px;border:1px solid var(--border);border-radius:9px;background:var(--bg-panel-2)}.join-opt:hover{border-color:rgba(79,163,255,.5)}.join-opt.selected{border-color:var(--accent);background:var(--accent-dim)}.join-opt input{margin-top:3px;accent-color:var(--accent)}.jo-body{display:flex;flex-direction:column;gap:4px}.jo-name{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jo-tag{font-family:var(--mono);font-size:9.5px;font-weight:600;color:#0b1a10;background:var(--seg);border-radius:20px;padding:1px 7px}.jo-tag.jo-adv{color:#2b2205;background:var(--noseg)}.jo-text{font-size:12px;line-height:1.55;color:var(--text-secondary)}.join-opt.dimmed .jo-name{color:var(--text-secondary)}.join-warns{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.join-warns:empty{display:none}.jw-box{font-size:12px;line-height:1.55;border-radius:8px;padding:8px 11px;background:rgba(226,163,61,.08);border:1px solid rgba(226,163,61,.35);color:#f2c879}.jw-box b{color:#ffe1a3}.jw-box.err{background:var(--err-dim);border-color:var(--err-border);color:var(--err-text)}.join-ack{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--text-primary);margin-bottom:12px;padding:9px 11px;border:1px dashed rgba(250,204,21,.5);border-radius:8px;cursor:pointer}.join-ack input{margin-top:3px;accent-color:var(--noseg)}.join-remap{font-size:12px;line-height:1.55;color:var(--text-secondary);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 11px;margin-bottom:12px}.join-status:empty{display:none}.join-status{margin-bottom:10px}.remap-list{margin:6px 0 0;padding-left:18px}.remap-list li+li{margin-top:3px}.remap-list code{font-family:var(--mono);font-size:11px}#tab-reporte.tab-panel{overflow:auto;background:var(--bg-app)}.report-root{min-height:100%}.report-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:60vh;padding:30px;text-align:center;color:var(--text-secondary);font-size:14px}.report-missing b{color:var(--text-primary);font-size:16px}.capture-stage{display:flex!important;position:fixed!important;left:-30000px!important;top:0!important;width:1280px!important;height:800px!important;z-index:-1;pointer-events:none}.capture-stage .work-left,.capture-stage .work-splitter{display:none!important}.capture-stage .work-right{flex:1 1 auto!important;height:800px}.up-bar{display:block;margin-top:6px;max-width:420px}.rc-run{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--warn);white-space:nowrap}.mp-btn.mp-on{background:rgba(79,163,255,.42);border-color:rgba(160,205,255,.9);color:#fff}.mp-light .mp-btn.mp-on{background:rgba(29,54,86,.88);border-color:#1d3656;color:#fff}@media(max-width:760px){.model-bar{flex-wrap:wrap}.model-bar .wb-work{flex:1 1 100%}.wb-chip{font-size:10px;padding:2px 8px}.wb-menu{min-width:240px}.phys-forms{grid-template-columns:1fr}.pc-name{font-size:14px}.job-clock{font-size:18px}.nv-badge:hover::after{width:220px;left:auto;right:-6px}.join-card{padding:16px 15px 14px}}.tree-ico.i-cs{width:12px;height:12px;margin:0 2px;border-left:2px solid #e5484d;border-bottom:2px solid #30a46c;position:relative}.tree-ico.i-cs::after{content:"";position:absolute;left:-1px;bottom:-1px;width:7px;height:2px;background:#3e8bff;transform:rotate(-45deg);transform-origin:left}.tree-item.k-cs{border-left-color:#3e8bff}.tree-item.k-eq{border-left-color:#ff8a3d}.cs-id{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--text-muted);margin-left:6px}.eq-panel{margin-top:6px;border:1px solid var(--border);border-radius:9px;background:var(--bg-field);padding:11px 12px;display:flex;flex-direction:column;gap:9px}.eq-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px}.eq-field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.eq-field select,.eq-field input,.eq-field textarea,.eq-param input,.eq-xyz input{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-size:12.5px;text-transform:none;letter-spacing:0;font-weight:400;font-family:var(--sans);min-width:0}.eq-field textarea{font-family:var(--mono);font-size:12.5px;resize:vertical;min-height:44px}.eq-field select:focus,.eq-field input:focus,.eq-field textarea:focus,.eq-param input:focus,.eq-xyz input:focus{outline:none;border-color:var(--accent)}.eq-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.eq-params{display:flex;flex-direction:column;gap:6px}.eq-param{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(70px,1fr) minmax(0,.9fr) auto;gap:8px;align-items:center;font-size:12px}.eq-pname-t{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eq-pname-t code,.eq-code{font-family:var(--mono);font-size:11px;color:var(--text-muted)}.eq-param .ref-x{position:static;width:22px;height:22px}.eq-punit{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eq-xyz{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;color:var(--text-secondary)}.eq-xyz label{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px}.eq-xyz input{width:84px;font-family:var(--mono)}.eq-lbl{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.eq-comps-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.eq-comp{display:flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0}.eq-comp code{font-family:var(--mono);font-size:11.5px;color:var(--text-secondary)}.eq-comp input{flex:1 1 auto;width:100%;font-family:var(--mono)}.face-chip.empty{color:var(--text-muted);font-style:italic;padding:2px 8px}.eq-result{font-size:12px;line-height:1.55}.eq-ok,.cs-res{display:flex;flex-wrap:wrap;gap:6px 14px;padding:8px 10px;border:1px solid rgba(127,217,154,.3);border-radius:7px;background:var(--ok-dim);color:var(--text-secondary)}.eq-ok b,.cs-res b{color:var(--text-primary);font-family:var(--mono);font-weight:600}.cs-res{border-color:rgba(79,163,255,.35);background:var(--accent-dim);font-family:var(--mono);font-size:11.5px}.eq-err{padding:8px 10px;border:1px solid var(--err-border);border-radius:7px;background:var(--err-dim);color:var(--err-text)}.eq-err .eq-code{display:block;margin-top:6px;color:var(--text-primary);white-space:pre-wrap;word-break:break-all}.eq-err mark{background:var(--err);color:#fff;border-radius:2px;padding:0 1px}.eq-recs{display:flex;flex-direction:column;gap:6px}.eq-recs-t{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.eq-rec{display:grid;grid-template-columns:minmax(9em,1fr) auto;gap:2px 10px;text-align:start;padding:7px 10px;border-radius:7px;cursor:pointer;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-secondary);font-family:var(--sans);font-size:11.5px;line-height:1.4}.eq-rec b{color:var(--text-primary);font-size:12.5px;font-weight:600}.eq-rec span{grid-column:1 / -1}.eq-rec code{grid-row:1;grid-column:2;font-family:var(--mono);font-size:10.5px;color:var(--text-muted);white-space:nowrap}.eq-rec:hover{border-color:var(--accent)}.eq-rec.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent) inset}.eq-rec:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.eq-hint .link-btn{margin-inline-start:4px}@media(max-width:760px){.eq-rec{grid-template-columns:minmax(0,1fr)}.eq-rec code{grid-row:auto;grid-column:1}}.eq-faces-t{width:100%;border-collapse:collapse;margin-top:8px;font-size:11.5px;font-family:var(--mono)}.eq-faces-t th{text-align:left;font-family:var(--sans);font-weight:600;color:var(--text-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;padding:3px 6px;border-bottom:1px solid var(--border-soft)}.eq-faces-t td{padding:3px 6px;color:var(--text-secondary);border-bottom:1px solid var(--border-soft)}.eq-faces-t tr.eq-zero td{color:var(--text-muted);font-style:italic}.mp-fieldlegend{position:absolute;left:10px;top:46px;z-index:6;min-width:180px;padding:7px 10px 6px;border-radius:8px;background:rgba(13,17,23,.74);border:1px solid rgba(255,255,255,.14);color:#e8edf4;font-size:11px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.mp-fl-title{font-weight:600;margin-bottom:5px}.mp-fl-bar{height:8px;border-radius:4px;background:linear-gradient(90deg,rgb(46,107,255),rgb(23,194,255) 30%,rgb(54,224,138) 55%,rgb(245,209,64) 78%,rgb(255,89,54))}.mp-fl-vals{display:flex;justify-content:space-between;gap:10px;margin-top:3px;font-family:var(--mono);font-size:10.5px;color:#c9d4e2}.mp-light .mp-fieldlegend{background:rgba(255,255,255,.86);border-color:rgba(20,34,52,.16);color:#12202f}.mp-light .mp-fl-vals{color:#2a3b52}@media(max-width:760px){.eq-row3{grid-template-columns:1fr 1fr}.eq-param{grid-template-columns:minmax(0,1fr) 90px auto}.eq-param .eq-punit{display:none}}.uc-lang{position:relative;display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12.5px;font-weight:600;color:#1d3a5c}.uc-lang select{flex:1;min-width:0;font:inherit;font-weight:500;color:#10233a;background:rgba(255,255,255,.72);border:1px solid rgba(28,58,98,.3);border-radius:8px;padding:5px 8px;cursor:pointer}.uc-lang select:focus-visible{outline:2px solid #1b5eb0;outline-offset:1px}.uc-beta{flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.06em;color:#1b5eb0;cursor:help;background:rgba(255,255,255,.6);border:1px solid rgba(27,94,176,.28);border-radius:20px;padding:1px 8px}.uc-beta-tip{position:absolute;top:calc(100% + 6px);right:0;z-index:2;width:max-content;max-width:240px;padding:6px 9px;border-radius:8px;background:#10233a;color:#f4f8fd;box-shadow:0 6px 18px rgba(2,8,18,.35);font-size:11.5px;font-weight:500;letter-spacing:0;line-height:1.4;text-align:left;white-space:normal;visibility:hidden;opacity:0;transition:opacity .12s ease-out}.uc-beta:hover .uc-beta-tip,.uc-beta.tip-on .uc-beta-tip,.uc-lang:has(select:focus-visible) .uc-beta-tip{visibility:visible;opacity:1}[dir=rtl] .uc-beta-tip{right:auto;left:0;text-align:right}[dir=rtl] .user-card{right:auto;left:14px;transform-origin:top left}[dir=rtl] .uc-add{text-align:right}[dir=rtl] .uc-soon{margin-left:0;margin-right:auto}@media(max-width:760px){[dir=rtl] .user-card{left:12px;right:12px}}.mat-current{display:flex;flex-direction:column;gap:10px}.mat-cur-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mat-cur-head b{font-size:15px}.mat-tag{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--accent);border:1px solid var(--accent);border-radius:20px;padding:1px 8px}.mat-props{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.mat-props div{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel-2)}.mat-props small{color:var(--text-secondary);font-size:11px}.mat-props b{font-family:var(--mono);font-size:13px}.mat-props.mp-largo{display:flex;flex-wrap:wrap}.mat-props.mp-largo div{flex:1 1 0;min-width:max-content}.mat-src{margin:0;line-height:1.45}.mat-lib{display:flex;flex-direction:column;gap:6px;margin:14px 0}.mat-group{margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.mat-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;text-align:left;padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:inherit;cursor:pointer}.mat-card:hover{border-color:rgba(79,163,255,.55)}.mat-card.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}.mat-card .mc-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.mat-card.selected .mc-name::before{content:"●";color:var(--accent);font-size:11px}.mat-card .mc-meta{font-size:11.5px;color:var(--text-secondary)}.mat-own{display:flex;flex-direction:column;gap:6px;margin:-6px 0 14px}.mat-create{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 12px;border:1px dashed rgba(79,163,255,.55);border-radius:6px;background:transparent;color:var(--accent);font:600 13px var(--sans);cursor:pointer}.mat-create:hover,.mat-create:focus-visible{background:var(--accent-dim);border-style:solid;outline:none}.mat-create svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.mat-own-group,.mat-own-list{display:flex;flex-direction:column;gap:6px}.mat-own-item{display:flex;align-items:stretch;gap:6px}.mat-own-item .mat-card{flex:1 1 auto;min-width:0}.mat-del{flex:0 0 auto;width:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);color:var(--text-secondary);cursor:pointer}.mat-del:hover,.mat-del:focus-visible{color:var(--err-text);border-color:var(--err-border);background:var(--err-dim);outline:none}.mat-del svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mat-del.mat-edit:hover,.mat-del.mat-edit:focus-visible{color:var(--accent);border-color:rgba(79,163,255,.55);background:var(--accent-dim)}.mat-dlg{width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto}.mat-dlg>p{margin-bottom:4px}.mat-dlg .ask-buttons{margin-top:4px}.mat-dlg-status{font-size:12.5px;line-height:1.5}.mat-dlg-status:empty{display:none}.mat-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px;align-items:end}.mat-form .wide{grid-column:1 / -1}.mat-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.mat-f input{padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-app);color:var(--text-primary);font-family:var(--mono)}.mat-f input.invalid{border-color:#ff7b6b;box-shadow:0 0 0 1px #ff7b6b}.mat-f .req,.mat-actions .req{color:#ff7b6b}.mat-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mat-curva{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px dashed var(--border);border-radius:6px}.mat-curva-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mat-curva-u{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.mat-curva-u select{padding:4px 6px;border:1px solid var(--border);border-radius:5px;background:var(--bg-app);color:var(--text-primary);font-family:var(--mono);font-size:12px}.mat-curva-ayuda{margin:0;line-height:1.45}.mat-curva-graf svg,.mat-cur-curva svg{display:block;width:100%;height:auto;color:var(--text-secondary)}.mat-curva-info{font-size:12px;line-height:1.5;color:var(--text-secondary)}.mat-curva-info:empty{display:none}.mat-curva-info .aviso{color:var(--warn)}.mat-curva-acc{display:flex;justify-content:flex-end}.mat-cur-curva{display:flex;flex-direction:column;gap:4px;max-width:560px}.mat-cur-curva p{margin:0}.bs-avisos{position:relative;margin-top:6px}.bs-avisos-btn{border:0;background:none;padding:2px 0;color:#f0b45a;font-size:12px;cursor:pointer;text-align:left}.bs-avisos-btn:hover,.bs-avisos-btn[aria-expanded=true]{text-decoration:underline}.bs-avisos-globo{position:absolute;left:0;top:calc(100% + 6px);z-index:20;width:min(340px,82vw);max-height:300px;overflow:auto;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-2);color:var(--text-primary);box-shadow:0 12px 30px rgba(0,0,0,.45);font-size:11.5px;line-height:1.45;display:flex;flex-direction:column;gap:4px}.bs-avisos-globo::before{content:"";position:absolute;top:-6px;left:16px;width:10px;height:10px;background:inherit;border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.bs-avisos-globo[hidden]{display:none}.bs-diam{margin-top:6px}.btn.btn-anim,.btn.btn-rec{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}.btn-anim .anim-ico{width:0;height:0;border-style:solid;border-width:5.5px 0 5.5px 9px;border-color:transparent transparent transparent currentColor;flex:0 0 auto}.btn-anim.playing{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.btn-anim.playing .anim-ico{width:10px;height:10px;border:0;border-radius:1.5px;background:currentColor}.btn-rec .rec-ico{width:9px;height:9px;border-radius:50%;background:#e5484d;flex:0 0 auto}.btn-rec.recording{border-color:rgba(229,72,77,.75);background:rgba(229,72,77,.16);color:#ff8f8f}.btn-rec.recording .rec-ico{animation:vp-rec 1s ease-in-out infinite}@keyframes vp-rec{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.btn-rec.recording .rec-ico{animation:none}}.anim-row .btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vp-toolbar{position:absolute;top:12px;left:12px;right:150px;z-index:5;display:flex;flex-wrap:wrap;gap:4px;pointer-events:none}.vp-btn{pointer-events:auto;appearance:none;-webkit-appearance:none;cursor:pointer;font-family:var(--sans);font-size:11.5px;font-weight:500;line-height:1;color:#eef2f8;background:rgba(13,17,23,.58);border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:6px 9px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .12s,border-color .12s}.vp-btn:hover{background:rgba(79,163,255,.30);border-color:rgba(127,190,255,.75)}.vp-btn:focus-visible{outline:2px solid #8fc4ff;outline-offset:1px}.vp-btn.vp-on{background:rgba(79,163,255,.30);border-color:rgba(127,190,255,.75)}.vp-btn[hidden]{display:none}.vp-btn svg{display:block}.vp-views{display:flex;pointer-events:none}.vp-btn.vp-iso{border-top-right-radius:0;border-bottom-right-radius:0}.vp-btn.vp-caret{display:inline-flex;align-items:center;justify-content:center;padding:6px 6px;margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.vp-btn.vp-caret[aria-expanded=true]{background:rgba(79,163,255,.30);border-color:rgba(127,190,255,.75)}.vp-btn.vp-bc{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 8px}.main.results-empty .vp-toolbar,.main.results-empty .vp-menu{display:none}.vp-menu{position:absolute;z-index:7;min-width:156px;max-height:calc(100% - 56px);overflow:auto;padding:5px;border-radius:9px;background:rgba(13,17,23,.94);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 28px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.vp-menu[hidden]{display:none}.vp-mi{display:flex;align-items:center;gap:9px;width:100%;margin:0;border:0;border-radius:6px;padding:8px 10px;background:none;color:#eef2f8;cursor:pointer;text-align:start;white-space:nowrap;font-family:var(--sans,"IBM Plex Sans",sans-serif);font-size:12.5px;font-weight:500;line-height:1}.vp-mi:hover,.vp-mi:focus-visible{background:rgba(79,163,255,.30);outline:none}.vp-mi.vp-cur{box-shadow:inset 2px 0 0 #8fc4ff}.vp-mi svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;opacity:.9}.vp-menu-sep{height:1px;margin:4px 6px;background:rgba(255,255,255,.12)}canvas.vp-grav{position:absolute;left:0;top:0;z-index:4;pointer-events:none;transition:opacity .2s}canvas.vp-grav.tenue{opacity:.3}canvas.vp-grav[hidden]{display:none}.cb-ticks span.cb-skip{display:none}@media(max-width:760px){.colorbar-wrap{flex-wrap:wrap;row-gap:4px}.colorbar-wrap .cb-body{flex:1 1 200px;min-width:0}.colorbar-wrap .cb-pal{flex:1 0 100%;order:5}}.tree-ico.i-grav{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin:0 2px;font:italic 700 12px var(--sans);color:#2f7bff;position:relative}.tree-ico.i-grav::before{content:"";position:absolute;top:-1px;left:2px;width:9px;height:1.5px;background:#2f7bff}.tree-item.k-grav{border-left-color:#2f7bff}.ti-x{width:22px;height:22px;margin-left:6px;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:15px;line-height:1;cursor:pointer}.ti-x:hover{color:var(--err-text);background:var(--err-dim)}.tree-group-title .tg-del{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;border:1px solid transparent;background:none;color:var(--text-muted);cursor:pointer;font:inherit;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}.tree-group-title .tg-del svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tree-group-title .tg-del:hover,.tree-group-title .tg-del:focus-visible{color:var(--err-text);background:var(--err-dim);border-color:var(--err-border)}.web-conn{position:fixed;z-index:90;left:50%;transform:translateX(-50%);top:64px;max-width:min(640px,calc(100vw - 24px));padding:8px 14px;border-radius:8px;text-align:center;font:500 12.5px/1.45 var(--sans, "IBM Plex Sans", "Segoe UI", sans-serif);background:var(--bg-panel-2, #1c2430);color:var(--text-primary, #e8edf4);border:1px solid rgba(226,112,94,.45);box-shadow:0 10px 30px rgba(0,0,0,.4)}.web-conn.ok{border-color:rgba(127,217,154,.45)}.web-conn[hidden]{display:none}.open-work-row{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-soft)}.open-work-row .helper{flex:1 1 260px;margin:0;line-height:1.5}.open-work-row .btn{display:inline-flex;align-items:center;flex:0 0 auto}#runsTable td.col-time{font-family:var(--mono)}#runsTable th,#runsTable td{padding-left:7px;padding-right:7px}#runsTable th:first-child,#runsTable td:first-child{padding-left:0}#runsTable th:last-child,#runsTable td:last-child{padding-right:0}#runsTable th.col-time{min-width:7.5em}#runsTable .row-btn+.row-btn{margin-left:4px}#caseSetsTable th,#caseSetsTable td{padding-left:4px;padding-right:4px}#caseSetsTable th:first-child,#caseSetsTable td:first-child{padding-left:10px}#caseSetsTable th.col-act,#caseSetsTable td.col-act{padding-right:6px}.tabla-desliza>#caseSetsTable td.col-cuentas{white-space:normal}.tabla-desliza>#caseSetsTable td.col-mat{white-space:normal;min-width:7em}#caseSetsTable td.col-mat>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-width:16em}#caseSetsTable td.col-mat .pal{white-space:nowrap}.tabla-desliza>#caseSetsTable td.col-fis{white-space:normal}#caseSetsTable td.col-fis .pal{white-space:nowrap}.news-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:10px;border-top:1px solid var(--border-soft);font-size:11px;color:var(--text-muted)}.news-about{font-family:var(--mono)}.news-about .news-about-producto{display:block;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.news-about .news-about-titular{display:block;margin-top:3px;font-family:var(--sans)}.news-foot .news-lic{font-size:11px;color:var(--text-muted)}.news-foot .news-lic:hover,.news-foot .news-lic:focus-visible{color:var(--text-secondary)}.conf.conf-fallo{color:#fff;background:var(--err);font-weight:600}.tree-item.k-mesh.failed{border-left-color:var(--err)}.mesh-fail{margin-top:8px;padding:9px 11px;border:1px solid var(--err-border);border-radius:8px;background:var(--err-dim);font-size:12px;line-height:1.5;color:var(--text-secondary)}.mesh-fail .mf-head{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.mesh-fail .mf-msg{margin-top:4px;color:var(--err-text)}.mesh-fail .mf-recs{margin:6px 0 0;padding-left:18px}.mesh-fail .mf-recs li+li{margin-top:2px}.mesh-fail .mf-hint{margin-top:6px;font-size:11.5px;color:var(--text-muted)}.mesh-fail .mf-actions{margin-top:8px}.units-ind{position:absolute;left:10px;right:10px;bottom:7px;height:20px;z-index:5;pointer-events:none}.units-ind[hidden]{display:none}.mp-narrow>.units-ind{bottom:10px}.viewport-wrap>.units-ind{left:12px;right:12px;bottom:10px}.units-chip{position:absolute;right:0;bottom:0;box-sizing:border-box;height:20px;margin:0;pointer-events:auto;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap;font:500 10.5px/14px var(--mono);word-spacing:-2px;color:rgba(238,243,250,.92);background:rgba(13,17,23,.55);border:1px solid rgba(255,255,255,.14);border-radius:5px;padding:2px 6px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.units-chip::after{content:"▴";display:inline-block;margin-left:5px;font-size:9px;line-height:14px;vertical-align:top;opacity:.7}.units-chip:hover,.units-chip[aria-expanded=true]{border-color:rgba(255,255,255,.36)}.units-chip:focus{outline:none}.units-chip:focus-visible{outline:2px solid #8fc4ff;outline-offset:2px}.mp-light .units-chip,.vp-light .units-chip{color:#1d3656;background:rgba(255,255,255,.82);border-color:rgba(20,34,52,.2)}.mp-light .units-chip:hover,.vp-light .units-chip:hover,.mp-light .units-chip[aria-expanded=true],.vp-light .units-chip[aria-expanded=true]{border-color:rgba(20,34,52,.46)}.mp-light .units-chip:focus-visible,.vp-light .units-chip:focus-visible{outline-color:#1d3656}.units-tip{position:absolute;right:0;bottom:calc(100% + 9px);width:max-content;max-width:min(340px,100%);pointer-events:auto;padding:8px 9px 9px;border-radius:7px;background:#223044;border:1px solid #3a4b63;color:#f4f7fb;box-shadow:0 8px 22px rgba(0,0,0,.45);font:400 11.5px/1.5 var(--sans);white-space:normal;text-align:start}.units-tip[hidden]{display:none}.units-tip::after{content:"";position:absolute;right:50px;bottom:-6px;width:9px;height:9px;background:#223044;border-right:1px solid #3a4b63;border-bottom:1px solid #3a4b63;transform:rotate(45deg)}.units-tip b{display:block;font-weight:600;margin:0 2px 4px}.units-tip p{margin:6px 2px 0;color:#c3cfde}.units-list{display:flex;flex-direction:column;gap:2px}.units-opt{position:relative;display:block;padding:4px 8px 4px 24px;border:1px solid transparent;border-radius:5px;cursor:pointer;-webkit-tap-highlight-color:transparent}.units-opt:hover{background:rgba(143,196,255,.10);border-color:rgba(143,196,255,.28)}.units-opt:focus{outline:none}.units-opt:focus-visible{border-color:#8fc4ff;box-shadow:0 0 0 1px #8fc4ff}.units-opt[aria-selected=true]{background:rgba(143,196,255,.18)}.units-opt[aria-selected=true]::before{content:"✓";position:absolute;left:8px;top:4px;color:#8fc4ff;font-weight:700}.units-opt-name{display:block;font:600 11px/1.45 var(--mono);word-spacing:-2px;white-space:nowrap}.units-opt-u{display:block;font:500 10.5px/1.45 var(--mono);word-spacing:-2px;color:#c3cfde;white-space:nowrap}.mp-host.con-unidades .mp-label{max-width:calc(100% - var(--units-w, 116px) - 34px)}.mp-host.con-unidades .mp-hint{max-width:calc(100% - var(--units-w, 116px) - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewport-wrap.con-unidades .viewport-hint{max-width:calc(100% - var(--units-w, 116px) - 60px)}.mp-host.con-unidades.mp-narrow .mp-empty.mp-empty-lobby{bottom:38px}@media(max-width:760px),(pointer:coarse){.mp-host>.units-ind{bottom:10px}}@media print{.units-ind{display:none!important}}body.sin-ayuda-controles .mp-hint,body.sin-ayuda-controles .viewport-hint{display:none!important}body.sin-ejemplos-asistente #exampleChips{display:none!important}.cap-escenario{position:fixed!important;left:-30000px!important;top:0!important;flex:none!important;width:var(--cap-w)!important;height:var(--cap-h)!important;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;pointer-events:none}.cap-copia{pointer-events:none;user-select:none}body:not(.modo-desarrollo) .dev-tools,body:not(.modo-desarrollo) #contractOverlay{display:none!important}.login-error.listo{color:var(--ok);background:var(--ok-dim);border-color:rgba(127,217,154,.35)}#askText{white-space:pre-line}.mat-lib-head{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;font-weight:600;color:var(--text-secondary)}.mat-lib-head:first-child{margin-top:0}.mat-f-lib select{padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--bg-app);color:var(--text-primary);font:12.5px var(--sans)}.mat-f-lib[hidden]{display:none}#tab-corridas .card{container-type:inline-size}@container (max-width:520px){#tab-corridas .card .btn-row{flex-wrap:wrap}#tab-corridas .card .btn-row>select{flex:1 1 100%!important;min-width:0}#tab-corridas .card .btn-row .run-wrap{flex:1 1 100%}#tab-corridas .card .btn-row .run-wrap .btn-run{width:100%}}.info-tip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;margin:0;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:help;vertical-align:middle}.info-tip:hover,.info-tip:focus-visible{color:var(--accent)}.info-tip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.info-tip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.info-tip.info-aviso{color:#e2b33c}.info-tip.info-aviso:hover,.info-tip.info-aviso:focus-visible{color:#f5cc5a}.info-globo{position:fixed;left:0;top:0;z-index:100;max-width:260px;padding:7px 10px;border-radius:8px;background:#223044;border:1px solid #3a4b63;color:#f4f7fb;box-shadow:0 8px 22px rgba(0,0,0,.45);font:500 12px/1.45 var(--sans);text-transform:none;letter-spacing:0;text-align:start;white-space:normal;visibility:hidden;opacity:0;transition:opacity .12s ease-out;pointer-events:none}.info-globo.largo{max-width:340px}.info-globo.on{visibility:visible;opacity:1}@media(prefers-reduced-motion:reduce){.info-globo{transition:none}}.h-info{display:flex;align-items:center;gap:4px}.h-info .info-tip{margin:-3px 0}.tabla-desliza{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.card>.tabla-desliza{max-width:none;margin:0 -20px;padding:0 20px}.tabla-desliza>table.data-table td{white-space:nowrap}.tabla-desliza>table.data-table th{white-space:normal;overflow-wrap:normal;word-break:keep-all;vertical-align:bottom}.tabla-desliza>table.data-table .empty-row td{white-space:normal}.tabla-desliza>table.data-table td .err-text{display:inline-block;min-width:14em;max-width:26em;white-space:normal}.eq-panel{container:editor / inline-size}.eq-panel .eq-params,.eq-panel .eq-row3,.eq-panel .eq-xyz,.eq-panel .eq-comps-row,.eq-panel .eq-desliza{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}.eq-panel .eq-param{grid-template-columns:minmax(8rem,1.4fr) minmax(5rem,1fr) minmax(3rem,.9fr) auto}.eq-panel .eq-param .eq-punit{display:block}.eq-panel .eq-row3{grid-template-columns:repeat(3,minmax(6.5rem,1fr))}.eq-panel .eq-comps-row{grid-template-columns:repeat(3,minmax(6rem,1fr))}.eq-desliza>.eq-faces-t th,.eq-desliza>.eq-faces-t td{white-space:nowrap}@container editor (max-width:469px){.eq-xyz{display:grid;grid-template-columns:repeat(3,max-content) max-content;justify-content:start;align-items:center}.eq-xyz .eq-lbl{grid-column:1 / -1}}@container editor (max-width:399px){.eq-rec{grid-template-columns:minmax(0,1fr)}.eq-rec b{grid-row:1}.eq-rec code{grid-row:2;grid-column:1}.eq-rec span{grid-row:3}}.phys-flecha{display:none}@container fisica (max-width:519px){.phys-grid{gap:12px}.pc-body{padding:10px 12px 12px;gap:4px}.pc-name{font-size:14px}.pc-meta{font-size:11.5px}.pc-lock{font-size:11px;padding:5px 10px;gap:6px}}@container fisica (max-width:399px){.phys-carrusel{overflow:clip;overflow-clip-margin:14px}.phys-grid{grid-template-columns:100% 100%;gap:16px;transition:transform .32s cubic-bezier(.25,.8,.25,1)}.phys-carrusel.fluidos .phys-grid{transform:translateX(calc(-100% - 16px))}.phys-carrusel:not(.fluidos) #physFluidos,.phys-carrusel.fluidos #physEstructural{visibility:hidden;transition:visibility 0s .32s}.phys-card:hover:not(.locked),.phys-card:focus-visible{box-shadow:0 4px 10px rgba(0,0,0,.35)}.phys-card.selected{box-shadow:0 0 0 1px var(--accent),0 4px 10px rgba(0,0,0,.35)}.pc-lock{left:52px;right:52px}.phys-flecha{position:absolute;z-index:2;top:calc(31.25cqw - 17px);right:10px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;padding:0;border-radius:50%;cursor:pointer;color:#eef2f8;background:rgba(13,17,23,.72);border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 14px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .12s,border-color .12s}.phys-flecha:hover{background:rgba(79,163,255,.30);border-color:rgba(127,190,255,.75)}.phys-flecha:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.phys-flecha svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.phys-carrusel.fluidos .phys-flecha{right:auto;left:10px}.phys-carrusel.fluidos .phys-flecha svg{transform:scaleX(-1)}[dir=rtl] .phys-carrusel.fluidos .phys-grid{transform:translateX(calc(100% + 16px))}[dir=rtl] .phys-flecha{right:auto;left:10px}[dir=rtl] .phys-flecha svg{transform:scaleX(-1)}[dir=rtl] .phys-carrusel.fluidos .phys-flecha{left:auto;right:10px}[dir=rtl] .phys-carrusel.fluidos .phys-flecha svg{transform:none}}@media(prefers-reduced-motion:reduce){.phys-grid{transition:none!important}}select{color-scheme:dark}select option,select optgroup{background-color:var(--bg-panel-2);color:var(--text-primary)}.sesion-aviso{position:fixed;z-index:91;left:50%;transform:translateX(-50%);top:70px;width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:12px;padding:11px 10px 11px 14px;border-radius:10px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border);border-left:3px solid var(--warn);box-shadow:0 14px 40px rgba(0,0,0,.45);font:13px/1.45 var(--sans)}.sesion-aviso[hidden]{display:none}.sesion-aviso.tope{border-left-color:var(--err)}.sesion-aviso .sa-icono{flex:none;width:22px;height:22px;fill:none;stroke:var(--warn);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sesion-aviso.tope .sa-icono{stroke:var(--err)}.sesion-aviso .sa-cuerpo{flex:1 1 auto;min-width:0}.sesion-aviso .sa-titulo{display:block;font-weight:600;font-size:13.5px;font-variant-numeric:tabular-nums}.sesion-aviso .sa-texto{display:block;margin-top:2px;font-size:12.5px;color:var(--text-secondary)}.sesion-aviso .sa-botones{flex:none;display:flex;align-items:center;gap:6px}.sesion-aviso .btn{white-space:nowrap}.sesion-aviso .btn[hidden]{display:none}.sesion-aviso .sa-cerrar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer}.sesion-aviso .sa-cerrar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.sesion-aviso .sa-cerrar:hover{color:var(--text-primary);background:var(--bg-panel-2);border-color:var(--border)}.sesion-aviso .sa-cerrar:focus-visible,.sesion-aviso .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:540px){.sesion-aviso{flex-wrap:wrap}.sesion-aviso .sa-cuerpo{flex-basis:calc(100% - 40px)}.sesion-aviso .sa-botones{width:100%;justify-content:flex-end}}.login-nota{margin:0;font-size:12.5px;line-height:1.5;color:var(--text-secondary);background:var(--accent-dim);border:1px solid rgba(79,163,255,.3);border-radius:7px;padding:8px 11px}.login-nota[hidden]{display:none}.assist-tabs{gap:2px;align-items:flex-end;border-bottom:1px solid var(--border-soft);margin:-4px 0 12px}.assist-tab{background:none;border:none;border-bottom:2px solid transparent;margin:0 0 -1px;padding:3px 10px 7px;font:inherit;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-radius:4px 4px 0 0}.assist-tab:first-child{padding-left:2px}.assist-tab:hover{color:var(--text-primary)}.assist-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.assist-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.assist-tabs .info-tip{align-self:center;margin:-3px 0 2px 4px}.assist-pane[hidden]{display:none}.man-form{display:flex;flex-direction:column;gap:10px}.man-row{display:flex;align-items:center;gap:7px 10px;flex-wrap:wrap;min-width:0}.man-lbl{flex:0 0 76px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.man-seg{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 220px;min-width:0}.man-seg button{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}.man-seg button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.man-seg button.active{background:var(--accent-dim);border-color:rgba(79,163,255,.4);color:var(--accent)}.man-seg button:disabled{opacity:.4;cursor:not-allowed}.man-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.man-targets{align-items:flex-start;padding-left:86px}.man-targets .ti-faces,.man-targets .man-sel{flex:1 1 200px;min-width:0;margin:0}.man-targets .btn{padding:6px 11px;font-size:12px}.man-sel .face-chip.empty{font-style:italic;color:var(--text-muted);padding:2px 8px}.man-form input[type=text],.man-form select,.man-editor input[type=text],.man-editor select{background:var(--bg-field);border:1px solid var(--border);border-radius:6px;padding:5px 8px;color:var(--text-primary);font-size:12.5px;min-width:0}.man-editor input[type=text],.man-editor select{background:var(--bg-panel)}.man-form input[type=text]:focus,.man-form select:focus,.man-editor input[type=text]:focus,.man-editor select:focus{outline:none;border-color:var(--accent)}.man-mag{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.man-mag input{width:110px;font-family:var(--mono)}.man-dir{display:inline-flex;gap:6px 10px;align-items:center;flex-wrap:wrap;min-width:0}.man-vec{display:inline-flex;gap:8px;flex-wrap:wrap}.man-vec label{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11.5px;color:var(--text-secondary)}.man-vec input{width:64px;font-family:var(--mono)}.man-check{font-size:12px;color:var(--text-secondary);gap:7px;align-items:center}.man-dofs{display:flex;gap:8px 14px;flex-wrap:wrap}.man-dof{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:12px;color:var(--text-primary);cursor:pointer}.man-dof input{width:15px;height:15px;accent-color:var(--accent);margin:0}.man-actions .btn{padding:7px 13px}.man-actions .btn-primary{margin-left:auto;min-width:120px}.man-status:empty{display:none}.man-mesh{border-top:1px solid var(--border-soft);padding-top:10px;display:flex;flex-direction:column;gap:8px}.man-meshf{display:inline-flex;gap:8px 12px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.man-meshf label{display:inline-flex;align-items:center;gap:6px}.man-meshf input{width:76px;font-family:var(--mono)}.man-mesh .rp-row .btn{padding:6px 11px;font-size:12px}.man-u{font-family:var(--mono);font-size:12px;color:var(--text-secondary)}.man-editor .man-lbl{flex-basis:70px}.man-editor .man-targets{padding-left:80px}.man-mesh select{background:var(--bg-field);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:5px 8px;font:inherit;font-size:12px;max-width:100%}.man-mesh select:focus{outline:none;border-color:var(--accent)}.man-meshtype{font-size:12px;color:var(--text-secondary)}.man-lbl.man-lbl-g{text-transform:none;font-family:var(--mono);font-size:13px;font-style:italic;letter-spacing:0}.man-meshrow{padding-left:86px}.man-meshf input#mfMeshCurv{width:52px}.man-meshf input#mfMeshGrowth{width:60px}.man-note{font-size:11.5px;line-height:1.5;color:var(--warn);padding-left:86px}.ti-tag{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:600;line-height:1;letter-spacing:.02em;padding:3px 5px;margin-right:6px;border-radius:4px;vertical-align:1px;color:#ff6b61;background:rgba(224,35,28,.14);border:1px solid rgba(224,35,28,.35)}.tree-item.k-support .ti-tag{color:#c47bff;background:rgba(160,32,255,.14);border-color:rgba(160,32,255,.38)}.ti-tag.ti-tag-color{color:#fff;background:var(--tag-color);border-color:rgba(0,0,0,.28);text-shadow:0 0 1px rgba(0,0,0,.35)}.man-meshinfo{display:inline-flex;align-items:center;gap:2px;margin-left:2px}.man-meshp{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.tree-item.k-mesh .ti-label .info-tip{margin:-4px 0 -4px 2px}.tree-item.rejected{border-color:var(--err-border);border-left-color:var(--err)}.face-chip.rejected{border-color:var(--err);color:var(--err-text);background:var(--err-dim)}.conf-manual{color:var(--accent);background:var(--accent-dim)}.tree-item.k-man.has-error .ti-err{line-height:1.5}.axes-pop{position:fixed;z-index:65;width:min(300px,calc(100vw - 16px));background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);padding:12px 14px;display:flex;flex-direction:column;gap:9px}.axes-head{font-size:13px;font-weight:600}.axes-sub{font-size:11.5px;color:var(--text-muted);line-height:1.5}.axes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 8px}.axes-msg{font-size:11.5px;color:var(--err-text)}.axes-msg:empty{display:none}.axes-btns{justify-content:flex-end}.axes-btns .btn{padding:6px 12px;font-size:12px}@media(max-width:560px){.man-lbl{flex-basis:100%}.man-targets,.man-editor .man-targets{padding-left:0}.man-actions .btn-primary{min-width:0}.man-meshrow,.man-note{padding-left:0}}.login-card [hidden],.login-card .ingreso-oculto{display:none!important}.ingreso-paso{display:flex;flex-direction:column;gap:12px}.ingreso-paso-titulo{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.ingreso-paso-texto{margin:0;font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.ingreso-qr{display:flex;flex-direction:column;align-items:center;gap:8px}.ingreso-qr img{display:block;max-width:100%;height:auto;background:#fff;border-radius:6px;image-rendering:pixelated}.ingreso-qr .ingreso-paso-texto{align-self:stretch}.ingreso-secreto{display:flex;align-items:center;justify-content:space-between;gap:10px;align-self:stretch;background:var(--bg-field);border:1px solid var(--border);border-radius:7px;padding:7px 10px}.ingreso-secreto code{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--text-primary);user-select:all;overflow-wrap:anywhere}.ingreso-secreto .ingreso-enlace{flex:none;white-space:nowrap}.ingreso-codigo input{font-family:var(--mono);font-size:17px;letter-spacing:.18em;text-align:center}.ingreso-codigos{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin:0;padding:10px 10px;list-style:none;font-family:var(--mono);font-size:11.5px;white-space:nowrap;color:var(--text-primary);background:var(--bg-field);border:1px solid var(--border);border-radius:7px;user-select:all;text-align:center}.ingreso-enlaces{display:flex;justify-content:space-between;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:-4px}.ingreso-enlace{background:none;border:0;padding:0;font:inherit;font-size:12.5px;color:var(--accent);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}.ingreso-enlace:hover{color:#71b6ff}.ingreso-paso>.ingreso-enlace{align-self:flex-start}.ingreso-check{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.5;cursor:pointer;color:var(--text-primary)}.ingreso-check input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:var(--accent)}@media(max-width:380px){.ingreso-codigos{grid-template-columns:1fr}}
