:root{--tl-primary:var(--primary,#00ab8e);--tl-primary-dark:var(--primary-dark,#008f77);--tl-primary-light:var(--primary-light,#e6f7f5);--tl-button:var(--color-button,#00ab8e);--tl-sidebar-bg:var(--color-sidebar,#fff);--tl-header-bg:var(--color-header,#fff);--tl-background:#f8fafc;--tl-surface:#fff;--tl-text-primary:#1e293b;--tl-text-secondary:#64748b;--tl-text-muted:#94a3b8;--tl-border:#e2e8f0;--tl-border-light:#f1f5f9;--tl-font-sans:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--tl-font-size-base:13px}html,body,#root{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;font-family:var(--tl-font-sans);font-size:var(--tl-font-size-base);background-color:var(--tl-background);color:var(--tl-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;margin:0;padding:0;position:fixed;inset:0;overflow:hidden!important}*,:before,:after{box-sizing:border-box;font-family:inherit}.app-layout-root{background:var(--tl-background);flex-direction:row;width:100vw;max-width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.app-main-area{background:var(--tl-background);flex-direction:column;flex:1;width:100%;min-width:0;height:100dvh;display:flex;position:relative;overflow:hidden}.app-left-sidebar{background:var(--tl-sidebar-bg);border-right:2px solid var(--tl-border);z-index:1200;-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;height:100%;transition:width .18s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;width:270px!important;min-width:270px!important;max-width:270px!important}.app-left-sidebar-collapsed{width:64px!important;min-width:64px!important;max-width:64px!important}.app-brand-header{flex-shrink:0;width:100%;box-shadow:0 2px 6px #0000000a;border-bottom:2px solid var(--tl-border)!important;background:var(--tl-sidebar-bg)!important;justify-content:space-between!important;align-items:center!important;height:88px!important;min-height:88px!important;padding:0 18px!important;display:flex!important}.app-brand-header-collapsed{justify-content:center!important;height:72px!important;min-height:72px!important;padding:0!important}.app-brand-logo-wrap{flex:1;justify-content:flex-start;align-items:center;min-width:0;height:100%;display:flex}.app-brand-logo{object-fit:contain;object-position:left center;display:block;width:auto!important;max-width:190px!important;height:52px!important;max-height:56px!important}.app-collapse-btn{cursor:pointer;transition:all .15s;box-shadow:0 2px 5px #0000000d;border:1.5px solid var(--tl-border)!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;color:var(--tl-text-primary)!important;background:var(--tl-surface)!important;border-radius:9px!important;justify-content:center!important;align-items:center!important;padding:0!important;display:flex!important}.app-collapse-btn:hover{transform:scale(1.04);background:var(--tl-primary-light)!important;color:var(--tl-primary)!important;border-color:var(--tl-primary)!important}.app-menu-list{flex-direction:column;flex:1;gap:4px;min-height:0;padding:10px 8px;display:flex;overflow:hidden auto}.app-menu-list::-webkit-scrollbar{width:3px}.app-menu-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.app-nav-item{cursor:pointer;width:100%;min-height:42px;color:var(--tl-text-secondary);white-space:nowrap;border-radius:8px;align-items:center;gap:12px;padding:8px 14px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s;display:flex;position:relative}.app-nav-item:hover{color:var(--tl-text-primary);background:#f1f5f9}.app-nav-item-collapsed{justify-content:center;gap:0;padding:8px 0}.app-nav-item-active{background:var(--tl-primary-light);color:var(--tl-primary);font-weight:600}.app-nav-item-active:before{content:"";background:var(--tl-primary);border-radius:0 3px 3px 0;width:4px;position:absolute;top:15%;bottom:15%;left:0}.app-nav-icon{width:22px;min-width:22px;height:22px;color:var(--tl-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-sidebar-bottom{background:var(--tl-sidebar-bg);border-top:1.5px solid var(--tl-border);flex-direction:column;gap:6px;width:100%;margin-top:auto;padding:12px 10px;display:flex}.app-account-section{border:1.5px solid var(--tl-border);background:var(--tl-background);box-sizing:border-box;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:46px;padding:6px 14px;font-size:12.5px;font-weight:500;display:flex}.app-logout-row{cursor:pointer;width:100%;min-height:40px;color:var(--tl-text-secondary);box-sizing:border-box;border-radius:9px;align-items:center;gap:10px;padding:6px 14px;font-size:13.5px;font-weight:500;transition:all .12s;display:flex}.app-logout-row:hover{color:#ef4444;background:#fef2f2}@media (width<=768px){.app-left-sidebar,.app-left-sidebar-collapsed{width:64px!important;min-width:64px!important;max-width:64px!important}.app-brand-logo-wrap,.app-nav-label,.app-account-text,.app-logout-label{display:none!important}.app-brand-header{justify-content:center!important;height:72px!important;padding:0!important}.swal2-popup{width:90%!important;max-width:360px!important;padding:1rem!important;font-size:.85rem!important}.swal2-title{font-size:1.1rem!important}.swal2-html-container{font-size:.85rem!important}.swal2-actions button{padding:.5rem .8rem!important;font-size:.8rem!important}}.leaflet-container{background-color:#242f3e!important;outline:none!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important}.leaflet-tile-pane,.leaflet-tile-container{will-change:transform}.leaflet-tile{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;visibility:inherit!important}.leaflet-exact-reference-marker{backface-visibility:hidden;will-change:transform;box-shadow:none!important;pointer-events:auto!important;box-sizing:border-box!important;z-index:500!important;background:0 0!important;border:none!important;outline:none!important;transition:none!important}@keyframes markerFadeIn{0%{opacity:0}to{opacity:1}}.leaflet-exact-reference-marker.marker-entering{animation:.2s ease-out both markerFadeIn}.leaflet-exact-reference-marker .marker-interactive-container{pointer-events:auto!important;cursor:pointer!important;box-sizing:border-box!important;-webkit-tap-highlight-color:transparent!important;width:30px!important;height:30px!important;box-shadow:none!important;filter:none!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;display:flex!important;position:relative!important}.leaflet-exact-reference-marker .vehicle-badge-pill{box-sizing:border-box!important;width:max-content!important;max-width:min(92vw,290px)!important;min-height:25px!important;box-shadow:none!important;filter:none!important;letter-spacing:.1px!important;white-space:nowrap!important;pointer-events:auto!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;z-index:20!important;font-variant-numeric:tabular-nums lining-nums!important;font-feature-settings:"tnum" 1!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;gap:6px!important;margin:0!important;padding:4px 10px!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:1.2!important;display:flex!important;position:absolute!important;bottom:35px!important;left:50%!important;transform:translate(-50%)translateZ(0)!important}.leaflet-exact-reference-marker .vehicle-name{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;letter-spacing:.1px!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:200px!important;text-shadow:none!important;background:0 0!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;display:inline-block!important;overflow:hidden!important}.leaflet-exact-reference-marker .vehicle-speed{color:#007a3d!important;-webkit-text-fill-color:#007a3d!important;letter-spacing:.1px!important;white-space:nowrap!important;font-variant-numeric:tabular-nums lining-nums!important;font-feature-settings:"tnum" 1!important;text-shadow:none!important;background:0 0!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;display:inline-block!important}.leaflet-exact-reference-marker .vehicle-badge-tail{filter:none!important;width:0!important;height:0!important;box-shadow:none!important;pointer-events:none!important;z-index:21!important;border-top:7px solid #fff!important;border-left:6px solid #0000!important;border-right:6px solid #0000!important;display:block!important;position:absolute!important;bottom:27px!important;left:50%!important;transform:translate(-50%)translateZ(0)!important}.leaflet-exact-reference-marker .arrow-rotation-container,.vehicle-arrow-container{transform-origin:50%!important;will-change:transform!important;pointer-events:auto!important;cursor:pointer!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;box-shadow:none!important;filter:none!important;justify-content:center!important;align-items:center!important;transition:none!important;display:flex!important}.leaflet-exact-reference-marker .vehicle-arrow-svg,.vehicle-arrow-svg{shape-rendering:geometricprecision!important;filter:none!important;width:25px!important;height:25px!important;box-shadow:none!important;display:block!important}.clean-white-popup-card{backface-visibility:hidden;will-change:transform;z-index:1000!important;transition:none!important;animation:none!important}.clean-white-popup-card .leaflet-popup-content-wrapper{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;transition:none!important;overflow:visible!important}.clean-white-popup-card .leaflet-popup-content{margin:0!important;padding:0!important;transition:none!important;overflow:visible!important}.clean-white-popup-card .leaflet-popup-close-button{display:none!important}.clean-white-popup-card .leaflet-popup-tip-container{height:8px!important;margin-top:-1px!important;transition:none!important;overflow:visible!important}.clean-white-popup-card .leaflet-popup-tip{box-shadow:none!important;background:#fff!important;border:1.2px solid #cbd5e1!important;width:10px!important;height:10px!important;margin:-5px auto 0!important}.vehicle-popup-card{z-index:1001;border:1.2px solid #cbd5e1;border-radius:8px;width:260px;max-width:min(300px,100vw - 100px);overflow:hidden;box-shadow:0 6px 18px #0f172a1f;box-sizing:border-box!important;color:#1e293b!important;background:#fff!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important;transition:none!important}.vehicle-popup-header{box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:7px 11px;display:flex}.vehicle-popup-title{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;min-width:0;font-size:13px;font-weight:500;overflow:hidden;color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important}.vehicle-popup-body{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex-direction:column;gap:4px;max-height:250px;padding:8px 11px;font-size:12px;display:flex;overflow-y:auto;color:#334155!important;box-sizing:border-box!important;background-color:#fff!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important}.vehicle-popup-row{border-bottom:1px solid #f1f5f9;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:6px;min-height:22px;padding:2px 0;display:grid;box-sizing:border-box!important;font-variant-numeric:tabular-nums lining-nums!important}.vehicle-popup-row:last-child{border-bottom:none}.vehicle-popup-row>span,.vehicle-popup-location>span{font-size:11.5px;font-weight:400;line-height:1.2;color:#64748b!important;-webkit-text-fill-color:#64748b!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important}.vehicle-popup-row>strong{overflow-wrap:anywhere;font-size:12px;font-weight:400;line-height:1.2;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;font-variant-numeric:tabular-nums lining-nums!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important}.vehicle-popup-location{border-top:1px solid #e2e8f0;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:6px;min-height:22px;margin-top:2px;padding:3px 0 1px;line-height:1.35;display:grid;box-sizing:border-box!important}.vehicle-popup-location>strong{font-size:12px;font-weight:400;line-height:1.2;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif!important;display:block!important;overflow:hidden!important}@media (width<=768px){.leaflet-exact-reference-marker .marker-interactive-container{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important}.leaflet-exact-reference-marker .vehicle-badge-pill{border-radius:6px!important;gap:6px!important;min-height:25px!important;padding:4px 10px!important;font-size:13px!important;font-weight:400!important;bottom:35px!important}.leaflet-exact-reference-marker .vehicle-name{max-width:200px!important;font-size:13px!important;font-weight:400!important}.leaflet-exact-reference-marker .vehicle-speed{font-size:13px!important;font-weight:400!important}.leaflet-exact-reference-marker .vehicle-badge-tail{bottom:27px!important}.leaflet-exact-reference-marker .arrow-rotation-container,.vehicle-arrow-container{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important}.leaflet-exact-reference-marker .vehicle-arrow-svg,.vehicle-arrow-svg{width:25px!important;height:25px!important}}
