:root{color-scheme:dark;font-size:calc(20px * var(--font-scale, 1.15));line-height:1.45;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #e9f0e7;--muted: #8fa3a1;--faint: #5d716f;--line: rgba(180, 209, 199, .14);--line-strong: rgba(180, 209, 199, .26);--panel: rgba(11, 26, 34, .92);--panel-deep: #0a1a23;--canvas: #09151f;--canvas-edge: #243a42;--green: #94d0a1;--green-bright: #b7e2b5;--gold: #f0c66c;--red: #ef7469;--blue: #77b7db}*{box-sizing:border-box}html,body,#root{min-width:700px;height:100%;margin:0}body{margin:0;background:#07131b;color:var(--ink);overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;background:radial-gradient(circle at 59% 16%,rgba(79,135,121,.12),transparent 27rem),linear-gradient(145deg,#06131c,#0a1c25,#07151e);overflow:hidden}.topbar{height:74px;flex:0 0 74px;padding:0 25px 0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#05121ad6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-lockup,.topbar-context,.map-context,.section-heading,.map-header-row,.map-foot-row,.playback-bar,.timeline-meta,.playback-controls,.inspector-identity,.point-identity,.completion-strip,.completion-strip>div,.locale-switch,.annotation-actions,.split-buttons,.scenario-meta,.layer-row,.agv-row,.issue-toggle{display:flex;align-items:center}.brand-lockup{gap:13px}.brand-mark{width:31px;height:31px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;align-items:end;padding:4px;border:1px solid rgba(166,218,183,.32);border-radius:9px;background:#74b98e1a}.brand-mark span{display:block;border-radius:2px;background:var(--green)}.brand-mark span:nth-child(1){height:44%;opacity:.65}.brand-mark span:nth-child(2){height:72%;opacity:.85}.brand-mark span:nth-child(3){height:100%}.eyebrow,.section-kicker{color:#81a8a0;font-size:calc(18px * var(--font-scale, 1.15));font-weight:700;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.brand-lockup h1{margin:3px 0 0;color:#edf4e8;font-size:calc(28px * var(--font-scale, 1.15));font-weight:650;letter-spacing:.01em}.topbar-context{gap:22px}.map-context{gap:8px;color:#cfddd5;font-size:calc(20px * var(--font-scale, 1.15))}.map-context small{margin-left:3px;color:var(--faint);font-size:calc(18px * var(--font-scale, 1.15))}.status-dot{width:7px;height:7px;flex:0 0 7px;display:inline-block;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #94d0a11c}.locale-switch{gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#ffffff06}.locale-switch button{min-width:30px;height:24px;border:0;border-radius:5px;color:var(--muted);background:transparent;cursor:pointer;font-size:calc(18px * var(--font-scale, 1.15));font-weight:700}.locale-switch button.active{color:#06141b;background:var(--green)}.workspace-grid{min-height:0;flex:1 1 auto;display:grid;grid-template-columns:320px minmax(0,1fr) 420px;gap:0;overflow:hidden}.side-panel{min-height:0;overflow:auto;background:linear-gradient(180deg,#091a23f0,#05121af2);scrollbar-width:thin;scrollbar-color:#33514f transparent}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}.panel-section{padding:18px 17px;border-bottom:1px solid var(--line)}.compact-section{padding-top:20px}.section-heading{justify-content:space-between;gap:8px;margin-bottom:13px}.section-heading h2,.map-header-row h2{margin:4px 0 0;color:#e5eee7;font-size:calc(24px * var(--font-scale, 1.15));font-weight:650;letter-spacing:.01em}.source-chip,.count-badge,.scenario-status{border:1px solid rgba(147,208,161,.25);border-radius:5px;color:var(--green);background:#93d0a112;font-size:calc(18px * var(--font-scale, 1.15));font-weight:700;letter-spacing:.08em;padding:4px 6px}.count-badge{min-width:22px;text-align:center;border-color:var(--line-strong);color:#a5bbb4;background:#ffffff09}.map-source-card{display:grid;gap:5px;padding:11px;margin-bottom:11px;border:1px solid var(--line);border-radius:8px;background:#ffffff06}.map-source-card strong{color:#e6f1e9;font-size:calc(18px * var(--font-scale, 1.15));font-weight:600}.map-source-card span{color:var(--muted);font-size:calc(18px * var(--font-scale, 1.15));line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-source-card .mono{color:#65847f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15))}.outline-button,.primary-button,.tool-button,.mini-button,.icon-button,.play-button,.speed-control button,.annotation-row,.agv-row,.issue-toggle{border:1px solid var(--line);background:transparent;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease}.outline-button:hover,.tool-button:hover,.mini-button:hover,.icon-button:hover,.speed-control button:hover,.annotation-row:hover,.agv-row:hover,.issue-toggle:hover{border-color:#94d0a173;background:#94d0a10f}.full-width{width:100%}.outline-button{min-height:30px;padding:0 9px;border-radius:6px;color:#a9bdb6;font-size:calc(18px * var(--font-scale, 1.15))}.outline-button:hover{color:var(--green-bright)}.button-icon{margin-right:6px;color:var(--green);font-size:calc(20px * var(--font-scale, 1.15))}.layer-list{display:grid;gap:1px}.layer-row{position:relative;gap:8px;min-height:29px;color:#b7c9c1;font-size:calc(18px * var(--font-scale, 1.15));cursor:pointer}.layer-row input{position:absolute;inset:0;opacity:0;cursor:pointer}.layer-swatch{width:8px;height:8px;flex:0 0 8px;border-radius:2px;background:var(--green)}.layer-paths{background:#8bcf9e}.layer-stations{border-radius:50%;background:#ee7267}.layer-storage{background:#b2d18d}.layer-areas{background:#4e8f91}.layer-forbidden{background:#ed766b}.layer-scanPoints{background:#9bb6b8}.layer-labels{background:#ecdfb8}.layer-row>span:nth-child(2){flex:1}.toggle{width:26px;height:14px;padding:2px;border:1px solid #35504f;border-radius:999px;background:#102b32;transition:background .16s ease}.toggle span{width:8px;height:8px;display:block;border-radius:50%;background:#647c78;transition:transform .16s ease,background .16s ease}.layer-row input:checked~.toggle{border-color:#94d0a16b;background:#94d0a133}.layer-row input:checked~.toggle span{transform:translate(11px);background:var(--green)}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.tool-button{min-height:36px;display:flex;align-items:center;gap:6px;padding:0 8px;border-radius:6px;color:#a6b9b2;font-size:calc(18px * var(--font-scale, 1.15));text-align:left}.tool-button span{width:16px;color:var(--green);font-size:calc(20px * var(--font-scale, 1.15));text-align:center}.tool-button.active{border-color:#94d0a180;color:#d9ead6;background:#94d0a11a}.microcopy{margin:10px 1px;color:#6f8985;font-size:calc(18px * var(--font-scale, 1.15));line-height:1.5}.annotation-actions{gap:5px;margin:6px 0 9px}.mini-button{min-height:26px;padding:0 7px;border-radius:5px;color:#9bb4ac;font-size:calc(18px * var(--font-scale, 1.15))}.mini-button.danger{color:#e08b80}.annotation-list{display:grid;gap:3px;max-height:194px;overflow:auto}.annotation-row{width:100%;min-height:40px;display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:6px;color:inherit;text-align:left}.annotation-row.selected{border-color:#f0c66c80;background:#f0c66c14}.annotation-pin{width:9px;height:9px;flex:0 0 9px;border:2px solid rgba(255,255,255,.6);border-radius:50%}.annotation-row>span:last-child{min-width:0;display:grid;gap:2px}.annotation-row strong{color:#d9e6dd;font-size:calc(18px * var(--font-scale, 1.15));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-row small{color:#708b84;font-size:calc(18px * var(--font-scale, 1.15))}.split-buttons{gap:5px;margin-top:9px}.split-buttons .outline-button{flex:1;padding:0 4px;font-size:calc(18px * var(--font-scale, 1.15))}.empty-small{padding:10px 4px;color:#6e8783;font-size:calc(18px * var(--font-scale, 1.15));line-height:1.5}.map-column{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 19px 13px;background:linear-gradient(180deg,#091c2299,#06141b4d)}.map-header-row{min-height:40px;justify-content:space-between;gap:12px;padding:0 4px 12px}.map-header-row h2{color:#b6c9c0;font-size:calc(18px * var(--font-scale, 1.15));font-weight:500}.validation-pill{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(148,208,161,.24);border-radius:6px;color:var(--green);background:#94d0a10f;font-size:calc(18px * var(--font-scale, 1.15))}.validation-pill.warning{border-color:#f0c66c57;color:var(--gold);background:#f0c66c12}.validation-pill.warning .status-dot{background:var(--gold);box-shadow:0 0 0 3px #f0c66c1a}.map-frame{min-height:0;flex:1 1 auto;position:relative;overflow:hidden;border:1px solid rgba(142,193,174,.24);border-radius:10px;background:var(--canvas);box-shadow:0 18px 48px #0003,inset 0 0 0 1px #0000002e}.map-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:#0a1720}.map-viewport:active{cursor:grabbing}.map-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.map-grid-overlay{position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(rgba(145,187,170,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(145,187,170,.05) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.55) 18%,rgba(0,0,0,.5) 80%,transparent);mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.55) 18%,rgba(0,0,0,.5) 80%,transparent)}.map-canvas-hint{position:absolute;left:14px;bottom:12px;padding:5px 8px;border:1px solid rgba(178,217,193,.12);border-radius:5px;color:#b7d3c69e;background:#040e14ad;font-size:calc(18px * var(--font-scale, 1.15));pointer-events:none}.map-zoom-readout{position:absolute;top:11px;right:12px;padding:4px 7px;border:1px solid rgba(178,217,193,.13);border-radius:4px;color:#bad6c7b3;background:#040e14a8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15));pointer-events:none}.map-foot-row{justify-content:space-between;gap:20px;min-height:27px;padding:10px 4px 0}.map-foot-metrics{display:flex;flex-wrap:wrap;gap:13px;color:#748f89;font-size:calc(18px * var(--font-scale, 1.15))}.map-foot-metrics strong{color:#b8d0bd;font-size:calc(18px * var(--font-scale, 1.15));font-weight:650}.map-foot-hint{max-width:48%;color:#607974;font-size:calc(18px * var(--font-scale, 1.15));text-align:right}.right-panel .panel-section{padding-left:16px;padding-right:16px}.scenario-status{display:inline-flex;align-items:center;gap:5px;padding:3px 5px;color:#7ca393;border:0;background:transparent;font-size:calc(18px * var(--font-scale, 1.15));font-weight:500;letter-spacing:0;white-space:nowrap}.scenario-status .status-dot{width:5px;height:5px;flex-basis:5px}.scenario-meta{justify-content:space-between;margin-bottom:12px;color:#91a8a1;font-size:calc(18px * var(--font-scale, 1.15))}.primary-button{min-height:32px;padding:0 11px;border:1px solid rgba(148,208,161,.46);border-radius:6px;color:#07161b;background:var(--green);font-size:calc(18px * var(--font-scale, 1.15));font-weight:700}.primary-button:hover{background:var(--green-bright);transform:translateY(-1px)}.primary-button span{margin-right:7px;font-size:calc(20px * var(--font-scale, 1.15))}.scenario-file-button{margin-top:5px}.inferred-note{display:flex;align-items:flex-start;gap:6px;margin-top:10px;color:#a99a72;font-size:calc(18px * var(--font-scale, 1.15));line-height:1.45}.inferred-note span{width:13px;height:13px;flex:0 0 13px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(240,198,108,.4);border-radius:50%;color:var(--gold);font-size:calc(18px * var(--font-scale, 1.15))}.inspector-content{min-height:108px}.inspector-identity,.point-identity{gap:9px;margin-bottom:13px}.inspector-identity>span:nth-child(2),.point-identity>span:nth-child(2){min-width:0;display:grid;gap:3px}.inspector-identity strong,.point-identity strong{color:#dce9df;font-size:calc(20px * var(--font-scale, 1.15));font-weight:650}.inspector-identity small,.point-identity small{color:#77918b;font-size:calc(18px * var(--font-scale, 1.15))}.agv-emblem,.point-emblem{width:32px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#06151b;font-size:calc(18px * var(--font-scale, 1.15));font-weight:800}.point-emblem{border:1px solid rgba(239,116,105,.5);color:var(--red);background:#ef74691a;font-size:calc(24px * var(--font-scale, 1.15))}.inspector-live{margin-left:auto;color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15))}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 8px}.detail-grid>div{min-width:0;display:grid;gap:4px}.detail-grid small{color:#69847f;font-size:calc(18px * var(--font-scale, 1.15));text-transform:uppercase;letter-spacing:.08em}.detail-grid strong{overflow:hidden;color:#b7cbc1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15));font-weight:500;text-overflow:ellipsis;white-space:nowrap}.empty-inspector{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-crosshair{width:28px;height:28px;display:grid;place-items:center;margin-bottom:8px;border:1px dashed #41605a;border-radius:50%;color:#6d9182;font-size:calc(20px * var(--font-scale, 1.15))}.empty-inspector p{margin:0 0 4px;color:#9bb2aa;font-size:calc(18px * var(--font-scale, 1.15))}.empty-inspector small{color:#668079;font-size:calc(18px * var(--font-scale, 1.15))}.annotation-inspector{display:grid;gap:8px}.annotation-inspector label{display:grid;gap:4px;color:#78928b;font-size:calc(18px * var(--font-scale, 1.15))}.annotation-inspector input:not([type=color]){width:100%;height:28px;padding:0 7px;border:1px solid var(--line);border-radius:5px;color:#d6e3da;background:#00000024;font-size:calc(18px * var(--font-scale, 1.15))}.annotation-edit-row{display:flex;align-items:end;justify-content:space-between;gap:8px}.annotation-inspector input[type=color]{width:35px;height:26px;padding:2px;border:1px solid var(--line);border-radius:4px;background:transparent}.annotation-coordinates{padding-bottom:6px;color:#69867e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15))}.annotation-inspector .annotation-actions{margin-top:3px}.annotation-inspector .annotation-actions .primary-button,.annotation-inspector .annotation-actions .outline-button{min-height:28px;font-size:calc(18px * var(--font-scale, 1.15))}.agv-list{display:grid;gap:3px}.agv-row{width:100%;min-height:38px;gap:7px;padding:5px 6px;border-radius:6px;color:inherit;text-align:left}.agv-row.selected{border-color:#94d0a173;background:#94d0a114}.agv-color{width:7px;height:20px;flex:0 0 7px;border-radius:4px}.agv-name{min-width:59px;display:grid;gap:2px}.agv-name strong{color:#d1e1d6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15))}.agv-name small{color:#728d84;font-size:calc(18px * var(--font-scale, 1.15))}.agv-progress{min-width:28px;height:3px;flex:1;overflow:hidden;border-radius:99px;background:#213a3d}.agv-progress span{display:block;height:100%;border-radius:inherit;background:var(--green)}.agv-row b{min-width:28px;color:#9bb9a5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15));font-weight:500;text-align:right}.issues-section{padding-top:11px;padding-bottom:11px}.issue-toggle{width:100%;justify-content:space-between;padding:2px 0;border:0;color:#819b92;font-size:calc(18px * var(--font-scale, 1.15))}.issue-toggle>span{display:flex;align-items:center;gap:7px}.issue-indicator{width:7px;height:7px;border-radius:50%;background:var(--green)}.issue-indicator.has-issues{background:var(--gold)}.issue-list{display:grid;gap:4px;margin-top:9px}.issue-row{display:flex;gap:6px;padding:7px;border-radius:5px;color:#b0b8a2;background:#f0c66c0f;font-size:calc(18px * var(--font-scale, 1.15));line-height:1.45}.issue-code{width:13px;height:13px;flex:0 0 13px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(240,198,108,.35);border-radius:50%;color:var(--gold)}.playback-bar{min-height:86px;flex:0 0 86px;gap:22px;padding:13px 25px 12px 30px;border-top:1px solid var(--line-strong);background:#06141bf5;box-shadow:0 -14px 30px #0000001f}.playback-title{min-width:145px;display:flex;align-items:center;gap:9px}.playback-title>div{display:grid;gap:4px}.playback-title strong{color:#c4d6ca;font-size:calc(18px * var(--font-scale, 1.15));font-weight:550}.playback-state{width:8px;height:8px;border-radius:50%;background:#687e7b}.playback-state.live{background:var(--green);box-shadow:0 0 0 4px #94d0a11a}.playback-state.complete{background:var(--gold);box-shadow:0 0 0 4px #f0c66c1a}.timeline-block{min-width:240px;flex:1}.timeline-meta{justify-content:space-between;gap:10px;margin-bottom:7px;color:#78918a;font-size:calc(18px * var(--font-scale, 1.15))}.mono-clock{color:#d9e8dc;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15));font-weight:600}.timeline-step{min-width:0;max-width:43%;overflow:hidden;color:#8aa59a;text-overflow:ellipsis;white-space:nowrap}.timeline-range{width:100%;height:14px;margin:0;accent-color:var(--green);cursor:pointer}.timeline-range::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(90deg,#94d0a194,#94d0a133)}.timeline-range::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4px;border:2px solid #b5dbb9;border-radius:50%;background:#0b1d24;appearance:none}.timeline-ticks{display:flex;justify-content:space-between;margin-top:1px;color:#4f6966;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15))}.playback-controls{gap:6px}.icon-button{width:26px;height:29px;border-radius:5px;color:#8ca9a0;font-size:calc(19px * var(--font-scale, 1.15));line-height:1}.play-button{width:34px;height:34px;border:1px solid rgba(148,208,161,.56);border-radius:50%;color:#07151b;background:var(--green);cursor:pointer;font-size:calc(20px * var(--font-scale, 1.15));font-weight:800}.play-button:hover{background:var(--green-bright);transform:scale(1.04)}.speed-control{display:flex;align-items:center;gap:2px;margin-left:9px;padding-left:9px;border-left:1px solid var(--line)}.speed-control>span{margin-right:3px;color:#667f7a;font-size:calc(18px * var(--font-scale, 1.15))}.speed-control button{min-width:28px;height:24px;padding:0 4px;border-radius:4px;color:#718c84;font-size:calc(18px * var(--font-scale, 1.15))}.speed-control button.active{border-color:#94d0a17a;color:#d5e9d5;background:#94d0a11c}.completion-strip{position:fixed;right:304px;bottom:98px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:9px 22px;max-width:calc(100vw - 340px);min-height:55px;padding:9px 12px;border:1px solid rgba(240,198,108,.33);border-radius:8px;background:#0e1e1ff5;box-shadow:0 12px 28px #0000003d;pointer-events:none}.completion-strip>div:first-child{gap:8px}.completion-strip>div:first-child>span:last-child{display:grid;gap:3px}.completion-check{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#1c2a21;background:var(--gold);font-weight:800}.completion-strip strong{color:#f2db9c;font-size:calc(18px * var(--font-scale, 1.15))}.completion-strip small{color:#9ca892;font-size:calc(18px * var(--font-scale, 1.15))}.completion-stats{gap:13px;color:#84948b;font-size:calc(18px * var(--font-scale, 1.15))}.completion-stats span{display:grid;gap:2px;text-align:center}.completion-stats b{color:#dce9cf;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(20px * var(--font-scale, 1.15));font-weight:650}.completion-details{width:100%;display:grid!important;grid-template-columns:minmax(190px,1.25fr) minmax(160px,1fr);gap:8px 18px;padding-top:7px;border-top:1px solid rgba(240,198,108,.15)}.completion-detail-group{min-width:0;display:grid!important;align-items:start!important;gap:5px}.completion-detail-label{color:#9d9d78;font-size:calc(18px * var(--font-scale, 1.15));letter-spacing:.08em;text-transform:uppercase}.completion-chip-row{min-width:0;display:flex;flex-wrap:wrap;gap:4px}.completion-chip{min-width:0;display:grid;gap:2px;padding:4px 6px;border:1px solid rgba(180,209,199,.12);border-radius:4px;color:#b8cdbd;background:#ffffff06}.completion-chip b{color:#dce9cf;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15));font-weight:650}.completion-chip small{color:#869b8e;font-size:calc(18px * var(--font-scale, 1.15));white-space:nowrap}.completion-chip.type-chip{min-width:42px;text-align:center}.completion-strip .outline-button{min-height:26px;font-size:calc(18px * var(--font-scale, 1.15))}.completion-download{margin-left:auto}.hidden-input{display:none}.toast{position:fixed;right:23px;bottom:102px;z-index:10;display:flex;align-items:center;gap:8px;max-width:370px;padding:9px 12px;border:1px solid rgba(148,208,161,.3);border-radius:7px;color:#c8decf;background:#07161cf5;box-shadow:0 10px 25px #00000047;font-size:calc(18px * var(--font-scale, 1.15))}.toast>span{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#06151b;background:var(--green);font-size:calc(18px * var(--font-scale, 1.15));font-weight:800}.toast.warning{border-color:#f0c66c5c;color:#ded2ad}.toast.warning>span{background:var(--gold)}.toast.error{border-color:#ef746966;color:#e6b2ab}.toast.error>span{background:var(--red)}.scheduling-section{background:linear-gradient(180deg,#132a2c8a,#091a23eb)}.scheduling-controls{display:grid;gap:7px;margin-bottom:9px}.scheduling-controls label{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:7px;color:#78958d;font-size:calc(18px * var(--font-scale, 1.15))}.scheduling-controls select{width:100%;min-width:0;height:27px;padding:0 6px;border:1px solid var(--line);border-radius:5px;color:#c7d8cc;background:#041117bf;font-size:calc(18px * var(--font-scale, 1.15))}.scheduling-controls select:focus{border-color:#94d0a18c;outline:none}.schedule-run-button{min-height:30px}.schedule-run-button:disabled{cursor:wait;opacity:.7}.schedule-status{display:inline-flex;align-items:center;gap:5px;color:#78968b;font-size:calc(18px * var(--font-scale, 1.15));white-space:nowrap}.schedule-status.valid{color:var(--green)}.schedule-status.invalid{color:var(--gold)}.schedule-status .status-dot{width:5px;height:5px;flex-basis:5px}.schedule-result{display:grid;gap:8px;margin-top:11px;padding:10px;border:1px solid rgba(148,208,161,.2);border-radius:7px;background:#05121885}.schedule-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-result-head strong{color:#d8e9d9;font-size:calc(18px * var(--font-scale, 1.15))}.schedule-plan-status{padding:3px 5px;border-radius:4px;color:#9fbbb0;background:#94d0a11a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15))}.schedule-plan-status.blocked,.schedule-plan-status.invalid{color:#f2cf7e;background:#f0c66c1c}.schedule-result-subtitle{overflow:hidden;color:#6f8b84;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15));text-overflow:ellipsis;white-space:nowrap}.schedule-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.schedule-metric-grid>div{display:grid;gap:3px;min-width:0}.schedule-metric-grid small{color:#69847e;font-size:calc(18px * var(--font-scale, 1.15));text-transform:uppercase;letter-spacing:.06em}.schedule-metric-grid strong{overflow:hidden;color:#cfe1d1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15));font-weight:600;text-overflow:ellipsis;white-space:nowrap}.schedule-metric-grid .text-success{color:var(--green);font-family:inherit;font-size:calc(18px * var(--font-scale, 1.15))}.schedule-metric-grid .text-warning{color:var(--gold);font-family:inherit;font-size:calc(18px * var(--font-scale, 1.15))}.schedule-compute-time{margin-top:11px;padding:8px 10px;border:1px solid rgba(148,208,161,.2);border-radius:7px;background:#05121861}.schedule-compute-time>div{grid-column:1 / -1}.schedule-compute-time small{text-transform:none;letter-spacing:normal}.schedule-compute-time .schedule-compute-candidate{color:#78958d;font-size:calc(16px * var(--font-scale, 1.15))}.schedule-compare-block{display:grid;gap:4px}.schedule-compare-title{color:#69847e;font-size:calc(18px * var(--font-scale, 1.15));letter-spacing:.06em;text-transform:uppercase}.schedule-compare{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:6px 7px;border:1px solid var(--line);border-radius:5px;color:#718b84;font-size:calc(18px * var(--font-scale, 1.15))}.schedule-compare b{color:#c4d8c8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.schedule-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.schedule-actions .outline-button{min-height:27px;padding:0 5px;font-size:calc(18px * var(--font-scale, 1.15))}.schedule-actions .outline-button:disabled{cursor:not-allowed;opacity:.45}.schedule-disclosure{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0 0;border:0;border-top:1px solid var(--line);color:#86a49a;background:transparent;cursor:pointer;font-size:calc(18px * var(--font-scale, 1.15));text-align:left}.schedule-disclosure span:last-child{color:#b4c8b9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.decision-list,.blocker-list{display:grid;gap:4px;max-height:145px;overflow:auto}.decision-row,.blocker-row{display:grid;gap:2px;padding:5px 6px;border-radius:4px;background:#ffffff06;font-size:calc(18px * var(--font-scale, 1.15))}.decision-row{grid-template-columns:38px 1fr}.decision-row b,.blocker-row b{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:calc(18px * var(--font-scale, 1.15))}.decision-row span{overflow:hidden;color:#bbd3c2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.decision-row small,.blocker-row small{grid-column:1 / -1;overflow:hidden;color:#789189;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.blocker-row b{color:var(--gold)}.blocker-row span{color:#b9c6af}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;color:#88a59a;background:#07151d;font-size:calc(20px * var(--font-scale, 1.15))}.loading-mark{width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(148,208,161,.38);border-radius:16px;color:var(--green);background:#94d0a114;font-size:calc(24px * var(--font-scale, 1.15));font-weight:800;letter-spacing:.15em}@media(max-height:760px){.topbar{height:62px;flex-basis:62px}.playback-bar{min-height:74px;flex-basis:74px}.panel-section{padding-top:12px;padding-bottom:12px}.annotation-list{max-height:130px}}.workspace-grid{flex:1 1 0}.side-panel{overscroll-behavior:contain}.playback-bar{z-index:4;gap:16px}.playback-title{min-width:90px}.playback-controls{flex-shrink:0}.play-button{width:auto;min-width:74px;padding:0 12px;border-radius:7px}.scenario-section .section-heading{display:block}.scenario-status{margin-top:8px}.microcopy,.empty-small,.empty-inspector small,.map-foot-hint,.map-context small,.annotation-row small,.agv-name small,.inspector-identity small,.detail-grid small,.speed-control>span,.timeline-ticks{color:#9bb2aa;font-size:calc(18px * var(--font-scale, 1.15))}.outline-button,.tool-button,.primary-button{font-size:calc(20px * var(--font-scale, 1.15))}.layer-row{min-height:32px;font-size:calc(20px * var(--font-scale, 1.15))}.annotation-row strong,.agv-name strong,.detail-grid strong{font-size:calc(20px * var(--font-scale, 1.15))}.inspector-content .detail-grid{margin-top:12px}.inspector-content .detail-grid strong{white-space:normal;overflow-wrap:anywhere}.technical-details{margin-top:14px;font-size:calc(20px * var(--font-scale, 1.15));color:var(--muted)}.technical-details summary,.issue-row summary{cursor:pointer}.progress-caption{display:flex;justify-content:space-between;font-size:calc(18px * var(--font-scale, 1.15));color:var(--muted);margin:8px 0}.route-detail{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:6px;font-size:calc(20px * var(--font-scale, 1.15));overflow-wrap:anywhere}.route-detail small{color:var(--muted)}.agv-section .progress-caption{margin-top:-4px}.issue-row{display:block;font-size:calc(20px * var(--font-scale, 1.15));padding:10px}.issue-row p{margin:8px 0}.issue-row.error{border-left:2px solid var(--red)}.issue-toggle{font-size:calc(20px * var(--font-scale, 1.15));text-align:left;gap:8px}.issue-summary{color:var(--gold);font-size:calc(20px * var(--font-scale, 1.15))}.validation-pill{cursor:pointer;font:inherit;font-size:calc(18px * var(--font-scale, 1.15))}.timeline-meta{font-size:calc(18px * var(--font-scale, 1.15))}.map-foot-hint{display:none}@media(max-width:1100px){.workspace-grid{grid-template-columns:210px minmax(0,1fr) 280px}.map-column{padding:12px 10px}.playback-bar{padding-inline:14px;gap:10px}.playback-title{display:none}}@media(max-width:900px){.timeline-meta>span:nth-child(2),.timeline-step,.map-context small{display:none}.timeline-block{min-width:140px}.panel-section,.right-panel .panel-section{padding-inline:11px}.tool-grid{grid-template-columns:1fr}.topbar{padding-inline:16px}.topbar-context{gap:10px}}.scenario-dialog{width:min(420px,90vw);padding:24px;color:var(--ink);background:#10232b;border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 20px 80px #0008}.scenario-dialog::backdrop{background:#020a10aa}.scenario-dialog h2{margin-top:0;font-size:calc(28px * var(--font-scale, 1.15))}.scenario-dialog p{color:var(--muted);line-height:1.6;font-size:calc(20px * var(--font-scale, 1.15))}.scenario-dialog .split-buttons{justify-content:flex-end}.scenario-dialog .split-buttons button{flex:0 0 auto;padding-inline:16px;min-height:36px}.map-navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:calc(100% - 24px)}.map-navigation button{min-height:30px;padding:6px 9px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);background:#122730;font-size:calc(18px * var(--font-scale, 1.15));cursor:pointer;box-shadow:0 2px 8px #0003}.map-navigation button:hover{background:#244039;border-color:var(--green)}.map-navigation button:disabled{opacity:.45;cursor:default}.map-zoom-readout{top:50px}.map-zoom-slider{position:absolute;bottom:12px;left:12px;right:12px;z-index:5;display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:7px;background:#0c1f2af5;color:var(--muted);cursor:default}.map-zoom-slider input{flex:1;min-width:0;height:24px;margin:0;accent-color:var(--green);cursor:pointer}.map-zoom-value{min-width:46px;color:var(--ink);text-align:right;font:calc(18px * var(--font-scale, 1.15)) ui-monospace,monospace}.map-canvas-hint{bottom:60px}.section-kicker,.eyebrow{letter-spacing:.08em}.side-panel{min-width:0}.section-heading>div{min-width:0}.section-heading h2{overflow-wrap:anywhere;line-height:1.5}.locale-switch button{min-width:38px;height:34px}.outline-button,.primary-button,.tool-button,.mini-button{min-height:40px;padding:8px 10px;line-height:1.4}.layer-row{min-height:40px}.annotation-row,.agv-row{min-height:54px;padding:8px}.annotation-row strong{white-space:normal}.annotation-list{max-height:230px}.split-buttons{flex-wrap:wrap}.split-buttons .outline-button{padding:8px}.annotation-inspector label{font-size:calc(18px * var(--font-scale, 1.15))}.annotation-inspector input:not([type=color]){height:40px;font-size:calc(20px * var(--font-scale, 1.15))}.annotation-inspector .annotation-actions .primary-button,.annotation-inspector .annotation-actions .outline-button{min-height:40px;font-size:calc(20px * var(--font-scale, 1.15))}.scheduling-controls{gap:12px}.scheduling-controls label{grid-template-columns:86px minmax(0,1fr);font-size:calc(20px * var(--font-scale, 1.15));color:#afc5bc}.scheduling-controls select{height:40px;font-size:calc(20px * var(--font-scale, 1.15))}.schedule-result-head,.schedule-compare{flex-wrap:wrap}.schedule-status,.scenario-status{white-space:normal}.schedule-actions{grid-template-columns:1fr}.schedule-actions .outline-button{min-height:40px;font-size:calc(20px * var(--font-scale, 1.15))}.schedule-result-subtitle,.decision-row span,.decision-row small,.blocker-row small,.schedule-metric-grid strong{white-space:normal;overflow-wrap:anywhere}.schedule-metric-grid small,.schedule-compare-title,.schedule-result-subtitle{color:#a8bfb5}.decision-row{grid-template-columns:64px minmax(0,1fr)}.decision-row small,.blocker-row small{font-size:calc(18px * var(--font-scale, 1.15))}.schedule-disclosure{min-height:40px}.map-navigation button{min-height:38px;font-size:calc(20px * var(--font-scale, 1.15))}.map-canvas-hint{max-width:calc(100% - 28px);color:#b7d3c6}.map-zoom-slider{height:46px}.map-zoom-value{min-width:60px}.map-canvas-hint{bottom:68px}.playback-bar{min-height:104px;flex-basis:104px}.playback-controls .icon-button{width:36px;height:40px}.play-button{height:44px;font-size:calc(20px * var(--font-scale, 1.15));white-space:nowrap}.speed-control button{min-width:38px;height:36px;font-size:calc(18px * var(--font-scale, 1.15))}.timeline-range{height:22px}.completion-strip{right:380px;bottom:116px;max-height:55vh;overflow:auto}.toast{bottom:116px}@media(max-width:1100px){.scheduling-controls label{grid-template-columns:1fr;gap:5px}.playback-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-height:140px;flex-basis:140px;padding-block:10px}.timeline-block{min-width:0;width:100%}.playback-controls{justify-content:center}.completion-strip{right:16px;left:16px;bottom:152px;max-width:none}.toast{bottom:152px}.map-header-row h2{display:none}.map-foot-metrics{gap:4px 10px}.map-canvas-hint{display:none}}.topbar{min-height:84px;flex-basis:84px}.topbar-context{gap:12px}.map-context{flex-wrap:wrap}.outline-button,.primary-button,.tool-button,.mini-button,.layer-row{min-height:48px}.annotation-row,.agv-row{min-height:64px}.locale-switch button{min-width:44px;height:42px}.scheduling-controls label{grid-template-columns:108px minmax(0,1fr)}.scheduling-controls select{height:48px}.schedule-actions .outline-button{min-height:48px}.annotation-inspector input:not([type=color]){height:48px}.map-navigation button{min-height:46px}.map-zoom-slider{height:54px}.map-zoom-value{min-width:76px}.map-canvas-hint{bottom:76px}.play-button{height:50px}.playback-controls .icon-button{width:44px;height:48px}.speed-control button{min-width:48px;height:44px}.completion-strip{right:440px}@media(max-width:1450px){.playback-title{display:none}.playback-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-height:164px;flex-basis:164px;padding-block:12px}.timeline-block{min-width:0;width:100%}.playback-controls{justify-content:center}.completion-strip{right:16px;left:16px;bottom:176px;max-width:none}.toast{bottom:176px}.map-header-row h2,.map-context small,.map-canvas-hint{display:none}}@media(max-width:1100px){.workspace-grid{grid-template-columns:220px minmax(0,1fr) 290px}.scheduling-controls label,.tool-grid{grid-template-columns:1fr}.topbar{padding-inline:12px}.topbar .map-context{display:none}.map-navigation button{padding:6px}}.font-size-controls{display:flex;align-items:center;flex-shrink:0;gap:8px;color:var(--ink);font-size:calc(18px * var(--font-scale, 1.15))}.font-size-controls button{min-width:44px;min-height:44px;border:1px solid var(--line-strong);border-radius:6px;background:#122730;cursor:pointer;font-size:calc(22px * var(--font-scale, 1.15))}.font-size-controls button:hover:not(:disabled){background:#244039}.font-size-controls button:disabled{opacity:.4;cursor:default}.font-size-controls output{min-width:4ch;text-align:center;font-variant-numeric:tabular-nums}.topbar{height:auto;min-height:100px;flex:0 0 auto;padding-block:10px;gap:16px}.topbar-context{flex-wrap:wrap;justify-content:flex-end}.scheduling-controls label{grid-template-columns:1fr}.scheduling-controls select,.annotation-inspector input:not([type=color]){height:auto;min-height:48px;padding-block:8px}.play-button,.speed-control button,.locale-switch button{height:auto;min-height:44px;padding-block:8px}.map-navigation button{line-height:1.3}@media(max-width:1600px){.topbar .map-context{display:none}}@media(max-width:1100px){.topbar{align-items:flex-start}.brand-lockup .eyebrow{display:none}.brand-lockup h1{font-size:calc(22px * var(--font-scale, 1.15))}.topbar-context{gap:8px}.font-size-controls{gap:4px}.font-size-controls>span{display:none}.speed-control{margin-left:0;padding-left:4px}.playback-controls{gap:4px}}@media(max-width:1450px){.playback-bar{flex:0 0 auto}}.workload-map-context{position:absolute;z-index:2;top:12px;left:12px;max-width:min(460px,calc(100% - 116px));padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#07191ff0;color:#c4d8c8;font-size:calc(15px * var(--font-scale, 1.15));box-shadow:0 4px 15px #0003}.workload-map-title,.workload-map-meta{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:space-between}.workload-map-title>span{color:var(--green)}.workload-map-meta{margin-top:5px}.workload-task-picker{display:grid;gap:5px;margin-top:9px}.workload-task-picker select{min-width:0;width:100%;max-width:100%;font:inherit;padding:5px;color:#c4d8c8;background:#102a30;border:1px solid var(--line);border-radius:4px}.workload-task-detail{display:grid;gap:3px;margin-top:8px;overflow-wrap:anywhere}.schedule-view-switch{margin-top:8px}.schedule-view-switch button[aria-pressed=true]{border-color:var(--green);color:var(--green);background:#8cc79b15}.schedule-comparison-table{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:calc(15px * var(--font-scale, 1.15))}.schedule-comparison-table>div{display:grid;align-content:start;gap:6px;padding:8px;border:1px solid var(--line);border-radius:5px}.partial-completion{color:var(--gold);flex-wrap:wrap}.partial-completion>span:last-child{font-size:calc(15px * var(--font-scale, 1.15))}.map-renderer-slot{position:absolute;inset:0}@media(max-width:1400px){.map-column:has(.workload-map-context){overflow-y:auto}.map-frame:has(.workload-map-context){display:flex;flex-direction:column;flex:1 0 560px;min-height:560px}.map-frame:has(.workload-map-context) .map-renderer-slot{position:relative;inset:auto;flex:1 1 auto;min-height:320px;order:2}.workload-map-context{position:relative;top:auto;left:auto;max-width:none;margin:8px;flex:0 0 auto;font-size:calc(13px * var(--font-scale, 1.15));padding:8px}.workload-task-picker{margin-top:6px}.workload-task-detail{grid-template-columns:1fr 1fr}.workload-task-detail strong{grid-column:1 / -1}}.comparison-mode-toggle{white-space:nowrap;padding:8px 12px}.comparison-mode-toggle[aria-pressed=true]{color:var(--green);border-color:var(--green)}.comparison-mode .map-context{display:none}.comparison-loading{display:grid;align-content:center;justify-items:center;flex:1;gap:10px;padding:24px;text-align:center}.comparison-loading p{max-width:680px;color:var(--muted)}.comparison-workspace{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px 18px}.comparison-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:calc(16px * var(--font-scale, 1.15))}.comparison-heading>div{display:flex;flex-wrap:wrap;gap:12px}.comparison-heading p{margin:0;color:var(--muted)}.comparison-panes{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto minmax(180px,1fr) auto;column-gap:14px}.comparison-pane{min-width:0;display:grid;grid-template-rows:subgrid;grid-row:1 / 5;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--panel)}.comparison-pane:first-child{grid-column:1}.comparison-pane:last-child{grid-column:2}.comparison-pane-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 12px 6px;font-size:calc(15px * var(--font-scale, 1.15))}.comparison-pane-heading>div{display:flex;align-items:baseline;gap:10px}.comparison-pane-heading h2{margin:0;font-size:calc(22px * var(--font-scale, 1.15))}.comparison-pane-heading>div>span{color:var(--muted)}.comparison-pane-metrics{display:flex;flex-wrap:wrap;align-content:start;gap:4px 14px;padding:0 12px 10px;font-size:calc(14px * var(--font-scale, 1.15));color:#bdd1c5}.comparison-map-frame{position:relative;min-height:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.comparison-timeline{padding:10px 12px;min-width:0;font-size:calc(14px * var(--font-scale, 1.15))}.comparison-timeline>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px}.comparison-timeline p{margin:5px 0 0;color:var(--muted)}.comparison-timeline p.text-warning{color:var(--gold)}.comparison-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 0 0;font-size:calc(16px * var(--font-scale, 1.15))}.comparison-shared-clock,.comparison-transport{display:flex;align-items:center;gap:9px}.comparison-shared-clock output{font-variant-numeric:tabular-nums;font-weight:700;color:var(--green)}.comparison-controls .speed-control{flex-wrap:wrap}.comparison-controls .play-button{min-width:140px}@media(max-width:1400px){.topbar-context{gap:10px}.topbar-context:has(.comparison-mode-toggle) .map-context{display:none}.comparison-workspace{padding:10px;gap:7px}.comparison-controls{justify-content:center}.comparison-shared-clock,.comparison-heading{font-size:calc(14px * var(--font-scale, 1.15))}.comparison-pane-heading{font-size:calc(13px * var(--font-scale, 1.15))}.comparison-pane-metrics,.comparison-timeline{font-size:calc(12px * var(--font-scale, 1.15))}.comparison-panes{column-gap:8px}}
