/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.mobile-only{display:none}.map-controls{display:contents}.map-tool-controls{z-index:3;border:1px solid var(--line);background:var(--panel);border-radius:12px;display:grid;position:absolute;top:16px;right:16px;overflow:hidden;box-shadow:0 4px 20px #132d2d14}.map-tool-controls button{width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;place-items:center;font-size:14px;font-weight:650;display:grid}.map-tool-controls button+button{border-top:1px solid var(--line)}.map-tool-controls button[aria-pressed=true]{color:#0a8cf0}.map-tool-controls button:disabled{cursor:default;opacity:.4}.map-tool-controls svg{width:22px;height:22px}.amap-device-altitude{opacity:.75;font-size:10px;display:block}.map-loading{z-index:2;background:var(--panel);width:max-content;max-width:calc(100% - 32px);color:var(--muted);pointer-events:none;border-radius:12px;padding:12px 16px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-error button{min-height:44px;color:inherit;background:0 0;border:1px solid;border-radius:10px;margin:10px auto 0;padding:0 16px;display:block}@media (max-width:767px),(max-width:1024px) and (max-height:500px){html:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mobile-blue:#0a8cf0;--mobile-text:#171b20;--mobile-secondary:#6b727a;--mobile-surface:#fbfbfbfa;--mobile-chrome:#fbfbfb;--mobile-raised:#fff;--mobile-group:#f1f2f4;--mobile-border:#191e231f;--mobile-selected:#0a8cf014;--mobile-green:#21864a;--mobile-warning:#a55c00;--mobile-danger:#cf3236}html:root,html body{overscroll-behavior:none;background:var(--mobile-chrome);color:var(--mobile-text);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,sans-serif;overflow:hidden}.app-shell{--ink:var(--mobile-text);--muted:var(--mobile-secondary);--line:var(--mobile-border);--panel:var(--mobile-surface);--paper:var(--mobile-raised);--green:var(--mobile-green)}body .app-shell{background:var(--mobile-chrome);isolation:isolate;width:auto;height:auto;min-height:0;display:block;position:fixed;inset:0;overflow:hidden}.app-shell .desktop-only{display:none!important}.app-shell .mobile-only{display:block}.app-shell>.map-stage{background:var(--mobile-group);width:100%;height:100%;min-height:0;position:absolute;inset:0}.app-shell :is(button,input,select,textarea){-webkit-tap-highlight-color:transparent}.app-shell :is(button,select){touch-action:manipulation}.app-shell :is(button,input,select,textarea):focus-visible{outline:3px solid var(--mobile-blue);outline-offset:2px}.app-shell :is(input:not([type=checkbox]):not([type=range]),select,textarea){font-size:16px}.app-shell button:disabled{cursor:default}.app-shell .mobile-dashboard{z-index:5;top:var(--mobile-viewport-top,0px);left:var(--mobile-viewport-left,0px);width:var(--mobile-viewport-width,100%);height:var(--mobile-viewport-height,100%);pointer-events:none;grid-template-rows:auto minmax(64px,1fr) auto;display:grid;position:absolute}.mobile-safe-area-probe{visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);position:fixed;inset:0}.mobile-dashboard button,.mobile-dashboard select{color:inherit}.mobile-dashboard svg{flex-shrink:0;width:20px;height:20px;display:block}.mobile-dashboard button:disabled{opacity:.4}.mobile-header{width:fit-content;min-width:0;max-width:calc(100% - 66px);padding:calc(var(--mobile-safe-top,env(safe-area-inset-top,0px)) + 25px) 10px 0 max(10px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));pointer-events:auto;grid-row:1;grid-template-columns:minmax(0,1fr) 48px 44px;align-self:flex-start;align-items:center;gap:6px;display:grid}.mobile-api-source{border:1px solid var(--mobile-border);background:var(--mobile-surface);color:var(--mobile-secondary);overflow-wrap:anywhere;border-radius:7px;grid-column:1/-1;margin-top:4px;padding:4px 8px;font-size:10px;line-height:14px}.mobile-device-picker{border:.75px solid var(--mobile-border);background:var(--mobile-surface);-webkit-backdrop-filter:blur(18px);border-radius:12px;align-items:center;gap:6px;min-width:0;max-width:100%;min-height:44px;padding:0 9px;display:flex;position:relative;box-shadow:0 3px 8px #00000014}.mobile-device-picker>svg{color:var(--mobile-blue)}.mobile-device-picker>svg:last-of-type{width:14px;height:14px;color:var(--mobile-secondary)}.mobile-device-title{white-space:nowrap;font-size:16px;font-weight:600}.mobile-device-picker:focus-within{outline:3px solid var(--mobile-blue);outline-offset:2px}.mobile-device-picker select{width:100%;min-width:0;max-width:none;height:100%;min-height:44px;color:var(--mobile-text);opacity:0;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;font-weight:600;position:absolute;inset:0}.mobile-battery-button{border:.75px solid var(--mobile-border);background:var(--mobile-surface);-webkit-backdrop-filter:blur(18px);border-radius:12px;place-items:center;width:76px;min-height:44px;padding:0 4px;display:grid;box-shadow:0 3px 8px #00000014}.mobile-battery-button .battery-body{border-width:1.25px;grid-template-columns:repeat(5,4px);padding:3px}.mobile-battery-button .battery-cell{height:11px}.mobile-battery-button .mobile-configured-battery .battery-body.continuous{width:34px;height:17px;padding:0}.mobile-battery-button .mobile-configured-battery .battery-body.segmented{grid-template-columns:repeat(5,3px);gap:1px}.mobile-battery-button .mobile-configured-battery .battery-cell{width:3px;height:9px}.mobile-battery-button .battery-value{font-size:11px}.mobile-battery-button:has(.charging){width:90px}.mobile-connection-status{width:44px;min-height:44px;color:var(--mobile-danger);background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.mobile-connection-status>span,.mobile-connection-status>i{background:currentColor;border-radius:50%;width:8px;height:8px;display:block;box-shadow:0 0 0 2px #ffffffb3}.mobile-connection-status[data-connected=true],.mobile-connection-status.connected{color:#30a753}.mobile-connection-status>span:not(.mobile-connectivity-dot){display:none}.app-shell .mobile-dock{width:100%;min-height:0;max-height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-header-height,84px) - 64px);padding:0 max(8px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) var(--mobile-safe-bottom,env(safe-area-inset-bottom,0px)) max(8px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));border:.75px solid var(--mobile-border);background:var(--mobile-chrome);color:var(--mobile-text);pointer-events:auto;border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;flex:0 auto;grid-row:3;margin-top:auto;display:flex;position:relative;overflow:hidden;box-shadow:0 -3px 18px #00000005}.mobile-dock[data-expanded=true][data-mode=history]{height:min(460px, calc(var(--mobile-viewport-height,100dvh) * .62));min-height:0}.mobile-dock-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow:hidden auto}.mobile-dock[data-mode=live] .mobile-dock-content{max-height:calc(var(--mobile-viewport-height,100dvh) * .58);overflow-y:auto}.mobile-dock[data-expanded=true][data-mode=history] .mobile-dock-content{flex-direction:column;flex:auto;display:flex;overflow:hidden}.mobile-status-strip{flex:none;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:0;padding:6px 0 0;display:grid}.mobile-status-cell{text-align:center;overflow-wrap:anywhere;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:52px;padding:6px 1px;display:flex}.mobile-status-cell>svg{width:17px;height:17px;color:var(--mobile-secondary)}.mobile-status-cell :is(strong,b){font-variant-numeric:tabular-nums;max-width:100%;font-size:.8125rem;font-weight:600;line-height:1.35}.mobile-status-cell :is(span,small){max-width:100%;color:var(--mobile-secondary);font-size:.625rem;line-height:1.35}.mobile-status-cell>span{color:var(--mobile-text);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.mobile-status-cell[data-tone=good] strong{color:var(--mobile-green)}.mobile-status-cell[data-tone=warning] strong{color:var(--mobile-warning)}.mobile-status-cell[data-tone=danger] strong{color:var(--mobile-danger)}.mobile-status-cell[data-tone=good]>span,.mobile-status-cell[data-tone=success]>span{color:var(--mobile-green)}.mobile-status-cell[data-tone=warning]>span{color:var(--mobile-warning)}.mobile-status-cell[data-tone=danger]>span{color:var(--mobile-danger)}.mobile-dock-summary{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:44px;padding:0 4px;display:flex}.mobile-dock-summary>:first-child{flex:auto;min-width:0}.mobile-dock-summary strong{font-size:.875rem;line-height:1.4}.mobile-dock-summary small{color:var(--mobile-secondary);font-size:.6875rem}.mobile-dock-summary>button:not(.mobile-dock-toggle){min-height:44px;color:var(--mobile-blue);text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0 4px;font-size:.8125rem;display:flex}.mobile-dock-toggle{min-width:44px;min-height:44px;color:var(--mobile-secondary);background:0 0;border:0;border-radius:10px;flex-shrink:0;place-items:center;padding:0;display:grid}.mobile-toolbar{border-top:.75px solid var(--mobile-border);flex:none;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:49px;padding:5px 0 0;display:grid}.mobile-tool{min-width:44px;min-height:44px;color:var(--mobile-text);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;padding:4px 0 1px;display:flex;overflow:visible}.mobile-tool>svg{box-sizing:border-box;border:1px solid var(--mobile-border);background:#80808006;border-radius:10px;width:34px;height:34px;padding:7px}.mobile-tool[aria-pressed=true]{color:var(--mobile-blue)}.mobile-tool[aria-pressed=true]>svg{background:var(--mobile-selected);border-color:#0a8cf080}.mobile-tool[data-tone=danger]{color:var(--mobile-danger)}.mobile-tool span{font-size:.625rem;line-height:1.3}.mobile-tool:active,.mobile-dock-toggle:active{background:var(--mobile-group)}.mobile-tool:focus-visible{outline-offset:-3px!important}.mobile-emergency-notice{text-align:left;background:0 0;border:0;align-items:center;gap:7px;min-height:44px;padding:3px 8px;font-size:.8125rem;display:flex;color:var(--mobile-danger)!important}.mobile-empty-state{text-align:center;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;min-height:92px;padding:16px;display:flex}.mobile-empty-state>svg{color:var(--mobile-blue)}.mobile-empty-state>strong{font-size:.875rem;font-weight:600}.mobile-empty-state>span{color:var(--mobile-secondary);font-size:.75rem;line-height:1.5}.mobile-history-panel{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.mobile-history-header{flex-wrap:wrap;flex:none;align-items:center;gap:0 6px;min-height:44px;padding:0 2px 2px;display:flex}.mobile-history-header>strong{flex:auto;font-size:.875rem;font-weight:600}.mobile-history-header strong>small{color:var(--mobile-secondary);font-size:.6875rem;font-weight:400}.mobile-history-header>small{color:var(--mobile-secondary);font-variant-numeric:tabular-nums;font-size:.6875rem}.mobile-date-select{min-width:0;max-width:min(45vw,180px);min-height:44px;color:var(--mobile-secondary);background:0 0;border:0;border-radius:8px;padding:0 4px;font-size:16px}.mobile-track-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.mobile-track-group{min-width:0}.mobile-track-group>:is(h3,h4){color:var(--mobile-secondary);margin:0;padding:10px 7px 4px;font-size:.6875rem;font-weight:500}.mobile-track-row{border:.75px solid #0000;border-radius:13px;grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;gap:6px;margin:3px 0;padding:0 4px 0 0;display:grid}.mobile-track-row[data-selected=true]{background:var(--mobile-selected);border-color:#0a8cf070}.mobile-track-row[data-selected=false]{grid-template-columns:minmax(0,1fr)}.mobile-track-select{min-width:0;min-height:60px;color:var(--mobile-text);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:3px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.mobile-track-select :is(strong,span){font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;font-size:.8125rem;line-height:1.5}.mobile-track-select strong{font-weight:600}.mobile-track-select small{color:var(--mobile-secondary);overflow-wrap:anywhere;flex-basis:100%;font-size:.6875rem;line-height:1.5;display:block}.mobile-track-accent{background:var(--mobile-blue);opacity:.35;border-radius:3px;align-self:stretch}.mobile-track-row[data-selected=true] .mobile-track-accent{opacity:1}.mobile-track-copy{gap:2px;display:grid}.mobile-track-copy>span{color:var(--mobile-secondary);flex-wrap:wrap;gap:2px 10px;display:flex}.mobile-track-copy>span>span{font-size:.6875rem}.mobile-track-copy>span>.mobile-track-state{color:var(--mobile-blue);font-weight:600}.mobile-track-select>svg{width:14px;height:14px;color:var(--mobile-secondary)}.mobile-track-recording{background:var(--mobile-green);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:7px;display:inline-block}.mobile-track-play{width:44px;min-height:44px;color:var(--mobile-blue);background:0 0;border:0;border-radius:12px;align-self:center;place-items:center;padding:0;display:grid}.mobile-track-play>svg{box-sizing:content-box;background:var(--mobile-selected);border:.8px solid #0a8cf070;border-radius:10px;width:15px;height:15px;padding:9px}.mobile-track-play>span{display:none}.mobile-track-play:disabled{opacity:1;color:var(--mobile-secondary)}.mobile-track-play[data-state=loading]>svg{animation:.8s linear infinite mobile-track-loading}.mobile-track-play[data-state=error]{color:var(--mobile-danger)}@keyframes mobile-track-loading{to{transform:rotate(360deg)}}.mobile-track-list>button,.mobile-history-panel>button{width:100%;min-height:48px;color:var(--mobile-blue);background:0 0;border:0;padding:8px;font-size:.8125rem}.mobile-history-panel .replay-status{max-width:none;color:var(--mobile-secondary);flex:none;margin:4px 5px;font-size:.6875rem;line-height:1.5}.mobile-dashboard .empty-block{border-color:var(--mobile-border);margin:12px 2px;padding:20px 12px;font-size:.8125rem;line-height:1.5}.mobile-replay{min-width:0;padding:0 0 3px}.mobile-replay-heading{flex-wrap:wrap;align-items:center;gap:2px 8px;min-height:44px;display:flex}.mobile-replay-heading>strong{flex:auto;min-width:0;font-size:.8125rem;font-weight:600}.mobile-replay-heading>small{color:var(--mobile-secondary);font-size:.6875rem}.mobile-replay-heading>button{min-width:44px;min-height:44px;color:var(--mobile-secondary);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 6px;font-size:.75rem;display:flex}.mobile-replay-heading>button:first-child{text-align:left;flex:1 1 0;justify-content:flex-start}.mobile-replay-heading>button:first-child>svg{color:var(--mobile-blue)}.mobile-replay-controls{grid-template-columns:44px minmax(0,1fr) 58px 44px;align-items:center;gap:0 8px;min-width:0;display:grid}.mobile-replay-controls button{width:44px;min-height:44px;color:var(--mobile-blue);background:0 0;border:0;border-radius:10px;flex:0 0 44px;place-items:center;padding:0;display:grid}.mobile-replay-controls button>svg{width:19px;height:19px}.mobile-replay-controls .mobile-replay-play>svg{box-sizing:content-box;background:var(--mobile-selected);border:.8px solid #0a8cf070;border-radius:10px;width:17px;height:17px;padding:8px}.mobile-replay-controls input[type=range]{width:100%;min-width:0;height:44px;accent-color:var(--mobile-blue);touch-action:none;cursor:pointer;margin:0}.mobile-replay-heading time{font-variant-numeric:tabular-nums;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:500}.mobile-replay-readout{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;gap:2px;min-width:78px;padding:4px 0;line-height:1.3;display:grid}.mobile-replay-readout>span{color:var(--mobile-secondary);font-size:.6875rem}.mobile-replay-controls select{width:58px;min-height:44px;color:var(--mobile-secondary);background:0 0;border:0;border-radius:8px;flex:none;padding:0 2px;font-size:16px}.mobile-replay>small{color:var(--mobile-secondary);overflow-wrap:anywhere;margin:1px 6px 5px;font-size:.6875rem;line-height:1.5;display:block}.app-shell .map-controls{z-index:3;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute}.app-shell .map-controls .map-tool-controls,.app-shell .map-controls .amap-zoom-controls{flex:none;position:static}.app-shell>.map-stage>.map-controls{top:var(--mobile-tools-top,calc(var(--mobile-safe-top,env(safe-area-inset-top,0px)) + 7px));right:calc(var(--mobile-viewport-right,0px) + max(10px, var(--mobile-safe-right,env(safe-area-inset-right,0px))))}.app-shell .map-tool-controls{border-color:var(--mobile-border);background:var(--mobile-surface);-webkit-backdrop-filter:blur(18px);border-radius:12px}.app-shell .map-tool-controls button{width:44px;min-height:44px;color:var(--mobile-text)}.app-shell .map-tool-controls button[aria-pressed=true]{color:var(--mobile-blue)}.app-shell .amap-zoom-controls{background:var(--mobile-surface);border-color:var(--mobile-border);border-radius:12px}.app-shell .amap-zoom-controls button{width:44px;height:44px;color:var(--mobile-text)}.app-shell .amap-zoom-controls button:hover{background:var(--mobile-group)}.app-shell[data-compact-map=true]>.map-stage>.map-controls,.app-shell .fence-map .map-controls{flex-direction:row}.app-shell[data-compact-map=true]>.map-stage>.map-controls{top:calc(var(--mobile-viewport-top,0px) + var(--mobile-header-height,84px) + 8px)}.app-shell[data-compact-map=true]>.map-stage>.map-controls>div,.app-shell .fence-map .map-controls>div{display:flex}.app-shell>.map-stage>.map-controls>.amap-zoom-controls,.app-shell .fence-map .map-controls>.amap-zoom-controls{display:none}.app-shell[data-compact-map=true]>.map-stage>.map-controls button+button,.app-shell .fence-map .map-controls button+button{border-top:0;border-left:1px solid var(--mobile-border)}.app-shell .fence-map .map-controls{top:auto;bottom:12px;right:10px}.app-shell>.map-stage>.amap-host .amap-logo,.app-shell>.map-stage>.amap-host .amap-copyright{bottom:calc(var(--mobile-viewport-bottom,0px) + var(--mobile-dock-height,156px) + 4px)!important}.app-shell .map-error{width:min(340px,100% - 40px);font-size:.8125rem;line-height:1.6}.app-shell .map-loading{font-size:.8125rem}.app-shell .amap-host{background:var(--mobile-group)}.app-shell .amap-device-label{border:.75px solid var(--mobile-border);background:var(--mobile-surface);color:var(--mobile-text);border-radius:10px;font-size:.6875rem;line-height:1.45}.app-shell .toast{z-index:20;top:calc(var(--mobile-viewport-top,0px) + var(--mobile-header-height,84px) + 8px);bottom:auto;left:calc(var(--mobile-viewport-left,0px) + var(--mobile-viewport-width,100%) / 2);width:min(520px, calc(var(--mobile-viewport-width,100%) - 32px));gap:8px;padding:9px 8px 9px 12px;font-size:.8125rem;line-height:1.5;position:absolute}.app-shell .toast>span{flex-shrink:0}.app-shell .toast>button{flex-shrink:0;min-width:44px;min-height:44px;padding:0}.app-shell .modal-backdrop{padding:calc(var(--mobile-viewport-top,0px) + max(8px, var(--mobile-safe-top,env(safe-area-inset-top,0px)))) var(--mobile-viewport-right,0px) var(--mobile-viewport-bottom,0px) var(--mobile-viewport-left,0px);background:#0005;align-items:end;position:absolute}.app-shell .modal{width:100%;min-width:0;max-width:560px;max-height:calc(var(--mobile-viewport-height,100dvh) - max(8px, var(--mobile-safe-top,env(safe-area-inset-top,0px))));padding:16px max(16px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) calc(20px + var(--mobile-safe-bottom,env(safe-area-inset-bottom,0px))) max(16px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));overscroll-behavior:contain;border:.75px solid var(--mobile-border);background:var(--mobile-surface);color:var(--mobile-text);-webkit-overflow-scrolling:touch;border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;margin:0 auto;scroll-padding-block:80px 24px;display:flex;overflow:hidden}.app-shell .modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;scroll-padding-block:8px 24px;overflow-y:auto}.viewport-diagnostics button{border:1px solid var(--mobile-border);background:var(--mobile-raised);min-height:44px;color:var(--mobile-text);border-radius:10px;padding:8px 12px}.viewport-diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--mobile-group);border-radius:10px;max-height:240px;padding:10px;font-size:11px;overflow:auto}.app-shell .modal-body :is(button,input,select,summary):focus-visible{outline-offset:-3px}.app-shell .modal-heading{background:var(--mobile-surface);flex:none;align-items:center;gap:8px;margin:-8px 0 10px;padding:8px 0;position:relative}.app-shell .modal-heading>div{min-width:0}.app-shell .modal-heading h2{overflow-wrap:anywhere;font-size:1.25rem;line-height:1.35}.app-shell .modal-heading small{font-size:.75rem;line-height:1.5}.app-shell .modal-heading>button{width:44px;height:44px;color:var(--mobile-secondary);background:var(--mobile-group);border-radius:50%;flex:0 0 44px}.app-shell .device-info-dialog .modal-heading small{color:var(--mobile-secondary);font-size:.875rem}.app-shell .device-info-dialog .device-info-summary>div,.app-shell .device-info-dialog .sensor-state-grid article{border-color:var(--mobile-border);background:var(--mobile-group)}.app-shell .device-info-dialog .device-info-summary span,.app-shell .device-info-dialog .sensor-state-grid span,.app-shell .device-info-dialog .sensor-state-time,.app-shell .device-info-dialog .device-event-list article span,.app-shell .device-info-dialog .device-event-list article time,.app-shell .device-info-dialog .device-event-list>p{font-size:.875rem}.app-shell .device-info-dialog .sensor-state-grid strong,.app-shell .device-info-dialog .device-event-list article strong{font-size:.9375rem}.app-shell .device-info-dialog .device-event-list article{background:var(--mobile-group)}.app-shell .device-info-dialog .device-events-heading button,.app-shell .device-info-dialog .device-event-list>button{border-color:var(--mobile-border);min-height:44px;color:var(--mobile-blue);background:0 0;font-size:.875rem}.app-shell .account-settings-backdrop{background:#000000d1;align-items:stretch;padding:0}.app-shell .account-settings-modal{--settings-blue:#168bff;--settings-danger:#ff4d57;--settings-line:#ffffff1b;--settings-muted:#8e96a2;width:100%;max-width:560px;height:var(--mobile-viewport-height,100dvh);color:#f7f8fa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#080b10;border:0;border-radius:0;max-height:none;margin:0 auto;padding:0}.app-shell .account-settings-heading{z-index:1;min-height:104px;padding:calc(var(--mobile-safe-top,env(safe-area-inset-top,0px)) + 30px) max(18px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) 20px max(24px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));background:#080b10;border:0;margin:0}.app-shell .account-settings-heading h2{color:#fff;letter-spacing:-.04em;font-size:2rem;font-weight:760;line-height:1.15}.app-shell .account-settings-heading>button{color:#6f7782;background:0 0;border:0;flex:0 0 44px;place-items:center;width:44px;height:44px;margin-right:-10px;display:grid}.app-shell .account-settings-heading>button svg{width:20px;height:20px}.app-shell .account-settings-body{padding:0 max(24px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) calc(28px + var(--mobile-safe-bottom,env(safe-area-inset-bottom,0px))) max(24px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));background:#080b10;display:block}.app-shell .settings-appearance-section{border-bottom:1px solid var(--settings-line)}.app-shell .settings-appearance-row,.app-shell .settings-row{justify-content:space-between;align-items:center;gap:16px;min-height:82px;display:flex}.app-shell .settings-row-leading{align-items:center;gap:15px;min-width:0;display:flex}.app-shell .settings-row-leading svg,.app-shell .settings-row-icon svg{width:25px;height:25px;color:var(--settings-blue);flex:0 0 25px}.app-shell .settings-row-leading strong{color:#f7f8fa;white-space:nowrap;font-size:.96875rem;font-weight:620}.app-shell .settings-segmented{background:#171c24;border:1px solid #ffffff0e;border-radius:9px;flex:0 0 204px;grid-template-columns:repeat(3,1fr);height:40px;padding:2px;display:grid}.app-shell .settings-segmented button{color:#8f97a2;background:0 0;border:0;border-radius:7px;min-width:0;min-height:34px;padding:0 4px;font-size:.8125rem;font-weight:600}.app-shell .settings-segmented button[aria-pressed=true]{background:var(--settings-blue);color:#fff;box-shadow:0 2px 10px #168bff4d}.app-shell .settings-appearance-section>.form-note{color:var(--settings-danger);margin:-9px 0 12px 40px}.app-shell .account-settings-content{display:block}.app-shell .account-profile-row{border-bottom:1px solid var(--settings-line)}.app-shell .settings-row-icon{flex:0 0 25px;place-items:center;display:grid}.app-shell .account-profile-copy{flex:auto;min-width:0;display:block}.app-shell .account-profile-copy strong{color:#f7f8fa;text-overflow:ellipsis;white-space:nowrap;font-size:.96875rem;font-weight:620;display:block;overflow:hidden}.app-shell .account-panel .account-signout{min-width:54px;min-height:44px;color:var(--settings-blue);background:0 0;border:0;flex:none;padding:0 0 0 12px;font-size:.875rem;font-weight:600}.app-shell .settings-section{border-top:1px solid var(--settings-line);margin-top:24px}.app-shell .settings-section-heading{border-bottom:1px solid var(--settings-line);justify-content:space-between;align-items:center;gap:12px;min-height:70px;display:flex}.app-shell .settings-section-title{align-items:center;gap:15px;min-width:0;display:flex}.app-shell .settings-section-title svg{width:25px;height:25px;color:var(--settings-blue);flex:0 0 25px}.app-shell .settings-section-heading h3{color:#f7f8fa;margin:0;font-size:1rem;font-weight:660;line-height:1.4}.app-shell .settings-count{color:var(--settings-muted);font-size:.8125rem;font-weight:600}.app-shell .account-bind-control{border-bottom:1px solid var(--settings-line);align-items:center;gap:10px;min-width:0;min-height:62px;display:flex}.app-shell .account-bind-control input{outline-offset:-2px;color:#f7f8fa;background:0 0;border:0;border-radius:0;flex:auto;width:100%;min-width:0;min-height:44px;margin:0;padding:8px 0;font-size:16px}.app-shell .account-bind-control input::placeholder{color:#6e7682;opacity:1}.app-shell .account-panel .account-bind-control button{min-width:52px;min-height:44px;color:var(--settings-blue);background:0 0;border:0;flex:none;padding:0;font-size:.875rem;font-weight:650}.app-shell .account-panel .account-bind-control button:disabled{color:#56606c;opacity:1;background:0 0}.app-shell .account-device-list{margin:0;display:block}.app-shell .account-device-row{border-bottom:1px solid var(--settings-line);background:0 0;grid-template-columns:38px minmax(0,1fr) auto 16px;align-items:center;gap:12px;min-height:82px;padding:0;display:grid}.app-shell .settings-device-icon{color:#d7ebff;background:#168bff14;border:1px solid #168bff57;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.app-shell .settings-device-icon svg{width:20px;height:20px}.app-shell .account-device-copy{gap:3px;min-width:0;display:grid}.app-shell .account-device-row strong{color:#f7f8fa;text-overflow:ellipsis;white-space:nowrap;font-size:.90625rem;font-weight:620;overflow:hidden}.app-shell .account-device-row small{color:var(--settings-muted);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.app-shell .account-panel .account-device-row button{min-width:48px;min-height:44px;color:var(--settings-danger);background:0 0;border:0;padding:0;font-size:.8125rem;font-weight:600}.app-shell .account-panel .account-device-row .account-device-rename{min-width:44px;color:var(--mobile-blue)}.app-shell .account-device-row .account-device-editor{grid-column:2/-1;width:100%;padding:0 0 10px}.app-shell .account-device-row .account-device-editor button{min-width:44px;color:var(--mobile-blue)}.app-shell .account-device-chevron{color:#555e69;width:15px;height:15px}.app-shell .account-message{color:#ff858b;background:#ff4d5712;border:1px solid #ff4d5733;border-radius:9px;margin:10px 0;padding:9px 11px;font-size:.75rem;line-height:1.5}.app-shell .account-device-list>.form-note{min-height:62px;color:var(--settings-muted);margin:0;padding:20px 0}.app-shell .account-notifications-section{margin-top:28px}.app-shell .account-notifications-section .support-section{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.app-shell .settings-disclosure{border-bottom:1px solid var(--settings-line);overflow:clip}.app-shell .settings-disclosure>summary{color:#f7f8fa;justify-content:space-between;align-items:center;gap:10px;min-height:70px;padding:0;list-style:none;display:flex}.app-shell .settings-disclosure>summary::-webkit-details-marker{display:none}.app-shell .settings-summary-copy{flex:auto;min-width:0;display:grid}.app-shell .settings-summary-copy strong{font-size:.9375rem;font-weight:580;line-height:1.4}.app-shell .settings-summary-trailing{flex:none;align-items:center;gap:5px;display:flex}.app-shell .settings-summary-state{color:var(--settings-muted);white-space:nowrap;font-size:.75rem;font-weight:540}.app-shell .settings-summary-chevron{color:#59626d;width:15px;height:15px;transition:transform .18s}.app-shell details[open]>summary .settings-summary-chevron{transform:rotate(90deg)}.app-shell .settings-disclosure-body{color:var(--settings-muted);background:#0e131a;border:1px solid #ffffff12;border-radius:10px;margin:0 0 12px;padding:14px}.app-shell .settings-disclosure-body>:first-child{margin-top:12px}.app-shell .settings-disclosure-body>:last-child{margin-bottom:0}.app-shell .account-notifications-section .support-section button{min-height:42px;color:var(--settings-blue);background:#171d26;border-color:#ffffff1a;border-radius:9px;font-size:.8125rem}.app-shell .account-notifications-section .support-actions{gap:8px}.app-shell .account-notifications-section .support-actions button{flex:120px}.app-shell .modal label{min-width:0;font-size:.8125rem;line-height:1.5}.app-shell .modal input:not([type=checkbox]),.app-shell .modal select{border-color:var(--mobile-border);background:var(--mobile-raised);width:100%;min-width:0;min-height:44px;color:var(--mobile-text);border-radius:10px;padding:10px 11px;font-size:16px}.app-shell .account-settings-modal .account-bind-control input{color:#f7f8fa;background:0 0;border:0;border-radius:0;padding:8px 0}.app-shell .toggle-row{background:var(--mobile-raised);gap:12px;min-height:52px}.app-shell .toggle-row strong{font-size:.8125rem}.app-shell .toggle-row>span{flex:auto;min-width:0}.app-shell .toggle-row input[type=checkbox]{width:44px;height:28px;accent-color:var(--mobile-blue);flex-shrink:0}.app-shell .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));gap:0 12px}.app-shell .form-note{color:var(--mobile-secondary);overflow-wrap:anywhere;font-size:.75rem;line-height:1.7}.app-shell .primary-action{border-color:var(--mobile-blue);background:var(--mobile-blue);color:#fff;border-radius:12px;min-height:48px;font-size:16px}.app-shell .control-report{border-color:var(--mobile-border);background:var(--mobile-border);grid-template-columns:repeat(auto-fit,minmax(min(90px,100%),1fr))}.app-shell .control-report span{background:var(--mobile-raised);min-width:0;font-size:.6875rem}.app-shell .control-report strong{overflow-wrap:anywhere;font-size:.75rem}.app-shell .mobile-status-message{color:var(--mobile-secondary);white-space:pre-line;overflow-wrap:anywhere;margin:10px 0 0;font-size:.875rem;line-height:1.8}.app-shell .mobile-status-dialog p{color:var(--mobile-secondary);font-size:.875rem;line-height:1.8}.app-shell .fence-dialog{inset:auto;top:var(--mobile-viewport-top,0px);left:var(--mobile-viewport-left,0px);width:var(--mobile-viewport-width,100%);max-width:none;height:var(--mobile-viewport-height,100dvh);background:var(--mobile-group);max-height:none;color:var(--mobile-text);border:0;border-radius:0;margin:0;position:fixed}.app-shell .fence-dialog[open]{flex-direction:column;display:flex}.app-shell .fence-heading{padding:calc(var(--mobile-safe-top,env(safe-area-inset-top,0px)) + 25px) max(12px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) 8px max(16px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));border-color:var(--mobile-border);background:var(--mobile-surface);flex:none;gap:8px}.app-shell .fence-heading>div{min-width:0}.app-shell .fence-heading h2{overflow-wrap:anywhere;margin-top:3px;font-size:1rem;line-height:1.5}.app-shell .fence-heading>button{background:var(--mobile-group);width:44px;height:44px;color:var(--mobile-secondary);flex:0 0 44px}.app-shell .fence-mobile-actions{padding:6px max(12px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) 6px max(12px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));border-bottom:.75px solid var(--mobile-border);background:var(--mobile-surface);flex:none;gap:8px;display:flex}.fence-mobile-actions button{background:var(--mobile-selected);min-width:0;min-height:44px;color:var(--mobile-blue);border:0;border-radius:10px;flex:1 1 0;padding:5px 3px;font-size:.8125rem;line-height:1.4}.app-shell .fence-layout{height:auto;min-height:0;padding-bottom:var(--mobile-safe-bottom,env(safe-area-inset-bottom,0px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;scroll-padding-block:8px 24px;display:flex;overflow-y:auto}.app-shell .fence-sidebar{padding:16px max(16px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) 24px max(16px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));background:var(--mobile-surface);border:0;flex:none;order:2;overflow:visible}.app-shell .fence-workspace{flex:none;order:1;overflow:visible}.app-shell .fence-map{flex:none;height:clamp(220px,40dvh,380px);min-height:220px}.app-shell .fence-map.is-editing{height:clamp(320px,54dvh,480px);min-height:320px}.app-shell .fence-map-hint{background:var(--mobile-surface);color:var(--mobile-text);padding:8px 10px;font-size:.75rem;line-height:1.5;top:8px;left:10px;right:60px}.app-shell .fence-map .amap-marker-label{border:.75px solid var(--mobile-border);background:var(--mobile-surface);color:var(--mobile-text);border-radius:7px;padding:4px 7px;font-size:.75rem;font-weight:600;line-height:1.4;box-shadow:0 2px 6px #00000026}.app-shell .fence-editor{padding:16px max(16px, var(--mobile-safe-right,env(safe-area-inset-right,0px))) 16px max(16px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));border-color:var(--mobile-border);background:var(--mobile-surface)}.app-shell .fence-editor label{font-size:.8125rem;line-height:1.5}.app-shell .fence-editor input:not([type=checkbox]){border-color:var(--mobile-border);background:var(--mobile-raised);border-radius:10px;min-height:44px;padding:10px;font-size:16px}.app-shell .fence-coordinate-fields{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px}.app-shell .fence-actions{flex-wrap:wrap}.app-shell .fence-actions button,.app-shell .fence-history>button,.app-shell .fence-vertices button,.app-shell .fence-error button{border-color:var(--mobile-border);background:var(--mobile-raised);min-height:44px;color:var(--mobile-text);border-radius:10px;padding:9px 12px;font-size:.8125rem}.app-shell .fence-editor .primary-action{background:var(--mobile-blue);border-color:var(--mobile-blue);color:#fff}.app-shell .fence-select{border-color:var(--mobile-border);background:var(--mobile-raised);min-height:64px;color:var(--mobile-text);padding:10px 12px}.app-shell .fence-select strong{font-size:.9375rem}.app-shell .fence-select-chevron{color:var(--mobile-blue);font-size:1.75rem}.app-shell .fence-select-meta{color:var(--mobile-blue);overflow-wrap:anywhere;font-size:.75rem;line-height:1.5}.app-shell .fence-history small,.app-shell .fence-card>small{color:var(--mobile-secondary);overflow-wrap:anywhere;font-size:.6875rem;line-height:1.6}.app-shell .fence-card{border-color:var(--mobile-border);border-radius:14px}.app-shell .fence-card.selected{background:var(--mobile-selected);border-color:#0a8cf070}.app-shell .fence-card>p,.app-shell .fence-history strong{font-size:.8125rem}.app-shell .fence-vertices{color:var(--mobile-secondary);font-size:.8125rem}.app-shell .fence-vertices strong{color:var(--mobile-text)}.app-shell .fence-warning{color:var(--mobile-warning);font-size:.75rem}.app-shell .fence-error{font-size:.8125rem}}@media (max-width:767px) and (prefers-color-scheme:dark),(max-width:1024px) and (max-height:500px) and (prefers-color-scheme:dark){html:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mobile-text:#f3f4f5;--mobile-secondary:#a1a7af;--mobile-surface:#1a1d21fa;--mobile-chrome:#1a1d21;--mobile-raised:#252a30;--mobile-group:#111418;--mobile-border:#ffffff29;--mobile-selected:#0a8cf021;--mobile-green:#50c878;--mobile-warning:#ffbd57;--mobile-danger:#ff696c}.app-shell .mobile-tool>svg{background:#ffffff05}.app-shell .mobile-connection-status>span{box-shadow:0 0 0 2px #1a1d2170}.app-shell .map-error{color:#ffd4b2;background:#36271ef5;border-color:#ac703d}.app-shell .toast{color:#ffd6b8;background:#34271e;border-color:#88552d}.app-shell .fence-error{color:#ffb7b7;background:#482126}.app-shell .route-time-bubble{background:var(--mobile-surface);border-color:var(--mobile-border);color:var(--mobile-text)}}@media (max-width:350px){.app-shell .account-settings-heading{padding-left:max(18px, var(--mobile-safe-left,env(safe-area-inset-left,0px)))}.app-shell .account-settings-heading h2{font-size:1.75rem}.app-shell .account-settings-body{padding-right:max(18px, var(--mobile-safe-right,env(safe-area-inset-right,0px)));padding-left:max(18px, var(--mobile-safe-left,env(safe-area-inset-left,0px)))}.app-shell .settings-appearance-row,.app-shell .settings-row-leading{gap:10px}.app-shell .settings-row-leading svg{flex-basis:22px;width:22px;height:22px}.app-shell .settings-segmented{flex-basis:178px}.app-shell .account-device-row{grid-template-columns:34px minmax(0,1fr) auto 13px;gap:8px}.app-shell .settings-device-icon{width:33px;height:33px}.app-shell .account-panel .account-device-row button{min-width:43px}}@media (max-width:767px) and (orientation:landscape),(max-width:1024px) and (max-height:500px) and (orientation:landscape){.app-shell .mobile-dashboard{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) min(360px,50%);align-items:start}.app-shell .mobile-dock{width:100%;max-height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-safe-top,env(safe-area-inset-top,0px)) - 8px);padding-left:8px;padding-right:max(8px, var(--mobile-safe-right,env(safe-area-inset-right,0px)));grid-area:1/2;align-self:end}.app-shell .mobile-dock[data-expanded=true][data-mode=history]{height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-safe-top,env(safe-area-inset-top,0px)) - 8px);min-height:0}.app-shell .mobile-header{grid-column:1;max-width:100%}.app-shell .mobile-device-picker{max-width:100%}.app-shell .mobile-device-picker select{max-width:min(22vw,160px)}.app-shell>.map-stage>.map-controls{right:auto;left:max(10px, var(--mobile-safe-left,env(safe-area-inset-left,0px)));align-items:flex-start}.app-shell>.map-stage>.amap-host .amap-logo,.app-shell>.map-stage>.amap-host .amap-copyright{bottom:max(4px, var(--mobile-safe-bottom,env(safe-area-inset-bottom,0px)))!important}.app-shell>.map-stage>.amap-host .amap-copyright{max-width:calc(50% - 100px);right:calc(min(360px,50%) + 8px)!important}.app-shell .mobile-date-select{max-width:155px}.app-shell .modal-backdrop{padding:0}.app-shell .modal{max-height:var(--mobile-viewport-height,100dvh);border-radius:16px 16px 0 0}.app-shell .fence-map{height:240px}.app-shell .fence-map.is-editing{height:320px}}@media (prefers-reduced-motion:reduce){.mobile-dashboard *,.fence-dialog *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--ink:#132d2d;--muted:#688080;--line:#dce6e3;--paper:#f6f8f5;--panel:#fffffff0;--green:#136c5a;--mint:#dff3e9;--orange:#e77731;--position-blue:#0a7ae0;--route-blue:#28f;--route-completed:#af5}*{box-sizing:border-box}html,body{min-height:100%;margin:0}button,input,select{font:inherit}button{cursor:pointer}body{background:var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.app-shell{background:#edf2ef;grid-template-rows:76px minmax(0,1fr);grid-template-columns:276px minmax(0,1fr) 346px;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#f9fbf9f5;grid-column:1/-1;align-items:center;gap:12px;padding:0 22px;display:flex}.brand-copy{min-width:0}.brand-mark{color:#fff;background:var(--ink);border-radius:13px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.topbar h1,.detail-panel h2,.device-rail h2{letter-spacing:-.02em;margin:0;font-size:18px}.connection-pill{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.connection-pill span,.device-dot,.pulse-dot{background:#8ca09b;border-radius:50%;width:8px;height:8px}.connection-pill.connected span,.device-dot.online,.pulse-dot{background:#2cb67d;box-shadow:0 0 0 4px #2cb67d1f}.header-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:750}.header-button:hover{background:#f4faf7;border-color:#a9c7bd}.header-button:disabled{cursor:default;opacity:.5}.device-rail,.detail-panel{background:var(--panel);padding:20px;overflow:auto}.device-rail{border-right:1px solid var(--line)}.detail-panel{border-left:1px solid var(--line)}.device-list{min-height:0}.rail-heading,.device-title-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.count-badge,.online-badge{background:var(--mint);color:var(--green);border-radius:8px;padding:5px 8px;font-size:11px;font-weight:800}.device-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:8px;padding:13px 10px;display:grid}.device-item:hover,.device-item.active{background:#eff8f4;border-color:#bad5cc}.device-item span:nth-child(2){min-width:0}.device-item strong,.device-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.device-item strong{font-size:13px}.device-item small{color:var(--muted);margin-top:3px;font-size:10px}.battery-mini{color:var(--green);font-size:11px;font-weight:800}.battery-mini.muted{color:#9ba6a3}.battery-gauge{color:var(--green);align-items:center;gap:2px;display:inline-flex}.battery-body{border:1px solid;border-radius:4px;grid-template-columns:repeat(5,4px);gap:2px;margin:0;padding:2px;display:grid}.battery-cell{opacity:.12;background:currentColor;border-radius:1px;width:4px;height:10px;margin:0;display:block}.battery-cell.filled{opacity:.9}.battery-cap{background:currentColor;border-radius:0 2px 2px 0;width:2px;height:7px;margin:0;display:block}.battery-gauge.charging{color:#32d74b}.battery-bolt{clip-path:polygon(57% 0,8% 56%,43% 56%,33% 100%,94% 38%,58% 38%,70% 0);background:currentColor;flex:none;width:10px;height:16px;margin:0 0 0 2px;display:block}.mobile-configured-battery{white-space:nowrap;gap:2px}.mobile-configured-battery .battery-body.continuous{box-sizing:border-box;border:1.25px solid;border-radius:4px;place-items:center;width:34px;height:17px;padding:0;display:grid;position:relative;overflow:hidden}.mobile-configured-battery .battery-fill-track{border-radius:2px;position:absolute;inset:2px;overflow:hidden}.mobile-configured-battery .battery-fill{opacity:.9;background:currentColor;border-radius:2px;max-width:100%;height:100%;margin:0;display:block}.mobile-configured-battery .battery-body.segmented{border-width:1.25px;grid-template-columns:repeat(5,4px);padding:2px}.mobile-configured-battery .battery-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-left:3px;font-size:11px;font-weight:800}.mobile-configured-battery .battery-value-inside{z-index:1;color:currentColor;text-align:center;place-items:center;width:auto;margin-left:0;font-size:9px;line-height:1;display:grid;position:absolute;inset:0}.mobile-configured-battery .battery-value-inside.on-fill{color:#fff;text-shadow:0 1px 1px #0006}.battery-reading{align-items:center;gap:7px;display:flex!important}.status-card .battery-gauge,.status-card .battery-gauge span{margin-bottom:0}.good{color:var(--green)!important}.warning{color:#bd7918!important}.danger{color:#c93c34!important}.muted{color:#94a19e!important}.rail-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:20px;padding:12px 2px;font-size:10px;display:flex}.rail-footer strong{color:var(--green)}.empty-block{color:var(--muted);text-align:center;border:1px dashed #c8d8d3;border-radius:14px;flex-direction:column;gap:4px;padding:24px 14px;font-size:11px;display:flex}.empty-block strong{color:var(--ink)}.empty-block.compact{padding:12px}.map-stage{background:#e3ebe6;min-height:620px;position:relative;overflow:hidden}.amap-host{z-index:0;background:#e3ebe6;font-family:inherit;position:absolute;inset:0}.tracker-marker-wrap{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;display:flex}.amap-device-label{background:var(--ink);color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;width:max-content;max-width:180px;padding:5px 8px;font-size:10px;font-weight:700;overflow:hidden;box-shadow:0 6px 16px #132d2d33}.tracker-marker{background:var(--green);border:4px solid #fff;border-radius:50% 50% 50% 0;width:24px;height:24px;display:block;position:relative;transform:rotate(-45deg);box-shadow:0 5px 16px #132d2d4d}.tracker-marker:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;left:5px}.tracker-marker.selected{background:var(--position-blue);width:28px;height:28px}.tracker-marker.selected:after{width:7px;height:7px;top:6px;left:6px}.tracker-marker.rough{background:#e99a55;border-style:dashed}.amap-zoom-controls{z-index:3;border:1px solid var(--line);background:#fffffff2;border-radius:11px;display:grid;position:absolute;bottom:18px;right:16px;overflow:hidden;box-shadow:0 8px 24px #132d2d1f}.amap-zoom-controls button{width:36px;height:34px;color:var(--ink);background:0 0;border:0;font-size:20px;line-height:1}.amap-zoom-controls button+button{border-top:1px solid var(--line)}.amap-zoom-controls button:hover{background:#eff8f4}.map-error{z-index:4;color:#994921;text-align:center;background:#fffaf6f5;border:1px solid #e1b28d;border-radius:12px;width:min(390px,100% - 40px);padding:14px 16px;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 35px #132d2d24}.map-grid{opacity:.7;background-image:linear-gradient(32deg,#0000 44%,#fffc 45% 47%,#0000 48%),linear-gradient(120deg,#0000 45%,#ffffffbf 46% 49%,#0000 50%),repeating-linear-gradient(0deg,#0000 0 60px,#6a8a801f 61px 62px),repeating-linear-gradient(90deg,#0000 0 80px,#6a8a801f 81px 82px);position:absolute;inset:0}.track-line{background:var(--green);border-radius:8px;width:50%;height:4px;position:absolute;top:54%;left:26%;transform:rotate(-12deg);box-shadow:0 2px #fff}.map-pin{background:var(--orange);border:4px solid #fff;border-radius:50% 50% 50% 0;width:19px;height:19px;position:absolute;top:42%;left:58%;transform:rotate(-45deg);box-shadow:0 4px 16px #132d2d3d}.map-pin span{background:var(--ink);color:#fff;border-radius:7px;width:max-content;padding:6px 9px;font-size:10px;position:absolute;top:-38px;left:12px;transform:rotate(45deg)}.map-toolbar{z-index:2;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-radius:12px;padding:4px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 8px 24px #132d2d14}.map-toolbar button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px 13px;font-size:12px;font-weight:700}.map-toolbar button.active{background:var(--ink);color:#fff}.map-caption{z-index:2;border:1px solid var(--line);color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex;position:absolute;bottom:44px;left:16px}.map-caption b{color:#c76428;margin-left:4px}.track-picker{z-index:2;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-radius:14px;width:min(260px,100% - 32px);max-height:48vh;padding:12px;position:absolute;top:70px;left:16px;overflow:auto;box-shadow:0 14px 38px #132d2d24}.track-picker>button{text-align:left;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:9px;grid-template-columns:1fr auto;gap:2px 10px;margin-top:6px;padding:9px;display:grid}.track-picker>button:hover,.track-picker>button.active{background:#eff8f4;border-color:#bad5cc}.track-picker>button span,.track-picker>button strong{font-size:11px}.track-picker>button small{color:var(--muted);grid-column:1/-1;font-size:9px}.route-marker-wrap{cursor:default;place-items:center;width:26px;height:26px;display:grid;position:relative}.route-marker-wrap:focus-visible{outline:2px solid var(--route-blue);outline-offset:2px;border-radius:50%}.route-direction-time{cursor:help}.route-endpoint-wrap{width:24px;height:24px}.route-endpoint{background:var(--route-blue);border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 1px 2px #0000002e}.route-endpoint.start{border-color:var(--route-blue);background:#fff}.route-replay-wrap{z-index:1;cursor:help;width:32px;height:32px}.route-replay-cursor{width:32px;height:32px;color:var(--route-blue);transform-origin:50%;filter:drop-shadow(0 1px 2px #0000004d);pointer-events:none;display:block}.route-replay-cursor svg{width:100%;height:100%;display:block}.route-time-bubble{width:max-content;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;pointer-events:none;opacity:0;transform-origin:bottom;background:#fffffff0;border:.5px solid #ffffffa6;border-radius:6px;gap:2px;padding:4px 7px;font:600 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .12s ease-out,transform .12s ease-out;display:grid;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)scale(.92);box-shadow:0 2px 5px #00000038}.route-marker-wrap:hover .route-time-bubble,.route-marker-wrap:focus .route-time-bubble{opacity:1;transform:translate(-50%)scale(1)}.replay-panel{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;border:1px solid #c2d3cdf0;border-radius:16px;width:min(680px,100% - 104px);padding:12px 14px;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 16px 42px #132d2d2b}.replay-heading{align-items:center;gap:12px;min-width:0;margin-bottom:9px;display:flex}.replay-heading>strong{font-size:12px}.replay-heading>small{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:10px}.replay-panel-toggle{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);background:#fff;border-radius:9px;flex:none;font-size:17px;font-weight:800}.replay-legend{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.replay-legend i{background:var(--route-blue);border-radius:999px;width:25px;height:3px;display:block}.replay-legend.completed i{background:var(--route-completed)}.replay-controls{align-items:center;gap:8px;display:flex}.replay-controls button,.replay-controls select{border:1px solid var(--line);height:32px;color:var(--ink);background:#fff;border-radius:9px;flex:none;font-size:11px;font-weight:800}.replay-controls button{min-width:32px;padding:0 8px}.replay-controls button:hover,.replay-controls select:hover{background:#f3faf7;border-color:#9dc2b6}.replay-controls .replay-play{border-color:var(--ink);background:var(--ink);color:#fff}.replay-controls input[type=range]{min-width:90px;height:5px;accent-color:var(--green);cursor:pointer;flex:auto}.replay-controls time{min-width:64px;color:var(--ink);text-align:center;flex:none;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.replay-controls select{padding:0 7px}.replay-panel.compact{align-items:center;gap:6px;padding:7px 9px;display:flex}.replay-panel.compact .replay-heading{flex:none;margin:0}.replay-panel.compact .replay-heading>:not(.replay-panel-toggle),.replay-panel.compact .replay-point-details,.replay-panel.compact .replay-secondary{display:none}.replay-panel.compact .replay-controls{flex:auto;min-width:0}.replay-panel.compact .replay-play{min-width:36px;display:inline-block}.device-title-row h2{font-size:20px}.device-title-row>div{min-width:0}.device-title-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;display:block;overflow:hidden}.online-badge.offline{color:#7e8d89;background:#edf1ef}.status-card{border:1px solid var(--line);background:var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:1px;margin:14px 0;display:grid;overflow:hidden}.status-card div,.status-card button{color:inherit;text-align:left;background:#fff;border:0;padding:13px}.status-card button{cursor:pointer}.status-card button:hover{background:#f5faf8}.status-card span,.status-card strong{display:block}.status-card span{color:var(--muted);margin-bottom:5px;font-size:10px}.status-card strong{font-size:12px}.ok-text{color:var(--green)}.emergency-button,.schedule-button{border-radius:12px;width:100%;margin-top:8px;padding:13px;font-weight:800}.emergency-button{color:#fff;background:var(--orange);border:1px solid #d96424;box-shadow:0 8px 20px #e7773133}.emergency-button.active{background:#c8443c;border-color:#a8322d;box-shadow:0 8px 22px #c8443c38}.emergency-button:disabled,.primary-action:disabled{cursor:wait;opacity:.65}.schedule-button{color:var(--ink);border:1px solid var(--line);background:#fff}.schedule-button:hover{background:#f5faf8;border-color:#a9c7bd}.sync-line{color:var(--muted);align-items:center;gap:7px;padding:11px 3px 0;font-size:10px;display:flex}.sync-line>span{background:#d89a43;border-radius:50%;width:7px;height:7px}.sync-line>span.synced{background:#2cb67d}.position-card{background:#eef3f0;border-radius:14px;margin-top:20px;padding:15px}.position-card strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.position-card div{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.position-card div span{color:var(--muted);background:#fff;border-radius:6px;padding:5px 7px;font-size:10px}.schedule-summary{border-top:1px solid var(--line);gap:9px;margin-top:18px;padding-top:15px;display:grid}.schedule-summary div{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.schedule-summary strong{color:var(--ink)}.device-events-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.device-events-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.device-events-heading h3{margin:0;font-size:16px}.device-events-heading button,.device-event-list>button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:10px;padding:8px 11px;font-size:14px;font-weight:700}.sensor-state-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.sensor-state-grid article{border:1px solid var(--line);background:#fff;border-radius:10px;gap:2px;min-width:0;min-height:58px;padding:9px 8px;display:grid}.sensor-state-grid span{color:var(--muted);font-size:14px;line-height:1.35}.sensor-state-grid strong{overflow-wrap:anywhere;font-size:15px;line-height:1.35}.sensor-state-time{color:var(--muted);margin-top:7px;font-size:14px;line-height:1.35;display:block}.device-event-list{gap:8px;margin-top:12px;display:grid}.device-event-list article{background:#f4f7f5;border-left:4px solid #8da49c;border-radius:10px;gap:3px;padding:10px 12px;display:grid}.device-event-list article[data-tone=warning]{background:#fff8eb;border-left-color:#d48a27}.device-event-list article[data-tone=danger]{background:#fff1ef;border-left-color:#c8443c}.device-event-list article>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.device-event-list article strong,.device-event-list article span,.device-event-list article time,.device-event-list>p{overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.35}.device-event-list article span,.device-event-list article time,.device-event-list>p{color:var(--muted)}.device-event-list>button{width:100%}.detail-empty{min-height:70vh;color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.detail-empty h2{margin:14px 0 5px}.detail-empty p{max-width:220px;margin:0;font-size:12px;line-height:1.6}.toast{z-index:20;color:#8e3f1f;background:#fff8f3;border:1px solid #efc4a9;border-radius:12px;align-items:center;gap:9px;width:min(520px,100vw - 32px);padding:12px 14px;font-size:12px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #572d1829}.toast>span{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-weight:900;display:grid}.toast button{color:inherit;background:0 0;border:0;margin-left:auto;font-size:19px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a201e6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fbfdfb;border:1px solid #ffffffb3;border-radius:20px;width:min(460px,100%);max-height:calc(100vh - 36px);padding:22px;overflow:auto;box-shadow:0 28px 90px #09252147}.device-info-dialog{width:min(560px,100%)}.device-info-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.device-info-summary>div{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;min-width:0;padding:12px;display:grid}.device-info-summary span{color:var(--muted);font-size:14px;line-height:1.4}.device-info-summary strong{overflow-wrap:anywhere;font-size:16px;line-height:1.4}.device-info-dialog .device-events-panel{margin-top:16px}.modal-heading{justify-content:space-between;align-items:flex-start;margin-bottom:19px;display:flex}.modal-heading h2{margin:0;font-size:20px}.modal-heading small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.modal-heading>button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#fff;border-radius:9px;place-items:center;font-size:18px;display:grid}.modal>label,.modal-body>label,.form-grid label{color:var(--muted);gap:7px;margin-top:13px;font-size:11px;font-weight:700;display:grid}.modal input:not([type=checkbox]),.modal select{border:1px solid var(--line);width:100%;height:42px;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:0 11px}.modal input:focus,.modal select:focus{border-color:#78aa9a;box-shadow:0 0 0 3px #136c5a1a}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-note{color:var(--muted);margin:14px 0 0;font-size:10px;line-height:1.6}.primary-action{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:11px;width:100%;margin-top:16px;padding:12px;font-weight:800}.toggle-row{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex!important}.toggle-row span{gap:2px;display:grid}.toggle-row strong{color:var(--ink);font-size:12px}.toggle-row input{width:38px;height:21px;accent-color:var(--green)}.control-report{border:1px solid var(--line);background:var(--line);border-radius:11px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:15px;display:grid;overflow:hidden}.control-report span{color:var(--muted);text-align:center;background:#fff;gap:4px;padding:10px 7px;font-size:9px;display:grid}.control-report strong{color:var(--ink);font-size:10px}@media (max-width:980px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.detail-panel{border:1px solid var(--line);z-index:6;border-radius:18px;width:min(350px,100vw - 24px);max-height:65vh;position:fixed;bottom:12px;right:12px;box-shadow:0 18px 60px #132d2d2e}.replay-panel{width:min(500px,100% - 48px);left:16px;transform:none}}@media (max-width:680px){.app-shell{min-height:100vh;display:block}.topbar{height:68px;position:sticky;top:0}.brand-mark{border-radius:11px;width:36px;height:36px}.topbar h1{font-size:16px}.connection-pill{margin-left:auto;padding:8px;font-size:0}.connection-pill span{display:block}.header-button{padding:8px;font-size:10px}.device-rail{display:none}.map-stage{min-height:calc(100vh - 68px)}.detail-panel{max-height:58vh;padding:16px}.map-caption{white-space:nowrap;max-width:calc(100% - 32px);overflow:hidden}.status-card{margin:9px 0}.track-picker{max-height:34vh}.replay-panel{z-index:7;width:auto;padding:10px;bottom:12px;left:12px;right:12px}.replay-heading{gap:8px}.replay-heading>small{display:none}.replay-legend{font-size:8px}.replay-legend i{width:18px}.replay-controls{gap:5px}.replay-controls button{min-width:30px;padding:0 6px}.replay-controls time{min-width:58px;font-size:9px}}.replay-view-toggle{gap:6px;margin:8px 0;display:flex}.track-picker .replay-view-toggle button{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;padding:8px;font-size:12px}.track-picker .replay-view-toggle button[aria-pressed=true]{color:#fff;background:#173f3c;border-color:#173f3c;font-weight:700}.replay-status{color:#536173;max-width:240px;font-size:12px;line-height:1.5}.replay-point-details{color:#536173;overflow-wrap:anywhere;margin-top:8px;display:block}.fence-dialog{border:1px solid var(--line);width:min(1180px,96vw);max-width:96vw;max-height:94dvh;color:var(--ink);background:#f5f7fa;border-radius:18px;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 80px #12263b55}.fence-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10203088}.fence-heading{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.fence-heading h2{margin:4px 0 0;font-size:20px}.fence-heading>button{background:#eef2f6;border:0;border-radius:50%;width:36px;height:36px;font-size:24px}.fence-layout{grid-template-columns:340px minmax(0,1fr);height:min(760px,94dvh - 88px);display:grid}.fence-sidebar{border-right:1px solid var(--line);background:#fff;padding:18px;overflow-y:auto}.fence-notifications{border-bottom:1px solid var(--line);padding-bottom:12px}.fence-notifications .toggle-row{gap:12px}.fence-warning{color:#8c5714;font-size:11px;line-height:1.6}.fence-actions{gap:8px;margin:12px 0;display:flex}.fence-dialog button{cursor:pointer}.fence-actions button,.fence-history>button,.fence-vertices button,.fence-error button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:12px}.fence-dialog button:disabled{cursor:not-allowed;opacity:.5}.fence-card{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:12px}.fence-card.selected{background:#fffaf2;border-color:#ea8a23}.fence-select{text-align:left;background:#f8fafc;border:1px solid #dce4ec;border-radius:9px;gap:4px;width:100%;min-height:64px;padding:9px 11px;display:grid}.fence-select:hover{background:#f2f8fe;border-color:#91b9dd}.fence-select:focus-visible{outline-offset:2px;outline:3px solid #0a7ae055}.fence-select-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.fence-select strong{font-size:15px}.fence-select-chevron{color:#0a7ae0;font-size:26px;font-weight:500;line-height:.8}.fence-select-meta{color:#526579;font-size:12px;font-weight:600;line-height:1.5;display:block}.fence-history small{color:#617184;margin-top:4px;font-size:11px;display:block}.fence-card>p{margin:8px 0 4px;font-size:12px;line-height:1.6}.fence-card>small{color:#617184;font-size:11px}.fence-card .fence-actions{margin-bottom:0}.fence-history{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.fence-history h3{margin:0;font-size:15px}.fence-history article{border-left:2px solid #9cb6cb;margin-top:12px;padding:4px 0 8px 10px}.fence-history strong{font-size:12px}.fence-workspace{flex-direction:column;min-width:0;display:flex;overflow:auto}.fence-map{isolation:isolate;flex:1 0 300px;min-height:300px;position:relative}.fence-map-hint{z-index:2;pointer-events:none;background:#ffffffeb;border-radius:8px;margin:0;padding:9px 12px;font-size:12px;position:absolute;top:10px;left:12px;right:50px}.fence-map-handle{z-index:0;box-sizing:border-box;color:#fff;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px #17283f55);border:0;border-radius:50%;place-items:center;width:52px;height:52px;font:700 14px/1 system-ui,sans-serif;display:grid;position:relative}.fence-map-handle.dragging{cursor:grabbing;filter:drop-shadow(0 4px 7px #17283f77);transform:scale(1.08)}.fence-map-handle:before{content:"";z-index:-1;background:#ea8a23;border:3px solid #fff;border-radius:50%;width:34px;height:34px;position:absolute}.fence-map-handle.midpoint{color:#0000;width:40px;height:40px}.fence-map-handle.midpoint:before{background:#ffffffd9;border-width:2px;border-color:#0a7ae0;width:20px;height:20px}.fence-editor{border-top:1px solid var(--line);background:#fff;padding:16px 20px}.fence-editor label{gap:6px;font-size:12px;display:grid}.fence-editor input:not([type=checkbox]){border:1px solid var(--line);width:100%;min-width:0;color:inherit;background:#f9fafc;border-radius:7px;padding:9px}.fence-coordinate-fields{grid-template-columns:1fr 1fr 1fr;gap:10px;margin:12px 0;display:grid}.fence-editor .toggle-row{margin:12px 0;display:flex}.fence-editor .primary-action{color:#fff;background:#0a7ae0;border-color:#0a7ae0;width:auto}.fence-vertices{color:#617184;margin:12px 0;font-size:12px}.fence-vertices strong{color:var(--ink)}.fence-error{color:#9e2828;background:#fff0ef;margin:0;padding:12px 20px;font-size:13px}.fence-error button{margin-left:10px}@media (max-width:760px){.fence-dialog{width:98vw;max-width:98vw}.fence-heading{padding:12px}.fence-heading h2{font-size:16px}.fence-layout{flex-direction:column;height:calc(94dvh - 75px);display:flex;overflow:auto}.fence-sidebar{border-right:0;order:2;overflow:visible}.fence-workspace{flex-shrink:0;order:1;overflow:visible}.fence-coordinate-fields{grid-template-columns:1fr}.fence-map{flex-basis:330px}}.account-login-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));background:var(--surface,#f4f6f9);color:var(--text,#18273d);place-items:center;display:grid}.account-login-card{background:var(--panel,#fff);overflow-wrap:anywhere;border-radius:20px;width:min(100%,420px);padding:26px;box-shadow:0 12px 40px #17243b12}.account-login-card h1{margin:12px 0 24px;font-size:24px}.account-login-card form,.account-panel{gap:14px;display:grid}.account-login-card form{margin-bottom:24px}.account-login-card label,.account-panel label{gap:7px;font-size:14px;display:grid}.account-login-card input,.account-panel input:not([type=checkbox]){width:100%;min-width:0;min-height:44px;color:inherit;background:0 0;border:1px solid #cdd5e0;border-radius:9px;padding:10px 12px}.account-login-card button,.account-panel button{cursor:pointer;border-radius:9px;min-height:44px;padding:8px 12px}.account-panel h2{margin:0;font-size:18px}.account-panel h3{margin:6px 0 0;font-size:15px}.account-panel p{margin:0;font-size:14px;line-height:1.6}.account-password-login{gap:14px;display:grid}.account-password-login form{margin:0}.account-auth-tabs{background:#edf1f5;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.account-auth-tabs button{color:#687487;background:0 0;border:0;min-height:38px}.account-auth-tabs button[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 1px 5px #17243b18}.account-password-rule{margin-top:-10px}.account-consent{grid-template-columns:20px 1fr;align-items:flex-start;line-height:1.6;gap:8px!important;display:flex!important}.account-consent input{width:18px;height:18px;margin-top:2px}.account-consent button{color:#0a6fbb;background:0 0;border:0;min-height:0;padding:0;display:inline}.account-onboarding{color:#176449;background:#f0faf5;border:1px solid #acd9c4;border-radius:9px;padding:10px 12px}.account-phone-form{gap:10px;display:grid}.account-profile-copy small{color:#6b7586;margin-top:2px;font-size:11px;display:block}.legal-backdrop{z-index:1000;background:#080e16b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.legal-dialog{color:#18273d;background:#fff;border-radius:16px;width:min(720px,100%);max-height:min(820px,100dvh - 36px);display:grid;overflow:hidden;box-shadow:0 24px 80px #0005}.legal-dialog>header{border-bottom:1px solid #e1e6ed;justify-content:space-between;gap:16px;padding:18px 20px;display:flex}.legal-dialog>header h2{margin:0 0 3px}.legal-dialog>header small{color:#6b7586}.legal-dialog>header button{color:#0a6fbb;background:0 0;border:0}.legal-content{padding:4px 20px 24px;overflow-y:auto}.legal-content>p{color:#526176}.legal-content section{margin-top:20px}.legal-content h3{margin:0 0 7px}.legal-content p{margin:0;line-height:1.75}.phone-input{background:#fff;border:1px solid #cdd5e0;border-radius:9px;align-items:center;min-height:44px;display:flex;overflow:hidden}.phone-input>span{color:#526176;border-right:1px solid #dce3ed;flex:none;align-self:stretch;place-items:center;padding:0 11px;font-weight:700;display:grid}.account-login-card .phone-input input{border:0;border-radius:0;min-height:42px}.account-login-card .phone-input:focus-within{border-color:#78aa9a;box-shadow:0 0 0 3px #136c5a1a}.account-login-card .phone-input input:focus{outline:0}.secondary-action{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff}.password-change-card .form-note{margin:-8px 0 0}.account-message{color:#b64228;overflow-wrap:anywhere}.account-device-list{gap:8px;display:grid}.account-device-list .support-account-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-device-list span{overflow-wrap:anywhere;min-width:0}.account-device-list small{color:#6b7586;margin-top:3px;font-size:11px;display:block}.account-device-editor{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.account-device-editor button{min-height:40px}.account-device-actions{align-items:center;gap:2px;display:flex}.account-device-rename svg{width:18px;height:18px}.account-panel .toggle-row{display:flex}.settings-appearance-row,.settings-row,.settings-section-heading,.settings-section-title,.settings-summary-trailing,.account-bind-control,.account-device-row{align-items:center;gap:10px;display:flex}.settings-appearance-row,.settings-row,.settings-section-heading{justify-content:space-between}.settings-segmented{gap:4px;display:flex}.settings-segmented button[aria-pressed=true]{background:var(--green);color:#fff}.settings-section{gap:10px;display:grid}.account-device-row{flex-wrap:wrap;justify-content:space-between}.account-device-copy{flex:auto;min-width:0;display:grid}.account-device-row .account-device-editor{flex:1 0 100%}.settings-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-summary-copy{flex:auto}.settings-disclosure-body{gap:10px;display:grid}.admin-login-shell .account-login-card{border-top:4px solid var(--green)}.captcha-input-row{grid-template-columns:minmax(0,1fr) 128px;gap:8px;display:grid}.captcha-image-button{min-height:44px;color:var(--muted);background:#f6f8f5;border:1px solid #cdd5e0;place-items:center;font-size:12px;display:grid;overflow:hidden;padding:0!important}.captcha-image-button img{object-fit:contain;width:100%;height:44px;display:block}.admin-back-link{color:var(--green);text-align:center;font-size:13px;text-decoration:none;display:block}.admin-shell{min-height:100dvh;color:var(--ink);background:#edf2ef;padding-bottom:28px}.admin-header{border-bottom:1px solid var(--line);background:#f9fbf9f7;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:12px max(20px,50vw - 660px);display:flex}.admin-brand{color:inherit;align-items:center;gap:11px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.admin-identity button,.admin-toolbar button,.admin-pagination button,.admin-actions button,.admin-bindings button{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:7px 12px;font-weight:700}.admin-identity button:disabled,.admin-toolbar button:disabled,.admin-pagination button:disabled,.admin-actions button:disabled,.admin-bindings button:disabled{cursor:default;opacity:.5}.admin-tabs{max-width:1320px;margin:18px auto 0;padding:0 20px;display:flex}.admin-tabs button{min-width:96px;min-height:42px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;font-weight:750}.admin-tabs button[aria-current=page]{border-color:var(--green);color:var(--ink)}.admin-toolbar form,.admin-bindings form{gap:8px;min-width:0;display:flex}.admin-toolbar form{width:min(520px,100%)}.admin-toolbar input,.admin-bindings input{border:1px solid var(--line);min-width:0;min-height:40px;color:inherit;background:#fff;border-radius:9px;flex:auto;padding:8px 11px}.admin-toolbar .admin-primary{border-color:var(--green);background:var(--green);color:#fff}.admin-alert button,.admin-notice button{color:inherit;background:0 0;border:0;margin-left:auto;font-size:18px}.admin-workspace{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(330px,.85fr) minmax(480px,1.45fr);max-width:1280px;min-height:640px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 16px 46px #132d2d12}.admin-list{border-right:1px solid var(--line);background:#f8faf8;min-width:0}.admin-list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px;display:flex}.admin-list-heading span{color:var(--muted);font-size:12px}.admin-list>button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #e8eeeb;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:14px 18px;display:grid}.admin-list>button:hover,.admin-list>button.selected{background:#eaf5f0}.admin-list>button.selected{box-shadow:inset 3px 0 var(--green)}.admin-list>button>span:first-child{min-width:0}.admin-list>button strong,.admin-list>button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-list>button strong{font-size:14px}.admin-list>button small{color:var(--muted);grid-column:1/-1;font-size:11px}.admin-list>button>span:first-child small{margin-top:4px}.admin-status{color:#176449;white-space:nowrap;background:#e7f5ef;border-radius:999px;align-self:start;padding:4px 7px;font-size:10px;font-weight:800}.admin-detail{min-width:0;padding:26px}.admin-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:20px;display:flex}.admin-detail-heading h1{overflow-wrap:anywhere;margin:0;font-size:23px}.admin-detail-heading p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.admin-facts{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:20px 0;display:grid;overflow:hidden}.admin-facts div{background:#fff;min-width:0;padding:13px}.admin-facts dt{color:var(--muted);margin-bottom:5px;font-size:10px}.admin-facts dd{overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:700}.admin-actions{flex-wrap:wrap;gap:9px;margin-bottom:24px;display:flex}.admin-credential-setup h2{grid-column:1/-1;margin:0;font-size:15px}.admin-credential-setup select{border:1px solid var(--line);min-height:40px;color:inherit;background:#fff;border-radius:9px;padding:7px 10px}.admin-credential-setup .admin-primary{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:9px;min-height:40px;padding:8px 12px;font-weight:750}.admin-credential-setup .phone-input input{border:0;border-radius:0;min-height:38px}.admin-bindings{border-top:1px solid var(--line);padding-top:20px}.admin-bindings h2{margin:0 0 14px;font-size:16px}.admin-bindings h2 span{color:var(--muted);margin-left:5px;font-size:12px}.admin-bindings form{margin-bottom:14px}.admin-binding-row strong,.admin-binding-row small{overflow-wrap:anywhere;display:block}.admin-binding-row strong{font-size:13px}.admin-binding-row button{color:#a53d31;flex:none}.admin-create-modal .phone-input input{border:0;border-radius:0;min-height:40px}@media (max-width:760px){.admin-header{padding-inline:14px}.admin-brand>span:last-child,.admin-identity>span{display:none}.admin-tabs,.admin-toolbar{padding-inline:12px}.admin-toolbar{align-items:stretch}.admin-toolbar form{flex:auto}.admin-toolbar .admin-primary{flex:none}.admin-alert,.admin-notice{margin-inline:12px}.admin-workspace{border-radius:14px;min-height:0;margin:0 12px;display:block}.admin-list{border-right:0}.admin-list>button{padding-inline:14px}.admin-detail{border-top:1px solid var(--line);padding:20px 14px}.admin-facts,.admin-credential-setup{grid-template-columns:1fr}.admin-credential-setup h2{grid-column:auto}.admin-bindings form{grid-template-columns:minmax(0,1fr) auto;display:grid}.captcha-input-row{grid-template-columns:minmax(0,1fr) 112px}}.admin-login-shell{background:radial-gradient(circle at 18% 12%,#eaf5ef 0,#0000 32%),#f4f6f5}.admin-login-shell .account-login-card{border:1px solid #dfe7e3;border-top:0;border-radius:18px;width:min(100%,430px);padding:34px;box-shadow:0 22px 70px #112c261a}.admin-login-shell .brand-mark{border-radius:12px;width:42px;height:42px}.admin-login-shell .account-login-card h1{margin:14px 0 26px;font-size:25px}.admin-login-shell .phone-input{border:0;display:block;overflow:visible}.admin-login-shell .account-login-card .phone-input input{border:1px solid #cdd5e0;border-radius:9px;min-height:44px}.admin-login-shell .account-login-card .phone-input:focus-within{box-shadow:none;border:0}.admin-login-shell .account-login-card .phone-input input:focus{border-color:#2b7c69;box-shadow:0 0 0 3px #2b7c691a}.admin-login-intro{color:#697773;margin:-14px 0 20px;font-size:12px;line-height:1.65}.admin-passkey-primary{color:#fff;text-align:left;background:#176d5a;border:1px solid #176d5a;justify-content:flex-start;align-items:center;gap:12px;width:100%;display:flex;box-shadow:0 8px 24px #176d5a2e;min-height:60px!important;padding:10px 14px!important}.admin-passkey-primary:hover:not(:disabled){background:#105e4e}.admin-passkey-primary>span{gap:3px;display:grid}.admin-passkey-primary strong{font-size:14px}.admin-passkey-primary small{color:#ffffffb8;font-size:10px;font-weight:600}.admin-passkey-unavailable{color:#9a5a24;align-items:center;gap:7px;margin:10px 0 0;font-size:11px;line-height:1.5;display:flex}.admin-login-divider{color:#8a9692;align-items:center;gap:10px;margin:20px 0 10px;font-size:10px;display:flex}.admin-login-divider:before,.admin-login-divider:after{content:"";background:#e3e9e6;flex:auto;height:1px}.admin-password-toggle{color:#42534e;background:#fafcfb;border:1px solid #dce4e1;align-items:center;gap:8px;width:100%;font-size:12px;font-weight:750;display:flex}.admin-password-toggle span{margin-left:auto;font-size:17px;font-weight:500}.admin-password-form{border-top:1px solid #edf1ef;margin:16px 0 22px;padding-top:16px}.admin-login-shell .account-message{margin:12px 0 0}.admin-login-shell .admin-back-link{margin-top:22px}.admin-shell{--admin-green:#166a58;--admin-green-soft:#eaf4f0;--admin-ink:#172522;--admin-muted:#697773;--admin-line:#e2e9e6;min-height:100dvh;color:var(--admin-ink);background:#f7f9f8;padding:0;overflow:hidden}.admin-header{z-index:3;border-bottom:1px solid var(--admin-line);background:#fff;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 22px;display:flex;position:relative;box-shadow:0 1px #112c2605}.admin-brand{color:inherit;letter-spacing:-.01em;align-items:center;gap:11px;font-size:16px;font-weight:800;display:flex}.admin-brand .brand-mark{border-radius:10px;width:36px;height:36px;font-size:16px}.admin-identity{color:var(--admin-muted);align-items:center;gap:8px;font-size:12px;display:flex}.admin-phone{color:#41504c;font-variant-numeric:tabular-nums;margin-right:4px}.admin-identity button,.admin-pagination button,.admin-actions button,.admin-bindings button{border:1px solid var(--admin-line);color:#34443f;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.admin-identity button:hover,.admin-pagination button:hover,.admin-actions button:hover,.admin-bindings button:hover{background:#f7faf9;border-color:#b8cbc4}.admin-identity button:disabled,.admin-pagination button:disabled,.admin-actions button:disabled,.admin-bindings button:disabled{cursor:default;opacity:.45}.admin-layout{grid-template-columns:96px minmax(480px,1fr) minmax(520px,580px);height:calc(100dvh - 64px);display:grid}.admin-sidebar{border-right:1px solid var(--admin-line);background:#fbfcfb;flex-direction:column;gap:8px;padding:18px 10px;display:flex}.admin-sidebar button{color:#70807b;background:0 0;border:1px solid #0000;border-radius:11px;align-content:center;place-items:center;gap:7px;min-height:70px;padding:8px 4px;font-size:11px;font-weight:700;display:grid}.admin-sidebar button:hover{color:#43554f;background:#f1f6f4}.admin-sidebar button[aria-current=page]{background:var(--admin-green-soft);color:var(--admin-green);border-color:#d5e6df}.admin-content{min-width:0;padding:28px 28px 24px;overflow:auto}.admin-page-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-height:54px;margin-bottom:20px;display:flex}.admin-page-heading h1{letter-spacing:-.035em;margin:0;font-size:24px}.admin-page-heading p{color:var(--admin-muted);margin:7px 0 0;font-size:12px}.admin-primary{border:1px solid var(--admin-green);background:var(--admin-green);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px 13px;font-size:12px;font-weight:750;display:inline-flex;box-shadow:0 5px 15px #166a5824}.admin-primary:hover{background:#105d4d}.admin-toolbar{justify-content:space-between;align-items:center;gap:16px;max-width:none;margin:0 0 14px;padding:0;display:flex}.admin-toolbar form{color:#87938f;background:#fff;border:1px solid #d7e0dd;border-radius:9px;align-items:center;gap:8px;width:min(430px,100%);min-width:0;min-height:40px;padding:0 11px;display:flex}.admin-toolbar form:focus-within{border-color:#86b4a7;box-shadow:0 0 0 3px #166a5814}.admin-toolbar input{min-width:0;min-height:38px;color:var(--admin-ink);background:0 0;border:0;outline:0;flex:auto;padding:0;font-size:12px}.admin-toolbar>span{color:var(--admin-muted);white-space:nowrap;font-size:11px}.admin-toolbar .admin-search-clear{color:#84908c;background:0 0;border:0;border-radius:6px;place-items:center;width:25px;min-height:25px;padding:0;display:grid}.admin-alert,.admin-notice{color:#97452c;background:#fff7f3;border:1px solid #edc6b5;border-radius:9px;align-items:center;gap:10px;max-width:none;margin:0 0 12px;padding:10px 12px;font-size:12px;display:flex}.admin-notice{color:#176449;background:#f1faf6;border-color:#bddbce}.admin-alert button,.admin-notice button{width:25px;height:25px;color:inherit;background:0 0;border:0;place-items:center;margin-left:auto;padding:0;display:grid}.admin-table-wrap{border:1px solid var(--admin-line);background:#fff;border-radius:12px;min-width:720px;overflow:hidden;box-shadow:0 8px 30px #1a362f09}.admin-table{border-collapse:collapse;table-layout:fixed;color:#354540;width:100%;font-size:11px}.admin-table th{border-bottom:1px solid var(--admin-line);color:#77847f;text-align:left;white-space:nowrap;background:#fafcfb;height:42px;padding:0 13px;font-size:10px;font-weight:750}.admin-table td{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #edf1ef;height:58px;padding:8px 13px;overflow:hidden}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr{cursor:pointer;outline:none;transition:background .14s}.admin-table tbody tr:hover{background:#f7faf9}.admin-table tbody tr.selected{box-shadow:inset 3px 0 var(--admin-green);background:#edf6f2}.admin-table tbody tr:focus-visible{box-shadow:inset 0 0 0 2px #72a99a}.admin-table td strong{color:#263732;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.admin-table td small{color:#89958f;text-overflow:ellipsis;margin-top:4px;font-size:9px;display:block;overflow:hidden}.admin-table code{color:#53635e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.admin-device-table th:first-child,.admin-device-table td:first-child{width:16%}.admin-device-table th:nth-child(2),.admin-device-table td:nth-child(2){width:18%}.admin-device-table th:nth-child(3),.admin-device-table td:nth-child(3){width:15%}.admin-device-table th:nth-child(4),.admin-device-table td:nth-child(4){width:9%}.admin-device-table th:nth-child(5),.admin-device-table td:nth-child(5){width:10%}.admin-device-table th:nth-child(6),.admin-device-table td:nth-child(6){width:9%}.admin-device-table th:nth-child(7),.admin-device-table td:nth-child(7){width:13%}.admin-device-table th:nth-child(8),.admin-device-table td:nth-child(8){width:10%}.admin-model-table-wrap{min-width:420px}.admin-model-table th:first-child,.admin-model-table td:first-child{width:30%}.admin-model-table th:nth-child(2),.admin-model-table td:nth-child(2){width:24%}.admin-model-table th:nth-child(3),.admin-model-table td:nth-child(3){width:12%}.admin-model-table th:nth-child(4),.admin-model-table td:nth-child(4){width:18%}.admin-model-table th:nth-child(5),.admin-model-table td:nth-child(5){width:16%}.admin-account-table th:first-child,.admin-account-table td:first-child{width:24%}.admin-account-table th:nth-child(2),.admin-account-table td:nth-child(2),.admin-account-table th:nth-child(3),.admin-account-table td:nth-child(3){width:13%}.admin-account-table th:nth-child(4),.admin-account-table td:nth-child(4){width:10%}.admin-account-table th:nth-child(5),.admin-account-table td:nth-child(5),.admin-account-table th:nth-child(6),.admin-account-table td:nth-child(6){width:20%}.admin-status{color:#176449;white-space:nowrap;background:#e7f5ef;border-radius:999px;align-self:auto;align-items:center;gap:5px;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.admin-status i{background:currentColor;border-radius:50%;width:5px;height:5px}.admin-status.disabled,.admin-status.offline{color:#77827f;background:#edf0ef}.admin-status.pending_setup{color:#92570b;background:#fff1dc}.admin-battery{color:#365e54;align-items:center;gap:5px;font-weight:700;display:inline-flex}.admin-empty{color:var(--admin-muted);text-align:center;margin:0;padding:28px 18px;font-size:12px}.admin-pagination{justify-content:center;align-items:center;gap:12px;padding:16px 0 0;display:flex}.admin-pagination span{color:var(--admin-muted);font-size:11px}.admin-inspector{border-left:1px solid var(--admin-line);background:#fff;min-width:0;padding:24px 22px 36px;overflow:auto}.admin-detail-heading{border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:flex-start;gap:14px;padding:0 0 18px;display:flex}.admin-detail-heading h2{overflow-wrap:anywhere;color:#20312c;letter-spacing:-.025em;margin:0;font-size:19px}.admin-detail-heading p{color:var(--admin-muted);overflow-wrap:anywhere;margin:6px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.admin-detail-section{border-bottom:1px solid var(--admin-line);padding:20px 0}.admin-detail-section:last-child{border-bottom:0}.admin-detail-section>h3,.admin-section-heading h3,.admin-credential-setup h3{color:#34443f;margin:0;font-size:12px;font-weight:800}.admin-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.admin-section-heading>span{color:#87938f;font-size:9px}.admin-facts{background:0 0;border:0;border-radius:0;grid-template-columns:1fr;gap:0;margin:12px 0 0;display:grid;overflow:visible}.admin-facts div{background:0 0;border-bottom:1px solid #eff2f1;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:9px 0;display:flex}.admin-facts dt{color:var(--admin-muted);margin:0;font-size:10px}.admin-facts dd{color:#33443f;text-align:right;overflow-wrap:anywhere;margin:0;font-size:10px;font-weight:700}.admin-state-grid{gap:0;margin:0;display:grid}.admin-state-grid>div{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:12px;min-width:0;min-height:31px;padding:3px 0;display:grid}.admin-state-grid dt{color:#7d8985;align-items:center;gap:5px;margin:0;font-size:9px;display:flex}.admin-state-grid dd{overflow-wrap:anywhere;color:#2e403a;margin:0;font-size:10px;font-weight:750}.admin-usb-status{color:var(--admin-green);background:#f6faf8;border:1px solid #dce8e3;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.admin-inline-error,.admin-inline-notice{border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:10px;line-height:1.5}.admin-inline-error{color:#a43a32;background:#fff0ef}.admin-inline-notice{color:var(--admin-green);background:#eef8f3}.admin-battery-preview{color:var(--admin-green);background:#f6faf8;border:1px solid #dce8e3;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.admin-battery-preview>span{min-width:0}.admin-battery-preview strong,.admin-battery-preview small{display:block}.admin-battery-preview strong{font-variant-numeric:tabular-nums;font-size:11px}.admin-battery-preview small{color:var(--admin-muted);margin-top:3px;font-size:9px;line-height:1.45}.admin-battery-setting-grid{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px;display:grid}.admin-battery-setting-grid>label{color:var(--admin-muted);gap:5px;font-size:9px;font-weight:700;display:grid}.admin-battery-setting-grid select{border:1px solid var(--admin-line);color:#2e403a;background:#fff;border-radius:8px;width:100%;min-height:36px;padding:0 9px}.admin-interval-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-interval-grid input{border:1px solid var(--admin-line);color:#2e403a;background:#fff;border-radius:8px;width:100%;min-width:0;min-height:36px;padding:0 9px}.admin-interval-grid small,.admin-interval-note{color:var(--admin-muted);font-size:10px;line-height:1.5}@media (max-width:380px){.admin-interval-grid{grid-template-columns:minmax(0,1fr)}}.admin-battery-setting-grid fieldset{border:1px solid var(--admin-line);border-radius:8px;align-items:center;gap:14px;margin:0;padding:8px 10px;display:flex}.admin-battery-setting-grid legend{color:var(--admin-muted);padding:0 4px;font-size:9px;font-weight:700}.admin-battery-setting-grid fieldset label{color:#43534e;align-items:center;gap:5px;font-size:10px;display:flex}.admin-battery-actions{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.admin-battery-actions button{border:1px solid var(--admin-line);color:#40504b;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:9px;font-weight:750;display:inline-flex}.admin-battery-actions button:disabled{opacity:.45}.admin-battery-actions .admin-primary{border-color:var(--admin-green);background:var(--admin-green);color:#fff;margin-left:auto}.admin-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#102019a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.admin-passkey-dialog{color:#2e403a;background:#fff;border:1px solid #d6e1dd;border-radius:18px;width:min(640px,100%);max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 24px 80px #0d1d173d}.admin-passkey-dialog>header{z-index:2;border-bottom:1px solid var(--admin-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px;display:flex;position:sticky;top:0}.admin-passkey-dialog h2{margin:5px 0 0;font-size:21px}.admin-passkey-dialog header p{max-width:470px;color:var(--admin-muted);margin:6px 0 0;font-size:11px;line-height:1.55}.admin-passkey-dialog header>button{border:1px solid var(--admin-line);color:#596963;background:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;padding:0;display:grid}.admin-passkey-eyebrow{color:var(--admin-green);letter-spacing:.08em;align-items:center;gap:5px;font-size:9px;font-weight:800;display:flex}.admin-passkey-body{gap:16px;padding:20px 22px 24px;display:grid}.admin-passkey-create,.admin-passkey-list{border:1px solid var(--admin-line);background:#fbfdfc;border-radius:13px;padding:16px}.admin-passkey-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.admin-passkey-section-heading h3{color:#2b3c37;margin:0;font-size:14px}.admin-passkey-section-heading p{color:var(--admin-muted);margin:4px 0 0;font-size:10px;line-height:1.5}.admin-passkey-section-heading>svg{color:var(--admin-green)}.admin-passkey-create label{color:var(--admin-muted);gap:6px;margin-top:14px;font-size:10px;font-weight:750;display:grid}.admin-passkey-create input{color:#2b3c37;background:#fff;border:1px solid #d4dfdb;border-radius:9px;width:100%;min-height:40px;padding:8px 10px}.admin-passkey-create .admin-primary{width:100%;margin-top:10px}.admin-passkey-list article{border-bottom:1px solid #e8eeeb;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 0;display:grid}.admin-passkey-list article:last-child{border-bottom:0;padding-bottom:0}.admin-passkey-icon{background:var(--admin-green-soft);width:38px;height:38px;color:var(--admin-green);border-radius:10px;place-items:center;display:grid}.admin-passkey-list article strong,.admin-passkey-list article small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-passkey-list article strong{color:#2e403a;font-size:12px}.admin-passkey-list article small{color:var(--admin-muted);margin-top:4px;font-size:9px}.admin-passkey-list article button{color:#a4473b;background:#fff8f6;border:1px solid #ead7d3;border-radius:8px;align-items:center;gap:5px;min-height:32px;padding:5px 8px;font-size:9px;font-weight:750;display:inline-flex}.admin-passkey-empty{color:var(--admin-muted);text-align:center;background:#f2f6f4;border-radius:9px;margin:14px 0 0;padding:14px;font-size:10px;line-height:1.55}.admin-passkey-error,.admin-passkey-notice,.admin-passkey-warning{color:#97452c;background:#fff7f3;border:1px solid #edc6b5;border-radius:9px;margin:0;padding:10px 12px;font-size:11px;line-height:1.5}.admin-passkey-notice{color:#176449;background:#f1faf6;border-color:#bddbce}.admin-passkey-warning{align-items:center;gap:8px;display:flex}.battery-editor{color:#2e403a;background:#fff;border:1px solid #d6e1dd;border-radius:16px;width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 80px #0d1d173d}.battery-editor>header{z-index:2;border-bottom:1px solid var(--admin-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex;position:sticky;top:0}.battery-editor h2{margin:0;font-size:18px}.battery-editor header p{color:var(--admin-muted);margin:4px 0 0;font-size:10px}.battery-editor header button{border:1px solid var(--admin-line);background:#fff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.battery-editor form,.battery-editor-body{padding:18px 20px 20px}.battery-profile-fields{grid-template-columns:minmax(0,1fr) 160px minmax(220px,1fr);align-items:end;gap:12px;display:grid}.battery-profile-fields label,.battery-point-fields label{color:var(--admin-muted);gap:5px;font-size:9px;font-weight:750;display:grid}.battery-profile-fields input,.battery-point-fields input{border:1px solid var(--admin-line);color:#2e403a;font-variant-numeric:tabular-nums;border-radius:8px;width:100%;height:36px;padding:0 9px}.battery-live-preview{background:#eef8f3;border-radius:8px;min-height:36px;padding:7px 10px}.battery-live-preview span,.battery-live-preview strong{display:block}.battery-live-preview span{color:var(--admin-muted);font-size:8px}.battery-live-preview strong{color:var(--admin-green);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px}.battery-curve-chart{border:1px solid var(--admin-line);background:#fbfdfc;border-radius:12px;margin-top:14px;padding:10px}.battery-curve-chart svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block;overflow:visible}.battery-chart-bg{fill:#f5f9f7;stroke:#dbe6e2}.battery-grid-line{stroke:#dfe8e5;stroke-width:1px}.battery-curve-chart text{fill:#7e8c87;font-variant-numeric:tabular-nums;pointer-events:none;font-size:10px}.battery-axis-title{font-weight:750}.battery-curve-line{fill:none;stroke:var(--admin-green);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.battery-curve-point{fill:#fff;stroke:var(--admin-green);stroke-width:3px;cursor:grab;outline:none}.battery-curve-point.selected,.battery-curve-point:focus{fill:var(--admin-green);stroke:#fff;filter:drop-shadow(0 0 3px #25745c88)}.battery-current-line{stroke:#d28b20;stroke-width:2px;stroke-dasharray:5 4;pointer-events:none}.battery-current-label{font-weight:800;fill:#a96c12!important}.battery-curve-chart>p{color:var(--admin-muted);margin:2px 4px 0;font-size:9px}.battery-curve-chart.editable svg{min-height:330px}.battery-curve-preview{border:1px solid var(--admin-line);background:#fbfdfc;border-radius:11px;margin-top:10px;padding:8px}.battery-curve-preview svg{pointer-events:none;width:100%;height:auto;display:block}.battery-curve-preview text{fill:#7e8c87;font-variant-numeric:tabular-nums;font-size:10px}.battery-curve-point.readonly{cursor:default}.battery-point-fields{background:#f5f8f7;border-radius:10px;grid-template-columns:auto 150px 130px auto;align-items:end;gap:10px;margin-top:12px;padding:12px;display:grid}.battery-point-fields>span{color:#42534d;align-self:center;font-size:10px;font-weight:800}.battery-point-delete{color:#a43a32;background:#fff;border:1px solid #ebc9c5;border-radius:8px;justify-content:center;align-items:center;gap:5px;height:36px;padding:0 10px;display:inline-flex}.battery-editor-error{color:#a43a32;margin:10px 0 0;font-size:10px}.battery-editor footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.battery-editor footer button{border:1px solid var(--admin-line);color:#40504b;background:#fff;border-radius:9px;min-width:94px;min-height:38px;font-weight:750}.battery-editor footer .admin-primary{border-color:var(--admin-green);background:var(--admin-green);color:#fff}.admin-usb-status>span{min-width:0}.admin-usb-status strong,.admin-usb-status small{display:block}.admin-usb-status strong{color:#2f433c;font-size:11px}.admin-usb-status small{color:var(--admin-muted);margin-top:4px;font-size:9px;line-height:1.45}.admin-usb-actions{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.admin-usb-actions button{min-height:32px;color:var(--admin-green);background:#f4faf7;border:1px solid #cfe0da;border-radius:8px;padding:6px 9px;font-size:9px;font-weight:750}.admin-usb-actions .admin-usb-disable{color:#a4473b;background:#fff8f6;border-color:#ead7d3}.admin-usb-power .admin-empty{background:#fafbfb;border:1px dashed #d8dfdc;border-radius:9px;padding:14px 8px}.admin-actions{flex-wrap:wrap;gap:8px;margin:14px 0 0;display:flex}.admin-actions button:first-child{color:#a4473b}.admin-credential-setup{background:#fffaf1;border:1px solid #edd8b8;border-radius:10px;grid-template-columns:minmax(0,1fr) 118px;align-items:end;gap:10px;margin:16px 0 0;padding:14px;display:grid}.admin-credential-setup h3{grid-column:1/-1}.admin-credential-setup label{color:var(--admin-muted);gap:5px;font-size:9px;font-weight:700;display:grid}.admin-credential-setup input,.admin-credential-setup select,.admin-bindings input{color:#283934;background:#fff;border:1px solid #d6dfdc;border-radius:8px;min-width:0;min-height:37px;padding:7px 9px;font-size:11px}.admin-credential-setup .admin-primary{grid-column:1/-1}.admin-bindings{padding-top:20px}.admin-bindings form{gap:7px;min-width:0;margin:0 0 9px;display:flex}.admin-bindings input{flex:auto}.admin-binding-row{border-bottom:1px solid #edf1ef;justify-content:space-between;align-items:center;gap:10px;padding:10px 2px;display:flex}.admin-binding-row span{min-width:0}.admin-binding-row strong,.admin-binding-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-binding-row strong{color:#33443f;font-size:11px}.admin-binding-row small{color:#84908c;margin-top:3px;font-size:9px}.admin-binding-row button{color:#a4473b;flex:none;width:31px;min-height:31px;padding:0}.admin-inspector .admin-bindings{padding-top:14px;padding-bottom:14px}.admin-inspector .admin-bindings .admin-section-heading{margin-bottom:9px}.admin-inspector .admin-bindings form{margin-bottom:3px}.admin-inspector .admin-binding-row{padding-block:6px}.admin-model-inspector{padding-bottom:88px}.admin-model-inline-alert{display:none}.admin-model-heading-actions{gap:7px;display:flex}.admin-model-close{border:1px solid var(--admin-line);color:#53635e;background:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:31px;padding:5px 8px;display:none}.admin-model-form{min-height:100%}.admin-model-fields{padding-top:16px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px;display:grid}.admin-form-grid label{color:var(--admin-muted);gap:5px;font-size:9px;font-weight:750;display:grid}.admin-form-grid input,.admin-form-grid textarea,.admin-model-bind-row select{border:1px solid var(--admin-line);color:#2e403a;background:#fff;border-radius:8px;width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:11px}.admin-form-grid textarea{resize:vertical;line-height:1.5}.admin-form-wide{grid-column:1/-1}.admin-model-battery fieldset{border:1px solid var(--admin-line);border-radius:9px;align-items:center;gap:18px;margin:0;padding:9px 11px;display:flex}.admin-model-battery fieldset legend{color:var(--admin-muted);padding-inline:4px;font-size:9px;font-weight:750}.admin-model-battery fieldset label{color:#43534e;align-items:center;gap:6px;font-size:10px;display:flex}.admin-curve-heading{color:#43534e;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;font-size:10px;font-weight:800;display:flex}.admin-curve-heading button,.admin-icon-danger{min-height:31px;color:var(--admin-green);background:#f4faf7;border:1px solid #cfe0da;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:5px 9px;font-size:9px;font-weight:750;display:inline-flex}.admin-icon-danger{color:#a4473b;background:#fff8f6;border-color:#ead7d3}.admin-icon-danger:disabled{opacity:.35}.admin-model-bind-row{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.admin-model-bind-row button{border:1px solid var(--admin-line);min-height:36px;color:var(--admin-green);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:750;display:inline-flex}.admin-model-inspector .admin-binding-row button{width:auto;color:var(--admin-green);padding-inline:9px}.admin-model-savebar{z-index:3;border-top:1px solid var(--admin-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:14px;margin:0 -22px;padding:14px 22px;display:flex;position:sticky;bottom:-36px;box-shadow:0 -10px 28px #18342c0f}.admin-model-savebar span{color:var(--admin-muted);font-size:9px}.admin-records{padding-bottom:0}.admin-record-tabs{border-bottom:1px solid var(--admin-line);gap:20px;display:flex}.admin-record-tabs button{color:#7b8884;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:5px;min-height:37px;margin-bottom:-1px;padding:0 1px;font-size:11px;font-weight:750;display:flex}.admin-record-tabs button[aria-selected=true]{border-color:var(--admin-green);color:var(--admin-green)}.admin-record-tabs span{color:#70807b;background:#edf2f0;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:8px;display:inline-grid}.admin-report-list,.admin-track-list{display:grid}.admin-report-list article,.admin-track-list article{border-bottom:1px solid #edf1ef;grid-template-columns:27px minmax(0,1fr);align-items:start;gap:8px;padding:9px 0;display:grid}.admin-track-list article{grid-template-columns:27px minmax(0,1fr) auto}.admin-record-icon{background:var(--admin-green-soft);width:27px;height:27px;color:var(--admin-green);border-radius:8px;place-items:center;display:grid}.admin-report-list strong,.admin-track-list strong{color:#34443f;font-size:10px;display:block}.admin-report-list small,.admin-track-list small{color:#899590;overflow-wrap:anywhere;margin-top:4px;font-size:8px;line-height:1.45;display:block}.admin-track-copy p{color:#5f6e69;margin:5px 0 0;font-size:9px}.admin-track-list article>button{color:var(--admin-green);white-space:nowrap;background:#f4faf7;border:1px solid #cfe0da;border-radius:7px;align-self:center;padding:5px 7px;font-size:9px;font-weight:750}.admin-record-pagination{justify-content:center;align-items:center;gap:8px;padding:11px 0;display:flex}.admin-record-pagination button{border:1px solid var(--admin-line);color:#53635e;background:#fff;border-radius:7px;place-items:center;width:27px;height:27px;padding:0;display:grid}.admin-record-pagination button:disabled{opacity:.4}.admin-record-pagination span{color:#84908c;font-size:9px}.admin-create-modal .modal-heading p,.admin-track-modal .modal-heading p{color:#75827e;margin:5px 0 0;font-size:10px}.admin-track-modal{background:#f8faf9;width:min(980px,100%);padding:20px;overflow:hidden}.admin-track-modal .modal-heading{margin-bottom:12px}.admin-track-eyebrow{color:var(--admin-green);letter-spacing:.09em;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.admin-track-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px;display:grid}.admin-track-summary span{border:1px solid var(--admin-line);color:#42534e;text-align:center;background:#f8faf9;border-radius:8px;padding:10px;font-size:11px;font-weight:700}.admin-track-map-shell{background:#e9efec;border:1px solid #dbe3e0;border-radius:14px;height:clamp(390px,62vh,620px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #fff9}.admin-track-map-canvas{position:absolute;inset:0}.admin-track-map-legend,.admin-track-map-latest,.admin-track-map-controls{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #cfdbd7f0;position:absolute;box-shadow:0 9px 30px #16352d24}.admin-track-map-legend{color:#385049;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:10px;font-weight:750;display:flex;top:14px;left:14px}.admin-track-map-legend i{background:#0a7ae0;border:1px solid #fff;border-radius:4px;width:22px;height:4px;box-shadow:0 1px 3px #0a7ae04d}.admin-track-map-controls{border-radius:10px;display:grid;top:14px;right:14px;overflow:hidden}.admin-track-map-controls button{color:#334c45;background:0 0;border:0;place-items:center;width:38px;height:36px;padding:0;display:grid}.admin-track-map-controls button+button{border-top:1px solid #e1e7e5}.admin-track-map-controls button:hover:not(:disabled){color:var(--admin-green);background:#eef6f2}.admin-track-map-controls button:disabled{opacity:.38}.admin-track-map-latest{border-radius:10px;gap:3px;min-width:190px;padding:10px 12px;display:grid;bottom:24px;left:14px}.admin-track-map-latest span{color:var(--admin-green);letter-spacing:.06em;font-size:8px;font-weight:800}.admin-track-map-latest strong{color:#263b35;font-size:11px}.admin-track-map-latest small{color:#70817b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.admin-track-map-state{z-index:4;color:#53655f;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f1f6f3d1;place-content:center;justify-items:center;gap:10px;padding:24px;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.admin-track-map-state p{margin:0}.admin-track-map-state button{color:var(--admin-green);background:#fff;border:1px solid #bcd1c9;border-radius:8px;padding:7px 11px;font-size:10px;font-weight:750}.admin-track-map-state.error{color:#9d4a40}.admin-map-endpoint{white-space:nowrap;grid-template-columns:15px auto;align-items:center;gap:5px;display:grid;transform:translate(calc(50% - 8px))}.admin-map-endpoint>span{background:var(--admin-green);border:3px solid #fff;border-radius:50%;width:15px;height:15px;display:block;box-shadow:0 2px 8px #163a2f47}.admin-map-endpoint>strong{color:#30453e;background:#fffffff0;border:1px solid #d4dfdbe6;border-radius:6px;padding:4px 6px;font-size:9px;line-height:1;box-shadow:0 4px 12px #15312921}.admin-map-endpoint.end>span{background:#334b44}.admin-map-endpoint.current>span{background:#0a7ae0;box-shadow:0 0 0 4px #0a7ae029,0 2px 8px #163a2f47}@media (max-width:1200px){.admin-layout{grid-template-columns:82px minmax(380px,1fr) 480px}.admin-content{padding-inline:20px}.admin-inspector{padding-inline:18px}}@media (max-width:940px){.admin-shell{overflow:auto}.admin-layout{height:auto;display:block}.admin-sidebar{z-index:2;border-right:0;border-bottom:1px solid var(--admin-line);flex-direction:row;padding:8px 12px;position:sticky;top:64px}.admin-sidebar button{flex:33.333%;gap:7px;min-height:40px;display:flex}.admin-content{padding:22px 14px;overflow:visible}.admin-table-wrap{overflow-x:auto}.admin-inspector{border-top:1px solid var(--admin-line);border-left:0;padding:24px 18px;overflow:visible}.admin-model-inspector{display:none}.admin-model-inspector.open{z-index:6;border-top:0;border-left:1px solid var(--admin-line);width:min(580px,100vw - 40px);display:block;position:fixed;top:64px;bottom:0;right:0;overflow:auto;box-shadow:-18px 0 55px #112c2629}.admin-model-inline-alert{margin:12px 14px 0;display:flex}.admin-model-close{display:inline-flex}.admin-model-savebar{margin-inline:-18px;padding-inline:18px;bottom:-24px}}@media (max-width:620px){.admin-header{padding-inline:13px}.admin-brand>span:last-child,.admin-phone{display:none}.admin-identity button{padding-inline:8px;font-size:10px}.admin-page-heading{min-height:0}.admin-page-heading h1{font-size:21px}.admin-toolbar{align-items:stretch}.admin-toolbar form{flex:auto}.admin-toolbar>span{display:none}.admin-state-grid,.admin-credential-setup{grid-template-columns:1fr}.admin-credential-setup h3,.admin-credential-setup .admin-primary{grid-column:auto}.admin-track-list article{grid-template-columns:30px minmax(0,1fr)}.admin-track-list article>button{grid-column:2;justify-self:start}.admin-track-backdrop{align-items:end;padding:0}.admin-track-modal{border-radius:18px 18px 0 0;width:100%;max-height:calc(100dvh - 16px);padding:16px}.admin-track-map-shell{height:min(58vh,520px);min-height:330px}.admin-track-map-latest{min-width:0;bottom:20px;right:14px}.captcha-input-row{grid-template-columns:minmax(0,1fr) 112px}.admin-modal-backdrop{place-items:end stretch;padding:0}.admin-passkey-dialog{border-radius:18px 18px 0 0;width:100%;max-height:calc(100dvh - 12px)}.admin-passkey-dialog>header,.admin-passkey-body{padding-left:14px;padding-right:14px}.admin-passkey-list article{grid-template-columns:38px minmax(0,1fr)}.admin-passkey-list article button{grid-column:2;justify-self:start}.battery-editor{border-radius:18px 18px 0 0;width:100%;max-height:calc(100dvh - 12px)}.battery-editor>header,.battery-editor form,.battery-editor-body{padding-left:14px;padding-right:14px}.battery-profile-fields{grid-template-columns:1fr 120px}.battery-live-preview{grid-column:1/-1}.battery-curve-chart{margin-inline:-5px;padding:5px}.battery-point-fields{grid-template-columns:1fr 1fr}.battery-point-fields>span,.battery-point-delete{grid-column:1/-1}.admin-battery-actions .admin-primary{width:100%;margin-left:0}.admin-form-grid{grid-template-columns:1fr}.admin-form-wide{grid-column:auto}.admin-model-inspector.open{width:100vw}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.support-section{border-top:1px solid var(--line);min-width:0;margin-top:18px;padding-top:8px}.support-section summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:650}.support-section p,.support-section li{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.65}.support-section ol{padding-left:22px}.support-section label{margin-top:12px}.support-section button{border:1px solid var(--line);color:#087acb;background:var(--paper);border-radius:10px;min-height:44px;padding:9px 14px;font-weight:600}.support-section button:disabled{opacity:.5;cursor:default}.support-actions,.support-account-row{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.support-account-row{justify-content:space-between}.support-account-row strong{overflow-wrap:anywhere}.support-section .support-danger{color:#c02d40}.support-section .support-warning{color:#a66312}@media (prefers-color-scheme:dark){.support-section button{color:#69b5ff}.support-section .support-danger{color:#ff8290}.support-section .support-warning{color:#ffc16e}}
