.user-avatar[data-v-27cfd1b6]{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;overflow:hidden;font-weight:800;letter-spacing:-.02em;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.user-avatar img[data-v-27cfd1b6]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.showOnMobile{display:none}.editing .leaflet-container{cursor:crosshair!important}body.el-popup-parent--hidden{padding-right:0!important}body{overflow:hidden;position:fixed;left:0;top:0;bottom:0;right:0}*{margin:0;padding:0}#app{font-family:trebuchet ms;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:left;color:#2c3e50;flex-direction:column;position:fixed;left:0;top:0;bottom:0;right:0}#app,#head{display:flex;overflow:hidden}#head{height:2rem;border-bottom:var(--el-text-color-primary) 1px solid;background:var(--el-bg-color);align-content:space-between;justify-content:space-between}#head #user{display:flex}#logo{padding:.5rem}#content{display:flex}#content,#menu{height:calc(var(--vh,100vh) - 2rem)}#menu{width:4.2rem;background:var(--tk-primary);position:relative;transition:all .3s}#version{position:absolute;bottom:.5rem;left:.25rem;background:var(--el-color-primary-light-3);padding:.3rem;font-size:.55rem;border-radius:.2rem;width:3.8rem;box-sizing:border-box;text-align:center}#open,#version{color:var(--el-text-color-primary)}#open{height:calc(100vh - 2rem);background:var(--el-bg-color);display:flex;align-content:center;justify-content:space-between;transition:.2s;opacity:0;width:0;overflow:hidden}#open.allowExpand .expandBtn{position:absolute;left:555px;top:50%;z-index:9999999999;border:1px solid #fff;background:#05a7e3;padding:5px;padding-top:25px;padding-bottom:25px;color:#fff;transform:translateY(-50%);border-radius:0 5px 5px 0}#open.shown{opacity:1;width:700px}#open.allowExpand.expanded{width:1400px!important}#open.allowExpand.expanded .expandBtn{left:805px}#open.allowExpand.expanded .expandBtn i{transform:rotate(180deg)}#open.shown.editing{width:130px!important}#open.shown.editing div{display:flex;flex-direction:column-reverse;align-content:space-between;justify-content:space-between}#open #rv{overflow-y:auto;height:calc(100vh - 130px);padding:7px}#open.minimized{height:35px!important}::-webkit-scrollbar{width:10px;height:3px;background:#f5f5f5}::-webkit-scrollbar-thumb{width:10px;height:5px;background:#ccc}::-webkit-scrollbar-thumb:hover{background:var(--el-color-info)}#menu ul{list-style:none;margin-top:2.5rem}#menu ul li{position:relative;width:4.2rem;height:4.2rem;z-index:5}#menu ul li a{color:var(--el-text-color-primary);position:relative;display:flex;justify-content:center;align-items:center;flex-direction:row;width:100%;height:100%}#menu ul li a .el-icon{position:relative;display:block;line-height:1.7rem;font-size:1.7rem;text-align:center;transition:.5s;color:var(--el-bg-color);width:1.7rem;height:1.7rem;z-index:10;transform:translateX(5px)}#menu ul li.active a .el-icon{transform:translateX(2.3rem)}#menu ul li a .text{position:absolute;color:var(--el-bg-color);font-weight:400;font-size:.65rem;letter-spacing:.05rem;transition:.5s;left:0;width:4.5rem;transform:translateX(-25px) rotate(-90deg)}#menu ul li.active a .text{opacity:1;left:0;font-size:.75rem;transform:translateX(-12px) rotate(-90deg)}#menu ul li:hover:not(.active) a .text{transform:translateX(-20px) rotate(-90deg)}#menu ul li:hover:not(.active) a .el-icon{transform:translateX(10px)}#main{width:calc(var(--vw,100vw) - 4.2rem);height:calc(var(--vh,100vh) - 2rem);transition:all .3s}#main.minimized{height:calc(100vh - 50px)!important}.indicator{position:absolute;width:4rem;height:4rem;background:var(--el-text-color-primary);box-sizing:border-box;left:2.35rem;top:2.7rem;border-radius:50%;border:6px solid var(--el-bg-color);transition:.5s;opacity:0;z-index:2;box-shadow:3px 2px 10px rgba(0,0,0,.2)}.indicator:before{top:-21px;border-bottom-right-radius:20px}.indicator:after,.indicator:before{content:"";position:absolute;box-sizing:border-box;background:transparent;left:calc(50% - 23px);width:20px;height:20px;box-shadow:10px 0 0 0 var(--el-bg-color)}.indicator:after{bottom:-21px;border-top-right-radius:20px}#menu ul li:first-child.active~.indicator{transform:translateY(0);opacity:1}#menu ul li:nth-child(2).active~.indicator{transform:translateY(4.2rem);opacity:1}#menu ul li:nth-child(3).active~.indicator{transform:translateY(8.4rem);opacity:1}#menu ul li:nth-child(4).active~.indicator{transform:translateY(12.6rem);opacity:1}#menu ul li:nth-child(5).active~.indicator{transform:translateY(16.8rem);opacity:1}#menu ul li:nth-child(6).active~.indicator{transform:translateY(21rem);opacity:1}#menu ul li:nth-child(7).active~.indicator{transform:translateY(25.2rem);opacity:1}#menu ul li:nth-child(8).active~.indicator{transform:translateY(29.4rem);opacity:1}#heading{text-align:center;font-weight:700;background:var(--tk-primary);border-radius:20px;padding:10px;color:var(--el-color-white);position:relative;z-index:0;margin:10px}#heading span:first-child{left:0}#heading span:first-child,#heading span:last-child{position:absolute;top:0;padding:6px;font-size:25px;cursor:pointer}#heading span:last-child{right:0}body.rtl #app div #content{flex-direction:row-reverse!important}body.rtl #app div #content #menu ul .indicator{left:-40px}body.rtl #app div #content #menu ul .indicator:before{left:calc(50% + 7px);top:-18px;border-bottom-right-radius:0;border-bottom-left-radius:20px;box-shadow:-10px 0 0 0 var(--el-bg-color)}body.rtl #app div #content #menu ul .indicator:after{left:calc(50% + 7px);bottom:-18px;border-top-right-radius:0;border-top-left-radius:20px;box-shadow:-10px 0 0 0 var(--el-bg-color)}body.rtl #app div #content #menu ul li a .text{left:45px}body.rtl #app div #content #menu ul li.active a .text{left:20px}body.rtl #app div #content #menu ul li a .el-icon{transform:translateX(-7px)}body.rtl #app div #content #menu ul li.active a .el-icon{transform:translateX(-45px)}.customFilter{margin-left:1px;padding:10px;background:#fff;text-align:center;margin-bottom:4px;border-radius:4px;color:#fff;box-shadow:0 0 3px rgba(45,45,45,.5);cursor:pointer}.all{background:var(--el-color-info)}.online{background:var(--el-color-success)}.offline{background:var(--el-color-danger)}.unknown{background:var(--el-color-warning)}.motion{background:var(--tk-primary)}.customFilter.active{border:1px solid #fff}#btnmenu{display:none;padding:.5rem;font-size:1rem;cursor:pointer}#expander{display:none;text-align:center;padding:5px;background:var(--tk-surface)}@media (orientation:portrait){#menu{width:0;overflow:hidden}#menu.isopen{width:73px!important}#main{width:var(--vw,100vw);height:calc(var(--vh,100vh) - 2rem)}#main.menuShown{width:calc(var(--vw,100vw) - 2rem)}.uname{display:none!important}#btnmenu{display:block}#open.shown{position:absolute;overflow:hidden;left:0;top:0;width:100%;height:100%;z-index:1005}#open.bottom{position:fixed;top:auto!important;bottom:0!important;height:44vh;box-shadow:0 -3px 15px rgba(0,0,0,.15);border-radius:15px 15px 0 0!important;overflow:hidden}#open.bottom.mobileExpanded{height:calc(100vh - 100px)!important}#open.bottom #heading,#open.bottom .kr-spacer{display:none!important}#open.bottom #expander{display:block!important}#main.bottom{height:calc(55vh - 20px)}#pano{position:fixed!important;left:0!important;bottom:0;width:100%!important;height:calc(44vh - 85px)!important;z-index:1005!important}.el-dialog{--el-dialog-width:100vw!important}.el-dialog__footer{overflow:auto;margin-right:10px}.indicator{display:none}#menu ul li.active a .text{transform:translateX(-15px) rotate(-90deg)}#menu ul li.active a .el-icon{transform:translateX(10px)}.showOnMobile{display:block!important}}.el-form-item{margin-bottom:5px!important}.el-form-item__label{line-height:30px!important}#app{font-family:var(--tk-font);color:var(--tk-text);background:var(--tk-canvas)}#top-loader{position:absolute;left:0;right:0;top:0;z-index:999999999;height:2px;overflow:hidden;pointer-events:none}#top-loader .el-progress{line-height:1}#top-loader .el-progress-bar__outer{background:transparent!important}#top-loader .el-progress-bar__inner{background:var(--tk-primary)!important}#head{height:64px;padding:0 18px;background:var(--tk-surface);border-bottom:1px solid var(--tk-border);box-shadow:0 1px 0 rgba(15,23,42,.02);align-items:center;justify-content:flex-start}.head-tools{margin-left:auto}#logo,.head-tools{display:flex;align-items:center}#logo{padding:0 0 0 4px}#logo img{max-height:32px;width:auto;-o-object-fit:contain;object-fit:contain}html.dark #logo img{filter:brightness(0) invert(1)}#logo>div{font-size:14px;letter-spacing:-.01em;color:var(--tk-text)}#head #user{align-items:center;gap:8px;padding:6px 8px 6px 12px;border-left:1px solid var(--tk-border);border-radius:12px;transition:background .18s ease}#head #user:hover{background:var(--tk-canvas)}#greeting{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;max-width:250px;margin-left:12px;padding-left:12px;border-left:1px solid var(--tk-border);color:var(--tk-text-muted);white-space:nowrap;line-height:1.15}#user .header-avatar{margin-left:6px;margin-right:6px}#greeting span{font-size:10px;font-weight:600}#greeting b,#greeting span{max-width:100%;overflow:hidden;text-overflow:ellipsis}#greeting b{font-size:13px;font-weight:800;color:var(--tk-text)}.head-icon-btn{width:36px;height:36px;margin:0 2px;border:0;border-radius:10px;background:transparent;color:var(--tk-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:background .18s ease,color .18s ease}.head-icon-btn:hover{background:var(--tk-canvas);color:var(--tk-primary)}#head #user .uname{font-size:12px!important;font-weight:700;color:var(--tk-text)}#content{background:var(--tk-canvas)}#content,#menu{height:calc(var(--vh, 100vh) - 64px)}#menu{width:88px;background:linear-gradient(180deg,#0b1220,#070d18);padding:0;box-shadow:inset -1px 0 0 hsla(0,0%,100%,.04);flex:none;min-width:0}#menu ul{margin:10px 0 0;padding:0 8px;display:flex;flex-direction:column;gap:4px}#menu ul li{width:100%;height:58px;border-radius:12px}#menu ul li a{flex-direction:column;gap:3px;border-radius:12px;transition:background .18s ease}#menu ul li a .el-icon{width:22px;height:22px;line-height:1;font-size:19px;color:#93a4bd;transform:none!important;display:inline-flex;align-items:center;justify-content:center}#menu ul li a .el-icon svg{width:20px;height:20px;display:block}#menu ul li a .text{position:static;display:block;width:100%;left:auto;transform:none!important;opacity:1;color:#93a4bd;font-size:10.5px;line-height:1;font-weight:600;letter-spacing:0;text-align:center}#menu ul li.active a{background:rgba(59,130,246,.18)}#menu ul li.active a .el-icon,#menu ul li.active a .text{color:#fff;transform:none!important}#menu ul li:hover:not(.active) a{background:hsla(0,0%,100%,.06)}#menu ul li:hover:not(.active) a .el-icon,#menu ul li:hover:not(.active) a .text{color:#dbeafe;transform:none!important}#menu .indicator{display:none!important}#version{bottom:48px;width:auto;padding:7px 4px;border-radius:9px;font-size:9px;font-weight:600;letter-spacing:.02em}#rail-toggle,#version{left:8px;right:8px;background:hsla(0,0%,100%,.06);color:#93a4bd}#rail-toggle{position:absolute;bottom:10px;height:30px;border:0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease}#rail-toggle:hover{background:hsla(0,0%,100%,.12);color:#fff}#rail-toggle svg{width:15px;height:15px;transition:transform .2s ease}#menu.collapsed{width:64px}#menu.collapsed ul{padding:0 6px}#menu.collapsed ul li{height:46px}#menu.collapsed ul li a{flex-direction:row;justify-content:center}#menu.collapsed ul li a .text{display:none}#menu.collapsed ul li a .el-icon{width:22px;height:22px}#menu.collapsed #version{display:none}#menu.collapsed #rail-toggle svg{transform:rotate(180deg)}#content.rail-collapsed #main{width:calc(var(--vw, 100vw) - 64px)}@media (orientation:portrait){#rail-toggle{display:none}#menu.collapsed{width:0}#menu.isopen.collapsed{width:88px!important}}#open{height:calc(var(--vh, 100vh) - 64px);background:var(--tk-canvas);border-right:1px solid var(--tk-border);box-shadow:8px 0 24px -22px rgba(15,23,42,.3)}#open #rv{height:calc(var(--vh, 100vh) - 158px);padding:0 14px 14px}#heading{margin:14px 14px 10px;padding:13px 16px;background:var(--tk-surface);color:var(--tk-text);border:1px solid var(--tk-border);border-radius:14px;box-shadow:var(--tk-shadow-sm);font-size:15px;font-weight:800;letter-spacing:-.01em}#heading span:first-child,#heading span:last-child{color:var(--tk-text-muted);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;top:50%;transform:translateY(-50%);transition:background .18s ease,color .18s ease}#heading span:first-child:hover,#heading span:last-child:hover{background:var(--tk-canvas);color:var(--tk-primary)}#main{width:calc(var(--vw, 100vw) - 88px);height:calc(var(--vh, 100vh) - 64px)}@media (orientation:portrait){#menu.isopen{width:88px!important}#greeting{display:none}#main{width:var(--vw,100vw)}#content,#main{height:calc(var(--vh, 100vh) - 64px)}#open.shown{top:64px!important;height:calc(var(--vh, 100vh) - 64px)!important}#menu ul li.active a .el-icon,#menu ul li.active a .text,#menu ul li a .el-icon,#menu ul li a .text{transform:none!important}}


/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--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-font-weight:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-outline-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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--font-weight-medium:500;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.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}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.rounded-md{border-radius:calc(var(--radius)*0.8)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--background)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,rgba(0,0,0,0.050980392156862744));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{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,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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,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))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.paused{animation-play-state:paused}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing)*1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(14.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(14.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(98.5% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(39.6% .141 25.723);--destructive-foreground:oklch(63.7% .237 25.331);--border:oklch(26.9% 0 0);--input:oklch(26.9% 0 0);--ring:oklch(43.9% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(26.9% 0 0);--sidebar-ring:oklch(43.9% 0 0)}@layer base{*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@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-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-outline-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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}:root{--tk-brand:#2563eb;--tk-primary:var(--tk-brand);--tk-primary-hover:#1d4ed8;--tk-primary-hover:color-mix(in srgb,var(--tk-brand) 84%,#0f172a);--tk-primary-soft:#eaf1ff;--tk-primary-soft:color-mix(in srgb,var(--tk-brand) 10%,#fff);--tk-sidebar:#0b1220;--tk-sidebar-soft:#111b2e;--tk-canvas:#f5f7fb;--tk-surface:#fff;--tk-text:#0f172a;--tk-text-muted:#64748b;--tk-text-soft:#94a3b8;--tk-text-label:#475569;--tk-border:#e5eaf2;--tk-border-soft:#eef2f7;--tk-online:#16a34a;--tk-online-soft:#e7f8ee;--tk-moving:#2563eb;--tk-moving-soft:#eaf1ff;--tk-stopped:#ea580c;--tk-stopped-soft:#fff2e8;--tk-offline:#94a3b8;--tk-offline-soft:#eef2f7;--tk-danger:#dc2626;--tk-danger-soft:#fdecec;--tk-fs-xs:11px;--tk-fs-sm:12px;--tk-fs-md:13px;--tk-fs-lg:15px;--tk-control-h:40px;--tk-radius-sm:10px;--tk-radius:14px;--tk-radius-lg:20px;--tk-shadow-sm:0 1px 2px rgba(15,23,42,0.05);--tk-shadow:0 12px 32px -18px rgba(15,23,42,0.28);--tk-font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--tk-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--headers-bg:transparent;--headers-text:#64748b;--selection:#2563eb;--selection-text:#fff;--el-color-primary:var(--tk-brand);--el-color-primary-light-3:#5b8def;--el-color-primary-light-3:color-mix(in srgb,var(--tk-brand) 72%,#fff);--el-color-primary-light-5:#8fb1f5;--el-color-primary-light-5:color-mix(in srgb,var(--tk-brand) 55%,#fff);--el-color-primary-light-7:#c3d5fa;--el-color-primary-light-7:color-mix(in srgb,var(--tk-brand) 35%,#fff);--el-color-primary-light-8:#d9e4fc;--el-color-primary-light-8:color-mix(in srgb,var(--tk-brand) 25%,#fff);--el-color-primary-light-9:#eaf1ff;--el-color-primary-light-9:color-mix(in srgb,var(--tk-brand) 10%,#fff);--el-color-primary-dark-2:#1d4ed8;--el-color-primary-dark-2:color-mix(in srgb,var(--tk-brand) 84%,#0f172a);--el-color-success:#16a34a;--el-color-success-light-9:#e7f8ee;--el-color-warning:#ea580c;--el-color-warning-light-9:#fff2e8;--el-color-danger:#dc2626;--el-color-danger-light-9:#fdecec;--el-color-info:#64748b;--el-color-info-light-9:#eef2f7;--el-bg-color:#fff;--el-bg-color-page:#f5f7fb;--el-text-color-primary:#0f172a;--el-text-color-regular:#475569;--el-text-color-secondary:#64748b;--el-text-color-placeholder:#94a3b8;--el-border-color:#e5eaf2;--el-border-color-light:#eef2f7;--el-border-color-lighter:#f3f6fa;--el-border-radius-base:12px;--el-border-radius-small:10px;--el-border-radius-round:999px;--el-font-family:var(--tk-font);--el-box-shadow-light:0 12px 32px -18px rgba(15,23,42,0.28)}#app,body,button,html,input,select,textarea{font-family:var(--tk-font)}body{background:var(--tk-canvas);color:var(--tk-text)}.el-button{font-family:var(--tk-font);font-weight:700;border-radius:11px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.el-button--primary{--el-button-bg-color:var(--tk-primary);--el-button-border-color:var(--tk-primary);--el-button-hover-bg-color:var(--tk-primary-hover);--el-button-hover-border-color:var(--tk-primary-hover);--el-button-active-bg-color:var(--tk-primary-hover);--el-button-active-border-color:var(--tk-primary-hover);box-shadow:0 10px 20px -14px rgba(37,99,235,.9)}.el-button--primary:hover{transform:translateY(-1px)}.el-input{min-height:44px;border:1px solid var(--tk-border);border-radius:11px;background:var(--tk-surface);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.el-input:hover{border-color:#cbd5e1}.el-input:focus-within{border-color:var(--tk-primary);box-shadow:0 0 0 4px rgba(37,99,235,.09)}.el-input__inner{height:42px;line-height:42px;padding:0 12px;border:0;outline:none;background:transparent;color:var(--tk-text);font-family:var(--tk-font);font-size:13px}.el-input__inner::-moz-placeholder{color:var(--tk-text-soft)}.el-input__inner::placeholder{color:var(--tk-text-soft)}.el-input.is-disabled{background:var(--el-fill-color-light)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{border-radius:11px;box-shadow:0 0 0 1px var(--tk-border) inset;background:var(--tk-surface);transition:box-shadow .18s ease}.el-input__wrapper:hover,.el-select__wrapper:hover{box-shadow:inset 0 0 0 1px #cbd5e1}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--tk-primary) inset,0 0 0 4px rgba(37,99,235,.09)}.el-form-item__label,.el-input__inner,.el-select__placeholder{font-family:var(--tk-font)}.el-form-item__label{font-size:11px!important;font-weight:700;color:var(--tk-text-muted)!important;letter-spacing:.01em;padding-bottom:6px!important}.el-color-picker .el-color-picker__trigger{width:46px;height:46px;padding:3px;border:1px solid var(--tk-border);border-radius:12px;background:var(--tk-surface);box-shadow:var(--tk-shadow-sm);transition:border-color .18s ease,box-shadow .18s ease}.el-color-picker .el-color-picker__trigger:hover{border-color:#93b4f8;box-shadow:0 0 0 3px rgba(37,99,235,.09)}.el-color-picker .el-color-picker__color{width:100%;height:100%;border:0;border-radius:9px;overflow:hidden}.el-color-picker .el-color-picker__color-inner{border-radius:8px}.el-color-picker .el-color-picker__icon{color:var(--tk-text-muted);font-size:11px}.el-color-picker .el-color-picker__empty{color:var(--tk-text-soft)}.el-color-dropdown.el-popper{padding:12px;border:1px solid var(--tk-border);border-radius:14px;box-shadow:var(--tk-shadow);background:var(--tk-surface)}.el-color-dropdown .el-color-svpanel{border-radius:10px;overflow:hidden}.el-color-dropdown .el-color-alpha-slider,.el-color-dropdown .el-color-hue-slider{height:10px;border-radius:99px;overflow:hidden}.el-color-dropdown .el-color-alpha-slider__bar,.el-color-dropdown .el-color-hue-slider__bar{border-radius:99px}.el-color-dropdown .el-color-alpha-slider__thumb,.el-color-dropdown .el-color-hue-slider__thumb{width:14px;height:14px;border:2px solid #fff;border-radius:99px;box-shadow:0 1px 4px rgba(15,23,42,.35)}.el-color-dropdown .el-color-dropdown__btns{margin-top:10px}.el-color-dropdown .el-color-dropdown__value .el-input__wrapper{height:32px}.el-dialog,.el-message-box{border-radius:var(--tk-radius-lg);box-shadow:0 30px 80px -50px rgba(15,23,42,.55);border:1px solid var(--tk-border)}.el-dialog__header,.el-message-box__header{padding:20px 22px 10px}.el-dialog__body,.el-message-box__content{padding:10px 22px 20px}.el-dialog__footer,.el-message-box__btns{padding:0 22px 20px}.el-overlay{backdrop-filter:blur(2px)}.el-message,.el-notification{border-radius:13px;border:1px solid var(--tk-border);box-shadow:var(--tk-shadow);font-family:var(--tk-font)}.el-message__content,.el-notification__title,.el-tabs__item{font-weight:700}.el-tabs__item{font-family:var(--tk-font);font-size:13px}.el-tabs__active-bar{background:var(--tk-primary);height:2px;border-radius:2px}.el-switch.is-checked .el-switch__core{background:var(--tk-primary);border-color:var(--tk-primary)}.el-popper.is-light{border-radius:12px;border-color:var(--tk-border);box-shadow:var(--tk-shadow)}.el-dropdown-menu,.el-select-dropdown{border-radius:12px;padding:6px}.el-dropdown-menu__item,.el-select-dropdown__item{border-radius:8px;font-family:var(--tk-font);font-size:12px}.el-dropdown__popper.el-popper{padding:4px;overflow:visible;border:1px solid var(--tk-border);border-radius:14px;background:var(--tk-surface);color:var(--tk-text);box-shadow:0 18px 42px rgba(15,23,42,.16)}.map-right-popup.el-dropdown-menu{max-height:min(72vh,560px);overflow-y:auto;padding:4px;border:0;border-radius:10px;background:transparent;box-shadow:none}.map-right-popup .el-dropdown-menu__item{min-height:36px;padding:8px 10px;border-radius:9px;color:var(--tk-text);font-family:var(--tk-font);font-size:12px;line-height:1.35;transition:background-color .13s ease,color .13s ease}.map-right-popup .el-dropdown-menu__item:focus-visible,.map-right-popup .el-dropdown-menu__item:not(.is-disabled):hover{background:var(--tk-primary-soft);color:var(--tk-primary)}.map-right-popup .el-dropdown-menu__item.is-disabled{opacity:.55}@media (prefers-reduced-motion:reduce){.map-right-popup .el-dropdown-menu__item{transition:none}}.tk-dialog{--el-dialog-width:720px;border-radius:20px;overflow:hidden}.tk-dialog.tk-dialog--wide{--el-dialog-width:960px}.tk-dialog.tk-dialog--sm{--el-dialog-width:480px}.tk-dialog.tk-dialog--xwide{--el-dialog-width:1120px}.tk-dialog .el-dialog__header{padding:0;margin:0}.tk-dialog .el-dialog__headerbtn{top:18px;right:14px;width:30px;height:30px;border-radius:9px}.tk-dialog .el-dialog__headerbtn:hover{background:var(--tk-canvas)}.tk-dialog .modal-title{color:var(--tk-text);font-size:17px;font-weight:800;letter-spacing:-.02em}.tk-dialog__header{display:flex;align-items:center;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--tk-border)}.tk-dialog__header--row{padding-right:56px}.tk-dialog .el-dialog__body{max-height:68vh;padding:0 22px 8px!important;overflow-y:auto}.tk-dialog .el-dialog__footer{padding:0;margin:0}.tk-dialog__footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 22px;border-top:1px solid var(--tk-border)}.tk-dialog__footer--end{justify-content:flex-end}.tk-dialog .el-dialog__footer .el-button{min-width:104px;height:42px;margin:0}.tk-dialog .el-dialog__footer .list-dialog__footer .el-button{width:44px;min-width:44px;height:40px;padding:0}.tk-dialog .el-tabs__content,.tk-dialog .el-tabs__nav-wrap{padding-left:0;padding-right:0}.tk-dialog .el-tabs__nav-wrap:after{height:1px;background:var(--tk-border)}.tk-dialog .el-tabs__header{margin-bottom:18px}.tk-dialog .el-form-item{margin-bottom:14px!important}.tk-dialog .el-form-item__label{padding-bottom:6px!important;line-height:1.3!important}.tk-dialog .el-input__wrapper,.tk-dialog .el-select__wrapper{min-height:42px;border-radius:11px}.tk-dialog .el-input__inner{font-size:12.5px}.tk-dialog__tools{display:flex;align-items:center;flex:1;gap:8px;max-width:560px}.tk-dialog__tools .el-input{flex:1}.tk-dialog__tools .el-input__wrapper{min-height:40px;border-radius:11px}.tk-list{border:1px solid var(--tk-border);border-radius:14px;background:var(--tk-surface);overflow:hidden}.tk-list__row{display:flex;align-items:center}.tk-list__row--head{background:var(--tk-canvas);border-bottom:1px solid var(--tk-border)}.tk-list__cell{box-sizing:border-box;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--tk-text-muted);font-family:var(--tk-font);font-size:11px;font-weight:700;letter-spacing:.03em;text-align:left;text-transform:uppercase}.tk-list__row--head .tk-list__cell{white-space:nowrap}button.tk-list__cell{cursor:pointer;transition:color .13s ease}button.tk-list__cell:hover{color:var(--tk-primary)}.tk-list__row--data{border-bottom:1px solid var(--tk-border-soft);cursor:pointer;transition:background-color .13s ease}.tk-list__row--data:last-child{border-bottom:0}.tk-list__row--data .tk-list__cell{min-height:52px;color:var(--tk-text);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.tk-list__row--data:hover{background:var(--tk-canvas)}.tk-list__row--selected,.tk-list__row--selected:hover{background:var(--tk-primary-soft)}.tk-list__scroll{max-height:min(56vh,560px);overflow-y:auto}.tk-list__empty{display:grid;place-items:center;gap:8px;padding:48px 16px;color:var(--tk-text-muted);text-align:center}.tk-list__empty i{color:var(--tk-text-soft);font-size:26px}.tk-list__empty p{margin:0;font-size:12px}.tk-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--tk-text-muted);font-size:12px;cursor:pointer;transition:background-color .13s ease,color .13s ease}.tk-icon-btn:hover{background:var(--tk-danger-soft);color:var(--tk-danger)}.tk-icon-btn:focus-visible{outline:2px solid var(--tk-primary);outline-offset:1px}.tk-list__cell--grow{flex:1;min-width:0}.tab-list{margin-top:10px}.tab-list__scroll{max-height:min(46vh,420px);overflow-y:auto}.tab-attribute-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tab-attribute-form__name{flex:1;min-width:180px}.tab-attribute-form__value{flex:1;min-width:160px}.tk-list__cell--attr-name{flex:0 0 38%}.tk-list__cell--attr-value{flex:1;min-width:0}.tk-list__cell--grow.calendar-rule{padding-top:10px;padding-bottom:10px;line-height:1.45;white-space:normal;text-transform:none;letter-spacing:0}.calendar-rule .day{margin-left:4px;text-transform:capitalize}.tk-inline-input{width:100%;height:32px;padding:0 9px;border:1px solid var(--tk-border);border-radius:9px;background:var(--tk-surface);color:var(--tk-text);font:inherit;font-size:var(--tk-fs-sm)}.tk-inline-input:focus{border-color:var(--tk-primary);outline:none;box-shadow:0 0 0 2px var(--tk-primary-soft)}.tk-list__cell--center{justify-content:center;text-align:center}@media (max-width:760px){.tk-dialog,.tk-dialog.tk-dialog--sm,.tk-dialog.tk-dialog--wide,.tk-dialog.tk-dialog--xwide{--el-dialog-width:calc(100vw - 20px);margin-top:5vh!important}.tk-dialog .el-dialog__body{padding:0 14px 6px}.tk-dialog__footer,.tk-dialog__header{padding-left:14px;padding-right:14px}.tk-dialog__tools{max-width:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background-clip:content-box}.tk-mono{font-family:var(--tk-font-mono);font-variant-numeric:tabular-nums}html.dark{--tk-canvas:#070d18;--tk-surface:#0f1a2c;--tk-text:#e8eef7;--tk-text-muted:#94a3b8;--tk-text-soft:#64748b;--tk-text-label:#a8b7cc;--tk-border:#22304a;--tk-border-soft:#1a2740;--tk-primary-soft:#122a4d;--tk-primary-soft:color-mix(in srgb,var(--tk-brand) 22%,#0f1a2c);--tk-online-soft:#0d2f22;--tk-moving-soft:#122a4d;--tk-stopped-soft:#3a2412;--tk-offline-soft:#182338;--tk-danger-soft:#3a1717;--tk-shadow-sm:0 1px 2px rgba(0,0,0,0.4);--tk-shadow:0 12px 32px -18px rgba(0,0,0,0.8);--el-bg-color:#0f1a2c;--el-bg-color-page:#070d18;--el-bg-color-overlay:#111d31;--el-fill-color-blank:#0f1a2c;--el-fill-color-light:#16233a;--el-fill-color-lighter:#1a2a44;--el-fill-color-dark:#0b1422;--el-fill-color-darker:#080f1c;--el-text-color-primary:#e8eef7;--el-text-color-regular:#c3cfdf;--el-text-color-secondary:#94a3b8;--el-text-color-placeholder:#64748b;--el-text-color-disabled:#475569;--el-border-color:#22304a;--el-border-color-light:#1c2a42;--el-border-color-lighter:#172339;--el-border-color-extra-light:#131e30;--el-mask-color:rgba(2,6,14,0.78);--el-box-shadow-light:0 12px 32px -18px rgba(0,0,0,0.8);--el-bg-color:#0f1a2c!important;--el-bg-color-page:#070d18!important;--el-bg-color-overlay:#111d31!important;--el-fill-color-blank:#0f1a2c!important;--el-fill-color-light:#16233a!important;--el-fill-color-lighter:#1a2a44!important;--el-text-color-primary:#e8eef7!important;--el-text-color-regular:#c3cfdf!important;--el-text-color-secondary:#94a3b8!important;--el-text-color-placeholder:#64748b!important;--el-border-color:#22304a!important;--el-border-color-light:#1c2a42!important;--el-border-color-lighter:#172339!important;--el-border-color-extra-light:#131e30!important}html.dark #app,html.dark body{background:var(--tk-canvas);color:var(--tk-text)}html.dark .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--info):not(.is-text):not(.is-link){--el-button-bg-color:var(--el-fill-color-light);--el-button-hover-bg-color:var(--el-fill-color-lighter);--el-button-active-bg-color:var(--el-fill-color-lighter);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-hover-text-color:var(--tk-text);--el-button-border-color:var(--tk-border);--el-button-hover-border-color:var(--el-border-color)}html.dark .el-popper.is-dark,html.dark .el-tooltip__popper.is-dark{background:var(--el-fill-color-lighter)!important;color:var(--tk-text)!important;border:1px solid var(--tk-border)!important}html.dark .el-popper.is-dark .el-popper__arrow:before{background:var(--el-fill-color-lighter)!important;border-color:var(--tk-border)!important}html.dark .tr1{background:var(--tk-surface)}html.dark .tr2{background:var(--tk-canvas)}html.dark .el-input,html.dark .el-input__wrapper,html.dark .el-select__wrapper,html.dark .el-textarea__inner{background:var(--tk-surface);color:var(--tk-text)}html.dark .el-input__inner{color:var(--tk-text)}html.dark .el-dropdown-menu,html.dark .el-popper.is-light,html.dark .el-select-dropdown{background:var(--el-bg-color-overlay);border-color:var(--tk-border)}html.dark .el-dialog,html.dark .el-message-box,html.dark .el-notification{background:var(--tk-surface)!important;color:var(--tk-text)!important;border-color:var(--tk-border)!important}html.dark .el-dialog__title,html.dark .el-message-box__title,html.dark .el-notification__title{color:var(--tk-text)!important}html.dark .el-dialog__body,html.dark .el-dialog__footer,html.dark .el-dialog__header,html.dark .el-message-box__content,html.dark .el-message-box__header{background:transparent}html.dark .el-dialog__footer>div,html.dark .el-dialog__header>div{border-color:var(--tk-border)!important}html.dark .el-dropdown-menu__item,html.dark .el-select-dropdown__item{color:var(--el-text-color-regular)!important}html.dark .el-dropdown-menu__item:not(.is-disabled):hover,html.dark .el-select-dropdown__item.hover,html.dark .el-select-dropdown__item.is-hovering,html.dark .el-select-dropdown__item.is-selected{background-color:var(--tk-canvas)!important;color:var(--tk-text)!important}html.dark .el-color-dropdown__link-btn,html.dark .el-select-dropdown__empty{color:var(--tk-text-muted)!important}html.dark .el-color-dropdown__link-btn:hover{color:var(--tk-text)!important}html.dark .el-color-dropdown__btn{background:var(--tk-primary)!important;border-color:var(--tk-primary)!important;color:#fff!important}html.dark .el-tabs__item.is-active{color:#93c5fd!important}html.dark .el-tabs__active-bar{background-color:#60a5fa!important}html.dark .el-tabs__nav-wrap:after{background-color:var(--tk-border)!important}html.dark .el-picker-panel{background:var(--el-bg-color-overlay);color:var(--tk-text);border-color:var(--tk-border)}html.dark .el-date-picker__header-label,html.dark .el-date-table th,html.dark .el-picker-panel__icon-btn{color:var(--tk-text-muted)!important}html.dark .el-date-table td,html.dark .el-date-table th{border-color:var(--tk-border-soft)!important}html.dark .el-date-table td{color:var(--tk-text)!important}html.dark .el-date-table td.disabled div,html.dark .el-date-table td.next-month,html.dark .el-date-table td.prev-month{color:var(--tk-text-soft)!important}html.dark .el-date-table td.disabled div{background:var(--tk-canvas)!important}html.dark .el-date-table td.today span{color:#60a5fa!important}html.dark .el-time-panel{background:var(--tk-surface);border-color:var(--tk-border)}html.dark .el-time-spinner__item{color:var(--tk-text-muted)!important}html.dark .el-time-spinner__item.is-active{color:#93c5fd!important}html.dark .leaflet-tile-pane{filter:brightness(.64) saturate(.75) contrast(1.02)}html.dark .leaflet-control-zoom a,html.dark .leaflet-top.leaflet-right .leaflet-control .el-button,html.dark .map-legend,html.dark .map-status-filter,html.dark .map-vehicle-card{background:rgba(15,26,44,.96)!important;border-color:var(--tk-border)!important;color:var(--tk-text-muted)!important}html.dark .map-status-filter .msf-count,html.dark .map-vehicle-card .mvc-metrics b,html.dark .map-vehicle-card .mvc-title b{color:var(--tk-text)!important}html.dark .map-vehicle-card .mvc-actions button{background:var(--tk-surface);border-color:var(--tk-border)}:focus-visible{outline:2px solid var(--tk-primary);outline-offset:2px}.el-button:focus-visible,.el-input__wrapper:focus-within,.el-select__wrapper:focus-within{outline:none}#rv .legacy-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0;margin-bottom:14px}#rv .legacy-toolbar__spacer{flex:1}#rv .legacy-toolbar .el-input{flex:1;max-width:360px}#rv .legacy-toolbar .el-input__wrapper{min-height:40px;border-radius:11px}#rv .legacy-toolbar .el-button{height:40px;min-width:40px;margin:0;padding:0 14px;border-radius:11px}#rv .legacy-list{border:1px solid var(--tk-border)!important;border-radius:16px!important;background:var(--tk-surface);box-shadow:var(--tk-shadow-sm);overflow:hidden}#rv .legacy-list--fill{height:calc(100vh - 200px)}#rv .legacy-list__scroll{height:calc(100vh - 230px);overflow-x:hidden;overflow-y:auto}#rv .legacy-list .deviceHead{background:var(--tk-canvas)!important;border-bottom:1px solid var(--tk-border)!important;padding:10px 14px 8px}#rv .legacy-list .deviceHead .name{border:0!important;padding:0 6px!important;font-size:11px!important;font-weight:800!important;letter-spacing:.05em;text-transform:uppercase;color:var(--tk-text-label)!important}#rv .legacy-list .device{display:flex;width:100%;margin:0;min-height:52px;align-items:center;padding:0 10px;border:0;border-bottom:1px solid var(--tk-border-soft);background:transparent;color:inherit;font:inherit;text-align:left;transition:background .15s ease}#rv .legacy-list .device:last-child{border-bottom:0}#rv .legacy-list .device:hover{background:var(--tk-canvas)}#rv .legacy-list .device .name{border:0!important;padding:12px 8px!important;font-size:12.5px!important;line-height:1.35!important;font-weight:600!important;color:var(--tk-text)!important}#rv .legacy-list .device .name:first-child{font-weight:800!important}#rv .legacy-list .icons div{border:0!important;padding:8px!important;color:var(--tk-text-muted)}#rv .report-intro{letter-spacing:-.01em}#rv .report-intro,#rv .reportType{color:var(--tk-text);font-size:13px;font-weight:700}#rv .reportType{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:var(--tk-surface);border:1px solid var(--tk-border);border-radius:14px;margin-bottom:8px;box-shadow:var(--tk-shadow-sm);transition:border-color .18s ease,background .18s ease,transform .18s ease}#rv .reportType:hover{background:var(--tk-primary-soft);border-color:#a9c5fa;transform:translateY(-1px)}#rv .reportType:after{content:"";flex:none;width:7px;height:7px;margin-left:2px;border-right:2px solid var(--tk-text-soft);border-bottom:2px solid var(--tk-text-soft);transform:rotate(-45deg);transition:border-color .18s ease}#rv .reportType:hover:after{border-color:var(--tk-primary)}#rv .notification-card{flex-direction:column;width:calc(100% - 2px);margin-bottom:10px;padding:0;background:var(--tk-surface)!important;border:1px solid var(--tk-border)!important;border-radius:14px!important;box-shadow:var(--tk-shadow-sm);overflow:hidden}#rv .notification-card>div:first-child{padding:12px 14px!important;font-size:13px!important;font-weight:800!important;border-bottom:1px solid var(--tk-border-soft)!important;text-align:left}#rv .notification-card>div:last-child{padding:12px 14px!important;text-align:left;color:var(--tk-text-muted)}@media (max-width:700px){#rv .legacy-toolbar>div:first-child{display:none}#rv .legacy-toolbar .el-input{max-width:100%;flex:1}#rv .legacy-list{height:calc(100vh - 190px)!important}#rv .legacy-list>div:last-child{height:calc(100vh - 240px)!important}#rv .legacy-list .deviceHead{display:none}#rv .legacy-list .device{flex-wrap:wrap;padding:8px 10px}#rv .legacy-list .device .name{width:auto!important;flex:1 1 100%;padding:4px 6px!important}}body .el-notification{--el-notification-width:min(380px,calc(100vw - 24px));--el-notification-padding:15px 44px 15px 15px;--el-notification-radius:16px;--el-notification-border-color:var(--tk-border,#e5eaf2);--el-notification-title-color:var(--tk-text,#0f172a);--el-notification-content-color:var(--tk-text-muted,#64748b);--el-notification-title-font-size:14px;--el-notification-content-font-size:12.5px;--el-notification-group-margin-left:12px;--el-notification-group-margin-right:6px;--tk-notify-accent:var(--tk-primary,#2563eb);position:fixed;overflow:hidden;isolation:isolate;background:var(--tk-surface,#fff);border:1px solid var(--tk-border,#e5eaf2);border-radius:16px;box-shadow:0 26px 60px -34px rgba(15,23,42,.55),0 2px 10px rgba(15,23,42,.04)}body .el-notification:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--tk-notify-accent)}body .el-notification__icon{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-top:1px;border-radius:11px;background:var(--tk-primary-soft,#eaf1ff);color:var(--tk-primary,#2563eb);font-size:15px}body .el-notification__title{font-weight:800;letter-spacing:-.01em}body .el-notification__content{margin-top:4px;line-height:1.55;text-align:left}body .el-notification__content p{margin:0}body .el-notification__closeBtn{top:12px;right:10px;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;color:var(--tk-text-soft,#94a3b8)}body .el-notification__closeBtn:hover{background:var(--tk-canvas,#f5f7fb);color:var(--tk-text,#0f172a)}body .el-notification:has(.el-notification--success){--tk-notify-accent:var(--tk-online,#16a34a)}body .el-notification:has(.el-notification--success) .el-notification__icon{background:var(--tk-online-soft,#e7f8ee);color:var(--tk-online,#16a34a)}body .el-notification:has(.el-notification--info){--tk-notify-accent:var(--tk-primary,#2563eb)}body .el-notification:has(.el-notification--warning){--tk-notify-accent:var(--tk-stopped,#ea580c)}body .el-notification:has(.el-notification--warning) .el-notification__icon{background:var(--tk-stopped-soft,#fff2e8);color:var(--tk-stopped,#ea580c)}body .el-notification:has(.el-notification--error){--tk-notify-accent:var(--tk-danger,#dc2626)}body .el-notification:has(.el-notification--error) .el-notification__icon{background:var(--tk-danger-soft,#fdecec);color:var(--tk-danger,#dc2626)}body .el-notification.notification-red,body .el-notification.notification-soft-red{--tk-notify-accent:var(--tk-danger,#dc2626)}body .el-notification.notification-red .el-notification__icon,body .el-notification.notification-soft-red .el-notification__icon{background:var(--tk-danger-soft,#fdecec);color:var(--tk-danger,#dc2626)}body .el-notification.notification-soft-yellow,body .el-notification.notification-yellow{--tk-notify-accent:var(--tk-stopped,#ea580c)}body .el-notification.notification-soft-yellow .el-notification__icon,body .el-notification.notification-yellow .el-notification__icon{background:var(--tk-stopped-soft,#fff2e8);color:var(--tk-stopped,#ea580c)}body .el-notification.notification-green,body .el-notification.notification-soft-green{--tk-notify-accent:var(--tk-online,#16a34a)}body .el-notification.notification-green .el-notification__icon,body .el-notification.notification-soft-green .el-notification__icon{background:var(--tk-online-soft,#e7f8ee);color:var(--tk-online,#16a34a)}body .el-notification.notification-info,body .el-notification.notification-soft-info{--tk-notify-accent:var(--tk-primary,#2563eb)}body .el-notification.notification-info .el-notification__icon,body .el-notification.notification-soft-info .el-notification__icon{background:var(--tk-primary-soft,#eaf1ff);color:var(--tk-primary,#2563eb)}body .el-message{--el-message-min-width:min(360px,calc(100vw - 24px));--el-message-padding:11px 16px;width:-moz-max-content;width:max-content;max-width:min(440px,calc(100vw - 24px));border-radius:13px;border:1px solid var(--tk-border,#e5eaf2);background:var(--tk-surface,#fff);box-shadow:0 20px 44px -26px rgba(15,23,42,.5),0 2px 8px rgba(15,23,42,.04);color:var(--tk-text,#0f172a);font-size:13px;font-weight:600}body .el-message--success{border-color:color-mix(in srgb,var(--tk-online,#16a34a) 26%,transparent);background:var(--tk-online-soft,#e7f8ee)}body .el-message--success .el-message__content{color:var(--tk-online,#16a34a)}body .el-message--info{border-color:color-mix(in srgb,var(--tk-primary,#2563eb) 22%,transparent);background:var(--tk-primary-soft,#eaf1ff)}body .el-message--info .el-message__content{color:var(--tk-primary,#2563eb)}body .el-message--warning{border-color:color-mix(in srgb,var(--tk-stopped,#ea580c) 26%,transparent);background:var(--tk-stopped-soft,#fff2e8)}body .el-message--warning .el-message__content{color:var(--tk-stopped,#ea580c)}body .el-message--error{border-color:color-mix(in srgb,var(--tk-danger,#dc2626) 26%,transparent);background:var(--tk-danger-soft,#fdecec)}body .el-message--error .el-message__content{color:var(--tk-danger,#dc2626)}body .el-message__content{line-height:1.45}html.dark body .el-notification{--el-notification-border-color:#1e293b;--el-notification-title-color:#f8fafc;--el-notification-content-color:#94a3b8;background:#111b2e;border-color:#1e293b;box-shadow:0 26px 60px -30px rgba(0,0,0,.75),0 2px 10px rgba(0,0,0,.25)}html.dark body .el-notification__closeBtn{color:#64748b}html.dark body .el-notification__closeBtn:hover{background:#1e293b;color:#f8fafc}html.dark body .el-message{background:#111b2e;border-color:#1e293b;color:#f8fafc}html.dark body .el-message--success{background:#0f2a1d;border-color:#1c4a32}html.dark body .el-message--info{background:#12203c;border-color:#1e355c}html.dark body .el-message--warning{background:#2a1a0f;border-color:#4a2c16}html.dark body .el-message--error{background:#2a1215;border-color:#4a1e23}html.dark body .el-message--success .el-message__content{color:#4ade80}html.dark body .el-message--info .el-message__content{color:#93c5fd}html.dark body .el-message--warning .el-message__content{color:#fdba74}html.dark body .el-message--error .el-message__content{color:#fca5a5}@media (max-width:760px){body .el-notification{--el-notification-width:calc(100vw - 20px);--el-notification-padding:13px 40px 13px 13px;right:10px!important;left:10px!important}body .el-message{min-width:0;max-width:calc(100vw - 20px)}}@media (prefers-reduced-motion:reduce){body .el-message,body .el-notification{transition:none}}