:root{
  --bg:#08131d;--panel:#10202d;--panel2:#142a3a;--panel3:#1b3547;--line:#294659;
  --ink:#edf5f8;--muted:#a5b9c4;--faint:#708b9a;--brand:#1f4e78;--brandred:#c74a54;
  --accent:#4ec3e0;--accent2:#9edff0;--warn:#f3ae3d;--bad:#ed626d;--good:#58c68b;--info:#66a9e8;
  --surface-sunken:color-mix(in srgb,var(--bg) 88%,black 12%);--focus:color-mix(in srgb,var(--accent) 60%,white 18%);
  --header-h:68px;--sidebar-w:248px;--radius-xs:7px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;
  --shadow:0 18px 50px rgba(0,0,0,.24);--shadow-soft:0 8px 24px rgba(0,0,0,.16);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  min-height:100vh;overflow-x:hidden;color:var(--ink);
  background:radial-gradient(900px 520px at 82% -12%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 68%),linear-gradient(155deg,var(--bg),color-mix(in srgb,var(--bg) 92%,var(--panel2)));
  font-family:"Segoe UI Variable","Aptos","Segoe UI",system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;letter-spacing:.005em;
}
button,input,select,textarea{font:inherit}
a{color:var(--accent2);text-underline-offset:3px}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
::selection{background:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--ink)}
header{
  min-height:var(--header-h);max-width:100vw;overflow:hidden;padding:0 20px;gap:12px;border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent);
  background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px) saturate(135%);box-shadow:0 1px 0 rgba(255,255,255,.025);
}
.brandlogo{width:34px;height:34px;border-radius:9px;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}
.brandword{font-size:14px;font-weight:800;letter-spacing:.18em}
.opctx{max-width:42vw;padding:7px 11px;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 76%,transparent);color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.iconbtn{width:42px;height:42px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);background:transparent}
.iconbtn:hover{border-color:var(--line);color:var(--ink);background:var(--panel)}
.layout{width:100%;max-width:none;height:calc(100vh - var(--header-h));margin:0}
main,#app,.card,.grid{min-width:0}
aside{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);padding:16px 12px 20px;border-right:1px solid color-mix(in srgb,var(--line) 68%,transparent);background:color-mix(in srgb,var(--panel) 58%,transparent)}
main.wrap{max-width:none;padding:28px clamp(20px,3vw,46px) 80px;scrollbar-gutter:stable}
#app{max-width:1460px;margin:0 auto}
body.nav-closed aside{margin-left:calc(-1 * var(--sidebar-w));opacity:0}
.navlinks{gap:2px}
.navhdr{margin:22px 10px 7px;padding:0;color:var(--faint);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.navitem{min-height:42px;margin:1px 0;padding:9px 11px;gap:11px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);font-size:13px;font-weight:600;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.navitem:hover{border-color:color-mix(in srgb,var(--line) 62%,transparent);color:var(--ink);background:color-mix(in srgb,var(--panel2) 60%,transparent)}
.navitem.on{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--ink);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,var(--panel)),color-mix(in srgb,var(--panel2) 72%,transparent));box-shadow:inset 3px 0 var(--accent)}
.navitem .ic{width:22px;height:22px;display:grid;place-items:center;color:currentColor}
.ns-nav-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ns-nav-icon .ni-accent{stroke:var(--accent);stroke-width:2}
.navitem:hover .ns-nav-icon,.navitem.on .ns-nav-icon{stroke-width:1.9}
.navitem.on .ns-nav-icon{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 32%,transparent))}
.navitem .lockbadge{display:grid;place-items:center}.navitem .lockbadge .ns-nav-icon{width:13px;height:13px}
.navfoot{margin-top:18px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 68%,transparent)}
.crumb{margin:0 0 7px;color:var(--faint);font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.crumb a{color:inherit;text-decoration:none}
h1{margin:0 0 22px;color:var(--ink);font-size:clamp(28px,3vw,42px);font-weight:720;line-height:1.08;letter-spacing:-.035em}
h2{font-size:20px;line-height:1.2;letter-spacing:-.015em}
h3{margin:28px 0 10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.muted{color:var(--muted)!important}
.card{margin-bottom:16px;padding:20px;border:1px solid color-mix(in srgb,var(--line) 74%,transparent);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--panel2) 64%,var(--panel)));box-shadow:var(--shadow-soft)}
.card:hover{border-color:color-mix(in srgb,var(--line) 86%,var(--accent) 14%)}
.grid{gap:16px}
.grid.g-kpi{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px}
.grid.pgrid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.kpi{min-height:116px;position:relative;overflow:hidden;align-items:flex-start;justify-content:center}
.kpi:after{content:"";position:absolute;right:-32px;bottom:-52px;width:130px;height:130px;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);border-radius:50%}
.kpi .l{color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.kpi .v{margin-top:5px;color:var(--ink);font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace;font-size:clamp(27px,3vw,38px);font-variant-numeric:tabular-nums;font-weight:650;line-height:1;letter-spacing:-.04em}
.kpi .d{margin-top:6px;color:var(--faint);font-size:11px}
.btn{min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:color-mix(in srgb,var(--panel2) 82%,var(--ink) 2%);box-shadow:none;font-weight:680;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}
.btn:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--panel3) 86%,var(--accent) 5%);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary{border-color:color-mix(in srgb,var(--accent) 66%,white 8%);color:color-mix(in srgb,var(--bg) 88%,black);background:var(--accent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 22%,transparent)}
.btn.primary:hover{background:var(--accent2)}
.btn.sm{min-height:34px;padding:6px 10px;font-size:12px}
.btn[disabled]{opacity:.48;transform:none}
input,select,textarea,.field input,.field select,.field textarea{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface-sunken);box-shadow:inset 0 1px 0 rgba(0,0,0,.18)}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--line) 70%,var(--accent))}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
label,.field label{color:var(--muted);font-size:12px;font-weight:700}
.field>span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:750}
.field>input,.field>select,.field>textarea{width:100%}
.linkbtn{min-height:40px;padding:6px;border:0;color:var(--accent2);background:transparent;font-weight:700;text-align:center;cursor:pointer}
.linkbtn:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.form-status:not(:empty){padding:9px 11px;border:1px solid color-mix(in srgb,var(--bad) 35%,var(--line));border-radius:var(--radius-xs);background:color-mix(in srgb,var(--bad) 8%,transparent);color:var(--bad)!important;font-size:13px}
.tools-intro{min-height:170px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:4px 0 18px;padding:26px 30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(110deg,var(--panel),color-mix(in srgb,var(--accent) 10%,var(--panel2))),repeating-linear-gradient(90deg,transparent 0 39px,color-mix(in srgb,var(--line) 18%,transparent) 40px);overflow:hidden}
.tools-intro h1{margin:5px 0 8px}.tools-intro p{max-width:680px;margin:0}.tools-kicker,.tool-eyebrow{color:var(--accent);font:750 10px/1.2 "Cascadia Mono","SFMono-Regular",Consolas,monospace;letter-spacing:.16em}
.tools-signal{display:flex;align-items:flex-end;gap:5px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--good);font:700 10px "Cascadia Mono",monospace;letter-spacing:.12em}
.tools-signal i{width:5px;border-radius:3px;background:var(--good)}.tools-signal i:nth-child(1){height:8px}.tools-signal i:nth-child(2){height:14px}.tools-signal i:nth-child(3){height:21px}.tools-signal b{margin-left:5px}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:13px}
.tool-card{min-height:154px;display:grid;grid-template-columns:106px 1fr auto;align-items:center;gap:15px;padding:17px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:var(--radius-md);color:var(--ink);background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--panel2) 70%,var(--panel)));text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.tool-card:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));color:var(--ink);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel2));transform:translateY(-2px)}
.tool-card.featured{border-color:color-mix(in srgb,var(--accent) 52%,var(--line))}
.tool-visual{height:112px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:var(--radius-sm);background:linear-gradient(145deg,var(--surface-sunken),color-mix(in srgb,var(--panel3) 74%,transparent));overflow:hidden}
.tool-graphic{width:94px;height:84px;fill:none;stroke:var(--accent2);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.tool-graphic .soft{stroke:var(--faint);stroke-width:1.4}
.tool-card:hover .tool-graphic{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 28%,transparent))}
.tool-title{margin:6px 0 5px;font-size:15px;font-weight:800;line-height:1.25}.tool-line{font-size:12px;line-height:1.45}.tool-arrow{align-self:end;color:var(--faint);font-size:20px;transition:transform .16s ease,color .16s ease}.tool-card:hover .tool-arrow{color:var(--accent);transform:translateX(3px)}
.instrument-title{display:flex;align-items:center;gap:10px}.instrument-pulse{width:11px;height:11px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px color-mix(in srgb,var(--good) 14%,transparent)}
.instrument-empty-hero{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);align-items:center;gap:28px;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--surface-sunken),color-mix(in srgb,var(--accent) 7%,var(--panel2)))}
.instrument-empty-copy>b{display:block;margin-top:8px;font-size:21px}.instrument-empty-copy p{margin-left:0!important;margin-right:0!important}
.bench-illustration{width:100%;max-height:230px;fill:none;stroke:var(--accent2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bench-screen{fill:var(--panel);stroke:var(--line)}.bench-screen-inset{stroke:var(--line)}.bench-trend{stroke:var(--good);stroke-width:3}.bench-stand{stroke:var(--faint)}.bench-probe{fill:var(--panel2);stroke:var(--accent)}.bench-radio{stroke:var(--accent);stroke-dasharray:5 5}.bench-illustration text{fill:var(--good);stroke:none;font:800 10px "Cascadia Mono",monospace;letter-spacing:.18em}
.probe-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.probe-family{min-width:0;display:grid;grid-template-columns:86px 1fr;gap:13px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel2)}.probe-family-art{display:grid;place-items:center;border-right:1px solid var(--line)}.probe-graphic{width:70px;height:94px;fill:var(--surface-sunken);stroke:var(--accent2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.probe-graphic .probe-radio{fill:none;stroke:var(--good);stroke-dasharray:4 4}.probe-model{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}.probe-model:last-child{border-bottom:0}
.live-gauge-card{width:158px;padding:10px 5px 8px;text-align:center;border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:var(--radius-md);background:linear-gradient(160deg,color-mix(in srgb,var(--panel2) 84%,transparent),var(--surface-sunken))}
.live-gauge-face{position:relative;display:inline-block}.live-gauge-svg{display:block}.gauge-bezel{fill:var(--surface-sunken);stroke:var(--line);stroke-width:1}.gauge-ticks{stroke:var(--faint);stroke-width:1}.gauge-needle{stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.gauge-hub{fill:var(--ink);stroke:var(--panel);stroke-width:2}.live-gauge-readout{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.live-gauge-value{color:var(--ink);font:700 25px/1 "Cascadia Mono","SFMono-Regular",Consolas,monospace;letter-spacing:-.06em}.live-gauge-unit{margin-top:3px;color:var(--muted);font-size:10px}.live-gauge-label{margin-top:-3px;color:var(--muted);font-size:12px;font-weight:700}.live-gauge-range{margin-top:2px;color:var(--faint);font:9px "Cascadia Mono",monospace}
.equipment-canvas{position:relative;overflow-x:auto;margin:8px 0 14px;padding:10px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:var(--radius-lg);background:var(--surface-sunken);box-shadow:inset 0 1px 0 rgba(255,255,255,.025),var(--shadow-soft)}
.equipment-schematic{width:100%;min-width:700px;max-width:1080px;display:block;margin:0 auto}.schematic-base{fill:color-mix(in srgb,var(--panel) 74%,var(--bg));stroke:var(--line);stroke-width:1}.schematic-frame{stroke:color-mix(in srgb,var(--accent) 16%,var(--line));stroke-width:1}
.schematic-art text{font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace;letter-spacing:.025em}.schematic-art>rect,.schematic-art>g{filter:drop-shadow(0 3px 4px rgba(0,0,0,.12))}
.equipment-schematic .eqPoint circle{transition:r .15s ease,stroke-width .15s ease,filter .15s ease}.equipment-schematic .eqPoint:hover circle{r:14px;stroke-width:3px;filter:url(#softGlow)}
.schematic-legend{display:flex;align-items:center;gap:15px;min-width:680px;max-width:1080px;margin:7px auto 0;padding:7px 10px;border-top:1px solid var(--line);color:var(--muted);font:10px "Cascadia Mono",monospace;letter-spacing:.05em}.schematic-legend span{display:flex;align-items:center;gap:5px}.schematic-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.schematic-legend .live{background:var(--good)}.schematic-legend .held{background:var(--info)}.schematic-legend .needed{border:2px dashed var(--warn)}.schematic-legend b{margin-left:auto;color:var(--faint);letter-spacing:.13em}
.equipment-variants{margin:8px 0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--panel2) 62%,transparent)}.equipment-variants summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}.equipment-variants summary span{min-width:0;overflow:hidden;color:var(--faint);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.equipment-variant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;padding:0 12px 12px}.equipment-variant-field{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.equipment-variant-field select{width:100%;margin-top:5px;text-transform:none;letter-spacing:normal}
.equipment-topology{margin:12px 0;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:var(--radius-md);background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--accent) 5%,var(--panel2)))}.topology-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.topology-head>div{display:flex;flex-direction:column}.topology-head span{color:var(--accent);font:800 9px "Cascadia Mono",monospace;letter-spacing:.16em}.topology-head b{margin-top:3px;font-size:14px}.topology-head small{color:var(--faint);font:10px "Cascadia Mono",monospace}.topology-scroll{overflow-x:auto}.topology-scroll svg{width:100%;min-width:620px;max-height:300px;display:block}.topology-node rect{fill:var(--surface-sunken);stroke:var(--line);stroke-width:1.5}.topology-node:hover rect{stroke:var(--accent);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 22%,transparent))}.topology-icon{fill:none;stroke:var(--accent2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.topology-node text{fill:var(--muted);font:10px "Cascadia Mono",monospace}.topology-errors{padding:7px;border:1px solid var(--bad);border-radius:6px;color:var(--bad);font-size:11px}
::placeholder{color:var(--faint);opacity:1}
.pill,.badge,.pctpill{padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel3) 72%,transparent);font-size:11px;font-weight:750}
.tablewrap{border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-sunken) 58%,transparent)}
.wtable{border-collapse:separate;border-spacing:0}
.wtable th{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--faint);background:color-mix(in srgb,var(--panel2) 78%,transparent);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.wtable td{padding:12px;border-bottom:1px solid color-mix(in srgb,var(--line) 54%,transparent)}
.wtable tr:last-child td{border-bottom:0}
.wtable tbody tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.hero{min-height:230px;display:flex;align-items:flex-end;position:relative;isolation:isolate;overflow:hidden;padding:clamp(22px,4vw,42px);border-radius:var(--radius-lg);background:linear-gradient(110deg,color-mix(in srgb,var(--panel) 98%,transparent),color-mix(in srgb,var(--panel2) 76%,transparent)),repeating-linear-gradient(90deg,transparent 0 47px,color-mix(in srgb,var(--line) 25%,transparent) 48px)}
.hero:before{content:"";position:absolute;z-index:-1;inset:auto -8% -80% 42%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:50%;box-shadow:0 0 0 45px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 90px color-mix(in srgb,var(--accent) 3%,transparent)}
.hero .htext{max-width:830px}.hero h1{margin-bottom:8px;font-size:clamp(30px,5vw,52px)}.hero .ring{margin-left:auto;flex:0 0 auto}
.ring{padding:6px;box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 80%,transparent),0 8px 24px rgba(0,0,0,.18)}
.ring-h{background:var(--panel)}
.ring-h span{font-family:"Cascadia Mono","SFMono-Regular",Consolas,monospace;font-variant-numeric:tabular-nums}
.hbar{height:7px;border-radius:99px;background:var(--panel3);overflow:hidden}.hbar i{border-radius:inherit}
.nv{min-height:44px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 52%,transparent)}.nv:last-child{border-bottom:0}.nv span{color:var(--muted)}
.sysrow{min-height:48px}.toast{border-radius:var(--radius-sm);box-shadow:var(--shadow)}.modal{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}
#loginWrap{min-height:calc(100vh - var(--header-h));display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);place-items:center;gap:clamp(24px,5vw,64px);max-width:1160px;padding:42px 24px}
#loginWrap>.card{width:min(100%,520px);max-width:520px;padding:clamp(26px,5vw,48px);border-radius:var(--radius-lg)}
#loginWrap .login-hero{width:100%;max-width:620px;max-height:560px;margin:0;border-radius:var(--radius-lg);object-fit:contain}
#bottombar{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(18px)}
.bbitem{min-height:60px;color:var(--faint)}.bbitem.on{color:var(--accent)}.bbitem .bic{display:grid;place-items:center;width:22px;height:22px}.bbitem .bic .ns-nav-icon{width:21px;height:21px}.bbitem .blbl{font-size:10px;font-weight:750}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media (max-width:760px){
  :root{--header-h:58px}
  header{padding:0 10px;gap:8px}.brandlogo{width:30px;height:30px}.brandword{font-size:12px}.opctx{min-width:0;max-width:30vw;padding:5px 8px}
  main.wrap{padding:18px 14px 94px}#app{width:100%}h1{font-size:30px;margin-bottom:18px}.card{padding:16px;border-radius:var(--radius-sm)}
  .grid.pgrid{grid-template-columns:1fr}.grid.g-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .kpi{min-height:98px;padding:14px}.kpi .v{font-size:28px}
  .hero{min-height:250px;align-items:flex-end;padding:20px}.hero h1{font-size:34px}.hero .ring{position:absolute;top:18px;right:18px;transform:scale(.84);transform-origin:top right}
  .hero .row{gap:8px;flex-wrap:wrap}.hero .btn{flex:1 1 145px}.btn{min-height:46px}
  input,select,textarea,.field input,.field select,.field textarea{min-height:48px;font-size:16px}
  .row{min-width:0;flex-wrap:wrap}
  .row>input,.row>select{min-width:0}
  #menu{top:var(--header-h);max-height:calc(100vh - var(--header-h) - 70px);padding:12px;border:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--bg);box-shadow:var(--shadow)}
  #loginWrap{display:flex;min-height:auto;flex-direction:column;gap:10px;padding:22px 14px 80px}
  #loginWrap .login-hero{max-height:250px}
  .tools-intro{min-height:150px;padding:20px}.tools-signal{display:none}.tools-grid{grid-template-columns:1fr}.tool-card{grid-template-columns:88px 1fr auto;min-height:130px;padding:13px}.tool-visual{height:94px}.tool-graphic{width:78px;height:72px}
  .instrument-empty-hero{grid-template-columns:1fr;padding:16px;gap:12px}.bench-illustration{max-height:170px}.probe-family-grid{grid-template-columns:1fr}.probe-family{grid-template-columns:70px 1fr}.probe-model{flex-direction:column;gap:1px}.live-gauge-card{width:146px}
  .equipment-canvas{margin-left:-7px;margin-right:-7px;padding:5px;border-radius:var(--radius-sm)}.equipment-schematic{min-width:680px}.schematic-legend{min-width:660px}
  .equipment-topology{padding:10px}.topology-head{align-items:flex-start;flex-direction:column}.topology-scroll svg{min-width:600px}
}
@media (max-width:480px){.opctx{display:none}}
@media (max-width:420px){.grid.g-kpi{grid-template-columns:1fr}.kpi{min-width:0}.hide-sm,#who{display:none!important}.hero .row{flex-direction:column;align-items:stretch}}
