:root{--bg: #0a1120;--bg2: #0c1424;--panel: #101b30;--panel2: #132038;--inset: #0e1829;--border: #223253;--border-soft: #1a2740;--text: #e7eef9;--muted: #8fa2c2;--faint: #7d90b3;--blue: #3b82f6;--blue-2: #60a5fa;--blue-active: #2563eb;--cyan: #2dd4ee;--green: #34d399;--purple: #a78bfa;--red: #f87171;--orange: #fb923c;--amber: #fbbf24;--hover: #15233c;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--text)}:focus-visible{outline:2px solid var(--blue-2);outline-offset:1px}.ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block;flex:none}.ico.sm{width:16px;height:16px;stroke-width:1.8}.app{height:100%;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 70% -10%,#10213b,#10213b00 60%),var(--bg)}.topbar{height:48px;flex:0 0 48px;display:flex;align-items:center;gap:14px;padding:0 12px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#0e1a2e,#0b1322);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:9px;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:700;font-size:17px;background:none;border:0;padding:0;cursor:pointer}.brand .bm{color:var(--blue-2)}.logo-mark{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:linear-gradient(145deg,#2563eb,#22d3ee);box-shadow:0 2px 10px #2563eb73}.logo-mark svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.9}.menus{display:flex;gap:2px}.menu-wrap{position:relative}.menu{padding:6px 10px;font-size:13px;color:var(--muted);border-radius:7px;background:none;border:0;cursor:pointer}.menu:hover,.menu.open{background:#17253f;color:var(--text)}.dropdown{position:absolute;top:34px;left:0;min-width:240px;background:#111d33;border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 12px 32px #00000073;z-index:50}.dd-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 10px;border-radius:7px;background:none;border:0;cursor:pointer;font-size:13px;color:var(--text)}.dd-item:hover:not(:disabled){background:var(--hover)}.dd-item:disabled{color:var(--faint);cursor:not-allowed}.dd-item .kbd{margin-left:auto;color:var(--faint);font-size:11.5px}.dd-item:has(.dd-why){flex-wrap:wrap;row-gap:2px}.dd-why{flex-basis:100%;font-size:11px;line-height:1.35;color:var(--muted, var(--faint));white-space:normal;max-width:300px}.busy-banner{position:fixed;left:50%;top:64px;transform:translate(-50%);z-index:80;background:var(--panel, #161c26);border:1px solid var(--line, #2a3342);border-radius:8px;padding:8px 14px;font-size:13px}.import-opts td input,.import-opts td select{font-size:12.5px}.interop-report{margin-top:6px}.dd-sep{height:1px;background:var(--border-soft);margin:5px 4px}.sp{flex:1}.proj{font-size:13px;color:var(--faint);white-space:nowrap}.proj b{color:var(--text);font-weight:600}.save-ind{display:flex;align-items:center;gap:7px;font-size:12.5px;padding:5px 11px;border:1px solid var(--border-soft);border-radius:999px;background:#0e1a2e;white-space:nowrap}.save-ind .dot{width:7px;height:7px;border-radius:50%}.save-ind.ok{color:var(--green)}.save-ind.ok .dot{background:var(--green);box-shadow:0 0 0 3px #34d3992e}.save-ind.dirty{color:var(--amber)}.save-ind.dirty .dot{background:var(--amber);box-shadow:0 0 0 3px #fbbf242e}.backend-tag{font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid;white-space:nowrap}.backend-tag.local{color:var(--amber);border-color:#fbbf2459;background:#fbbf2414}.backend-tag.api{color:var(--green);border-color:#34d39959;background:#34d39914}.pill{font-size:11px;color:var(--blue-2);background:#3b82f61f;border:1px solid rgba(59,130,246,.3);padding:3px 9px;border-radius:999px;font-weight:600}.toolbar{height:60px;flex:0 0 60px;display:flex;align-items:center;gap:2px;padding:0 10px;background:#0b1626;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:54px;height:48px;padding:0 6px;border-radius:9px;color:var(--muted);font-size:10.5px;background:none;border:1px solid transparent;cursor:pointer;flex:none}.tool:hover:not(:disabled){background:var(--hover);color:var(--text)}.tool.active{background:linear-gradient(180deg,#2d6bf0,#2057d8);color:#fff;border-color:#4f86f5;box-shadow:0 3px 12px #2563eb66}.tool:disabled{opacity:.4;cursor:not-allowed}.tsep{width:1px;height:32px;background:var(--border);margin:0 6px;flex:none}.viewsel{display:flex;gap:4px;background:#0e1a2e;border:1px solid var(--border);border-radius:11px;padding:4px;flex:none}.vbtn{padding:7px 14px;font-size:13px;font-weight:600;color:var(--muted);border-radius:8px;background:none;border:0;cursor:pointer}.vbtn.active{background:var(--blue-active);color:#fff;box-shadow:0 2px 8px #2563eb66}.vbtn:hover:not(.active){color:var(--text)}.body{flex:1;display:flex;min-height:0}.rail{width:52px;flex:0 0 52px;background:#0a1322;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0}.ri{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:var(--faint);background:none;border:0;cursor:pointer}.ri:hover{color:var(--text);background:var(--hover)}.ri.on{background:#16253f;color:var(--blue-2)}.panel{background:var(--panel);display:flex;flex-direction:column;min-height:0}.panel-hd{height:40px;flex:0 0 40px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--border-soft);font-size:12.5px;font-weight:600}.explorer{width:250px;flex:0 0 250px;border-right:1px solid var(--border)}.scroll{overflow:auto;min-height:0}.tree{padding:6px 8px 12px}.tnode,.tleaf{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:7px;font-size:13px;width:100%;background:none;border:0;text-align:left;cursor:pointer;color:var(--text)}.tleaf{color:var(--muted);font-size:12.5px;padding-left:30px}.tnode:hover,.tleaf:hover{background:var(--hover)}.tleaf.sel{background:#16305a;color:#fff;box-shadow:inset 0 0 0 1px #2f63b6}.tleaf.bad{color:var(--red)}.cnt{margin-left:auto;font-size:11px;color:var(--faint);background:#0e1a2e;border:1px solid var(--border-soft);padding:1px 7px;border-radius:999px}.lsec{padding:10px 12px;border-top:1px solid var(--border-soft)}.lsec-hd{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:8px}.lrow{display:flex;align-items:center;gap:8px;padding:4px;border-radius:6px;font-size:12.5px;color:var(--muted)}.lrow:hover{background:var(--hover)}.lsw{width:12px;height:12px;border-radius:3px;flex:0 0 12px;border:1px solid rgba(255,255,255,.14)}.lrow .lname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iconbtn{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:none;border:0;color:var(--faint);cursor:pointer;flex:none}.iconbtn:hover{background:#1b2b47;color:var(--text)}.iconbtn.on{color:var(--blue-2)}.iconbtn.warn{color:var(--amber)}.view{flex:1;position:relative;min-width:0;display:flex;flex-direction:column;background:var(--bg2)}.vsplit{flex:1;display:flex;min-height:0}.vp{flex:1;position:relative;min-width:0;overflow:hidden}.vp canvas{display:block;width:100%;height:100%}.vp.d2{background:#0b1a30}.vp.d3{background:radial-gradient(900px 520px at 50% 18%,#13233f,#0a1424 72%)}.vdiv{width:6px;flex:0 0 6px;background:linear-gradient(90deg,var(--border),#2a3f66,var(--border));cursor:col-resize}.vp-tag{position:absolute;top:10px;left:12px;font-size:12px;font-weight:600;background:#0a1220c7;border:1px solid var(--border-soft);padding:4px 10px;border-radius:8px;pointer-events:none}.vp-hint{position:absolute;bottom:10px;left:12px;font-size:11.5px;color:var(--muted);background:#0a1220c7;border:1px solid var(--border-soft);padding:4px 10px;border-radius:8px;pointer-events:none;max-width:70%}.vp-ctl{position:absolute;bottom:10px;right:12px;display:flex;flex-direction:column;gap:6px}.vchip{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:var(--muted);border:1px solid var(--border-soft);background:#0e1a2e;cursor:pointer}.vchip:hover{color:var(--text);border-color:var(--border)}.vchip.on{color:var(--blue-2);border-color:#2f63b6}.statusbar{height:38px;flex:0 0 38px;display:flex;align-items:center;gap:16px;padding:0 14px;border-top:1px solid var(--border);background:#0b1626;font-size:12px;color:var(--muted);white-space:nowrap;overflow-x:auto}.statusbar b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.toggle{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:var(--muted);cursor:pointer;padding:0;font-size:12px}.sw{width:30px;height:17px;border-radius:999px;background:#223253;position:relative;display:inline-block}.sw:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#6b7fa3;transition:.15s}.sw.on{background:var(--blue-active)}.sw.on:after{left:15px;background:#fff}.levelsel{background:var(--inset);border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:12px}.props{width:300px;flex:0 0 300px;border-left:1px solid var(--border)}.prop-head{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--border-soft)}.prop-head .pic{width:38px;height:38px;border-radius:9px;background:#16253f;display:grid;place-items:center;color:var(--blue-2);flex:none}.prop-head .pt{font-size:14px;font-weight:600}.prop-head .ps{font-size:11.5px;color:var(--faint);margin-top:3px;display:flex;gap:6px;align-items:center}.psec{padding:12px 14px;border-bottom:1px solid var(--border-soft)}.psec-hd{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:8px}.prow{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:8px;margin:7px 0}.plabel{font-size:12.5px;color:var(--muted)}.pfield{display:flex;min-width:0;align-items:center;background:var(--inset);border:1px solid var(--border-soft);border-radius:8px;padding:0 9px;min-height:32px}.pfield:focus-within{border-color:#2f63b6;box-shadow:0 0 0 2px #3b82f62e}.pfield input,.pfield select{flex:1;min-width:0;background:none;border:0;outline:none;padding:6px 0;font-size:12.5px;font-variant-numeric:tabular-nums}.pfield select option{background:#111d33}.pfield .u{color:var(--faint);font-size:11px;margin-left:6px}.pfield.ro{color:var(--muted);font-size:12.5px}.pfield.err{border-color:var(--red)}.ifc-tag{font-size:11px;color:var(--cyan);background:#2dd4ee1a;border:1px solid rgba(45,212,238,.3);padding:1px 8px;border-radius:999px}.note{font-size:11.5px;color:var(--faint);line-height:1.45}.issue{font-size:12px;color:var(--red);background:#f8717114;border:1px solid rgba(248,113,113,.3);border-radius:8px;padding:7px 9px;margin-top:6px}.empty{padding:24px 16px;color:var(--faint);font-size:12.5px;line-height:1.5;text-align:center}.qty{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:12.5px}.qty span:nth-child(odd){color:var(--muted)}.qty span:nth-child(2n){font-variant-numeric:tabular-nums;text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--inset);color:var(--text)}.btn:hover:not(:disabled){border-color:#2f63b6}.btn.primary{background:var(--blue-active);border-color:transparent;color:#fff}.btn.primary:hover:not(:disabled){background:#1d4fd0}.btn.danger{color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed}.toasts{position:fixed;bottom:52px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:100;align-items:center;pointer-events:none}.toast{background:#111d33;border:1px solid var(--border);border-radius:10px;padding:9px 14px;font-size:13px;box-shadow:0 8px 24px #0006;max-width:min(640px,90vw)}.toast.error{border-color:#f8717180;color:#fecaca}.toast.ok{border-color:#34d39980;color:#bbf7d0}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#050a14a6;display:grid;place-items:center;z-index:80;padding:16px}.modal{width:min(560px,100%);max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 20px 50px #00000080}.modal h2{margin:0 0 12px;font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-size:18px}.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal table{width:100%;border-collapse:collapse;font-size:12.5px}.modal td,.modal th{text-align:left;padding:5px 6px;border-bottom:1px solid var(--border-soft)}.modal th{color:var(--faint);font-weight:600}.textin{width:100%;background:var(--inset);border:1px solid var(--border);border-radius:9px;padding:9px 12px;outline:none}.textin:focus{border-color:#2f63b6}.side{width:216px;flex:0 0 216px;background:#0c1526;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 12px}.nav{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:var(--muted);font-size:13.5px;font-weight:500;background:none;border:0;cursor:pointer;width:100%;text-align:left}.nav.on{background:#16253f;color:#fff}.nav:hover:not(.on){background:#13213a;color:var(--text)}.content{flex:1;padding:22px 26px;overflow:auto}.hrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.h1{font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-size:21px;font-weight:600;margin:0}.sbox{display:flex;align-items:center;gap:9px;background:var(--inset);border:1px solid var(--border-soft);border-radius:10px;padding:0 13px;flex:1;min-width:200px;color:var(--faint)}.sbox:focus-within,.inbox:focus-within{outline:2px solid var(--blue-2);outline-offset:1px}.sbox input{flex:1;background:none;border:0;outline:none;padding:9px 0;font-size:13px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:176px;gap:16px}.newcard{background:linear-gradient(170deg,#1f54c8,#1b3f9e);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;box-shadow:0 8px 24px #2563eb59;border:0;cursor:pointer;font-weight:600;font-size:15px}.newcard:hover{filter:brightness(1.08)}.newcard .plus{width:58px;height:58px;border-radius:16px;background:#ffffff29;display:grid;place-items:center}.card{background:var(--panel);border:1px solid var(--border-soft);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;position:relative}.card:hover{border-color:#2f63b6}.card .open{all:unset;cursor:pointer;display:flex;flex-direction:column;flex:1;min-height:0}.card .open:focus-visible{outline:2px solid var(--blue-2)}.thumb{flex:1;min-height:0;background:#0b1a30}.cbody{padding:10px 13px}.cname{font-size:14px;font-weight:600}.cmeta{font-size:11.5px;color:var(--faint);margin-top:3px}.card .del{position:absolute;top:8px;left:8px;background:#0a1220cc}.cstate{font-size:11px;color:var(--green, #5fcf8a);margin-top:2px}.cstate.warn{color:var(--amber, #e8b04a)}.quickrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:22px}.qa{display:flex;align-items:center;gap:13px;background:var(--panel);border:1px solid var(--border-soft);border-radius:12px;padding:15px;cursor:pointer;text-align:left}.qa:hover{border-color:#2f63b6}.qa .qi{width:40px;height:40px;border-radius:11px;background:#16253f;display:grid;place-items:center;color:var(--blue-2);flex:0 0 40px}.qa .ql{font-size:13px;font-weight:600}.qa .qd{font-size:11px;color:var(--faint);margin-top:2px}.aiwrap{flex:1;display:flex;flex-direction:column;min-height:0}.aihd{height:50px;flex:0 0 50px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--border-soft)}.demo-tag{font-size:11px;color:var(--amber);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);padding:3px 10px;border-radius:999px}.chat{flex:1;padding:20px;overflow:auto;display:flex;flex-direction:column;gap:14px;max-width:880px;width:100%;margin:0 auto}.msg{max-width:78%;font-size:13.5px;line-height:1.5;padding:11px 14px;border-radius:14px;white-space:pre-wrap}.msg.user{align-self:flex-end;background:linear-gradient(180deg,#2d6bf0,#2057d8);color:#fff;border-bottom-right-radius:5px}.msg.ai{align-self:flex-start;background:var(--inset);border:1px solid var(--border-soft);border-top-left-radius:5px}.msg.ai .nm{font-size:12px;color:var(--blue-2);font-weight:600;margin-bottom:5px}.msg .acts{display:flex;gap:8px;margin-top:10px}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 20px;max-width:880px;width:100%;margin:0 auto}.chip{display:flex;align-items:center;gap:7px;background:var(--inset);border:1px solid var(--border-soft);border-radius:999px;padding:6px 13px;font-size:12px;color:var(--muted);cursor:pointer}.chip:hover{color:var(--text);border-color:#2f63b6}.inbox{display:flex;gap:10px;max-width:880px;width:calc(100% - 40px);margin:0 auto 16px;background:var(--inset);border:1px solid var(--border);border-radius:12px;padding:6px 6px 6px 14px}.inbox input{flex:1;background:none;border:0;outline:none;font-size:13.5px}.userchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:4px 10px 4px 6px;border:1px solid var(--border-soft);border-radius:999px;white-space:nowrap}.userchip .ico{width:20px;height:20px;padding:2px;border-radius:50%;background:#16253f;color:var(--blue-2)}.rail-sep{width:26px;height:1px;background:var(--border);margin:4px 0}.ri[aria-pressed=true]{background:#16253f;color:var(--blue-2)}.flip{transform:scaleX(-1)}.side-wrap{position:relative;display:flex;min-width:0;min-height:0}.side-wrap>.panel{flex:1;width:auto;min-width:0}.side-wrap.left>.panel{border-right:1px solid var(--border)}.side-wrap.right>.panel{border-left:1px solid var(--border)}.side-handle{position:absolute;top:0;bottom:0;width:7px;cursor:col-resize;z-index:5}.side-handle.left{right:-4px}.side-handle.right{left:-4px}.side-handle:hover,.side-handle:focus-visible{background:#3b82f659;outline:none}.collapsed-strip{width:30px;flex:0 0 30px;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:12px;background:var(--panel);border:0;border-right:1px solid var(--border);color:var(--faint);cursor:pointer;font-size:11.5px}.collapsed-strip.right{border-right:0;border-left:1px solid var(--border)}.collapsed-strip span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.5px}.collapsed-strip:hover{color:var(--text);background:var(--hover)}.explorer .panel-hd .iconbtn{margin-left:auto}.rpanel .rtabs{height:44px;flex:0 0 44px;display:flex;align-items:center;gap:4px;padding:0 8px;border-bottom:1px solid var(--border-soft)}.rtab{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:8px;border:0;background:none;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer}.rtab:hover{color:var(--text);background:var(--hover)}.rtab.on{background:var(--blue-active);color:#fff;box-shadow:0 2px 8px #2563eb59}.expanded-back{position:absolute;top:116px;right:18px;z-index:15;display:inline-flex;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;font-weight:600;border-radius:9px;border:1px solid var(--border);background:#0e1a2e;color:var(--text);cursor:pointer;box-shadow:0 6px 18px #00000059}.expanded-back:hover{border-color:#2f63b6}.pane{position:relative;min-width:0;display:flex}.pane-max{position:absolute;top:10px;right:12px;z-index:4}.vdiv:focus-visible{outline:2px solid var(--blue-2)}.toggle.issues{gap:5px;color:var(--green)}.toggle.issues.bad{color:var(--amber)}.route-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:var(--muted);padding:24px}.route-state p{max-width:460px;line-height:1.5;margin:0}.route-state a.btn{text-decoration:none}.rs-ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#f871711a;color:var(--red)}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--blue-2);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}a.brand{color:inherit;text-decoration:none}.thumb-svg{width:100%;height:100%;display:block}.thumb-ph{width:100%;height:100%;background:repeating-linear-gradient(0deg,#0b1a30 0,#0b1a30 19px,#13223a 19px,#13223a 20px),#0b1a30}.thumb-ph.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--faint);font-size:11.5px}.card .more{position:absolute;top:8px;right:8px;background:#0a1220d9;border:1px solid var(--border-soft)}.card.menu-open{z-index:30;overflow:visible}.card-menu{top:40px;right:8px;left:auto;min-width:170px}.dd-item.danger{color:var(--red)}.empty-state{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);text-align:center;padding:18px}.empty-state p{margin:0;line-height:1.5}.flabel{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted);margin-bottom:12px}.flabel select.textin option{background:#111d33}.side-user{display:flex;align-items:center;gap:10px;padding:12px 6px 2px;border-top:1px solid var(--border-soft);font-size:12.5px}.side-user b{display:block;font-weight:600}.side-user small{color:var(--faint);font-size:11px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#16253f;color:var(--blue-2);flex:none}.import-page{max-width:760px}.ip-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:14px;padding:20px 22px}.ip-card h2,.settings h2{font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;margin:0 0 10px}.ip-card p{line-height:1.55;color:var(--muted)}.ip-card table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:12.5px}.ip-card th,.ip-card td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border-soft);vertical-align:top}.ip-card th{color:var(--faint);width:34%;font-weight:600}.settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;max-width:1000px}.settings section{background:var(--panel);border:1px solid var(--border-soft);border-radius:14px;padding:16px 18px}.setrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;color:var(--muted);border-bottom:1px solid var(--border-soft)}.setrow:last-child{border-bottom:0}.nav3d{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;border-radius:10px;background:#0a1220d1;border:1px solid var(--border-soft);z-index:3}.vchip.lbl{width:auto;height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600}.vchip.lbl.on{background:var(--blue-active);color:#fff;border-color:transparent}.vchip:disabled{opacity:.4;cursor:not-allowed}.gizmo{position:absolute;top:46px;left:12px;width:72px;height:72px;pointer-events:none}.views3d{position:absolute;top:124px;left:12px;display:flex;flex-direction:column;gap:4px}.views3d .vchip.lbl{justify-content:flex-start;font-weight:500}.measure-out{position:absolute;top:52px;left:50%;transform:translate(-50%);font-size:12.5px;font-weight:600;color:#fde68a;background:#0a1220e0;border:1px solid rgba(251,191,36,.4);border-radius:8px;padding:5px 12px;white-space:nowrap}.vp.d3 .vp-tag{top:10px}.aiwrap.panel{min-width:0}.aiwrap.panel .aihd{height:44px;flex-basis:44px;padding:0 12px}.aiwrap.panel .chat{padding:12px;gap:10px}.aiwrap.panel .msg{max-width:94%;font-size:12.5px;padding:9px 11px}.aiwrap.panel .chips{padding:6px 10px;gap:6px}.aiwrap.panel .inbox{width:calc(100% - 20px);margin-bottom:10px}.aiwrap.full{background:var(--bg2)}.aitabs{margin:8px auto 0;width:fit-content}.msg.proposal{border-color:#3b82f673}.pparams{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:8px 0 0;padding:8px 10px;background:#3b82f60f;border:1px solid var(--border-soft);border-radius:9px;font-size:12px;white-space:normal}.pparams div{display:contents}.pparams dt{color:var(--faint)}.pparams dd{margin:0;font-variant-numeric:tabular-nums}.logrow{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:7px 10px;border:1px solid var(--border-soft);border-radius:9px;background:var(--inset)}.lres{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:999px;border:1px solid}.lres.aplicado{color:var(--green)}.lres.cancelado{color:var(--faint)}.lres.rechazado{color:var(--red)}.lres.deshecho{color:var(--amber)}.pfield.link{cursor:pointer;color:var(--blue-2);text-align:left;font-size:12.5px;gap:6px;width:100%}.pfield.link:hover{border-color:#2f63b6}.rel-list{display:flex;flex-direction:column;gap:4px;min-width:0}.pair{display:flex;gap:6px;min-width:0}.pair>.pfield{flex:1}@media (max-width: 1280px){.proj{display:none}.tool{min-width:48px;font-size:10px}.nav3d .vchip.lbl span{display:none}}@media (max-width: 1100px){.userchip,.views3d{display:none}}@media (max-width: 760px){.side{display:none}.menus{overflow-x:auto;max-width:40vw}.backend-tag{display:none}}.nav3d.compact{gap:2px;padding:3px}.nav3d.compact .vchip.lbl{padding:0 8px}.nav3d.compact .vchip.lbl span,.views3d.compact{display:none}.rtab{white-space:nowrap;padding:7px 10px}.statusbar{gap:13px}.statusbar label{display:inline-flex;align-items:center;gap:5px}.statusbar .coord b{display:inline-block;min-width:52px}.snapmodes{position:relative}.dropdown.up{position:fixed;top:auto;left:auto;min-width:200px}.edit-tools{padding-bottom:8px}.etgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.etool{display:flex;align-items:center;gap:5px;padding:5px 6px;border-radius:7px;border:1px solid var(--border-soft);background:none;color:var(--muted);font-size:11.5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.etool:hover:not(:disabled){background:var(--hover);color:var(--text)}.etool.active{background:#1f4fb8;border-color:#4f86f5;color:#fff}.etool:disabled{opacity:.4;cursor:not-allowed}.etool.wide{grid-column:span 3;justify-content:center}#capas{max-height:34vh;overflow-y:auto}.cmdmsg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:180px;flex:1 1 260px;color:var(--muted)}.cmdmsg.error{color:#fca5a5}.cmdmsg.ok{color:#86efac}.nav3d .nav-sep{width:1px;align-self:stretch;margin:4px 2px;background:var(--border)}.lres.consulta{color:var(--blue-2)}.note.req{margin-top:6px;font-size:11px}.note.req code,.logrow code{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--blue-2);background:#3b82f61a;padding:0 4px;border-radius:4px}.chip:disabled{opacity:.45;cursor:not-allowed}.levels-table td,.levels-table th{padding:4px 6px;vertical-align:middle}.levels-table tr.on td{background:#2563eb1a}.levels-table .textin{padding:5px 8px}.lv-actions{display:flex;gap:2px;align-items:center}.lv-actions .iconbtn[aria-pressed=true]{color:var(--blue, #60a5fa)}.lv-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.lv-form .flabel{margin-bottom:0;flex:1 1 110px}.lv-box{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-top:12px;display:flex;flex-direction:column;gap:8px}.lv-box.warn{border-color:#fbbf2473;background:#fbbf240f}.lv-radio{display:flex;gap:8px;align-items:center;font-size:13px}.modal:has(.levels-table){width:min(760px,96vw);max-width:96vw}.tlevel{display:flex;align-items:center}.tlevel .tnode{flex:1;min-width:0}.tlevel .iconbtn{margin-right:6px}.vp.d3{container-type:inline-size}@container (max-width: 700px){.nav3d .vchip.lbl span{display:none}}.pfield input[type=checkbox]{flex:none;width:15px;height:15px;margin:0;accent-color:var(--blue, #3b82f6)}.pfield .ibtn{background:none;border:0;color:var(--muted);cursor:pointer;padding:2px;display:inline-flex}.pfield .ibtn:hover{color:var(--red, #f87171)}.sheets{flex:1;min-height:0;display:flex}.sh-list{width:220px;flex:0 0 220px;display:flex;flex-direction:column;gap:6px;padding:12px;border-right:1px solid var(--border);background:var(--panel);overflow:auto}.sh-items{display:flex;flex-direction:column;gap:4px;margin-top:6px}.sh-item{display:grid;grid-template-columns:auto 1fr;gap:0 8px;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--border-soft);background:var(--inset);cursor:pointer}.sh-item small{grid-column:1 / -1;color:var(--muted);font-size:11px}.sh-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-item.on{border-color:var(--blue);background:#12284a}.sh-item:hover{background:var(--hover)}.sh-sec{display:flex;gap:6px;align-items:center;color:var(--muted);padding:2px 4px}.sh-main{flex:1;min-width:0;display:flex;flex-direction:column}.sh-bar{display:flex;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.sh-note{color:var(--faint);font-size:12px;margin-left:6px}.sh-warn{margin:8px 12px 0;padding:8px 10px;border-radius:8px;background:#3a2410;color:var(--amber);display:flex;flex-direction:column;gap:4px;align-items:flex-start}.sh-paper-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;background:#1a2333}.sh-paper{width:100%;height:100%;min-height:240px}.sh-paper svg{display:block;width:100%;height:100%;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5))}.sh-props{width:290px;flex:0 0 290px;border-left:1px solid var(--border);background:var(--panel);overflow:auto;padding:4px 0}.sh-view{border:1px solid var(--border-soft);border-radius:8px;padding:6px 8px;margin-bottom:6px;background:var(--inset)}.sh-view-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}@media (max-width: 1100px){.sh-list{width:170px;flex-basis:170px}.sh-props{width:240px;flex-basis:240px}}.aihd,.aiwrap.panel .aihd{height:auto;flex:none;min-height:44px;flex-wrap:wrap;row-gap:6px;padding-top:7px;padding-bottom:7px}.llm-tag{font-size:11px;color:var(--green);background:#22c55e1a;border:1px solid rgba(34,197,94,.3);padding:3px 10px;border-radius:12px;overflow-wrap:anywhere}.aihd .seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex:none}.aihd .seg button{font:inherit;font-size:11px;padding:3px 8px;background:transparent;color:var(--muted);border:0;cursor:pointer;white-space:nowrap}.aihd .seg button.on{background:#3b82f62e;color:var(--text)}.msg.ai.thinking{opacity:.75;font-style:italic}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-screen.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#050a14d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.auth-card{width:min(400px,100%);display:grid;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px;box-shadow:0 20px 50px #00000080}.auth-card .brand{margin-bottom:4px}.auth-card .h1{font-size:22px;margin:0}.auth-card .note,.auth-card .issue{margin:0}.auth-card .btn{justify-content:center;margin-top:4px}.auth-or{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--faint)}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--border)}.usermenu{position:relative}.usermenu .userchip{cursor:pointer;font:inherit;font-size:12px;background:transparent;color:var(--text)}.usermenu .userchip:hover{background:var(--hover)}.usermenu .admin-dot{width:6px;height:6px;border-radius:50%;background:var(--blue-2)}.dropdown.right{left:auto;right:0}.dd-head{display:grid;padding:6px 10px 8px;border-bottom:1px solid var(--border);margin-bottom:4px;font-size:13px}.dd-head small{color:var(--muted)}a.dd-item{text-decoration:none}.ro-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(245,180,70,.5);color:#f5c46a;background:#f5b44614}.role-tag{margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;border:1px solid var(--border);color:var(--muted)}.role-tag.viewer{color:#f5c46a;border-color:#f5b44673}.role-tag.editor{color:#7fd1ff;border-color:#7fd1ff73}.mh3{font-size:14px;margin:16px 0 8px}.formrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.formrow .textin{flex:1 1 140px;min-width:0}.chk{display:inline-flex;gap:6px;align-items:center;font-size:13px}.btn.sm{padding:4px 10px;font-size:12px}.scrolltable{max-height:50vh;overflow:auto}.ttable{width:100%;border-collapse:collapse;font-size:13px}.ttable th,.ttable td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border)}.ttable th{color:var(--muted);font-weight:500}.modal:focus{outline:none}.rpanel .rtabs{gap:2px;padding:0 6px}.rpanel .rtabs .rtab{flex:0 1 auto;min-width:0;padding:7px 8px;overflow:hidden;text-overflow:ellipsis}.rpanel .rtabs .iconbtn{flex:none}.tleaf.sel span[style]{color:#b4c3e0!important}
