:root{color:#edf5ff;font-synthesis:none;text-rendering:optimizelegibility;--bg:#07111d;--surface:#0a1725;--surface-strong:#0d1c2c;--surface-soft:#102237;--line:#24364a;--line-soft:#172a3d;--text:#edf5ff;--muted:#8ea4bd;--faint:#5c728b;--accent:#2d91ff;--accent-strong:#0877f9;--cyan:#27cdf2;--green:#37d892;--amber:#f5b52e;--danger:#ff6b6b;--radius:8px;background:#07111d;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);min-width:320px}button{font:inherit}.session-loading,.login-shell{min-height:100svh;color:var(--text);background:radial-gradient(circle at 18% 18%,#1a74d32e,#0000 30%),radial-gradient(circle at 78% 76%,#27cdf217,#0000 27%),#06101b}.session-loading{place-content:center;justify-items:center;gap:22px;display:grid}.loading-mark{color:#fff;background:linear-gradient(145deg,#1594ff,#0765d7);border:1px solid #8accffb8;border-radius:15px;place-items:center;width:54px;height:54px;font-size:22px;font-weight:800;display:grid;box-shadow:0 14px 38px #0877f947}.login-spinner{border:2px solid #ffffff47;border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite login-spin;display:inline-block}@keyframes login-spin{to{transform:rotate(360deg)}}.login-shell{place-items:center;padding:38px;display:grid;position:relative;overflow:hidden}.login-grid{opacity:.24;pointer-events:none;background-image:linear-gradient(#5892c914 1px,#0000 1px),linear-gradient(90deg,#5892c914 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000,#0000 78%);mask-image:radial-gradient(circle at 50% 45%,#000,#0000 78%)}.login-layout{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07121eeb;border:1px solid #263c53;border-radius:18px;grid-template-columns:minmax(0,1.14fr) minmax(390px,.86fr);width:min(1080px,100%);min-height:640px;display:grid;position:relative;overflow:hidden;box-shadow:0 34px 90px #0000006b,inset 0 0 0 1px #ffffff05}.login-story{background:linear-gradient(145deg,#0e2842e6,#0715238c);border-right:1px solid #3d5b7873;flex-direction:column;min-width:0;padding:40px 46px 34px;display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #27cdf22e;border-radius:50%;width:360px;height:360px;position:absolute;top:-170px;right:-160px;box-shadow:0 0 0 46px #27cdf206,0 0 0 92px #27cdf205}.login-brand{z-index:1;letter-spacing:.04em;align-items:center;gap:12px;font-size:20px;font-weight:760;display:flex;position:relative}.login-brand>span{color:#03111d;background:var(--cyan);border-radius:11px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 8px 22px #27cdf230}.login-copy{z-index:1;margin-top:76px;position:relative}.login-copy h1{letter-spacing:-.04em;max-width:480px;margin:0;font-size:clamp(36px,4vw,53px);line-height:1.12}.login-copy p{color:#9eb4cb;max-width:450px;margin:20px 0 0;font-size:15px;line-height:1.85}.route-visual{border-top:1px solid #577ea342;border-bottom:1px solid #577ea333;min-height:274px;margin:34px -18px 0;position:relative;overflow:hidden}.route-map-lines{opacity:.7;background-image:linear-gradient(32deg,#0000 47%,#5c85a91a 48% 49%,#0000 50%),linear-gradient(-27deg,#0000 46%,#5c85a914 47% 48%,#0000 49%);background-size:120px 92px,160px 110px;position:absolute;inset:0}.route-visual svg{width:100%;height:100%;position:absolute;inset:0}.route-shadow,.route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.route-shadow{stroke:#27cdf21f;stroke-width:14px}.route-line{stroke:#2dd4f1;stroke-width:4px;stroke-dasharray:8 6;animation:5s linear infinite route-flow}.route-start{fill:#081522;stroke:#8cecff;stroke-width:4px}.route-end{fill:#37d892;stroke:#d7ffef;stroke-width:4px;filter:drop-shadow(0 0 8px #37d892a6)}@keyframes route-flow{to{stroke-dashoffset:-70px}}.route-stat{z-index:1;background:#05111de0;border:1px solid #294763;border-radius:9px;gap:5px;min-width:132px;padding:11px 13px;display:grid;position:absolute;box-shadow:0 12px 26px #0000003d}.route-stat span{color:#7f99b3;font-size:10px}.route-stat strong{color:#e9f7ff;font:700 17px ui-monospace,SFMono-Regular,Menlo,monospace}.route-stat small{color:#6e8aa6;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.route-stat-distance{top:26px;left:26px}.route-stat-pace{bottom:24px;right:18px}.login-footnote{z-index:1;color:#7790aa;align-items:center;gap:9px;margin:auto 0 0;font-size:12px;display:flex;position:relative}.login-panel{background:#07111dbd;flex-direction:column;justify-content:center;min-width:0;padding:56px 54px;display:flex}.login-form-heading{margin-bottom:35px}.login-lock{width:43px;height:43px;color:var(--cyan);background:#27cdf214;border:1px solid #27cdf240;border-radius:12px;place-items:center;margin-bottom:24px;display:grid}.login-form-heading h2{letter-spacing:-.02em;margin:0;font-size:27px;line-height:1.25}.login-form-heading p{color:var(--muted);margin:10px 0 0;font-size:13px}.login-form{gap:20px;display:grid}.login-field{gap:9px;display:grid}.login-field>label{color:#afc1d4;font-size:12px;font-weight:650}.login-input-wrap{color:#6f8ba7;background:#091827;border:1px solid #29415a;border-radius:9px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:0 14px;transition:border-color .16s,box-shadow .16s,background .16s;display:grid}.login-input-wrap:focus-within{color:var(--cyan);background:#0a1c2d;border-color:#268cdc;box-shadow:0 0 0 3px #2d91ff1f}.login-input-wrap input{width:100%;min-width:0;height:48px;color:var(--text);caret-color:var(--cyan);background:0 0;border:0;outline:0;padding:0;font-size:14px}.login-input-wrap input::placeholder{color:#536b83}.login-input-wrap input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:inset 0 0 0 1000px #091827}.password-toggle{color:#6f8ba7;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:34px;height:34px;margin-right:-7px;display:grid}.password-toggle:hover{color:var(--text);background:#ffffff0b}.login-error{color:#0000;min-height:18px;margin-top:-8px;font-size:12px}.login-error.visible{color:#ff8a8a}.login-submit{color:#fff;cursor:pointer;background:linear-gradient(#168dff,#0873ee);border:1px solid #2b9cff;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:51px;font-size:14px;font-weight:750;transition:transform .16s,filter .16s,box-shadow .16s;display:flex;box-shadow:0 12px 25px #0877f933}.login-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 15px 30px #0877f94a}.login-submit:disabled{opacity:.68;cursor:wait}.login-security{color:#637b94;justify-content:center;align-items:center;gap:7px;margin:27px 0 0;font-size:10px;display:flex}.login-security svg{color:#6d91ad}.app-shell{background:var(--bg);grid-template-rows:64px minmax(0,1fr);grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.app-header{border-bottom:1px solid var(--line);background:#08131f;grid-column:1/-1;grid-template-columns:252px 1fr auto;align-items:center;min-width:0;display:grid}.brand{letter-spacing:.04em;padding:0 22px;font-size:22px;font-weight:750}.primary-nav{align-items:stretch;gap:4px;height:100%;display:flex}.nav-item{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 22px;font-size:14px;display:flex;position:relative}.nav-item.active{color:var(--text);background:#102338}.nav-item.active:after{content:"";background:var(--accent);height:2px;position:absolute;inset:auto 0 0}.nav-item.active svg{color:var(--accent)}.nav-item:hover{color:var(--text);background:#0d1d2e}.nav-badge{color:#fff;background:#dc4f55;border:1px solid #ff7c80;border-radius:10px;place-items:center;min-width:19px;height:19px;padding:0 5px;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-grid}.header-status{color:#c5d4e5;white-space:nowrap;align-items:center;gap:10px;height:100%;padding:0 20px;font-size:13px;display:flex}.connection-count{color:var(--muted);border-left:1px solid var(--line);padding-left:14px}.status-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.status-dot.online{background:var(--green);box-shadow:0 0 0 3px #37d89214}.status-dot.warning{background:var(--amber);box-shadow:0 0 0 3px #f5b52e14}.icon-button{width:36px;height:36px;color:var(--muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;margin-left:4px;display:grid}.icon-button:hover{color:var(--text);border-color:var(--line);background:var(--surface)}.logout-button{min-height:36px;color:var(--muted);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #263a50;align-items:center;gap:7px;margin-left:2px;padding:0 11px;font-size:12px;display:inline-flex}.logout-button:hover{color:var(--text);background:var(--surface);border-color:#405b78}.device-rail{border-right:1px solid var(--line);background:#081522;flex-direction:column;min-height:0;display:flex}.rail-title{color:var(--text);padding:22px 18px 14px;font-size:14px;font-weight:700}.rail-title span{color:var(--muted);margin-left:4px;font-weight:500}.device-row{text-align:left;width:calc(100% - 16px);min-height:76px;color:var(--text);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 8px;padding:12px 14px;display:grid;position:relative}.device-row.selected{background:#153250;border-color:#23486e}.device-row.selected:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:-1px}.device-copy{gap:7px;min-width:0;display:grid}.device-copy strong{text-overflow:ellipsis;letter-spacing:.01em;font-size:14px;overflow:hidden}.device-copy small{text-overflow:ellipsis;color:var(--muted);font-size:12px;overflow:hidden}.device-row>svg{color:var(--muted)}.rail-footer{color:var(--muted);border-top:1px solid var(--line);margin-top:auto;padding:18px;font-size:12px}.dashboard-main{grid-template-rows:minmax(500px,auto) auto;grid-template-columns:minmax(520px,1fr) 310px;gap:16px;min-width:0;min-height:0;padding:16px;display:grid}.position-panel,.telemetry-panel,.run-panel,.pace-panel,.activity-panel{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1}.position-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.stage-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:18px 22px;display:flex}.stage-heading h1{letter-spacing:.02em;margin:0;font-size:20px}.stage-heading p{color:var(--muted);align-items:center;gap:9px;margin:8px 0 0;font-size:13px;display:flex}.coordinate-readout{color:var(--muted);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.position-canvas{color:#183450;background:#081522;flex:1;min-height:390px;position:relative;overflow:hidden}.amap-track-shell,.amap-track{position:absolute;inset:0}.amap-track{background:#081522}.amap-track .amap-logo,.amap-track .amap-copyright{opacity:.72}.kilometer-marker{color:#fff;background:#0877f9;border:2px solid #d9ecff;border-radius:50%;place-items:center;width:27px;height:27px;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;box-shadow:0 2px 9px #00000080,0 0 0 3px #0877f92e}.map-state{z-index:5;color:var(--muted);background:#081522;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.map-state.error{color:var(--danger)}.location-marker{z-index:1;justify-items:center;gap:7px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.waiting-overlay{z-index:6;pointer-events:none}.marker-core{color:#06111d;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:relative}.marker-core:after{content:"";opacity:.3;border:1px solid;border-radius:50%;position:absolute;inset:-8px}.marker-core.live{background:var(--cyan);color:var(--cyan)}.marker-core.live svg{color:#06111d}.marker-core.waiting{background:var(--amber);color:var(--amber)}.marker-core.waiting svg{color:#241802}.location-marker strong{color:var(--text);border:1px solid var(--line);background:#040d16db;border-radius:5px;padding:5px 9px;font-size:12px}.position-canvas.waiting .location-marker strong{color:var(--amber);border-color:#f5b52e6b}.location-marker small{color:var(--muted);font-size:11px}.live-map-readout{z-index:6;color:var(--text);border:1px solid var(--line);pointer-events:none;background:#040d16e0;border-radius:5px;gap:4px;padding:9px 11px;display:grid;position:absolute;bottom:14px;right:16px}.live-map-readout strong{font-size:12px}.live-map-readout span{color:var(--cyan);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.telemetry-panel{min-width:0;padding:0 16px 16px}.panel-title{min-height:50px;color:var(--text);border-bottom:1px solid var(--line-soft);align-items:center;font-size:15px;font-weight:700;display:flex}.identity-row{min-height:43px;color:var(--muted);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:18px;font-size:13px;display:flex}.identity-row strong{color:var(--text);text-overflow:ellipsis;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.identity-row .state-online{color:var(--green)}.identity-row .state-waiting{color:var(--amber)}.telemetry-rows{margin-top:4px}.telemetry-row{min-height:41px;color:var(--muted);border-bottom:1px solid var(--line-soft);grid-template-columns:22px 72px 1fr;align-items:center;gap:8px;display:grid}.telemetry-row svg{color:#7895b5}.telemetry-row span{font-size:13px}.telemetry-row strong{color:#d6e3f1;white-space:nowrap;justify-self:end;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.tracking-config,.device-mode-config{border:1px solid var(--line-soft);background:#091827;border-radius:7px;gap:9px;margin-top:14px;padding:12px;display:grid}.device-mode-options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.device-mode-options button{color:#8ea4bd;cursor:pointer;background:#0c1d2e;border:1px solid #263d55;border-radius:5px;place-content:center;gap:4px;min-width:0;min-height:54px;padding:7px 4px;transition:color .16s,border-color .16s,background .16s;display:grid}.device-mode-options button strong{font-size:12px}.device-mode-options button small{color:var(--faint);white-space:nowrap;font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace}.device-mode-options button:hover:not(:disabled){color:var(--text);border-color:#476985}.device-mode-options button.selected{color:#fff;background:#126fcf;border-color:#2d91ff;box-shadow:0 0 0 2px #2d91ff17}.device-mode-options button.selected small{color:#d7eaff}.device-mode-options button:disabled{opacity:.48;cursor:not-allowed}.device-mode-config>small{color:var(--faint);font-size:10px;line-height:1.45}.tracking-config-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.tracking-config-heading span{color:var(--muted);font-size:12px}.tracking-config-heading strong{color:var(--cyan);font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}.interval-options{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.interval-options button{color:#8ea4bd;cursor:pointer;background:#0c1d2e;border:1px solid #263d55;border-radius:5px;min-width:0;min-height:32px;padding:0;font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;transition:color .16s,border-color .16s,background .16s}.interval-options button:hover:not(:disabled){color:var(--text);border-color:#476985}.interval-options button.selected{color:#fff;background:#126fcf;border-color:#2d91ff;box-shadow:0 0 0 2px #2d91ff17}.interval-options button:disabled{opacity:.58;cursor:not-allowed}.tracking-config small{color:var(--faint);font-size:10px;line-height:1.45}.tracking-actions{gap:10px;margin-top:14px;display:grid}.tracking-actions button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-size:14px;font-weight:700;transition:background .16s,border-color .16s,color .16s;display:flex}.primary-action{color:#fff;background:var(--accent-strong);border:1px solid var(--accent)}.primary-action:hover:not(:disabled){background:#1587ff}.secondary-action{color:#bdd0e4;background:0 0;border:1px solid #405874}.secondary-action:hover:not(:disabled){color:#fff;border-color:#6785a5}.tracking-actions button:disabled{opacity:.36;cursor:not-allowed}.remote-controls{border:1px solid var(--line-soft);background:#091827;border-radius:7px;margin-top:12px;padding:0 11px 11px}.remote-controls summary{min-height:39px;color:var(--muted);cursor:pointer;align-items:center;font-size:11px;list-style:none;display:flex}.remote-controls summary::-webkit-details-marker{display:none}.remote-controls summary:after{content:"+";color:var(--faint);margin-left:auto;font-size:16px}.remote-controls[open] summary:after{content:"−"}.remote-control-grid{grid-template-columns:1fr 1fr;gap:7px;padding-top:2px;display:grid}.remote-control-grid button{color:#b9cce0;cursor:pointer;background:#0c1d2e;border:1px solid #2b435b;border-radius:5px;min-height:34px;font-size:10px}.remote-control-grid button:hover:not(:disabled){color:#fff;border-color:#4a7193}.remote-control-grid button.danger{color:#ff9292;border-color:#ff6b6b4d}.remote-control-grid button.confirm{color:#fff;background:#a9454b;border-color:#e86a70}.remote-control-grid button:disabled{opacity:.45;cursor:not-allowed}.remote-controls>small{color:var(--faint);margin-top:9px;font-size:9px;line-height:1.55;display:block}.run-panel{grid-column:1/-1;min-width:0;padding:0 16px 14px}.run-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:50px;display:flex}.run-heading .panel-title{border:0}.run-heading>span{color:var(--muted);font-size:12px}.run-metrics{grid-template-columns:1.2fr repeat(5,1fr);display:grid}.run-metric{border-right:1px solid var(--line-soft);flex-direction:column;justify-content:center;min-width:0;min-height:102px;padding:14px 18px;display:flex}.run-metric:last-child{border-right:0}.run-metric>span{color:var(--muted);font-size:12px}.run-metric>div{align-items:baseline;gap:7px;min-width:0;margin-top:7px;display:flex}.run-metric strong{color:var(--text);letter-spacing:-.03em;white-space:nowrap;font:700 23px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace}.run-metric small{color:#91a9c1;white-space:nowrap;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.run-metric em{color:var(--faint);margin-top:7px;font-size:11px;font-style:normal}.run-metric.featured{background:linear-gradient(90deg,#2d91ff17,#0000)}.run-metric.featured strong{color:var(--cyan)}.pace-panel{grid-column:1/-1;min-width:0;padding:0 16px 8px;overflow:hidden}.pace-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:50px;display:flex}.pace-heading .panel-title{border:0}.pace-heading>span{color:var(--muted);font-size:12px}.pace-heading>span strong{color:var(--cyan);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.pace-table{overflow-x:auto}.pace-row{color:#b9cbe0;border-bottom:1px solid var(--line-soft);grid-template-columns:130px 180px 150px minmax(170px,1fr) 100px;align-items:center;gap:16px;min-width:720px;min-height:42px;font-size:12px;display:grid}.pace-row strong{color:var(--text)}.pace-row time,.pace-row code{font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.pace-row code{color:var(--cyan)}.pace-header{min-height:34px;color:var(--muted);background:#0d1c2b}.current-split{background:#0b1a2a}.split-complete{color:var(--green)}.split-current{color:var(--amber)}.split-ended{color:var(--muted)}.pace-empty{min-height:92px;color:var(--faint);place-items:center;font-size:13px;display:grid}.activity-panel{grid-column:1/-1;min-width:0;padding:0 16px 8px;overflow:hidden}.activity-table{overflow-x:auto}.activity-row{color:#b9cbe0;border-bottom:1px solid var(--line-soft);grid-template-columns:150px 130px minmax(180px,1fr) 180px;align-items:center;gap:16px;min-width:720px;min-height:42px;font-size:12px;display:grid}.activity-header{min-height:34px;color:var(--muted);background:#0d1c2b}.activity-row code{color:#c8dbf1;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.activity-row>:last-child{color:var(--faint);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.empty-log{min-height:106px;color:var(--faint);place-items:center;font-size:13px;display:grid}.toast{z-index:20;max-width:min(540px,100% - 32px);color:var(--text);border-radius:var(--radius);background:#13263a;border:1px solid #35506c;padding:11px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #00000057}.history-main{grid-template-columns:310px minmax(0,1fr);grid-template-areas:"toolbar toolbar""sessions detail""splits splits";align-content:start;gap:16px;min-width:0;min-height:0;padding:16px;display:grid}.history-toolbar,.history-sessions,.history-map-panel,.history-controls,.history-detail>.run-panel{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1}.history-toolbar{grid-area:toolbar;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px 18px;display:flex}.history-toolbar h1{margin:0;font-size:19px}.history-toolbar p{color:var(--muted);margin:7px 0 0;font-size:12px}.history-toolbar label,.history-controls label{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.history-toolbar select,.history-controls select{min-height:36px;color:var(--text);background:var(--surface-strong);border:1px solid var(--line);border-radius:5px;padding:0 30px 0 10px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.history-sessions{grid-area:sessions;min-width:0;padding:0 12px 12px}.history-sessions .panel-title{justify-content:space-between}.history-sessions .panel-title span{color:var(--muted);font-weight:500}.session-list{display:grid}.session-row{min-height:82px;color:var(--text);text-align:left;border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;background:0 0;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 10px;display:grid;position:relative}.session-row:hover{background:#0d1f31}.session-row.selected{box-shadow:inset 3px 0 var(--accent);background:#13304d}.session-row>span{gap:6px;min-width:0;display:grid}.session-row>span:nth-child(2){text-align:right}.session-row strong{font-size:12px}.session-row small{color:var(--muted);white-space:nowrap;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.history-empty{min-height:170px;color:var(--faint);text-align:center;place-items:center;padding:24px;font-size:12px;display:grid}.history-empty.error{color:var(--danger)}.history-detail{grid-area:detail;gap:12px;min-width:0;display:grid}.history-map-panel{min-width:0;overflow:hidden}.history-map-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:10px 16px;display:flex}.history-map-heading>div{gap:5px;display:grid}.history-map-heading strong{font-size:14px}.history-map-heading span,.history-map-heading code{color:var(--muted);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.history-map-canvas{color:#183450;background:#081522;height:390px;position:relative;overflow:hidden}.history-point-readout{z-index:6;color:var(--text);border:1px solid var(--line);pointer-events:none;background:#040d16e0;border-radius:5px;gap:4px;padding:9px 11px;display:grid;position:absolute;bottom:14px;right:16px}.history-point-readout strong{font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.history-point-readout span{color:var(--cyan);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.history-controls{grid-template-columns:auto minmax(140px,1fr) auto auto;align-items:center;gap:14px;min-height:58px;padding:9px 12px;display:grid}.history-controls button{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.playback-button{color:#fff;background:var(--accent-strong);border:1px solid var(--accent)}.export-button{color:#c7d8e9;background:0 0;border:1px solid #405874}.history-controls button:disabled{opacity:.4;cursor:not-allowed}.history-controls input[type=range]{width:100%;accent-color:var(--accent)}.history-detail>.run-panel{padding-bottom:10px}.history-main>.pace-panel{grid-area:splits}.alarm-main{background:linear-gradient(#17293c29,#0000 260px);align-content:start;gap:16px;min-width:0;min-height:0;padding:20px;display:grid}.alarm-heading{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;justify-content:space-between;align-items:center;gap:24px;min-height:122px;padding:22px 26px;display:flex}.alarm-heading h1{margin:0;font-size:24px}.alarm-heading p{color:var(--muted);margin:9px 0 0;font-size:13px}.alarm-live-state{border-radius:7px;justify-content:center;align-items:center;gap:10px;min-width:194px;min-height:44px;padding:0 16px;font-size:12px;display:flex}.alarm-live-state.safe{color:#70e7b2;background:#37d89212;border:1px solid #37d8923d}.alarm-live-state.warning{color:#ff9292;background:#ff6b6b14;border:1px solid #ff6b6b4d}.alarm-pulse{width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 12%, transparent);background:currentColor;border-radius:50%}.alarm-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.alarm-summary-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;grid-template-columns:1fr auto;align-content:center;gap:8px 16px;min-height:104px;padding:18px 20px;display:grid}.alarm-summary-grid article>span{color:var(--muted);font-size:12px}.alarm-summary-grid article>strong{color:var(--text);grid-row:span 2;font:750 34px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.alarm-summary-grid article>small{color:var(--faint);font-size:10px}.alarm-summary-grid article.critical>strong{color:#ff7d7d}.alarm-list-panel{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;min-width:0;overflow:hidden}.alarm-toolbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:12px 16px;display:flex}.alarm-tabs{gap:5px;display:flex}.alarm-tabs button{min-height:35px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:0 14px;font-size:12px}.alarm-tabs button:hover{color:var(--text);background:#0d1f31}.alarm-tabs button.selected{color:#fff;background:#173553;border-color:#2d5276}.alarm-toolbar label{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.alarm-toolbar select{min-height:35px;color:var(--text);background:var(--surface-strong);border:1px solid var(--line);border-radius:5px;padding:0 30px 0 10px}.alarm-table{min-width:0;overflow-x:auto}.alarm-row{color:#b9cbe0;border-bottom:1px solid var(--line-soft);grid-template-columns:108px 112px 150px minmax(180px,1fr) 78px 104px;align-items:center;gap:10px;min-width:790px;min-height:62px;padding:9px 14px;font-size:12px;display:grid}.alarm-row-header{min-height:38px;color:var(--faint);background:#0d1c2b;font-size:11px}.alarm-row>code,.alarm-row>time{color:#a9bdd2;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.alarm-kind{align-items:center;gap:9px;display:flex}.alarm-kind i{width:31px;height:31px;color:var(--amber);background:#f5b52e14;border:1px solid #f5b52e2e;border-radius:7px;place-items:center;font-style:normal;display:grid}.severity-critical .alarm-kind i{color:#ff7878;background:#ff6b6b14;border-color:#ff6b6b38}.alarm-kind strong{color:var(--text);font-size:12px}.alarm-description{color:var(--muted)}.alarm-status{border:1px solid;border-radius:12px;align-items:center;min-height:24px;padding:0 8px;font-size:10px;font-style:normal;display:inline-flex}.alarm-status.active{color:#ff8989;background:#ff6b6b12;border-color:#ff6b6b47}.alarm-status.ack{color:var(--amber);background:#f5b52e12;border-color:#f5b52e40}.alarm-status.resolved{color:var(--green);background:#37d8920f;border-color:#37d89238}.alarm-ack-button{color:#fff;cursor:pointer;background:#b8454c;border:1px solid #e16a6f;border-radius:5px;min-height:31px;padding:0 10px;font-size:11px;font-weight:700}.alarm-ack-button:hover:not(:disabled){background:#cb5057}.alarm-ack-button:disabled{opacity:.56;cursor:wait}.alarm-row>span:last-child>small{color:var(--faint);font:9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.alarm-empty{color:#63809c;place-content:center;justify-items:center;gap:9px;min-height:210px;display:grid}.alarm-empty strong{color:#a8bfd5;font-size:13px}.alarm-empty span{font-size:11px}.alarm-policy{min-height:48px;color:var(--faint);background:#091522;align-items:center;padding:0 16px;font-size:10px;display:flex}.route-main{grid-template-rows:auto minmax(540px,1fr);grid-template-columns:minmax(0,1fr) 320px;gap:16px;min-width:0;min-height:0;padding:20px;display:grid}.route-page-heading{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:18px 22px;display:flex}.route-page-heading h1{margin:0;font-size:22px}.route-page-heading p{color:var(--muted);margin:8px 0 0;font-size:12px}.route-monitor-state{white-space:nowrap;border:1px solid;border-radius:6px;align-items:center;gap:9px;min-height:36px;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}.route-monitor-state i{background:currentColor;border-radius:50%;width:8px;height:8px}.route-monitor-state.active{color:var(--green);background:#37d8920f;border-color:#37d89240}.route-monitor-state.inactive{color:var(--muted);border-color:var(--line);background:#8ea4bd0a}.route-map-panel,.route-config-panel{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;min-width:0;overflow:hidden}.route-map-panel{flex-direction:column;display:flex}.route-map-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 18px;display:flex}.route-map-heading>div{gap:6px;display:grid}.route-map-heading strong{font-size:14px}.route-map-heading span,.route-map-heading code{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.route-map-heading code{color:var(--amber)}.route-map-canvas{background:#081522;flex:1;min-height:470px;position:relative}.route-map-empty{z-index:7;color:#57728d;pointer-events:none;place-content:center;justify-items:center;gap:9px;display:grid;position:absolute;inset:0}.route-map-empty strong{color:#9db3c8;font-size:13px}.route-map-empty span{font-size:10px}.route-config-panel{align-self:start;gap:14px;padding:0 16px 16px;display:grid}.route-upload{min-height:124px;color:var(--accent);cursor:pointer;background:#091a2a;border:1px dashed #345878;border-radius:7px;place-content:center;justify-items:center;gap:7px;display:grid}.route-upload:hover{background:#0c2033;border-color:#4381b7}.route-upload.disabled{opacity:.5;cursor:not-allowed}.route-upload strong{color:var(--text);font-size:12px}.route-upload span{color:var(--faint);font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.route-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.route-field{gap:7px;display:grid}.route-field>span{color:var(--muted);font-size:11px}.route-field input,.route-field select{width:100%;min-height:39px;color:var(--text);border:1px solid var(--line);background:#091827;border-radius:5px;outline:0;padding:0 10px;font-size:12px}.route-field input:focus,.route-field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2d91ff1a}.route-field input:disabled,.route-field select:disabled{color:var(--faint);opacity:.7}.route-facts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.route-facts>span{min-height:62px;color:var(--faint);border:1px solid var(--line-soft);background:#091827;border-radius:5px;align-content:center;gap:7px;padding:10px;font-size:10px;display:grid}.route-facts strong{color:#cbdbea;text-overflow:ellipsis;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.route-primary-button,.route-secondary-button{cursor:pointer;border-radius:6px;min-height:43px;font-size:12px;font-weight:700}.route-primary-button{color:#fff;background:var(--accent-strong);border:1px solid var(--accent)}.route-secondary-button{color:#ff9696;background:#ff6b6b0f;border:1px solid #ff6b6b47}.route-primary-button:disabled,.route-secondary-button:disabled{opacity:.58;cursor:wait}.route-message{color:#a8c6df;border-left:2px solid var(--accent);background:#0c2032;margin:0;padding:10px;font-size:10px;line-height:1.6}.route-rule{color:var(--faint);margin:0;font-size:10px;line-height:1.7}.statistics-main{grid-template-columns:minmax(0,1fr) 330px;align-content:start;gap:16px;min-width:0;min-height:0;padding:20px;display:grid}.statistics-heading{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:18px 22px;display:flex}.statistics-heading h1{margin:0;font-size:22px}.statistics-heading p{color:var(--muted);margin:8px 0 0;font-size:12px}.statistics-tabs{border:1px solid var(--line);background:#081522;border-radius:7px;grid-template-columns:repeat(3,48px);gap:5px;padding:4px;display:grid}.statistics-tabs button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px}.statistics-tabs button.selected{color:#fff;background:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent)}.statistics-summary{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;grid-column:1/-1;grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden}.statistics-summary article{border-right:1px solid var(--line-soft);align-content:center;gap:10px;min-width:0;min-height:122px;padding:18px;display:grid}.statistics-summary article:last-child{border-right:0}.statistics-summary article.featured{background:linear-gradient(110deg,#2d91ff1c,#0000)}.statistics-summary span{color:var(--muted);font-size:11px}.statistics-summary strong{color:var(--text);white-space:nowrap;font:750 25px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.statistics-summary .featured strong{color:var(--cyan)}.statistics-summary strong small{color:var(--muted);font-size:10px}.statistics-summary em{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.statistics-chart-panel,.battery-analysis{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;min-width:0}.statistics-panel-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:0 16px;display:flex}.statistics-panel-heading strong{font-size:14px}.statistics-panel-heading span{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.distance-chart{align-items:stretch;gap:12px;height:330px;padding:38px 24px 20px;display:flex}.distance-column{flex:1;grid-template-rows:24px 1fr 28px;place-items:end center;gap:5px;min-width:0;display:grid}.distance-column>span{color:var(--cyan);font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.distance-column>i{background:linear-gradient(#32c9ee,#227df0);border-radius:4px 4px 1px 1px;align-self:end;width:min(34px,72%);min-height:2px;box-shadow:0 0 14px #32c9ee24}.distance-column>small{color:var(--faint);white-space:nowrap;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.distance-chart.dense{gap:4px;padding-inline:14px}.distance-chart.dense .distance-column>span{display:none}.distance-chart.dense .distance-column>small{writing-mode:vertical-rl}.battery-analysis{align-self:stretch;padding-bottom:16px}.battery-gauge{background:#06121e;border:1px solid #2d4760;border-radius:5px;height:28px;margin:22px 16px 18px;position:relative;overflow:hidden}.battery-gauge>i{opacity:.5;background:linear-gradient(90deg,#19ad7a,#48dda8);position:absolute;inset:0 auto 0 0}.battery-gauge>strong{z-index:1;color:#fff;place-items:center;height:100%;font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;position:relative}.battery-fact{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:56px;margin:0 16px;display:grid}.battery-fact span{color:var(--muted);font-size:11px}.battery-fact strong{color:var(--text);font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}.battery-analysis p{color:var(--faint);margin:14px 16px 0;font-size:9px;line-height:1.7}.battery-insufficient{text-align:center;place-content:center;justify-items:center;gap:9px;min-height:180px;padding:22px;display:grid}.battery-insufficient strong{color:#a9bfd3;font-size:13px}.battery-insufficient span{max-width:230px;color:var(--faint);font-size:10px;line-height:1.7}.statistics-empty{min-height:320px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;grid-column:1/-1;place-items:center;display:grid}.access-main{grid-template-columns:minmax(0,1fr) 380px;align-content:start;gap:16px;min-width:0;min-height:0;padding:20px;display:grid}.access-heading{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:18px 22px;display:flex}.access-heading h1{margin:0;font-size:22px}.access-heading p{color:var(--muted);margin:8px 0 0;font-size:12px}.access-heading>span{color:var(--green);font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.access-users,.access-form,.access-policy{border:1px solid var(--line);border-radius:var(--radius);background:#091725d1;min-width:0}.access-user-list{padding:0 14px 12px}.access-user-list article{border-bottom:1px solid var(--line-soft);grid-template-columns:36px minmax(0,1fr) auto 104px;align-items:center;gap:12px;min-height:68px;padding:9px 4px;display:grid}.access-avatar{width:34px;height:34px;color:var(--cyan);background:#30c6ea14;border:1px solid #30c6ea33;border-radius:50%;place-items:center;font-weight:800;display:grid}.access-user-list article>span:nth-child(2){gap:5px;display:grid}.access-user-list article>span:nth-child(2) strong{font-size:12px}.access-user-list article small{color:var(--faint);font-size:9px}.access-user-list em{border:1px solid;border-radius:12px;align-items:center;min-height:24px;padding:0 8px;font-size:10px;font-style:normal;display:inline-flex}.access-user-list .role-admin{color:var(--cyan);border-color:#30c6ea4d}.access-user-list .role-operator{color:var(--amber);border-color:#f5b52e4d}.access-user-list .role-viewer{color:var(--muted);border-color:var(--line)}.access-user-list button{color:#ff9494;cursor:pointer;background:0 0;border:1px solid #ff6b6b42;border-radius:5px;min-height:30px;font-size:10px}.access-user-list button.confirm{color:#fff;background:#b8454c}.access-form{align-self:start;gap:13px;padding:0 16px 16px;display:grid}.access-form>label{color:var(--muted);gap:7px;font-size:11px;display:grid}.access-form input,.access-form select{min-height:40px;color:var(--text);border:1px solid var(--line);background:#091827;border-radius:5px;outline:0;padding:0 10px}.access-form input:focus,.access-form select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2d91ff1a}.access-form fieldset{border:1px solid var(--line-soft);border-radius:6px;gap:7px;margin:0;padding:11px;display:grid}.access-form legend{color:var(--muted);padding:0 5px;font-size:11px}.access-device-check{cursor:pointer;background:#091827;border-radius:5px;align-items:center;gap:10px;min-height:48px;padding:6px 8px;display:flex}.access-device-check input{min-height:0;accent-color:var(--accent)}.access-device-check>span{gap:4px;display:grid}.access-device-check strong{font-size:11px}.access-device-check small{color:var(--faint);font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.access-submit{color:#fff;background:var(--accent-strong);border:1px solid var(--accent);cursor:pointer;border-radius:6px;min-height:43px;font-weight:700}.access-submit:disabled{opacity:.5;cursor:not-allowed}.access-message{color:#a8c6df;border-left:2px solid var(--accent);background:#0c2032;margin:0;padding:10px;font-size:10px;line-height:1.6}.access-policy{grid-column:1/-1;align-items:center;gap:18px;min-height:58px;padding:12px 16px;display:flex}.access-policy strong{white-space:nowrap;font-size:11px}.access-policy span{color:var(--faint);font-size:10px;line-height:1.6}@media (width<=1100px){.app-shell{grid-template-rows:60px auto;grid-template-columns:1fr}.app-header{grid-template-columns:auto 1fr auto}.brand{font-size:20px}.device-rail{display:none}.header-status{grid-column:3}.dashboard-main{grid-template-rows:minmax(460px,auto) auto;grid-template-columns:minmax(0,1fr) 300px}.history-main{grid-template-columns:260px minmax(0,1fr)}.history-map-canvas{height:340px}.history-detail .run-metrics{grid-template-columns:repeat(3,1fr)}.history-detail .run-metric:nth-child(3){border-right:0}.history-detail .run-metric:nth-child(-n+3){border-bottom:1px solid var(--line-soft)}.alarm-main{grid-column:1}.alarm-summary-grid{grid-template-columns:1fr 1fr}.route-main{grid-column:1;grid-template-columns:minmax(0,1fr) 300px}.statistics-main,.access-main{grid-column:1}.statistics-summary{grid-template-columns:repeat(3,1fr)}.statistics-summary article:nth-child(3){border-right:0}}@media (width<=760px){.login-shell{align-items:start;padding:18px 14px;overflow:auto}.login-layout{border-radius:14px;grid-template-columns:1fr;min-height:0}.login-story{border-bottom:1px solid #3d5b7873;border-right:0;min-height:248px;padding:25px 25px 21px}.login-copy{margin-top:34px}.login-copy h1{max-width:330px;font-size:32px}.login-copy p{max-width:330px;margin-top:12px;font-size:12px;line-height:1.65}.route-visual{opacity:.48;border:0;width:260px;height:168px;min-height:0;margin:0;position:absolute;bottom:-28px;right:-54px}.route-stat{display:none}.login-footnote{margin-top:30px}.login-panel{padding:34px 25px 30px}.login-form-heading{margin-bottom:28px}.login-lock{display:none}.login-form-heading h2{font-size:23px}.login-security{margin-top:22px}.app-header{height:60px}.brand{padding:0 16px;font-size:19px}.header-status{gap:8px;padding:0 12px}.primary-nav{z-index:30;border-top:1px solid var(--line);background:#08131f;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{flex:1;justify-content:center;gap:4px;min-width:64px;padding:0 3px;font-size:10px}.nav-item.active:after{inset:0 20px auto}.connection-count,.icon-button,.logout-button span{display:none}.logout-button{justify-content:center;width:36px;padding:0}.dashboard-main{flex-direction:column;gap:12px;padding:12px;display:flex}.app-shell{padding-bottom:56px}.position-panel,.telemetry-panel,.run-panel,.pace-panel,.activity-panel{width:100%}.stage-heading{min-height:68px;padding:14px 16px}.stage-heading h1{font-size:16px}.coordinate-readout{display:none}.position-canvas{flex:none;min-height:330px}.telemetry-panel{padding:0 14px 14px}.telemetry-rows{grid-template-columns:1fr 1fr;column-gap:16px;display:grid}.telemetry-row{grid-template-columns:20px 54px 1fr}.telemetry-row:last-child{grid-column:1/-1}.tracking-actions button{min-height:48px}.run-panel{padding:0 14px 8px}.run-heading>span{display:none}.run-metrics{grid-template-columns:1fr 1fr}.run-metric{border-bottom:1px solid var(--line-soft);min-height:92px;padding:12px 10px}.run-metric:nth-child(2n){border-right:0}.run-metric:nth-last-child(-n+2){border-bottom:0}.run-metric strong{font-size:20px}.activity-panel,.pace-panel{padding:0 14px 8px}.pace-heading>span{display:none}.pace-row{grid-template-columns:96px 1fr 72px;gap:10px;min-width:0}.pace-row>:nth-child(2),.pace-row>:nth-child(3){display:none}.activity-row{grid-template-columns:78px 86px 1fr;gap:10px;min-width:0}.activity-row>:last-child{display:none}.history-main{flex-direction:column;gap:12px;padding:12px;display:flex}.history-toolbar{align-items:flex-start;min-height:94px;padding:13px 14px}.history-toolbar p{max-width:190px}.history-toolbar label{flex-direction:column;align-items:flex-end;gap:5px}.history-toolbar select{max-width:146px}.history-sessions{max-height:280px;overflow-y:auto}.history-map-heading code{display:none}.history-map-canvas{height:310px}.history-controls{grid-template-columns:auto 1fr auto;gap:9px}.history-controls label{display:none}.history-controls button{padding:0 11px}.history-detail .run-metrics{grid-template-columns:1fr 1fr}.history-detail .run-metric:nth-child(3){border-right:1px solid var(--line-soft)}.history-detail .run-metric:nth-child(2n){border-right:0}.history-detail .run-metric:nth-child(-n+4){border-bottom:1px solid var(--line-soft)}.alarm-main{gap:12px;padding:12px}.alarm-heading{min-height:0;padding:18px;display:grid}.alarm-heading h1{font-size:20px}.alarm-heading p{line-height:1.6}.alarm-live-state{justify-self:stretch;min-width:0}.alarm-summary-grid{gap:8px}.alarm-summary-grid article{gap:6px 8px;min-height:88px;padding:13px}.alarm-summary-grid article>strong{font-size:27px}.alarm-toolbar{align-items:flex-start}.alarm-tabs{overflow-x:auto}.alarm-tabs button{flex:none;padding:0 10px}.alarm-toolbar label{flex-direction:column;align-items:flex-end;gap:4px}.alarm-row-header{display:none}.alarm-row:not(.alarm-row-header){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kind state""device time""description description""action action";gap:9px 12px;min-width:0;padding:14px}.alarm-row .alarm-kind{grid-area:kind}.alarm-row>code{grid-area:device}.alarm-row>time{grid-area:time;justify-self:end}.alarm-row .alarm-description{grid-area:description;padding-top:2px}.alarm-row>span:nth-child(5){grid-area:state;justify-self:end}.alarm-row>span:nth-child(6){grid-area:action;justify-self:end}.route-main{flex-direction:column;gap:12px;padding:12px;display:flex}.route-page-heading{min-height:82px;padding:15px}.route-page-heading h1{font-size:19px}.route-map-heading{padding:10px 13px}.route-map-canvas{min-height:330px}.route-config-panel{padding:0 14px 14px}.statistics-main{flex-direction:column;gap:12px;padding:12px;display:flex}.statistics-heading{min-height:88px;padding:15px}.statistics-heading h1{font-size:19px}.statistics-heading p{max-width:190px;line-height:1.5}.statistics-tabs{grid-template-columns:repeat(3,38px)}.statistics-summary{grid-template-columns:1fr 1fr;display:grid}.statistics-summary article{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-height:104px;padding:14px}.statistics-summary article:nth-child(2n){border-right:0}.statistics-summary article:last-child{border-bottom:0}.statistics-summary strong{font-size:21px}.distance-chart{gap:5px;height:280px;padding-inline:12px}.distance-chart .distance-column>span,.distance-chart.dense .distance-column>small{display:none}.access-main{flex-direction:column;gap:12px;padding:12px;display:flex}.access-form{align-self:stretch}.access-heading{min-height:92px;padding:15px}.access-heading h1{font-size:19px}.access-heading p{max-width:210px;line-height:1.5}.access-heading>span{display:none}.access-user-list article{grid-template-columns:34px minmax(0,1fr) auto}.access-user-list article>:last-child{grid-column:2/-1}.access-policy{align-items:flex-start}}@media (width<=430px){.login-shell{padding:0}.login-layout{border:0;border-radius:0;min-height:100svh}.login-story{min-height:238px}.kilometer-marker{width:24px;height:24px;font-size:11px}.position-canvas{min-height:286px}.telemetry-rows{column-gap:10px}.telemetry-row{grid-template-columns:18px 50px minmax(0,1fr);gap:6px}.telemetry-row span,.telemetry-row strong{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
