:root{--navy:#000054;--red:#e60028;--ink:#11112c;--muted:#6a708f;--line:#e1e4ee;--bg:#f6f7fb;--green:#0a8f5b;--amber:#d9951b;--teal:#0e7c7b;--blue:#4361c2}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}button,input,select{font:inherit}.as-top{position:sticky;top:0;z-index:100;background:var(--navy)}.as-top-in{max-width:1340px;margin:auto;padding:12px 22px;display:flex;align-items:center;gap:12px}.as-brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-size:13px;font-weight:800}.as-mark{width:25px;height:25px;background:var(--red);clip-path:polygon(34% 0,100% 0,100% 66%,66% 66%,66% 100%,0 100%,0 34%,34% 34%)}.as-topic{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;color:#d8d9f3;font-size:12px;font-weight:800}.as-home{padding:7px 14px;border-radius:999px;background:#fff;color:var(--navy);text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap;flex:none}
.as-hero{max-width:1340px;margin:auto;padding:30px 26px 12px}.as-kick{display:inline-block;padding:8px 14px;border-radius:999px;background:#fdeef1;color:var(--red);font-size:10.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.as-hero h1{max-width:1040px;margin:14px 0 9px;color:var(--navy);font-size:clamp(31px,4.3vw,50px);line-height:1.03;letter-spacing:-.045em}.as-hero h1 span{color:var(--red)}.as-hero p{max-width:990px;margin:0;color:var(--muted);font-size:15.5px}.as-main{max-width:1340px;margin:auto;padding:14px 26px 50px}.as-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 36px -31px rgba(0,0,84,.48)}
.as-how{padding:17px 20px;margin-bottom:17px}.as-eyebrow,.as-section{margin:0 0 11px;color:var(--navy);font-size:10.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.as-how ol{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none;counter-reset:asstep}.as-how li{counter-increment:asstep;padding:10px 11px;border-left:3px solid var(--red);border-radius:9px;background:#fafafd;color:#3d4161;font-size:11.5px}.as-how li:before{content:counter(asstep);display:inline-grid;place-items:center;width:19px;height:19px;margin-right:6px;border-radius:50%;background:var(--navy);color:#fff;font-size:9px;font-weight:900}.as-how b{color:var(--navy)}
.as-work{display:grid;grid-template-columns:305px 1fr;gap:17px;align-items:start}.as-controls{position:sticky;top:68px;padding:17px}.as-control-group{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.as-choices{display:grid;gap:6px}.as-choice{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);text-align:left;font-size:11.5px;font-weight:900;cursor:pointer}.as-choice small{display:block;margin-top:2px;color:var(--muted);font-size:9.5px;font-weight:600}.as-choice.on{background:var(--navy);border-color:var(--navy);color:#fff}.as-choice.on small{color:#d7d9f3}.as-label{display:flex;justify-content:space-between;gap:10px;margin:10px 0 5px;color:#343858;font-size:11px;font-weight:800}.as-label output{color:var(--red);font-variant-numeric:tabular-nums}.as-range{width:100%;accent-color:var(--red)}.as-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.as-btn{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:11.5px;font-weight:900;cursor:pointer}.as-btn.primary{grid-column:1/-1;background:var(--red);border-color:var(--red);color:#fff}.as-facts{margin:0;padding-left:17px;color:var(--muted);font-size:10.5px;line-height:1.65}.as-facts b{color:var(--navy)}
.as-right{min-width:0}.as-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:10px}.as-kpi{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fff}.as-kpi .k{overflow:hidden;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.as-kpi .v{margin-top:3px;color:var(--navy);font-size:19px;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}.as-kpi .v small{color:var(--muted);font-size:9px}.as-viz{padding:8px;overflow:hidden}.as-viz-head{display:flex;align-items:center;gap:10px;padding:7px 9px 9px}.as-viz-head strong{color:var(--navy);font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.as-status{margin-left:auto;color:var(--muted);font-size:10px}.as-scene{position:relative;overflow:hidden;min-height:510px;border:1px solid var(--line);border-radius:13px;background:#eef2f6}.as-stage,.as-map{position:absolute;inset:0;width:100%;height:100%}.as-map{z-index:1;background:#eaf0f3}.as-map .leaflet-control-attribution{font-size:7px;background:rgba(255,255,255,.78)}.as-map .leaflet-control-zoom{overflow:hidden;border:1px solid rgba(0,0,84,.18);border-radius:10px;box-shadow:0 4px 14px rgba(0,0,84,.12)}.as-map .leaflet-control-zoom a{width:32px;height:32px;line-height:31px;border-color:#e0e3ed;color:var(--navy);font-weight:900}.as-map .leaflet-control-zoom a:hover{background:#f6f7fc;color:var(--red)}.as-stage{z-index:420;pointer-events:none}.as-live,.as-hud,.as-feed{position:absolute;z-index:620}.as-live{left:10px;top:9px;display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.95);color:var(--navy);box-shadow:0 2px 8px rgba(0,0,84,.06);font-size:8.5px;font-weight:900;letter-spacing:.09em}.as-dot{width:7px;height:7px;border-radius:50%;background:#8c93aa}.as-scene.running .as-dot{background:var(--green);box-shadow:0 0 0 4px rgba(10,143,91,.13);animation:asPulse 1.1s ease-out infinite}.as-hud{right:10px;bottom:9px;display:grid;grid-template-columns:repeat(3,minmax(70px,1fr));gap:4px}.as-hud div{padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.95);color:var(--muted);box-shadow:0 2px 8px rgba(0,0,84,.05);font-size:6.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.as-hud b{display:block;color:var(--navy);font-size:12px;font-variant-numeric:tabular-nums}.as-feed{left:10px;bottom:9px;width:285px}.as-feed strong{display:block;color:var(--muted);font-size:7px;letter-spacing:.1em;text-transform:uppercase}.as-feed-line{margin-top:3px;padding:5px 7px;border-left:2px solid var(--green);border-radius:0 6px 6px 0;background:rgba(255,255,255,.95);color:#343858;box-shadow:0 2px 7px rgba(0,0,84,.05);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.as-feed-line.risk{border-color:var(--red);background:#fff3f5;color:#8a1530}.as-time{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 11px 4px;color:var(--muted);font-size:8.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.as-time input{min-width:0;width:100%;accent-color:var(--red)}
.as-route-case{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;opacity:.86}.as-route{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:10 8;transition:stroke-width .2s ease,opacity .2s ease}.as-scene.running .as-route{animation:asRoute 2.1s linear infinite}.as-route.risk{filter:drop-shadow(0 0 3px rgba(230,0,40,.5))}.as-packet{filter:url(#asShadow)}.as-packet-badge rect{fill:rgba(0,0,84,.92);stroke:#fff;stroke-width:1}.as-packet-badge text{fill:#fff;font:900 6.5px Inter,system-ui,sans-serif}.as-nname{font:800 7.5px Inter,system-ui,sans-serif;fill:#000054;paint-order:stroke;stroke:#fff;stroke-width:2.8px;stroke-linejoin:round;pointer-events:none}.as-nval{font:700 6.5px Inter,system-ui,sans-serif;fill:#5a6178;paint-order:stroke;stroke:#fff;stroke-width:2.4px;stroke-linejoin:round;pointer-events:none}.as-node-sm.risk circle:nth-child(2){stroke:var(--red);stroke-width:3}.as-pipelabel{font:800 7px Inter,system-ui,sans-serif;fill:#33365c;paint-order:stroke;stroke:#fff;stroke-width:2.6px;stroke-linejoin:round;pointer-events:none;letter-spacing:.02em}@media(max-width:760px){.as-pipelabel{display:none}}.as-legend{position:absolute;left:12px;bottom:12px;z-index:500;background:rgba(255,255,255,.95);border:1px solid #e6e8f2;border-radius:9px;padding:8px 10px;box-shadow:0 2px 10px rgba(0,0,84,.10)}.as-legend b{display:block;font:800 8px Inter,system-ui,sans-serif;letter-spacing:.1em;color:#000054;margin-bottom:5px}.as-legend span{display:flex;align-items:center;gap:6px;font:700 9px Inter,system-ui,sans-serif;color:#5a6178;margin-top:3px}.as-legend i{width:16px;height:3px;border-radius:2px;display:inline-block;flex:none}.as-node .halo{opacity:0}.as-scene.running .as-node.busy .halo{opacity:.22;animation:asNode 1s ease-in-out infinite}.as-node.risk .halo{fill:var(--red);opacity:.4}.as-scene.running .as-node.risk .halo{animation:asRisk .9s ease-out infinite}.as-machine-glow{animation:asMachine 1s ease-in-out infinite}.as-agv{filter:url(#asShadow)}
.as-analysis{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:15px}.as-charts,.as-evidence{padding:16px}.as-chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.as-chart{padding:7px;border:1px solid var(--line);border-radius:9px}.as-chart svg{display:block;width:100%;height:auto}.as-evidence table{width:100%;border-collapse:collapse;font-size:10.5px}.as-evidence th{text-align:left;color:var(--muted);font-size:8px;letter-spacing:.06em;text-transform:uppercase}.as-evidence th,.as-evidence td{padding:7px 6px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.as-evidence tr.best td{background:#eefaf4;color:#07613e;font-weight:850}.as-insight{margin-top:9px;padding:9px 11px;border-left:3px solid var(--red);border-radius:8px;background:#f8f9ff;color:#3b3f62;font-size:11px}.as-edu{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:16px;padding:18px}.as-edu h3{margin:0 0 5px;color:var(--red);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase}.as-edu p,.as-edu li{margin:0;color:#424665;font-size:11.5px;line-height:1.55}.as-edu ol{margin:0;padding-left:17px}.as-source{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.as-source a{color:var(--navy);font-weight:800}.as-footer{padding:14px 25px;background:var(--navy);color:#d6d8ef;font-size:11.5px}
@keyframes asPulse{70%{box-shadow:0 0 0 8px rgba(10,143,91,0)}}@keyframes asRoute{to{stroke-dashoffset:-36}}@keyframes asNode{50%{opacity:.08}}@keyframes asRisk{to{transform:scale(1.5);opacity:0}}@keyframes asMachine{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.as-route,.as-node .halo,.as-machine-glow,.as-dot{animation:none!important}}
@media(max-width:1060px){.as-work{grid-template-columns:280px 1fr}.as-kpis{grid-template-columns:repeat(3,1fr)}.as-analysis{grid-template-columns:1fr}}@media(max-width:820px){.as-work{grid-template-columns:1fr}.as-controls{position:static}.as-how ol{grid-template-columns:1fr 1fr}.as-edu{grid-template-columns:1fr}.as-source{grid-column:1}.as-chart-grid{grid-template-columns:1fr}}@media(max-width:600px){.as-main,.as-hero{padding-left:14px;padding-right:14px}.as-topic{display:none}.as-how ol{grid-template-columns:1fr}.as-kpis{grid-template-columns:repeat(2,1fr)}.as-scene{min-height:430px}.as-feed{display:none}.as-hud{left:7px;right:7px;bottom:7px}.as-hud div{min-width:0;padding:4px}.as-hud b{font-size:10px}.as-kpi .v{font-size:17px}}

/* Professional experiment views */
.pro-tabs{display:flex;align-items:stretch;gap:4px;margin:0 0 16px;padding:5px;overflow-x:auto}.pro-tab{min-width:128px;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.pro-tab span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef0f6;color:var(--navy);font-size:8px}.pro-tab:hover{background:#f5f6fb;color:var(--navy)}.pro-tab.on{background:var(--navy);color:#fff}.pro-tab.on span{background:var(--red);color:#fff}.as-work[hidden],.pro-panel[hidden]{display:none!important}.pro-panel{min-height:610px;margin-bottom:16px;padding:22px}.pro-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:17px;margin-bottom:18px;border-bottom:1px solid var(--line)}.pro-kicker{display:block;margin-bottom:5px;color:var(--red);font-size:8px;font-weight:900;letter-spacing:.14em}.pro-head h2{margin:0;color:var(--navy);font-size:25px;line-height:1.05;letter-spacing:-.03em}.pro-head p{max-width:740px;margin:6px 0 0;color:var(--muted);font-size:12px}.pro-live{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-size:8px;font-weight:900;letter-spacing:.07em}.pro-live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(10,143,91,.12)}
.pro-stage-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.pro-stage{position:relative;overflow:hidden;min-height:53px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff}.pro-stage>i{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--green) var(--fill),#eceef4 var(--fill))}.pro-stage span{display:block;color:var(--muted);font-size:7.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pro-stage b{display:block;margin-top:3px;color:var(--navy);font-size:14px;font-variant-numeric:tabular-nums}.pro-stage.risk{border-color:#f2b9c4;background:#fff7f8}.pro-stage.risk>i{background:linear-gradient(90deg,var(--red) var(--fill),#f5dce1 var(--fill))}
.pro-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}.pro-stat{min-width:0;padding:13px 14px;border-left:3px solid var(--red);border-radius:10px;background:#f8f9fd}.pro-stat span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pro-stat b{display:block;overflow:hidden;margin-top:3px;color:var(--navy);font-size:20px;letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap}.pro-stat small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.pro-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.pro-split>section{min-width:0}.pro-panel h3{margin:0 0 10px;color:var(--navy);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pro-bars{display:grid;gap:8px}.pro-bar>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}.pro-bar span{color:#3e4260;font-size:9.5px;font-weight:750}.pro-bar b{color:var(--navy);font-size:9.5px;font-variant-numeric:tabular-nums}.pro-bar>i{display:block;overflow:hidden;height:7px;border-radius:999px;background:#eceef4}.pro-bar>i>em{display:block;height:100%;border-radius:999px;transition:width .25s ease}
.pro-chart{margin:16px 0 6px}.pro-chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:5px}.pro-chart-title>strong{color:var(--navy);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.pro-chart-title>div{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.pro-chart-title span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:8px}.pro-chart-title span i{width:8px;height:8px;border-radius:2px}.pro-chart-title span b{color:var(--navy)}.pro-chart svg{display:block;width:100%;height:auto;max-height:310px}.pro-chart svg .grid path{stroke:#e7e9f0;stroke-width:1}.pro-chart svg .grid text,.pro-chart svg .xlab{fill:#8a90a8;font-size:9px}.pro-chart svg .axis{fill:none;stroke:#cdd1df}.pro-chart svg polyline{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.pro-chart svg circle{stroke:#fff;stroke-width:2}
.pro-process{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding:5px 0 10px}.pro-process-step{position:relative;min-width:126px;flex:1;padding:13px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.pro-process-step>span{display:block;color:var(--red);font-size:8px;font-weight:900}.pro-process-step>b{display:block;margin-top:5px;color:var(--navy);font-size:10px}.pro-process-step>small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.pro-process-step.busy{border-color:#e9ca91;background:#fffaf0}.pro-process-step.risk{border-color:#f0aebb;background:#fff4f6}.pro-arrow{align-self:center;color:#a3a8ba;font-size:17px;font-style:normal}.pro-rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.pro-rule-grid>div{padding:12px;border-top:2px solid var(--navy);background:#f8f9fd}.pro-rule-grid b{display:block;color:var(--navy);font-size:9px}.pro-rule-grid span{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.pro-note{display:flex;align-items:flex-start;gap:15px;margin-top:18px;padding:13px 15px;border-left:3px solid var(--red);border-radius:9px;background:#f8f9fd}.pro-note b{flex:0 0 150px;color:var(--navy);font-size:10px}.pro-note span{color:#454965;font-size:10.5px}
.pro-task-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.pro-task-grid>ol{margin:0;padding-left:26px;counter-reset:task}.pro-task-grid li{margin:0 0 13px;padding:10px 12px;border-left:3px solid var(--navy);background:#f8f9fd;color:#3e4260;font-size:11.5px}.pro-quiz{display:grid;gap:8px;padding:16px;border-radius:14px;background:#f7f8fc}.pro-quiz>b{color:var(--navy);font-size:14px}.pro-quiz>span,.pro-quiz label{color:#454965;font-size:10.5px}.pro-quiz label{display:flex;align-items:center;gap:7px}.pro-quiz input{accent-color:var(--red)}.pro-quiz output{padding:8px;border-radius:7px;background:#fff;color:var(--muted);font-size:9px}.pro-quiz output.good{color:#07613e;background:#eefaf4}.pro-quiz output.bad{color:#8a1530;background:#fff1f4}.pro-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pro-info-grid article{position:relative;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.pro-info-grid article>span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--navy);color:#fff;font-size:9px;font-weight:900}.pro-info-grid h3{margin:10px 0 7px;font-size:14px;letter-spacing:0;text-transform:none}.pro-info-grid p{margin:0 0 9px;color:var(--muted);font-size:10px}.pro-info-grid article>b{color:var(--red);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.pro-info-grid em{position:absolute;left:0;bottom:0;height:3px;background:var(--red)}
.pro-cause-controls{display:grid;gap:6px}.pro-cause-controls label{display:flex;align-items:center;gap:7px;color:#343858;font-size:10px;font-weight:750}.pro-cause-controls input{accent-color:var(--red)}.pro-cell-controls output{color:var(--red)}
.pro-map-legend{position:absolute;z-index:650;right:10px;top:10px;display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;width:218px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 4px 15px rgba(0,0,84,.08)}.pro-map-legend>b{grid-column:1/-1;color:var(--navy);font-size:7px;letter-spacing:.1em}.pro-map-legend span{display:flex;align-items:center;gap:5px;color:#4b4f6c;font-size:7.5px}.pro-map-legend span i{width:9px;height:9px;border-radius:3px}.pro-map-legend .port{background:#6b7099}.pro-map-legend .refinery{background:var(--red)}.pro-map-legend .terminal{background:var(--navy)}.pro-map-legend .retail{border:2px solid var(--teal);border-radius:50%;background:#fff}.pro-map-legend small{grid-column:1/-1;color:var(--muted);font-size:7px;line-height:1.35}.pro-availability{display:grid;grid-template-columns:repeat(auto-fit,minmax(7px,1fr));gap:2px;min-height:28px}.pro-availability i,.pro-legend i{display:block;border-radius:2px}.pro-availability i.ok,.pro-legend i.ok{background:#bce9d5}.pro-availability i.low,.pro-legend i.low{background:#f2c977}.pro-availability i.bad,.pro-legend i.bad{background:var(--red)}.pro-legend{display:flex;gap:15px;margin-top:7px}.pro-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px}.pro-legend i{width:9px;height:9px}.pro-asset-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:17px}.pro-asset-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.pro-asset-list button{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:left;cursor:pointer}.pro-asset-list button:hover,.pro-asset-list button.on{border-color:var(--navy);background:#f6f7fd}.pro-asset-list span{color:var(--navy);font-size:9px;font-weight:900}.pro-asset-list b{color:var(--green);font-size:7px}.pro-asset-list small{grid-column:1/-1;color:var(--muted);font-size:8px}.pro-asset-detail{position:relative;min-height:390px;padding:18px;border-radius:14px;background:var(--navy);color:#fff}.pro-asset-detail h3{margin:6px 0 16px;color:#fff;font-size:19px;letter-spacing:-.02em;text-transform:none}.pro-asset-gauge{position:absolute;right:18px;top:64px;width:30px;height:105px;border:2px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(255,255,255,.08)}.pro-asset-gauge i{position:absolute;left:3px;right:3px;bottom:3px;border-radius:4px;background:var(--red)}.pro-asset-detail dl{display:grid;gap:8px;margin:0 54px 15px 0}.pro-asset-detail dl div{padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.16)}.pro-asset-detail dt{color:#bfc2de;font-size:7px;text-transform:uppercase;letter-spacing:.08em}.pro-asset-detail dd{margin:2px 0 0;font-size:13px;font-weight:900}.pro-asset-detail dd.risk{color:#ff98aa}.pro-asset-detail p{color:#d5d7ed;font-size:9px}
.pro-heat{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.pro-heat div{padding:8px;border-radius:6px;color:var(--navy)}.pro-heat b,.pro-heat span{display:block;font-size:8px}.pro-logic-lanes{display:grid;gap:16px}.pro-order-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.pro-order-board section{min-height:430px;padding:10px;border-radius:11px;background:#f5f6fa}.pro-order-board header{display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid var(--line)}.pro-order-board header b{color:var(--navy);font-size:9px}.pro-order-board header span{display:grid;place-items:center;min-width:27px;height:22px;padding:0 5px;border-radius:7px;background:var(--navy);color:#fff;font-size:8px}.pro-order-board section>div{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding-top:8px}.pro-order-board i{padding:6px 4px;border-left:3px solid var(--c);border-radius:5px;background:#fff;color:#444863;font-size:8px;font-style:normal;font-weight:800}
.pro-floor-svg,.pro-agv-svg,.pro-iso-svg,.pro-rail-svg,.pro-agv-iso{display:block;width:100%;height:auto;max-height:610px}.pro-floor-svg .zone rect{fill:#fff;stroke:#d9dce7}.pro-floor-svg .zone text,.pro-floor-svg .labels text{fill:#6b7099;font-size:9px;font-weight:900;letter-spacing:1px;text-anchor:middle}.pro-floor-svg .dockdoors rect{fill:#fff;stroke:var(--navy)}.pro-floor-svg .dockdoors text{fill:var(--navy);font-size:8px;font-weight:900;text-anchor:middle}.pro-floor-svg .travel{fill:none;stroke:#c9cdd8;stroke-width:22;stroke-dasharray:8 8}.pro-floor-svg .forks{fill:var(--navy);stroke:var(--navy);stroke-width:2}.pro-agv-svg .cell{fill:#fff;stroke:#d9dce7;stroke-width:2}.pro-agv-svg .cell.risk{stroke:var(--red)}.pro-agv-svg .cells circle{fill:#fff5e8;stroke:#e8a13a}.pro-agv-svg .cells path{fill:none;stroke:#e8a13a;stroke-width:9;stroke-linecap:round}.pro-agv-svg .cells rect:not(.cell){fill:var(--navy)}.pro-agv-svg .cells text{fill:var(--navy);font-size:10px;font-weight:900;text-anchor:middle}.pro-agv-svg .network{fill:none;stroke:#cbd0dc;stroke-width:25;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:13 8}.pro-agv-svg .stores rect{fill:#fff;stroke:var(--navy)}.pro-agv-svg .stores text{fill:var(--navy);font-size:8px;font-weight:900;text-anchor:middle}.pro-agv-svg .agvs rect:first-child{fill:var(--navy)}.pro-agv-svg .agvs rect:nth-child(2){fill:var(--red)}.pro-agv-svg .agvs text{fill:#fff;font-size:8px;font-weight:900}.pro-dist-svg{display:block;width:100%;max-height:450px}.pro-dist-svg text{fill:var(--muted);font-size:9px}.pro-dist-svg path{fill:none;stroke:#d7dbe6}
.pro-iso-svg .floor,.pro-agv-iso .floor{stroke:#d9dce7;stroke-width:2}.pro-iso-svg .docks path{fill:#cdd2de}.pro-iso-svg .docks rect{fill:#fff;stroke:var(--navy)}.pro-iso-svg .docks text{fill:var(--navy);font-size:8px;font-weight:900}.pro-iso-svg .lane{fill:none;stroke:#c1c6d2;stroke-width:18;stroke-dasharray:11 9}.pro-iso-svg .stage path{stroke:none}
/* Forklifts are coloured by the JOB the model gave them, so the three job groups
   the simulation actually allocates (put-away / picking / loading) are readable
   on the floor instead of being an anonymous swarm. */
.dc-fork{transition:opacity .25s}
.dc-fork .body{fill:var(--navy);stroke:none}
.dc-fork .tine{fill:none;stroke:#20263f;stroke-width:1.6;stroke-linecap:round}
.dc-fork .load{fill:#c9a227;stroke:#8a6d12;stroke-width:.7;opacity:0;transition:opacity .12s}
.dc-fork.loaded .load{opacity:1}
.dc-fork.idle{opacity:.34}
.dc-fork.j0 .body{fill:#4361c2}
.dc-fork.j1 .body{fill:#0a8f5b}
.dc-fork.j2 .body{fill:#d9951b}
.dc-dock .dc-truck{opacity:0;transition:opacity .3s}
.dc-dock.busy .dc-truck{opacity:1}
.pro-floor-svg .shell{fill:#fff;stroke:#d9dce7;stroke-width:1.5}
.pro-floor-svg .door{fill:#fff;stroke:var(--navy);stroke-width:1.2}
.pro-floor-svg .dc-truck{fill:#3f4a68}
.dc-legend{display:flex;flex-wrap:wrap;gap:14px;padding:9px 4px 2px;color:#6b7099;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.dc-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.pro-iso-svg .forks{stroke-width:0}.pro-iso-svg .iso-label rect,.pro-agv-iso .iso-label rect{fill:#fff;stroke:#d9dce7}.pro-iso-svg .iso-label text,.pro-agv-iso .iso-label text{fill:var(--navy);font-size:10px;font-weight:900}.pro-rail-svg .objective rect,.pro-rail-svg .action rect{fill:#fff;stroke:#d6dbe5}.pro-rail-svg .objective text,.pro-rail-svg .action text{fill:var(--navy);font-size:9px;font-weight:900}.pro-rail-svg .bed{fill:none;stroke:#dfe3ec;stroke-width:15;stroke-linecap:round}
.pro-rail-svg .bed.hot{stroke:#f9d4dd}
/* classic rail symbology: a continuous dark rail plus dark cross-ticks for the
   sleepers. Same colour as the rail - light ties on a light bed just erase it. */
.pro-rail-svg .ties{fill:none;stroke:#4a5164;stroke-width:11;stroke-dasharray:2.2 9}
.pro-rail-svg .ties.hot{stroke:#e60028;opacity:.65}
.pro-rail-svg .ties.fault{stroke:#e60028;opacity:.4}
.pro-rail-svg .rail{fill:none;stroke:#4a5164;stroke-width:3}
.pro-rail-svg .rail.hot{stroke:#e60028;stroke-width:3.4}
.pro-rail-svg .rail.fault{stroke:#e60028;stroke-dasharray:7 4}
.pro-rail-svg .road rect{fill:#fff;stroke:#d6dbe5;stroke-width:1.2}
.pro-rail-svg .road.target rect{stroke:#0a8f5b;stroke-width:2.4}
.pro-rail-svg .road text{fill:var(--navy);font-size:9px;font-weight:900;text-anchor:start}
.pro-rail-svg .road text.cnt{fill:#8b93a8;text-anchor:end}
.pro-rail-svg .sw .halo{fill:#fff;stroke:#aab1c2;stroke-width:1.6}
.pro-rail-svg .sw .lever{stroke:#8b93a8;stroke-width:2.6;stroke-linecap:round}
.pro-rail-svg .sw .core{fill:#8b93a8}
.pro-rail-svg .sw.on .halo{stroke:#e60028;stroke-width:2.4}
.pro-rail-svg .sw.on .lever,.pro-rail-svg .sw.on .core{stroke:#e60028;fill:#e60028}
.pro-rail-svg .sw.fault .halo{stroke:#e60028;stroke-dasharray:3 3}
.pro-rail-svg .sw text.lbl{fill:var(--navy);font-size:10px;font-weight:900;text-anchor:middle}
.pro-rail-svg .hint{fill:#8b93a8;font-size:8.5px;font-weight:850;letter-spacing:.07em}
.pro-rail-svg .dec rect{fill:#fff;stroke:#d6dbe5;stroke-width:1.2}
.pro-rail-svg .dec text.n{fill:#8b93a8;font-size:8px;font-weight:900;letter-spacing:.06em}
.pro-rail-svg .dec .opt rect{fill:#f4f6fa;stroke:#e2e6ee}
.pro-rail-svg .dec .opt text{fill:#8b93a8;font-size:9px;font-weight:900}
.pro-rail-svg .dec .opt.pick rect{fill:#0a8f5b;stroke:#0a8f5b}
.pro-rail-svg .dec .opt.pick text{fill:#fff}
.pro-rail-svg .dec .opt.pick.wrong rect{fill:#e60028;stroke:#e60028}
.pro-rail-svg .dec text.v{font-size:10px;font-weight:900}
.pro-rail-svg .dec text.v.good{fill:#0a8f5b}
.pro-rail-svg .dec text.v.bad{fill:#e60028}
.pro-rail-svg .dec text.sub{fill:#8b93a8;font-size:8px;font-weight:800}
.pro-q-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.pro-q-grid>div{position:relative;overflow:hidden;padding:12px 9px;border:1px solid var(--line);border-radius:9px;background:#fff}.pro-q-grid>div.on{border-color:var(--red);background:#fff5f7}.pro-q-grid span,.pro-q-grid small{display:block;color:var(--muted);font-size:7px}.pro-q-grid b{display:block;margin:5px 0;color:var(--navy);font-size:16px}.pro-q-grid i{display:block;height:3px;border-radius:4px;background:var(--red)}.pro-q-grid small{margin-top:5px;color:var(--navy);font-weight:900}
/* State-linked Western Sydney motion */
.pro-agv-svg.dynamic .moving-box{fill:var(--red);stroke:#fff;stroke-width:1}.pro-agv-svg.dynamic .live-robot{fill:none;stroke:#e8a13a;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.pro-agv-svg.dynamic .robot-base{fill:var(--navy);stroke:#fff;stroke-width:2}.pro-agv-svg.dynamic .agv-task{fill:var(--navy);font-size:5px;font-weight:900}.pro-agv-svg.dynamic [data-live-agv]>rect:first-child{fill:var(--navy)}.pro-agv-svg.dynamic [data-live-agv]>rect:nth-child(2){fill:var(--red)}
.pro-agv-iso.dynamic .network{fill:none;stroke:#c5cad5;stroke-width:25;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 9}.pro-agv-iso.dynamic .flow-arrows path{fill:none;stroke:var(--green);stroke-width:2;stroke-dasharray:7 8;opacity:.8}.pro-agv-iso.dynamic .platform{fill:#fff;stroke:#d6d9e4;stroke-width:2}.pro-agv-iso.dynamic .cell-unit.risk .platform{stroke:var(--red);stroke-width:4}.pro-agv-iso.dynamic .guard{fill:none;stroke:#c9cdd8;stroke-width:2}.pro-agv-iso.dynamic .robot-shadow{fill:none;stroke:rgba(0,0,84,.16);stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.pro-agv-iso.dynamic .robot{fill:none;stroke:#e8a13a;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.pro-agv-iso.dynamic .gripper{fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round}.pro-agv-iso.dynamic .cells circle{fill:var(--navy);stroke:#fff;stroke-width:2}.pro-agv-iso.dynamic .pallet-load rect{fill:var(--red);stroke:#fff;stroke-width:.7}.pro-agv-iso.dynamic .cell-status rect{fill:#fff;stroke:#d8dce7}.pro-agv-iso.dynamic .cell-status text{fill:var(--navy);font-size:7px;font-weight:900;text-anchor:start}.pro-agv-iso.dynamic .cell-unit.risk .cell-status rect{fill:#fff1f4;stroke:var(--red)}.pro-agv-iso.dynamic .stores text,.pro-agv-iso.dynamic .charge-bay text{fill:var(--navy);font-size:7px;font-weight:900;text-anchor:middle}.pro-agv-iso.dynamic .stores path{fill:#fff;stroke:#d6d9e4}.pro-agv-iso.dynamic .charge-bay path{fill:#fff8e8;stroke:#d9951b;stroke-width:2}.pro-agv-iso.dynamic .live-box path:first-child{fill:var(--red)}.pro-agv-iso.dynamic .live-box path:nth-child(2){fill:#b80020}.pro-agv-iso.dynamic .live-box path:nth-child(3){fill:#ff4968}.pro-agv-iso.dynamic .vehicle>path:first-child{fill:var(--navy)}.pro-agv-iso.dynamic .vehicle>path:nth-child(2){fill:#00003d}.pro-agv-iso.dynamic .vehicle>path:nth-child(3){fill:#1c1c73}.pro-agv-iso.dynamic .vehicle>circle{fill:#202640;stroke:#fff;stroke-width:1}.pro-agv-iso.dynamic .vehicle>text{fill:#fff;font-size:8px;font-weight:900;text-anchor:middle}.pro-agv-iso.dynamic .cargo.full>path{fill:#9a6a26;stroke:#fff}.pro-agv-iso.dynamic .cargo.full rect{fill:var(--red);stroke:#fff;stroke-width:.5}.pro-agv-iso.dynamic .cargo.pallet path{fill:#d9951b;stroke:#fff;stroke-width:1.5}.pro-agv-iso.dynamic .cargo.sheets path{fill:#fff;stroke:#4361c2;stroke-width:1.5}.pro-agv-iso.dynamic .task-label rect{fill:rgba(0,0,84,.9);stroke:#fff}.pro-agv-iso.dynamic .task-label text{fill:#fff;font-size:5.5px;font-weight:900;text-anchor:middle}.pro-agv-iso.dynamic .vehicle.charging>path:first-child{fill:#d9951b}.pro-agv-iso.dynamic .iso-label .flow{fill:var(--red)}
/* Western Sydney clean digital-twin revision */
.pro-agv-iso.dynamic .floor{fill:#f7f8fb;stroke:#e0e3eb;stroke-width:1.5}.pro-agv-iso.dynamic .factory-head .kicker{fill:var(--navy);font-size:9px;font-weight:900;letter-spacing:.09em}.pro-agv-iso.dynamic .factory-head>circle{fill:var(--green)}.pro-agv-iso.dynamic .factory-head.alarm>circle{fill:var(--red)}.pro-agv-iso.dynamic .factory-head .flow{fill:#5b607e;font-size:8px;font-weight:800}.pro-agv-iso.dynamic .factory-head.alarm .flow{fill:var(--red)}.pro-agv-iso.dynamic .metrics text{fill:#777c96;font-size:6.5px;font-weight:900;letter-spacing:.08em}.pro-agv-iso.dynamic .metrics .value{fill:var(--navy);font-size:14px;letter-spacing:0}.pro-agv-iso.dynamic .metrics .unit{fill:#777c96;font-size:7px;letter-spacing:0}.pro-agv-iso.dynamic .metrics path{stroke:#d8dce6;stroke-width:1}.pro-agv-iso.dynamic .network{fill:none;stroke:#dde1e9;stroke-width:24;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none}.pro-agv-iso.dynamic .platform{fill:#fff;stroke:#dfe2ea;stroke-width:1.5;filter:drop-shadow(0 5px 7px rgba(0,0,84,.055))}.pro-agv-iso.dynamic .cell-unit.risk .platform{fill:#fff8f9;stroke:var(--red);stroke-width:2.5}.pro-agv-iso.dynamic .cells circle.work-envelope{fill:#f7f8fb;stroke:#d9dde7;stroke-width:1.5}.pro-agv-iso.dynamic .cell-unit.risk circle.work-envelope{fill:#fff1f4;stroke:#f3a1b0}.pro-agv-iso.dynamic .guard{fill:none;stroke:#d7dbe5;stroke-width:9;stroke-linecap:round}.pro-agv-iso.dynamic .robot-shadow{fill:none;stroke:rgba(0,0,84,.10);stroke-width:13;stroke-linecap:round;stroke-linejoin:round}.pro-agv-iso.dynamic .robot{fill:none;stroke:#d78c20;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.pro-agv-iso.dynamic .gripper{fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round}.pro-agv-iso.dynamic .cell-unit circle:not(.work-envelope){fill:var(--navy);stroke:#fff;stroke-width:1.5}.pro-agv-iso.dynamic .cell-name{fill:var(--navy);font-size:8px;font-weight:900;letter-spacing:.08em}.pro-agv-iso.dynamic .cell-mode{fill:var(--green);font-size:7px;font-weight:900}.pro-agv-iso.dynamic .cell-unit.risk .cell-mode{fill:var(--red)}.pro-agv-iso.dynamic .cell-caption{fill:#6d728c;font-size:6.8px;font-weight:750}.pro-agv-iso.dynamic .pallet-base{fill:#e4d2a8;stroke:#b8995c;stroke-width:1}.pro-agv-iso.dynamic .pallet-load rect{fill:var(--red);stroke:#fff;stroke-width:.7}.pro-agv-iso.dynamic .live-box rect{fill:var(--red);stroke:#fff;stroke-width:1}.pro-agv-iso.dynamic .stations rect{fill:#fff;stroke:#d6dae5;stroke-width:1.2}.pro-agv-iso.dynamic .stations text{fill:var(--navy);font-size:6.4px;font-weight:900;text-anchor:middle;letter-spacing:.04em}.pro-agv-iso.dynamic .vehicle .agv-body{fill:var(--navy);stroke:#fff;stroke-width:1}.pro-agv-iso.dynamic .vehicle .agv-deck{fill:#1b1b70}.pro-agv-iso.dynamic .vehicle.charging .agv-body{fill:#d78c20}.pro-agv-iso.dynamic .vehicle>circle{fill:#292e45;stroke:#fff;stroke-width:1}.pro-agv-iso.dynamic .cargo.full rect{fill:var(--red);stroke:#fff;stroke-width:.7}.pro-agv-iso.dynamic .cargo.full path,.pro-agv-iso.dynamic .cargo.pallet path{fill:none;stroke:#d8a64e;stroke-width:2}.pro-agv-iso.dynamic .cargo.sheets rect{fill:#fff;stroke:#5167ad;stroke-width:1}.pro-agv-iso.dynamic .cargo.sheets path{fill:none;stroke:#9ba7cc;stroke-width:1}
.pro-agv-svg.dynamic .layout-floor{fill:#f7f8fb;stroke:#e0e3eb;stroke-width:1.5}.pro-agv-svg.dynamic .layout-kicker{fill:var(--navy);font-size:9px;font-weight:900;letter-spacing:.09em}.pro-agv-svg.dynamic .cell{fill:#fff;stroke:#dfe2ea;stroke-width:1.5;filter:drop-shadow(0 5px 7px rgba(0,0,84,.05))}.pro-agv-svg.dynamic .cell-unit.risk .cell{fill:#fff8f9;stroke:var(--red);stroke-width:2.5}.pro-agv-svg.dynamic .work-envelope{fill:#f7f8fb;stroke:#d9dde7;stroke-width:1.5}.pro-agv-svg.dynamic .cell-unit.risk .work-envelope{fill:#fff1f4;stroke:#f3a1b0}.pro-agv-svg.dynamic .cell-title{fill:var(--navy);font-size:9px;font-weight:900;letter-spacing:.08em}.pro-agv-svg.dynamic .cell-state{fill:var(--green);font-size:8px;font-weight:900}.pro-agv-svg.dynamic .cell-unit.risk .cell-state{fill:var(--red)}.pro-agv-svg.dynamic .cell-foot{fill:#6d728c;font-size:7px;font-weight:750}.pro-agv-svg.dynamic .cell-conveyor{stroke:#d7dbe5;stroke-width:10;stroke-linecap:round}.pro-agv-svg.dynamic .live-robot{fill:none;stroke:#d78c20;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.pro-agv-svg.dynamic .robot-base{fill:var(--navy);stroke:#fff;stroke-width:2}.pro-agv-svg.dynamic .pallet{fill:#e4d2a8!important;stroke:#b8995c}.pro-agv-svg.dynamic .moving-box{fill:var(--red);stroke:#fff;stroke-width:1}.pro-agv-svg.dynamic .network{fill:none;stroke:#dde1e9;stroke-width:24;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none}.pro-agv-svg.dynamic .stations rect{fill:#fff;stroke:#d6dae5}.pro-agv-svg.dynamic .stations text{fill:var(--navy);font-size:6.4px;font-weight:900;text-anchor:middle}.pro-agv-svg.dynamic .agv-body{fill:var(--navy)}.pro-agv-svg.dynamic .agv-deck{fill:#1b1b70!important}.pro-agv-svg.dynamic .agv.charging .agv-body{fill:#d78c20}.pro-agv-svg.dynamic .agv circle{fill:#292e45;stroke:#fff;stroke-width:1}.pro-agv-svg.dynamic .cargo.full{fill:var(--red)!important;stroke:#fff}.pro-agv-svg.dynamic .cargo.sheets{fill:#fff!important;stroke:#5167ad}.pro-agv-svg.dynamic .cargo.pallet{fill:none;stroke:#d8a64e;stroke-width:2}
@media(max-width:980px){.pro-stat-grid{grid-template-columns:repeat(2,1fr)}.pro-rule-grid{grid-template-columns:repeat(2,1fr)}.pro-q-grid{grid-template-columns:repeat(4,1fr)}.pro-asset-layout,.pro-task-grid{grid-template-columns:1fr}.pro-asset-detail{min-height:300px}}
@media(max-width:760px){.pro-panel{padding:15px}.pro-head{display:block}.pro-live{display:inline-flex;margin-top:10px}.pro-stage-strip{grid-template-columns:repeat(2,1fr)}.pro-split{grid-template-columns:1fr}.pro-info-grid{grid-template-columns:1fr}.pro-order-board{grid-template-columns:repeat(2,1fr)}.pro-order-board section{min-height:260px}.pro-asset-list{grid-template-columns:1fr}.pro-map-legend{display:none}.pro-chart-title{display:block}.pro-chart-title>div{justify-content:flex-start;margin-top:6px}}
@media(max-width:500px){.pro-tabs{justify-content:flex-start}.pro-tab{min-width:115px}.pro-stat-grid,.pro-rule-grid,.pro-order-board{grid-template-columns:1fr}.pro-q-grid{grid-template-columns:repeat(2,1fr)}.pro-note{display:block}.pro-note b{display:block;margin-bottom:4px}}
.pro-agv-iso.dynamic .vehicle.idle,.pro-agv-svg.dynamic .agv.idle{opacity:.52}.pro-agv-iso.dynamic .vehicle.idle .agv-body,.pro-agv-svg.dynamic .agv.idle .agv-body{fill:#777d91}

/* Keep the JS-built Australian shell on the shared reading frame. */
.as-top-in,.as-hero,.as-main{width:min(var(--lab-max,1440px),calc(100% - 48px));max-width:var(--lab-max,1440px);box-sizing:border-box;}
@media(max-width:600px){.as-top-in,.as-hero,.as-main{width:calc(100% - 28px);}}

/* QA 2026-10-03: rl-ui.css lifts every .k to 11px, so the 8px nowrap KPI labels were clipped ("FORKLIFT UTIL..."); let them wrap instead */
.as-kpi .k{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}

/* QA 2026-10-03: the legend sat on top of the live event stream (both bottom-left); it now hangs under the LIVE pill. The 4 info tabs overflowed phones; let them wrap. */
.as-legend{top:46px;bottom:auto}
@media(max-width:500px){.pro-tabs{flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.pro-tab{min-width:0;flex:1 1 45%}}

/* QA 2026-10-03: the analysis grid track grew to the evidence table and pushed phones 32px wide */
@media(max-width:1060px){.as-analysis{grid-template-columns:minmax(0,1fr)}}
.as-evidence{overflow-x:auto;-webkit-overflow-scrolling:touch}
