.sidebar{width:240px;height:100vh;background-color:#222d32;display:flex;flex-direction:column;overflow:hidden}.sidebar-logo{height:56px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 16px;background-color:#3c8dbc;color:#fff}.sidebar-logo img{width:34px;height:34px;object-fit:contain}.sidebar-logo h2{font-size:16px;font-weight:600;white-space:nowrap}.sidebar-menu{flex:1;overflow-y:auto;list-style:none;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:transparent transparent}.sidebar-menu li a{display:flex;align-items:center;gap:10px;padding:12px 16px;color:#b8c7ce;text-decoration:none;cursor:pointer;font-size:14px;transition:background-color .2s ease,padding-left .2s ease}.sidebar-menu li a:hover{background-color:#1e282c;color:#fff;padding-left:20px}.sidebar-menu svg{font-size:16px}.sidebar-menu li a.active{background-color:#1e282c;color:#3c8dbc;border-left:3px solid #3c8dbc}.treeview>a{display:flex;justify-content:space-between;align-items:center}.treeview>a span{flex:1}.treeview .pull-right{margin-left:auto;font-size:12px;color:#90a4ae;transition:transform .25s ease}.treeview.menu-open>a .pull-right{transform:rotate(-90deg)}.treeview-menu{max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);background-color:#2c3b41;transition:max-height .35s ease,opacity .25s ease,transform .25s ease}.treeview.menu-open .treeview-menu{max-height:500px;opacity:1;transform:translateY(0)}.treeview-menu li a{padding:10px 16px 10px 42px;font-size:13px;color:#8aa4af}.treeview-menu li a:hover,.treeview-menu li a.active{background-color:#1e282c;color:#fff}.treeview.active>a{background-color:#1e282c;color:#fff}.treeview.btn-danger>a{background-color:#b71c1c;color:#fff}.treeview.btn-danger.menu-open>a{background-color:#d32f2f}.sidebar-menu::-webkit-scrollbar{width:8px}.sidebar-menu::-webkit-scrollbar-track{background-color:transparent}.sidebar-menu::-webkit-scrollbar-thumb{background-color:transparent;border-radius:4px;transition:background-color .4s ease}.sidebar-menu:hover::-webkit-scrollbar-thumb{background-color:#90a4ae}.sidebar-menu:hover{scrollbar-color:#90a4ae transparent}.main-content{padding:20px}@media(max-width:1024px){.sidebar{width:200px}.sidebar-logo{height:50px}.sidebar-logo img{width:28px;height:28px}.sidebar-logo h2{font-size:14px}.sidebar-menu li a{padding:10px 12px;font-size:13px}}@media(max-width:768px){.sidebar{position:fixed;left:-200px;top:0;z-index:99;width:200px;height:100vh;transition:left .3s ease}.sidebar.active{left:0}.sidebar-logo{height:48px}.sidebar-logo img{width:24px;height:24px}.sidebar-logo h2{font-size:12px}.sidebar-menu li a{padding:10px 12px;font-size:12px}.sidebar-menu svg{font-size:14px}}@media(max-width:480px){.sidebar{width:160px;left:-160px}.sidebar-logo{height:44px;padding:0 8px}.sidebar-logo img{width:20px;height:20px}.sidebar-logo h2{font-size:11px}.sidebar-menu li a{padding:8px 10px;font-size:11px;gap:6px}.sidebar-menu svg{font-size:12px}}.loader-overlay{position:fixed;inset:0;background:#ffffffbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .25s ease-in-out}.loader-card{display:flex;flex-direction:column;align-items:center;padding:22px 28px;border-radius:10px;background:#fff;box-shadow:0 8px 24px #0000001f}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid #e6e6e6;border-top-color:#3c8dbc;animation:spin .9s linear infinite}.loader-text{margin-top:12px;font-size:14px;color:#444;letter-spacing:.3px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.topbar{height:56px;background-color:#3c8dbc;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#fff}.top-left{display:flex;align-items:center}.top-right{display:flex;align-items:center;gap:14px;position:relative}.icon-btn{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;position:relative;padding:6px;border-radius:4px}.icon-btn:hover{background:#ffffff26}.badge{position:absolute;top:-4px;right:-6px;background:#f39c12;color:#000;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px}.notify-wrap{position:relative}.notify-dropdown{position:absolute;right:0;top:44px;width:260px;background:#fff;color:#333;border-radius:4px;box-shadow:0 4px 10px #00000026;z-index:999}.notify-header{padding:10px;background:#f4f6f8;font-size:13px;font-weight:600}.notify-body{padding:10px;font-size:13px}.notify-body p{margin-bottom:6px}.notify-footer{padding:8px 10px;background:#f4f6f8;text-align:center}.notify-footer a{color:#2f8fc1;text-decoration:none;font-size:13px;font-weight:600}.profile-wrap{position:relative}.profile-trigger{cursor:pointer;font-size:14px;font-weight:500;line-height:1;padding:8px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:#fff;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.profile-trigger:hover{background:transparent;border-color:transparent}.profile-trigger:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:1px}.caret{margin-left:2px;font-size:10px;opacity:.9}.profile-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:210px;background:#fff;color:#2f3640;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 26px #00000024;overflow:hidden;z-index:999}.profile-item{width:100%;border:0;background:transparent;text-align:left;padding:12px 14px;font-size:14px;display:flex;align-items:center;gap:10px;color:inherit;font-weight:500;min-height:44px;cursor:pointer}.profile-item:hover{background:#f6f8fb}.profile-item:focus-visible{outline:none;background:#eef5ff}.profile-icon{width:18px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.profile-divider{height:1px;background:#e5e7eb;margin:0}.profile-item.logout{color:#d32f2f;font-weight:600}.profile-item.logout:hover{background:#fdecea}.hamburger{color:#fff;font-size:20px;cursor:pointer;padding:6px 8px;border-radius:4px}.topbar{box-shadow:0 1px 2px #0003}@media(max-width:1024px){.topbar{height:52px;padding:0 12px}.top-right{gap:10px}.icon-btn{font-size:16px;padding:4px}.hamburger{font-size:18px;padding:4px 6px}}@media(max-width:768px){.topbar{height:48px;padding:0 10px}.top-left,.top-right{gap:8px}.icon-btn{font-size:16px;padding:4px}.hamburger{display:block!important;font-size:16px;padding:4px}.notify-dropdown{width:240px}.profile-trigger{max-width:150px;font-size:13px;padding:5px 8px}.profile-dropdown{width:196px}.notify-body,.notify-header,.notify-footer{font-size:12px}}@media(max-width:480px){.topbar{height:44px;padding:0 8px}.top-right{gap:6px}.icon-btn,.hamburger{font-size:14px;padding:3px}.notify-dropdown{width:220px;top:40px}.profile-trigger{max-width:110px;font-size:12px;padding:4px 6px}.profile-dropdown{width:182px;top:calc(100% + 6px)}.notify-body,.notify-header,.notify-footer{font-size:11px;padding:6px 8px}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app{display:flex;min-height:100vh;background:#f4f6f9}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100vh}.content{flex:1;overflow:auto;background:#f4f6f9}.content>[class$=-page],.content>[class$=-container]{background:#f4f6f9!important}.sidebar{transition:width .3s ease,left .3s ease}.sidebar-backdrop{display:none}@media(min-width:769px){.app.sidebar-collapsed .sidebar{width:0;min-width:0;overflow:hidden}.app.sidebar-collapsed .sidebar-logo,.app.sidebar-collapsed .sidebar-menu{display:none}}@media(max-width:768px){.sidebar-backdrop{display:block;position:fixed;inset:0;background:#00000059;z-index:98}}.status-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.card{padding:16px 12px;border-radius:8px;color:#fff;text-align:center;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;justify-content:space-between;transition:box-shadow .2s,outline .2s}.card.selected{outline:3px solid #222;box-shadow:0 4px 16px #0000002e;z-index:1}@media(max-width:1200px){.status-cards{grid-template-columns:repeat(3,1fr);gap:10px}.card{padding:12px 10px}.card-number{font-size:28px;margin-bottom:8px}.card-label{padding:6px;font-size:11px}}@media(max-width:1024px){.status-cards{grid-template-columns:repeat(2,1fr);gap:10px}.card{padding:12px 8px}.card-number{font-size:24px}.card-label{font-size:10px}}@media(max-width:768px){.status-cards{grid-template-columns:repeat(2,1fr);gap:8px}.card{padding:10px 6px}.card-number{font-size:20px;margin-bottom:6px}.card-label{padding:5px;font-size:9px}}@media(max-width:480px){.status-cards{grid-template-columns:1fr;gap:8px}.card{padding:8px 6px}.card-number{font-size:18px;margin-bottom:4px}.card-label{padding:4px;font-size:8px}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out,-o-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.status-cluster-icon{background:transparent;border:none}.status-cluster{display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 2px 6px #0006;cursor:pointer}.status-cluster span{display:flex;align-items:center;justify-content:center;width:calc(100% - 10px);height:calc(100% - 10px);border-radius:50%;background:#fff;color:#1f2937;font:700 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.dt-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:#1f2937;gap:12px;flex-wrap:wrap}.dt-length,.dt-search{display:inline-flex;align-items:center;gap:8px}.dt-length select,.dt-search input{height:34px;padding:4px 10px;border-radius:6px;border:1px solid #d1d5db;font-size:13px}.dt-length select{min-width:70px;cursor:pointer}.dt-search input{min-width:220px}.dt-search input:focus,.dt-length select:focus{outline:none;border-color:#3c8dbc;box-shadow:0 0 0 2px #3c8dbc26}.dt-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0;flex-wrap:wrap}.dt-info{font-size:13px;color:#4b5563}.dt-pagination{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.dt-page-btn{min-width:34px;height:34px;padding:0 10px;border-radius:4px;border:1px solid #d1d5db;background:#f9fafb;cursor:pointer;font-size:12px;color:#374151}.dt-page-btn:hover:not(:disabled){background:#eef2f7}.dt-page-btn.active{background:#3c8dbc;border-color:#3c8dbc;color:#fff}.dt-page-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1024px){.dt-toolbar{font-size:13px}.dt-page-btn{height:32px;min-width:32px}}@media(max-width:768px){.dt-toolbar{flex-direction:column;gap:10px;align-items:flex-start;font-size:12px}.dt-length,.dt-search{width:100%}.dt-length select,.dt-search input{flex:1;min-width:0}.dt-footer{flex-direction:column;align-items:flex-start}.dt-pagination{flex-wrap:wrap}.dt-page-btn{padding:0 8px;font-size:11px}}@media(max-width:480px){.dt-toolbar,.dt-info{font-size:10px}.dt-page-btn{height:30px;min-width:30px;font-size:10px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;font-size:1rem;line-height:1.5;color:#1f2937}.app{display:flex;height:100vh}.main{flex:1;display:flex;flex-direction:column;min-width:0}.top-left{display:flex;align-items:center;gap:12px}.content{padding:15px;overflow:auto}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:15px}.filters select{padding:8px;border-radius:4px;border:1px solid #cbd5e1}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:15px}.card{padding:14px;border-radius:6px;color:#fff;box-shadow:0 4px 10px #0000000d}.card h2{font-size:26px}.card p{margin-top:8px;padding:6px 0;background:#fff;color:#000;font-size:12px;font-weight:600;text-align:center;border-radius:2px}.green{background:#16a34a}.orange{background:#f59e0b}.blue{background:#2563eb}.red{background:#b91c1c}.pink{background:#db2777}.map{height:360px;border-radius:6px;margin-bottom:15px;border:1px dashed #cbd5e1;overflow:hidden}.advanced-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}.filter-item.inside{width:100%}.input-with-btn{display:flex;align-items:stretch;background:#fff;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;min-height:38px;transition:border-color .2s ease,box-shadow .2s ease}.input-with-btn:focus-within{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.input-with-btn input{flex:1;min-width:0;padding:6px 8px;border:none;outline:none;font-size:.8125rem;color:#0f172a;background:transparent}.input-with-btn input::placeholder{color:#6b7280}.search-btn{background:#f4b400;border:none;flex:0 0 auto;min-width:66px;padding:0 10px;cursor:pointer;font-size:.8125rem;font-weight:600;white-space:nowrap;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.search-btn:hover{background:#e6a700}.input-with-btn input[type=date]{padding-right:10px}.filter-item.clear{display:flex;align-items:stretch}.clear-btn{width:100%;min-height:38px;padding:0 10px;border-radius:6px;border:1px solid #cbd5e1;background:#f3f4f6;color:#334155;font-size:.8125rem;font-weight:600;line-height:1;cursor:pointer;transition:all .2s ease}.clear-btn:hover{background:#e5e7eb}@media(max-width:1024px){.advanced-filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.search-btn{min-width:64px}}@media(max-width:768px){.advanced-filters{grid-template-columns:1fr}.search-btn{min-width:66px}}.table-wrap{background:#fff;border-radius:6px;overflow:auto;border:1px solid #e5e7eb}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:10px;border-bottom:1px solid #e5e7eb;font-size:13px;text-align:left}th{background:#f8fafc;font-weight:600}td{color:#334155}.status{padding:3px 8px;border-radius:12px;font-size:12px;color:#fff}.intransit{background:#22c55e}.stopped{background:#f97316}@media(max-width:768px){.hamburger{display:block}.sidebar{position:fixed;left:0;top:0;height:100%;z-index:9999;transform:translate(-100%)}.sidebar.show{transform:translate(0)}.map{height:260px}}.filters select{width:100%;height:40px;padding:8px 12px;border-radius:6px;border:1px solid #cbd5e1;background-color:#fff;font-size:14px;color:#0f172a;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='gray' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.filters select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:15px}@media(max-width:1024px){html{font-size:15px}.filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){html{font-size:14px}.filters{grid-template-columns:1fr;gap:10px}.filters select,.filters input{padding:6px 10px;font-size:12px}}@media(max-width:480px){html{font-size:13px}.filters{grid-template-columns:1fr;gap:8px}.filters select,.filters input{padding:5px 8px;font-size:11px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--live-ink: #0f172a;--live-muted: #64748b;--live-accent: #2563eb;--live-accent-dark: #1d4ed8;--live-surface: #ffffff;--live-border: #e5e7eb;--live-shadow: 0 10px 28px rgba(15, 23, 42, .07);--live-shadow-lg: 0 20px 44px rgba(15, 23, 42, .1);--live-radius: 16px}.live-container{padding:20px;background:linear-gradient(180deg,#eef2ff,#f8fafc 220px);min-height:100vh;color:var(--live-ink);display:flex;flex-direction:column;gap:18px}.live-empty{background:var(--live-surface);border-radius:var(--live-radius);box-shadow:var(--live-shadow);padding:40px;text-align:center;color:var(--live-muted)}.live-header{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--live-surface);border:1px solid var(--live-border);border-radius:var(--live-radius);padding:18px 22px;box-shadow:var(--live-shadow)}.live-title h1{margin:0;font-size:20px;font-weight:800;color:#111827;display:flex;align-items:center;gap:10px;letter-spacing:-.01em}.live-title-icon{color:#fff;background:linear-gradient(135deg,#2563eb,#1e40af);width:34px;height:34px;padding:8px;border-radius:10px;box-sizing:border-box}.live-title p{margin:6px 0 0;color:var(--live-muted);font-size:12px}.live-controls{display:flex;flex-direction:column;gap:8px;min-width:320px}.live-controls-row{display:flex;flex-direction:column;gap:6px}.live-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.live-status-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#16a34a}.live-status-live.offline{color:#dc2626}.live-status-live.unknown{color:#64748b}.live-icon-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--live-border);background:#f8fafc;color:var(--live-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px}.live-icon-btn:hover{border-color:var(--live-accent);color:var(--live-accent)}.live-status-updated{font-size:11px;color:var(--live-muted);white-space:nowrap}.live-controls label{font-size:10px;font-weight:700;color:var(--live-muted);text-transform:uppercase;letter-spacing:.14em}.vehicle-select-trigger{width:100%;padding:9px 12px;border-radius:10px;border:1px solid var(--live-border);background:#f8fafc;font-size:12px;font-weight:600;color:var(--live-ink);text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:border-color .15s ease,box-shadow .15s ease}.vehicle-select-trigger:hover,.vehicle-select-trigger:focus{border-color:var(--live-accent);box-shadow:0 0 0 3px #2563eb26;outline:none;background:#fff}.vehicle-select-placeholder{color:#94a3b8;font-weight:500}.vehicle-select-caret{font-size:9px;color:var(--live-muted);flex-shrink:0}.vehicle-select-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1000;background:#fff;border:1px solid var(--live-border);border-radius:10px;box-shadow:var(--live-shadow-lg);overflow:hidden}.vehicle-select-search{width:100%;height:34px;padding:4px 12px;border:none;border-bottom:1px solid var(--live-border);font-size:12px;color:var(--live-ink);box-sizing:border-box}.vehicle-select-list{list-style:none;margin:0;padding:4px;max-height:240px;overflow-y:auto}.vehicle-select-list li button{display:block;width:100%;text-align:left;padding:7px 10px;border:none;background:transparent;border-radius:6px;font-size:12px;font-weight:500;color:var(--live-ink);cursor:pointer}.vehicle-select-list li button.active{background:#dbeafe;color:var(--live-accent-dark);font-weight:700}.vehicle-select-empty{padding:10px;font-size:11px;color:#94a3b8;text-align:center}.live-stat-strip{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) minmax(190px,1.3fr) minmax(160px,1.1fr);gap:12px}.live-stat-card{background:var(--live-surface);border:1px solid var(--live-border);border-radius:var(--live-radius);padding:16px;box-shadow:var(--live-shadow);display:flex;align-items:center;gap:12px;position:relative}.live-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;color:#fff}.live-stat-icon--speed{background:linear-gradient(135deg,#16a34a,#15803d)}.live-stat-icon--heading{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.live-stat-icon--time{background:linear-gradient(135deg,#2563eb,#1e40af)}.live-stat-icon--signal.live-signal-strong{background:linear-gradient(135deg,#16a34a,#15803d)}.live-stat-icon--signal.live-signal-medium{background:linear-gradient(135deg,#f59e0b,#d97706)}.live-stat-icon--signal.live-signal-weak{background:linear-gradient(135deg,#dc2626,#991b1b)}.live-stat-icon--signal.live-signal-unknown{background:linear-gradient(135deg,#94a3b8,#64748b)}.live-stat-icon--status.moving{background:linear-gradient(135deg,#16a34a,#15803d)}.live-stat-icon--status.idle{background:linear-gradient(135deg,#f59e0b,#d97706)}.live-stat-icon--status.stopped{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.live-stat-icon--status.offline{background:linear-gradient(135deg,#dc2626,#991b1b)}.live-stat-icon--status.unknown{background:linear-gradient(135deg,#94a3b8,#64748b)}.live-stat-value{font-size:17px;font-weight:800;color:var(--live-ink);line-height:1.2;white-space:nowrap}.live-stat-value--sm{font-size:12px}.live-stat-value--wrap{white-space:normal;line-height:1.3}.live-stat-unit{font-size:11px;font-weight:600;color:var(--live-muted)}.live-stat-label{font-size:10px;font-weight:700;color:var(--live-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.live-stat-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}@media(max-width:1024px){.live-stat-strip{grid-template-columns:repeat(2,1fr)}}.live-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;align-items:stretch}.live-map-card{position:relative;background:var(--live-surface);border:1px solid var(--live-border);border-radius:var(--live-radius);overflow:hidden;box-shadow:var(--live-shadow-lg);display:flex;flex-direction:column}.live-map{position:relative;flex:1 1 auto;min-height:360px;overflow:hidden}.live-map-type-tabs{position:absolute;top:10px;left:10px;z-index:900;display:flex;gap:4px;background:#fffffff7;border-radius:8px;padding:3px;box-shadow:0 1px 4px #0000002e}.live-map-type-tabs button{border:none;background:transparent;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer}.live-map-type-tabs button.active{background:var(--live-accent);color:#fff}.live-map-toolbar-float{position:absolute;top:10px;right:8px;z-index:900;display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000002e;overflow:hidden}.live-map-toolbar-float button{width:32px;height:32px;padding:0;border:none;background:#fff;font-size:15px;font-weight:600;color:#475569;cursor:pointer}.live-map-toolbar-float button:hover{background:#f8fafc;color:var(--live-accent)}.live-map-toolbar-float-divider{height:1px;background:#e2e8f0}.live-map-legend{position:absolute;left:10px;bottom:30px;z-index:900;background:#fffffff2;border:1px solid var(--live-border);border-radius:8px;font-size:11px;color:#334155;box-shadow:0 1px 4px #00000026;max-width:min(320px,calc(100% - 20px))}.live-legend-toggle{display:block;width:100%;border:none;background:transparent;padding:6px 10px;font-size:11px;font-weight:700;color:#334155;cursor:pointer;text-align:left}.live-map-legend.collapsed .live-legend-toggle{padding:5px 10px}.live-legend-body{display:grid;grid-template-columns:repeat(2,auto);gap:4px 14px;padding:0 10px 8px}.live-legend-body div{display:flex;align-items:center;gap:6px;white-space:nowrap}.live-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.live-legend-swatch.live-legend-line{width:16px;height:3px;border-radius:2px}.live-legend-swatch.live-legend-line.live-legend-dashed{background:none!important;border-top:3px dashed;height:0}.live-map-fullscreen{position:fixed;inset:16px;z-index:2000;height:auto!important}.live-map-fullscreen-close{position:absolute;top:12px;right:12px;z-index:1000;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--live-border);background:#fff;cursor:pointer;font-size:12px;font-weight:600;box-shadow:0 1px 4px #00000026}.live-map-options{position:relative;padding:8px 14px;flex-shrink:0}.live-map-options-btn{height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--live-border);background:#f8fafc;color:var(--live-ink);font-size:12px;font-weight:600;cursor:pointer}.live-map-options-btn:hover{border-color:var(--live-accent);color:var(--live-accent)}.live-map-options-panel{position:absolute;bottom:calc(100% + 4px);left:14px;z-index:950;background:#fff;border:1px solid var(--live-border);border-radius:10px;box-shadow:var(--live-shadow-lg);padding:10px 14px;display:flex;flex-direction:column;gap:10px}.live-map-options-panel label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:500;color:var(--live-ink);white-space:nowrap}.live-marker-label{background:#fff!important;border:1px solid var(--live-border)!important;border-radius:8px!important;padding:6px 10px!important;font-size:11px!important;color:var(--live-ink)!important;box-shadow:0 2px 6px #00000026!important;line-height:1.5}.live-popup{display:flex;flex-direction:column;gap:4px;min-width:180px;font-size:12px}.live-popup-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.live-popup-row span:first-child{color:#64748b;font-weight:600}.live-popup-row--location{align-items:flex-start}.live-popup-row--location strong{text-align:right;max-width:130px}.live-marker-badge{display:block;width:fit-content;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;color:#fff;letter-spacing:.3px;margin-bottom:3px}.live-sidebar{display:flex;flex-direction:column;gap:14px}.live-pill{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.live-pill.moving{background:#dcfce7;color:#166534}.live-pill.idle{background:#fef3c7;color:#92400e}.live-pill.stopped{background:#dbeafe;color:#1e40af}.live-pill.offline{background:#fee2e2;color:#991b1b}.live-pill.unknown{background:#e2e8f0;color:#475569}.live-dot{width:9px;height:9px;border-radius:50%;background:#16a34a;display:inline-block;animation:live-pulse 1.6s infinite}.live-dot.offline{background:#dc2626;animation:none}.live-dot.unknown{background:#94a3b8;animation:none}@keyframes live-pulse{0%{box-shadow:0 0 #16a34a80}70%{box-shadow:0 0 0 7px #16a34a00}to{box-shadow:0 0 #16a34a00}}.info-card{background:var(--live-surface);border:1px solid var(--live-border);border-radius:var(--live-radius);padding:16px;box-shadow:var(--live-shadow);min-width:0;transition:box-shadow .2s ease,transform .2s ease}.info-card:hover{box-shadow:var(--live-shadow-lg);transform:translateY(-1px)}.info-card h3{margin:0 0 12px;font-size:11px;font-weight:800;color:var(--live-ink);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px;white-space:nowrap}.info-card h3 svg{color:var(--live-accent)}.info-row{display:flex;align-items:flex-start;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f1f5f9;font-size:12px}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-label{display:inline-flex;align-items:center;gap:6px;color:var(--live-muted);font-weight:600}.info-label svg{color:#94a3b8;font-size:11px}.live-trip-status-value{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.live-marker-lastknown{margin-top:4px;font-size:10px;font-weight:600;color:#dc2626}.live-map-options-panel label.disabled{opacity:.5;cursor:not-allowed}.info-value{font-weight:700;color:var(--live-ink)}.info-place{margin:0 0 10px;font-size:12px;color:var(--live-ink);line-height:1.5}.info-coords{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:7px 10px;font-size:11px;font-family:SFMono-Regular,Consolas,monospace;color:var(--live-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease}.info-coords:hover{background:#eef2ff;border-color:var(--live-accent)}.info-coords svg{flex-shrink:0;color:var(--live-accent)}.info-coords svg.copied{color:#16a34a}.live-progress-bar{display:block;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin:4px 0 8px}.live-progress-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--live-accent),var(--live-accent-dark));border-radius:999px;transition:width .4s ease}.live-inline-progress{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.live-inline-progress .live-progress-bar{flex:1;max-width:110px;margin:0}.live-inline-progress-pct{font-weight:700;color:var(--live-ink);font-size:12px;white-space:nowrap}.live-status-text{font-weight:700}.live-status-text--moving{color:#16a34a}.live-status-text--idle{color:#d97706}.live-status-text--stopped{color:#2563eb}.live-status-text--offline{color:#dc2626}.live-status-text--unknown{color:#64748b}@media(max-width:1024px){.live-layout{grid-template-columns:1fr}.live-map{height:360px}}@media(max-width:768px){.live-container{padding:12px}.live-header{flex-direction:column;align-items:flex-start}.live-controls{width:100%}.live-map{height:280px}}.live-bottom-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,1fr) minmax(260px,1fr);align-items:start;gap:18px}.live-bottom-side{display:flex;flex-direction:column;gap:14px}.live-card-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.live-card-header-row h3{margin-bottom:0;overflow:hidden;text-overflow:ellipsis}.live-card-header-row h3{margin:0}.live-view-all{font-size:11px;font-weight:700;color:var(--live-accent);text-decoration:none;white-space:nowrap;flex-shrink:0}.live-view-all:hover{text-decoration:underline}.live-mini-table-wrap{overflow-x:auto}.live-mini-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11.5px}.live-mini-table th{text-align:left;padding:6px 8px;color:var(--live-muted);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--live-border);white-space:nowrap}.live-mini-table td{padding:7px 8px;border-bottom:1px solid #f1f5f9;color:var(--live-ink);white-space:normal;overflow-wrap:break-word}.live-mini-table tr:last-child td{border-bottom:none}.live-severity-badge,.live-status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700}.live-severity-5,.live-severity-4{background:#fee2e2;color:#991b1b}.live-severity-3{background:#fef3c7;color:#92400e}.live-severity-2,.live-severity-1{background:#e2e8f0;color:#475569}.live-status-badge.active{background:#fee2e2;color:#991b1b}.live-status-badge.resolved{background:#e2e8f0;color:#475569}@media(max-width:1200px){.live-bottom-row{grid-template-columns:1fr}}.live-empty-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 0;font-size:12px;color:var(--live-muted)}.live-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.live-timeline li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9}.live-timeline li:last-child{border-bottom:none;padding-bottom:0}.live-timeline-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:4px}.live-timeline-body{min-width:0;flex:1}.live-timeline-label{font-size:12.5px;font-weight:600;color:var(--live-ink);overflow-wrap:break-word}.live-timeline-meta{font-size:11px;color:var(--live-muted);margin-top:2px;overflow-wrap:break-word}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.page-header-breadcrumbs{font-size:12px;color:#64748b;margin-bottom:4px;display:flex;flex-wrap:wrap}.page-header-crumb a{color:#64748b;text-decoration:none}.page-header-crumb a:hover{color:#2563eb;text-decoration:underline}.page-header-crumb span{color:#0f172a;font-weight:600}.page-header-sep{margin:0 6px;color:#cbd5e1}.page-header-title{margin:0;font-size:22px;font-weight:700;color:#0f172a}.page-header-subtitle{margin:2px 0 0;font-size:13px;color:#64748b}.page-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.live-group-container{display:flex;flex-direction:column;gap:20px;padding:20px;background-color:#f4f6f9;min-height:100vh}.live-group-topbar{background:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.live-group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:end;margin-bottom:15px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.field input,.field select{height:38px;padding:8px 12px;border-radius:4px;border:1px solid #ddd;font-size:14px;background:#fff;color:#333;transition:border-color .2s}.field-search{display:flex;gap:8px;align-items:center}.clear-btn{height:38px;padding:0 12px;border-radius:4px;border:1px solid #e5e7eb;background:#f8fafc;color:#334155;font-size:12px;font-weight:600;cursor:pointer}.clear-btn:hover{background:#e2e8f0}.field input:focus,.field select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 4px #2563eb4d}.group-map{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.live-group-empty{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:12px 14px;border-radius:8px;font-size:13px}.group-map .map{height:400px;width:100%}@media(max-width:1200px){.live-group-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media(max-width:1024px){.live-group-container{gap:15px;padding:15px}.live-group-topbar{padding:12px}.live-group-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}.field input,.field select{height:36px;padding:6px 10px;font-size:13px}.clear-btn{height:36px}.group-map .map{height:320px}}@media(max-width:768px){.live-group-container{gap:12px;padding:12px}.live-group-topbar{padding:10px}.live-group-grid{grid-template-columns:1fr;gap:10px;margin-bottom:10px}.field label{font-size:11px}.field input,.field select{height:34px;padding:6px 10px;font-size:12px}.clear-btn{height:34px;font-size:11px}.group-map .map{height:280px}}@media(max-width:480px){.live-group-container{gap:10px;padding:8px}.live-group-topbar{padding:8px}.live-group-grid{grid-template-columns:1fr;gap:8px;margin-bottom:8px}.field label{font-size:10px}.field input,.field select{height:32px;padding:5px 8px;font-size:11px}.clear-btn{height:32px;font-size:10px}.group-map .map{height:240px}}.history-container{background:#f3f6fb;padding:16px}.btn{height:36px;padding:0 16px;border:1px solid #d6e0ef;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap;background:#f8fafc;color:#0f172a;transition:transform .1s ease,box-shadow .2s ease,opacity .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0000001a}.btn:active{transform:translateY(0);opacity:.9}.btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.btn.primary:hover{background:#1d4ed8}.btn.secondary{background:#fff;border-color:#d6e0ef;color:#0f172a}.btn.loading{position:relative;pointer-events:none;opacity:.85}.history-topbar{background:#fff;padding:16px 18px;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000f;margin-bottom:12px}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px;align-items:end}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;font-weight:600;color:#475569}.history-topbar .field label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.field input,.field select{height:32px;padding:4px 8px;border-radius:8px;border:1px solid #d6e0ef;font-size:13px;background:#f8fafc;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none;background:#fff}.action-field{display:flex;justify-content:flex-end;align-items:flex-end;align-self:end}.vehicle-field{min-width:220px}.vehicle-picker{position:relative;display:flex;align-items:center;flex:1}.vehicle-picker .vehicle-select-combo{flex:1}.vehicle-picker .vehicle-select-trigger{padding-right:46px}.vehicle-select-combo{position:relative;width:100%}.vehicle-select-trigger{width:100%;height:32px;padding:4px 12px;border-radius:8px;border:1px solid #d6e0ef;background:#f8fafc;color:#0f172a;font-size:13px;font-weight:500;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:border-color .15s ease,box-shadow .15s ease}.vehicle-select-trigger:hover,.vehicle-select-trigger:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none;background:#fff}.vehicle-select-placeholder{color:#94a3b8}.vehicle-select-caret{font-size:9px;color:#64748b;flex-shrink:0}.vehicle-select-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:#fff;border:1px solid #d6e0ef;border-radius:8px;box-shadow:0 10px 24px #0f172a1f;overflow:hidden}.vehicle-select-search{width:100%;height:32px;padding:4px 10px;border:none;border-bottom:1px solid #e2e8f0;font-size:13px;color:#0f172a;box-sizing:border-box}.vehicle-select-search:focus{outline:none;background:#f8fafc}.vehicle-select-list{list-style:none;margin:0;padding:4px;max-height:220px;overflow-y:auto}.vehicle-select-list li button{display:block;width:100%;text-align:left;padding:7px 10px;border:none;background:transparent;border-radius:6px;font-size:13px;color:#0f172a;cursor:pointer}.vehicle-select-list li button:hover{background:#eff6ff}.vehicle-select-list li button.active{background:#dbeafe;color:#1d4ed8;font-weight:600}.vehicle-select-empty{padding:10px;font-size:12px;color:#94a3b8;text-align:center}.vehicle-clear-btn{position:absolute;right:24px;border:none;background:transparent;color:#94a3b8;font-size:16px;line-height:1;cursor:pointer;padding:2px}.vehicle-clear-btn:hover{color:#ef4444}.second-row{margin-top:2px}.history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000f;padding:14px 16px;display:flex;align-items:center;gap:12px}.stat-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;color:#fff}.stat-green .stat-icon{background:#22c55e}.stat-blue .stat-icon{background:#3b82f6}.stat-purple .stat-icon{background:#a855f7}.stat-red .stat-icon{background:#ef4444}.stat-orange .stat-icon{background:#f59e0b}.stat-label{font-size:12px;color:#64748b;font-weight:600}.stat-value{font-size:18px;font-weight:700;color:#0f172a}.stat-subtext{font-size:12px;font-weight:500;color:#64748b}.history-main{margin-bottom:12px}.history-partial-banner{display:flex;align-items:center;gap:10px;background:#fef3c7;border:1px solid #fde68a;color:#92400e;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600;margin-bottom:12px}.history-partial-banner button{margin-left:auto;border:none;background:transparent;color:#92400e;font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.history-map-panel{display:flex;flex-direction:column;gap:10px}.history-controls{background:#fff;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;display:flex;align-items:center;gap:16px;font-size:13px;flex-wrap:wrap;box-shadow:0 1px 3px #0000000f}.map-type-tabs{display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:3px}.map-type-tabs-float{position:absolute;top:10px;left:10px;z-index:900;background:#fffffff7;box-shadow:0 1px 4px #0000002e}.map-type-tabs button{border:none;background:transparent;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer}.map-type-tabs button.active{background:#2563eb;color:#fff}.history-controls label{display:flex;align-items:center;gap:5px;cursor:pointer}.history-map{position:relative;height:calc(100vh - 520px);min-height:360px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.map-toolbar-float{position:absolute;top:10px;right:8px;z-index:900;display:flex;flex-direction:column;align-items:stretch;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000002e;overflow:hidden}.map-toolbar-float button{width:32px;height:32px;padding:0;border:none;border-bottom:1px solid #f1f5f9;background:#fff;font-size:15px;font-weight:600;color:#475569;cursor:pointer}.map-toolbar-float button:last-child{border-bottom:none}.map-toolbar-float button:hover:not(:disabled){background:#f8fafc;color:#2563eb}.map-toolbar-float button.active{background:#2563eb;color:#fff}.map-toolbar-float button:disabled{opacity:.4;cursor:not-allowed}.map-toolbar-float-divider{height:1px;background:#e2e8f0}.history-route-summary{position:absolute;top:10px;right:48px;z-index:900;background:#fffffff7;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;font-size:12px;color:#334155;box-shadow:0 2px 8px #0000002e;min-width:140px;display:flex;flex-direction:column;gap:3px;pointer-events:none}.history-route-summary-title{font-weight:700;font-size:11px;color:#1e293b;margin-bottom:3px;white-space:nowrap}.history-route-summary span{font-weight:600;color:#0f172a;margin-left:4px}.history-map-fullscreen{position:fixed;inset:16px;z-index:2000;height:auto!important}.history-fullscreen-close{position:absolute;top:12px;right:12px;z-index:1000;height:32px;padding:0 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:12px;font-weight:600;box-shadow:0 1px 4px #00000026}.history-recenter-btn{position:absolute;bottom:12px;right:12px;z-index:1000;width:34px;height:34px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:15px;box-shadow:0 1px 4px #00000026}.history-marker-label{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:8px!important;padding:6px 10px!important;font-size:11px!important;color:#0f172a!important;box-shadow:0 2px 6px #00000026!important;line-height:1.5}.history-marker-label--warning{border-left:3px solid #dc2626!important}.marker-badge{display:block;width:fit-content;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;color:#fff;letter-spacing:.3px;margin-bottom:3px}.marker-badge--green{background:#16a34a}.marker-badge--red{background:#dc2626}.marker-badge--orange{background:#f97316}.marker-badge--stop{background:#f59e0b}.marker-badge--geofence{background:#8b5cf6}.leaflet-popup-content-wrapper{border-radius:8px}.leaflet-popup-content{font-size:12px;line-height:1.5;color:#0f172a;margin:10px 12px}.leaflet-popup-content strong{font-size:12.5px;color:#1e293b}.history-map-legend{position:absolute;left:10px;bottom:34px;z-index:900;background:#fffffff2;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:11px;color:#334155;box-shadow:0 1px 4px #00000026;display:grid;grid-template-columns:repeat(2,auto);gap:4px 14px;max-width:min(320px,calc(100% - 20px));pointer-events:none}.history-map-legend div{display:flex;align-items:center;gap:6px;white-space:nowrap}.legend-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-swatch.legend-line{width:16px;height:3px;border-radius:2px}.legend-swatch.legend-dashed{background:none!important;border-top:3px dashed;height:0}.legend-swatch.legend-circle{background:none!important;border:2px solid;width:11px;height:11px}.legend-swatch.legend-triangle{width:0;height:0;border-radius:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid}@media(max-width:640px){.history-map-legend{grid-template-columns:1fr;font-size:10px}}.history-playback{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000f;padding:10px 14px;display:flex;align-items:center;gap:12px}.playback-btn{width:36px;height:36px;border-radius:50%;border:none;background:#2563eb;color:#fff;font-size:14px;cursor:pointer;flex-shrink:0}.playback-speed{height:32px;border-radius:6px;border:1px solid #d6e0ef;background:#f8fafc;font-size:12px;padding:0 6px}.playback-scrubber{flex:1;accent-color:#2563eb}.playback-timestamp{font-size:12px;color:#475569;white-space:nowrap}.history-data-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.history-tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid #e2e8f0;padding:8px 12px;flex-wrap:wrap}.history-tabs button{border:none;background:transparent;padding:8px 14px;border-radius:8px 8px 0 0;font-size:13px;font-weight:600;color:#64748b;cursor:pointer}.history-tabs button.active{background:#eff6ff;color:#2563eb}.history-table-search{margin-left:auto;height:32px;padding:4px 10px;border-radius:8px;border:1px solid #d6e0ef;font-size:13px;background:#f8fafc;min-width:200px}.history-table-wrap{overflow-x:auto;max-height:420px;overflow-y:auto}.history-table{width:100%;min-width:0;border-collapse:collapse;font-size:13px}.history-table th{position:sticky;top:0;background:#f8fafc;text-align:left;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#64748b;border-bottom:1px solid #e2e8f0;white-space:nowrap}.history-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;color:#0f172a;white-space:nowrap}.history-table-empty{text-align:center;color:#94a3b8;padding:24px;white-space:normal;max-width:100%}.history-table-pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 4px 0;font-size:12px;color:#64748b}.history-table-pagination button{min-width:28px;height:28px;padding:0 6px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:12px;font-weight:600;color:#475569;cursor:pointer}.history-table-pagination button:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.history-table-pagination button.active{background:#2563eb;border-color:#2563eb;color:#fff}.history-table-pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{padding:0 2px;color:#94a3b8}.pagination-summary{margin-left:auto;white-space:nowrap}.pagination-page-size{height:28px;border:1px solid #e2e8f0;border-radius:6px;padding:0 6px;font-size:12px;color:#475569;background:#fff}@media(max-width:640px){.pagination-summary{margin-left:0;width:100%;order:10}}.history-cell-message{white-space:normal!important;max-width:320px;min-width:200px}.history-row-current{background:#eff6ff;outline:2px solid #93c5fd;outline-offset:-2px}.status-dot{display:inline-flex;align-items:center;gap:6px;font-weight:600}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.status-dot.moving{color:#16a34a}.status-dot.stopped{color:#ef4444}.status-dot.invalid{color:#94a3b8;font-style:italic}.history-row-excluded{opacity:.6}.history-row-excluded td{font-style:italic}@media(max-width:1024px){.history-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.action-field{justify-content:flex-start}}.map-page{display:flex;flex-direction:column;gap:20px;padding:20px;background-color:#f4f6f9;min-height:100vh}.filter-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;background-color:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.filter-left{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:15px;flex:1;min-width:0}.filter-item{display:flex;flex-direction:column;gap:5px;min-width:0}.filter-item label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.filter-item select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;width:100%;min-width:0;height:42px}.filter-item select:hover{border-color:#999}.clear-filter-btn{padding:0 16px;height:42px;background-color:#f59e0b;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:14px;white-space:nowrap}.clear-filter-btn:hover{background-color:#d97706}.status-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:28px}.card{padding:16px 12px;border-radius:8px;color:#fff;text-align:center;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;justify-content:space-between}.card-number{font-size:36px;font-weight:700;margin-bottom:10px;line-height:1}.card-label{background-color:#fff;color:#333;padding:8px;border-radius:4px;font-weight:700;font-size:12px}.card.green{background-color:#16a34a}.card.orange{background-color:#f59e0b}.card.blue{background-color:#2563eb}.card.red{background-color:#ef4444}.card.magenta{background-color:#c2185b}.map-box{display:flex;flex-direction:column;gap:10px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.map-header{padding:12px 15px;background-color:#f0f0f0;border-bottom:1px solid #ddd;font-size:14px;color:#666;font-weight:600}.map-container{height:400px;position:relative}.map-container .leaflet-container{height:100%;width:100%}.search-bar{display:flex;gap:12px;flex-wrap:wrap;background-color:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.search-group{display:flex;gap:0;align-items:center;flex:1;min-width:280px}.search-bar input{padding:10px 14px;border:1px solid #ddd;border-radius:4px 0 0 4px;font-size:14px;flex:1;min-width:180px}.search-bar input::placeholder{color:#999}.search-bar input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 4px #f59e0b4d}.search-bar button{padding:10px 20px;background-color:#f59e0b;color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer;font-weight:700;font-size:14px;transition:background-color .2s;white-space:nowrap}.search-bar button:hover{background-color:#d97706}.grid-section{display:flex;flex-direction:column;gap:15px;background-color:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.data-grid{width:100%;border-collapse:collapse;font-size:13px}.data-grid thead{background-color:#f0f0f0;position:sticky;top:0}.data-grid thead tr{border-bottom:2px solid #ddd}.data-grid th{padding:12px;text-align:left;font-weight:600;color:#333}.data-grid tbody tr{border-bottom:1px solid #eee;transition:background-color .2s}.data-grid tbody tr:hover{background-color:#f9f9f9}.data-grid td{padding:12px;color:#555}.pagination{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #eee}.pagination span{padding:6px 10px;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none;transition:all .2s}.pagination span:hover{background-color:#f0f0f0}.pagination span.active{background-color:#2563eb;color:#fff;border-color:#2563eb}.page-info{margin-left:auto;font-size:12px;color:#666}@media(max-width:1200px){.status-cards{grid-template-columns:repeat(3,1fr);gap:10px}.card{padding:12px 10px}.card-number{font-size:28px;margin-bottom:8px}.card-label{padding:6px;font-size:11px}.map-container{height:300px}.filter-left{grid-template-columns:repeat(2,minmax(180px,1fr))}.search-group{min-width:180px}}@media(max-width:1024px){.filter-bar{flex-direction:column;gap:10px;align-items:stretch}.filter-left{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;width:100%}.filter-item select{min-width:100%}.clear-filter-btn{align-self:stretch}.status-cards{grid-template-columns:repeat(2,1fr);gap:10px}.card{padding:12px 8px}.card-number{font-size:24px}.card-label{font-size:10px}.map-container{height:280px}.search-bar{flex-direction:column;gap:8px}.search-group{flex:1;min-width:100%}.data-grid th,.data-grid td{padding:8px;font-size:12px}}@media(max-width:768px){.map-page{gap:15px;padding:12px}.filter-bar{padding:12px;flex-direction:column}.filter-left{grid-template-columns:1fr;gap:8px}.filter-item label{font-size:11px}.filter-item select{padding:6px 8px;font-size:12px;min-width:100%}.status-cards{grid-template-columns:repeat(2,1fr);gap:8px}.card{padding:10px 6px}.card-number{font-size:20px;margin-bottom:6px}.card-label{padding:5px;font-size:9px}.map-container{height:250px}.search-bar{gap:8px;padding:12px}.search-group{min-width:100%;gap:0}.search-bar input{padding:6px 10px;font-size:12px;min-width:100%}.search-bar button{padding:6px 12px;font-size:12px}.data-grid{font-size:11px}.data-grid th,.data-grid td{padding:6px}.pagination{font-size:11px;gap:6px}.pagination span{padding:4px 8px;font-size:11px}}@media(max-width:480px){.map-page{gap:12px;padding:8px}.filter-bar{padding:8px;gap:8px}.filter-item{width:100%}.filter-item label{font-size:10px}.filter-item select{padding:5px 8px;font-size:11px;width:100%}.clear-filter-btn{padding:6px 12px;font-size:12px;width:100%}.status-cards{grid-template-columns:1fr;gap:8px}.card{padding:8px 6px}.card-number{font-size:18px;margin-bottom:4px}.card-label{padding:4px;font-size:8px}.map-container{height:200px}.search-bar{gap:6px;padding:8px;flex-direction:column}.search-group{flex-direction:column;gap:4px}.search-bar input{padding:5px 8px;font-size:11px;border-radius:4px}.search-bar button{padding:5px 10px;font-size:11px;border-radius:4px}.grid-section{padding:8px;gap:10px}.data-grid{font-size:10px}.data-grid th,.data-grid td{padding:4px}.pagination{font-size:10px;gap:4px;padding:6px 0}.pagination span{padding:3px 6px;font-size:10px}.page-info{font-size:10px}}.pagination-dt{display:flex;flex-direction:column;gap:10px;padding:12px 0}.pagination-dt-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;flex-wrap:wrap}.pagination-dt-length{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563}.page-size-select{height:32px;min-width:72px;padding:4px 8px;border:1px solid #ced4da;border-radius:4px;background-color:#fff;color:#374151;font-size:13px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.page-size-select:focus{outline:none;border-color:#3c8dbc;box-shadow:0 0 0 2px #3c8dbc26}.page-size-select:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.65}.pagination-dt-info{font-size:13px;color:#4b5563}.pagination-dt-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%}.pagination-btn{min-width:34px;height:34px;padding:0 10px;border:1px solid #dee2e6;background-color:#fff;color:#374151;font-size:12px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.pagination-btn:hover:not(:disabled){background-color:#eef2f7;border-color:#cfd4da}.pagination-btn:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed;opacity:.65;border-color:#d1d5db}.pagination-btn.page-number.active{background-color:#3c8dbc;border-color:#3c8dbc;color:#fff}@media(max-width:768px){.pagination-dt-top{flex-direction:column;align-items:flex-start;gap:12px}.pagination-dt-length,.pagination-dt-info,.pagination-dt-controls{width:100%}.pagination-btn{font-size:12px;min-width:32px;height:32px}}@media(max-width:480px){.pagination-btn{font-size:11px;min-width:30px;height:30px;padding:0 8px}.pagination-dt-length,.pagination-dt-info{font-size:12px}}.home-container{min-height:calc(100vh - 60px);padding:16px;background:#f4f6f9}.home-panel{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb}.home-panel-header{padding:12px 16px;border-bottom:1px solid #ddd;background:#f7f9fc}.home-panel-header h1{margin:0;font-size:20px;font-weight:600;color:#2c3e50}.home-panel-header p{margin:6px 0 0;font-size:13px;color:#64748b}.home-panel-body{padding:16px}.home-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.home-summary-card{border:1px solid #d9dee7;border-radius:6px;background:#fbfcfe;padding:12px}.home-summary-label{font-size:12px;color:#6b7280;margin-bottom:6px}.home-summary-value{font-size:18px;font-weight:700;color:#1f2937}.home-section-title{margin:10px 0;font-size:14px;font-weight:600;color:#1f3c88;border-left:4px solid #1f3c88;padding-left:8px}.home-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.home-action-card{border:1px solid #d9dee7;border-radius:6px;background:#fff;padding:12px;text-align:left;cursor:pointer;transition:all .2s ease}.home-action-card:hover{border-color:#9db3db;background:#f8fbff}.home-action-title{display:block;font-weight:600;color:#1e3a5f;margin-bottom:6px;font-size:14px}.home-action-desc{display:block;font-size:12px;color:#64748b}.home-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-module-item{border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px;font-size:13px;color:#334155;background:#f8fafc}.home-chat-box{border:1px solid #d9dee7;border-radius:6px;background:#fff;padding:12px;width:340px;box-shadow:0 8px 22px #00000026}.home-chat-widget{position:fixed;bottom:22px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.home-chat-widget.right{right:22px}.home-chat-widget.left{left:22px;align-items:flex-start}.home-chat-fab{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;background:#1f3c88;color:#fff;font-size:22px;box-shadow:0 6px 16px #1f3c8859}.home-chat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.home-chat-title-wrap{display:flex;align-items:center;gap:8px}.home-chat-status{font-size:11px;padding:2px 7px;border-radius:999px;border:1px solid transparent;font-weight:600}.home-chat-status.online{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.home-chat-status.offline{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.home-chat-header-actions{display:flex;align-items:center;gap:8px}.home-chat-side-btn{border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer}.home-chat-close{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#334155}.home-chat-messages{max-height:220px;overflow:auto;padding:4px;display:flex;flex-direction:column;gap:8px}.home-chat-message{max-width:80%;padding:8px 10px;border-radius:8px;font-size:13px;line-height:1.4}.home-chat-message.bot{background:#f1f5f9;color:#1f2937;align-self:flex-start}.home-chat-message.user{background:#dbeafe;color:#1e3a8a;align-self:flex-end}.home-chat-typing{font-size:12px;color:#64748b;padding:4px 6px}.home-chat-suggestions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.home-chat-chip{border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;padding:5px 10px;border-radius:999px;cursor:pointer;font-size:12px}.home-chat-input-row{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:8px}.home-chat-input-row input{height:36px;border:1px solid #cfd4dc;border-radius:4px;padding:0 10px;font-size:13px}.home-chat-input-row button{height:36px;border:1px solid #1f3c88;background:#1f3c88;color:#fff;border-radius:4px;padding:0 14px;cursor:pointer}@media(max-width:1100px){.home-action-grid,.home-summary-grid,.home-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.home-action-grid,.home-summary-grid,.home-module-grid{grid-template-columns:1fr}.home-chat-widget.right{right:12px}.home-chat-widget.left{left:12px}.home-chat-box{width:min(92vw,340px)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}.login-card{width:360px;background:#fff;padding:28px 26px;border-radius:10px;box-shadow:0 25px 50px #00000040}.login-title{text-align:center;margin-bottom:22px}.login-title h2{margin:0;font-size:22px;font-weight:700;color:#0f172a}.login-title p{margin-top:6px;font-size:13px;color:#64748b}.login-form{display:flex;flex-direction:column;gap:14px}.login-form label{font-size:12px;font-weight:600;color:#334155}.login-form input{width:100%;padding:10px 12px;border-radius:6px;border:1px solid #cbd5f5;font-size:14px;outline:none;transition:border .2s,box-shadow .2s}.login-form input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.login-btn{margin-top:10px;padding:11px;border-radius:6px;border:none;background:#2563eb;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.login-btn:hover{background:#1d4ed8}.login-btn:active{transform:scale(.98)}.login-error{font-size:12px;color:#dc2626;margin-top:4px;text-align:center}.login-footer{margin-top:16px;font-size:11px;color:#64748b;text-align:center}.trip-page{padding:16px;background:#f4f6f9;min-height:100vh;font-family:Segoe UI,sans-serif}.panel-box{background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000014;margin-bottom:20px}.panel-header{padding:12px 16px;border-bottom:1px solid #ddd;background:#f7f9fc;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-title{margin:0;font-size:18px;font-weight:600;color:#2c3e50;flex-shrink:0}.panel-body{padding:16px}.section-title{margin:20px 0 10px;font-size:14px;font-weight:600;color:#1f3c88;border-left:4px solid #1f3c88;padding-left:8px}.trip-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px;margin-bottom:10px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:12px;font-weight:500;margin-bottom:4px;color:#333}.trip-form input,.trip-form select{height:34px;padding:6px 8px;font-size:13px;border:1px solid #cfd4dc;border-radius:4px;outline:none}.trip-form input:focus,.trip-form select:focus{border-color:#1f3c88;box-shadow:0 0 0 1px #1f3c8826}.trip-form input:disabled{background:#f1f1f1;color:#666}.btn{padding:6px 14px;font-size:13px;border-radius:4px;border:1px solid #ccc;background:#e9ecef;cursor:pointer}.btn:hover{background:#dee2e6}.btn.primary{background:#1f3c88;border-color:#1f3c88;color:#fff}.btn.primary:hover{background:#162f6a}.btn+.btn{margin-left:8px}.btn.loading{position:relative;pointer-events:none;opacity:.9}.btn .btn-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.6);border-right-color:transparent;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}.btn .btn-content{vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.panel-footer{padding:12px 16px;border-top:1px solid #ddd;display:flex;justify-content:flex-end;gap:8px;background:#f7f9fc}.trip-form .btn{margin-top:18px}@media(max-width:1200px){.trip-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.trip-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.trip-form{grid-template-columns:1fr}}.grid-section{margin-top:20px;background:#fff;border:1px solid #dcdcdc;border-radius:4px}.table-wrapper{width:100%;overflow-x:auto}.data-grid{width:100%;min-width:max-content;border-collapse:collapse;font-size:13px}.data-grid thead{background:#f4f6f9}.data-grid th{padding:8px 10px;border:1px solid #dcdcdc;font-weight:600;text-align:left;white-space:nowrap}.data-grid td{padding:8px 10px;border:1px solid #e0e0e0;white-space:nowrap}.data-grid tbody tr:hover{background:#f9fbff}.data-grid td[colspan]{padding:20px;color:#777;font-style:italic}.data-grid td.col-actions,.data-grid th.col-actions{text-align:center;width:10%;min-width:90px}.data-grid td.col-status,.data-grid th.col-status{text-align:center;width:8%;min-width:70px}.data-grid td.col-mobile,.data-grid th.col-mobile{text-align:center;width:10%;min-width:100px}.data-grid td.col-code,.data-grid th.col-code{text-align:center;width:12%;min-width:80px}.data-grid td.col-name,.data-grid th.col-name{width:40%;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.data-grid td.col-contact,.data-grid th.col-contact{width:20%;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.table-wrapper::-webkit-scrollbar{height:8px}.table-wrapper::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-wrapper::-webkit-scrollbar-track{background:#f1f1f1}.validation-errors{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:12px;margin-bottom:16px}.error-message{color:#856404;font-size:13px;padding:4px 0}.error-message:last-child{padding-bottom:0}.error-text{color:#d32f2f;font-size:12px;display:block;margin-top:4px}.input-error,.form-group .input-error{border-color:#d32f2f!important;background-color:#fff5f5}.input-error:focus,.form-group .input-error:focus{border-color:#d32f2f!important;box-shadow:0 0 0 1px #d32f2f26!important}.btn-small{display:inline-block;padding:4px 8px;font-size:12px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;margin-right:4px;transition:all .2s}.btn-small:hover{background:#f0f0f0;border-color:#999}.btn-edit{color:#1f3c88;border-color:#1f3c88}.btn-edit:hover{background:#e3f2fd}.btn-delete{color:#d32f2f;border-color:#d32f2f}.btn-delete:hover{background:#ffebee}.btn.secondary{background:#6c757d;border-color:#6c757d;color:#fff}.btn.secondary:hover{background:#5a6268}.form-group{position:relative}.form-group .error-text{position:absolute;bottom:-18px;left:0}.form-group{margin-bottom:0}.form-actions{grid-column:1 / -1;display:flex;gap:8px;margin-top:12px}.form-actions .btn{flex:1;max-width:200px}.status-badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:500;white-space:nowrap}.status-badge.verified{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-badge.pending{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.grid-actions{display:flex;gap:4px;flex-wrap:wrap}.btn-verify{color:#155724;border-color:#155724}.btn-verify:hover{background-color:#d4edda}.btn-unverify{color:#856404;border-color:#856404}.btn-unverify:hover{background-color:#fff3cd}.add-btn{margin-left:auto;background:#28a745;color:#fff;border-color:#28a745;font-weight:500}.add-btn:hover{background:#218838;border-color:#218838}.route-add-row select{grid-column:span 2}.route-stops-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.route-stop-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2e6ee;border-radius:6px;background:#f9fafc;flex-wrap:wrap}.route-stop-badge{flex-shrink:0;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;background:#1f3c88;color:#fff}.route-stop-name{font-weight:600;color:#2c3e50}.route-stop-coords{font-size:12px;color:#6b7280;font-family:SFMono-Regular,Consolas,monospace}.route-stop-radius{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;margin-left:auto}.route-stop-radius input{width:80px;padding:4px 6px;border:1px solid #ddd;border-radius:4px}.route-stop-actions{display:flex;gap:4px}.company-form{background:#fff;padding:16px;border-radius:4px;border:1px solid #d2d6de}.company-form .form-body{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px}.company-form .form-field{display:flex;flex-direction:column}.company-form .form-field label{font-size:13px;font-weight:600;margin-bottom:4px;color:#333}.company-form .form-field input{padding:8px 10px;font-size:13px;border:1px solid #d2d6de;border-radius:3px;outline:none}.company-form .form-field input:focus{border-color:#3c8dbc}.company-form .form-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #eee;padding-top:12px}.company-form .btn{padding:6px 14px;font-size:13px;border-radius:3px;cursor:pointer;border:1px solid #d2d6de;background:#f4f6f9;color:#333}.company-form .btn:hover{background:#e6e9ed}.company-form .btn.primary{background:#3c8dbc;border-color:#3c8dbc;color:#fff}.company-form .btn.primary:hover{background:#367fa9}.empty-state{padding:30px;text-align:center;color:#888}.modal-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999}.modal-box{background:#fff;width:540px;max-width:95%;max-height:90vh;display:flex;flex-direction:column;border-radius:6px;box-shadow:0 8px 30px #00000040;animation:modalFade .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #ddd;flex-shrink:0}.modal-header h4{margin:0;font-size:15px;font-weight:600}.modal-close{background:transparent;border:none;font-size:16px;cursor:pointer;color:#666}.modal-body{padding:14px;overflow-y:auto}@keyframes modalFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-section.two-col .form-body{align-items:center}.checkbox-field{display:flex;align-items:center;gap:8px;margin-top:18px}.checkbox-field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#555}.form-section.two-col .form-body{display:grid;grid-template-columns:repeat(2,1fr);align-items:center}.checkbox-field{display:flex;align-items:center;margin-top:16px}.checkbox-field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#555;cursor:pointer}.config-page{padding:12px;background:#f4f6f9;min-height:100vh;font-size:13px}.config-tabs{display:flex;gap:6px;border-bottom:1px solid #ddd;margin-bottom:10px}.config-tab{padding:6px 12px;background:#f4f6f9;border:1px solid #ddd;border-bottom:none;cursor:pointer;font-size:13px;border-radius:3px 3px 0 0;display:flex;align-items:center;gap:6px;color:#555}.config-tab.active{background:#fff;color:#3c8dbc;font-weight:600}.arrow{font-size:12px}.config-header{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #ddd;border-top:3px solid #3c8dbc;border-bottom:none;padding:8px 12px;font-size:14px;font-weight:600;border-radius:4px 4px 0 0}.header-actions{display:flex;gap:8px;align-items:center}.search-input{padding:6px 10px;font-size:13px;border:1px solid #ccc;border-radius:3px;min-width:220px}.search-input:focus{outline:none;border-color:#3c8dbc}.add-btn{padding:6px 12px;background:#3c8dbc;color:#fff;border:none;border-radius:3px;font-size:13px;cursor:pointer}.add-btn:hover{background:#367fa9}.add-btn:disabled{opacity:.6;cursor:not-allowed}.config-content{background:#fff;border:1px solid #ddd;border-top:none;padding:10px;border-radius:0 0 4px 4px}.empty-state{padding:40px;text-align:center;color:#888;font-size:14px}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:8px 10px;border:1px solid #ddd;text-align:left}.data-table th{background:#f4f6f9;font-weight:600}.data-table td:last-child{white-space:nowrap}.data-table tr:hover{background:#f9fafc}.status{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.icon-btn{border:none;background:transparent;cursor:pointer;font-size:14px;margin-right:6px}.icon-btn.edit{color:#3c8dbc}.icon-btn.delete{color:#d9534f}.company-form,.vehicle-form{font-size:13px}.form-body{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.form-field{display:flex;flex-direction:column}.form-field label{font-size:12px;font-weight:600;color:#555;margin-bottom:4px}.form-field input,.form-field select{padding:7px 9px;font-size:13px;border:1px solid #ccc;border-radius:3px}.form-field input:focus,.form-field select:focus{outline:none;border-color:#3c8dbc}.checkbox-field{justify-content:center}.form-footer{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.form-footer .btn{padding:6px 14px;font-size:13px;border-radius:3px;border:1px solid #ccc;background:#f4f6f9;cursor:pointer}.form-footer .btn.primary{background:#3c8dbc;border-color:#367fa9;color:#fff}.form-footer .btn.primary:hover{background:#367fa9}.checkbox-field{display:flex;align-items:center;margin-top:22px}.checkbox-field label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:#555}.checkbox-field input[type=checkbox]{width:16px;height:16px;cursor:pointer}@media(max-width:1200px){.form-body{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.form-body{grid-template-columns:1fr}.search-input{min-width:140px}}.form-section{margin-bottom:18px}.section-title{font-size:13px;font-weight:600;color:#3c8dbc;margin-bottom:10px;padding-bottom:4px;border-bottom:1px solid #d2d6de}.form-section .form-body{display:grid;gap:14px}.form-section.three-col .form-body{grid-template-columns:repeat(3,1fr)}.form-section.two-col .form-body{grid-template-columns:repeat(2,1fr)}.form-field input,.form-field select{width:100%;box-sizing:border-box}.grid-btn{padding:4px 10px;font-size:12px;border-radius:3px;border:1px solid transparent;cursor:pointer;margin-right:6px;min-width:50px}.grid-btn:last-child{margin-right:0}.grid-btn.edit{background-color:#f4f6f9;border:1px solid #3c8dbc;color:#3c8dbc}.grid-btn.edit:hover{background-color:#3c8dbc;color:#fff}.grid-btn.delete{background-color:#f4f6f9;border:1px solid #dd4b39;color:#dd4b39}.grid-btn.delete:hover{background-color:#dd4b39;color:#fff}.grid-table td:last-child{white-space:nowrap}.confirm-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-box{background:#fff;width:360px;padding:18px;border-radius:6px;box-shadow:0 8px 25px #00000040;animation:confirmFadeIn .2s ease-out}.confirm-box h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#333}.confirm-box p{margin:0 0 16px;font-size:13px;color:#555;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-actions .btn{padding:6px 14px;font-size:13px;border-radius:3px;border:1px solid #ccc;background:#f4f6f9;cursor:pointer}.confirm-actions .btn:hover{background:#e9ecef}.confirm-actions .btn.danger{background:#d9534f;border-color:#d43f3a;color:#fff}.confirm-actions .btn.danger:hover{background:#c9302c}@keyframes confirmFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ru-page{padding:16px}.ru-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.ru-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.ru-card{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.ru-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px 16px;align-items:end}.ru-grid-2{margin-top:16px;grid-template-columns:repeat(4,minmax(180px,1fr))}.ru-actions-row{display:flex;justify-content:flex-end;margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb}.ru-field label{display:block;font-size:12px;color:#374151;margin-bottom:6px}.ru-field input,.ru-field select{width:100%;height:34px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff}.ru-actions{display:flex;justify-content:flex-end;align-items:end}.ru-btn{height:34px;min-width:120px;border:none;border-radius:4px;cursor:pointer}.ru-btn.primary{background:#3b82f6;color:#fff}.ru-btn.secondary{background:#94a3b8;color:#fff}.ru-table-wrap{margin-top:16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:auto}.ru-table{width:100%;border-collapse:collapse}.ru-table th,.ru-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:13px}.ru-empty{text-align:center;color:#6b7280}.sds-page{padding:16px}.sds-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.sds-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.sds-card{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.sds-upload-section{background:#fff;padding:16px;border-radius:6px;margin-bottom:16px}.sds-upload-row{display:flex;align-items:center;gap:12px}.sds-upload-label{font-size:14px;color:#374151;white-space:nowrap;min-width:140px}.sds-file-input{flex:1;padding:6px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.sds-search-section{background:#fff;padding:16px;border-radius:6px;margin-bottom:16px}.sds-search-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:12px;align-items:center}.sds-input{width:100%;height:38px;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.sds-input::placeholder{color:#9ca3af}.sds-btn{height:38px;padding:0 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;white-space:nowrap}.sds-btn.primary{background:#3b82f6;color:#fff}.sds-btn.primary:hover{background:#2563eb}.sds-btn.secondary{background:#6b7280;color:#fff}.sds-btn.secondary:hover{background:#4b5563}.sds-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:auto}.sds-table{width:100%;border-collapse:collapse}.sds-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase}.sds-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.sds-empty{text-align:center;color:#6b7280;font-style:italic}.dsr-page{padding:16px}.dsr-filter-section{background:#f3f6f9;padding:16px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:16px}.dsr-filter-row-1,.dsr-filter-row-2{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}.dsr-filter-row-2{margin-top:16px;grid-template-columns:1fr 1fr 1fr auto;align-items:end}.dsr-field label{display:block;font-size:12px;color:#374151;margin-bottom:6px;font-weight:500}.dsr-field input,.dsr-field select{width:100%;height:36px;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.dsr-field input:focus,.dsr-field select:focus{outline:none;border-color:#3b82f6}.dsr-actions{display:flex;gap:8px;justify-content:flex-end}.dsr-btn{height:36px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;white-space:nowrap;transition:background .2s}.dsr-btn.primary{background:#3b82f6;color:#fff}.dsr-btn.primary:hover{background:#2563eb}.dsr-btn.secondary{background:#6b7280;color:#fff}.dsr-btn.secondary:hover{background:#4b5563}.dsr-btn.secondary:hover .dsr-btn.tertiary{background:#10b981;color:#fff}.dsr-btn.secondary:hover .dsr-btn.tertiary:hover{background:#059669}.dsr-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.dsr-table{width:100%;border-collapse:collapse;min-width:1200px}.dsr-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.dsr-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.dsr-empty{text-align:center;color:#6b7280;font-style:italic;padding:24px}.dsr-edit-btn{padding:4px 8px;border:none;background:#3b82f6;color:#fff;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s}.dsr-edit-btn:hover{background:#2563eb}.dsr-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.dsr-badge.dsr-active{background:#d1fae5;color:#065f46}.dsr-badge.dsr-inactive{background:#fee2e2;color:#7f1d1d}.dsr-badge.dsr-faulty{background:#fef08a;color:#78350f}.dsr-badge.dsr-uninstalled{background:#f3f4f6;color:#374151}.gsm-page{padding:16px}.gsm-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.gsm-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.gsm-card{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.gsm-form-section{background:#fff;padding:16px;border-radius:6px;margin-bottom:16px;border:1px solid #e5e7eb}.gsm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px;margin-bottom:16px}.gsm-field label{display:block;font-size:12px;color:#374151;margin-bottom:6px;font-weight:500}.gsm-field input,.gsm-field select{width:100%;height:36px;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.gsm-field input:focus,.gsm-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.gsm-field-full{margin-bottom:16px}.gsm-field-full label{display:block;font-size:12px;color:#374151;margin-bottom:6px;font-weight:500}.gsm-field-full textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px;font-family:inherit;resize:vertical}.gsm-field-full textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.gsm-actions{display:flex;gap:8px;border-top:1px solid #e5e7eb;padding-top:12px}.gsm-btn{height:36px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.gsm-btn.primary{background:#3b82f6;color:#fff}.gsm-btn.primary:hover{background:#2563eb}.gsm-btn.secondary{background:#6b7280;color:#fff}.gsm-btn.secondary:hover{background:#4b5563}.gsm-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.gsm-table{width:100%;border-collapse:collapse;min-width:1000px}.gsm-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.gsm-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.gsm-empty{text-align:center;color:#6b7280;font-style:italic;padding:24px}.gsm-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.gsm-badge.gsm-active{background:#d1fae5;color:#065f46}.gsm-badge.gsm-inactive{background:#fee2e2;color:#7f1d1d}.gsm-badge.gsm-faulty{background:#fef08a;color:#78350f}.gsm-row-actions{display:flex;gap:6px}.gsm-action-btn{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s}.gsm-action-btn.edit{background:#3b82f6;color:#fff}.gsm-action-btn.edit:hover{background:#2563eb}.gsm-action-btn.delete{background:#ef4444;color:#fff}.gsm-action-btn.delete:hover{background:#dc2626}.mgt-page{padding:16px}.mgt-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.mgt-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.mgt-card{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.mgt-filter-section{background:#fff;padding:16px;border-radius:6px;margin-bottom:16px;border:1px solid #e5e7eb}.mgt-filter-row{display:grid;grid-template-columns:repeat(4,1fr) auto auto;gap:12px 16px;align-items:end}.mgt-field label{display:block;font-size:12px;color:#374151;margin-bottom:6px;font-weight:500}.mgt-field input,.mgt-field select{width:100%;height:36px;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.mgt-field input:focus,.mgt-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mgt-actions{display:flex;gap:8px}.mgt-btn{height:36px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:background .2s}.mgt-btn.primary{background:#3b82f6;color:#fff}.mgt-btn.primary:hover{background:#2563eb}.mgt-btn.secondary{background:#6b7280;color:#fff}.mgt-btn.secondary:hover{background:#4b5563}.mgt-toolbar{background:#fff;padding:12px 16px;border-radius:6px;margin-bottom:16px;border:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.mgt-toolbar-info{font-size:13px;color:#374151;font-weight:500}.mgt-toolbar-actions{display:flex;gap:8px}.mgt-btn-action{height:34px;padding:0 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background .2s}.mgt-btn-action.enable{background:#10b981;color:#fff}.mgt-btn-action.enable:hover:not(:disabled){background:#059669}.mgt-btn-action.disable{background:#ef4444;color:#fff}.mgt-btn-action.disable:hover:not(:disabled){background:#dc2626}.mgt-btn-action.interval{background:#f59e0b;color:#fff}.mgt-btn-action.interval:hover:not(:disabled){background:#d97706}.mgt-btn-action:disabled{opacity:.5;cursor:not-allowed}.mgt-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.mgt-table{width:100%;border-collapse:collapse;min-width:1200px}.mgt-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.mgt-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.mgt-table tbody tr.selected{background:#eff6ff}.mgt-table input[type=checkbox]{cursor:pointer;width:16px;height:16px}.mgt-empty{text-align:center;color:#6b7280;font-style:italic;padding:24px}.mgt-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.mgt-badge.mgt-active{background:#d1fae5;color:#065f46}.mgt-badge.mgt-inactive{background:#fee2e2;color:#7f1d1d}.mgt-badge.mgt-paused{background:#fef08a;color:#78350f}.mgt-badge.mgt-error{background:#f3e8e8;color:#7f1d1d}.mgt-signal{display:flex;align-items:center;gap:4px;font-size:12px}.mgt-signal-bar{height:16px;width:60px;background:#d1d5db;border-radius:2px;overflow:hidden}.mgt-signal-bar:after{content:"";display:block;height:100%;background:linear-gradient(to right,#10b981,#3b82f6);width:100%}.mgt-battery{display:flex;align-items:center;gap:4px;font-size:12px}.mgt-battery-bar{height:16px;width:60px;background:#d1d5db;border-radius:2px;overflow:hidden}.mgt-battery-bar:after{content:"";display:block;height:100%;background:linear-gradient(to right,#ef4444,#10b981);width:100%}.um-page{padding:16px}.um-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.um-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.um-card{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.um-form-section{background:#fff;padding:16px;border-radius:6px;margin-bottom:16px;border:1px solid #e5e7eb}.um-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px;margin-bottom:16px}.um-field label{display:block;font-size:12px;color:#374151;margin-bottom:6px;font-weight:500}.um-field input,.um-field select{width:100%;height:36px;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.um-field input:focus,.um-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.um-actions{display:flex;gap:8px;border-top:1px solid #e5e7eb;padding-top:12px}.um-btn{height:36px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.um-btn.primary{background:#3b82f6;color:#fff}.um-btn.primary:hover{background:#2563eb}.um-btn.secondary{background:#6b7280;color:#fff}.um-btn.secondary:hover{background:#4b5563}.um-btn.secondary:hover .um-btn.tertiary{background:#10b981;color:#fff}.um-btn.secondary:hover .um-btn.tertiary:hover{background:#059669}.um-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.um-table{width:100%;border-collapse:collapse;min-width:1000px}.um-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.um-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.um-empty{text-align:center;color:#6b7280;font-style:italic;padding:24px}.um-role-badge{display:inline-block;padding:4px 8px;background:#e0e7ff;color:#3730a3;border-radius:4px;font-size:12px;font-weight:500}.um-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.um-badge.um-active{background:#d1fae5;color:#065f46}.um-badge.um-inactive{background:#fee2e2;color:#7f1d1d}.um-badge.um-suspended{background:#fef08a;color:#78350f}.um-row-actions{display:flex;gap:6px}.um-action-btn{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s}.um-action-btn.edit{background:#3b82f6;color:#fff}.um-action-btn.edit:hover{background:#2563eb}.um-action-btn.delete{background:#ef4444;color:#fff}.um-action-btn.delete:hover{background:#dc2626}.rp-page{padding:16px}.rp-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.rp-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.rp-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.rp-roles-panel{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px}.rp-roles-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.rp-role-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:none;border-radius:4px;background:transparent;cursor:pointer;font-size:13px;color:#111827;transition:background .2s}.rp-role-item:hover{background:#f3f6f9}.rp-role-item.active{background:#3b82f6;color:#fff}.rp-role-tag{font-size:11px;padding:2px 6px;border-radius:4px;background:#e0e7ff;color:#3730a3}.rp-role-item.active .rp-role-tag{background:#ffffff40;color:#fff}.rp-permissions-panel{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px;min-height:300px}.rp-placeholder{display:flex;align-items:center;justify-content:center;height:260px;color:#6b7280;font-size:14px;text-align:center}.rp-permissions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rp-permissions-header h3{margin:0;font-size:15px;font-weight:600;color:#111827}.rp-btn{height:36px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.rp-btn.primary{background:#3b82f6;color:#fff}.rp-btn.primary:hover:not(:disabled){background:#2563eb}.rp-btn:disabled{opacity:.6;cursor:not-allowed}.rp-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.rp-table{width:100%;border-collapse:collapse;min-width:480px}.rp-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.rp-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.rp-table td:not(:first-child){text-align:center}.rp-table input[type=checkbox]{width:16px;height:16px;cursor:pointer}.al-page{padding:16px}.al-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.al-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.al-card{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.al-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.al-filters{display:flex;gap:8px}.al-filter-btn{height:32px;padding:0 14px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;font-size:13px;cursor:pointer;transition:background .2s,color .2s}.al-filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.al-btn{height:32px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.al-btn.secondary{background:#6b7280;color:#fff}.al-btn.secondary:hover{background:#4b5563}.al-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.al-table{width:100%;border-collapse:collapse;min-width:1000px}.al-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.al-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827;vertical-align:top}.al-empty{text-align:center;color:#6b7280;font-style:italic;padding:24px}.al-title{font-weight:600}.al-code{font-size:11px;color:#6b7280}.al-message{max-width:320px;white-space:normal}.al-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.al-badge.al-sev-critical{background:#fee2e2;color:#7f1d1d}.al-badge.al-sev-high{background:#fed7aa;color:#9a3412}.al-badge.al-sev-medium{background:#fef08a;color:#78350f}.al-badge.al-sev-low{background:#dbeafe;color:#1e3a8a}.al-badge.al-yes{background:#d1fae5;color:#065f46}.al-badge.al-no{background:#f3f4f6;color:#6b7280}.al-row-actions{display:flex;gap:6px}.al-action-btn{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s;color:#fff}.al-action-btn.ack{background:#3b82f6}.al-action-btn.ack:hover:not(:disabled){background:#2563eb}.al-action-btn.resolve{background:#10b981}.al-action-btn.resolve:hover:not(:disabled){background:#059669}.al-action-btn:disabled{background:#d1d5db;cursor:not-allowed}.cvd-page{padding:16px}.cvd-header{background:#fff;padding:12px 16px;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:6px}.cvd-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.cvd-card{background:#f3f6f9;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.cvd-tabs{display:inline-flex;border-bottom:2px solid #e5e7eb;gap:12px;margin-bottom:16px}.cvd-tab{border:none;background:transparent;padding:8px 4px;cursor:pointer;font-size:14px;font-weight:600;color:#6b7280;border-bottom:2px solid transparent}.cvd-tab.active{color:#111827;border-bottom-color:#3b82f6}.cvd-upload-section{background:#fff;padding:12px 16px;border-radius:6px;border:1px solid #e5e7eb;margin-bottom:16px;display:flex;align-items:center;gap:12px}.cvd-upload-label{font-size:14px;color:#374151;white-space:nowrap;min-width:140px}.cvd-file-input{flex:1;padding:6px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.cvd-form-section{background:#fff;padding:16px;border-radius:6px;margin-bottom:16px;border:1px solid #e5e7eb}.cvd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px;margin-bottom:16px}.cvd-field label{display:block;font-size:12px;color:#374151;margin-bottom:6px;font-weight:500}.cvd-field input,.cvd-field select{width:100%;height:36px;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.cvd-field input:focus,.cvd-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.cvd-field-full{margin-bottom:16px}.cvd-field-full label{display:block;font-size:12px;color:#374151;margin-bottom:6px;font-weight:500}.cvd-field-full textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px;font-family:inherit;resize:vertical}.cvd-field-full textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.required{color:#ef4444}.cvd-actions{display:flex;gap:8px;border-top:1px solid #e5e7eb;padding-top:12px}.cvd-btn{height:36px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.cvd-btn.primary{background:#3b82f6;color:#fff}.cvd-btn.primary:hover{background:#2563eb}.cvd-btn.secondary{background:#6b7280;color:#fff}.cvd-btn.secondary:hover{background:#4b5563}.cvd-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.cvd-table{width:100%;border-collapse:collapse;min-width:1100px}.cvd-table th{padding:12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.cvd-table td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.cvd-empty{text-align:center;color:#6b7280;font-style:italic;padding:24px}.cvd-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.cvd-badge.cvd-active{background:#d1fae5;color:#065f46}.cvd-badge.cvd-inactive{background:#fee2e2;color:#7f1d1d}.cvd-badge.cvd-maintenance{background:#fef08a;color:#78350f}.cvd-badge.cvd-retired{background:#f3f4f6;color:#374151}.cvd-row-actions{display:flex;gap:6px}.cvd-action-btn{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s}.cvd-action-btn.edit{background:#3b82f6;color:#fff}.cvd-action-btn.edit:hover{background:#2563eb}.cvd-action-btn.delete{background:#ef4444;color:#fff}.cvd-action-btn.delete:hover{background:#dc2626}.cl-page{padding:16px;background:#eef2f5}.cl-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 0}.cl-title{font-size:20px;font-weight:600;color:#1f2937}.cl-search-card{background:#eef2f5;padding:8px 0 16px}.cl-search-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:10px 16px;align-items:end}.cl-search-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:10px}.cl-field label{display:block;font-size:13px;color:#374151;margin-bottom:6px;font-weight:600}.cl-field input,.cl-field select{width:100%;height:36px;padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.cl-field input:focus,.cl-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.cl-btn{height:32px;padding:0 14px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600}.cl-topbar .cl-btn{height:36px;padding:0 16px;font-size:13px}.cl-btn.primary{background:#3b82f6;color:#fff}.cl-btn.primary:hover{background:#2563eb}.cl-btn.secondary{background:#94a3b8;color:#fff}.cl-btn.secondary:hover{background:#64748b}.cl-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto;margin-top:6px}.cl-table{width:100%;border-collapse:collapse;min-width:1100px}.cl-table th{padding:10px;background:#f9fafb;border-bottom:1px solid #e5e7eb;text-align:left;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;white-space:nowrap}.cl-table td{padding:10px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.cl-empty{text-align:center;color:#6b7280;font-style:italic;padding:18px}.cl-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.cl-panel{background:#fff;width:100%;max-width:1000px;border-radius:8px;box-shadow:0 4px 16px #00000026;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.cl-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.cl-panel-header h2{margin:0;font-size:16px;font-weight:600;color:#1f2937}.cl-panel-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280}.cl-panel-close:hover{color:#1f2937}.cl-panel-body{padding:16px;flex:1;overflow-y:auto}.cl-panel-body .cl-field{margin-bottom:14px}.cl-panel-body .cl-field:last-child{margin-bottom:0}.cl-panel-content{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;overflow:hidden}.cl-panel-form{padding:16px;overflow-y:auto}.cl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 12px}.cl-field-full{grid-column:1 / -1}.cl-map-hint{padding:8px 12px;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:12px;text-align:center;border:1px solid #93c5fd}.cl-form-section-title{font-size:13px;font-weight:600;color:#374151;margin-top:12px;margin-bottom:12px;padding:12px;background:#f9fafb;border-radius:4px;border-left:3px solid #3b82f6}.cl-panel-map{border-left:1px solid #e5e7eb;overflow:hidden}.cl-panel-footer{display:flex;gap:8px;padding:16px;border-top:1px solid #e5e7eb;flex-shrink:0}.cl-panel-footer .cl-btn{flex:1;height:36px;padding:0}.cl-required{color:#ef4444;margin-left:2px}.cl-toast{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:2000;animation:slideIn .3s ease-out}.cl-toast-error{background:#fee;color:#dc2626;border:1px solid #fca5a5}.cl-toast-success{background:#d1fae5;color:#059669;border:1px solid #6ee7b7}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.cs-page{padding:0;background:#fff;min-height:100vh}.cs-top-section{background:#fff;padding:16px;border-bottom:1px solid #e5e7eb}.cs-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.cs-filter-item{display:flex;flex-direction:column;gap:6px}.cs-filter-item label{font-size:13px;font-weight:500;color:#374151}.cs-filter-item select{height:38px;padding:0 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:14px;cursor:pointer}.cs-filter-item select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.cs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cs-stat-card{padding:14px 12px;border-radius:4px;text-align:center;border:3px solid;background:#fff}.cs-stat-card.cs-stat-green{background:#22c55e;border-color:#22c55e}.cs-stat-card.cs-stat-red{background:#ef4444;border-color:#ef4444}.cs-stat-card.cs-stat-blue{background:#3b82f6;border-color:#3b82f6}.cs-stat-card.cs-stat-orange{background:#f97316;border-color:#f97316}.cs-stat-count{font-size:34px;font-weight:700;margin-bottom:2px;color:#fff}.cs-stat-label{font-size:12px;font-weight:600;color:#111827;background:#fff;border:2px solid rgba(255,255,255,.9);padding:4px 8px;border-radius:4px;cursor:pointer;transition:background .2s,color .2s}.cs-stat-label:hover{background:#ffffffd9}.cs-bottom-section{background:#fff;padding:16px}.cs-last-update{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 0 12px;font-size:14px;color:#374151;border-bottom:1px solid #e5e7eb}.cs-update-icon{font-size:16px}.cs-last-update select{height:32px;padding:0 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px;cursor:pointer}.cs-search-section{display:flex;gap:10px;margin-bottom:16px}.cs-search-input{flex:0 0 200px;height:38px;padding:0 12px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.cs-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.cs-search-input::placeholder{color:#9ca3af}.cs-btn{height:38px;padding:0 24px;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.cs-btn.primary{background:#2563eb;color:#fff}.cs-btn.primary:hover{background:#1d4ed8}.cs-btn.secondary{background:#6b7280;color:#fff}.cs-btn.secondary:hover{background:#4b5563}.cs-table-wrap{background:#fff;border:1px solid #d1d5db;border-radius:4px;overflow-x:auto}.cs-table{width:100%;border-collapse:collapse;min-width:1400px}.cs-table th{padding:10px 8px;background:#f3f4f6;border-bottom:1px solid #d1d5db;text-align:left;font-size:11px;font-weight:700;color:#111827;text-transform:uppercase;white-space:nowrap}.cs-table td{padding:10px 8px;border-bottom:1px solid #e5e7eb;font-size:12px;color:#374151;white-space:nowrap}.cs-table tbody tr:hover{background:#f9fafb}.cs-empty{text-align:center;color:#6b7280;font-style:italic;padding:24px}@media(max-width:1024px){.cs-stats{grid-template-columns:repeat(2,1fr)}.cs-filters{grid-template-columns:1fr}}.sd-page{padding:16px;background:#eef2f5;min-height:100vh}.sd-filters{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px 16px;align-items:end;margin-bottom:16px}.sd-field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.sd-field select,.sd-field input{width:100%;height:36px;padding:0 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px}.sd-field select:focus,.sd-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.sd-actions{display:flex;justify-content:flex-start;align-items:flex-end}.sd-btn{height:36px;padding:0 18px;border:none;border-radius:4px;background:#3b82f6;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.sd-btn:hover{background:#2563eb}.sd-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.sd-table{width:100%;border-collapse:collapse;min-width:700px}.sd-table th{text-align:left;padding:10px 8px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#374151}.sd-table td{padding:10px 8px;border-bottom:1px solid #e5e7eb;font-size:13px;color:#111827}.sd-empty{text-align:left;color:#6b7280;font-style:italic;padding:14px}@media(max-width:1024px){.sd-filters{grid-template-columns:1fr}.sd-actions{justify-content:flex-start}}:root{--ud-ink: #111827;--ud-muted: #6b7280;--ud-brand: #f97316;--ud-brand-dark: #c2410c;--ud-forest: #14532d;--ud-sky: #0ea5e9;--ud-cream: #fff7ed;--ud-card: #ffffff;--ud-border: #e5e7eb}.ud-page{padding:20px;display:flex;flex-direction:column;gap:22px;color:var(--ud-ink);background:radial-gradient(circle at top left,#fff7ed,#f8fafc 55%,#eff6ff);border-radius:16px;min-height:calc(100vh - 100px)}.ud-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:center;background:linear-gradient(120deg,#111827,#1f2937 50%,#0f172a);color:#f8fafc;padding:24px;border-radius:18px;position:relative;overflow:hidden}.ud-hero:after{content:"";position:absolute;width:280px;height:280px;background:radial-gradient(circle,rgba(249,115,22,.35),transparent 70%);top:-100px;right:-120px}.ud-hero-copy{position:relative;z-index:1}.ud-kicker{text-transform:uppercase;letter-spacing:.28em;font-size:11px;color:#ffffffb3}.ud-hero h1{font-size:clamp(26px,3vw,36px);margin:8px 0 10px}.ud-hero p{color:#ffffffc2;max-width:440px}.ud-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ud-btn{border:none;border-radius:999px;padding:10px 18px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.ud-btn.primary{background:var(--ud-brand);color:#fff;box-shadow:0 10px 20px #f9731640}.ud-btn.ghost{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.ud-btn.dark{width:100%;background:#111827;color:#fff}.ud-btn:hover{transform:translateY(-1px)}.ud-hero-panel{background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:18px;border-radius:16px;position:relative;z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ud-panel-label{font-size:12px;color:#ffffffb3}.ud-panel-value{font-size:32px;font-weight:700;margin-top:8px}.ud-panel-meta{font-size:13px;color:#fff9;margin-bottom:16px}.ud-panel-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:90px;margin-bottom:8px}.ud-panel-bar{background:#ffffff14;border-radius:999px;height:100%;display:flex;align-items:flex-end;overflow:hidden}.ud-panel-bar span{width:100%;background:linear-gradient(180deg,#f97316,#facc15);border-radius:999px;animation:ud-grow .8s ease}.ud-panel-days{display:grid;grid-template-columns:repeat(7,1fr);font-size:11px;color:#fff9;text-align:center}.ud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ud-card{background:var(--ud-card);border-radius:16px;padding:16px;border:1px solid var(--ud-border);display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px #0f172a14;animation:ud-rise .45s ease}.ud-card-icon{width:44px;height:44px;border-radius:12px;background:var(--ud-cream);color:var(--ud-brand-dark);display:grid;place-items:center;font-size:20px}.ud-card-body span{color:var(--ud-muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.ud-card-body h3{font-size:22px;margin-top:6px}.ud-card-change{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.ud-card-change.up{color:#16a34a}.ud-card-change.down{color:#dc2626}.ud-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.ud-column{background:var(--ud-card);border-radius:18px;padding:18px;border:1px solid var(--ud-border);box-shadow:0 20px 40px #0f172a0f}.ud-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.ud-section-head span{font-size:12px;color:var(--ud-muted)}.ud-chart{display:flex;flex-direction:column;gap:12px}.ud-chart-row{display:grid;grid-template-columns:34px 1fr 40px;gap:10px;align-items:center;font-size:12px;color:var(--ud-muted)}.ud-chart-track{height:10px;border-radius:999px;background:#f3f4f6;overflow:hidden}.ud-chart-fill{height:100%;background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:999px;animation:ud-fill .6s ease}.ud-table{display:flex;flex-direction:column;gap:12px}.ud-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#f8fafc;border-radius:12px}.ud-row h4{font-size:14px}.ud-row p{font-size:12px;color:var(--ud-muted)}.ud-row-meta{display:flex;gap:10px;align-items:center;font-size:12px}.ud-pill{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase}.ud-pill.active{background:#dcfce7;color:#166534}.ud-pill.idle{background:#fef3c7;color:#92400e}.ud-pill.inactive{background:#e5e7eb;color:#374151}.ud-pill.suspended{background:#fee2e2;color:#991b1b}.ud-alerts{display:flex;flex-direction:column;gap:12px}.ud-alert{padding:12px 14px;border-radius:12px;border:1px solid transparent}.ud-alert h4{font-size:14px;margin-bottom:4px}.ud-alert span{font-size:12px;color:var(--ud-muted)}.ud-alert.warn{background:#fffbeb;border-color:#fed7aa}.ud-alert.info{background:#eff6ff;border-color:#bfdbfe}.ud-alert.danger{background:#fef2f2;border-color:#fecaca}.ud-cta{margin-top:18px;background:#fff7ed;border-radius:12px;padding:12px 14px;color:#9a3412}@keyframes ud-grow{0%{height:0}to{height:100%}}@keyframes ud-rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ud-fill{0%{width:0}to{width:100%}}@media(max-width:960px){.ud-hero{grid-template-columns:1fr}.ud-actions{justify-content:flex-start}}@media(max-width:640px){.ud-page{padding:14px}.ud-card{flex-direction:column;align-items:flex-start}.ud-card-change{margin-left:0}}:root{--mh-ink: #0f172a;--mh-muted: #64748b;--mh-border: #e2e8f0;--mh-card: #ffffff;--mh-amber: #f59e0b;--mh-blue: #2563eb;--mh-emerald: #10b981;--mh-slate: #64748b}.mh-page{padding:20px;display:flex;flex-direction:column;gap:20px;color:var(--mh-ink);background:radial-gradient(circle at top left,#fff7ed,#f8fafc 55%,#eef2ff);border-radius:18px;min-height:calc(100vh - 100px)}.mh-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;background:linear-gradient(130deg,#0f172a,#1e293b 55%,#0b1120);color:#f8fafc;border-radius:18px;padding:22px;position:relative;overflow:hidden}.mh-hero:before{content:"";position:absolute;width:260px;height:260px;top:-120px;right:-90px;background:radial-gradient(circle,rgba(245,158,11,.4),transparent 70%)}.mh-hero-copy{position:relative;z-index:1}.mh-kicker{text-transform:uppercase;letter-spacing:.24em;font-size:11px;color:#f8fafcb3}.mh-hero h1{font-size:clamp(26px,3vw,36px);margin:8px 0 10px}.mh-hero p{color:#f8fafcb3;max-width:460px}.mh-hero-panel{background:#0f172a8c;border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:18px;z-index:1;position:relative;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mh-panel-title{font-size:12px;color:#f8fafcb3}.mh-panel-value{font-size:34px;font-weight:700;margin:8px 0 4px}.mh-panel-meta{font-size:13px;color:#f8fafc99;margin-bottom:16px}.mh-panel-actions{display:flex;gap:10px;flex-wrap:wrap}.mh-btn{border:none;border-radius:999px;padding:9px 16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.mh-btn.solid{background:#f97316;color:#fff;box-shadow:0 10px 20px #f9731640}.mh-btn.ghost{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.mh-btn.outline{background:#fff;border:1px solid var(--mh-border);color:var(--mh-ink)}.mh-btn:hover{transform:translateY(-1px)}.mh-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;background:#fff;padding:16px;border-radius:14px;border:1px solid var(--mh-border);box-shadow:0 10px 30px #0f172a0d}.mh-field label{display:block;font-size:12px;font-weight:600;color:var(--mh-muted);margin-bottom:6px}.mh-field select{width:100%;height:38px;padding:0 12px;border:1px solid var(--mh-border);border-radius:8px;font-size:13px;background:#fff}.mh-field select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 2px #93c5fd66}.mh-actions{display:flex;gap:8px;align-items:flex-end}.mh-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.mh-card{background:var(--mh-card);padding:16px;border-radius:14px;border:1px solid var(--mh-border);display:flex;gap:12px;align-items:center;box-shadow:0 14px 30px #0f172a0f;animation:mh-rise .4s ease}.mh-card span{font-size:12px;color:var(--mh-muted);text-transform:uppercase;letter-spacing:.12em}.mh-card h3{font-size:22px;margin-top:6px}.mh-card-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:18px}.mh-card.amber .mh-card-icon{background:var(--mh-amber)}.mh-card.blue .mh-card-icon{background:var(--mh-blue)}.mh-card.emerald .mh-card-icon{background:var(--mh-emerald)}.mh-card.slate .mh-card-icon{background:var(--mh-slate)}.mh-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.mh-column{background:#fff;border-radius:16px;padding:16px;border:1px solid var(--mh-border);box-shadow:0 16px 30px #0f172a0d}.mh-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.mh-section-head span{font-size:12px;color:var(--mh-muted)}.mh-timeline{display:flex;flex-direction:column;gap:14px}.mh-timeline-item{display:grid;grid-template-columns:70px 28px 1fr;gap:12px;align-items:center}.mh-timeline-time{font-size:12px;color:var(--mh-muted)}.mh-timeline-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px}.mh-timeline-item.move .mh-timeline-dot{background:#22c55e}.mh-timeline-item.stop .mh-timeline-dot{background:#f97316}.mh-timeline-body h4{font-size:14px;margin-bottom:4px}.mh-timeline-body p{font-size:12px;color:var(--mh-muted)}.mh-map-frame{background:linear-gradient(135deg,#eef2ff,#f8fafc);border-radius:14px;padding:16px;border:1px dashed #cbd5f5;display:flex;flex-direction:column;gap:16px;min-height:240px}.mh-map-grid{flex:1;border-radius:12px;background:radial-gradient(circle at center,#fff,#e2e8f0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.mh-map-path{width:70%;height:4px;background:linear-gradient(90deg,#f97316,#facc15);border-radius:999px;position:relative;animation:mh-path 1.2s ease}.mh-map-point{background:#1e293b;color:#fff;padding:4px 10px;border-radius:999px;font-size:11px;margin-bottom:10px}.mh-map-point.end{margin-top:10px;background:#0f172a}.mh-map-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--mh-muted)}.mh-table-wrap{background:#fff;border-radius:16px;border:1px solid var(--mh-border);padding:16px;overflow-x:auto}.mh-table{width:100%;border-collapse:collapse;min-width:900px}.mh-table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;padding:10px 8px;border-bottom:1px solid var(--mh-border);color:var(--mh-muted)}.mh-table td{padding:10px 8px;border-bottom:1px solid #edf2f7;font-size:13px}.mh-table tbody tr:hover{background:#f8fafc}.mh-pill{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase}.mh-pill.running{background:#dcfce7;color:#166534}.mh-pill.stopped{background:#fee2e2;color:#991b1b}.mh-pill.idle{background:#fef3c7;color:#92400e}.mh-link{background:none;border:none;color:#2563eb;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;font-size:12px}.mh-empty{text-align:center;padding:16px;color:var(--mh-muted)}@keyframes mh-rise{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes mh-path{0%{width:10%}to{width:70%}}@media(max-width:960px){.mh-hero{grid-template-columns:1fr}.mh-actions{flex-direction:column;align-items:stretch}.mh-map-footer{flex-direction:column;gap:10px;align-items:flex-start}}@media(max-width:640px){.mh-page{padding:14px}.mh-timeline-item{grid-template-columns:1fr;align-items:flex-start}.mh-timeline-dot{order:-1}}.trip-report-page{padding:16px}.trip-report-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px}.trip-report-panel h2{margin:0 0 14px;font-size:20px}.trip-report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.trip-report-field{display:flex;flex-direction:column;gap:6px}.trip-report-field label{font-size:12px;color:#374151;font-weight:600}.trip-report-field input,.trip-report-field select{height:36px;border:1px solid #d1d5db;border-radius:6px;padding:0 10px}.trip-report-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.trip-report-table-wrap{border:1px solid #e5e7eb;border-radius:8px;overflow:auto;background:#fff}.trip-report-table{width:100%;border-collapse:collapse;min-width:1000px}.trip-report-table th,.trip-report-table td{border-bottom:1px solid #f1f5f9;padding:10px 12px;text-align:left;font-size:13px}.trip-report-table th{background:#f8fafc;font-weight:600}.trip-report-empty{text-align:center;color:#6b7280;padding:16px}.trip-status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600}.trip-status-badge.running{background:#ecfdf5;color:#047857}.trip-status-badge.closed{background:#fef2f2;color:#b91c1c}html{font-size:16px}body{font-size:1rem;line-height:1.5}@media(max-width:1024px){html{font-size:15px}}@media(max-width:768px){html{font-size:14px}}@media(max-width:480px){html{font-size:13px}}@media(max-width:1024px){.content{padding:12px!important}.gsm-grid,.cvd-grid,.um-grid,.sd-filters,.ru-grid,.dsr-filter-row-1,.dsr-filter-row-2,.trip-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mgt-filter-row,.mgt-toolbar,.cs-filters,.cs-search-section,.home-action-grid,.home-module-grid{flex-wrap:wrap}}@media(max-width:768px){.content,.trip-page,.map-page,.history-container,.replay-container,.mgt-page,.gsm-page,.um-page,.cvd-page,.ru-page,.sds-page,.dsr-page,.sd-page,.cs-page,.cl-page,.trip-report-page,.home-container{padding:10px!important}.gsm-grid,.cvd-grid,.um-grid,.sd-filters,.ru-grid,.dsr-filter-row-1,.dsr-filter-row-2,.trip-report-filters,.home-summary-grid,.home-action-grid,.home-module-grid{grid-template-columns:1fr!important}.mgt-filter-row,.mgt-toolbar,.ru-actions-row,.cs-filters,.cs-search-section,.gsm-actions,.um-actions,.cvd-actions,.trip-report-actions,.home-chat-input-row,.mgt-actions,.ru-actions,.dsr-actions,.sds-search-row,.cvd-upload-section,.home-chat-suggestions{display:flex!important;flex-wrap:wrap;gap:8px}.mgt-actions>*,.ru-actions>*,.dsr-actions>*,.sds-search-row>*,.gsm-actions>*,.um-actions>*,.cvd-actions>*,.trip-report-actions>*,.home-chat-input-row>*{width:100%}.gsm-table-wrap,.cvd-table-wrap,.um-table-wrap,.cl-table-wrap,.dsr-table-wrap,.mgt-table-wrap,.ru-table-wrap,.sds-table-wrap,.trip-report-table-wrap,.grid-section,.table-wrapper{overflow-x:auto!important}.gsm-table,.cvd-table,.um-table,.cl-table,.dsr-table,.mgt-table,.ru-table,.sds-table,.trip-report-table,.data-grid{min-width:760px}.home-chat-box{width:min(92vw,340px)!important}.notify-dropdown,.profile-dropdown{right:0;left:auto;max-width:calc(100vw - 16px)}}@media(max-width:480px){.content{padding:8px!important}.topbar{padding:0 8px!important}.home-chat-widget.right{right:10px!important}.home-chat-widget.left{left:10px!important}.home-chat-fab{width:46px;height:46px;font-size:19px}}
